“0公式系列”之DWA算法----Dynamic Window Approach

DWA算法能干什么?

对于机器人局部路径规划的算法有很多,DWA算法(中文叫动态窗口法)是其中之一,理解起来简单些。它能根据代价地图以及当前的位姿和速度,在当前点和目标点之间给一个合理的速度。

DWA算法的实现

主要是在速度(v,w)空间中采样多种速度,模拟每组速度的预期轨迹,然后给每个轨迹打分,最后选取最合适的速度组,并让机器人按照该速度前进。 详细代码见ROS官网给出的方案

下面开始我的通俗解释这个算法

 重点在于选择速度方案,DWA算法让机器人按照哪种速度方案(v,w)去前进,取决于这几个条件。

1、可采纳速度。当我们选择速度方案(v,w)的时候,是以当前的速度为基础进行选择的。比如,我现在的速度v是10m/s,那么我的速度方案,v就是在10m/s上下附近进行选择,你不可能下一时刻就是50m/s了吧,所以就不用考虑那么多的速度了。

2、优先走无障碍的路径。但是我们怎么知道,它会不会撞向障碍呢。很简单,就是模拟这个机器人以某一组不变的速度(v,w)前进,这样就会拟合出许多组轨迹,只需要检查出这几组轨迹离各自最近的障碍物的距离就行了。有一种特殊的情况,就是无法避免碰到障碍,就在可行区域找一个点,让这个点尽量离原始目标点进就行。

3、优先以快的速度前进。这个也不难理解,谁也不希望自己的机器人像个乌龟一样。

 

 最后我们会得到一组最优的速度方案(v,w),然后发布给cmd_vel就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Naruto

你的鼓励是我的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值