4. 环境感知与地图构建

移动操作机器人要在未知或半未知环境中完成“走到哪里、看到什么、抓住什么”的闭环任务,环境感知与地图构建是底层支撑。没有地图,定位只能靠航迹推算,误差会随时间累积;没有感知,操作臂即使到达目标附近,也无法判断物体的位姿与可抓取性。本章围绕SLAM基本概念、三类主流地图表达以及多传感器融合建图方法展开,帮助读者建立“定位—建图—操作”之间的数据链路认知。

一、SLAM基本概念:同时定位与建图

SLAM(Simultaneous Localization and Mapping)指机器人在未知环境中,一边估计自身位姿,一边构建环境地图的过程。其核心矛盾在于:定位需要地图作为参照,建图又需要已知位姿作为基准,两者互为条件。SLAM通过概率估计方法把这一“鸡生蛋”问题转化为联合后验估计问题。

典型SLAM系统包含前端、后端、回环检测与地图维护四个部分。前端负责帧间匹配与运动估计,常用ICP、NDT或特征点法;后端用图优化或滤波方法融合多帧约束,抑制漂移;回环检测识别机器人是否回到历史位置,用于消除累积误差;地图维护则把观测结果写入栅格、点云或语义地图。对于移动操作机器人,SLAM输出的不仅是位姿轨迹,还包括可供导航和抓取使用的环境几何与语义信息。

关键理解:SLAM不是单一算法,而是一套“传感器—前端—后端—地图”的系统工程。定位精度、建图分辨率、实时性与计算资源之间需要权衡。

二、三类地图表达:栅格、点云与语义地图

地图是SLAM的输出,也是后续导航与操作的输入。不同任务需要不同地图表达,常见有三类。

  • 栅格地图:把环境离散为二维或三维网格,每个格子记录占据概率。它适合路径规划与避障,计算效率高,但几何细节有限,难以直接支持精细抓取。
  • 点云地图:由激光雷达或深度相机生成的三维点集合,保留丰富几何信息,可用于配准、表面重建和抓取位姿估计。缺点是数据量大,且不含语义标签。
  • 语义地图:在几何地图基础上附加物体类别、房间功能或可操作区域标签,使机器人不仅知道“哪里有障碍”,还知道“那是什么、能不能抓”。语义地图是移动操作任务的重要桥梁。

三类地图并非互斥,实际系统常采用分层结构:底层用栅格地图做导航,中层用点云地图做几何配准,上层用语义地图做任务推理。下表给出三类地图的对比。

地图类型数据形式主要用途优点局限
栅格地图2D/3D占据网格路径规划、避障结构简单、实时性好几何细节弱、无语义
点云地图三维点集合配准、表面重建、抓取几何精度高数据量大、无语义
语义地图几何+标签任务推理、操作目标选择支持高层决策依赖感知与标注质量

三、多传感器融合建图方法

单一传感器难以同时满足精度、鲁棒性与语义需求。激光雷达提供远距离高精度几何,但缺乏纹理与语义;深度相机提供稠密点云与颜色,但视场窄、易受光照影响;IMU提供高频运动信息,但存在漂移;轮式里程计提供低频但稳定的相对运动。多传感器融合建图的目标,是把这些互补信息统一到同一时空基准下。

融合建图的典型流程如下:

  1. 时间同步与标定:对齐各传感器时间戳,标定激光雷达、相机、IMU与机器人基座之间的外参。
  2. 前端里程计:用激光或视觉里程计估计帧间运动,IMU提供预积分约束。
  3. 后端优化:构建位姿图,融合里程计、回环与全局约束,输出优化轨迹。
  4. 地图融合:将各帧观测按优化位姿投影到统一坐标系,生成栅格、点云或语义地图。
  5. 语义标注:用深度学习模型对图像或点云进行分割,把类别标签映射到地图体素或网格。

下面给出一个简化的多传感器融合建图配置示例,便于理解参数组织方式。

# 多传感器融合建图配置示例
sensors:
  lidar:   {topic: /scan,     rate: 10Hz, frame: laser}
  camera:  {topic: /rgb,      rate: 30Hz, frame: camera}
  imu:     {topic: /imu,      rate: 200Hz, frame: imu}
  odom:    {topic: /wheel_odom, rate: 50Hz, frame: base_link}

fusion:
  front_end:  "lidar_odometry"
  back_end:   "pose_graph_optimization"
  loop_closure: true
  map_type:   ["occupancy_grid", "point_cloud", "semantic_map"]

semantic:
  model: "pointnet++"
  classes: ["floor", "wall", "table", "chair", "cup", "unknown"]

四、案例与场景:从建图到操作

假设移动操作机器人进入一间办公室,任务是把桌上的杯子送到茶水间。机器人首先用激光雷达与IMU融合建图,得到二维栅格地图用于导航;同时用深度相机生成点云地图,识别桌面与杯子的几何位置;语义分割模型把“杯子”“桌子”“门”等标签写入语义地图。导航模块根据栅格地图规划到桌边的路径,操作模块根据点云地图估计杯子位姿并执行抓取,最后依据语义地图中的“茶水间”标签规划放置位置。

这一流程说明:栅格地图解决“怎么走”,点云地图解决“怎么抓”,语义地图解决“抓什么、放哪里”。三者协同,才能支撑移动操作机器人的完整任务链。

实践建议:建图初期优先保证栅格地图的实时性与一致性;当导航稳定后,再逐步引入点云配准与语义标注,避免一次性引入过多传感器导致标定与同步复杂度失控。

五、常见误区与复盘

  • 误区一:把SLAM当成纯定位模块。SLAM同时输出位姿与地图,地图质量会反向影响定位精度,二者需联合评估。
  • 误区二:只建一种地图。导航、抓取与任务推理对地图需求不同,单一地图难以覆盖全部任务。
  • 误区三:忽视时间同步与外参标定。多传感器融合中,时间戳错位或外参偏差会直接导致地图重影与定位漂移。
  • 误区四:语义地图标注一次就长期使用。环境会变化,语义地图需要增量更新与置信度管理。

复盘时建议检查三项指标:轨迹绝对误差、地图栅格一致性与语义标签准确率。只有三者同时达标,建图结果才真正可用于移动操作任务。

多传感器融合建图与三类地图协同关系 激光雷达 远距离几何 深度相机 稠密点云/颜色 IMU 高频运动信息 轮式里程计 稳定相对运动 时间同步 + 外参标定 + 前端里程计 + 后端图优化 + 回环检测 多传感器融合建图核心流程 栅格地图 占据概率网格 路径规划 / 避障 解决“怎么走” 点云地图 三维点集合 配准 / 表面重建 解决“怎么抓” 语义地图 几何 + 类别标签 任务推理 / 目标选择 解决“抓什么、放哪里” 三类地图分层协同:栅格导航 → 点云操作 → 语义决策

综上,环境感知与地图构建是移动操作机器人从“能走”到“能操作”的关键环节。理解SLAM的联合估计本质,掌握栅格、点云与语义三类地图的适用边界,并建立多传感器融合的工程化流程,才能为后续定位、导航与操作任务提供可靠的环境基础。