2算法分析

针对单传感器避障系统中存在的缺点,本文提出了多传感器协调合作方案,通过超声波传感器和红外传感器的配合,扩大了探测范围以及灵敏性,从而避免了误撞和紧贴障碍物的危险,提高了避障机率,实现了全方位避障。

2.1流程设计

全方位避障小车在行进过程中,各传感器不断检测小车周围是否有障碍物。当有传感器检测到障碍物时,通过判断检测到障碍物的传感器的数量,来实现小车全方位自动避障:单传感器检测到障碍物时,小车远离检测到障碍物方向;两个传感器检测到障碍物时,小车向未检测到障碍物方向转向;所有传感器都检测到障碍物时,小车急速左转避开障碍物。当小车避开障碍物后,小车继续行进。流程图如图4所示。



图4程序流程图


2.2避障代码

根据以上避障原理,编写相应的程序,以实现小车的全面避障,程序主要分电机、超声波和红外测距三部分。电机部分由analogWrite()、digitalWrite()分别控制车速和小车前进、后退或转向;超声波测距部分由Trig.Pin控制超声波输入,由EchoPin控制超声波输出,控制模块通过对接收到的脉冲波时间进行处理,转化为距离参数,从而获得距离Middle_distance;红外测距部分由控制模块通过红外传感器获得一个模拟量analo.gRead(),通过输出的模拟量可以推算出电压值volts,而输出电压和探测距离关系为distance:65*pow(volts,-1.10),从而可获得小车与障碍物的距离。



3实验研究

智能车在进行了器件选型和确定控制算法后,为了验证系统的性能,进行了实验验证。

实验中选用一块放着多种障碍物的平地,障碍物分两大种:一种是规则的障碍物,如正方体、圆柱等。另一种为不规则障碍物。实验时,智能避障小车在行进过程中不断探测前方周围是否有障碍物,当存在障碍物时候,判断出相应障碍物位置,并进行相应动作。

为了有效验证智能小车避障成功率,通过改变障碍物形状来对小车进行性能测试,结果如图5所示。其中测试小车100次,并统计出单面避障和全方位避障成功通过不同障碍环境的次数,障碍环境由总数为100的规则障碍物和不规则障碍物组成。由图5可见,普通的单面避障方法有着较低的成功通过率,而本文所提出的全方位避障方法则受此影响不大,有着较高的通过率。
 



图5单面避障与全方位避障成功率对比


4结论

设计的基于Arduino的智能小车避障系统,采用了单红外和双超声波避障方式,使小车在行车过程中对障碍物的探测更加精确。实验结果表明,设计的全方位避障系统较大地提高了避障的效率和成功率,可有效地实现全方位避障。