可以控制智能车的新型光电传感器
车模与控制器构成一个自动控制系统,如图1,系统硬件以单片机为核心,配有传感器、执行机构以及它们的驱动电路,而信息处理与控制算法由单片机软件完成[1]。系统设计要求单片机把路径的迅速判断、相应的转向伺服电机控制以及直流驱动电机的控制精密的结合在一起。
本文是根据第三届全国大学生“飞思卡尔”杯智能汽车大赛要求设计自主识别道路的智能车。整个系统采用了组委会提供的16位单片机mc9s12dg128为核心,模型车本身带有差速器和后轮驱动,需要设计完成基于单片机的自动控制系统使得模型车在封闭的跑道上自主循线运行。
车模与控制器构成一个自动控制系统,如图1,系统硬件以单片机为核心,配有传感器、执行机构以及它们的驱动电路,而信息处理与控制算法由单片机软件完成[1]。系统设计要求单片机把路径的迅速判断、相应的转向伺服电机控制以及直流驱动电机的控制精密的结合在一起。
采用新型光电传感器的智能车控制与研究
智能车的设计是在保证模型车可靠运行的前提下,以电路设计简洁、车体灵活性高为原则。设计的两大重点,一是光电传感器的布局和电路设计,一是循线控制算法的设计。
本文第二节主要介绍了光电传感器的电路设计和布局,这是信号采集的关键,相当于智能车的“眼睛”;第三节主要介绍了循线控制算法,这是控制的核心,相当于智能车的“头脑”;最后在第四节对智能车的硬件、软件设计及实验情况进行了大体说明。
光电传感器
光电传感器的选择及电路设计
光电传感器位于智能车的最前方,起到预先判断路径的作用。其发射的光对白色和黑色有不同的反射率,因此能得到不同的电压值,采进单片机后通过一定的算法比较电压来判断黑线的位置,从而控制舵机的转动[2]。这种方法易于实现,响应速度快,实时性好,成本低。
本文选用性价比基本适合的反射式红外传感器tcrt5000。红外光电传感器电路的设计形式多种多样,由于本文算法中采用的是传感器阵列经验判断方法,为了控制简便采用数字量输出传感器电路,如图2所示。
采用新型光电传感器的智能车控制与研究
光电管采用脉冲调制式发光,即vo是震荡电路产生的脉冲电压,这样易滤除外界干扰。虽然电路相对复杂,但足以保证模型车的稳定行驶[3]。
光电传感器布局的研究
光电管阵列的布局直接影响智能车的循线效果。一般来说,典型的布局有“一”字形布局和“w”形布局两种。
所谓“一”字形布局,就是把多个传感器按照“一”字排开。这种传感器布局方式最常见,算法在理论上易于实现。其不足之处在于:对赛道的曲率几乎没有任何预测功能。因此一般不采用这种布局。
而“w”形布局,是把多个传感器按照“w”形排列。“w”形布局由于传感器分布在两排,使得智能车对弯道有一定的预测功能,这种预测功能特别体现在直道进入弯道时刻。后一排传感器仍在直道时,前一排传感器已经进入弯道。而不足之处是增加了控制算法的复杂程度,判断舵机的旋转方向时,往往需要上一次的检测数据。经验判断的可能性也随着传感器数量的增加而增加。
可以控制智能车的新型光电传感器
光电传感器布局仿真
经多次仿真实验,最终确定了传感器的布局和数量。采用如图3所示的“w”形布局,一共有13个传感器,前排8个,后排5个,前后两排间距为3.5cm。设置这个间距,使其对赛道有一定预测功能。具体的布局及仿真效果如图4所示。
采用新型光电传感器的智能车控制与研究
循线控制算法
本文采用经验反馈控制,即在普通经验控制的基础上,加入pid控制的思想,引入比例、积分、微分三个控制常数,实施反馈,并采用积分分离的控制方法。
循线控制算法是利用前后两排传感器综合检测信号来推理得到模型车的精确转向及具体的车速。方向判断的方法是:如图3,首先判断下排5个传感器的情况,假设s3处在黑线位置,再观察上排8个传感器,此时s3将上排传感器分为左右两边,由于相邻两个传感器间距离稍大于黑线宽度,因此任何时刻只能有2个传感器同时检测到黑线,这样一来根据分析上下两排传感器信号就可以基本判断出模型车的转向情况。例如,某一时刻s3和s8检测到黑线,就可大致判断模型车应向右拐,并根据两个传感器的连线和竖直方向的夹角可判断舵机的转向和大致角度。
但同时还应注意,当车模进入左侧弯道时,也可能出现s3和s8共同检测到黑线的情况,这种情况下就要检查上一时刻的传感器信号,就是检测s4||s13的情况,若s4||s13结果为1,则认为车模应左拐,若s4||s13结果为0则应右拐。一次方向判断的流程如图5所示。
采用新型光电传感器的智能车控制与研究
在程序中建立两个数组,一个存储每次检测到的信号,另一个存储实施控制后的当前信号作为历史数据。加入这种带历史纪录判断的思想后,使得控制更为精确[4]。
除了以上判断法则之外,还有两种情况需要考虑。即只有一个传感器检测到黑线的情况以及交叉赛道的情况。对于只有一个传感器检测到黑线的情况,同样需要检查上一时刻的传感器信号,例如,某一时刻只有s6检测到黑线,若上一时刻s5检测到黑线,则车模左转,若上一时刻s7检测到黑线,则车模右转。
对于交叉赛道的情况,则利用一种“滤波”的思想将其“滤”除掉。遇到交叉赛道时,必然会出现同一排几个传感器同时检测到黑线的情况,此时就给模型车一个命令使其直线前进,将交叉赛道排除掉。
这就是本系统基于经验逻辑判断的循线控制算法,在此基础上通过不断实验调整各个参数可达到较好的控制效果。
可以控制智能车的新型光电传感器
本文地址:http://www.dgzhonghao.com/news/756.html
本文来源:东莞市中昊自动化科技有限公司