智能小车自主路径规划算法的设计与改进
2018-03-23王汉元
王汉元
摘 要本文探讨了智能小车自主路径规划算法的设计与改进,并对所提出的算法进行了仿真分析。该自主路径规划算法简单可行,能够使智能小车在顺利避开障碍物的同时从起始位置行进至目标位置,确保智能小车在整个行驶路径上的安全。该算法综合使用动态窗口法,根据智能小车与障碍物之间的距离,在智能小车通过动态窗口法规划得到的速度中引入从障碍物指向智能小车的逃逸速度,补偿了动态窗口法的不足,获得了搜索路径快、可执行性好、有效地防止智能小车与障碍物碰撞的优点。
【关键词】智能小车 路径规划 动态窗口法 逃逸速度
1 引言
智能小车是各种高新技术综合集成的载体,其集环境感知、规划决策等功能于一体,融合了机器人技术、人工智能技术、自动化控制技术、机器视觉技术等。智能小车在进行自主路径规划时,其主要任务在于,在存在障碍物的环境中发现一条从起始位置到目标位置的适当的行驶路径,使智能小车在行进途中顺利地绕过障碍物而不与障碍物发生碰撞。如何提出一种简单可行的算法使智能小车在顺利避开障碍物的同时从起始位置行进至目标位置,是本领域的一个重要问题。
2 自主路径规划的背景介绍
2.1 自主路径规划的任务
智能小车的路径规划需要解决如下问题:
(1)智能小车从起始位置行进至目標位置;
(2) 智能小车在不碰到障碍物的前提下对智能小车的路径进行优化。
2.2 路径规划方法的分类
根据对环境信息的把握程度,路径规划方法分为:基于先验完全信息的全局路径规划,在这种规划方法中,智能小车所处的环境的全部信息已知;以及基于传感器信息的局部路径规划,在这种规划方法中,智能小车所处的环境的部分信息或者全部信息未知。其中,局部路径规划是指,基于传感器的信息,在智能小车行进过程中动态地确定其当前位置以及周围局部范围内的环境,规划出局部最优路径以到达目标位置。
2.3 局部路径规划方法的分类
目前采用的局部路径规划方法包括栅格法和动态窗口法(Dynamic Window Approach,DWA)。
栅格法将智能小车的运行环境进行单元分割,将环境信息用大小相等的方块进行表示。其中,若栅格较小,则由栅格所示出的环境信息将较为清晰,但由于存储的信息较多,路径规划速度会降低,无法确保实时性;若栅格较大,则存储的信息较少,但栅格所表示的环境信息变得模糊,不利于有效的路径规划。总之,栅格法在智能小车路径规划时存在计算量大、实时性差的缺点。
相对于此,动态窗口法具有搜索路径快、可执行性好的优点,但存在规划的路径可能使智能小车过于靠近障碍物而发生碰撞之虞。本文的自主路径规划算法是在动态窗口法的基础上进行的改进,以下将进行详述。
3 动态窗口法
本文的自主路径规划算法是在综合使用动态窗口法的基础上提出的。
简要来说,动态窗口法是在速度空间中采样多组速度,并模拟智能小车在这些速度下一定时间内的轨迹,在得到多组轨迹之后,对该多组轨迹进行评价,选取最优轨迹所对应的速度来对智能小车进行驱动。
具体来说,在机器人直线速度v和旋转速度w组成的速度空间(v,w)中采样多组速度,由于智能小车在相邻时刻内的运动距离非常短,可将该两个相邻点之间的运动轨迹视作直线,设智能小车在以其自身为参照系的坐标系x轴上移动了Vt·△t。将该距离投影至世界坐标系的x轴和y轴,得到智能小车t+1时刻相对于t时刻在世界坐标系中移动的位移:
如图1所示,建立智能小车的轨迹运动模型之后,采样多组速度,模拟智能小车在该多组速度下一定时间内的轨迹,生成多条轨迹,根据智能小车本身的限制和环境限制将速度控制在一定范围内。例如:
智能小车本身有其自身最大速度和最小速度的限制:
另外,由于智能小车的电机驱动模块存在最大加减速限制,因此在智能小车的行进模拟周期(在本文中为0.02秒)内存在动态窗口,该窗口内的速度是智能小车实际能够达到的速度:
其中,Vc、Wc是智能小车的当前速度,、对应最大加速度,、对应最大减速度。
另外,在智能小车碰到障碍物之前,也存在如下约束条件:
其中dist(v,w)为速度(v,w)对应轨迹上距障碍物最近的距离。
最后,设定评价函数,并为每个约束条件设定一定的权重,对各采样的速度组进行评价。其中,约束条件可包括轨迹中距障碍物的距离、搜索路径的长短、对智能小车行驶状态的影响等。
4 自主路径规划算法的创新设计
上述动态窗口法在考虑智能小车是否会碰到障碍物时仅将其简单地看做质点,因此会存在路径规划过程中使智能小车靠近障碍物而发生碰撞的危险。
如图2所示,本文的自主路径规划算法在动态窗口法的基础上进行了改进,避免上述摘 要题的发生。
具体来说包括如下步骤:
步骤1:获取智能小车与障碍物之间的距离。
基于智能小车上的传感系统,得到智能小车与障碍物之间的距离。在图1中,智能小车可利用传感系统直接输出用于指示智能小车与障碍物之间的距离的信息。
步骤2:限定逃逸速度临界距离。
该逃逸速度临界距离是指障碍物会对智能小车造成危险的距离。该临界距离是提前设定好的,根据多次试验,本文设定为智能小车的外形质点到其轮廓边缘的最远长度的6倍。根据不同的应用,也可考虑将该逃逸速度临界距离设为其他值。
步骤3:判断智能小车与障碍物之间的距离相对于逃逸速度临界距离之间的关系。若前者大于后者,则采用动态窗口法进行路径规划;若前者小于等于后者,则以在由动态窗口法确定的速度的基础上叠加智能小车与障碍物之间的逃逸速度后得到的速度驱动智能小车。
详细来说,在智能小车与障碍物之间的距离小于等于逃逸速度临界距离时,计算动态窗口法所规划确定的速度v2与逃逸速度v1的矢量和v3,以该速度v3驱动智能小车。如图3所示。
如下详述逃逸速度的求取方法。
逃逸速度的方向定义为由障碍物指向智能小车的外形质点的方向。该逃逸速度的矢量的大小随着距障碍物越近而变得越大。具体来说,其根据如下公式求得:
其中,v为当前智能小车的行驶速度的矢量大小,len为智能小车的外形质点到其轮廓边缘的最远长度,d为智能小车的外形质点与障碍物之间的距离,vr为逃逸速度的矢量大小,α为提前设定的系数,本文中设定的α为0.8。
根據上述公式,在智能小车距离障碍物越近时,d值越小,逃逸速度的矢量大小vr越大,利用与逃逸速度叠加后的速度将驱动智能小车远离障碍物。
根据本文的自主路径规划算法,在智能小车距离障碍物较远时,采用动态窗口法确定智能小车的规划路径;在智能小车距离障碍物较近的情况下,将动态窗口法确定的速度与逃逸速度叠加,产生远离障碍物的速度,且该速度随着智能小车与障碍物之间的距离越近而越大。该算法有效地避免在以动态窗口法对路径进行规划时智能小车过度靠近障碍物的问题,补偿了动态窗口法的不足。
5 仿真分析
为了验证本算法在引导智能小车进行路径规划的可靠性,本文利用MATLAB提供的simulink模块进行了仿真。
在simulink中建立智能小车的运动学模型,加入障碍物信息、智能小车起点、终点坐标,基于经过改进之后的智能小车自主路径规划算法建立仿真模型,进行仿真。
从图4可以看出,智能小车从起点出发,在向终点行驶的过程中平滑地在位于起点与终点之间的各障碍物之间穿过,顺利到达终点。由此可知,本文提出的算法简单可行,使智能小车在顺利避开障碍物的同时从起始位置行进至目标位置,确保智能小车在整个行驶路径上的安全。
6 结语
本文探讨了智能小车自主路径规划算法的设计。该算法综合使用动态窗口法,根据智能小车与障碍物之间的距离,在智能小车通过动态窗口法规划得到的速度中引入从障碍物指向智能小车的逃逸速度,补偿了动态窗口法的不足,获得了搜索路径快、可执行性好、有效地防止智能小车与障碍物碰撞的优点。
参考文献
[1]张广林,胡小梅,柴剑飞,赵磊,俞涛.路径规划算法及其应用综述[J].现代机械,2011(05):85-90.
[2]徐保来,管贻生,苏泽荣等.改进动态窗口法的阿克曼移动机器人局部路径规划器 [J].机电工程技术,2016,45(09):21-26.
[3]The dynamic window approach to collision avoidance.Fox,D.,Burgard, W.,Thrun,S.Robotics & Automation Magazine,IEEE.1997.
作者单位
河南省实验中学 河南省郑州市 450000