1. 局部路径规划概述:什么是局部路径规划?为什么需要它?与全局路径规划的区别与联系

大家好,我是你们的老朋友。今天咱们正式开始聊局部路径规划。说实话,这个主题我特别喜欢,因为在实际项目中,它往往是机器人能不能「好好走路」的关键。

你可能已经听过很多次「路径规划」这个词。但局部路径规划到底是什么?为什么我们非得搞它?它和全局路径规划又是什么关系?别急,咱们一个一个来拆。

1.1 什么是局部路径规划?

简单说,局部路径规划就是机器人「看脚下」的能力。它负责在短时间内,根据传感器实时感知到的环境信息,规划出一段安全、平滑的行驶轨迹。

我习惯这么理解:全局规划是「看地图」,局部规划是「看路」。你想想看,你开车去一个陌生城市,导航给你一条大路线(全局规划),但路上突然有个坑、有辆车加塞,你得自己打方向盘躲开——这就是局部规划干的事。

核心定义:局部路径规划是在全局路径的引导下,结合实时传感器数据(激光雷达、摄像头、超声波等),在局部窗口内生成无碰撞、可执行的轨迹。

它的输入通常包括:

  • 全局路径的参考点
  • 当前机器人位姿(位置+朝向)
  • 局部障碍物信息(点云、代价地图等)
  • 运动学/动力学约束(最大速度、转弯半径等)

输出呢?就是一系列控制指令——比如线速度、角速度,或者更高级的轨迹点序列。

1.2 为什么需要局部路径规划?

这个问题我当年刚入行时也问过。既然全局路径都规划好了,直接沿着走不就完了?

嗯,这里要注意:现实世界是动态的、不确定的。全局规划假设环境是静态的、已知的,但实际中呢?

  • 突然窜出来的行人
  • 被移动过的箱子
  • 临时打开的井盖
  • 甚至是一只猫

我在项目中遇到过最典型的一次:AGV小车按全局路径走得好好的,结果前方地面上多了一滩水(反光导致激光雷达误判为障碍物)。如果没有局部规划,小车会直接撞上去或者急停死锁。有了局部规划,它能绕过去或者减速通过。

所以,局部路径规划存在的意义就是:应对不确定性。它让机器人从「死板执行」变成「灵活应变」。

我的经验:在工业场景中,80%的路径规划问题其实都出在局部规划上。全局规划只要地图建得好,基本不会出大错。但局部规划涉及传感器噪声、控制延迟、动态障碍物,坑特别多。

1.3 与全局路径规划的区别与联系

咱们用一张表来对比,这样更清楚:

对比维度 全局路径规划 局部路径规划
规划范围 整个地图(全局) 机器人周围局部窗口
环境信息 静态、先验地图 实时传感器数据
计算频率 低(几秒甚至几分钟一次) 高(10Hz~50Hz)
输出 路径点序列(无时间信息) 轨迹(带速度、时间)
典型算法 A*、Dijkstra、RRT DWA、TEB、MPC
应对动态障碍物 不能 可以
对计算资源要求 较高(搜索空间大) 较低(局部搜索)

说白了,全局规划负责「去哪儿」,局部规划负责「怎么去」。两者缺一不可。

它们的联系也很紧密:

  • 局部规划需要全局规划提供参考路径,否则它不知道大方向
  • 全局规划的结果如果太粗糙(比如路径点间距过大),局部规划会很难跟踪
  • 当局部规划发现全局路径被完全堵死时,需要触发全局重规划

注意:我曾经犯过一个错误——把全局路径规划得特别精细,以为这样局部规划就省事了。结果发现,全局路径上的每个小拐弯都被局部规划「忠实」跟踪,导致机器人走起来一顿一顿的。后来我学乖了:全局路径要平滑、稀疏,局部规划才发挥空间。

1.4 局部路径规划在ROS中的位置

如果你用过ROS的导航栈(Navigation Stack),应该知道它分两层:

  • global_planner:负责全局路径规划
  • local_planner:负责局部路径规划

在ROS中,局部规划器接收全局路径和局部代价地图,然后发布速度指令给底层控制器。常用的有:

  • DWA (Dynamic Window Approach):经典算法,适合差速轮式机器人
  • TEB (Timed Elastic Band):能生成更平滑的轨迹,适合全向移动机器人
  • MPC (Model Predictive Control):更高级,考虑未来多步优化,适合高速场景

我个人建议初学者先从DWA入手。为什么?因为它直观、参数少、调起来容易看到效果。我在带团队时,新人第一周的任务就是调通DWA,理解它的四个核心参数:最大速度、最大加速度、预测时间、代价权重。

小技巧:调DWA时,先把「障碍物代价」权重设高一点,让机器人学会躲障碍。然后再慢慢调「路径跟踪代价」,让它学会沿着全局路径走。顺序搞反了,机器人要么撞墙,要么原地打转。

1.5 本章小结

好,咱们来捋一捋今天的内容:

  1. 局部路径规划是机器人实时避障、跟踪路径的核心模块
  2. 它存在的根本原因是现实环境充满不确定性
  3. 与全局规划的关系是:全局定方向,局部管执行
  4. 在ROS中,DWA、TEB、MPC是主流局部规划器

下一章,我会带大家深入DWA算法的原理,从数学公式到代码实现,一步步拆解。到时候咱们再聊一个我踩过的坑——「为什么DWA参数调好了,机器人还是撞墙?」

今天就到这儿。记住一句话:没有局部路径规划的机器人,就像闭着眼睛走路的人。咱们下章见。


公众号:蓝海资料掘金营,微信deep3321