赞
踩
DWA算法是全称是Dynamic Window Approach。是在ROS中应用比较广泛的局部路径规划算法。
主要作用是接受全局路径规划器生成的路径,里程计信息,地图信息等,通过局部路径规划器将其分割成小段,进行局部路径规划并输出机器人的速度信息将其发送给机器人底盘,驱动机器人运动。
DWA算法的核心思想是action sample 即动作采样,通过小车的运动模型预测小车在未来t时间内的运动轨迹,并通过评价函数对这些轨迹进行评价,选取最优轨迹对应的(v,w)驱动机器人运动。假设小车的速度(v,w),建立小车的运动模型如下
通过上式我们就可以对小车进行轨迹预测。
在进行速度采样时,需要对机器人的进行一些限制,主要是由于机器人本身的设计决定了机器人的最大最小速度,电机性能影响小车的加速度,同时出于安全考虑需要预留一定的刹车距离。
为 机器人能够到达的所有矢量速度的集合;机器人受到最大最小线速度和角速度影响。
由于加速度有一个范围限制,所以最大加速度或最大减速度一定时间内能达到的速度 ,才会被保留
为了能在碰到障碍物前停下来,在最大减速度的条件下,速度的限制计算如下
在上述条件的约束下,机器人的速度空间(v,w)会在一定范围内变化,随着电机的角加速度和线加速度的变化,速度空间会产生动态变化我们将其称之为动态窗口,这也就是DWA算法名字的由来。
评价函数是DWA算法中很重要的一个内容,用于在模拟出的众多轨迹中选出最优轨迹。
DWA算法的评价函数为:
其中Phead为与目标之间的角度差,dist为与最近障碍物之间的距离,vel(v,w)为轨迹对应速度大小。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。