毫米波雷达与高精地图融合定位工程 - 第2节
2. 高精地图基础
说实话,我刚入行那会儿,对高精地图的理解也很模糊。总觉得不就是导航地图的升级版吗?后来真正上手做项目才发现——完全不是一回事。
高精地图,说白了就是给自动驾驶汽车看的“内部资料”。它不像我们手机里的百度地图,给你看看路名、看看红绿灯位置就完了。高精地图要精确到厘米级,要告诉你车道线的曲率、路沿的高度、甚至路面上的一个小坑。
我习惯把高精地图比作“给车看的立体说明书”。它不光告诉你路在哪,还告诉你这条路该怎么走。
1.1 高精地图 vs 普通导航地图
这里我列个表,大家一看就明白区别在哪:
| 对比项 | 普通导航地图 | 高精地图 |
|---|---|---|
| 精度 | 米级(5-10米) | 厘米级(10-20厘米) |
| 要素 | 道路、POI、红绿灯 | 车道线、路沿、护栏、标牌、坡度 |
| 更新频率 | 按月/季度 | 按天甚至实时 |
| 使用对象 | 人类驾驶员 | 自动驾驶系统 |
| 核心作用 | 导航指引 | 感知辅助 + 定位 + 规划 |
嗯,这里要注意一点:高精地图不是用来给人看的。它的数据格式、存储方式,都是为算法服务的。你打开高精地图文件,看到的是一堆坐标点和属性标签,根本不像一张“图”。
二、坐标系与转换——绕不开的硬骨头
做雷达和地图匹配,坐标系转换是基本功。我记得第一次做融合定位时,就因为坐标系搞混了,定位结果直接飘到马路对面去了。从那以后,我对坐标系转换就特别敏感。
2.1 常见的坐标系
自动驾驶里常用的坐标系,我总结下来就这几种:
- WGS-84(经纬度坐标系):GPS用的那个,单位是度。高精地图的原始数据通常用这个存。
- UTM(通用横轴墨卡托):把地球表面投影到平面上,单位是米。做局部路径规划时常用。
- 车辆坐标系:以车为中心,x轴朝前,y轴朝左,z轴朝上。雷达点云、摄像头图像都在这个坐标系下。
- IMU坐标系:惯性测量单元的坐标系,通常和车辆坐标系有安装偏差。
你想想看,雷达扫到的障碍物是在车辆坐标系下的,高精地图上的车道线是在UTM坐标系下的。要把它们对上,就得做坐标转换。
2.2 坐标转换的核心公式
说白了,坐标转换就是旋转加平移。我给大家一个最常用的公式:
// 从车辆坐标系转到UTM坐标系
// 已知:车辆在UTM下的位置 (x_v, y_v, yaw_v)
// 已知:障碍物在车辆坐标系下的坐标 (x_obj_car, y_obj_car)
// 第一步:旋转
double cos_yaw = cos(yaw_v);
double sin_yaw = sin(yaw_v);
double x_rot = x_obj_car * cos_yaw - y_obj_car * sin_yaw;
double y_rot = x_obj_car * sin_yaw + y_obj_car * cos_yaw;
// 第二步:平移
double x_utm = x_v + x_rot;
double y_utm = y_v + y_rot;
x_obj_vehicle、x_obj_utm,这样一眼就能看出当前在哪个坐标系下,不容易搞混。
2.3 避坑指南:坐标系转换的常见错误
我曾经在项目里遇到过一个问题:雷达检测到的路沿,投影到地图上总是偏了30厘米。查了两天才发现,是IMU的安装角度没校准。车辆坐标系和IMU坐标系之间有个小夹角,不补偿的话,距离一远误差就放大了。
这里给大家几个建议:
- 一定要做外参标定,把传感器之间的相对位姿标定准
- 转换时注意角度单位,是弧度还是度,别混用
- 浮点数精度问题,累积误差会越来越大,建议用double
三、车道线和路标要素——地图里的“骨架”
高精地图里要素很多,但最核心的,我个人觉得是车道线和路标。为什么?因为自动驾驶的规划控制,基本就是沿着车道线走,看着路标做决策。
3.1 车道线要素
高精地图里的车道线,可不是简单的一条线。它包含的信息非常丰富:
- 几何形状:用一系列离散点表示,每个点有x、y、z坐标
- 属性:实线/虚线、白色/黄色、单线/双线
- 拓扑关系:这条车道线属于哪个车道?左边是什么?右边是什么?
- 曲率:弯道的半径大小,直接影响车辆过弯速度
我习惯把车道线看作“虚拟轨道”。车只要沿着车道线走,就不会出大问题。但要注意,地图里的车道线和实际路面上的车道线,可能存在偏差。这就是为什么我们需要用毫米波雷达去实时匹配和修正。
3.2 路标要素
路标包括交通标志牌、路面箭头、停止线等。在高精地图里,它们通常被建模成“面”或者“点”要素。
举个例子,一个限速60的标志牌,在地图里会记录:
- 位置(经纬度或UTM坐标)
- 类型(限速标志)
- 数值(60 km/h)
- 朝向(面向哪个方向的车流)
四、本章知识体系总览
下面这张图,是我自己总结的高精地图知识框架。大家可以对照着看,心里有个谱:
五、小结
这一章我们聊了高精地图的定义、坐标系转换、以及车道线和路标要素。说白了,高精地图就是给自动驾驶系统准备的“超级说明书”。它精度高、要素全、更新快,是毫米波雷达感知的重要辅助工具。
我个人觉得,理解高精地图的关键,不在于背概念,而在于理解它和传感器数据是怎么配合的。后面几章我们会具体讲毫米波雷达和高精地图的匹配算法,到时候大家会有更深的体会。
本章要点回顾:
- 高精地图精度厘米级,服务于自动驾驶算法
- 坐标系转换是匹配的基础,注意外参标定和精度控制
- 车道线和路标是地图核心要素,包含几何和属性信息