1、Computer Engineering and Applications计算机工程与应用2023,59(6)近些年来,随着人工智能的快速发展,移动机器人广泛应用于各个领域,极大地方便人们的生活,机器人的研究受到了广泛关注1。移动机器人智能避障的能力是其智能化的重要指标2,不仅反映了移动机器人运行的效率、可行性和能耗,还反映了机器人检测障碍物、处理障碍物信息和避开障碍物的方式。如今对移动机器人自主避障3-5算法的研究取得了很大进展,许多算法应用于移动机器人自主避障系统中,主要包括模糊控制、人工势场、神经网络和DWA算法6-7。模糊控制算法具有算法简单、易于理解、鲁棒性强等优点,但存在设计需要经
2、验、控制精度低、无学习能力等问题;人工势场算法具有简单、实时性好、路径平滑等优点,但只能到达目标点附近而不能完全抵达目标点,精确度较低等问题;神经网络算法利用大量数据训练模型,可以自动学习参数得到最终的网络模型,但存在网络复杂度高、泛化性低等问题。DWA算法是Fox等8提出将曲率和速度相结合,该算法将根据速度在一段时间内模拟机器人的轨迹,然后它将通过评分规则对这些模拟轨迹进行评分,将机器人的避障问题转化为最优速度执行问题,在可行性和运动连续性方面具有明显优势。文献9考虑了在轨道附近但不在轨道上的障碍物,修改了评价函数来改进DWA算法,并通过使用障碍物的直方图网格表示轨迹的碰撞概率;文献10利用
3、模糊控制理论改进 DWA算法,对各项子函数的权重系数进行调整以提高机器人改进DWA算法的移动机器人避障研究王豪杰,马向华,代婉玉,靳午煊上海应用技术大学 电气与电子工程学院,上海 201418摘要:针对传统动态窗口法(DWA)在稠密障碍物区域存在最优路径难以选取及生成路径不平滑等问题,提出了一种改进的DWA移动机器人避障算法。基于微分流形切向量选取与障碍物不相交的机器人预轨迹,引入障碍物数量因子与方向角变化因子来改进评价函数,提高机器人在障碍物密集区域运行的安全性,使用改进后的评价函数对选取的轨迹进行评价,进而确定最优轨迹对应的速度。通过多组仿真实验对比表明:改进的DWA算法在障碍物密集区域能
4、规划出更合理、平滑的运行路径,在保证了机器人安全性的同时还具有更好的避障效果。关键词:避障;DWA算法;微分流形;障碍物数量因子;方向角变化因子文献标志码:A中图分类号:TP242.2doi:10.3778/j.issn.1002-8331.2205-0210Research on Obstacle Avoidance of Mobile Robot Based on Improved DWAAlgorithmWANG Haojie,MA Xianghua,DAI Wanyu,JIN WuxuanSchool of Electrical and Electronic Engineering,S
5、hanghai Institute of Technology,Shanghai 201418,ChinaAbstract:Aiming at the problems that the traditional dynamic window approach(DWA)is difficult to select the optimalpath and the generated path is not smooth in the dense obstacle area,an improved DWA obstacle avoidance algorithm formobile robots i
6、s proposed.Firstly,the pre-trajectoriy of the robotthat does not intersect with the obstacle is selected basedon the tangent vector of the differential manifold,then the obstacle number factor and the direction angle change factorare introduced to improve the evaluation function to improve the safet
7、y of the robot in the areawith dense obstacles.Finally,the improved evaluation function is used to evaluate the selected trajectories and then the speed corresponding to the opti-mal trajectory is determined.The comparison of several groups of simulation experiments shows that the improved DWAalgori
8、thm can plan a more reasonable and smoother running path in the area with dense obstacles,which not only ensuresthe safety of the robot,but also has better obstacle avoidance effect.Key words:obstacle avoidance;dynamic window approach(DWA)algorithm;differential manifold;obstacle numberfactor;directi
9、onal angle change factor作者简介:王豪杰(1996),通信作者,男,硕士研究生,研究方向为智能机器人路径规划技术,E-mail:;马向华(1975),女,博士,教授,研究方向为复杂装备控制系统、机器人与人工智能等;代婉玉(1996),女,硕士研究生,研究方向为人工智能路径规划技术;靳午煊(1998),男,硕士研究生,研究方向为ros机器人路径规划技术。收稿日期:2022-05-10修回日期:2022-06-24文章编号:1002-8331(2023)06-0326-073262023,59(6)在复杂多动态障碍环境中的性能;文献11通过探索机器人运动前方的可接近区域,障
10、碍物之间可行通道的宽度与机器人自身大小之间的关系来改进DWA算法,提高了机器人对穿越路径上有限宽度可行通道的决策能力;文献12提出一种环境感知的DWA算法,通过设置局部目标点方法来引导机器人在接近目标点之前移动到无障碍物的地方,解决DWA局部最小值问题。目前,虽然对DWA算法的研究取得了一定的成果,但依然存在以下问题:在复杂环境下,机器人利用传统DWA算法在障碍物密集区域会存在难以规划最优路径且得到的轨迹不平滑,从而导致避障时间过长13-14。针对DWA算法中存在的问题,对DWA算法进行了改进。首先通过微分流形的方法,根据微分流形切空间中的切向量得到机器人的预轨迹,然后判断其是否与障碍物相交,
11、选取与障碍物不相交的预轨迹,然后通过引入障碍物数量评估子函数和与目标点的距离关系平衡方向角子函数的方法改进评价函数,最后使用改进后的评价函数来对选取的轨迹进行评价,确定最优轨迹所对应的速度。改进的DWA算法通过切向量的性质选取预轨迹,减少了轨迹评价数目,相对于传统DWA算法迭代次数与运行时间减少了10%以上,提高了机器人运行效率与轨迹的平滑性,同时改变评价函数提高了机器人运行的安全性。通过对传统DWA算法与本文所提的改进DWA算法所进行的对比实验,验证了改进DWA算法的可行性。1传统DWA算法原理1.1速度采样DWA算法的实现过程包含三部分:即速度采样、轨迹预测和轨迹评估。该算法将机器人在运动
12、过程中的速度选择问题限制为由机器人线速度v和角速度w组成的速度矢量空间,并考虑机器人在速度矢量空间上的动态约束和非完整约束。在机器人的速度矢量空间中选择多个采样点,运用机器人的运动学模型计算出机器人的运动轨迹,并对多条轨迹进行评估以选择最优轨迹。因此,将对机器人的位置控制问题转换为对机器人的速度控制问题,并通过输出实时最佳速度来控制机器人的运动。DWA算法将避障问题转化为速度空间中的三个约束条件:一是移动机器人的最大和最小速度约束;二是移动机器人的动态性能约束;三是移动机器人的安全约束。机器人的采样速度应该控制在移动机器人自身的最大速度与最小速度区间内,v表示线速度,w表示角速度,则约束公式:
13、Vt=()v,w|vminvvmax,wminwwmax(1)由于机器人动力学的限制,线加速度v?和角加速度w?存在上限和下限,vc,wc指当前时刻的线速度、角速度,t为时间间隔,因此满足:Vd=()v,w|vvc-v?t,vc+v?t,wwc-w?t,wc+w?t(2)基于移动机器人的安全性考虑,防止机器人因速度因素而撞上障碍物,提出了满足机器人运动安全性考虑的速度空间:Va=()v,w|v2dist()v,w v?,w2dist()v,w w?(3)式中,dist()v,w即为当前轨迹距最近障碍物的距离。该碰撞条件是在将机器人轨迹模拟出来以后,根据机器人和障碍物之间的距离,计算当前采样的速
14、度是否可以在碰到障碍物之前停止,若可以停止,则该速度即为允许的速度15。最终机器人动态窗口的速度范围应满足:Vr=VtVdVa(4)1.2评价函数在采样的速度向量空间中,通过对与运动学模型相匹配的连续速度向量空间Vr进行采样以及离散采样点进行离散化,得到可行的速度集,并根据这些速度集和轨迹预测时间段生成轨迹预测。获取机器人的轨迹后,通常有多组速度对应的轨迹是可行的,通过评价函数对轨迹进行评价。评价函数定义如下:G()v,w=(heading()v,w+dist()v,w+)velocity()v,w(5)针对各评价函数的评价标准不同出现评价函数不连续的问题,需要对各评价函数进行归一化处理,即:
15、heading()i=heading()ii=1nheading()i(6)dist()i=dist()ii=1ndist()i(7)velocity()i=velocity()ii=1nvelocity()i(8)其中,G()v,w为最大速度;heading()v,w是方位评估角,用来评估模拟轨迹的末端的方向和当前速度下的目标之间的方位偏差(如图1所示)heading()v,w=-;dist()v,w代表移动机器人当前轨迹上离最近障碍物的距离,如果当前轨迹上没有障碍物,则将dist()v,w设为常数;velocity()v,w为当前轨迹对应的速度大小。为平滑函数,为方向影响较系数,其值与机器
16、人的前进方向相关,随着机器人越来越接近目标点,值会相应增大;为安全距离系数,其值与机器人距离障碍物相关,随着机器人靠近障碍物距离减少,值也会相应增王豪杰,等:改进DWA算法的移动机器人避障研究327Computer Engineering and Applications计算机工程与应用2023,59(6)大;为速度影响系数,其值与机器人的速度相关,机器人的速度越大,的值也会越大。2改进的DWA算法2.1基于微分流形下选取预轨迹在复杂环境下,移动机器人在利用传统DWA算法运行过程中遇到障碍物密集区域时,机器人的运动易发生一定的偏移及生成的路径不够平滑,导致避障效率有所下降。针对以上问题,引入微分流形的方法,通过建立机器人运动轨迹的一般模型,引入流形切空间理论,将机器人运动实时问题等价于在流形切空间中切向量所预测的轨迹,并针对不同切向量对应的不同预轨迹,判断其是否与障碍物相交,选取与障碍物不相交的轨迹,用评价函数对选取轨迹所对应的速度()v,w进行评价。机器人的运动轨迹方程可以抽象为:S=S()t=S1()t,S2()t,Sn()t(9)T=dSdt(10)B=TN(11)N=BT(12