这是 2018 年学习 Udacity 无人驾驶先修课时记下的内容。当时先接触的是高精度地图:车除了要知道目的地,还得知道自己在哪条车道上、离车道边界有多远。
这次整理保留了原来的学习顺序。五张课程配图暂时无法恢复,下面用文字重新说明,修正原稿里关于地图精度、更新和对象检测的几处表述。
高精度地图记录什么
手机导航常见的问题是“沿哪条路走,到哪个路口转弯”。自动驾驶还需要更细的信息,例如车道边界、车道之间的连接关系、停止线、交通灯和人行横道。
Apollo 3.0 的地图数据定义中,可以看到车道、道路、路口、信号灯、停止标志、人行横道等对象。这些对象不仅有位置,也有相互关系。道路中心线可以帮助规划路线,但车辆在道路上怎么走,还需要结合车道结构。
原笔记把高精度地图记成“厘米级的三维地图”。这里要分开看:不同图层、采集方法和使用场景有不同精度要求,不能给所有地图统一保证一个误差;有了详细地图,也不等于车辆在任何时候都能获得同样精确的位置。
地图怎么帮助定位
车辆传感器看到的是此刻周围的环境,地图保存的是提前采集和整理的环境信息。把两者中的稳定特征对应起来,就能估计车辆相对于地图的位置与朝向。
例如,道路两侧的固定结构可以成为匹配线索。地图是参考,传感器是当前观测;如果地图过旧、特征不足或观测质量变差,匹配结果也会受到影响。
定位的具体方法放在GNSS、惯性导航与融合定位中继续记录。
地图怎么帮助规划
原来记了三点:选择路线、找到道路中心线、提前知道道路上的标志。整理后可以这样理解:
- 路线选择:相同目的地可能有不同道路连接,地图提供路线规划所需的拓扑关系。
- 车道选择:车道的连接、转向和边界信息,帮助系统判断下一步该进入哪条车道。
- 提前准备:已知的停止线、路口和限行约束,可以让规划提前考虑减速或转向。
原稿还写了“如果前方有障碍物可以提前知道”。这句话范围太大。地图能保存固定道路结构,临时停车、行人、施工围挡等变化仍然需要实时感知。地图更新也不能代替车上的观察。
一张地图从哪里来
课程笔记中把制作流程分成了五步,这个顺序仍然方便理解:
- 数据采集:通过合适的传感器采集道路信息,并记录数据之间的时间和位置关系。
- 数据处理:对采集结果清洗、配准和整理,形成可继续处理的基础数据。
- 对象提取:识别车道线、交通标志等对象,并赋予语义和关联关系。
- 质量检查:检查自动处理结果,修正错误和遗漏。
- 版本发布与更新:把经过检查的数据交给使用方,并管理后续变化。
我当时猜测,对象提取“应该就是无监督聚类”。这只是学习时的猜想,不能直接作为结论。不同对象和数据类型可以采用不同算法,也可能需要人工标注或修订。
同样,地图发布到云端只是分发方式,不意味着道路一变化就能立即更新到每一辆车。数据采集、验证、版本管理和车辆获取地图之间仍然有过程。

