4. 环境感知与地图表示

多机器人协同导航的第一步,是让每个机器人“知道自己在哪里、周围有什么”。这依赖两类能力:一是环境感知,即通过传感器获取障碍物、边界、地标与动态目标的信息;二是地图表示,即把感知结果组织成可计算、可共享、可更新的空间模型。感知决定“看到什么”,地图决定“如何记住并推理”,二者共同构成协同导航的认知基础。

一、核心原理:传感器是感知入口,地图是空间记忆

不同传感器在测量范围、精度、成本与鲁棒性上差异明显,单一传感器很难覆盖全部场景。激光雷达通过飞行时间测距获得高精度二维或三维点云,适合构建几何地图与精确定位;视觉相机提供丰富纹理与语义信息,可识别车道、标志、行人,但受光照和纹理影响大;超声波传感器成本低、近距离探测可靠,常用于低矮障碍与防撞补盲;惯性测量单元(IMU)与轮式里程计则提供高频运动估计,用于短时递推。多机器人系统中,各机器人可搭载不同传感器组合,通过地图融合实现能力互补。

地图表示的本质是对连续环境的离散化建模。栅格地图把空间划分为规则网格,每个格子记录占据概率;特征地图提取点、线、角点等几何基元;拓扑地图用节点和边描述地点与连通关系;语义地图在几何层之上附加“门、走廊、房间、充电桩”等标签。四类地图并非互斥,实际系统常采用分层混合表示。

环境感知 → 地图表示 → 协同导航 感知层:多传感器互补 激光雷达 LiDAR 高精度点云 / 几何地图 视觉相机 纹理 / 语义 / 地标识别 超声波 / 红外 近距补盲 / 防撞 IMU / 里程计 高频运动递推 数据融合与建图 地图层:四类空间表示 栅格地图 占据概率 / 路径规划 特征地图 点/线/角点 / 定位匹配 拓扑地图 节点/边 / 全局路径推理 语义地图 走廊 房间 充电桩 门 标签/属性 / 人机协同 多机器人地图融合与共享

二、方法流程:从原始数据到可共享地图

典型建图流程可分为五步。第一步是数据采集与时间同步,多传感器需统一时间戳,避免运动畸变;第二步是预处理,包括点云去噪、地面分割、图像去畸变与特征提取;第三步是里程计与位姿估计,利用IMU、轮速计或激光扫描匹配得到机器人轨迹;第四步是地图构建,将观测投影到全局坐标系并更新地图;第五步是地图融合与共享,多机器人交换局部地图或地图摘要,形成一致全局表示。

# 以二维栅格建图为例的典型参数
resolution: 0.05        # 栅格分辨率,单位 m/格
map_size: 40.0 x 40.0   # 地图覆盖范围,单位 m
occupied_thresh: 0.65   # 占据判定阈值
free_thresh: 0.20       # 空闲判定阈值
update_rate: 10 Hz      # 地图更新频率
sensor_fusion: lidar + odom + imu

分辨率越高,地图越精细,但存储与计算开销越大。协同场景中,若每个机器人都维护全分辨率全局栅格,通信带宽会迅速成为瓶颈。因此常采用局部高精度、全局低精度的分层策略:机器人本地保留精细栅格用于避障,向队友广播压缩后的特征或拓扑摘要用于协同规划。

三、案例/场景:仓储多机器人协同建图

在一个仓储场景中,若干台AGV同时作业。每台AGV搭载二维激光雷达、前向相机与超声波传感器。激光雷达构建局部栅格地图,用于实时避障;相机识别货架编号与地面二维码,提供语义地标;超声波负责检测低矮托盘与悬空障碍。各AGV将局部栅格与语义标签上传至边缘服务器,服务器融合为全局语义栅格地图,再下发给所有机器人。

当某台机器人发现临时堆放的货物时,它只上传变化区域的栅格块与语义标签“临时障碍”,而不是整张地图。其他机器人收到后,在局部地图中叠加该障碍层,重新规划路径。这种增量式地图更新显著降低了通信量,也保证了协同一致性。

四、四类地图对比与选型

地图类型 表示方式 优点 局限 典型用途
栅格地图 规则网格 + 占据概率 直观、易做路径规划与避障 存储大、分辨率与开销矛盾 局部避障、导航代价地图
特征地图 点、线、角点等几何基元 紧凑、便于扫描匹配定位 环境特征稀疏时易失效 激光SLAM、位姿估计
拓扑地图 节点 + 边 抽象度高、全局路径搜索快 难以表达精细几何与动态障碍 跨区域任务调度、多机协同
语义地图 几何层 + 类别/属性标签 支持人机交互与任务推理 依赖识别精度、标注成本高 服务机器人、智能仓储

五、误区与复盘

常见误区一:只依赖单一传感器。激光雷达在玻璃、镜面、雨雾中易失效;视觉在暗光或强光下退化;超声波探测角大但精度低。协同系统应做互补融合,而非简单替换。

常见误区二:地图越精细越好。高分辨率栅格会放大通信与计算负担,多机器人系统中应区分“本地精细层”和“共享摘要层”。

常见误区三:忽略时间一致性。不同机器人地图若时间戳不一致,融合后会出现“幽灵障碍”或重复墙体。必须统一时钟或使用相对时间戳。

复盘建议:在部署前,先明确三个问题——机器人需要多高的定位精度?环境中有哪些动态与语义对象?通信带宽能承载多大的地图更新?答案将直接决定传感器组合与地图表示的选择。对于协同导航,推荐采用“栅格 + 语义”的混合地图作为共享层,以特征或拓扑作为全局推理层,从而兼顾精度、效率与可扩展性。