恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

第219篇 DWA动态窗口法——移动机器人的局部避障

  • 首页
  • 资讯中心
  • /
  • 第219篇 DWA动态窗口法——移动机器人的局部避障

相关资讯

RedisDesktopManager Windows 版:免费 Redis 可视化管理工具完整指南 2026/8/21 19:56:09
Swin Transformer目标检测实战:从核心原理到MMDetection部署全解析 2026/8/21 19:56:09
2024年Qt开发实战指南:从核心概念到工业级应用 2026/8/21 19:56:09

最新资讯

md2pptx:3条命令让Markdown变PPT的开源转换工具指南
2026硕博生毕业论文季:多工具协同下的论文全流程处理方案
本地部署语音识别模型:从环境配置到API集成的完整指南
大厂Java面试核心:微服务架构与电商场景实战
数学建模中的空间优化:从圆形Packing到元胞自动机模拟
GS-Voxel:基于结构化潜在空间的免拟合3D高斯泼溅生成技术

今日推荐

markdown-it-vue 踩坑排障:从安装到渲染的 6 个高频问题快速讲清
多尺度智能体控制:从宏观密度场到微观决策的架构与实践
CUBE标准:统一AI智能体评测的度量衡与架构解析

本周热门

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码
【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码
隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

第219篇 DWA动态窗口法——移动机器人的局部避障

发布时间:2026/8/21 19:56:09
第219篇 DWA动态窗口法——移动机器人的局部避障 采样规划系列讲完了从今天开始进入局部规划系列。第一个要讲的就是DWA——动态窗口法Dynamic Window Approach。这是移动机器人局部规划中最经典、用得最多的算法。讲真做导航的面试不问DWA几乎不可能。DWA是Fox等人在1997年提出的。核心思想很直白机器人在每个控制周期根据当前速度和一个时间窗口算出一组可行的速度命令然后从中选一组最好的。最好由三个评价函数决定——朝目标走、走得快、远离障碍物。一、DWA的核心流程DWA在每个控制周期做以下事情计算动态窗口根据当前速度和加速度限制算出下一个时间步内能达到的速度范围。这个范围就是动态窗口。采样速度在动态窗口内均匀采样若干组(v, omega)——线速度和角速度。前向仿真对每组速度模拟机器人在未来一小段时间内的运动轨迹。评价轨迹用三个评价函数给每条轨迹打分。选最优速度得分最高的那组速度就是输出。def dwa(current_vel, goal, obstacles, dt0.1): # 1. 动态窗口当前速度 /- 加速度*dt v_range (current_vel.v - a_max*dt, current_vel.v a_max*dt) w_range (current_vel.w - alpha_max*dt, current_vel.w alpha_max*dt) # 2. 采样速度 best_score, best_cmd -inf, None for v, w in sample_velocities(v_range, w_range): # 3. 前向仿真 traj simulate(v, w, dt, steps10) # 4. 评价 score heading(traj, goal) velocity(v) clearance(traj, obstacles) if score best_score: best_score, best_cmd score, (v, w) return best_cmd动态窗口的动态二字很关键——窗口大小取决于当前速度。速度高时窗口大能选择的速度范围宽速度低时窗口小。这保证了速度的连续性——机器人不会突然从高速变成低速。二、三个评价函数DWA的核心在于三个评价函数的设计和权重调参。heading朝向目标轨迹终点到目标的方向角。角度越小越朝目标方向得分越高。这个函数让机器人趋向目标。velocity速度线速度的大小。速度越快得分越高。这个函数让机器人尽量走快。clearance离障碍物距离轨迹上最近点到障碍物的距离。距离越大得分越高。这个函数让机器人远离障碍物。最终得分是三个函数的加权和score alpha * heading beta * velocity gamma * clearance。权重alpha、beta、gamma需要根据场景调参。一般heading权重最大朝目标最重要clearance次之velocity最小。# 评价函数的典型权重 alpha 0.75 # heading beta 0.05 # velocity gamma 0.2 # clearance调参是个技术活。heading权重太高机器人会直冲目标不管障碍物。clearance权重太高机器人会过度保守贴着墙根走。velocity权重太高机器人会冒不必要的风险去走快。三、DWA的工程细节工程上实现DWA有几个容易忽略的点。速度采样分辨率v和omega的采样步长直接影响计算量和路径质量。步长太粗可能漏掉好的速度组合步长太细计算量大。工程上一般v采样10-20个值omega采样20-40个值总共200-800条轨迹。在ROS的nav2中DWA的默认配置是v采样20个、omega采样20个总共400条轨迹。仿真时间前向仿真多长时间太短了看不到远处障碍物太长了计算量大且预测不准。一般取1-3秒。如果机器人速度快比如2m/s仿真时间短一些1秒就够了。仿真时间和控制频率也有关系——频率高比如20Hz仿真时间可以短一些因为很快会重新规划。机器人模型仿真时要考虑机器人的实际形状不能只用一个点。工程上通常把机器人简化为圆形用最大半径这样碰撞检测只需要算轨迹点到障碍物的距离减去机器人半径。如果是矩形机器人需要更精确的碰撞检测比如分离轴定理计算量会大一些。局部最小值DWA可能陷入局部最小值——比如U型障碍物中机器人可能在U口来回摆动。工程上的解决办法如果DWA连续几个周期输出速度接近零切换到全局重规划或者退回到安全位置。ROS2的nav2中有一个recovery behavior机制——检测到DWA卡住时触发旋转或者后退。不同机器人类型的适配DWA最初是为差速驱动机器人设计的两个独立驱动的轮子。对于全向轮机器人比如Mecanum轮速度空间从(v, omega)扩展到(vx, vy, omega)——多了一个横向速度维度。对于Ackermann转向的机器人比如汽车速度空间要受最小转弯半径约束——omega不能任意大它和v/r_min有关。# 不同机器人类型的速度空间 # 差速驱动: (v, omega), v∈[-v_max, v_max], omega∈[-w_max, w_max] # 全向轮: (vx, vy, omega), 三个维度独立 # Ackermann: (v, omega), omega∈[-v/r_min, v/r_min]四、面试实战QDWA和势场法有什么区别A势场法在每个点算一个合力方向然后沿合力方向走。DWA是采样一组速度前向仿真后选最优。势场法计算简单但容易振荡DWA计算量大一些但路径更平滑。DWA考虑了机器人的运动学约束速度、加速度限制势场法没有。QDWA为什么叫动态窗口A因为速度窗口的大小取决于当前速度。当前速度高窗口大能加减速的范围宽当前速度低窗口小。窗口随当前状态动态变化所以叫动态窗口。QDWA在实际项目中用过吗A用过。做仓储AGV导航时全局用A*规划路径局部用DWA避障。控制频率10Hz每次DWA计算约5ms采样400条轨迹。效果不错但在狭窄通道中偶尔会振荡——后来加了全局路径引导让heading函数参考全局路径而不是直接指向目标问题解决了。QDWA的缺点是什么A三个主要缺点。一是局部最小值问题——U型障碍物中容易卡住。二是只看一步——前向仿真时间有限看不到远处的路。三是调参麻烦——三个权重需要根据场景反复调。QDWA和TEB有什么区别ADWA采样速度后选最优TEB直接优化轨迹。DWA更简单、计算更快但路径质量不如TEB。TEB能处理更复杂的约束比如差速驱动的运动学模型、时间最优但计算量大。工程上DWA用于简单场景仓储AGV、服务机器人TEB用于复杂场景自动驾驶、高精度导航。小结DWA的核心根据当前速度计算动态窗口在窗口内采样速度前向仿真后选评价最高的速度命令。优势实现简单计算快考虑了运动学约束路径平滑。 劣势局部最小值问题只看一步调参有门槛。DWA是移动机器人局部规划的入门算法也是工业界用得最多的局部规划器之一。ROS1的dwa_local_planner和ROS2的nav2_dwb_controller都是基于DWA的思想。理解DWA之后下一篇讲TEB局部规划器——用图优化来生成更高质量的局部轨迹能处理更复杂的运动学约束。如果这篇文章对你有帮助欢迎点赞、在看、转发三连。 你的支持是我持续更新的最大动力。「机器人软件开发面试·从入门到精通」连载系列上一篇第218篇 BIT*——当采样规划遇上图搜索下一篇预告第220篇 TEB局部规划器——用图优化生成局部轨迹有任何问题欢迎评论区留言我会尽量回复。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号