光电智能车过弯控制算法的研究

2016-12-31 16:08:35潘潇刘勇吴文池刘国华杭州电子科技大学电子信息学院
数码世界 2016年5期
关键词:黑线舵机控制算法

潘潇 刘勇 吴文池 刘国华杭州电子科技大学电子信息学院



光电智能车过弯控制算法的研究

潘潇 刘勇 吴文池 刘国华
杭州电子科技大学电子信息学院

摘要:针对智能车过弯的稳定性问题,本文从赛道信息采集、速度控制、悬挂舵机安装与控制等方面进行了研究,并提出了一种方向与悬挂舵机控制相结合的控制算法。通过测试,提升了智能小车过弯时的稳定性和灵活性,提高了综合速度。

关键字:智能车 速度控制 稳定性

近几年来的“飞思卡尔”杯全国大学生智能车竞赛,规则不断调整,对智能车总体的要求越来越高,主要体现在速度和稳定性两项指标上。因此,对智能车速度与稳定性的提升是每一辆参赛小车都要面临的问题,解决这一问题的有效方法之一是设计具有高度适应性的小车过弯算法。好的算法结合硬件设计方案可有效地提升小车的稳定性与极限速度。本文提出的方案,主要针对光电循迹智能车,通过对CCD采集的信号的处理、对智能车速度的控制以及对悬挂舵机的控制,来实现智能车稳定迅速的过弯。

1 系统方案设计

系统总体设计方案如图1所示,此方案由五个部分组成:赛道信息采集部分,采用光电传感器CCD来实现对赛道信息的采集,CCD有128 个水平感光点,可采集前方的赛道信息。同时,CCD的采集视角宽度由采用的镜头决定,分别为 60° 和90°。车速监控部分,采用300 或500 线编码器、PIT 模块以及脉冲计数器模块相互结合的方式。编码器架设在电机处,通过对单位时间内编码器输出的脉冲计数,来实现对智能车速度的监控。悬挂舵机控制部分,采用安装伺服电机的方法,可通过控制舵机来控制小车自身的重心。速度控制部分,通过对PWM波占空比的控制,实现对驱动电机的控制。

2 过弯算法设计

2.1 算法流程设计

算法流程,首先采集赛道信息,然后判断CCD 是否能扫描到黑线,当CCD 已经扫描不到黑线,若符合弯道丢线的条件,则参考上一次能够扫描到黑线时的状态并结合弯道的方向对车子进行弯道丢线控制,否则控制车子向前直行。若能够扫描到黑线,则与前几次采集到的信息结合,共同判断前方是否有弯道以及弯道的半径。在进入弯道前,车子应尽快减速到预设的速度,同时,在出弯时应提早加速。可通过车子与中线的偏差量来设置车子的理想速度。同时,应进行对速度的监测,确保车子的当前速度与设置的理想速度相吻合。此外,为提升智能车过弯时的稳定性,该算法中加入了对悬挂舵机的控制。

2.2 速度监控

本设计方案采用飞思卡尔公司的MC9S12XS128单片机,该CPU 自带PIT模块与输入捕捉模块,这两个模块联合使用时,使单片机记录一定时间内编码器输出的脉冲数。通过单位时间内记录的脉冲次数,可以计算出智能车的当前速度,从而实现对速度的监控。同时,为避免采集过程中可能出现干扰,可取一定时间内的平均值作为当前速度进行计算。

2.3 弯道速度控制

为防止速度过快而造成侧滑或侧翻,在即将驶出弯道时,智能车应缓慢提高速度,在保持小车稳定性的同时,提高车子的过弯速度。为此,文中提出了一个优化过的过弯速度控制算法:V=VB-d×α-(d-d’)×β (1)式中,V 代表车子的目标速度,VB代表车子在直道上的速度,d 代表车子所在位置与赛道中线的偏差量,d ’ 代表上一次扫描时车子所在位置与赛道中线的偏差量,α代表偏差量所乘系数,β代表本次偏差量与上次偏差量的差所乘的系数。在车子进弯时,偏差量会逐次增大,上述算法会使车子尽快减速。当车子出弯时,偏差量逐次减小,上述算法可使车子逐次加速,减少过弯的时间。经过测试,本控制算法可在保持小车稳定性的前提下,减少小车经过弯道所耗费的时间。在智能车出弯时提前进行加速,也可减少车子在直道加速所花费的时间,从而整体提升智能车的速度。

速度控制算法的主要代码如下:

Speed_Want=Speed_Data-Speed_Minus*(Steering_Data-Centre_Number)/800;//车子速度随车子与中线的偏差的增大而减小Speed_Minus_D=modulus((LX+RX),128)-modul

us((I_Old_Line+K_Old_Line),128) ;// 入弯提前减速,出弯提前加速

if(Speed_Minus_D>0)Speed_Want= Speed_Want-Speed_ Minus_D * 10 ;

else Speed_Want=Speed_Want- Speed_Minus_D * 4 ;

2.4 悬挂舵机控制

智能车过弯速度较高时,由于惯性与摩擦力等原因,可能会造成车子向外侧滑或侧翻等情况。为解决这一问题,可在过弯时对悬挂舵机进行控制,对车子施加一个向内倾斜的力,来抵消车子过弯时的离心力,从而使车子在更高的速度下平稳过弯。悬挂舵机所转的角度,视所过弯道与车子当前的速度而定。此外,当悬挂舵机所转的角度过大时,也会造成车子过度内切,车子甩尾以及车轮翘起等问题。

2.5 过弯丢线

由于光电组所用的CCD只能采集到一条线上的赛道信息,车子在过小半径的弯道时,可能出现CCD扫描不到黑线的情况,在这种情况下,智能车可能因为无法做出正确判断而冲出赛道。CCD完全扫不到黑线只有两种情况,一种是遇到了十字交叉口,另一种是过弯时扫到了外界的背景。两种情况下CCD采集的图像如图3所示,采回的数值有较大不同。因此,可在CCD未扫空时,记录CCD扫到白色跑道的数值,将该数值与完全丢线后的数值进行

比较,判断是否是过弯时的丢线。若是过弯丢线,可使车子保持丢线前的状态继续前行,直CCD能够重新扫描到黑线。

3 结论

本设计综合了图像采集与处理、悬挂舵机控制以及速度控制等方面,具有过弯速度快、稳定性高以及鲁棒性强等优点。其中涉及的控制方法在实际测试中都有较良好的效果,对于提升智能车行驶过程中的速度与稳定性的作用显著。

参考文献

[1] 刘嘉豪,刘海刚,张建伟,等.智能车图像处理与识别算法研究[J].工业控制计算机,2014(8): 19-22.

[2] 施鹤远,彭凯,申正卫,等.基于Cortex-M4的光电智能车路径识别最优化研究[J].计算技术与自动化,2014(2):112-114.

猜你喜欢
黑线舵机控制算法
黑线
含齿隙弹载舵机的全局反步模糊自适应控制
自动化学报(2019年6期)2019-07-23 01:18:36
基于dsPIC单片机的飞艇舵机控制实现
电子制作(2018年1期)2018-04-04 01:48:14
基于ARM+FPGA的模块化同步控制算法研究
虾背黑线真的特别“脏”吗
基于高速同步485总线通信的多通道舵机控制器设计
七巧数独
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
电源技术(2015年9期)2015-06-05 09:36:06
基于云模型的舵机同步控制
一种非圆旋转工件支撑装置控制算法