自动驾驶的三个板块
感知模块
感知模块:负责三类任务,运动状态估计、自身位置估计、外部环境态势观测。
从传感器采集信号开始,感知模块就已经在运作了,这个模块复杂程度最高,技术难度最大,各种不同的传感器采集的信号不同,组织形式不同,所以难度也很大。例如:核心的几个东西,
IMU:即惯性测量单元,确定当前速度、加速度、横摆角速度、前轮转角状态
定位:北斗、GPS,提供经纬度坐标值,RAC技术
视觉传感器:车身一般会配备多个摄像头,包括多个大角度鱼眼摄像头、前后向的远视距摄像头等。
激光雷达:提供车身周围一定范围的点云信号,可以理解为距离
毫米波雷达:如果要测得远,可测量的角度就会变小。毫米波雷达分为24Ghz和77Ghz频段。测距测速能力强。在雨雪天气时的鲁棒性很好,但是对高处物体和小物体检测效果有限。
超声波雷达:测量的距离更近了,因为频率更低,低频波束在传播中容易耗散
好,有这几个东西,基本上感知系统就有一些保障了
当然,单个传感器的原始数据很多很复杂,每一个的置信度都不是百分之百,所以要有组织形式,这个也属于感知模块要做的事情
例如,视觉传感器要和雷达传感器相互配合,锁定值得关注的目标,辨识目标的类别,追踪并预测其未来运动的趋势。此外还有V2X这样的方法来弥补不足。
决策模块
决策模块是什么呢?我这么理解,决策模块是系统的信息处理中心,它是推理和总结的部分,是汽车大脑中用来思考的那一部分。它是基于上一层感知模块的,
由信息—形成行车行为的宏观和微观决定,并决定具体的行车轨迹,这个轨迹是是符合实际车辆物理性质的(比如说动力学约束)
它分为以下这两个方面:
1、行为决策:什么是行为决策,确定车辆当前需采取的行驶方式类别,例如说什么换道绕行,降速让行,加速抢行,停车、跟随这种类似的任务。这个过程中,需要考虑很多因素比如说驾驶行为的合法性(这个贼关键)比如说安全性、舒适性,做出这个决策的依据包括外部的:交通规则、障碍物、车道线、内部系统限制因素,例如:车辆实际运动能力,车辆行为的合理性(谁没事儿来一大脚刹车不是?),是否节能高效。
2、运动规划:就是轨迹
整个决策模块输出的最终产物是时空连续的局部行车轨迹。
控制模块
这个就好理解了,控制模块的作用就是将决策模块生成的路径(开环轨迹)以闭环跟踪的形式执行起来,怎么做呢?
首先,控制模块有一个翻译的过程,它会把开环轨迹解析为一系列的地盘动作指令,比如说,方向盘角度、油门、刹车、挡位,反应了车辆实施的加速程度,制动力度,转向角度,转向速率等等。
当然,绝对理想的情况下按照时间顺序直接下发这些指令就可以控制本体完成既定的运动轨迹,但是事实上底盘和外部环境不可能不存在偏差,
首先是底盘响应偏差,还有各种外部因素的扰动,那么还需要随时监测车辆自身位置和运动状态等信息,然后形成一个闭环控制。
闭环控制频率:控制模块的执行频率,执行频率可以理解为多久执行一次控制策略,比如说0.01s执行一次控制算法。
为了监测实际的效果,修正偏差,一般将控制模块的执行频率设置得较大,最大可设置为获取定位、运动状态信息的相应传感器的工作频率。