在使用 move_base
进行导航时,如果全局路径规划在遇到障碍物时频繁在障碍物左右两侧跳变,导致机器人绕障失败,通常可以通过调整参数优化来解决。以下是具体原因分析和解决方案:
问题原因分析:
-
全局路径规划的震荡(Oscillation)
-
全局路径规划器(如
navfn
或global_planner
)在动态障碍物环境下,可能会因局部障碍物更新频繁,导致路径在障碍物两侧反复切换。 -
路径平滑性不足:全局路径生成时未充分考虑平滑性,导致路径突变。
-
-
代价地图(Costmap)配置不合理
-
障碍物膨胀层(Inflation Layer) 参数(如
inflation_radius
)设置过小,路径紧贴障碍物边缘,易受传感器噪声或动态障碍物影响。 -
障碍物更新策略 过于敏感(如
obstacle_range
或cost_scaling_factor
设置不合理)。
-
-
局部路径规划与全局路径的协调问题
-
局部规划器(如
DWA
或TE
-