2. 地图组件总览

autonomy/map 提供三条并行管线:MapServer(静态占据栅格)、Costmap2D(规划/避障代价图)、GridMap(2.5D 多层浮点栅格)。本文是 §3–§4 专题的索引与对比;上手见 §0,架构见 §1,谱系与选型见 §5 综述


2.1 组件一览

组件

文档

数据类型

典型用途

状态

MapServer

§0.5

OccupancyGrid (-1/0/100)

加载 SLAM 地图、发布 /map

Costmap2DWrapper

§3 Costmap2D

uint8 0–255

全局/局部规划、碰撞检测

GridMapWrapper

§4 GridMap

float 多层矩阵

地形高程、坡度、多模态感知

三者通过 MapInterfaceStart / Stop / Pause / Resume)管理;Costmap2D 与 GridMap 当前未桥接,联合使用需在应用层处理坐标与数值映射。


2.2 对比矩阵

维度

MapServer

Costmap2D

GridMap

原点

左下角

左下角

地图中心

数值

离散 -1/0/100

离散 0–255

连续 float / NaN

传感器

无(读文件/回调)

自动 feedLaserScan

应用层写入

更新

低频 / 一次性

后台线程 1–20 Hz

手动 move() + 写层

规划消费

static_layer

PlannerServer 直接读

需桥接或自定义

对标

nav2_map_server

nav2_costmap_2d

ETH grid_map

坐标差异与互转注意点见 §0.3 · §3.5 · §4.6


2.3 选型速查

场景

推荐

关键配置

标准室内导航

Costmap2D

static_layer + obstacle_layer + inflation_layer

仅静态地图可视化

MapServer

YAML+PGM

地形 / 高程 / 坡度

GridMap

elevation 层 + 应用层点云投影

大地图局部规划

Costmap2D rolling_window=true

§3.10

Costmap + 高程联合

GridMap + 应用桥接

§4.3.7

完整矩阵与决策树见 §5.10


2.4 公共数据流

YAML+PGM ──► MapServer ──► OccupancyGrid ──► static_layer ──┐
/scan ──────────────────────────────► obstacle_layer ─────────┼──► Costmap2D ──► Planning
                                                            │
                                              inflation_layer ┘

点云 / 深度 ──► GridMapWrapper(应用写入)──► elevation / slope / ...
                      ✗ 当前未自动桥接到 Costmap2D

运行时序与线程模型见 §1.3.4 · §1.11


2.5 扩展阅读

§

文档

内容

3

Costmap2D

图层、膨胀、滚动窗口、配置

4

GridMap

2.5D 层、buffer、插值、桥接

5

综述

历史、分类、业界生态