想象你是一家外卖公司的培训主管,招来了一位名叫“小飞”的新骑手——它其实是一个 AI 机器人。你不能一上来就让它骑着车冲进真实街道,万一撞了人、迷了路,代价太大。于是你把它送进公司的“虚拟商业街训练基地”:一个用电脑生成的大型商场,里面有走廊、货架、喷泉和指示牌,和真街景一模一样,但撞墙不会受伤,迷路可以一键复位。小飞要在这里反复练习三样本领:看着坐标找到点、看着照片找到物、听着顾客的口头指引找到路。练熟了,它才能带着这些经验走上真实马路送外卖。这套“先在虚拟空间训练、再部署到真实世界”的思路,就是具身导航与仿真平台要解决的问题——让 AI 像人一样学会在陌生环境里找路,而不是永远依赖别人画好的地图。

岗位关联

掌握“虚拟训练→真实部署”的导航方法论,能帮你快速搭建机器人导航原型、跑通标准评测,避免在昂贵真机上反复试错——这是空间智能方向 AI 从业者的核心基本功。

目录
  1. 可视化演示
  2. 导航任务分类
  3. 导航经典算法
  4. 视觉语言导航
  5. Habitat仿真器
  6. AI2-THOR平台
  7. 仿真到现实迁移
  8. 挑战与前沿
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

动态演示具身导航与仿真平台的核心机制,通过全局/局部/动态/静态四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

具身导航与仿真平台:具身导航 具身导航任务分类与定义 基于强化学习的导航策略 核心机制可视化 具身导航与仿真平台整体架构与关键组件

导航任务分类

培训部给小飞设了三级递进的考核。第一级像“报坐标”:告诉它“去 A 区 3 号点位”,只要求精确到达。第二级像“看图寻物”:给它一张苹果的照片,让它自己在超市里搜索。第三级最难,像“听顾客指路”:顾客说“进门直走,第二个货架右转,看到冷冻柜就到了”,它得边听边看边判断。三种考核,正好对应具身导航的三大经典任务。

这三类任务分别是点导航(PointGoal)、物体导航(ObjectGoal)和视觉语言导航(VLN)。它们的共同点是:智能体必须在未知环境里实时感知、决策、执行动作,而不是依靠预置地图照本宣科。就像小飞第一次走进某个新商场,手上没有平面图,只能凭眼睛和脑子现找路。

技术展开后,点导航的定义最简洁:已知起点与目标坐标,智能体凭借 RGB 相机、深度传感器和 GPS+罗盘信号规划路径。成功与否,用“是否进入目标点半径 ε 的范围内”来判定。

就像考官不会要求学徒双脚正好踩在接待台上一样,点导航也不需要机器人精确到一个像素——只要能走进目标点附近的“及格圈”,任务就算完成。物体导航和视觉语言导航,则是在这个基础上,进一步考验“认”和“听”的本事。

S=1(∥pT−pg∥2≤ε)\displaystyle S=\mathbf{1}\left(\left\Vert p_T-p_g\right\Vert_2\leq\varepsilon\right)
这个公式说人话就是:AI 最终停下的位置,只要离目标点足够近(不超过 ε 米),就算导航成功;否则就算失败。
  1. 最终位置 $p_T$智能体在第 T 步(任务结束时)所处的空间坐标;$\left\Vert p_T-p_g\right\Vert_2$ 表示它与目标点 $p_g$ 的欧氏距离,数值越大说明离目标越远。
    ∥pT−pg∥2\left\Vert p_T-p_g\right\Vert_2
  2. 容差半径 $\varepsilon$允许的误差半径,例如 0.2 米。只要最终距离不超过它,就认为“到达”了。
    ε\varepsilon
  3. 指示函数 $\mathbf{1}(\cdot)$括号内条件为真时取 1,否则取 0。所以 $S=1$ 表示成功,$S=0$ 表示失败。
    1(⋅)\mathbf{1}(\cdot)

导航经典算法

小飞怎么学会找路?培训有两个路子。一是“奖罚分明”:走对方向给它加“小费”(正奖励),撞墙扣“好评”(负奖励),久而久之它就知道哪条路划算。二是“拜师学艺”:让它反复看金牌骑手的送单录像,照着模仿。前者叫强化学习(Reinforcement Learning),后者叫模仿学习(Imitation Learning)。

在具身导航里,策略网络 π 接收当前视觉观测 $o_t$,输出下一个动作 $a_t$(前进、左转、右转等),与环境不断交互,形成一条从起点到终点的轨迹。强化学习的训练目标,就是让这条轨迹带来的累积奖励尽可能高。

每一步的奖励 $r_t$ 可以是“离目标距离的缩短量”、“到达目标的成功奖励”、“碰撞墙体的惩罚”等。把这些奖励按时间累积起来,就是一次送单的总收益。

“奖罚分明 + 金牌示范”双管齐下,小飞就能从“乱撞的菜鸟”变成“懂得取舍的老手”。这也是绝大多数导航算法训练的基本框架:要么自己试错,要么向高手模仿。

J(π)=Eτ∼π[∑t=0Tγtrt]\displaystyle J(\pi)=\mathbb{E}_{\tau\sim\pi}\left[\sum_{t=0}^{T}\gamma^{t}r_t\right]
这个公式的意思是:按策略 π 反复送很多趟单,把每趟的即时奖励打点折扣再加总,最后求平均——这个平均值越高,说明这个“认路策略”越好。
  1. 轨迹 $\tau$从起点到终点的一串“状态-动作”序列,$\tau\sim\pi$ 表示这条轨迹是按照策略 π 决策出来的——就像一趟完整的外卖路线。
    τ=(s0,a0,s1,a1,…,sT,aT)\tau=(s_0,a_0,s_1,a_1,\dots,s_T,a_T)
  2. 累积求和 $\sum$把每一步的奖励按时间加起来,得到一趟送单的总收益。
    ∑t=0Tγtrt\sum_{t=0}^{T}\gamma^{t}r_t
  3. 折扣因子 $\gamma$介于 0 和 1 之间,让“眼前的奖励”比“遥远的奖励”更值钱。γ 太大小飞只看远期、忽视眼前碰撞;太小则只顾眼前几步,失去全局方向感。
    γ∈[0,1)\gamma\in[0,1)
  4. 期望 $\mathbb{E}$环境有随机性,不能只看一次结果;对大量轨迹求平均,才能知道策略平均能拿多少小费。
    Eτ∼π[⋅]\mathbb{E}_{\tau\sim\pi}[\cdot]

视觉语言导航

最难的考核来了——顾客的口头指引通常很模糊:“走到第二个货架旁边右转,看到蓝色海报继续走。”小飞既要听懂人话,又要看懂现场。这正是视觉语言导航(VLN)的核心场景:把自然语言指令和第一视角图像同时送进模型,让 AI 学会“听音辨路”。

视觉语言导航的流程可以拆成三步。第一步是指令编码:用预训练语言模型(如 BERT 类模型)把“出门左转,见到喷泉直走”变成一串向量。第二步是跨模态对齐:通过注意力机制,把语言里的“喷泉”和图像里那个喷泉对应起来。第三步是动作决策:综合当前看到的画面、走过的历史、听懂的指令,输出下一步动作。

形式化来看,策略网络把历史隐藏状态 $h_{t-1}$、当前观测 $o_t$ 和指令 $c$ 融合,再经过 softmax 得到所有候选动作的概率分布。训练时既可以用模仿学习(拿人工导航轨迹当教材),也可以在仿真环境里用强化学习滚动优化。

听、看、动三者闭环,小飞终于能听懂“蓝色海报”这种模糊表述了。近几年热门的 R2R、RxR 等评测基准,考的就是这种“边听指令边找路”的综合能力。

π(at∣ot,ht−1,c)=softmax(W f(ot,ht−1,c))\displaystyle \pi(a_t\mid o_t,h_{t-1},c)=\mathrm{softmax}\left(W\,f(o_t,h_{t-1},c)\right)
翻译成大白话:给定了“我现在看到什么、之前去过哪、顾客让我去哪”三样信息,模型算出每个动作(前进/左转/右转)分别有多大概率是对的,然后挑最可能的那个走。
  1. 条件概率 $\pi(\cdot|\cdot)$读作“在给定当前观测、历史信息、指令的条件下,选择动作 $a_t$ 的概率”。
    π(at∣ot,ht−1,c)\pi(a_t\mid o_t,h_{t-1},c)
  2. 融合函数 $f$把图像特征、语言特征和循环网络隐藏状态拼在一起,相当于学徒把“听到的话”和“看到的景”在脑中合二为一。
    f(ot,ht−1,c)f(o_t,h_{t-1},c)
  3. softmax 归一化把融合结果变成所有候选动作上的概率分布,哪个动作概率最大就走哪步。
    softmax(⋅)\mathrm{softmax}(\cdot)
  4. 权重矩阵 $W$可学习的线性映射,决定语言和视觉信息最终如何“投票”决定动作。
    WW

Habitat仿真器

光有算法还不够,得有练习场。Habitat 就像公司斥巨资建成的“虚拟街区摄影棚”:由真实街道和公寓扫描重建的高保真三维场景,车能开、人能走、门能推,还配备统一的考核题库。它是 Meta 开源的具身导航仿真平台,由 Habitat-Lab(算法接口层)和 Habitat-Sim(底层渲染引擎)两部分组成。

Habitat 内置 Matterport3D、Replica、MP3D 等大规模场景数据集,并提供 PointNav、ObjectNav、VLN 等标准任务基准。渲染器支持 RGB、深度、语义分割三种传感器的模拟,物理引擎负责处理碰撞与运动。平台的价值一句话概括:高保真、高速度、标准化。

标准化尤其重要。所有算法在同一套“考卷”上比拼,成绩用统一指标衡量,其中最常用的是 SPL——成功率加权路径长度。它既考核“有没有到达”,也考核“路径绕不绕”。

就像用同一套考卷衡量所有骑手,Habitat 让不同算法有了公平的比拼舞台。论文里报告的“95% 成功率”,指的往往是在 Habitat 这套标准考卷上的成绩。

SPL=1N∑i=1NSi⋅Limax⁡(Pi,Li)\displaystyle \mathrm{SPL}=\frac{1}{N}\sum_{i=1}^{N}S_i\cdot\frac{L_i}{\max(P_i,L_i)}
SPL 的意思是:先看任务成没成功,成功再看你走的路是不是最优。送了 10 单全送到,但每单都绕路,SPL 依然不会满分——就像骑手虽然送到了,却绕了一大圈,考核分要打折。
  1. 成功率 $S_i$第 i 个任务是否成功,成功取 1,失败取 0。
    Si∈{0,1}S_i\in\{0,1\}
  2. 最优路径长 $L_i$起点到目标的理想最短距离,相当于导航专家走的路程。
    LiL_i
  3. 实际路径长 $P_i$智能体真实走过的距离,绕路越多它越大。
    PiP_i
  4. 效率比值 $L_i/\max(P_i,L_i)$走了最优路径则等于 1,绕路则小于 1。
    Limax⁡(Pi,Li)\frac{L_i}{\max(P_i,L_i)}
  5. N 个任务取平均对所有测试场景的平均,得到全局指标。
    1N∑i=1N(⋅)\frac{1}{N}\sum_{i=1}^{N}(\cdot)

AI2-THOR平台

Habitat 擅长“看与走”,但小飞有时还得“动手”——比如从货架上拿钥匙、打开冰箱找牛奶。于是公司又租下了 AI2-THOR 样板间:一套由 Allen 人工智能研究所开发的交互式室内仿真平台。这里的房间不再只是“能走进去”的空壳,而是“能动手翻找”的真实家居场景。

AI2-THOR 提供上百个精细的室内场景(厨房、客厅、卧室、浴室等),物体不只是贴图:柜子能开、杯子能挪、灯能开关,物体有状态变化——门有 open/closed,炉子有 hot/cold。这使它尤其适合训练“具身交互 + 导航”的智能体,配合 AllenAct 等训练框架可以快速搭建实验。

智能体每个时间步从第一视角 RGB 与深度图像中提取观测,动作空间是一个离散字典:既能平移转体,也能抬头低头观察货架高低,还能伸手与物体交互。

如果把 Habitat 比作室外街区大考,AI2-THOR 就是室内样板间实操。前者考“走得准不准”,后者考“找得到、拿得到”——两种训练场相互补充,构成了完整的具身智能练习体系。

A={MoveAhead, RotateLeft, RotateRight, LookUp, LookDown, Interact}\displaystyle \mathcal{A}=\{\texttt{MoveAhead},\ \texttt{RotateLeft},\ \texttt{RotateRight},\ \texttt{LookUp},\ \texttt{LookDown},\ \texttt{Interact}\}
这个公式就是智能体的“操作手册”:它能做的前进、转身、抬头、低头、交互这六类动作,全部列在这里。动作空间就是 AI 的动作边界。
  1. 动作空间 $\mathcal{A}$智能体所有可选动作的集合,相当于学徒的“操作手册”。
    A\mathcal{A}
  2. 平移与转体动作控制身体在房间里的位置与朝向。
    MoveAhead, RotateLeft, RotateRight\texttt{MoveAhead},\ \texttt{RotateLeft},\ \texttt{RotateRight}
  3. 头部俯仰动作用于观察货架高层或地面。
    LookUp, LookDown\texttt{LookUp},\ \texttt{LookDown}
  4. 交互动作 Interact与场景中的物体发生交互(开柜门、取物品),这是 AI2-THOR 区别于纯导航平台的关键。
    Interact\texttt{Interact}

仿真到现实迁移

训练场再逼真,也和真实马路有差距:虚拟世界一尘不染,现实中会有夕阳刺眼、路面湿滑、行人挡路。如果小飞只在“理想训练场”练习,一上路就会“水土不服”。这个差距,在学术界叫“仿真到现实迁移”(Sim-to-Real)问题。

一条常用策略是域随机化(Domain Randomization):训练时随机改变光照、纹理、材质、物体摆放,让仿真环境“千变万化”,逼智能体学到对环境差异不敏感的策略。就像教练故意让小飞在雨天、夜间、绕路施工等各种场地加练。

除了域随机化,还有“真实世界微调”(把少量真机数据混入训练)和“课程式训练”(先易后难循序渐进)等桥接策略。它们的目标一致:让策略在训练场里见过的变化,覆盖真实世界可能出现的变化。

小飞在花式训练场里摸爬滚打,真路上才不慌。这也是为什么现在几乎所有具身导航项目,都要在仿真平台里做“压力测试”,然后再把权重搬到真实机器人上做最后验证。

θ∗=arg⁡min⁡θ Eξ∼Ξ(⋅)[Lξ(θ)]\displaystyle \theta^{\ast}=\arg\min_{\theta}\ \mathbb{E}_{\xi\sim\Xi(\cdot)}\left[\mathcal{L}_{\xi}(\theta)\right]
这句公式的大意是:把环境参数(光照、纹理、摩擦等)看作随机变量,训练的目标是让策略在“各种随机环境下的平均损失”最小——也就是练出一副“不管环境怎么变都能扛住”的本领。
  1. 环境参数 $\xi$光照、纹理、摩擦系数等仿真参数,每次重置训练时重新采样。
    ξ\xi
  2. 采样分布 $\Xi(\cdot)$参数的采样分布,覆盖“晴天/阴天”“瓷砖/地毯”等各种情况。
    Ξ(⋅)\Xi(\cdot)
  3. 损失 $\mathcal{L}_{\xi}(\theta)$在参数化环境里,策略参数 θ 的导航损失(如 SPL、碰撞次数)。
    Lξ(θ)\mathcal{L}_{\xi}(\theta)
  4. arg min找到让“平均损失”最小的策略参数,就是最能扛环境变化的“通吃本领”。
    arg⁡min⁡θ\arg\min_{\theta}

挑战与前沿

出师后的终极考验来了:一家从未演练过的商场、临时被顾客挪动的货架、川流不息的人群。训练基地里练出的本领,能否迁移到无限的现实中?具身导航依然面临三大挑战:泛化能力、长期规划、开放世界。

首先是泛化能力:在未见过的场景和指令(零样本)上,模型性能往往骤降。其次是长期规划:长走廊、多楼层任务需要记忆与推理,而不能只看眼前三步。最后是开放世界:真实环境动态变化、不可穷举,永远有训练数据里没出现过的角落。

理论上,泛化误差受训练数据量限制。可学习的参数越多、训练样本越少,测试与训练的差距就越大;反之,样本越充足,模型越能“见多识广”。

小飞毕业了,但真正的考题永远在路上。前沿研究正在用世界模型预测未来帧、用多模态大模型理解开放指令、用社会导航考虑行人的意图——具身导航的下一个十年,正是把“找路”升级为“理解世界”。

Etest(π)−Etrain(π)≤O(dm)\displaystyle \mathcal{E}_{\mathrm{test}}(\pi)-\mathcal{E}_{\mathrm{train}}(\pi)\leq\mathcal{O}\left(\sqrt{\frac{d}{m}}\right)
这个式子揭示了“练习量”的数学意义:训练数据越多(m 越大),测试成绩和训练成绩的差距就越小;模型越复杂(d 越大),就越容易“背题”而不是“会做题”,差距反而更大。
  1. 测试误差 $\mathcal{E}_{\mathrm{test}}$在真实或新场景中的失败率。
    Etest(π)\mathcal{E}_{\mathrm{test}}(\pi)
  2. 训练误差 $\mathcal{E}_{\mathrm{train}}$在训练场景中的失败率。
    Etrain(π)\mathcal{E}_{\mathrm{train}}(\pi)
  3. 复杂度比 $\sqrt{d/m}$模型有效参数量 d 与训练样本数 m 的比值;样本越多,差距越小。
    dm\sqrt{\frac{d}{m}}
  4. 上界 $\mathcal{O}(\cdot)$泛化差距不会超过这个量级——提醒我们“练得多”和“模型别太复杂”同样重要。
    O(⋅)\mathcal{O}(\cdot)

AI 应用场景

仓储物流机器人的数字孪生训练

阶段:仿真训练与算法验证

解决的问题:传统仓储机器人依赖地面二维码或磁条导航,改造仓库成本高、路径僵硬;一旦货架临时搬动就会“迷路”。用 Habitat 在仓库的数字孪生模型里训练视觉导航,机器人只需 RGB 相机就能在真实仓库中定位拣货位,无需改造场地。

具体案例:某电商仓把自建 3D 仓库模型导入 Habitat,离线训练 5000 个点导航回合后部署到 AGV 上。AGV 接到“去 B-12 货架”的指令后,可自动规划避障路径并实时纠偏,拣货效率提升约 30%,部署周期从三个月缩短到两周。

家庭服务机器人的交互式找物

阶段:交互式技能训练与迁移

解决的问题:扫地机、陪护机器人只会按预设路线巡逻,无法响应“帮我拿茶几上的遥控器”这类开放指令。AI2-THOR 提供可交互的室内场景,让智能体在虚拟厨房、客厅里练习“开柜门→搜索→取物”的完整技能链。

具体案例:某实验室用 AI2-THOR 在 120 个室内场景中训练“物体导航 + 抓取”策略,配合域随机化后迁移到家用机器人。机器人面对未见过的户型,零样本找到遥控器、钥匙等常见小物件的成功率从 10% 提升到 60%。

无人配送车的城市级仿真路测

阶段:大规模并行仿真与安全评估

解决的问题:真实路测每天只能跑几十公里,成本高、风险大,导航算法迭代速度极慢。仿真平台可以把虚拟街区放大成“城市训练场”,让配送车在数字街道上跑数百万公里。

具体案例:某无人配送团队用 Habitat 风格的城市重建场景批量回放外卖路线,每个新版本策略先在虚拟街区跑 10 万次,SPL 与碰撞率达标后才上真车路测,将算法迭代周期从每月一次压缩到每周一次。

Python 演示

python67 行
"""Minimal embodied navigation demo:an agent walks to a goal in a grid mall, then SPL is computed."""import random GRID_W, GRID_H = 8, 8WALLS = {(3, 3), (5, 4), (2, 5)}DX = {'up': 0, 'down': 0, 'left': -1, 'right': 1}DY = {'up': -1, 'down': 1, 'left': 0, 'right': 0}  class Agent:    def __init__(self, start=(0, 0)):        self.pos = start        self.steps = 0     def act(self, action):        nx = self.pos[0] + DX[action]        ny = self.pos[1] + DY[action]        if 0 <= nx < GRID_W and 0 <= ny < GRID_H and (nx, ny) not in WALLS:            self.pos = (nx, ny)        self.steps += 1  def choose_action(agent, goal):    x, y = agent.pos    gx, gy = goal    cands = []    if x < gx:        cands.append('right')    if x > gx:        cands.append('left')    if y < gy:        cands.append('down')    if y > gy:        cands.append('up')    random.shuffle(cands)    for a in cands:        nx = x + DX[a]        ny = y + DY[a]        if 0 <= nx < GRID_W and 0 <= ny < GRID_H and (nx, ny) not in WALLS:            return a    return random.choice(['up', 'down', 'left', 'right'])  def spl(agent, goal, optimal_len):    success = 1.0 if agent.pos == goal else 0.0    return success * optimal_len / max(agent.steps, optimal_len)  def main():    random.seed(2024)    goal = (6, 6)    optimal_len = abs(goal[0]) + abs(goal[1])    agent = Agent()    for _ in range(200):        if agent.pos == goal:            break        agent.act(choose_action(agent, goal))    print('final position:', agent.pos)    print('steps taken:', agent.steps)    print('reached goal:', agent.pos == goal)    print('SPL score:', round(spl(agent, goal, optimal_len), 3))  if __name__ == '__main__':    main()
目的:在 8×8 的网格商城里,模拟一个只会“朝目标方向走 + 撞墙随机绕”的简单智能体,用 200 步上限完成点导航,并按 Habitat 的标准公式计算 SPL 路径效率指标。
  1. class Agent:定义智能体实体:记录当前位置和累计步数,就像小飞的身体和计步器。
  2. def act(self, action):执行一步移动,移动前要做碰撞检查和越界检查。
  3. if 0 <= nx < GRID_W and 0 <= ny < GRID_H and (nx, ny) not in WALLS:越界与撞墙的双重判定,仿真环境的“物理规则”。
  4. cands.append('right')根据目标方位生成候选动作列表,类似“朝顾客说的方向走”。
  5. random.shuffle(cands)打乱候选顺序,避免每次固定走某条路而卡死,模拟探索。
  6. return random.choice(['up', 'down', 'left', 'right'])候选全被堵死时随机试探一步,相当于迷路时的“碰运气”。
  7. def spl(agent, goal, optimal_len):计算 SPL:成功为 1、失败为 0,再乘上“最优路径长短 / 实际步数”。
  8. success = 1.0 if agent.pos == goal else 0.0只有精确抵达目标点才算成功,这是点导航的“及格线”。
  9. for _ in range(200):最多尝试 200 步,模拟仿真环境中的回合上限。
  10. if __name__ == '__main__':程序入口,保证模块被导入时不会自动执行训练。

常见误区

误区我在 Habitat 里已经 95% 成功率了,部署到机器人上应该差不多吧?仿真和现实不就差个渲染画质吗?

正解差的不止画质。真实世界有传感器噪声、执行器延迟、光照变化、动态障碍物,虚拟场景的“完美”恰恰是陷阱。需要用域随机化加练、真实数据微调、课程式迁移,把“模拟考”和“实战”的差距一步步填平。就像驾校模拟器开得再溜,上真实马路还要适应雨天和拥堵。

为何常见:仿真画面越来越逼真,让人误以为渲染接近就等于物理和感知接近,忽略了 Sim-to-Real 是多层次差异的叠加。

误区给机器人装上激光雷达,建一张地图,再用 A* 算法找路,不就完成导航了吗?具身导航听起来没新意。

正解经典导航假设有先验地图;具身导航面对未知环境,没有地图、没有路标,全靠相机图像和语言指令实时推理。它端到端学习“看见什么→决定怎么动”,还要理解“第二个货架右转”这类开放指令,和传统 SLAM + 规划完全不是一个层级。

为何常见:传统机器人教材先教 SLAM 和轨迹规划,容易让人用旧框架套新问题,忽视“具身”要求的环境未知性与多模态理解。

误区只要把到达目标的奖励设大一点,比如每次成功给 100 分,智能体不就会拼命学会找路吗?

正解奖励太稀疏,智能体在大量失败中找不到方向;奖励太密集,又会陷入局部最优,比如贴着墙蹭分。通常需要“奖励塑形”——用距离缩短量做中间奖励,再叠加到达目标的成功奖励。就像教练既要给成功的大红花,也要给每次微小进步口头表扬。

为何常见:直觉上“重赏之下必有勇夫”,忽略了强化学习里的探索-利用困境和奖励工程的复杂性。

误区都是 3D 仿真平台嘛,哪个社区活跃就用哪个,反正都是训练导航,差不了太多。

正解两者定位不同:Habitat 主打大规模高保真场景 + 标准评测基准,适合点导航、VLN 等“走到位”的任务;AI2-THOR 主打交互式场景 + 物体状态操作,适合“找 + 拿 + 开柜门”的具身操作导航。选错平台等于用赛车场练拳击,事倍功半。

为何常见:教程往往只展示“跑通 demo”,不强调平台能力边界,读者容易把两个平台混为一谈。

面试题

Q1. 点导航(PointGoal)任务对智能体的核心要求是什么?

单选题 · easy

  • A.精确到达指定坐标位置← 正确答案
  • B.在地图中标注出障碍物
  • C.沿固定路线匀速兜圈
  • D.记住所有历史访问点

答案:A。点导航只考核“最终位置是否进入目标点半径内”,不要求建图、绕圈或记忆。就像外卖考核只看骑手有没有把餐送到定位点,而不是看他一路怎么骑。B、C、D 分别是建图、绕行、记忆等不相关能力。

Q2. 视觉语言导航(VLN)独有的关键能力是什么?

单选题 · easy

  • A.生成高精度的全局栅格地图
  • B.提前访问目标确认路径可行
  • C.融合视觉与语言跨模态理解← 正确答案
  • D.只依赖 GPS 信号自动巡航

答案:C。VLN 的关键是“听懂人话 + 看清环境 + 做出动作”三合一,即跨模态对齐。A 是传统 SLAM 思路,B 是提前踩点,D 是纯 GPS 巡航,都没涉及语言理解,所以只有 C 是独有能力。

Q3. SPL 指标中的 P 代表什么?

单选题 · easy

  • A.起点到目标的直线最短距离
  • B.智能体实际走过的路径长度← 正确答案
  • C.仿真场景里障碍物的总数量
  • D.训练策略时用到的参数个数

答案:B。SPL = 成功率 × 最优路径长度 / 实际路径长度,P 是智能体实际走过的距离。若实际路径比最优长,SPL 就小于 1。A 把 P 和 L 弄反了,C、D 与路径度量无关。

Q4. 强化学习中折扣因子 γ 的作用是什么?

单选题 · mid

  • A.调整相机图像的分辨率大小
  • B.控制动作空间枚举的粒度
  • C.决定神经网络的梯度计算步长
  • D.平衡即时奖励与远期回报权重← 正确答案

答案:D。γ 决定未来奖励对当前决策的影响:越接近 1,学徒越看重长远收益;越接近 0,越只看眼前利益。A 是传感器设置,B 是动作空间设计,C 是优化器参数,都与折扣因子无关。

Q5. 域随机化提高迁移能力的原理是什么?

单选题 · mid

  • A.随机挑选一个仿真平台来使用
  • B.用多样仿真参数逼策略更鲁棒← 正确答案
  • C.在每轮训练中随机更换目标点
  • D.随机初始化网络权重防止过拟合

答案:B。域随机化在训练时不断改变光照、纹理等参数,相当于让学徒在雨天、夜间、不同装修的场地加练,学到对环境变化不敏感的策略。A 是平台选择,C 是目标采样,D 是网络初始化,均偏离域随机化本质。

Q6. Habitat 仿真平台最能体现优势的是哪一点?

单选题 · mid

  • A.大规模场景与统一导航基准← 正确答案
  • B.只支持空房间无物体的场景
  • C.无法导入真实扫描三维数据
  • D.只能用于二维栅格地图导航

答案:A。Habitat 的核心优势是提供大规模真实扫描的三维场景、多种传感器仿真和统一任务基准(PointNav、VLN 等),让算法在同一套“考卷”下公平比拼。B、C、D 均与 Habitat 的实际能力相反。

Q7. AI2-THOR 与 Habitat 相比最核心的差异是什么?

单选题 · hard

  • A.渲染引擎帧率高出数倍以上
  • B.内置语言种类更丰富多样
  • C.拥有更大的室外城市街道库
  • D.物体可交互且状态会发生变化← 正确答案

答案:D。AI2-THOR 的看家本领是物体可交互、状态可变化(开门、取物、开关灯),适合“找 + 拿”的具身操作任务。渲染帧率、语言种类、户外场景都不是它的差异化优势。

Q8. 具身导航智能体常用哪些感知输入?(选三项)

多选题 · mid

  • A.RGB 彩色相机输出图像← 正确答案
  • B.深度传感器距离数据← 正确答案
  • C.GPS 与罗盘定位信息← 正确答案
  • D.人工标注的完美环境地图

答案:ABC。具身导航需要 RGB 相机看外观、深度传感器测距离、GPS + 罗盘定方位。“人工标注的完美地图”恰恰是具身导航要去掉的“拐杖”——未知环境里根本没有这种地图可用,所以 D 不选。

Q9. 下列哪些属于典型的具身导航任务?

多选题 · mid

  • A.点导航 PointGoal← 正确答案
  • B.物体导航 ObjectGoal← 正确答案
  • C.视觉语言导航 VLN← 正确答案
  • D.静态图像分类识别任务

答案:ABC。点导航、物体导航、VLN 是三大经典具身导航任务,都需要智能体在环境中移动并实时决策。静态图像分类只认图不动身,不满足“具身”要求,因此 D 不属于。

Q10. 弥合仿真到现实差距的常用策略有哪些?

多选题 · hard

  • A.训练时随机化光照纹理等参数← 正确答案
  • B.用少量真实数据微调策略← 正确答案
  • C.只依赖纯美工预置地图导航
  • D.先易后难的课程式迁移训练← 正确答案

答案:ABD。域随机化、真实数据微调、课程式训练都是缩小 Sim-to-Real 差距的成熟策略。“只依赖纯美工预置地图”无法应对真实世界的动态变化,是错误做法,所以 C 不选。