自动驾驶技术关键技术梳理
一、硬件
1、 传感器系统设计主要注意以下几个问题:
1.时间同步
一般包括多传感器之间时钟同源、帧同步触发的问题。首先要解决时钟同源问题,然后为了帧同步触发,可以让所有传感器整秒触发。常用GPS(最多分2路)给激光雷达同步,激光雷达(1w-3w)转到中间时产生脉冲信号给采集卡(3w)触发相机(2千左右)曝光,采集卡装于工控机上(6w左右)。imu几百的精度也不错了。
1)软同步:使用ntp(毫秒级,局域网可达0.1ms,一般网络1-50ms)或ptp时间同步,ptp也分为硬同步和软同步,硬同步需要设备有时钟源(如网卡,笔记本网卡一般没有硬件时钟),硬件同步精度可达亚微妙级,软同步由于获取软件时钟的时间会有1-2ms误差
2)硬同步:一般使用GPS的PPS秒脉冲和gpmrc(utc秒时间)作为时钟源,一些激光雷达和相机支持PPS时间同步,一些激光雷达还可以产生脉冲信号触发相机达到帧同步,gmsl相机可以通过图像采集卡使用PPS、TTL电平或lidar产生脉冲进行触发。
购买相机、激光雷达等传感器时需要考虑支不支持ptp、PPS或其它脉冲同步,激光雷达能不能产生脉冲
2.系统功耗
功耗太大比较耗电,车载电源有限,工控机一般在1kw左右
3.存储的数据量
图片和点云数据量很大,一般需要压缩存储,图像常用h264和h265压缩,h265目前需要付费,一般用nas硬盘存储
4.传感器安装高度
一些地方限高2.2m
5.防水设计
2、传感器选型
1.GPS
rtk基站服务(千寻),ppp星端服务
1)novatel(百万)
2)cpt7(1w)
3)华测(几千)
2.imu
一般GPS带了
3.轮速计
一般车载
4 .相机
需要自动曝光,gmsl相机采集卡能达到gb级带宽
1)basler
2)森云:有带采集卡的整套传感器解决方案
3)美图
5.激光雷达
1)禾赛
2)速腾
3)华为
4)大疆
5)镭神
6)ouster
7)velodyne
6 .交换机
1)三旺(3onedata):可PPS授时,单只能做到2分钟一次
2)tsn
二、建图
高精地图一般包括静态图层、定位图层、语义图层和动态图层。静态图层保存道路的
3D 建模信息,包括道路的中心线、拓扑关系、车道边界、连接关系和几何信息等,可用于
路径规划;定位图层包括点云地图、特征点和 landmark(杆状物、交通标志牌等),主要用
于定位;语义图层提供道路的结构化信息,定义了车道线、交通标志和交通规则等,可用于
给感知提供感兴趣区域,提高感知算法的速度;动态图层提供当前路况、实时交通规则和拥
堵情况等实时动态信息,可用于路径规划。对于自动驾驶来说,最终执行的是局部路径规划
(避障)和控制,局部路径规划需要根据当前位置、全局路径规划、车道信息、交通信息和实
时感知结果作出决策。
理论上,高精地图的元素越丰富,定位、感知、规划和控制越可靠,但采集难度、更新
难度和存储空间越大、采集成本越高。因此,出现了“重感知,轻地图”的趋势,比较具有
代表性的是百度 ANP 3.0、特斯拉 FSD 纯视觉和 MobileEye 的众包解决方案。百度 ANP
3.0 使用的地图做了如下优化:
1.采集阶段对地图数据减负。
原先同路段需要通过反复采集的方式来降低误差,成本高,效率低。百度通过线上 PNC
算法优化和地图点云拼接算法的升级,提升对地图精度误差的容错力,每条路线仅需要采集
1 次即可制图,大幅降低了地图生产的外业成本。
2.定位图层降维。
此前,一份高精地图至少需要特征点、激光点云反射值和 Landmark 三份图层数据才
能成图。现在定位算法降低对点云和特征点的依赖,仅依靠 Landmark 定位图层即可支撑
ANP3.0 的城市道路高精自定位。
3.地图元素标注瘦身。
高精地图包含静态,动态多个层面的实物参与。最典型的就是路口红绿灯识别,此前需
要对每个灯头都进行单独标注,并且灯头也需要与其对应的车道线进行绑定关联,标注人员
的操作极为繁复,容易出错。
1、建立地图
高精地图和众包地图一般使用SLAM和深度学习方法结合的方式建立。SLAM在自动驾驶和建图过程中主要有以下作用。
1.建立高精地图
车尾斜装激光雷达(32或64线,线束均匀)扫地面,需要共视的相机着色,顶装激光雷达(64线,距离200米)构建定位地图高精度rtk(包括imu和轮速计)。数据同源要求地图和矢量地图同源,要为同一颗激光雷达采集,要么在同一颗激光雷达轨迹上根据外参拼接另一条激光雷达数据。
1)SLAM在局部定位是准确的,SLAM建图可以保证后期定位的连续性,只使用GPS轨迹拼接定位地图可能会有些突兀。SLAM需要保证相对定位精度的准确性。
2)SLAM可为深度学习算法提供真值,即标注数据;
2.建立众包地图
采集数据,处理数据,构建局部地图,地图校验,更新地图。常用视觉方案,最小系统是GPS、imu、轮速计和单目相机。
使用 VSLAM 构建高精地图首先要解决尺度问题:
- 双目或多目视觉;
- GPS/IMU
- 环境中尺度信息,如车道宽度、相机和地面高度等
- 深度学习方法端到端获得深度
构建方式主要有以下几种:
1)使用传统或深度学习方法识别杆状物、路牌等标志物,然后利用多帧共视关系同时定位和重建物体的 3D 模型,可以使用在线的 SLAM 和离线的 SfM(Structure frommotion)。
2)使用传统或深度学习方法识别车道线等路面信息,使用 VSLAM 定位结果将多帧车
道线拼接重建车道线
3)深度学习方法,如使用 VSLAM 定位结果拼接多帧图像并转到 BEV 视角下,然后通过传统或深度学习方法检测车道线等路面信息
SLAM的作用
1)用于校验深度学习方法精度
2)三维重建
3)估计运动轨迹拼接
2、表示地图
opendrive(适合仿真)、nds(大图商存全国地图)、adasisv3(ehp和ehr通信协议)
3、保存地图
一般需要分块存储,可使用文件名分块存储或使用存储分块(数据库技术)
4、加载地图
1.4邻域
2.8邻域
3.半径区域
4.前进方向区域
5、目标搜索
直接加载就能搜索或加载时重新组织
1.kdtree
2.八叉树
3.栅格地图
通过索引便可搜索,但会存一些空栅格
三、定位
两颗前视相机,一个FOV为30度(挡风玻璃中间),一个FOV为120度(挡风玻璃中间),后视一颗相机(后备箱把手),环视4颗相机(前左右车灯,反光镜向后),周视4颗相机(反光镜向前,尾箱左右),一颗RTK(包括imu和轮速计),前视一颗毫米波,再顶上用一个128线的激光雷达,一个前向固态激光。
1、组合导航(待研究)
1.松耦合
2.紧耦合
3.深耦合
2、高精地图定位
3、SLAM
4、松耦合方案
5、紧耦合方案
6、约束项
1.重投影误差(常见视觉SLAM)
2.相对位姿观测(cartographer)
3.概率地图三线性插值(cartographer)
4.最近点匹配(ICP)
5.点线面之间约束(视觉、激光)
6.点的高斯分布(ndt)
7.像素值插值,类似概率地图
8.估计值和观测值想减(如GPS的绝对观测)
9.相邻两次相减(防止突变)
四、感知
1、传统方法
1.杆
2.牌
3.地面
2、深度学习方法
五、规划
六、控制
七、仿真