第 3章 智能车辆整体构造与设计 3.1智能车辆的整体构造 智能车辆在构造上除了具有或部分具有传统汽车的主要机械和电子结构之外,还具有信息采集系统(感知)、信息处理系统(决策)及控制系统,如图3.1所示。 图3.1智能车辆主要构造 3.1.1信息采集系统 信息采集系统主要由车辆状态信息采集系统和环境信息采集系统两部分构成。其中车辆状态信息采集系统由汽车内部的各种传感器构成,得到车辆的速度、加速度以及偏航角等状态信息。环境信息采集系统由分布在汽车周围的传感器组成,包括视觉相机、超声波雷达、毫米波雷达、激光雷达以及红外成像仪等,根据每种传感器的特点和用途合理地布置在 车辆上,采集车辆自身以及道路和环境的信息。 1. 车辆状态信息采集系统 车辆状态信息采集系统所使用的传感器主要有车速传感器、GNSS、节气门位置传感器、转角传感器、转矩传感器等。车辆的速度和加速度主要通过安装在发动机输出轴和变速箱输出轴的车速传感器、车轮的轮速传感器以及GNSS获得。常用的车速传感器有光电式、 舌簧开关式、霍尔式以及磁感应式等。 舌簧开关式转速传感器示意图如图3.2所示,开关触点封装在玻璃管中,永久磁铁转子上的磁极按照NS极相间的顺序排列。当开关触点处在两个磁极之间时(图3.2(a)),两个触点被磁化成极性相反的磁极,在磁力的作用下闭合。当开关触点只受一个磁极的作用时(图3.2(b)),开关触点被磁化成极性相同的磁极,开关触点断开。一般永久磁铁被划分成NS极相间的4个磁极,如图3.2(c)所示,因此永久磁铁转动一圈,舌簧开关会开闭4次,输出4个脉冲信号,电子控制单元(electronic control unit,ECU)通过检测脉冲信号的频率高低计算出汽车的行驶速度。舌簧开关式传感器靠机械的通断产生信号,可靠性较差,使用寿命较短,逐渐被霍尔式或磁电式传感器取代。 图3.2舌簧开关式转速传感器示意图 霍尔式转速传感器属于霍尔式传感器,是利用霍尔效应的原理制成的。利用霍尔效应使霍尔元件在磁场中运动产生霍尔电势。霍尔式转速传感器是一种小型封闭式传感器,具有性能稳定、功耗小、抗干扰能力强、使用温度范围宽等优点。如图3.3所示,磁性转盘上一般安装多个磁铁或者加工为多个磁极,输入轴每转一圈霍尔传感器会发出多个脉冲,一般有单脉冲、双脉冲、4脉冲、8脉冲、16脉冲等不同形式。霍尔式转速传感器一般用于车速测量,传感器安装在变速器输出轴附近的壳体上,用于检测变速器输出轴的转速,根据该转速计算车速。 图3.3霍尔式转速传感器示意图 磁电式车速传感器由永久磁铁和电磁感应线圈组成,如图3.4所示。车轮齿圈上的齿轮为感应转子,当车轮转动时,齿轮的凸齿不断地靠近或离开车速传感器,使感应线圈内的磁通量发生变化,从而产生交流电。轮速越高,齿轮转速也越高,感应电压脉冲频率也越高,ECU根据感应电压脉冲的大小计算汽车行驶的速度。磁电式传感器结构简单、可靠性高,可以在恶劣的环境下工作,目前很多制动防抱死系统(ABS)和车身电子稳定系统(electronic stability program,ESP)的轮速传感器采用磁电式传感器。发动机的转速测量一般也使用磁电式传感器。 图3.4磁电式车速传感器 目前应用最广泛的GNSS为全球定位系统(GPS), GPS是美国于1967年开始研制的新一代卫星导航系统。GPS系统主要由三大部分组成: 空间部分、地面监控系统和用户设备。空间部分由21颗工作卫星和3颗备用卫星组成,均匀分布于地球上空20.2km的6个轨道面上,保证地面任何一个位置在任何时间至少观测到4颗卫星,实现定位功能。地面监控系统由1个主控站、3个注入站和5个监测站组成,分别负责卫星的操纵、向卫星注入卫星星历和钟差信息、跟踪测量卫星信息并汇总主控站等功能。用户设备的核心是GPS接收机,用于接收卫星发播的信号,获取定位的观测值,提取导航电文中的广播星历,完成导航工作。GPS最主要的应用就是授时和定位,以及和定位有关的其他延伸功能,比如运动导航,轨迹记录、大地测量、周边信息查询等。车载GPS主要用来定位和测速, 定位原理是根据卫星的瞬时位置,利用到达时间原理或载波相位原理测量观测点和卫星之间的距离(伪距),然后综合多颗卫星的数据就可知道接收机的具体位置。具体如以下公式: P1=(x-x1)2+(y-y1)2+(z-z1)2+c(dt-dt1) P2=(x-x2)2+(y-y2)2+(z-z2)2+c(dt-dt2) P3=(x-x3)2+(y-y3)2+(z-z3)2+c(dt-dt3) P4=(x-x4)2+(y-y4)2+(z-z4)2+c(dt-dt4) (3.1) 其中,(x1,y1,z1)(x2,y2,z2),(x3,y3,z3),(x4,y4,z4)是卫星的位置; P1、P2、P3、P4是伪距; c是光速; dt是卫星时钟与接收机时钟的钟差。 dt1、dt2、dt3、dt4 是GPS卫星发射电文后到达接收机的时间。 速度测量是基于多普勒频率位移原理。每个卫星频率的多普勒位移是接收机和卫星沿它们之间的直线的相对速度的直接度量,由于卫星轨道运动和接收机所处地球旋转运动,每个卫星相对于一个静止接收机具有非常高的速度。通过前面介绍的伪距方程对时间求导可求出速度解。 2. 环境信息采集系统 环境信息采集系统是自动驾驶汽车其他技术的数据基础,通过视觉相机、毫米波雷达、激光雷达、超声波传感器等设备采集周边环境信息,实时发送给处理器,形成对周边环境的认知模型,为路径规划、实时决策和行车控制提供依据。 视觉传感器采用的是工业摄像机,是最接近人类视觉的传感器。摄像机将被摄取目标转换成图像信号,传送给专用的图像处理系统,根据像素分布、亮度、颜色等信息,转变成数字化信号。图像系统对这些信号进行各种运算来抽取目标的特征,进而得到环境的信息。在自动驾驶汽车上,机器视觉主要用于路径的识别与跟踪,识别环境中的车辆、行人、车道线、路标、交通标志、交通信号灯等。目前的摄像头主要分为单目、双目、后视和环视4种,其中单目摄像头一般安装在前挡风玻璃上部,用于探测车辆前方环境,识别车辆、道路、行人等。先通过图像匹配进行目标识别,再通过目标在图像中的大小估算目标的距离。这就要求对目标进行准确识别,然后建立一个庞大的样本特征数据库。双目摄像头是通过对两幅图像的视差计算直接对前方景物进行距离测量,无需判断前方出现的是什么类型的障碍物。依靠两个平行的摄像头采集图片产生的“视差”,找到同一个物体所有的点,依赖精确的三角测距,就能够计算出摄像头与前方障碍物的距离,实现更高的识别精度和更远的探测范围。机器视觉技术是目前智能车辆领域发展最快的技术之一,与其他传感器相比,机器视觉具有检测信息量大、能够遥测等优点,但数据处理量大,容易导致系统的实时性问题。 如图3.5为某ADAS上摄像头的分布。 在视觉驾驶辅助系统领域,Mobileye一直处于世界领先水平,运用单摄像头附带传感器和特有算法,将物体探测任务在单一硬件平台上执行。这使得设备安装程序大为简化,成本也大大降低,从而受到各大车企的青睐。特斯拉汽车的AutoPilot 自动辅助驾驶导航系统就是以机器视觉为主,在Model S以及Model X上一共搭载了8个光学摄像头。在前置挡风玻璃区域嵌入了3个光学摄像头,其中一个是窄角摄像头,覆盖范围可达250m; 一个是中程摄像头,覆盖范围达150m,这是最主要的摄像头; 另外一个则是广角摄像头,覆盖范围较短,仅有60m; 在汽车的周围和后面还有5个光学摄像头,用不同的视角来观察周围的环境。 在汽车行驶时除了需要前方障碍物的信息外,还要知道前方行人和车辆的移动信息,包括两车的相对位置、前车的速度和加速度等,因此雷达技术可以轻松解决视觉技术在深度信息方面的难题。毫米波雷达(图3.6),主要由高频头、预处理系统、终端系统和红外启动器等组成。其测距原理与一般雷达一样,雷达天线将毫米波信号发出去,信号在传播过程中遇到障碍物会被反射,通过雷达的接收天线接收回波,根据收发之间的时间差测得目标的位置数据,从而得到前方障碍物的距离。利用多普勒原理或基于位置跟踪的速度测量原理可以得到前方目标的径向速度。 图3.5某ADAS上摄像头的分布 图3.6某型号毫米波雷达外形示意图 激光雷达,是利用激光束探测目标,获得目标的位置速度等数据并生成精确的数字高程模型的传感器。以激光作为信号源,由激光器发射出的脉冲激光打到目标上,引起散射,一部分光波会反射到激光雷达的接收器。图3.7是威力登(Velodyne)的激光雷 图3.7Velodyne激光雷达 达产品。根据激光测距的原理计算,就得到从激光雷达到目标点的距离,脉冲激光不断地扫描目标物就可以得到目标物上全部目标的数据,用此数据成像处理后,就可得到精确的三维立体图像。激光雷达测量时间差的方法主要有以下3种: (1) 脉冲检测法: 直接测量反射脉冲和发射脉冲之间的时间差。 (2) 相干检测法: 通过测量调频连续波的发射光束和反射光束之间的差频来计算时间差。 (3) 相移检测法: 通过测量调幅连续波的发射光束和反射光束之间的相位差来计算时间差。 激光雷达按有无机械旋转部件分类,包括机械激光雷达和固态激光雷达。机械激光雷达(图3.8)带有控制激光发射角度的旋转部件,而固态激光雷达则依靠电子部件来控制激光发射角度,无需机械旋转部件。机械激光雷达由光电二极管、MEMS反射镜、激光发射接收装置等组成。 固态激光雷达与机械雷达不同,它通过光学相控阵列、光子集成电路以及远场辐射方向图等电子部件代替机械旋转部件实现发射激光角度的调整。激光雷达有单线和多线之分,单线激光雷达只能获取周围环境的二维信息,无法识别目标的高度信息,而多线激光雷达可以同时发射并接收多束激光的激光,多束激光呈一定角度分布,可以获取周围环境的离散三维信息,目前市场上主流的多线激光雷达有4线、16线、32线和64线。激光雷达线数越多,识别的数据点数也越多,数据量也随之增大,价格也越高。 图3.8机械式激光雷达结构示意图 激光雷达工作于光学波段,发射的激光束一般是可见或近红外光波,波段一般在950nm附近,频率比微波高2~3个数量级以上,因此,与微波雷达相比,激光雷达具有极高的距离分辨率、角分辨率和速度分辨率; 激光波长短,可发射发散角非常小(μrad量级)的激光束,多路径效应小(不会形成定向发射,与微波或者毫米波产生多路径效应),可探测低空/超低空目标,抗干扰能力强; 激光主动探测,不依赖于外界光照条件或目标本身的辐射特性。它只需发射自己的激光束,通过探测发射激光束的回波信号来获取目标信息。但是,激光雷达很容易受到大气条件以及工作环境的烟尘的影响,成像速度较慢。 3.1.2信息处理系统 信息处理系统既包含软件部分也包含硬件部分,主要功能是决策和路径规划,具体表现在融合多传感器的信息,根据驾驶的需求进行任务决策,在可以躲避障碍物、安全到达终点等特定的约束条件下,规划出起始点之间的多条可选的安全路径,并从中选取一条最优的路径作为车辆的行驶轨迹。 1. 软件部分——路径规划 自动驾驶汽车的路径规划按照规划的范围主要分为全局路径规划和局部路径规划两种。全局路径规划是利用卫星定位和导航系统,根据先验的环境模型(例如全局地图等)中,从起点到终点规划出一条合理的路径,而不考虑车辆的运动细节。局部的路径规划则具体到车辆的运动轨迹和细节,根据传感器获取周围环境的信息(道路及障碍物信息),在换道、转弯、躲避障碍物等情况下,实时规划出一条安全、平顺的行驶路径。也有分类将路径规划算法分为静态路径规划和动态路径规划,其分类方式与前者几乎相同(图3.9)。 图3.9路径规划算法分类 1) 可视图法 可视图法把自动驾驶汽车视为一点,将机器人、目标点和多边形障碍物的各顶点进行组合连接,要求汽车和障碍物各顶点之间、目标点和障碍物各顶点之间以及障碍物顶点与顶点之间的连线,均不能穿越障碍物,即直线是可视的。搜索最优路径问题转化为从起始点到目标点经过这些可视直线的最短距离问题。 2) 栅格法 栅格法是地图建模的一种方法,实质上是将AGV的工作环境进行单元分割,将其用大小相等的方块表示出来, 以栅格为单位记录环境信息,有障碍物的地方累积值比较高,移动机器人就会采用优化算法避开。环境被量化成具有一定分辨率的栅格,栅格大小直接影响环境信息存储量大小和规划时间长短。栅格划分大,环境信息存储量小,规划时间短,但分辨率下降,在密集环境下发现路径的能力减弱。栅格划分小,环境分辨率高,在密集环境下发现路径的能力强,但环境信息存储量大,导致规划时间增加。 3) 拓扑法 拓扑法将规划空间分割成具有拓扑特征子空间,根据彼此的连通性建立拓扑网络,在网络上寻找起始点到目标点的拓扑路径,最终由拓扑路径求出几何路径。拓扑法的基本思想是降维法,即将在高维几何空间中求路径的问题转化为低维拓扑空间中判别连通性的问题。优点是利用拓扑特征大大缩小了搜索空间,算法复杂性仅依赖于障碍物数目,理论上是完备的; 而且拓扑法通常不需要机器人的准确位置,对于位置误差也就有了更好的鲁棒性。缺点是建立拓扑网络的过程相当复杂,特别在增加障碍物时如何有效地修正已经存在的拓扑网是有待解决的问题。 4) Dijkstra算法 它是最短路径的经典算法之一,由迪杰斯特拉(E.W.Dijkstra)在1959 年提出。算法解决的是有向图中单个源点到其他顶点的最短路径问题,其主要特点是每次迭代时选择的下一个顶点是标记点之外距离源点最近的顶点。该算法优点是思路清晰,搜索准确,但由于该算法主要计算从源点到其他所有点的最短路径,输入为大型稀疏矩阵,耗时长,占用空间大,所以算法的效率较低。 5) Lee算法 与Dijkstra 算法相比,Lee算法更适合用于数据随时变化的道路路径规划,其运行代价要小于Dijkstra 算法。只要最佳路径存在,Lee算法就能够找到最佳优化路径。 6) Floyd算法 Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似,它是一种计算图中任意两点间的最短距离的算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包。 7) 启发式搜索算法——A*算法 A*算法常用于二维地图路径规划,算法所采用的启发式搜索可以利用实际问题所具备的启发式信息来指导搜索,从而减少搜索范围,控制搜索规模,降低实际问题的复杂度。A*算法的原理是设计一个代价估计函数,其中评估函数 F(n)是从起始节点通过节点n到达目标节点的最小代价路径的估计值,函数 G(n)是从起始节点到n节点的已走过路径的实际代价,函数H(n)是从n节点到目标节点可能的最优路径的估计代价 。函数 H(n)表明了算法使用的启发信息,它来源于人们对路径规划问题的认识,依赖某种经验估计。根据 F(n)可以计算出当前节点的代价,并可以对下一次能够到达的节点进行评估。采用每次搜索都找到代价值最小的点再继续往外搜索的过程,一步一步找到最优路径。 A*算法通过引入估价函数,加快了搜索速度,提高了局部择优算法搜索的精度,从而得到广泛的应用,是当前较为流行的最短路径算法。 8) 双向搜索算法 双向搜索算法在从起点开始寻找最短路径的同时也从终点开始向前进行路径搜索,最佳效果是二者在中间点汇合,这样可缩短搜索时间。 9) 蚁群算法 蚁群算法是一种随机搜索算法,是在对大自然中蚁群集体行为的研究基础上总结归纳出的一种优化算法,它能够求出从原点出发,经过若干个给定的需求点,最终返回原点的最短路径。 具有较强的鲁棒性,而且易于与其他方法相结合。 2. 硬件部分——计算平台 进入自动驾驶时代,控制器需要接收、分析、处理大量的信号,原有的一个功能对应一个ECU的分布式计算架构或者单一分模块的域控制器已经无法适应需求,比如摄像头、毫米波雷达、激光雷达乃至GPS和轮速传感器的数据都要在一个计算中心内进行处理以保证输出结果对整车自动驾驶最优。因此,自动驾驶车辆的各种数据聚集、融合处理, 为自动驾驶的路径规划和驾驶决策提供支持的多域控制器将会是发展的趋势。 车辆的信息处理系统的计算平台主要以CPU、GPU、DSP、FPGA为主。 1) 基于CPU的自动驾驶解决方案 众所周知,中央处理器(central processing unit,CPU)是计算机的运算核心和控制核心,其主要功能是解释计算机指令以及处理计算机软件中的数据。如图3.10所示,CPU主要由控制单元、运算单元、存储单元和总线等部分组成。控制单元 CU(control unit)是整个CPU的指挥控制中心,由指令寄存器IR(instruction register)、指令译码器ID(instruction decoder)和操作控制器OC(operation controller)3个部件组成。控制单元的作用是管理计算机资源,通过提供定时和控制信号来指导其他单元的操作,告诉计算机的内存、算术逻辑单元以及输入和输出设备如何响应已发送到处理器的指令。运算单元也就是算术逻辑单元(arithmetic logic unit,ALU),接受控制单元的命令,执行算术运算和逻辑运算。ALU的输入是要操作的数据,称为操作数,以及指示要执行的操作的代码,ALU的输出是执行操作的结果。在许多设计中,ALU还具有状态输入或输出或两者,它们分别在ALU和外部状态寄存器之间传送关于先前操作或当前操作的信息。存储单元包括CPU片内缓存和寄存器组,是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。简单来说,CPU就是对指令流和数据流进行时间和空间上的控制。CPU擅长处理诸如分布式、协调控制这种复杂运算,具有很强的通用性。 图3.10CPU组成结构示意图 2) 基于GPU的自动驾驶解决方案 GPU(graphics processing unit)也称图形处理器,是计算机上专为执行复杂的数学和几何计算而设计的用于图形处理的微处理器。随着技术的发展,GPU已经不仅仅局限于二维和三维图形的处理,与CPU相比,GPU的优势体现在其高效的并行性和强大的浮点计算能力。 图3.11对CPU与GPU中的逻辑架构进行了对比。可以看到GPU设计者将更多的晶体管用作执行单元,而不是像CPU那样用作复杂的控制单元和缓存。从实际来看,CPU芯片空间的5%是ALU,而GPU空间的40%是ALU。CPU需要同时很好地支持并行和串行操作,需要很强的通用性来处理各种不同的数据类型,同时又要支持复杂通用的逻辑判断,这样会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂,计算单元的比重被降低了。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境,具有高并行结构,因此GPU的计算能力远远强于CPU。 图3.11CPU和GPU结构对比 目前,在自动驾驶计算平台领域,应用最为广泛的是英伟达(Nvidia)的自动驾驶计算平台。在自动驾驶时代之前,英伟达很早就通过Tegra系列处理器进入了众多整车厂的供货商名单,不过早年NvidiaTegra负责的主要还是车载娱乐方面。比如,奥迪新A8采用的自动驾驶平台zFAS中使用了NvidiaTegraK1芯片,负责处理车辆的环视影像; 但zFAS负责实现自动驾驶功能的芯片是MobileyeQ3和Altera的CycloneV。Nvidia自动驾驶芯片始于2015年初推出的DrivePX系列。 图3.12NAVIDA Drive PX2自动驾驶计算平台 2015年1月在国际消费类电子产品展览会(International Consumer Electronics Show,CES)上英伟达发布了第一代DrivePX。DrivePX搭载TegraX1处理器和10GB内存,能够同时处理12个200万像素摄像头每秒60帧的图像拍摄,单浮点计算能力为2TopsTops为算力单位,代表处理器每秒钟可进行一万亿次(1012)操作。,深度学习计算能力为2.3Tops,可支持L2高级辅助驾驶计算需求。2016年1月在CES上英伟达又发布了新一代产品DrivePX2,如图3.12所示。DrivePX2基于16nm FinFET工艺制造,散热设计功耗(thermal design power,TDP)达250W,采用水冷散热设计,支持12路摄像头输入、激光定位、雷达和超声波传感器。其中,CPU部分由两颗NVIDIATegra2处理器构成,每颗CPU包含8个A57核心和4个Denver核心; GPU部分采用两颗基于NVIDIAPascal架构设计的GPU。单精度计算能力达到8TFlops,深度学习计算能力达到每秒24万亿次,在单精度运算速度上是DrivePX的4倍,深度学习速度是DrivePX的10倍,可以满足L3自动驾驶的运算要求。 DriveXavier是英伟达研发的自动驾驶处理器,最早在2016年欧洲GTC大会上提出,2018年1月在CES上正式发布。同时发布的还有全球首款针对无人驾驶出租车打造的车载计算机DrivePXPegasus。在配置方面,Xavier基于一个特别定制的8核CPU、一个全新的512核VoltaGPU、一个全新深度学习加速器、全新计算机视觉加速器以及全新8KHDR视频处理器而打造。每秒可运行30万亿次计算,功耗仅为30W,能效比上一代架构高出15倍,可以满足L3/L4自动驾驶的计算需求。 3) 基于DSP的自动驾驶解决方案 DSP(digital singnal processor)又叫数字信号处理器,它有完整的指令系统,是以数字信号来处理大量信息的芯片。一个数字信号处理器在一块不大的芯片内包括控制单元、运算单元、各种寄存器以及一定数量的存储单元等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能。DSP采用的是哈佛总线结构,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大地提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,增加了器件的灵活性。 如图3.13所示,德州仪器提供了一种基于DSP的无人驾驶解决方案。其TDA2x SoC拥有两个浮点DSP内核C66x和4个专为视觉处理设计的完全可编程的视觉加速器。相比ARM Cortex15处理器,视觉加速器可提供8倍的视觉处理加速且功耗更低。全新T 图3.13德州仪器TDA2x DA3x处理器和TDA平台的其他SoC一样都基于相同的架构而开发可支持车道线保持、自适应巡航控制、交通标志识别、行人与物体检测、前方防碰撞预警和倒车防碰撞预警等多种ADAS算法。这些算法对于前置摄像头、全车环视、融合、雷达与智能后置摄像头等众多ADAS应用的有效使用至关重要。此外,TDA3x