logo Mr.Robota 具身智能学习手册 EN
第八章:具身导航及VLN

具身导航算法基本概念

本章建立具身导航的最小知识框架:机器人如何根据传感器观测估计自身位置、构建或读取地图、规划路径,并把路径转换成可执行控制量。学完后,应能读懂后续 Habitat 实验中的场景、传感器、导航网格、目标和评估指标。

1. 导航闭环

一个完整导航系统持续执行以下循环:

mermaidflowchart LR
    A[相机与深度等观测] --> B[定位与状态估计]
    B --> C[地图或场景表示]
    C --> D[全局路径规划]
    D --> E[局部规划与避障]
    E --> F[速度或离散动作]
    F --> G[机器人与环境]
    G --> A

各模块的职责不同:定位回答“机器人在哪里”,建图回答“环境是什么结构”,规划回答“应从哪里通过”,控制回答“这一时刻如何运动”。端到端策略可以把多个模块合并到同一模型中,但评估时仍需区分感知、路径和执行阶段。

2. 常见任务定义

任务 目标输入 典型输出 主要难点
点目标导航 相对坐标或目标坐标 前进、转向、停止 定位误差与障碍规避
物体目标导航 目标类别或目标图像 运动动作与停止决策 目标搜索与语义泛化
图像目标导航 目标位置的参考图像 运动动作与停止决策 视角变化与地点匹配
视觉语言导航 自然语言路径描述 连续或离散导航动作 指令对齐、历史记忆与路径选择
探索与主动感知 覆盖或信息增益目标 观测位置序列 未知空间建模与采样效率

3. 地图与规划

3.1 栅格地图和导航网格

二维栅格地图将空间划分为可通行、占用和未知区域,适合 A*、Dijkstra 等经典规划算法。三维仿真器通常根据场景网格和机器人尺寸生成导航网格,规划器只在可通行表面上搜索。

3.2 全局规划与局部规划

全局规划根据已知地图生成从起点到目标的整体路线。局部规划使用当前传感器观测处理移动障碍、地图误差和控制约束。只有全局路线而没有局部避障时,机器人难以应对动态环境;只有局部反应而没有全局目标时,则容易在复杂空间中绕行或陷入局部区域。

3.3 经典搜索算法

  • Dijkstra:按累计路径代价扩展节点,可得到非负边权图上的最短路径。
  • A*:在累计代价基础上加入到目标的启发式估计,通常比 Dijkstra 扩展更少节点。
  • 快速扩展随机树:在连续高维空间中采样并扩展树结构,适合带运动学约束的规划问题。

4. 传感器与状态

RGB 相机提供纹理和语义,深度相机提供表面距离,激光雷达提供稳定的几何扫描,里程计和惯性测量单元提供短时间运动估计。仿真环境中可以直接获得理想位姿,但训练与测试是否允许使用该信息必须由任务协议明确规定。

5. 常用评估指标

成功率

成功率统计在限定步数内正确到达并执行停止动作的回合比例。目标距离阈值、碰撞条件和停止动作要求必须固定。

路径长度加权成功率

路径长度加权成功率同时考虑是否成功和路径效率。成功但严重绕路的轨迹得分低于接近最短路径的成功轨迹。

到目标距离与碰撞

到目标距离适合分析未成功轨迹接近目标的程度;碰撞次数、碰撞时间或安全距离用于分析执行安全性。不同论文的碰撞定义可能不同,比较前应先核对协议。

6. 最小学习检查

进入 Habitat 实践前,确认能够回答以下问题:

  1. 当前任务向策略提供的是坐标、类别、图像还是语言目标?
  2. 策略能否读取真实位姿或完整地图?
  3. 动作是离散的前进与转向,还是连续速度?
  4. 成功判定是否要求显式停止?
  5. 评估使用多少回合、哪些场景和哪些初始状态?

后续先学习Habitat-Sim 环境与数据集,再进入 Habitat-Lab 任务与评估实践。