自行小车避障的设计与实现
2016-06-14彭振华梁凯甲曾丽
彭振华+梁凯甲+曾丽
摘要:本文对自行小车的避障系统进行了研究,主要包括环境感知模块,中央处理模块和控制执行模块。控制算法引入人工势场法和最短切线路径法,将小车、障碍物、目标点简化为一点,在行驶过程中通过对障碍物距离及相对位置的探测,来实现局部路径规划,得出相应的避障路径,使小车顺利通过障碍物。通过对避障行为的研究,无论是软硬件还是算法,对自行小车的避障都有积极作用,具有一定的现实意义。
关键词:避障;路径规划;最短切线路径法;传感器
中图分类号:TP242 文献标识码:A 文章编号:1009-3044(2016)12-0257-04
Abstract: The self car obstacle avoidance system is studied,including environmental perception module, central processing module and control module. Control algorithm is introduced artificial potential field and the method of the shortest tangent path, the car, obstacles, simplify the target point is that in the process of moving through the obstacle distance and the relative position of the probe, to achieve local path planning, draw the appropriate obstacle avoidance path, so that the car passed the obstacle. Based on the research of the obstacle avoidance behavior, both hardware and software, or algorithms, self-avoidance car has a positive effect on, has certain practical significance.
Key words:obstacle avoidance;the tangent to the shortest path method;path planning; sensor
1引言
避障问题是目前自行小车运动的关键技术之一。但是在自行小车的发展过程中,因自行小车需要在不同的环境运行,常面临着这样的问题:当遇到障碍物时,如何根据环境和障碍物的情况选择最佳路径。
目前,计算机技术、自动控制技术[1-2]以及传感器技术[3]的发展给人们从重复简单或危险的劳动中解放出来提供了可能。因此,在工厂、仓库中常有一些用于物流的自行小车,生活中也有一些拥有自主导航能力的车辆。但是在自行小车的发展过程中,因自行小车需要在不同的环境运行,常面临着这样的问题:当遇到障碍物时,如何根据环境和障碍物的情况选择最佳路径。自行小车避障问题是目前自行小车运动的关键技术之一。对避障技术的研究有很大的现实意义。这项技术可以带来交通运输业的巨大改革,也为车辆的自主导航能力的实现和无人自动驾驶车辆的实现提供了重要技术[4-7]。
本文就是通过对自行小车的避障系统的研究,制作一个可以避障运行的自行小车,提出一个切实可行的路径规划算法。主要工作有:
1)研究传感器的类型和工作原理,通过比较和研究,选择理想的传感器用于自行小车的避障系统,进一步提高小车的避障能力。
2)自行小车在单片机的控制下运动,通过超声波传感器和红外传感器来探测周围环境的情况。通过小车上的传感器来探测小车和目标终点之间是否存在障碍物,如果存在,则通过相应的算法算出小车和障碍物之间的距离,在进行信息处理后,通过控制自行小车的执行机构(电机)做出调整进行避障。
3)提出一种新的路径规划算法,可以缩短自行小车的运动路径,使小车以最短的路径无碰撞地到达终点。
2方案概述
本文的主要研究内容为自行小车的避障系统实现和对路径规划算法的研究[8]。
图1是自行小车的硬件框图,其中自行小车的完成主要是小车平台的组装,传感器系统和单片机系统的搭建。传感器系统主要是通过红外传感器和超声波传感器对小车周围环境的进行感知,获得避障所需要的信息。单片机系统主要是将传感器系统获得的数据通过一定的避障算法进行处理,建立外部环境模型,再根据目的地算出最优路径。因此,以自行小车平台作为载体,搭载相应的避障系统并在避障算法的控制下实现避障,到达目的地。
3系统设计
3.1硬件设计
3.1.1单片机最小系统
Arduino Mega是一块以ATmega1280为核心的微控制器开发板,由于具有bootloader,因此能够通过USB直接下载程序而不需经过其他外部烧写器。ATmega1280是高性能、低功耗的AVR8位微处理器,具有先进的RISC 结构,具有86个可编程I/O口。其中两个具有独立的预分频器和比较器功能的8位定时器/计数器,四个具有预分频器、比较功能和捕捉功能的16 位定时器/计数器,具有独立晶振的实时时钟计数器,四路8位PWM频道,12路分辨率可编程的PWM频道输出,四个可编程的串行USART,具有独立片内振荡器的可编程看门狗定时器等[9-12]。
3.1.2红外传感电路
红外反射光强法的测量原理是将发射信号送到红外二极管发射,当有障碍物时,光敏管可接收到反射回来的红外信号,然后把有障碍物的信息传给单片机。
红外传感器电路如图2所示,接收头在接收到反射光后,其阻值发生变化,通过运放的比较,当达到设定的阈值后,输出低电压,触发单片机中断。其中R为可调电阻,用来调节传感器的灵敏度。
3.1.3超声波传感器
本系统中采用DYP-ME007型超声波传感器,它是一款具有温度补偿的多功能超声波传感器,具有PWM脉宽输出模式,可以使用单片机直接读取脉冲;同时具有温度补偿电路提高测量的精度,同时可以输出分辨率0.1摄氏度的环境温度数据[13-14]。
3.1.4舵机驱动
本系统中由于环境感知需要,安装有带动超声波传感器扫描的舵机。其中数字舵机的转动位置是靠控制PWM(脉冲宽度调制)信号的占空比来实现的,标准PWM信号的周期固定为20ms,占空比0.5~2.5ms 的正脉冲宽度和舵机的转角-90°~90°相对应。
在本系统中,利用舵机带动距离传感器转动扫描,可以获得前方一个扇面的障碍物分布情况,不仅方便路径规划寻找最佳线路,同时节约了大量传感器。
3.1.5电源系统
小车的供电系统分为三个部分,其中单片机需要5V电源,舵机需要6V电源,而驱动电机需要9V电源,因此小车用9V电池组供电,首先将电源连接在底板上,然后将其分成三路,其中一路直接给L298N供电,用来驱动电机运转,一路利用7805稳压芯片输出5V为单片机供电,另一路通过7806稳压芯片来获得6V电源为舵机供电。最后在各部分两端并联电容和串联电感等滤波电路将各模块间的干扰尽量减小,提高系统稳定性。
3.2算法研究
3.2.1传统人工势场法
人工势场法[15-16]是由Khatib于1986年提出的。其基本思想是将小车在工作空间中的运动看成是引力场中的运动,目标点对小车产生引力,而障碍物对小车产生斥力。按照这种思路,对小车所处的离散环境中的每一点赋予一个势场值F,其中F等于目标点的引力和所有障碍物的斥力的叠加,在合力的作用下,小车将从起始点沿着势场下降最快的方向运动,直至目标点。
人工势场法的原理比较简单,而且具有计算量小,实时性好的特点,但存在局部最优问题。因而扩展基本算法,设计合理的引力场,从而防止陷入局部最优化是应用该方法的重要一环。
3.2.2最短切线路径算法
(1)首先判断小车和目标终点之间是否存在障碍物。如图5所示,以T代表目标终点,其坐标为(xT,yT),以R、O分别代表小车及障碍物,坐标为(xR,yR)、(xO,yO)。其中碰撞距离为小车碰撞半径和障碍物碰撞半径的和,即RO+RD。
3.3软件设计
小车软件设计的总体思想是:通过单片机对超声波模块、红外模块和舵机等功能模块的信号采样处理,配合对电机驱动模块的编程实现小车自动避障循迹,并将各模块的编程以函数形式合理封装,供以后调用。
图6显示的为程序主流程,主流程首先对各种模块进行初始化,然后通过小车上的传感器模块确定目标终点的方向,再利用舵机带动超声波传感器对前方各个方向进行探测,确定前方每个角度是否有障碍物及与障碍物的距离。根据获得的信息,用人工势场法和最短切线路径算法进行处理,选择最优方向后,控制小车向其运动。在运动途中,系统会实时采集信息,对小车采取相应的控制,使小车到达目标终点。
4实际测试与分析
4.1集成测试
在完成所有的子系统的测试安装工作之后对整个系统进行集成测试。
在整个实验的过程中,我们是让障碍物和目标终点的位置静止,其中四个大纸箱为障碍物,远处的塑料盒为目标终点,障碍物分布在小车与目标终点之间的空间里,小车在运动中,通过传感器测得数据,再进行推理计算。
4.2系统的性能分析
本系统所采用的是一种新的几何路径规划算法,主要是通过应用切线最短的理论算法来改进智能小车的运动过程,并通过实验来进行了论证。
在刚才的试验中,小车有A、B、C、D四条路径可供选择,如图7,在初始化完成后,小车首先确定有四条路径可以通过,根据最短切线路径算法,由于A、D两条路径都属于路径较长的切线,因此小车排除A、D两条路径,然后根据人工势场法,选择障碍物间距较大即较容易通过的B路径。
实验证明此系统可缩短了小车的运动路径,并进行了顺利避障。这种算法可以应用于各种运动小车,比如足球小车、搬运小车等。而且应用在现实生活中可以有效地减少燃料的损耗,简单易行,使用方便。
5总结
本文设计旨在提高自行小车的避障能力,进行了环境感知方式和路径规划算法的研究。完成了环境感知模块的设计制作;算法结合了人工势场法和最短切线路径算法,通过自行小车环境感知模块获得的障碍物分布信息,经过运算比较选择合适的路径避开障碍物。在真实环境中对障碍物进行避障以检验系统性能,实验结果较为满意。
自行小车采用复杂的应用技术,涵盖了计算机、电子、机械、传感器、控制和系统等所有现代工程专业的内容。在民用方面自行小车的应用代替传统的人工操纵的方式,大大促进了企业的技术进步,改善工作条件和环境,提高自动化生产水平,有效的释放劳动生产力,减轻工人的劳动强度,缩减人员配置,优化生产结构节约人力、物力和财力。在军用方面由于大量高科技武器装备的应用以及战场上的运送补给的危险性给军队运输提出了更高的要求,自行小车的出现为保证补给运输的同时保证人员安全给出了一个较好的解决方案。
参考文献:
[1] 蒙建波,梁锡昌. 机械智能学[M].重庆: 重庆出版社,1997:50-52.
[2] 王耀南.智能控制系统[M].长沙,湖南大学出版社,1996.
[3] 陈懂,刘荣,金世俊. 智能小车的多传感器数据融合[J].现代电子技术,2005(6):3.
[4] 王燕,智能小车的避障研究[J].控制理论与控制工程,2007(1).
[5] 范红,智能小车路径规划及避障的研究[J].控制理论与控制工程,2003(1)
[6] 卢韶芳,刘大维.自主式移动小车导航研究现状及相关技术[J].农业机械学报,2002,33(2):112-116.
[7] 李小海,程君实,陈佳品.自主式微小型移动小车的自动避障行为研究[J].小车,2001,23(3):234-237.
[8] 倪小雷,佳俊.自主移动小车混合式体系结构的设计与实现[J].计算机测量与控制,2006,14(11):26-28.
[9] 张毅刚.单片机原理及应用[M].高等教育出版社,2003.
[10] 王浩.单片机系统设计与实践[M].湖南大学出版社,2005.
[11] 汪道辉.单片机系统设计与实践[M].电子工业出版社,2006.
[12] 王浩.单片机系统设计与实践[M].湖南大学出版社,2005.
[13] 曾德怀,谢存禧.行走小车的超声波测距系统的研究[J].机械科学与技,2004,23(5):613-616.
[14] 孟庆浩.用于移动小车避障的超声测距系统软硬件设计[J].河北工业大学学报,1997.26(1):86-89
[15] 易良.基于激励学习和人工势场法的小车路径规划[J].计算机应用技术,2007(3).
[16] 张乐杰.基于融合和人工势场的自主移动小车路径规划研究[J].山东大学学报:工学版,2005,35(3):28-31.
[17] 孟祥甫.移动小车路径规划[J].控制理论与控制工程,2008(3).
[18] 卢晓军.一种基于自由空间法的虚拟人行走规划方法[J].计算机工程与科学,2005(8).
[19] 黄素平,何清华.一种移动小车路径规划方法[J].机床与液压,2004(5):45-46.
[20] 姚佳,智能小车的避障及路径规划[J].测试计量技术与仪器,2005(3).