摘 要:针对传统动态窗口法应用在移动机器人路径规划中存在目标不可达、陷入局部最优等缺陷,提出了一种改进动态窗口法。首先,在传统动态窗口法的基础上,考虑到移动机器人自身状态和动力学模型,提出了障碍物膨胀模型,提高在真实环境下机器人运行的安全性。其次,针对传统动态窗口法评价函数,提出了目标距离评价子函数,增强了移动机器人运动的稳定性和轨迹的平滑性。利用MATLAB进行仿真实验对比,结果表明:在静态环境和动态环境下,改进动态窗口法的规划速度和路径规划性能较传统动态窗口法获得了一定的提升,能够较好适应移动机器人在复杂环境下的路径规划需要。
关键词:移动机器人;路径规划;动态窗口法;栅格地图;静态避障;动态避障
中图分类号:TP391.9;TP242 文献标识码:A 文章编号:2095-1302(2024)03-0-06
0 引 言
自主避障技术作为移动机器人路径规划问题中一个重要组成部分,其任务是在有障碍物的环境中,特别是人机共存的复杂环境下,寻找一条从起始点到目标点的无碰撞运动轨迹[1]。在实际应用过程中,由于环境变化且复杂,因此,能够获取环境信息的局部路径规划成为移动机器人实现自主避障技术的研究重点[2]。
在局部路径规划的研究中,常采用人工势场法[3]、神经网络[4-5]、动态窗口法(Dynamic Window Approach, DWA)[6]等算法解决机器人路径规划问题。但由于人工势场法易受外界环境变化的影响,使其在复杂环境中规划能力不足;神经网络存在路径规划实时性较低、计算量较高等问题,因此不适合应用于大型复杂地图中。除此之外,大部分局部路径规划算法并未考虑到移动机器人的自身状态和动力学性能变化,因此在实际环境中难以满足复杂多变的工作需求。
动态窗口法作为一种基于机器人动力学的在线避障算法,首先生成二维空间内有效的多组速度对(线速度、角速度),并在采样时间内模拟每组速度对生成的运动轨迹,最后利用评价函数对多组轨迹进行选择,选取评价最高的轨迹对应的速度作为下一时刻机器人的运动速度[7]。
针对传统DWA算法容易陷入局部最优、导致目标不可达等问题,国内外专家进行了广泛的研究。王永雄等人[8]通过自适应调整目标函数中的权值,以提高机器人的运行速度和效率,但并未考虑环境中动态障碍物的未知干扰。卞永明等人[9]提出利用A*全局规划路径轨迹中的关键点,定义新的评价函数,为路径规划问题提出了一种新的思路。Liu 等人[10]提出了变化角度评估子函数,在一定程度上提高了算法的避障性能,但容易导致机器人在接近目的地时绕行过多,导致时间成本增加。
综上,本文提出一种改进的DWA路径规划算法,首先通过对目标点和障碍物的分析,提出了障碍物膨胀模型。其次,针对算法易陷入局部最优导致目标点不可达、路径绕行过多等问题,定义了目标评价子函数,改进了传统DWA算法的评价函数。在提升移动机器人路径安全性的同时,提高了路径避障性能。
1 基本动态窗口法
1.1 移动机器人运动学模型
动态窗口法需要根据采样的速度获取机器人的运动轨迹,因此,需要分析移动机器人运动学模型。设移动机器人的线速度为ν,角速度为ω,则t时刻移动机器人的位置坐标为(xt, yt),θt是t时刻机器人在世界坐标系XOY中与x轴的夹角,则(xt, yt, θt)可以表示t时刻下机器人的运动学位姿,其运动学模型如图1所示。
假设在[t, t+1]两个相邻时刻移动机器人运动速度不发生变化,即机器人运动状态为匀速直线运动,则两相邻时刻间机器人的运动路径可看成直线,在t+1时刻下移动机器人的位姿为:
(1)
式中:Δt是两时刻间的采样间隔;ν(t)是移动机器人在t时刻的线速度;ω(t)为机器人在t时刻的角速度。
但在实际情况中,移动机器人的角速度和线速度不全为零,因此机器人的实际运动轨迹是一条曲线。在上述推导中,假设两相邻时刻间的移动轨迹是直线,这一假设并不是十分准确的,用圆弧代替直线将更能符合实际情况,圆弧半径为:
(2)
则移动机器人运动轨迹可表示为:
(3)
1.2 移动机器人速度采样空间
动态窗口法的基本原理是通过建立移动机器人运动模型,并对机器人的速度向量空间进行采样,就可以模拟出机器人在下一时刻的轨迹,最后根据评价函数选择最优轨迹对应的速度作为机器人的运动速度。在理想条件下,移动机器人的速度(ν, ω)存在无穷多个取值,但由于机器人自身机械结构的限制和环境空间的约束,限制了机器人速度的采样范围,其约束条件如下:
(1)机器人受自身机械结构的限制,其速度存在最大值和最小值。
(4)
式中:Vm表示机器人所有速度的集合;vmin、vmax分别为机器人线速度的最小值和最大值;ωmin、ωmax分别为机器人角速度的最小值和最大值。
(2)移动机器人受电机性能等限制,存在最大加速度限制。
(5)
式中:Vd表示机器人可达的速度空间;vc和ωc表示机器人当前时刻的线速度和角速度;av表示最大线加速度;aω表示最大角加速度。
(3)为了避免机器人与障碍物发生碰撞,需要限制机器人的速度空间,以确保机器人在碰撞之前停止。
(6)
式中:dist(ν, ω)是速度(ν, ω)对应轨迹上与最近障碍物的
距离。
综上所述,移动机器人的速度空间为:
(7)
在确定移动机器人的速度空间后,通过结合机器人运动学模型,生成相应的运动轨迹。动态窗口法采样轨迹如图2所示。
1.3 移动机器人轨迹评价函数
动态窗口法通过对速度空间的约束,在下一时刻机器人可获取若干组采样轨迹。为获取最优轨迹,采用评价函数对轨迹进行评价,设评价函数为G(ν, ω),综合考虑方位角评价函数、距离评价函数及速度评价函数三个指标。
(8)
式中,heading(ν, ω)为目标方向角评价子函数,用以评价机器人当前方向和目标位置方向的偏移程度,其计算公式如下:
(9)
式中,θ为机器人预测轨迹末端与目标点相对应的机器人方向角之间的角度差,如图3所示。
障碍物间隙dist(ν, ω)为距离评价函数,表示模拟轨迹末端与最近障碍物之间的距离,若dist(ν, ω)足够大,则反映附近没有障碍物,移动机器人很安全。
速度评价函数vel(ν, ω)是下一时刻机器人的线速度,用于评估移动机器人在向目标点移动过程中的前进速度。
评价函数G(ν, ω)由方位角评价函数、距离评价函数及速度评价函数三个指标组成。其中,σ为归一化系数,α、β、γ则为三项指标对应权值。通过将三项指标归一化处理,并结合指标相对应的权值,即可消除机器人移动轨迹的不连续性,提高轨迹的平滑性。
(10)
式中:n为移动机器人在一个模拟周期内所有的采样轨迹;i为当前所评价的采样轨迹。
2 改进动态窗口法
2.1 动态窗口法的改进
传统DWA算法在实际运行过程中,由于缺少对全局路径的考虑,在采样轨迹周围存在障碍物时,需要通过对模拟轨迹进行评价,选取最优方位角及速度进行避障。即使机器人与局部目标点的直线轨迹绝对安全,动态窗口法也会选择距离障碍物较远的采样轨迹,导致轨迹转弯频率较高、绕行距离较远、时间成本增加等问题。因此,当空间中的动态障碍物增加,移动机器人与障碍物发生碰撞的概率也会增加。除此之外,传统DWA算法并未考虑障碍物形状、特性等物理因素,而是将障碍物视为质点,但在实际应用中会增大与障碍物碰撞的风险,因此提出改进DWA路径规划算法。
2.1.1 障碍物虚拟碰撞模型
为保证机器人在路径规划方面的安全性,采用安全边界对障碍物进行膨胀处理。而障碍物膨胀的尺寸和形状对移动机器人规避障碍物有至关重要的作用。为满足路径规划算法效率高、计算量小的需求,膨胀安全边界需贴合实际地图,随地图环境动态变化。因此,采用矩形安全边界膨胀处理,在栅格地图中对动态障碍物进行膨胀处理。其膨胀半径按照机器人底盘的半径进行选择,以满足机器人避障需求。本文提出了一种障碍物膨胀模型,如图4所示。
2.1.2 改进评价函数
在传统的DWA算法中,原评价函数的评价标准相对独立,在不同环境中最优权重也有较大差异。若障碍物直接存在于全局规划路径上,则机器人将保持朝向障碍物移动,直到机器人接近障碍物再进行转弯,此时将不可避免地会导致机器人与障碍物之间的规避距离减少。随着时间的增加,移动机器人的碰撞预警和紧急停止的反应时间也相应缩短,给机器人增加了潜在的危险。一旦全局路径上障碍物分布密集,由于机器人无法及时规避障碍物,容易陷入障碍物密集区域中,导致机器人需要更多的转弯、加速和减速操作才能摆脱困境。为此,我们在评估函数中添加了一个目标距离评价子函数,以提高机器人运动的稳定性和路径的平滑性。其数学模型如下:
(11)
式中:(xstart, ystart)为移动机器人初始点的位置坐标;(xgoal, ygoal)为局部目标点的位置坐标;(xcurrent, ycurrent)为移动机器人轨迹末端点的位置坐标。
因此改进后的DWA算法评价函数为:
(12)
2.2 改进DWA算法流程
改进DWA算法流程具体步骤如下:
步骤1:根据移动机器人搭载的传感器获取环境信息构建栅格地图,以机器人底盘半径对障碍物点进行膨胀。
步骤2:初始化移动机器人参数,获取当前方向角、角速度及线速度。
步骤3:根据机器人运动学状态和机械特性,确定有效的速度及加速度范围。
步骤4:根据机器人运动学状态,对采样速度进行模拟,生成运动轨迹样本。
步骤5:根据改进DWA算法评价函数对采样轨迹进行评价,从中选取最优轨迹,并将最优轨迹对应的速度作为下一时刻机器人的运动速度。
步骤6:执行最优速度,判断机器人是否到达目标点,若到达,则结束运行,输出最优轨迹;若未到达,则重复步骤4。
3 改进动态窗口法仿真实验
为了验证改进DWA算法的路径规划性能,本文在10×10规模的栅格地图下进行仿真实验。设置起始点用星号表示,位置坐标为(0.5,0.5);目标点用圆圈表示,位置坐标为(9.5,9.5)。为了客观评价算法的性能指标,验证改进的DWA算法和传统DWA算法在静态环境和动态环境下的路径规划效果,对比算法需基于相同实验条件,其仿真实验参数见表1所列。在仿真实验中用实线线条表示改进DWA算法的路径规划和性能指标曲线,虚线线条表示基本DWA算法的路径规划和性能指标曲线。
在仿真实验中,定义移动机器人到达目标点0.5 m范围内,则视为到达。
3.1 改进DWA静态路径规划仿真实验
静态环境下,改进DWA算法和基本DWA算法的路径规划性能结果对比如图5所示。其中,图5(a)为移动机器人从起始点到目标点的最优路径轨迹,图5(b)~图5(d)为运动过程中机器人的方向角波动曲线、角速度波动曲线及线速度波动曲线。表2展示了在10×10规模的静态栅格地图下,改进DWA算法和传统DWA算法的性能指标。
综合分析图5和表2,可以得出,在静态地图下,改进的DWA算法相较基本的DWA算法在最优路径规划长度、算法运行时间方面都有了一定的提升。其中,在路径长度方面改进的DWA算法较基本DWA算法提升了9.18%,算法运行时间提升了26.62%。算法运行时间缩短,不仅因为改进的DWA算法选择的最优路径较短,还因为改进的DWA算法在运行过程中通过调整方向角转向目标点位置,使机器人方向角转弯幅度小于基本的DWA算法,其转弯幅度减少了37.13%,如图5(b)所示。
在图5(c)所示的角速度波动曲线中,改进DWA算法较基本DWA算法在角速度波动幅度方面提升了17.51%。在图5(d)中,改进的DWA算法线速度在运行过程的大部分时间都处于最大线速度0.62 m/s,虽然基本DWA算法的最大线速度略高于改进DWA算法的最大线速度,但改进DWA算法在第58~129次迭代中由于距障碍物较近,需要减缓速度转变方向角,其线速度低于最大线速度,而基本DWA算法仅在第34~59、159~171次迭代内达到最大线速度,其余时间由于算法的大幅度波动,基本DWA算法的线速度都低于改进DWA算法线速度。从整条轨迹上看,改进DWA算法转向角更小,线速度和角速度波动幅度、次数方面均小于基本DWA算法,因此得到的最优轨迹更为平滑,算法运行时间更短。
3.2 改进DWA动态路径规划仿真实验
由于静态环境具有一定的局限性,并不能准确评价算法在障碍物移动的动态环境下算法的性能指标。因此设计动态环境验证改进DWA算法的性能,定义动态障碍物可平移运动,坐标为(1.5,2.0)、(4.5,5.0)、(5.5,4.0)和(4.5,9.5)。动态仿真实验避障结果如图6所示,图中灰色栅格表示静态障碍物,其规模为1个单位长度的正方形,动态障碍物为0.5个单位长度的圆形。
在动态障碍物栅格地图中,改进的DWA算法同样也展现出较好的路径规划性能。由表1可知,在最优路径轨迹长度方面,改进的DWA算法获得的路径长度为13.501 3,相较传统DWA算法获得的路径长度14.268 9,缩短了5.38%。在算法运行时间方面,改进的DWA算法相较基本DWA算法减少了15.12%。在轨迹平滑度方面,从图6(a)中可以看出,改进的DWA算法获得的轨迹更为平滑,方向角朝向目标方向,因此机器人在运动过程中的转向次数较少、轨迹更为平滑。在算法性能波动曲线中,改进的DWA算法的角速度和方向角的波动次数和波动幅度都小于基本DWA算法。相较于基本DWA算法,改进DWA算法的角速度波动幅度降低了20.51%、方向角波动幅度降低了1.95%。在图6(d)的线速度波动曲线中,虽然改进的DWA算法和基本DWA算法的最大线速度都为0.62 m/s,但从线速度波动曲线中可以看出,基本的DWA算法在机器人运行过程中,其线速度处于最大线速度的时间略大于改进的DWA算法,通过舍弃部分方向的稳定性,从而获得了更快的线速度。而改进的DWA算法通过调整自身方向角转向目标点,在方向角和角速度方面的波动小于基本DWA算法的波动幅度,从而获得了轨迹更为平滑和更短的最优路线。综上所述,改进的DWA算法的运行效率较基本的DWA算法获得了一定的提升,在速度控制方面具有更强的稳定性,从而生成的轨迹更为平滑、路径更短。
4 结 语
本文针对基本DWA算法出现的目标点不可达、局部最优等问题,提出了一种改进的DWA路径规划算法。通过充分考虑了移动机器人的运动学模型和机械特征,引入了障碍物膨胀方法,根据目标与待评价轨迹的距离,定义了目标评价子函数,对评价函数进行了改进。仿真实验结果表明,本文提出的改进DWA算法能够有效提高轨迹的平滑性和速度的稳定性,获得了较好的规划轨迹。在后续的研究中,会进一步将改进算法应用于实物实验中,验证改进算法的有效性。
参考文献
[1] OROKO J A,NYAKOE G N. Obstacle avoidance and path planning schemes for autonomous navigation of a mobile robot:a review [C]// Proceedings of the Sustainable Research and Innovation Conference. [S.l.]:[s.n.]:2022:314-318.
[2] PATLE B K,PANDEY A,PARHI D R K,et al. A review: on path planning strategies for navigation of mobile robot [J]. Defence technology,2019,15(4):582-606.
[3] WANG P,GAO S,LI L,et al. Obstacle avoidance path planning design for autonomous driving vehicles based on an improved artificial potential field algorithm [J]. Energies,2019,12(12):2342.
[4]陈秋莲,郑以君,蒋环宇,等.基于神经网络改进粒子群算法的动态路径规划[J].华中科技大学学报(自然科学版),2021,49(2):51-55.
[5]郑以君. 基于神经网络改进粒子群算法的机器人路径规划研究[D].南宁:广西大学,2021.
[6]王洪斌,尹鹏衡,郑维,等.基于改进的A~*算法与动态窗口法的移动机器人路径规划[J].机器人,2020,42(3):346-353.
[7] ZHANG F,LI N,XUE T,et al. An improved dynamic window approach integrated global path planning [C]// 2019 IEEE International Conference on Robotics and Biomimetics(ROBIO).Dali,China:IEEE,2019:2873-2878.
[8]王永雄,田永永,李璇,等.穿越稠密障碍物的自适应动态窗口法[J].控制与决策,2019,34(5):927-936.
[9]卞永明,季鹏成,周怡和,等.基于改进型DWA的移动机器人避障路径规划[J].中国工程机械学报,2021,19(1):44-49.
[10] LIU Tianyu,YAN Ruixin,WEI Guangrui,et al. Local path planning algorithm for blind-guiding robot based on improved DWA algorithm [C]// 2019 Chinese Control And Decision Conference (CCDC). Nanchang,China:IEEE,2019:6169-6173.
作者简介:陈静夷(1998—),女,硕士,研究方向为移动机器人同步定位与建图。