智能小车自动纠偏与避撞的实现

时间:2012-07-06来源:网络

直道纠偏的同时开启TimerA计时;小车离开跑道边缘时关闭TimerA,保存计时值:nTurnHold。
继续转弯,时长为2*nTurnHold(继续保持2*nTurnHold转弯是为了将小车调整向跑道中间);反向转弯,时长为nTurnHold(反向转弯是为了纠正小车方向);恢复原来的行驶模式。具体流程图如图6所示,先判断接近的是左或右边线,做好左右转标记,然后以直道两次纠偏算法进行计算,最后根据左右转标记进行反方向纠偏。

g.JPG


3.2 弯道纠偏算法
采用小车两边转速不同、辅以延时的方法来实现转弯,因此延时时间是关键。然而,通常在过转弯标志线时,车身与线不垂直且角度也不固定,如图7所示。这将造成无法确定一个固定的延时值。为此,采用弯道纠偏的方法,确保小车过弯后姿态可控,该方法流程图如图8所示。其中,每辆车配有两块对称分布于车头两边的转弯线检测模块,当其中有一块检测到转弯线时,先判断是左还是右,如果是左边先检测到线则符号为“+”,否则为“-”,然后立刻打开MSP430的计时器TimerA,计算两块传感器检测到转弯线的时间差。根据符号是“+”或“-”,将上面得到的时间差以一定比例加/减到固定延时时间上,这个比例无准确计算方法,实际数值主要根据跑道的摩擦力,小车速度等客观条件确定,进而得到最终的时间参数(即转弯时长nVeerTime),转弯函数调用此参数。这样一种“负反馈式修正”的方法,能使小车在转弯后基本平行于跑道,且去向跑道中间。

h.JPG i.JPG


转弯时长:nVeerTime;左、右传感器探测到转弯时间差:nDiffValue;转弯固定延时值:nStaticTime;比例系数:fRatio。
nVeerTime=nStaticTime+nDiffValue*fRatio
超车时需要多次转弯,因而超车标志区设置多条黑线,可以多次调整,将保证小车进入超车区后的姿态最理想。

1 2 3 4

关键词: 实现 纠偏 自动 小车 智能

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版