路径规划与避障算法(一)---DWA算法概述

版权声明:本文为博主原创文章,转载请联系博主。https://mp.csdn.net/mdeditor/82764989#
DWA(动态窗口算法)

算法概述
算法原理可见:
https://blog.csdn.net/heyijia0327/article/details/44983551
此方法部分代码来自于ROS_Navigation包的源码,部分来自于项目中的改编:
通过线速度与角速度的交叉组合可以得出多组速度采样空间,依次可以通过车辆运动学模型(自行车模型)得出多组轨迹空间,由以下三组评价函数对每条轨迹进行评价:

  • 生成轨迹与参考路径的距离(贴合程度)
  • 生成轨迹与参考路径终点的距离
  • 生成轨迹上是否存在障碍物(若有则抛弃这条轨迹)

优点:

  • 反应速度较快,计算不复杂,通过速度组合(线速度与角速度)可以快速得出下一时刻规划轨迹的最优解.
  • 可以将优化由横向与纵向两个维度向一个维度优化

缺点:

  • 此算法是由机器人避障衍生而来,机器人的路径规划算法主要体现在较高的灵活性和其静态环境,譬如某些特种车辆的工作环境,是一个较大的开阔广场,因此是比较适用此算法的
  • 无人驾驶则要求较高的稳定性和动态环境,主要是结合车道线信息来实现规划算法
  • 较高的灵活性会极大的降低行驶的平稳性
  • 个人认为这是避障算法载体由机器人向无人车平台移植过程中会产生的主要问题

算法流程图如下图所示:
在这里插入图片描述

后面会针对流程图中各个子模块进行分析与详述,还请继续关注系列后续博客
  • 26
    点赞
  • 235
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DWA算法(Dynamic Window Approach)是一种基于动态窗口的路径规划算法,与其他路径规划算法相比,有以下几个区别: 1. 算法原理:DWA算法通过在机器人运动空间定义一个动态窗口,根据机器人的动力学约束和环境信息,在窗口内搜索最优的速度和转向角度,以达到路径规划的目的。相比之下,其他路径规划算法如A*算法、Dijkstra算法等通常是基于图搜索的方法,通过在离散的状态空间搜索最优路径。 2. 实时性:DWA算法是一种实时路径规划算法,适用于机器人在运行过程需要实时避障的场景。它可以根据当前环境信息和机器人的动力学约束,实时调整机器人的速度和转向角度,以避免碰撞和优化路径。而其他路径规划算法通常是在静态环境下进行离线规划,生成一条最优路径,然后机器人按照该路径进行运动。 3. 动态性:DWA算法可以根据机器人的动力学约束和环境信息,动态调整窗口的大小和位置,以适应不同的运动状态和环境变化。这使得DWA算法在复杂的动态环境具有较好的适应性。其他路径规划算法通常是在静态环境下进行规划,对于动态环境的适应性较差。 4. 算法复杂度:DWA算法相对于其他路径规划算法来说,计算复杂度较低。它通过在动态窗口内进行搜索,避免了对整个状态空间进行搜索,从而减少了计算量。这使得DWA算法在计算资源有限的嵌入式系统具有一定的优势。 总结起来,DWA算法与其他路径规划算法相比,更加适用于实时避障和动态环境下的路径规划问题,具有较低的计算复杂度和较好的实时性。而其他路径规划算法通常适用于静态环境下的离线规划问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值