关键词: 双排;传感器;路径识别;循迹策略
双排传感器的优势
目前,大多数智能车采用单排传感器的道路检测方式,这种方式获得的道路信息少,对智能车的状态和道路的状况都不能很好地区别,造成控制上的麻烦。为了弥补不足,形成了大前瞻的单排传感器的道路检测方式,这种方式检测的距离更远,能够更早地判断出道路的走向,在一定程度上弥补了检测精度低的缺点,但也无法有效地区分智能车状态与道路状况。
比赛的车模可选用摄像头或传感器的方式进行道路信息检测,我们的车模采用的是双排红外的循迹方式,采用大前瞻双排传感器可以得到更多的赛道信息,更早地采取策略处理,形成更好的行车轨迹。是采用复杂的摄像头方案的一种替代方式。
可以在直道中实现稳定控制,加速顺畅的能力;在S弯中以小曲线的方式前进,减少行进路线和舵机调整次数。在大弯中实现提前转弯,切内弯的效果。尤其是在转弯方面,通过前后排共同对弯道的预测,达到延伸物理识别距离的能力,从而做出提前的动作,减少由于检测距离近而带来的负面影响,达到上述效果。
传感器阵列布局
图1中仅以接受管示意传感器位置。
布局方式说明
·前排传感器伸出距离较远,小车中心偏离黑线后,会在前排传感器上产生较大偏移量。
·后排传感器伸出距离较近,小车中心偏离黑线后,会在后排传感器上产生较小偏移量。
·利用前后排传感器对小车偏移时不同的敏感度对小车进行控制。
·为了使前后排体现出更明确的分工和采集到更远处的信息,我们把前排传感器倾斜约45o角,使前排的前瞻距离更大,更能体现出前排的优势和特点。
直道识别方式、控制策略
直道识别方式
(1)采用此种方式布局双排红外,对于直道的判别方法可有以下5种物理方式,每种方式应用的时机列在表后。
第一种直道情况(图2)
在左转大弯后,出弯时最可能出现的前后排传感器检测到黑线时的组合情况。适用于左转 90°弯、180°弯。提前得到出弯信息,舵机向左转动较小角度,并在此时采取加速动作,起到弥补前瞻不足的作用。此情况在赛道的s弯出现时,不满足直道的第二种识别方式,故不会加速。
第二种直道情况(图3)
图3 第二种直道情况
此情况是对第一种情况的再确认,左转大弯并经过第一种情况后,再经历此种情况,可确认无误前方为直道,继续提升小车的加速能力。控制程序由弯道程序切换到直线稳定程序。
第三种直道情况 (图4)
图4 第三种直道情况
此时采取直线稳定控制。由于前两种情况已经明确识别为直道,此种情况只是增加直道识别的成功率。
第四种直道情况(图5)
图5第四种直道情况
与第二种情况类似,对第五种情况的再确认,右转转大弯并经过第五种情况后,再经历此种情况,可确认无误前方为直道,继续提升小车的加速能力。控制程序由弯道程序切换到直线稳定程序。
第五种直道情况(图6)
图6第五种直道情况
在右转大弯后,出弯时最可能出现的前后排传感器检测到黑线时的组合情况。适用于右转转 90o弯、180o弯。提前得到出弯信息,舵机向右转动较小角度,并在此时采取加速动作,起到弥补前瞻不足的作用。在赛道的s弯出现时,不满足直道的第二种识别方式,故不会加速。
(2)直道识别,程序辅助确认
进入弯道后,随着小车的行进,会发生振荡,致使出弯时不一定满足上述5种情况。为了提高直道的识别成功率,增加第二种直道判别方法。两者同时起作用,满足第一种后经过最多15ms确认是直道。
程序是循环执行,我们的程序执行频率是2KHz。采用定时中断(15ms)的方式,对前排中间3个传感器(编号为3、4、5)使用3个计数器分别计数,每次执行程序若是其中一个检测到黑线,相对应的计数器加1。经过计算,15ms内所能计数的最大值为31。我们设定计数的最大值,若在15ms内达到所要求的计数值,就认为是直道,切换直道程序并将计数器清零;若15ms内没有达到所要求的计数值,计数器清零,重新计数。例如小车为2m/s的速度,小车行进3cm。我们只要判断2~2.5cm内为直道即可。所以设最大计数值为20~25即认为是直道,跳出弯道程序。
当然也可以采用更严格的方法来判断,只需调整定时中断的时间和计数值即可。此条件在进入直道后总能满足,所以作为第一种直道判别方式的补充,保证直道的稳定可靠识别。
直线稳定控制策略
小车出弯后,由于舵机的反应不灵敏,智能车会发生振荡,随后才能达到稳定,为了尽早减小振荡,采用如下方式控制小车出弯后的动作:
在弯道策略中设置标志位,进入直线程序后,识别标志位,对控制舵机转向的公式采取修正设置。公式为:q=K1q1+K2q2;其中q为最终送给舵机的控制量,q1为前排光电传感器的返回转角值,q2为后排红外返回转角值。K1、K2分别为前后排传感器的加权比例值。通常情况下K1、K2为1,需要时则改变赋值。
当小车从弯道进入直道并成功识别出直道后,减小K1的值,由于后排传感器距离小车的前轮(转向轮)很近,小车中心偏离黑线时,不会在后排传感器横向位置产生很大位移(相对于前排传感器),故小车在直线上舵机调整的次数就会明显减少,直线的稳定性会好。同时,根据前后排不同传感器的组合,给出不同的转角策略(在程序中以列表的方式体现),近一步提高直线的稳定控制能力。
参考文献:
1.邵贝贝,单片机嵌入式应用的在线开发方法[M],清华大学,2004
2.卓晴等,学做智能车,北京航空航天大学出版社,2007.3