利用计算机技术将来自多传感器或多源的信息和数据,在一定的准则下加以自动分析和综合,以完成所需要的决策和估计而进行的信息处理过程。常用的传感器有摄像头、激光雷达、毫米波雷达等。
1.大多数路面上行驶车辆内的传感器都是独立工作的,这意味着它们彼此之间几乎不交换信息。只有把多个传感器信息融合起来,才是实现自动驾驶的关键。
2.由于车辆要实时监测车辆周围的各种信息,因此各传感器的安装角度不同,如相机一般安装在车辆顶部,雷达一般会安装在车头处,车身周围也会有相机的安装,每个传感器收到的信号就会各不相同。
3.如果一个传感器所得到的信息要求汽车立即刹车,而另一传感器显示可以继续安全行驶,或者一个传感器要求汽车左转,而另一个传感器要求汽车右转,在这种情况下,如果不对传感器信息进行融合,汽车就会“感到迷茫而不知所措”,最终可能导致意外的发生。
多传感器融合可显著提高系统的冗余度和容错性,从而保证决策的快速性和正确性,是无人驾驶的必然趋势。各种传感器性能各有优劣,在不同的应用场景里都可以发挥独特的优势,仅依靠单一或少数传感器难以完成无人驾驶的使命。
1. 传感器同步技术
传感器同步技术可以分为三类,硬件同步指使用同一种硬件同时发布触发采集命令,实现各传感器采集、测量的时间同步,做到同一时刻采集相同的信息。时间同步是指通过统一的主机给各个传感器提供基准时间,各传感器根据已经校准后的各自时间为各自独立采集的数据加上时间戳信息,可以做到所有传感器时间戳同步。空间同步较为简单,主要是指将不同传感器坐标系的测量值转换到同一个坐标系中,其中激光传感器在高速移动的情况下需要考虑当前速度下的帧内位移校准。
2. 多传感器融合算法
传感器信息融合算法是多传感器融合的核心,融合算法要足够优化,因为多传感器的使用会使需要处理的信息量大增,这其中甚至有相互矛盾的信息,如何保证系统快速地处理数据,过滤无用、错误信息,从而保证系统最终做出及时正确的决策十分关键。实践证明:与单传感器系统相比,运用多传感器数据融合技术在解决探测、跟踪和目标识别等问题方面,能够增强系统生存能力,提高整个系统的可靠性和鲁棒性,增强数据的可信度,并提高精度,扩展整个系统的时间、空间覆盖率,增加系统的实时性和信息利用率等。
关于多传感器融合的工作原理,我们以车距测量、车速检测和车道线检测为例来说明。 首先是基于激光雷达的车距测量,如图所示为激光雷达的工作原理图,激光发射器发射的激光束经物体反射后由激光接收器接收,通过测量激光信号从发出到接收的时间差,乘以光速可以确定前方车辆的距离;基于发射的激光信号和测量的激光信号之间的时间差和相位差建立二维极坐标系可以确定前方车辆相对于本车的具体位置;通过获取不同俯仰角信号可以获得前方车辆相对于本车的距离、位置,以及前方车辆的高度信息。
距离确定:通过测量激光信号从发出到接收的时间差位置确定:基于时间差和相位差建立二维极坐标系高度信息:通过获取不同俯仰角度的信号获得
基于雷达信号的车速检测是基于多普勒效应:物体辐射的波长因为波源和观测者的相对运动而产生变化。在运动的波源前面,波被压缩,波长变得较短,频率变得较高(蓝移);在运动的波源后面时,会产生相反的效应。波长变得较长,频率变得较低(红移);波源的速度越高,所产生的效应越大。根据波红(蓝)移的程度,可以计算出波源循着观测方向运动的速度。
为使车辆准确识别出车道线,须对由相机获得的道路图像进行预处理,预处理步骤包括:图像灰度化、降噪处理、边缘增强以及二值化。
灰度化是将由相机获得的三个通道RGB的图像转化为更符合人的视觉的灰度图像,便于车载计算机处理;
降噪处理是由于相邻像素差值易受噪声影响,不利于车道线的检测,因此对灰度图像进行降噪处理,以消除噪声的影响,常用的图像降噪处理方法有:线性平滑、非线性平滑、自适应平滑滤波等;
车道线边缘检测即像素梯度较大的地方的识别,当检测到车道线边缘时车道线即可被检测到。车道线边缘增强主要是突出图像的边缘,边缘以外的图像区域被削弱或者被完全去掉。常用的边缘增强方法有:Prewitt算子、Sobel算子、Laplace算子、高斯拉普拉斯算子等。
二值化是图像预处理的最后一步,通过设置合理的阈值,将道路图像二值化。
常用的车道线模型有参数模型、半参数模型和非参数模型;车道线检测方法可具体分为传统方法和机器学习方法。
Hough变换是图像处理中从图像中识别几何形状的基本方法之一,其基本原理在于利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点,这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问题,也即把检测整体特性转化为检测局部特性。比如直线、椭圆、圆、弧线等。 实例可参考:https://blog.csdn.net/rhyijg/article/details/106943551
基于滑动窗口的车道线检测通过直方图检测可确定车道线的起始参考点,但是不能确定车道线的具体形状,通过建立一个矩形窗口,以直方图的峰值为下边线的中心,统计出在这个窗口中车道线像素的分布,由此确定出当前窗口中车道的中心,以这个中心为下一个窗口的下边线中心,不断迭代这个过程,滑动窗口将会不断向上移动,最终将确定完整车道线的点,以此完成车道线检测。 实例可参考:https://blog.csdn.net/rhyijg/article/details/108521716
基于深度学习的方法,依据建立的深度学习模型,通过构建丰富的训练数据集对深度学习模型进行训练可实现对车道线的检测。其优势在于可以在雾天、雨天等天气状况恶劣的情况下依旧获得较为准确的车道线检测结果。 实例可参考:https://blog.csdn.net/rhyijg/article/details/106950506
通过对车距测量、车速检测和车道线检测的介绍,我们能够很直观的知道,无人驾驶汽车完成这些功能至少要需要相机和雷达这两种传感器的融合。
相机的优势在于在图像中易于检测出车辆,可以识别静态障碍物,成本较低,其缺陷在于在恶劣天气难以发挥作用;
雷达的优势在于容易获取前方障碍物的距离信息,其缺陷在于分辨率低,难以识别障碍物类型。通过融合相机和雷达信息,可以克服它们各自的缺陷,发挥出最大优势。
传感器信息融合过程中需要进行时间对准和空间对准。
在传感器进行信息融合时,可以细分为数据级融合、特征级融合和决策级融合。
数据级图像融合是直接在原始数据层上进行融合,该层次的融合准确性最高,相比其他层次上的图像融合该层次上的图像融合具有的更精确、更丰富、更可靠的细节信息,有利于图像更进一步的理解与分析。其缺点是预处理的信息量最大,处理时间较长,对通信带宽的要求高。
特征级融合是指对不同传感器的多源信息进行特征提取,然后再对从多个传感器获得的多个特征信息进行综合分析和处理的过程。特征级融合属于中间层次,为决策级融合做准备,它既保留了重要信息,又对信息进行了压缩,便于实时处理 。 决策级融合是指对每个图象的特征信息进行分类、识别等处理,形成相应的结果,进行进一步的融合过程,最终的决策结果是全局最优决策。
自适应巡航控制( Adaptive Cruise Control )系统,又可称为智能巡航控制系统,简称ACC系统,它是在传统巡航控制基础上发展起来的新一代汽车驾驶员辅助驾驶系统。
它将汽车自动巡航控制系统CCS 和车辆前向撞击报警系统FCWS有机结合起来。ACC不但具有自动巡航的全部功能,还可以通过车载雷达等传感器监测汽车前方的道路交通环境。一旦发现当前行驶车道的前方有其它前行车辆时,将根据本车与前车之间的相对距离及相对速度等信息,通过控制汽车的油门和刹车对车辆进行纵向速度控制,使本车与前车保持合适的安全间距。采用该系统降低了驾驶员的工作负担,大大提高了汽车的主动安全性,扩大了巡航行驶的范围。
ACC首先自主车辆必须确定其前面的车道如何弯曲,以及哪辆车是**“引导车”,即在车道中的ego自我车辆(蓝色)的前面**。最初,领跑车是粉红色车,然后,紫色汽车切入自我车辆ego的车道,成为主导车辆,过了一会儿,紫色的汽车改变到另一个车道,而粉色的汽车再次成为领头车。之后,粉红色的汽车仍然是领头车。
汽车典型ACC系统的基本组成如下图所示,主要由信息感知单元、电子控制单元(ECU)、执行单元和人机交互界面等组成。
人机交互界面用于驾驶员设定系统参数及系统状态信息的显示等。驾驶员可通过设置在仪表盘或转向盘上的人机界面启动或清除ACC系统控制指令。启动ACC系统时,要设定当前车辆在巡航状态下的车速和与目标车辆间的安全距离,否则ACC系统将自动设置为默认值,但所设定的安全距离不可小于设定车速下交通法规所规定的安全距离。
信息感知单元主要用于向电子控制单元(ECU)提供自适应巡航控制所需要的各种信息。它包括测距传感器、转速传感器、转向角传感器、节气门位置传感器、制动踏板传感器等。测距传感器用来获取车间距离信号,一般使用激光雷达或毫米波雷达;转速传感器用于获取实时车速信号,一般使用霍尔式转速传感器;转向角传感器用于获取汽车转向信号;节气门位置传感器用于获取节气门开度信号;制动踏板传感器用于获取制动踏板动作信号。
电子控制单元根据驾驶员所设定的安全车距及巡航行驶速度,结合信息感知单元传送来的信息确定当前车辆的行驶状态,决策出车辆的控制作用,并输出给执行单元。例如当两车间的距离小于设定的安全距离时,ECU计算实际车距和安全车距之比及相对速度的大小,选择减速方式,同时通过报警器向驾驶员发出报警,提醒驾驶员采取相应的措施。
执行单元主要执行电子控制单元发出的指令,它包括油门控制器、制动控制器、挡位控制器和转向控制器等,油门控制器用于调整节气门的开度,使车辆作加速、减速及定速行驶;制动控制器用于紧急情况下的制动;挡位控制器用于控制车辆变速器的挡位;转向控制器用于控制车辆的行驶方向。
ACC主要有两个参数,车速和距离。如果“前面没车”,那么可以使用驾驶员设定的期望车速来行车,这与定速巡航功能相当。如果配合车道保持LKA系统,可以做到沿当前车道一直行驶。如果前车很慢而导致本车不可能用期望车速来行驶,那么ACC可以使得两车保持驾驶员设定的期望车距。在需要时,车辆会自动刹车和/或变速,以保持设置的车速或距离。在某些行驶状况下,还会要求驾驶员主动进行制动,这个警报信息会以声音和视觉方式显示出来。
巡航控制是汽车ACC系统最基本的功能,当前车辆前方无行驶车辆时,当前车辆将处于普通的巡航行驶状态,ACC系统按照设定的行驶车速对车辆进行巡航控制。
减速控制是当前车辆前方有目标车辆,且目标车辆的行驶速度小于当前车辆的行驶速度时,ACC系统将控制当前车辆进行减速,确保两车间的距离为所设定的安全距离。
跟随控制是当ACC系统将当前车辆车速减至理想的目标值之后采用跟随控制,与目标车辆以相同的速度行驶。
加速控制是当前方的目标车辆加速行驶或发生移线,或当前车辆移线行驶使得前方又无行驶车辆时,ACC系统将对当前车辆进行加速控制,使当前车辆恢复到设定的车速。
在ACC系统中,使用模型预测控制的自适应巡航控制系统是较为常见的,接下来我们来介绍一下模型预测控制,即MPC。
如图所示为模型预测控制的原理图。模型预测控制是一种基于模型的闭环优化控制策略。预测控制算法的三要素:内部(预测)模型、滚动优化、反馈控制。
预测控制最大的吸引力在于它具有显式处理约束的能力, 这种能力来自其基于模型对系统未来动态行为的预测, 通过把约束加到未来的输入、输出或状态变量上, 可以把约束显式表示在一个在线求解的二次规划或非线性规划问题中. 模型预测控制具有控制效果好、鲁棒性强等优点,可有效地克服过程的不确定性、非线性和并联性,并能方便的处理过程被控变量和操纵变量中的各种约束。
根据已有的知识和经验(模型)可以预计任务的完成情况只规划未来固定一段时间的任务计划,而不是整个工作周期每一固定时间段结束后检查任务完成情况,然后根据现有状态重新规划下一段时间的任务计划预测模型:预测控制应具有预测功能,即能够根据系统的现时刻的控制输入以及过程的历史信息,预测过程输出的未来值,因此,需要一个描述系统动态行为的模型作为预测模型。常用的预测模型有阶跃响应模型、脉冲响应模型、状态空间模型、传递函数模型、模糊模型等。
滚动优化:预测控制是一种优化控制算法,需要通过某一性能指标的最优化来确定未来的控制作用,预测控制中的优化与通常的离散最优控制算法不同,它采用滚动式的有限时域优化策略。即优化过程不是一次离线完成的,而是反复在线进行的。在每一采样时刻,优化性能指标只涉及从该时刻起到未来有限的时间,而到下一个采样时刻,这一优化时段会同时向前。
反馈矫正:由于存在非线性、模型失配和干扰等不确定因素,使基于模型的预测不可能准确地与实际相符。在预测控制中,通过输出的测量值Y(k)与模型的预估值Ym(k)进行比较,得出模型的预测误差,再利用模型预测误差来对模型的预测值进行修正。由于对模型施加了反馈校正的过程,使预测控制具有很强的抗扰动和克服系统不确定性的能力。
使用以下命令打开主要的Simulink模型:open_system(‘ACCTestBenchExample’) (该命令涉及simulink模块的初始化和开启,响应速度较慢)
具体详解见: