跳到正文

全局规划+局部避障怎么融合?

先验地图与实时传感器互补,提升机器人系统鲁棒性

原题:在实际机器人系统中,为何通常将基于先验地图的全局路径规划与基于实时传感器数据的局部避障相结合?请详细分析这种融合策略的互补优势、对系统鲁棒性的提升作用,并结合感知-规划闭环的设计理念说明其工程必要性。

Agent · vivo真题

30 秒回答

  1. 感知失效容错:传感器短暂遮挡时,全局路径提供航迹推算基准
  2. 地图误差容忍:定位漂移或地图过时,局部感知实时修正
  3. 动态环境适应:突发障碍由局部层100ms内响应,无需等待全局重规划
  4. 计算安全隔离:局部规划硬实时保证,全局规划可降级或异步

回答与解析

核心思路:分层互补架构

这种融合本质是时间尺度与信息特性的分层解耦,解决单一规划器无法同时满足"全局最优"与"实时避障"的矛盾。


一、功能互补性分析

维度 全局路径规划 局部避障
信息来源 先验地图(静态、完整、低频更新) 实时传感器(动态、局部、高频流式)
优化目标 全局最优(最短/最快/能耗最低) 局部可行(安全、实时响应)
计算频率 1-10 Hz(重规划触发) 50-200 Hz(控制闭环)
失效模式 地图过时、动态障碍未建模 局部最优陷阱、全局目标丢失

互补逻辑:全局层提供"战略方向",局部层处理"战术执行",两者信息正交、缺一不可。


二、对鲁棒性的提升

  • 感知失效容错:传感器短暂遮挡时,全局路径提供航迹推算基准
  • 地图误差容忍:定位漂移或地图过时,局部感知实时修正
  • 动态环境适应:突发障碍由局部层100ms内响应,无需等待全局重规划
  • 计算安全隔离:局部规划硬实时保证,全局规划可降级或异步

三、感知-规划闭环的工程必要性

传感器数据 → 局部代价地图更新 → 轨迹优化 → 执行 → 新观测 → ...
                ↑___________________________________________|

关键设计

  • 反馈频率匹配:局部规划以控制周期运行(通常50Hz+),直接嵌入伺服闭环
  • 信息融合层级:全局路径作为软约束(参考线/走廊),局部障碍物作为硬约束(碰撞边界),在优化问题中统一建模
  • 异常回退机制:局部规划失败时触发全局重规划,形成"执行-监测-重规划"的完整闭环

典型实现:ROS Navigation Stack中,global_planner输出路径→local_planner(DWA/TEB)沿路径跟踪并避障,costmap_2d分层融合静态地图与激光/深度相机实时数据。

学习建议

建议从全局规划与局部反应的分工协作入手,结合具体场景理解多源信息融合如何提升决策可靠性。

口语版讲法(约4分钟)

  • 本质是时间尺度与信息特性的分层解耦
  • 全局层提供战略方向,局部层处理战术执行
  • 鲁棒性来自感知失效和地图误差的容错
  • 感知-规划闭环在工程上的必要性
  • 判断取舍:上层信任下层,下层信任传感器

这道题其实是在问一个很本质的矛盾:机器人要同时做到全局最优和实时安全,但单一规划器根本搞不定。先验地图是静态、完整的,但更新慢;传感器数据是动态、局部的,但频率高。所以落地的时候,我们不会只用一种,而是分层互补,全局路径规划给一个战略方向,局部避障做战术执行。

具体说一下。全局规划依赖先验地图,优化目标是路径最短、能耗最低,计算频率大概1到10赫兹,地图变了才重规划。局部避障靠激光雷达或深度相机,目标是避开动态障碍,频率能到50到200赫兹,直接嵌入控制闭环。你可以这么理解:全局层告诉机器人“你要从A走到B,大致走这条走廊”,局部层负责在走廊里躲开突然冲出来的行人。两者信息正交,缺一不可。

举个例子。仓储机器人,先验地图里有货架位置和固定通道,全局规划出一条从充电桩到拣货点的最优路径。但实际运行时,通道上可能临时堆了退货箱,或者有另一个机器人挡路。这时候局部规划在100毫秒内重新规划一段轨迹绕过去,不会停下来等全局重算。这就是典型的互补优势。

那对鲁棒性的提升呢?最直接的是容错。传感器被遮挡,比如扫地机器人钻进沙发底下,激光雷达暂时失效,全局路径能提供一个航迹推算的基准,不至于原地打转。地图过时或者定位漂移,比如商场装修后货架挪了位置,局部感知实时修正路径,不会撞上去。动态环境更是局部层的强项,突发障碍完全由它处理,不用打断全局规划。还有就是计算安全隔离,局部规划硬实时保证,全局规划可以降级或者异步跑。

再说感知-规划的闭环。工程上,局部规划器其实是一个高频的优化问题。传感器数据进来,更新局部代价地图,然后轨迹优化,输出控制指令,执行后新观测再反馈回来。这里有个关键设计:全局路径作为软约束,相当于一个参考线;局部障碍物是硬约束,绝对不能碰。两者在优化问题里统一建模,比如DWA或者TEB算法里,代价函数同时包含路径跟踪误差和障碍物距离。如果局部规划失败,比如陷入死胡同,会触发全局重规划,形成执行-监测-重规划的完整闭环。说白了,上层信任下层能处理细节,下层信任传感器数据是最新的,出了问题上层兜底。

这里有个坑。如果先验地图太旧,全局路径本身就有问题,比如地图上标着门,实际已经封了,那局部规划再怎么绕也绕不出去。所以上线我会特别关注地图更新的触发条件,比如局部规划反复失败就主动请求全局重规划。还有一个常见失败场景是传感器噪声太大,局部规划频繁急转弯,导致机器人抖动。这时候要调代价地图的膨胀半径和轨迹平滑权重。

其实这种分层架构和自动驾驶里的行为规划加运动控制很像,但机器人场景里地图精度和传感器质量通常差一些,所以对鲁棒性的要求更高。如果面试官有兴趣,可以聊聊地图不确定性建模,比如用概率图把定位误差传给规划层。

所以我的判断是,全局和局部不是谁替代谁,而是各管一摊,上层给方向,下层保安全。我更倾向于把全局路径看成一种先验参考,而不是必须严格跟踪的轨迹,给局部规划留够自由度。

关键一句:分层架构与自动驾驶的行为规划加运动控制类似,但机器人场景地图精度和传感器质量更差,对鲁棒性要求更高。

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设你做一个仓库里的AGV小车,它拿到一张全局地图,但在运行中突然窜出一个人。只用全局规划肯定撞上,只用局部避障又可能迷路。你会怎么设计规划模块让两者配合?

  2. 问法 2 · 层层追问

    机器人导航中,你是只用全局路径规划还是只用局部避障?……为什么通常要结合?……那如果传感器突然被遮挡几秒钟,系统怎么保证不撞墙?

  3. 问法 3 · 直球架构

    请从原理上分析,为什么机器人系统需要同时有基于先验地图的全局规划和基于实时传感器的局部避障?它们的互补优势是什么?在感知-规划闭环中如何实现这种融合?

同模块相关题目