第4章:高精地图采集技术:激光雷达点云采集、相机图像采集、IMU/GNSS组合导航采集方案
做高精地图,第一步就是采集。这一步要是没做好,后面建图、定位全是白搭。我见过太多团队,算法调得飞起,结果一上实车数据就崩——问题往往出在采集环节。
今天咱们聊聊三种核心采集手段:激光雷达、相机、IMU/GNSS组合导航。这三者各有各的脾气,配合好了才能产出高质量的地图数据。
4.1 激光雷达点云采集:精度与效率的博弈
激光雷达,说白了就是拿激光束扫一圈,得到一堆三维点。每个点都带着XYZ坐标和反射强度。我个人习惯把点云采集分成两个维度看:硬件选型和采集策略。
4.1.1 硬件选型
市面上主流的有机械旋转式和固态式。机械式的,比如Velodyne HDL-64,能扫360度,但寿命短、震动敏感。固态式的,比如禾赛AT128,体积小、可靠性高,但视场角有限。
| 类型 | 线数 | 视场角 | 典型场景 |
|---|---|---|---|
| 机械旋转式 | 16/32/64/128 | 360°水平 | 城市道路、高速 |
| 固态式 | 等效128线 | 120°×25° | 园区、封闭区域 |
嗯,这里要注意:线数不是越高越好。64线够用,128线更好,但数据量翻倍,处理压力也大。我在项目中遇到过,为了追求极致精度上了128线,结果回传带宽不够,丢帧严重。后来降回64线,配合多趟采集,效果反而更好。
4.1.2 采集策略
点云采集最怕什么?运动畸变。车在动,激光在转,扫出来的点云是扭曲的。解决办法有两个:
- 硬件同步:用GPS时间戳给每个点打标,后期做运动补偿
- 采集速度:控制在30-40km/h,太快了点云稀疏,太慢了效率低
我的经验:采集前一定要做标定。激光雷达和IMU之间的外参,哪怕偏了0.1度,建出来的地图都会出现重影。我曾经因为标定板没放平,白跑了一整天数据。
4.2 相机图像采集:视觉信息的黄金搭档
激光雷达给的是几何信息,相机给的是语义信息。车道线、交通标志、路沿——这些在点云里很难分辨,但在图像里一目了然。
4.2.1 相机选型与配置
我建议用工业相机,别用消费级的。工业相机快门同步、曝光控制都更可靠。分辨率方面,200万像素够用,500万更好。帧率一般10-15fps,和激光雷达的扫描频率匹配。
相机安装位置也有讲究:
- 前向:主视野,覆盖车道线、交通标志
- 侧向:覆盖路沿、停车位
- 后向:覆盖后方车道、变道辅助
避坑指南:我曾经遇到过,相机镜头没擦干净,采集回来的图像全是光晕。后期算法怎么调都识别不准。后来才发现是镜头上有油污。所以,采集前一定要检查镜头清洁度。
4.2.2 图像与点云的融合
图像和点云怎么对齐?靠标定。我们需要知道相机内参(焦距、畸变)和外参(相对于激光雷达的位姿)。
标定流程大致如下:
- 放置标定板,采集多组图像和点云
- 提取图像中的角点,点云中的平面
- 用PnP算法求解外参
- 验证投影误差,小于1个像素才算合格
# 伪代码:点云投影到图像
def project_point_to_image(point_3d, camera_matrix, dist_coeffs, extrinsics):
# 将激光雷达坐标系下的点转换到相机坐标系
point_cam = extrinsics @ point_3d
# 投影到像素平面
x = point_cam[0] / point_cam[2]
y = point_cam[1] / point_cam[2]
# 应用畸变校正
u, v = undistort(x, y, camera_matrix, dist_coeffs)
return u, v
4.3 IMU/GNSS组合导航:定位的脊梁骨
没有组合导航,前面采集的点云和图像就是一堆散沙。为什么?因为你需要知道每一帧数据是在哪里采集的。
4.3.1 为什么需要组合导航
GNSS(GPS/北斗)精度有限,城市峡谷里经常丢星。IMU(惯性测量单元)短时间精度高,但长时间会漂移。两者互补,才能得到稳定的位姿。
组合导航的核心思想:用GNSS修正IMU的长期漂移,用IMU填补GNSS的短期缺失。
4.3.2 采集方案配置
我推荐用RTK级别的GNSS接收机,配合光纤陀螺IMU。成本高,但精度有保障。具体参数:
| 传感器 | 精度 | 更新频率 |
|---|---|---|
| RTK-GNSS | 2-5cm | 10Hz |
| 光纤陀螺IMU | 0.01°/h | 200Hz |
| 轮速计 | 0.1m/s | 100Hz |
关键点:IMU和GNSS的时间同步必须做到微秒级。我见过一个项目,因为时间戳差了10毫秒,融合出来的轨迹出现了周期性抖动。后来用PPS信号硬同步才解决。
4.4 多传感器融合采集方案
把上面三种传感器装到一起,就是一套完整的采集系统。但装到一起不等于融合好。你需要考虑:
- 时间同步:所有传感器用同一个GPS时钟
- 空间同步:所有传感器外参标定到位
- 数据存储:点云、图像、位姿数据按时间戳对齐存储
下面这张图展示了整个采集系统的数据流:
你看,整个流程就是:三个传感器各自采集原始数据,经过时间同步后,再融合成带位姿信息的点云和图像。最后存成标准格式,比如PCD、PNG、CSV。
我的建议:采集前一定要做一次完整的系统联调。我曾经因为IMU的安装角度偏了2度,导致整个采集数据作废。后来我养成了一个习惯:每次采集前,先跑一段已知路径,验证定位精度。
好了,这一章的内容就这些。采集技术是基础,但也是最容易出问题的地方。你想想看,如果采集的数据本身就有问题,后面再怎么优化算法也是白费力气。所以,多花点时间在采集方案上,绝对值得。
可可精品资料库