局部择优算法的基本流程(局部规划算法:DWA算法原理)
一 、算法概述
DWA算法(dynamic window approach)是移动机器人在运动模型下推算(v,w)对应的轨迹 ,确定速度采样空间或者说是动态窗口(三种限制);在速度空间(v,w)中采样多组速度 ,并模拟这些速度在一定时间内的运动轨迹 ,通过一个评价函数对这些轨迹打分 ,选取最优的轨迹来驱动机器人运动 。
二 、算法原理
1 、运动学模型
**(1)非全向运动:**只能前进和旋转(相邻时刻码盘采样 ,近似直线v*detaT)
**(2) 全向运动:**考虑x方向运动 、y方向运动和旋转 。将y轴移动距离投影世界坐标系上 。
2 、速度采样
(1)自身最大速度最小速度
的限制
(2)受电机性能的影响:由于电机力矩有限 ,存在最大的加減速限制, 移动机器人轨迹前向模拟的周期内,存在一个动态窗口 ,该窗口内是机器人能够实际达到的速度(ps: 为啥叫动态窗口)
(3)安全的考虑:为了能在碰到障碍物前停下, 在最大减速度条件下 ,速度有一个范围 。
3 、目标函数
一般考虑三种约束 ,可根据实际进行设计复杂的目标函数:
目标函数 = w1* 方位角函数(轨迹终点朝向与目标点之间的角度差距) + w2* 障碍物函数(轨迹终点位置时与地图上最近障碍物的距离) + w3* 线速度函数(鼓励快速到达终点)
三 、应用场景
计算复杂度低:
只考虑安全的轨迹 ,每次采样的时间较短 ,可以实时避障 ,但避障效果一般
应用模型:适用于两轮差分和全向移动模型 、不能用在阿克曼模型 。
缺点: (1)前瞻性不足:只模拟并评价了下一步,如在机器人前段遇见“C ”字形障碍时 ,不能很好的避障
(2)非全局最优路径: 每次都选择下一步的最佳路径 ,而非全局最优路径四 、ros功能包
机器人获得目的地信息后,首先全局路径规划规划出一条大致可行的路线 ,然后局部路径规划器根据这条路线及costmap的信息规划出机器人在局部时做出具体行动策略 ,ROS中主要是使用了DWA算法 。在ROS中每当move_base处于规划状态就调用DWA算法计算出一条最佳的速度指令 ,发送给机器人运动底盘执行 。
ros导航功能包 ,https://www.guyuehome.com/5500参考论文:
《The Dynamic Window Approach To Collision Avoidance》
参考链接: 原理:https://zhuanlan.zhihu.com/p/519958218
原理:https://blog.csdn.net/peakzuo/article/details/86487923
代码:https://blog.csdn.net/weixin_37835423/article/details/89683302内容来源于网络和参考链接整理 ,侵权联系删 。
欢迎关注!
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!