DWA算法原理介绍

原理

DWA算法是一种用于机器人避障的策略,它在速度空间中采样多组速度,模拟这些速度下一定时间内的多条轨迹,并用评价函数评估,选择最优轨迹。算法考虑了运动学模型、速度和加速度限制以及障碍物影响。评价函数包括与目标点的角度差距、与障碍物的距离等,适用于两轮差速和全向移动机器人
C++实现中包含了动态窗口计算、最佳速度选择和轨迹预测等功能。

具体运行流程

  • 设置速度空间,即机器人的速度范围(不是不变的,是时变的),机器人速度受到多种因素的限制:
    • 移动机器人受自身最大速度和最小速度的限制;
    • 移动机器人受电机性能的影响;在一定动态空间内,存在最大的加减速度限制,影响机器人所能实际到达的速度;
    • 移动机器人受障碍物的影响,保证机器人能在障碍物前停下。
  • 速度采样
    根据速度空间的值,以一定的分辨率对速度 v v v和角速度 w w w进行采样;
  • 轨迹预测
    根据机器人的运动学模型和采样速度,对机器人下一时刻的状态进行预测和更新;
  • 评价函数
    对速度空间进行采样后,根据机器人运动学模型预测出多条轨迹,需要对多条轨迹进行评价,选取最优的轨迹,机器人根据最优轨迹对应的速度进行运动。
    评价函数的标准如下:
    在这里插入图片描述
  • h e a d i n g ( v , w ) {heading(v,w)} heading(v,w)为方位角评价函数:评价机器人在当前的设定的速度下,预测轨迹末端朝向于目标点之间的角度差距;
  • d i s t ( v , w ) {dist(v,w)} dist(v,w)主要意义为机器人处于预测轨迹末端点位置时与地图上最近障碍物的距离,对于靠近障碍物的采样点进行惩罚,确保机器人的避障能力,降低机器人与障碍物发生碰撞的概率;
  • v e l o c i t y ( v , w ) {velocity(v,w)} velocity(v,w)为当前机器人速度的线速度,为了促进机器人快速到达目标;
  • α , β , γ , δ { \alpha,\beta,\gamma,\delta} α,β,γ,δ为权重系数。

论文索引:Fox D., Burgard W., Thrun S… (1997). The dynamic window approach to collision avoidance. IEEE Robotics & Automation Magazine, 4, 23-33. http://dx.doi.org/10.1109/100.580977. 10.1109/100.580977.

DWA整体运行流程:采样——》运动——》采样,循环以此达到目的点,同时达到避障和及时刹车的效果。

备注:

机器人的运动模型分为两种,一种是全向模型(有x轴速度、z轴角速度和y轴速度),另一种是非全向模型(只有x轴速度和z轴角速度)。

优缺点

  • 优点
    计算效率高,实现简单,适用于资源有限的系统
  • 缺点
    • 可能陷入局部最小值,依赖对周边环境的感知能力,需要经过精细调整,才能在不同场景下达到最佳性能,且在高度动态环境时有局限性;
    • 避障效率不高;
    • 动态避障能力弱;
    • 遇到稠密障碍物区外侧绕行;
    • 易困于C型(凹形)障碍物。

参考链接:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

空白木各

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值