自动驾驶主要模块包括高精地图、定位、感知、预测、规划和控制,模块组成如下图所示。
一、高精地图模块
数据采集:GPS、IMU、激光雷达、摄像机等
数据处理:对收集到的数据进行整理、分类和精简
对象检测:利用人工智能技术检测车道线、交通标志、电线杆等
手动验证:人工手动标记和编辑地图
地图发布:云端发布高精地图
二、定位模块
GPS RTK:
惯性导航(IMU,Inertial measurement unit):主要组件是加速度计和陀螺仪,由于其存在运动误差随时间增加而增加的缺点,只能进行短时间范围内的定位,可解决一段时间内无GPS信号的场景(如隧道中)。
激光雷达:将雷达传感器检测的点云与高精地图进行匹配,获取位置及行驶方向。
视觉方法:拍摄的图像与高精地图比较从而确定位置。
(Apollo使用的是GPS、IMU、激光雷达的多传感器融合定位)
三、感知模块
检测和分类:无人车需要知道障碍物的位置,然后进行分类。静态障碍物包括:墙壁、树木、建筑物等,动态障碍物包括:人、车等。
跟踪:检测分类出的对象进行跟踪。
四、预测模块
对自动驾驶环境中的其他物体的状态进行预测。
五、规划模块
1、定义
接收原始/预处理的外界信息,根据无人车行驶的目的地,规划无人车未来n秒额运动轨迹。
规划模块的输入包括原始感知、定位、高精地图、导航路线等信息,也有一些预处理过对于周围障碍物的运动行为轨迹预测信息,它输出给车辆控制模块,执行左/右转、刹车、油门等操作。即接收离散的信息输入,输出是能用数学语言表达的连续运动轨迹。
2、规划的目标
安全:避让复杂、拥挤环境下额诸多障碍物;
高效:保证足够额灵活性;
舒适:遵守车辆运动学限制,保证路径的平滑,几何形状的合理。
3、组成
规划模块又由路径规划、速度规划组成。
六、控制模块
目标是使用可行的控制输入,最大限度地降低与目标轨迹的偏差、最大限度地提供乘客的舒适度。
控制器的输入:目标估计和车辆状态。
控制器的输出:即控制输入(转向、加速和制动)的值。