张 辉, 王永杰, 赵海敏, 杨 杰
(合肥工业大学 仪器科学与光电工程学院,安徽 合肥 230009)
智能小车的设计制作涉及模式识别、传感器技术、自动控制、电力电子技术、计算机技术等多个领域[1],设计好智能小车的路径信息采集与路径跟随是智能小车设计制作的难点之一。激光传感器以其响应速度快、精度高、量程大、抗干扰能力强等特点备受智能小车爱好者的青睐[2-5]。本文提出了一种基于激光传感器路径跟随系统的设计方案,通过激光路径跟随,快速而精确地获取路径信息,从而提高了智能小车循迹行驶的速度,也降低了智能小车冲出跑道的概率。
激光传感器检测路径信息的基本原理为激光管发射出波长为650~670nm的激光束,经跑道面反射后被接收管接收。跑道面黑色部分反射系数远小于白色部分,所以反射到接收管上的信号有较大的差异,经过处理就可以辨别出跑道的黑色面与白色面,如图1所示。
图1 激光传感器工作原理示意图
如图2所示,智能小车以2种路径探测方式进入弯道时[6],由于转向舵机响应的滞后性,将激光探测板固定于智能小车前方的路径信息探测方式很容易丢失弯道黑线的具体位置信息,如图2a、图2c所示;而采用路径跟随系统,响应速度是转向舵机2倍的随动舵机可以很快地使固定在其转动臂上的激光探测板转动,实现中心激光点跟随在道路中间的黑线上,从而避免丢失路径信息,如图2b、图2d所示。
图2 2种路径探测方式入弯示意图
在图2e、图2f中,弯道的半径为R=50cm,设智能小车激光点的横向覆盖宽度为L1,智能小车沿直线行驶。从小车的激光探测点刚进入弯道到激光点刚驶离黑线,其前轮转向舵机还没有完成转向响应,这段时间内车子行驶的距离是s=如果智能小车转弯的平均速度为v,舵机的响应时间为t≥s/v。当速度v=2.5m/s,L1=23cm,行驶距离为s=31.90cm,响应时间为t≥127.6ms。设智能小车的前瞻(即激光探测光点与车子前轮的距离)为L2=45cm,此时智能小车偏离路线的角度为:
由于随动舵机安装在车身中间位置,激光点与激光探测板的距离大于L2,故转动角度会小一些(大约在θ′=12.95°)。随动舵机可以在20ms内完成转动θ′角,使激光点跟随黑线;而转向舵机要使转向机构完成转动θ角,至少要花费75ms。而行驶的小车如果提前1倍的时间判断出激光点即将驶离黑线,那么这段时间内小车又行驶了s′=v×75/2=93.75mm的距离,此时小车会因驶离黑线而冲出跑道。
此外,采用路径跟随系统,智能小车在连续弯道上尤其是小半径的S弯与大半径的弯道上具有更大的优势。在小半径的S弯上,智能小车只需要经过随动舵机转动激光探测板,时刻捕捉跑道中心黑线,这时随动舵机会在直线前行的角度下左右连续偏转一个小角度,可以利用这个特征控制智能小车保持直线行驶的角度或者来回转动很小的角度实现弯道高速行驶。在大半径的弯道上,随动舵机的偏转角度变化较小,所以此时也可控制智能小车按直线方式加速行驶。而这些优势是将激光板固定于小车前方的路径探测方式所不具备的。
激光探测板硬件电路设计原理如图3所示。
普通接收三极管易受太阳光及其他光源的干扰[7],因而需采用只接收固定频率光线的接收三极管(图3中接收管)。为使激光管(图3中Laser0、Laser6等)发出的光线能够被接收管准确接收,需将激光调制到接收管能够接收的范围。经过反复试验,采用180kHz的频率对激光进行调制,这样接收管易于接收,也在一定程度上增加了前瞻。
如果各激光管同时发射特定频率的光,相邻激光管发射出的光就会相互干涉,从而导致相互间的干扰,分时发光可以避免这种现象[8]。在本系统中,12只激光管共分6次点亮,每次点亮相距较远的2个激光管。在保证激光管亮度的前提下,分次点亮激光管可以避免相邻激光管间发生干扰,降低探测板功耗,延长探测板使用寿命。分时发光由MAX4617多路模拟开关实现,其中控制信号A、B、C由单片机或微控制器输出。接收管的信号输送至单片机或微控制器。
接收管接收到的是经跑道平面漫反射的光,然而随着前瞻的增加,接收管接收到的光强越来越弱,不足以使其导通而产生高低电平的数字信号。为了保证一定的前瞻,系统采用凸透镜聚光,使原本微弱的光线汇聚到接收管上,从而使接收管导通,产生高低变化的信号,从而增大了前瞻。为了减少接收管的数量,本设计采用了“三对一”的对光策略,即1个接收管对应着3只激光管。
图3 激光探测板硬件电路设计原理图
如图4所示,激光管共有12只,间距为20mm成一字型排开,编号为I~IV的接收管分别安放在其对应的3只发射光上方。
这样布局,可以减少探测板的横向距离,从而使其安装在随动舵机臂上时变得牢固,减少惯性带来的抖动。
图4 激光探测板传感器布局
由于跑道宽度为50cm,为了最大限度地捕捉跑道中心黑线的位置,系统中激光传感器发射出的光点在跑道上的分布如图5所示。激光点之间的主间距为20mm,而2号激光点与3号激光点之间的距离设定为35mm,8号与9号之间的距离也设定为35mm。这样设计可以使得激光点的横向分布距离为25cm,刚好是跑道宽度的1/2。中间编号为3到8的激光点是主跟踪黑线激光点,智能小车运行时,要保证5号或6号激光点分布在黑线上;两侧的6个激光点是在智能小车以较快速度进入急弯时的外围保障点,也就是说,拉大了横向宽度L1,可以增加转向舵机及随动舵机的响应时间,从而避免智能小车直接冲出跑道。
图5 路径上的激光光点分布
主间距为20mm,这样对于宽度为25mm的黑线,可以使中间6个激光点出现13种控制状态,对于图5中分布的12个激光点,共计有25种控制状态。这样,可以精确地控制随动舵机。
随动舵机的控制主要是采用脉冲控制方式,只需要将单片机或微控制器的PWM(脉冲宽度调节)信号输出到相应的引脚即可实现舵机转角的控制。
激光探测板采用的是“三对一”的对光策略,因而激光接收管的信号需要经过处理后再行存储,处理规则见表1所列。表1中接收信号为高,表示该接收管接收不到反射回来的光,偏差值大小反映小车相对于中心线的相对位置大小。
单片机或微控制器根据采样得到的路径信息对随动舵机进行控制[9]。如图6所示,随动舵机的控制思路是根据偏差值使随动舵机在当前转角上转过一定的角度,该角度与偏差值成正比。然而,当比例系数选取得过大时,会导致光点在黑线位置来回摆动,造成随动舵机带着激光探测板不停地抖动;当比例系数选取得过小时,光点跟踪黑线的速度偏慢,在速度较快时,系统将跟丢黑线。因此,比例系数的恰当选取是控制的重要环节。
表1 激光探测数据处理规则表
图6 随动舵机控制流程图
智能小车放置在不同曲率半径的弯道上,测量出前轮转向舵机对应的最佳转向角,使智能小车在弯道上用最佳转向角快速地运行。此时,控制随动舵机使激光点中心位于黑线上,得到随动舵机的转角,这2个转角的比例即为转向舵机纯比例算法的比例系数。实际中,常常增加转向舵机的比例系数,以使智能小车沿着跑道内侧行驶。另外可用比例微分算法,使得转向舵机提前动作。
智能小车运行速度的控制也是系统设计的一大难点。实际中对速度的控制,不仅与当前的探测信息有关,还与路径的形式有关,例如急弯、大弯、小S弯、交叉路口、坡道或停车区域。比如说小S弯,通过分段记录车子行进5、10、15、20、25cm时的随动舵机转角信息,可以判断此段时间内车子行驶的道路曲率半径,进而再通过行驶一段距离,在激光点进入到小S弯道的中间时,车子的前轮刚进入小S弯道,这时,随动舵机的转角会按照出弯的方式回正。此特征可以检测小S弯道,此时的目标速度可以设置为与直线行驶速度一致,不需要减速行驶。
本文设计并实现了一种自主寻迹智能小车的激光路径跟随系统,理论分析与实践证明:由于采用调制技术,激光传感器工作稳定可靠,抗干扰能力强;高性能的随动舵机可以提高获取路径信息的准确性与快速性;系统对智能小车整体实现自主快速稳定的行驶起到了重要作用。利用本文设计的小车激光路径跟随系统可以使平均运行速度提高到2.7m/s并且不会冲出跑道。
[1]卓 晴,黄开胜,邵贝贝.学做智能小车[M].北京:北京航空航天大学出版社,2007:161-171.
[2]黄开胜.基于光电传感和路径记忆的车辆导航系统[J].电子产品世界,2007(1):50-55.
[3]郭荣庆,孙家永,许世维,等.基于激光传感器的车辆超高检测系统研究[J].科技导报,2011,29(8):63-66.
[4]王 玲,孙 波.红外光电传感器自动寻迹智能车的设计与实现[J].沈阳理工大学学报,2010,29(2):57-60.
[5]赵永利,武 丽,刘 杰.光电式自主寻迹小车抗干扰技术研究[J].工业控制计算机,2011,24(1):18-20.
[6]李登峰,宋广发,赵彩霞.基于随动式信息采集系统的智能小车 研 究 [J].计 算 机 工 程 与 设 计,2011,32(8):2675-2678.
[7]蔡钧璞,陆亦怀.基于DSP的光电探测器数据采集[J].合肥工业大学学报:自然科学版,2011,34(5):700-704.
[8]王瀛洲.智能车自主寻迹系统硬件的设计分析[J].仪器仪表用户,2011,18(1):60-62.
[9]何献忠.位置随动系统软件控制的研究[J].仪表技术与传感器,2010(4):45-47.