位置: IT常识 - 正文
推荐整理分享局部规划算法: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
内容来源于网络和参考链接整理,侵权联系删。
欢迎关注!
上一篇:Vue项目安装less和less-loader(vue项目安装路由)
下一篇:【1】从零开始学习目标检测:YOLO算法详解(小说《从零开始》)
友情链接: 武汉网站建设