「具身智能落地实战」系列第 6 篇
前几篇我们拆解了具身机器人的硬件、VLA 大脑、SLAM 空间认知和控制架构。但机器人在真实环境中移动时,有一个最基本的需求:「别撞到东西」。传统的 2D 避障在复杂三维环境中捉襟见肘,而占据栅格网络(Occupancy Grid Network)提供了一种全新的 3D 空间感知范式。本文从基本原理、技术演进、工程挑战三个维度,拆解占据栅格网络如何让机器人「心中有一幅三维地图」,从而在复杂环境中灵活避障和导航。
引言:从「平面避障」到「三维感知」
如果你用过扫地机器人,可能会遇到这样的场景:机器人走到一个凳子旁边,明明凳子的腿很细,但机器人就是「看不到」,反复碰撞后才绕开。或者,机器人走到一个悬空的桌子下面,桌子上方是空的,但机器人以为整个区域都被占据了,不敢通过。
这些问题的根源在于:传统机器人的避障大多基于 2D 平面感知——把三维环境投影到一个平面上,只关心「这个平面位置有没有障碍物」。但真实环境是三维的,有高有低、有悬空有落地、有细腿有粗墙,2D 投影丢失了大量空间信息,导致避障能力有限。
要解决这个问题,机器人需要真正的「三维空间感知」——不仅知道「哪里有障碍物」,还知道「障碍物在什么高度、什么形状、占了多大体积」。这就是占据栅格网络(Occupancy Grid Network,也叫占据网络、神经辐射场占据等)要解决的问题。
占据栅格网络的核心思想很直观:把三维空间划分为一个个小立方体(体素,Voxel),然后预测每个体素是「被占据」还是「空闲」,从而构建一幅完整的三维占据地图。 有了这幅地图,机器人就知道空间中哪些地方可以走、哪些地方不能走,甚至可以从悬空的桌子下面、狭窄的缝隙中灵活通过。
近年来,随着 Tesla FSD、Figure 02、Unitree G1 等人形机器人和自动驾驶方案的采用,占据栅格网络已经从学术研究走向了工业落地,成为 3D 空间感知的新范式。
一、从 2D 栅格到 3D 占据:空间感知的演进
要理解占据栅格网络,先要理解它的「前身」——2D 占据栅格地图。
1.1 2D 占据栅格地图:传统机器人的「平面图」
2D 占据栅格地图(2D Occupancy Grid Map)是传统移动机器人最常用的环境表示方式。
基本原理:
- 将机器人运动的平面(通常是地面)划分为均匀的网格(如 5cm × 5cm 的格子)
- 每个格子有一个状态值,表示该位置被障碍物占据的概率(0 = 完全空闲,1 = 完全占据,0.5 = 未知)
- 通过激光雷达或超声波传感器的数据,实时更新每个格子的占据概率
优点:
- 简单直观,计算量小
- 适合轮式机器人在平面上的导航和避障
- 有成熟的算法和实现(如 GMapping、Hector SLAM、Cartographer 都输出 2D 栅格地图)
缺点:
- 只关心平面,丢失了高度信息——不知道障碍物有多高,也不知道悬空区域是否可通过
- 细腿障碍物(如凳子腿、桌子腿)在 2D 投影中占比很小,容易被忽略
- 无法处理需要三维空间推理的场景(如从桌子下面通过、绕过悬空的障碍物、上下楼梯)
对于在平面上移动的轮式机器人(如扫地机器人、AGV),2D 栅格地图基本够用。但对于人形机器人、四足机器人、无人机等需要三维空间运动的机器人,2D 栅格地图就远远不够了。
1.2 3D 点云地图:「有形状但没语义」
比 2D 栅格更进一步的是 3D 点云地图——用大量三维点表示环境的几何形状(系列第 3 篇 SLAM 中提到过)。
基本原理:
- 通过激光雷达或深度相机获取环境的 3D 点云
- 将多帧点云根据机器人位姿拼接,形成完整的 3D 点云地图
- 每个点有三维坐标,可能还有颜色、强度等属性
优点:
- 保留了完整的三维几何信息,精度高
- 可以表示任意形状的障碍物
- 适合三维重建、数字孪生等应用
缺点:
- 点云是「稀疏」的——只有传感器扫描到的表面有点,物体内部和未扫描到的区域没有点,无法判断是「占据」还是「空闲」
- 点云数据量大,存储和计算成本高
- 点云没有「占据/空闲」的明确状态,用于避障时需要额外处理(如将点云投影到 2D、或做距离查询)
- 动态物体处理困难——移动的人或物会在点云中留下「残影」
点云地图适合做「三维重建」和「高精度定位」,但直接用于避障和导航并不高效——机器人需要知道的是「这个空间能不能走」,而不是「这个空间有哪些点」。
1.3 占据栅格网络:「每个体素都有状态」
占据栅格网络(Occupancy Grid Network)结合了 2D 栅格地图的「状态明确」和 3D 点云的「三维信息」,是一种更适合机器人避障和导航的 3D 空间表示。
基本原理:
- 将三维空间划分为均匀的体素(Voxel,三维立方体,如 10cm × 10cm × 10cm)
- 用神经网络预测每个体素的状态:被占据(Occupied)、空闲(Free)、未知(Unknown)
- 可以进一步预测每个体素的语义类别(这是墙、这是桌子、这是人),即「语义占据」
- 输入可以是单目图像、多目图像、点云、或多传感器融合,输出是 3D 占据栅格
与 2D 栅格地图的区别:
- 2D 栅格是平面的,3D 占据栅格是立体的
- 2D 栅格通常用经典概率方法更新,3D 占据栅格通常用神经网络预测
- 2D 栅格只有占据概率,3D 占据栅格可以有语义信息
与 3D 点云的区别:
- 点云是「表面表示」——只有物体表面有点,内部未知
- 占据栅格是「体积表示」——每个体素都有明确的占据/空闲状态,物体内部也被标记为占据
- 点云数据量随场景复杂度变化,占据栅格数据量固定(取决于体素分辨率和空间范围)
工程视角: 占据栅格网络的核心价值在于「把三维空间变成了机器人可以直接用于决策的状态表示」。有了 3D 占据栅格,机器人不需要再做「点云→2D投影→避障」的间接转换,而是直接查询「我要走的路径上,哪些体素被占据了」,从而快速判断是否可以通过。这对于人形机器人尤其重要——人形机器人需要判断「桌子下面能不能钻过去」「缝隙够不够宽」「头顶会不会撞到东西」,这些都需要三维空间信息,2D 栅格地图根本做不到。
二、占据栅格网络的核心技术
占据栅格网络不是一个单一算法,而是一类技术的统称。以下是几个核心技术方向。
2.1 体素化与占据预测
体素化(Voxelization) 是占据栅格网络的基础——把连续的三维空间离散化为均匀的体素网格。
关键参数:
- 体素分辨率:每个体素的大小(如 5cm、10cm、20cm)。分辨率越高,地图越精细,但计算量和存储量越大
- 空间范围:需要预测的三维空间大小(如以机器人为中心的 10m × 10m × 3m 范围)
- 状态表示:每个体素的状态可以是二值(占据/空闲)、概率(0-1 的占据概率)、或语义类别(多分类)
占据预测网络通常采用编码器-解码器架构:
- 编码器:提取输入传感器数据(图像、点云)的特征
- 解码器:将 2D 特征「提升」到 3D 空间,预测每个体素的占据状态
- 常见的 3D 解码器包括:3D 卷积、体素 Transformer、可微渲染、三平面(Tri-plane)表示等
2.2 从 2D 图像到 3D 占据:单目占据预测
最有挑战性也最有实用价值的方向是单目占据预测——只输入一张单目摄像头图像,预测三维空间的占据栅格。
为什么有价值?因为单目摄像头成本最低、安装最简单、体积最小,如果只用单目就能预测 3D 占据,将大幅降低机器人的感知成本。
为什么有挑战?因为单目图像丢失了深度信息,网络需要「想象」出三维空间的结构——这就像人类用一只眼睛也能大致判断空间结构,但需要大量的先验知识。
典型方法:
- 2D 特征提升:先用 2D 卷积提取图像特征,然后通过「特征提升」模块(如 Lifting、Voxel Transformer)将 2D 特征映射到 3D 体素空间
- 三平面表示(Tri-plane):不直接预测 3D 体素,而是预测三个正交平面的特征图,通过三平面插值查询任意 3D 点的特征,大幅减少计算量(特斯拉 FSD 采用的方案)
- 神经辐射场(NeRF):用神经辐射场表示三维空间,通过可微渲染训练,预测空间中任意点的密度和颜色
- 生成式模型:用扩散模型等生成式方法,从单目图像「生成」合理的 3D 占据结构
代表工作:
- OccNet(特斯拉,2023):基于三平面表示的单目占据预测网络,用于自动驾驶
- OpenOccupancy:开源的自动驾驶占据预测基准和方法
- UniOcc:统一的单目和多目占据预测网络
- SparseOcc:稀疏占据预测,减少计算量
2.3 多传感器融合占据预测
除了单目,还可以用多传感器融合来预测占据栅格,提升精度和鲁棒性。
常见的融合方案:
- 多目摄像头:多个视角的图像提供更多几何约束,提升深度预测精度
- 摄像头 + 激光雷达:摄像头提供语义和纹理,激光雷达提供精确深度,两者融合
- 摄像头 + IMU + 轮速计:利用运动信息辅助三维结构预测
- 多帧时序融合:融合连续多帧图像,利用运动视差提升深度估计,同时处理动态物体
多传感器融合的占据预测精度更高,但系统复杂度和成本也更高。在实际项目中,需要根据精度需求和成本预算选择合适的传感器配置。
2.4 语义占据:从「有没有」到「是什么」
基本的占据栅格只告诉机器人「这里有没有障碍物」,但机器人还需要知道「这是什么障碍物」——是墙、是桌子、是人、还是其他机器人?这就是语义占据(Semantic Occupancy)。
语义占据在每个体素的占据状态基础上,增加了语义类别预测。输出的不再是「占据/空闲」二值,而是「墙/地板/天花板/桌子/椅子/人/车/未知」等多分类。
语义占据的价值:
- 智能避障:不同类别的障碍物有不同的避障策略——人需要保持安全距离并预测其运动,桌子可以从下面通过,墙必须绕开
- 任务规划:VLA 模型需要知道环境中有哪些物体、在哪里,才能根据语言指令生成正确的动作(如「把桌子上的杯子拿给我」)
- 动态物体处理:识别出「人」「车」等动态物体,可以单独跟踪和预测其运动,避免在占据地图中留下「残影」
- 人机交互:识别人的位置和姿态,实现安全的人机协作
语义占据是连接「空间感知」和「任务决策」的桥梁——它让机器人不仅知道「空间长什么样」,还知道「空间里有什么」,从而做出更智能的决策。
2.5 时序占据与动态物体处理
真实环境是动态的——人在走、车在动、门在开关。静态的占据栅格无法处理动态物体,需要时序占据(Temporal Occupancy)。
时序占据融合连续多帧的传感器数据和机器人运动信息,预测随时间变化的占据栅格,包括:
- 动态物体检测与跟踪:识别并跟踪场景中的动态物体,预测其未来运动轨迹
- 静态背景重建:剔除动态物体,重建稳定的静态背景占据地图
- 未来占据预测:根据动态物体的运动趋势,预测未来几秒的占据栅格,用于前瞻性避障
时序占据是占据栅格网络从「感知」走向「预测」的关键一步——机器人不仅知道「现在哪里有障碍物」,还能预测「未来哪里会有障碍物」,从而提前规划避障路径。
三、占据栅格网络的工程挑战
占据栅格网络虽然前景广阔,但从算法到工程落地还有不少挑战。
3.1 算力与延迟:三维预测的「成本」
三维占据预测的计算量远大于 2D 感知——一个 10m × 10m × 3m 的空间,用 10cm 体素分辨率,就有 30 万个体素需要预测。如果分辨率提高到 5cm,体素数量增加到 240 万个。
算力挑战:
- 3D 卷积的计算量是 2D 卷积的数倍甚至数十倍
- 高分辨率体素预测需要大量显存和计算资源
- 机器人边缘设备的算力有限(如 RK3588 只有 6 TOPS,Orin 有 275 TOPS),难以实时运行高分辨率 3D 占据网络
延迟挑战:
- 机器人避障需要低延迟感知——从传感器数据输入到占据栅格输出,延迟最好在 50ms 以内
- 复杂的 3D 占据网络推理延迟可能达到几百毫秒,无法满足实时避障需求
应对策略:
- 降低分辨率:在保证避障精度的前提下,使用较低的体素分辨率(如 10-20cm)
- 稀疏预测:只预测机器人周围可能用到的区域(如前方扇形区域),而不是全空间预测
- 三平面/混合表示:用三平面、哈希表等高效表示替代密集 3D 体素,减少计算量
- 模型压缩:量化、蒸馏、剪枝,减小模型体积和推理延迟
- 硬件加速:使用支持 3D 卷积的 NPU/GPU,或设计专用的占据预测加速电路
工程视角: 占据栅格网络的工程落地,核心是在「精度」和「成本」之间找平衡。10cm 分辨率的占据栅格,对于人形机器人避障来说基本够用——能识别桌子腿、能判断缝隙宽度、能检测悬空障碍物。但如果要做精细操作(如抓取、装配),10cm 就太粗了,需要更高分辨率或结合其他感知手段。在实际项目中,建议先用低分辨率验证算法可行性,再根据需求逐步提升分辨率,不要一开始就追求「厘米级」精度导致算力和延迟不可接受。
3.2 数据标注:三维占据的「 ground truth 」难题
训练占据栅格网络需要大量标注数据,但三维占据的 ground truth 获取非常困难。
为什么难?
- 三维空间的占据状态无法直接「标注」——你不能像标注 2D 边界框那样,在三维空间中手工框出每个物体
- 通常需要用高精度激光雷达扫描环境,构建点云,然后将点云「膨胀」为占据栅格作为 ground truth
- 但激光雷达也有盲区(如透明物体、黑色吸光物体、远处小物体),构建的 ground truth 本身就有误差
- 动态物体的占据标注更困难——需要区分静态背景和动态物体,还需要预测未来运动
应对策略:
- 仿真数据生成:在仿真环境中自动生成精确的占据 ground truth(系列第 4 篇 Sim-to-Real),用大规模仿真数据预训练
- 弱监督/自监督:利用多视图几何、深度估计、运动一致性等自监督信号,减少对人工标注的依赖
- 激光雷达自动标注:用高精度激光雷达自动生成占据标签,用于训练摄像头-based 的占据网络
- 主动学习:让模型主动选择「最不确定」的场景进行人工标注,提升标注效率
3.3 透明/反光/黑色物体:感知的「盲区」
占据栅格网络的输入通常是摄像头或激光雷达,但这些传感器对某些物体有「感知盲区」:
- 透明物体(玻璃、透明塑料):摄像头能看到但深度估计不准,激光雷达可能穿透或反射异常
- 反光物体(镜子、金属表面):摄像头会有高光和反射,激光雷达反射异常
- 黑色吸光物体:激光雷达反射率低,可能检测不到
- 细小物体(电线、细杆):体素分辨率不够时可能被忽略
- 悬空物体(悬挂的电线、吊灯):2D 投影中可能被忽略,3D 占据中需要专门检测
这些「盲区」物体在工业场景中可能造成安全隐患——比如机器人没检测到悬空的电线,头部撞上去;没检测到透明的玻璃门,直接撞上去。
应对策略:
- 多传感器融合:摄像头 + 激光雷达 + 超声波 + 触觉,多种传感器互补,减少盲区
- 专门的小物体/透明物体检测:针对特定难检测物体,训练专门的检测模型
- 保守的安全裕度:在占据栅格中对不确定区域做「膨胀」处理,增加安全距离
- 物理接触兜底:在机器人外壳安装碰撞检测传感器,万一感知漏检,物理碰撞也能触发紧急停止
3.4 与 SLAM 和导航的集成
占据栅格网络不是孤立的,它需要与 SLAM(定位与建图)和导航系统深度集成。
与 SLAM 的关系:
- SLAM 提供机器人的位姿(我在哪),占据栅格提供环境的状态(周围有什么)
- 两者可以协同——SLAM 的位姿用于多帧占据栅格的融合,占据栅格可以作为 SLAM 的地图表示
- 语义占据可以辅助 SLAM 的回环检测和动态物体剔除
与导航的关系:
- 占据栅格是路径规划和避障的输入——规划器在占据栅格上搜索无碰撞路径
- 3D 占据栅格支持三维空间的路径规划(如人形机器人从桌子下面通过、无人机在三维空间中飞行)
- 时序占据和未来占据预测支持前瞻性避障——提前规划避开动态物体
集成挑战:
- 占据栅格的坐标系需要与 SLAM 和导航的坐标系精确对齐
- 占据栅格的更新频率需要与导航的规划频率匹配
- 占据栅格的不确定性需要传递给导航系统,用于风险感知规划
四、占据栅格网络的应用场景
4.1 人形机器人
人形机器人是占据栅格网络最典型的应用场景。人形机器人需要在复杂的三维环境中行走、操作、交互,2D 栅格地图完全不够用。
具体应用:
- 三维避障:检测悬空障碍物(吊灯、电线)、低矮障碍物(台阶、门槛)、细腿障碍物(桌子腿、椅子腿),实现灵活避障
- 通过性判断:判断桌子下面能不能钻过去、门缝够不够宽、楼梯能不能上
- 全身运动规划:在三维占据栅格上规划全身运动轨迹,避免手臂、腿部、头部碰撞
- 人机协作安全:识别人的位置和姿态,保持安全距离,预测人的运动趋势
代表:Figure 02、Tesla Optimus、Unitree G1 等人形机器人都在采用或探索占据栅格网络。
4.2 自动驾驶
自动驾驶是占据栅格网络的另一个重要应用场景,也是目前技术最成熟的领域。
具体应用:
- 三维环境感知:感知道路、车辆、行人、障碍物的三维占据状态
- 可行驶区域检测:判断哪些区域可以行驶,哪些区域被占据
- 动态物体预测:预测其他车辆和行人的未来运动轨迹
- 无保护左转、拥堵路段通行:基于精细的三维占据预测,实现复杂场景的决策
代表:特斯拉 FSD(采用三平面占据网络)、小鹏、理想、蔚来等自动驾驶方案都在探索占据栅格网络。
4.3 四足机器人
四足机器人需要在复杂地形(楼梯、碎石、草地)中行走,也需要三维空间感知。
具体应用:
- 地形感知:感知地面的高度变化、障碍物分布,规划足端落点
- 三维避障:检测低矮障碍物(树枝、石块)和悬空障碍物,避免碰撞
- 动态平衡:结合占据栅格和 IMU 数据,实现复杂地形上的动态平衡
- 巡检任务:在工业场景中巡检,检测设备异常和环境风险
4.4 无人机
无人机在三维空间中飞行,天然需要三维占据感知。
具体应用:
- 三维避障:检测树木、电线、建筑等障碍物,实现三维空间避障
- 室内导航:在室内复杂环境中导航,检测墙壁、家具、人
- 穿越机竞速:在复杂的三维赛道中高速飞行,需要实时、低延迟的占据感知
- 测绘与巡检:构建三维占据地图,用于测绘、巡检、数字孪生
4.5 工业场景
在工业场景中,占据栅格网络可以提升机器人的灵活性和安全性。
具体应用:
- 柔性制造:在非结构化的产线环境中,机器人需要感知变化的工件和障碍物
- 人机协作:识别人的位置和姿态,实现安全的人机协作
- 仓储分拣:在复杂的仓储环境中,机器人需要感知货架、货物、人员,实现灵活导航和分拣
- 危险环境作业:在核辐射、化工等危险环境中,机器人需要精确感知环境,避免碰撞导致安全事故
五、总结
占据栅格网络是 3D 空间感知的新范式,它让机器人从「平面避障」走向「三维感知」,从「知道哪里有障碍物」走向「知道障碍物的三维形状和语义」。
核心要点回顾:
- 演进路径:从 2D 占据栅格(平面、简单)→ 3D 点云(三维、稀疏)→ 占据栅格网络(三维、体素化、有状态),空间表示不断进化
- 核心技术:体素化与占据预测、单目/多目占据预测、多传感器融合、语义占据、时序占据与动态物体处理
- 工程挑战:算力与延迟(三维预测成本高)、数据标注(三维 ground truth 难获取)、透明/反光/黑色物体感知盲区、与 SLAM 和导航的深度集成
- 应用场景:人形机器人、自动驾驶、四足机器人、无人机、工业柔性制造与人机协作
占据栅格网络不是一个「已经成熟」的技术,而是一个「快速发展」的方向。随着算力提升、算法优化、数据积累,占据栅格网络的精度会越来越高、延迟会越来越低、成本会越来越便宜。未来,它可能成为机器人的「标准感知模块」——就像今天的 2D 激光雷达避障一样普遍。
对于具身智能来说,占据栅格网络是连接「感知」和「行动」的关键桥梁——只有真正理解了三维空间,机器人才能在复杂环境中灵活、安全、智能地行动。
关于作者: 越微智能(Yuewell)专注具身智能与工业 AI 视觉落地,基于自研 VLA 多模态大模型,提供全品牌机器人二次开发(适配宇树/优必选/智元/傅利叶)与工业级视觉算法定制,结合 3D 空间感知与语义理解,支持从算法、硬件到产线实机部署的全栈交付。
下一篇预告: 《机器人定位传感器全解:IMU、轮速计与多传感器融合》,我们将拆解机器人的「内耳」和「脚感」——IMU 和轮速计如何工作,以及它们如何与视觉/激光融合实现高精度定位,敬请关注。