type
Post
status
Published
date
Apr 14, 2026
slug
summary
nav调试:室内的两种规划器对比。
tags
具身智能
ROS
SLAM
category
项目开发
icon
password
室内的两种规划器对比。
1. 原始组合
nav2_params.yaml
- 全局规划器 (Global Planner):
NavfnPlanner - 寻路逻辑: 你关闭了 A* 算法 (
use_astar: false),目前使用的是 Dijkstra 算法。 - 特点: 像水波纹一样向外均匀搜索,必定能找到两点之间的绝对最短路径,但计算开销比 A* 略大一点,且路线往往喜欢“贴边”。
- 局部规划器 (Local Planner):
DWBLocalPlanner - 行为偏好: 在它的打分项(Critics)中,让狗子“贴合全局绿线 (
PathAlign.scale: 32.0)”和“面朝目标 (RotateToGoal.scale: 32.0)”的权重最高。而“远离障碍物 (BaseObstacle.scale: 0.02)”的权重给得极低。这意味着它极其听话,宁愿贴着墙走也要死死踩在全局规划好的路线上。
- 代价图配置
- 真实物理轮廓 (Footprint): 设为
[[-0.32, -0.22], [-0.32, 0.22], [0.32, 0.22], [0.32, -0.22]]。这在 Nav2 的脑海中画出了一个长 64cm、宽 44cm 的长方形保护罩,完美包覆了机器狗外扩的侧轮。 - 膨胀层 (Inflation Layer): 膨胀半径设为
0.7m,斥力缩放系数调小到了2.5。这会产生极强的“离墙斥力”,逼迫全局规划的绿线走向走廊正中间。
- 效果
- 到达终点之后难以确定自己的方向,怀疑是位置偏差出现了一定的丢失。
2. 极其丝滑的赛车走线 (适合开阔或长走廊)
nav2_smac_teb.yaml
- 全局:
SmacPlannerHybrid(能预先考虑机器狗的最小转弯半径)
- 局部:
TebLocalPlanner(大名鼎鼎的 TEB,能提前规划非常平滑的贝塞尔曲线过弯,动作极其优雅)
- 效果:一直在原地转圈,规划路径不合理,怀疑是转圈转到不知道自己在哪里。
有关问题,欢迎您在底部评论区留言,一起交流~
- Author:Koreyoshi
- URL:https://tangly1024.com/article/342c7b13-c6a7-806e-a572-c4a96b374726
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!






