专栏名称: 传感器技术
制造业的未来是智能化,智能化的基础就是传感器; 互联网的方向是物联网,物联网的基石也是传感器; 关注传感器技术,获得技术资讯、产品应用、市场机会,掌握最黑科技,为中国工业导航。
目录
相关文章推荐
仙人JUMP  ·  婚宴就该在海底捞办 ·  昨天  
仙人JUMP  ·  婚宴就该在海底捞办 ·  昨天  
品牌星球BrandStar  ·  市集,如何成为品牌的立体杂志? ·  2 天前  
品牌星球BrandStar  ·  市集,如何成为品牌的立体杂志? ·  2 天前  
金色旋风  ·  卖一天5道题,卖了32万多! ·  2 天前  
金色旋风  ·  卖一天5道题,卖了32万多! ·  2 天前  
不跪的世界  ·  为什么广义税负和福利水平背离? ·  3 天前  
中建国际  ·  建证高质量发展 | ... ·  6 天前  
51好读  ›  专栏  ›  传感器技术

无人驾驶硬件平台详解

传感器技术  · 公众号  ·  · 2017-05-27 05:35

正文


无人驾驶硬件系统是多种技术、多个模块的集成,主要包括:传感器平台、计算平台、以及控制平台。本文将详细介绍这三个平台以及现有的解决方案。希望本文对无人驾驶从业者以及爱好者选择硬件的时候有帮助。




一、无人驾驶: 复杂系统


无人驾驶技术是多个技术的集成,如图1所示,一个无人驾驶系统包含了多个传感器,包括长距雷达、激光雷达、短距雷达、车载摄像头、超声波、 GPS、 陀螺仪等。


每个传感器在运行时都不断产生数据,而且系统对每个传感器产生的数据都有很强的实时处理要求。


比如摄像头需要达到60 FPS的帧率,意味着留给每帧的处理时间只有16毫秒。但当数据量增大了之后,分配系统资源便成了一个难题。


例如,当大量的激光雷达点云数据进入系统,占满CPU资源,就很可能令摄像头的数据不能得到及时的处理,导致无人驾驶系统错过交通灯的识别,造成严重后果。


因此,合理地选择计算平台完成实时的大规模传感数据处理,进行实时的驾驶预警与决策,对无人驾驶的安全性、可靠性、持续性至关重要。


在提供高性能的数据处理支持的同时,计算平台还需要兼顾功耗、散热、硬件体积等问题,这对于持续的安全行驶同样重要。因此,在现有无人车计算平台中,各种硬件模块都有相关集成解决方案。


不同的计算单元通过Switch或PCIe Switch相连,进行数据交换,完成协同运算。无人驾驶中除了需要对智能驾驶相关的传感器数据进行计算与决策,还需要传统汽车中各个机械部件进行配合控制,完成驾驶操作的执行与转换。


这就需要控制平台:ECU与通信总线的协助。ECU从用途上讲是汽车专用微机控制器,它使用一套以精确计算和大量实验数据为基础的固定程序,不断地比较和计算各个机械部件传感器的数据,然后发出指令,完成机械控制。通信总线如CAN、USB3.0、LIN等则是在这个过程中实现汽车数据共享以及指令的有效传达。 


图1 无人驾驶硬件平台范例


二、传感器平台


目前现有的车载传感器包括超声波雷达、激光雷达、毫米波雷达、车载摄像头、红外探头等。目前主流的无人驾驶传感平台以激光雷达和车载摄像头为主,并呈现多传感器融合发展的趋势。


基于测量能力和环境适应性,预计激光雷达和车载摄像头会持续传感器平台霸主的地位,并不断与多种传感器融合,发展出多种组合版本。完备的无人驾驶系统应该如图2所示,各个传感器之间借助各自所长相互融合、功能互补、互为备份、互为辅助。 


图2 各种传感器在无人驾驶中的应用


  • 激光雷达


激光雷达的工作原理是利用可见和近红外光波(多为950nm波段附近的红外光)发射、反射和接收来探测物体。激光雷达可以探测白天或黑夜下的特定物体与车之间的距离。由于反射度的不同,也可以区分开车道线和路面,但是无法探测被遮挡的物体、光束无法达到的物体,在雨雪雾天气下性能较差。


激光雷达在无人驾驶运用中拥有两个核心作用。3D建模进行环境感知。通过雷射扫描可以得到汽车周围环境的3D模型,运用相关算法比对上一帧和下一帧环境的变化可以较为容易的探测出周围的车辆和行人。


SLAM加强定位。3D雷射雷达另一大特性是同步建图(SLAM),实时得到的全局地图通过和高精度地图中特征物的比对,可以实现导航及加强车辆的定位精度。


  • 激光雷达分类与产品


LIDAR以单线/多线及距离两大因素为标准,价格从几百美金到几万美金不等。单线激光雷达的应用在国内已经相对较广,像扫地机器人使用的便是单线激光雷达。单线激光雷达可以获取2D数据,但无法识别目标的高度信息。而多线激光雷达则可以识别2.5D甚至是3D数据,在精度上会比单线雷达高很多。


目前在国际市场上推出的主要有4线、8线、16线、32线和64线。随着线数的提升,其识别的数据点也随之增加,所要处理的数据量也非常巨大。


比如,Velodyne的HDL-32E 传感器每秒能扫描70万个数据点,而百度无人车和Google无人车配备的Velodyne HDL-64E通过64束的雷射束进行垂直范围26.8度,水平360度的扫描,每秒能产生的数据点则高达130万。


Velodyne HDL-64E的内部结构如图3,主要由上下两部分组成。每部分都发射32束的雷射束,由两块16束的雷射发射器组成,背部是包括信号处理器和稳定装置。 


图3 激光雷达结构图


激光雷达雷射发射器线束越多,每秒采集的云点就越多。然而线束越多也就代表雷射雷达的造价就更加昂贵,以Velodyne的产品为例,64线束的雷射雷达价格是16线束的10倍。HDL-64E单个定制的成本在8万元左右。


目前,Velodyne公司已经开发出了相对便宜的LiDAR传感器版本HDL-32E和HDL-16E。其中HDL-16E是由16束雷射取代64束雷射,支持360度无盲区扫描,牺牲一定的数据规模云点,每秒钟只提供30万个数据点,但是售价仍高达售价8千美元。 


表1 Velodyne激光雷达详细数据


图4 Velodyne激光雷达


如果激光雷达要想在无人车上普及首先就应该降低价格。有两种解决办法:其一,采用低线数雷达配合其他传感器,但需搭配拥有极高计算能力系统的无人车;其二,采用固态激光雷达。


激光雷达最贵的就是机械旋转部件,固态激光雷达无需旋转部件,采用电子设备替代,因而体积更小,方便集成在车身内部,系统可靠性提高,成本也可大幅降低。但由于缺乏旋转部件,水平视角小于180°,所以需要多个固态雷达组合一起配合使用才行。


在CES2016上展出的两款重量级产品,其一是来自Quanergy的“固态”Solid State雷射雷达S3,采取相控阵技术,内部不存在任何旋转部件,仅为一盒名片大小,单个售价初步定在250美元,量产后可能降至100美元;其二是由Velodyne与福特共同发布的混合固态雷射雷达VLP-16 PUCK,2020年计划量产价为500美元,2025年计划把成本控制在200美金以内。


奥迪的无人驾驶汽车A7 Piloted Driving就采用了Ibeo和Valeo合作的Scala混合固态雷射雷达,在外观上看不到旋转部件,但内部仍靠机械旋转实现雷射扫描。此前国内雷达制造商速腾聚创宣布完成的16线激光雷达采用的也是混合固态的形式。


固态雷达雷达产品则由于采用电子方案去除了机械旋转部件,因此具有低成本(几百美元级别)和体积小、可集成至传统车辆外观中的特点。行业对固态雷达的出现仍处观望态度,主要因为:首先,对成本是否能有如此大幅下降抱有疑问;其次,激光特性在大雾等天气仍然并不适用。


  • 国内外制造现况


目前,激光雷达已被应用在某些无人驾驶试验车中:


Google和百度的无人驾驶试验车均采用了Velodyne的64线雷射雷达;福特的混动版蒙迪欧安装了Velodyne的32线雷射雷达,第三代自动驾驶车辆Fusion Hybrid配置了2台Velodyne的混合固态雷射雷达;


日产LEAF搭载了6个Ibeo的4线雷射雷达,测试了其高级驾驶辅助系统;奥迪的无人驾驶汽车A7 Piloted Driving采用了Ibeo和Valeo合作的Scala混合固态雷射雷达;


德尔福无人驾驶汽车配备了4台由Quanergy研发的固态雷射雷达;大众的一款半自动驾驶汽车搭载了Scala,该雷射雷达隐藏在保险杠内,用于取代毫米波雷达做AEB的测距模块。


国外激光雷达研发厂商比较有代表性的有 Velodyne、Ibeo和Quanergy,并且他们都背靠巨头。Velodyne成立于1983年,位于加州硅谷。当年美国举办的世界无人车挑战赛获得第一名和第二名的高校卡耐基梅隆大学和斯坦福大学,使用的就是Velodyne的激光雷达。


目前其已有包括 Velodyne16、32、64线激光雷达三个系列。Ibeo 是无人驾驶激光雷达供应商,成立于1998年, 2010年和法雷奥合作开始量产可用于汽车的产品 ScaLa,其目前主要供应4线和8线的激光雷达。Quanergy位于加州硅谷硅谷中心,成立于2012 年,虽然相对“年轻”,但它造出了全球第一款固态激光雷达。


国内在激光雷达研发的企业则主要有北醒光子、思岚科技、镭神智能、速腾聚创、禾赛科技。其中,北醒光子目前的产品有三大系列:单线环境雷达DE-LiDAR 1.0、多线长距雷达DE-LiDAR 2.0 和固态雷达DE3.0系列(多线长距雷达目前正在研发,可做到8到32线);镭神智能成立于2015年初,是一家提供中远距离脉冲测距激光雷达等产品及解决方案的公司;速腾聚创刚宣布完成其混合固态的16线激光雷达研发。 


表2 Velodyne和Ibeo产品规格对比


  • 毫米波雷达


毫米波雷达通过发射无线电信号(毫米波波段的电磁波)并接收反射信号来测定汽车车身周围的物理环境信息(如汽车与其他物体之间的相对距离、相对速度、角度、运动方向等),然后根据所探知的物体信息进行目标追踪和识别分类,进而结合车身动态信息进行数据融合,完成合理决策,减少事故发生几率。


毫米波雷达的工作频段为30~300GHz毫米波,毫米波的波长为波长为1~10mm,介于厘米波和光波之间,因此毫米波兼有微波制导和光电制导的优点。


雷达测量的是反射信号的频率转变,并计算其速度变化。雷达可以检测30-100米远的物体,高端的雷达能够检测到很远的物体。


同时,毫米波雷达不受天气状况限制,即使是雨雪天都能正常运作,穿透雾、烟、灰尘的能力强。具有全天候、全天时的工作特性,且探测距离远,探测精度高,被广泛应用于车载距离探测,如自适应巡航、碰撞预警、盲区探测等。


相比激光雷达,毫米波雷达精度低、可视范围的角度也偏小,一般需要多个雷达组合使用。雷达传输的是电磁波信号,因此它无法检测上过漆的木头或是塑料(隐形战斗机就是通过表面喷漆来躲过雷达信号的),行人的反射波较弱几乎对雷达“免疫”。


同时,雷达对金属表面非常敏感,如果是一个弯曲的金属表面,它会被雷达误认为是一个大型表面。因此,路上一个小小的易拉罐甚至可能会被雷达判断为巨大的路障。此外,雷达在大桥和隧道里的效果同样不佳。


  • 毫米波雷达分类


毫米波雷达的可用频段有24GHz、60GHz、77GHz、79GHz,主流可用频段为24GHz和77GHz,分别应用于中短距和中长距测量。比于24GHz,77GHz毫米波雷达物体分辨淮确度可提高2-4倍,测速和测距精确度提高3-5倍,能检测行人和自行车;且设备体积更小,更便于在车辆上安装和部署。


如表3所示,长距离雷达的侦测范围更广,可适配开行速度更快的车辆,但是相应地探测精度下降,因此更适用于ACC自适应巡航这类的应用。典型的长距离雷达有博世的一款产品,其探测前向距离为250米;典型的短距离雷达有大陆的一款产品,其探测距离为前向60米后向20米。 


图6 中距和短距雷达空间分辨率对比


为完全实现ADAS各项功能一般需要“1长+4中短”5个毫米波雷达,目前全新奥迪A4采用的就是 “1长+4短”5个毫米波雷达的配置。以自动跟车型ACC功能为例,一般需要3个毫米波雷达。


车正中间一个77GHz的LRR,探测距离在150-250米之间,角度为10度左右;车两侧各一个24GHz的 MRR,角度都为30度,探测距离在50-70米之间。图7是奔驰的S级车型,采用的是7个毫米波雷达(1长+6短)。 


图7 毫米波雷达在无人驾驶中的使用


电磁波频率越高,距离和速度的检测解析度越高,因此频段发展趋势是逐渐由24GHz向77GHz过渡的。1997年,欧洲电讯标准学会确认76-77GHz作为防撞雷达专用频道。早在2005年原信息产业部发布《微功率(短距离)无线电设备的技术要求》将77GHz划分给车辆测距雷达。


2012年,工信部进一步将24GHz划分给短距车载雷达业务。2015年日内瓦世界无线电通信大会将77.5-78.0GHz频段划分给无线电定位业务,以支持短距离高分辨率车载雷达的发展,从而使76-81GHz都可用于车载雷达,为全球车载毫米波雷达的频率统一指明了方向。至此之后,最终车载毫米波雷达将会统一于77GHz频段(76-81GHz),该频段带宽更大、 功率水平更高、探测距离更远。 


表3 中长距和短距雷达参数对比



三、计算平台



当硬件传感器接收到环境信息后,数据会被导入计算平台,由不同的芯片进行运算。计算平台的设计直接影响到无人驾驶系统的实时性以及鲁棒性。


  • 计算平台实现


为了了解无人驾驶计算平台的要点,我们来看一个行业领先的某四级无人驾驶公司现有的计算平台硬件实现。为了了解芯片制造商将如何解决这些问题,我们来看现有的不同芯片制造商所提供的无人驾驶计算解决方案。


这个四级无人驾驶公司的计算平台由两计算盒组成。每个计算盒配备了一颗英特尔至强E5处理器(12核)和四到八颗NVIDIA K80 GPU加速器,彼此使用PCI-E总线连接。CPU运算峰值速度可达400帧/秒,消耗400W的功率。每个GPU运算峰值速度可达8Tops/s,同时消耗300W的功率。


因此,整个系统能够提供64.5 TOP/S的峰值运算能力,其功率需求为3000W。计算盒与车辆上安装的十二个高精度摄像头相连接,以完成实时的物体检测和目标跟踪任务。车辆顶部还安装有一个激光雷达装置以完成车辆定位及避障功能。


为了保证可靠性,两个计算盒执行完全相同的任务。一旦第一个计算盒失效,第二个计算盒可以立即接管。在最坏的情况下两个计算盒都在计算峰值运行,这意味着将产生超过5000瓦的功耗并急聚大量的热量,散热问题不容忽视。此外,每个计算盒的成本预计为2至3万美元,这是普通消费者根本无法承受的整体解决方案。


现有计算解决方案


接下来,我们将分别介绍现有的针对无人驾驶的计算解决方案。


  • 基于GPU的计算解决方案


NVIDIA的PX平台是目前领先的基于GPU的无人驾驶解决方案。每个PX2由两个Tegra SoC和两个Pascal GPU图形处理器组成,其中每个图像处理器都有自己的专用内存并配备有专用的指令以完成深度神经网络加速。


为了提供高吞吐量,每个Tegra SOC使用PCI-E Gen 2 x4总线与Pascal GPU直接相连,其总带宽为4 GB/s。此外,两个CPU-GPU集群通过千兆以太网项链,数据传输速度可达70 Gigabit/s。


借助于优化的I/O架构与深度神经网络的硬件加速,每个PX2能够每秒执行24兆次深度学习计算。这意味着当运行AlexNet深度学习典型应用时,PX2的处理能力可达2800帧/秒。 


图13 NVIDIA PX2


  • 基于DSP的解决方案


德州仪器提供了一种基于DSP的无人驾驶的解决方案。其TDA2x SoC拥有两个浮点DSP内核C66x和四个专为视觉处理设计的完全可编程的视觉加速器。相比ARM Cortex-15处理器,视觉加速器可提供八倍的视觉处理加速且功耗更低。


类似设计有CEVA XM4。这是另一款基于DSP的无人驾驶计算解决方案,专门面向计算视觉任务中的视频流分析计算。使用CEVA XM4每秒处理30帧1080p的视频仅消耗功率30MW,是一种相对节能的解决方案。 


图14 TI TDA2


  • 基于FPGA的解决方案


Altera公司的Cyclone V SoC是一个基于FPGA的无人驾驶解决方案,现已应用在奥迪无人车产品中。Altera公司的FPGA专为传感器融合提供优化,可结合分析来自多个传感器的数据以完成高度可靠的物体检测。类似的产品有Zynq专为无人驾驶设计的Ultra ScaleMPSoC。


当运行卷积神经网络计算任务时,Ultra ScaleMPSoC运算效能为14帧/秒/瓦,优于NVIDIA Tesla K40 GPU可达的4帧/秒/瓦。同时,在目标跟踪计算方面,Ultra ScaleMPSoC在1080p视频流上的处理能力可达60fps。

 

图15 Altera Cyclone V


  • 基于ASIC的解决方案


Mobileye是一家基于ASIC的无人驾驶解决方案提供商。其Eyeq5 SOC装备有四种异构的全编程加速器,分别对专有的算法进行了优化,包括有:计算机视觉、信号处理和机器学习等。


Eyeq5 SOC同时实现了两个PCI-E端口以支持多处理器间通信。这种加速器架构尝试为每一个计算任务适配最合适的计算单元,硬件资源的多样性使应用程序能够节省计算时间并提高计算效能。 


图16 MobilEye EyeQ5


  • 移动处理器上的无人驾驶?


我们尝试了解无人驾驶系统在上述ARM移动SoC上的执行情况,并探索支持自动驾驶的最低硬件平台配置。图17显示了一个面向基于视觉的无人驾驶驾驶的移动SoC系统组成。


在这个移动SoC实现中,我们利用DSP处理传感器数据,如特征提取和光流;我们使用GPU完成深度学习任务,如目标识别;采用两个CPU线程完成定位任务以实现车辆实时定位;我们使用一个CPU线程实现实时路径规划;使用另一个CPU线程进行避障操作。如果CPU尚未被全占有,多个CPU线程则可以在同一CPU核心上运行。 


图17 无人驾驶的Mobile SOC设计


令人惊讶的是,实验数据证明,无人驾驶系统在ARM SOC上运行的性能并不差。定位流水线每秒可处理25帧图像,图像生成速度为每秒30帧图像,这说明产生的图像大部分可以得到及时处理,不会产生大规模的丢帧。


深度学习流水线每秒能够执行2到3个目标识别任务。规划和控制流水线目标是在6MS内完成路径规划。当使用ARM移动端SOC进行无人驾驶时,我们能够以5英里/小时的速度行驶车辆,并且不损失任何定位信息;同时,整个SOC平均功耗为11W。


移动SoC的硬件资源有限,能够支持有限范围内的无人驾驶系统确实是非常令人惊喜的发现。这说明如果增加更多的计算资源,硬件平台就能够处理更多的数据,并支持车辆以更快的速度行驶,最终满足产品级无人驾驶系统的需要。


四、控制平台


控制平台是无人车的核心部件,控制着车辆的各种控制系统,包括汽车防抱死制动系统(ABS)、汽车驱动防滑转系统(ASR)、汽车电子稳定程序(ESP)、电子感应制动控制系统(SBC)、电子制动力分配(EBD)、辅助制动系统(BAS)、安全气囊(SRS)和汽车雷达防碰撞系统、电控自动变速器(EAT)、无级变速器(CVT)、巡航控制系统(CCS)、电子控制悬架(ECS)、电控动力转向系统(EPS)等等。


控制平台主要包括了电子控制单元ECU与通信总线两大部分:ECU主要实现控制算法,通信总线主要实现ECU以及机械部件间的通信功能。接下来我们详细介绍一下控制平台。


  • 电子控制单元ECU


ECU(Electronic Control Unit)电子控制单元,俗称“车载电脑”。是汽车专用微机控制器,也叫汽车专用电脑。发动机工作时,ECU采集各传感器的信号,进行运算,并将运算的结果转变为控制信号,控制被控对象的工作。


固有程序在发动机工作时,不断地与采集来的各传感器的信号进行比较和计算。把比较和计算的结果控制发动机的点火、怠速、废气再循环等多项参数的控制。它还有故障自诊断和保护功能。


存储器也会不停地记录行驶中的数据,成为ECU的学习程序,为适应驾驶习惯提供最佳的控制状态,这叫自适应程序。在高级轿车上,有不止一只ECU,如防抱死制动系统、四轮驱动系统、电控自动变速器、主动悬架系统、安全气囊系统、多向可调电控座椅等都配置有各自的ECU。


随着轿车电子化自动化的提高,ECU将会日益增多,线路会日益复杂。宝马、奔驰和奥迪三大车厂各系列高阶车款皆已包含超过一百个电子控制单元(ECU)。ECU的电压工作范围一般在6.5-16V(内部关键处有稳压装置)、工作电流在0.015-0.1A、工作温度在-40~80℃, 能承受1000Hz以下的振动,损坏率非常小。


ECU从用途上讲是汽车专用微机控制器,也叫汽车专用单片机。它和普通的单片机一样,由微处理器(CPU)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。


存储器ROM中储存的是一套固定的程序,该程序是经过精确计算和大量实验取的数据为基础。固有程序在发动机工作时,不断地与采集来的各传感器的信号进行比较和计算,然后输出指令,以控制发动机的点火、空燃比、怠速、废气再循环等多项参数的设置,判断是否需要改变的喷油量多少,点火正时是需要提前还是延后,气门开度的大小等 。


详细来说,当发动机启动时,电控单元进入工作状态,某些程序从ROM中取出,进入CPU,这些程序专用于控制点火时刻、控制汽油喷射、控制怠速等等。执行程序中所需的发动机信息,来自各个传感器。


这些传感器信号一经采集首先进入输入回路接受处理,如果是模拟信号,则需先经过A/D转换器转换成数字信号。大多数传感器信息将先暂存在RAM内,然后根据程序处理顺序由从RAM送至CPU。


接下来是将存储器ROM中的参考数据引入CPU,与传感器输入数据进行比较。CPU在完成对这些数据比较运算后,作出决定并发出指令信号,经I/O接口进行放大,必要的信号还经D/A转换器变成模拟信号,最后经输出回路控制执行器动作。


随着轿车电子化自动化的提高,ECU将会日益增多,目前高端汽车在总计100多个ECU系统中包含多达200个微处理器。这数百个ECU,在汽车内部组成了一个区域网。


一个ECU发出的数据包,所有的节点都会接收到,但只有承担该数据包任务的节点,才会去执行命令。举个例子,比如刹车灯。当监控刹车踏板的ECU,监测到踏板行程有变动时,就会通知监测尾灯的ECU。


此时,该ECU控制尾灯,并将其通电点亮。这一个简单的操作,其实背后有至少2个ECU的配合。要让所有的这些ECU之间相互配合,就需要采用一种称为多路复用通信网络协议进行信息传递, 控制器区域网(Controllers Area Network,CAN)总线是其中之一。


借助CAN协议,汽车内部的数百个ECU可以组建一个区域网, 有效地解决线路信息传递所带来的复杂化问题。通用、沃尔沃、特斯拉等车型支持远程控制,其原理就是手机发出的指令先到达伺服器,然后被转发到车载通讯模块。车载通讯模块接收到指令后,再通过CAN总线将指令传达到各个ECU。


为了弥补CAN协议在某些方面的不足,汽车工业还研发出了很多其他协议,比如LIN协议。相比CAN,LIN的带宽要更小,承载的数据量更少,但同时成本也更低,适合应用于一些简单的ECU中,比如车窗升降等。


随著技术进步,汽车内部的数据量暴增。尤其是大萤幕的普及和流媒体技术的介入,让CAN总线在某些时候“力不从心”,已无法胜任工作。于是,更高级的通讯协议问世了,比如MOST、FlexRay、乙太网等。


这些协议标准,拥有更大的带宽与更强的稳定性。其中,MOST是一种高速多媒体传输接口,专门为汽车内部的一些高码率音频、视频提供传输。FlexRay也是一种高速协议,但不仅限于多媒体传输。在自动驾驶的奥迪A7中,位于后备箱的车载CPU(奥迪称之为zFAS)模组,就是依靠FlexRay协议来读取前置摄像头捕捉的数据。


EUC的主要生产厂商包括有博世(BOSCH)、德尔福(DELPHI)、马瑞利(MARELLI)、日立(Hitachi)、大陆(Continental)、日本电装(DENSO)等。


主要产品包括有:博世的M7、M7.9.7、M7.9.7.1、ME7、ME7.9.7、ME7.8.8、EDC16、054K0;德尔福的MT20U2、MT20U、MT20、MR140、MT80、ITMS-6F;日立/电装的69J0、69EB、77J0、3601015A28K;西门子SIM2K-34、SIM2k-51.4、SIM2k-D51、SIMK43等系列。


CPU是ECU中的核心部分,它具有运算与控制的功能,发动机在运行时,它采集各传感器的信号,进行运算,并将运算的结果转变为控制信号,控制被控对象的工作。


它还实行对存储器(ROM、RAM)、输入/输出接口和其他外部电路的控制。Power Train ECU采用的CPU基本来自于Infineon、ST、Freescale。BOSCH的16位ECU M(E)7系列早期主要使用Infineon C167内核的CPU。


之后ST为BOSCH定制了ST10系列CPU,价格上更有优势,因此BOSCH后期的16位ECU都基本上采用ST10系列CPU。BOSCH的32位ECU ME9系列主要使用Freescale的PowerPC内核的CPU MPC55系列。


ME9主要在美国市场上销售的MED17系列则使用Infineon的Tricore内核CPU TC17xx。MED17系列ECU有好多分枝,分别使用不同型号的TC17xx CPU。


MEDC18系列依然沿用PowerPC路线,选择了选择ST和Freescale两家供应商,使用了Freescale的XPC56系列CPU以及ST的SPC56系列CPU。车身ECU的则选择更多,Infineon、ST、Freescale、NEC和瑞萨电子都提供相关CPU的支持。


  • 通信总线


随着汽车各系统的控制逐步向自动化和智能化转变,汽车电气系统变得日益复杂。为了满足各电子系统的实时性要求,我们须对汽车数据,如发动机转速、车轮转速、节气门踏板位置等信息,实行共享,因而我们需要汽车通信总线。目前,车用总线技术被美国汽车工程师协会SAE下属的汽车网络委员会按照协议特性分为A、B、C、D四类。 


  • 局部互联协议LIN


LIN是面向汽车低端分布式应用的低成本,低速串行通信总线。它的目标是为现有汽车网络提供辅助功能,在不需要CAN总线的带宽和多功能的场合使用,降低成本。


LIN相对于CAN的成本节省主要是由于采用单线传输、硅片中硬件或软件的低实现成本和无需在从属节点中使用石英或陶瓷谐振器。


这些优点是以较低的带宽和受局限的单宿主总线访问方法为代价的。LIN采用单个主控制器多个从设备的模式,在主从设备之间只需要1根电压为12伏的信号线。这种主要面向“传感器/执行器控制”的低速网络,其最高传输速率可达20Kb/S,主要应用于电动门窗、座椅调节、灯光照明等控制。


典型的LIN网络的节点数可以达到12个。以门窗控制为例,在车门上有门锁、车窗玻璃开关、车窗升降电机、操作按钮等,只需要1个LIN网络就可以把它们连为一体。而通过CAN网关,LIN网络还可以和汽车其他系统进行信息交换,实现更丰富的功能。


LIN包含一个宿主节点(Master)和一个或多个从属节点(Slave)。所有节点都包含一个被分解为发送和接收任务的从属通讯任务,而宿主节点还包含一个附加的宿主发送任务。


在实时LIN中,通讯总是由宿主任务发起的。除了宿主节点的命名之外,LIN网络中的节点不使用有关系统设置的任何信息。我们可以在不要求其它从属节点改变硬件和软件的情况下向LIN中增加节点。


宿主节点发送一个包含同步中断、同步字节和消息识别码的消息报头。从属任务在收到和过滤识别码后被激活并开始消息响应的传输。响应包含两个、四个或八个数据字节和一个检查和(checksum)字节。报头和响应部分组成一个消息帧。


LIN总线上的所有通讯都由主机节点中的主机任务发起,主机任务根据进度表来确定当前的通讯内容,发送相应的帧头,并为报文帧分配帧通道。


总线上的从机节点接收帧头之后,通过解读标识符来确定自己是否应该对当前通讯做出响应、做出何种响应。基于这种报文滤波方式,LIN可实现多种数据传输模式,且一个报文帧可以同时被多个节点接收利用。 

图19 LIN总线


  • 控制器局域网CAN


在当前的汽车总线网络市场上,占据主导地位的是CAN总线。CAN总线是德国博世公司在20世纪80年代初为了解决现代汽车中众多的控制与测试仪器之间的数据交换问题而开发的一种串行数据通讯协议。


它的短帧数据结构、非破坏性总线性仲裁技术及灵活的通讯方式适应了汽车的实时性和可靠性要求。CAN总线分为高速和低速两种,高速CAN最高速度为1Mbps(C类总线),低速CAN为250Kbps(B类总线)。 




图20 CAN总线


CAN总线一般为线型结构,所有节点并联在总线上。当一个节点损坏时,其他节点依然能正常工作。但当总线一处出现短路时,整个总线便无法工作。CAN总线是采用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)机制。各节点会一直监听总线,发现总线空闲时便开始发送数据。


当多个节点同时发送数据时,会通过一套仲裁机制竞争总线。每个节点会先发送数据的ID,ID越小表示优先级越大,优先级大的会自动覆盖小的ID。当节点发现自己发送的ID被覆盖掉时,就知道有比他优先级更高的消息正在被发送,便自动停止发送。


优先级最高的消息获得总线使用权,开始发送数据。当高优先级的数据包发送完后,各节点便又尝试竞争总线。如此反复下去。这样能最大程度的利用总线。弊端是会有时效延迟,优先级越低的数据包,可能需要等待的时间越长。


从这点上来讲,CAN总线不是一种实时总线。当CAN总线有节点发现当前发送的数据有误时,会发送错误帧告知总线上的所有节点。发送错误数据的节点会重发。每个节点都有一个错误计数器。当一个节点总是发送或接收错误超过一定次数时,会自动退出总线。


  • 高速容错网络协议FlexRay


FlexRay总线数据收发采取时间触发和事件触发的方式。利用时间触发通信时,网络中的各个节点都预先知道彼此将要进行通信的时间,接收器提前知道报文到达的时间,报文在总线上的时间可以预测出来。


即便行车环境恶劣多变,干扰了系统传输,FlexRay协议也可以确保将信息延迟和抖动降至最低,尽可能保持传输的同步与可预测。这对需要持续及高速性能的应用(如线控刹车、线控转向等)来说,是非常重要的。


 

图21 FlexRay总线


FlexRay总线用的是TDMA(Time Division Multiple Access)和FTDMA(Flexible Time Division Multiple Access)两种周期通信方法。FlexRay将一个通信周期分为静态部分、动态部分、网络空闲时间。


静态部分使用TDMA方法,每个节点会均匀分配时间片,每个节点只有在属于自己的时间片里面才能发送消息,即使某个节点当前无消息可发,该时间片依然会保留(也就造成了一定的总线资源浪费)。


在动态部分使用FTDMA方法,会轮流问询每个节点有没有消息要发,有就发,没有就跳过。静态部分用于发送需要经常性发送的重要性高的数据,动态部分用于发送使用频率不确定、相对不重要的数据。


当FlexRay总线通信过程中出现数据错误时,该周期里接收到的所有数据都会被丢弃掉,但没有重发机制。所有节点会继续进行下一个周期的通信。FlexRay同样也有错误计数器,当一个节点发送接收错误过多时会被踢出总线。


FlexRay具有高速、可靠及安全的特点。FlexRay在物理上通过两条分开的总线通信,每一条的数据速率是10MBit/s。FlexRay还能够提供很多网络所不具有的可靠性特点。


尤其是FlexRay具备的冗余通信能力可实现通过硬件完全复制网络配置,并进行进度监测。FlexRay同时提供灵活的配置,可支持各种拓扑,如总线、星型和混合拓扑。


FlexRay本身不能确保系统安全,但它具备大量功能,可以支持以安全为导向的系统(如线控系统)的设计。


宝马公司在07款X5系列车型的电子控制减震器系统中首次应用了FlexRay技术。此款车采用基于飞思卡尔的微控制器和恩智浦的收发器,可以监视有关车辆速度、纵向和横向加速度、方向盘角度、车身和轮胎加速度及行驶高度的数据,实现了更好的乘坐舒适性以及驾驶时的安全性和高速响应性,此外还将施加给轮胎的负荷变动以及底盘的振动均减至最小。


结论


如果说算法是无人驾驶的灵魂,那么硬件平台就是无人驾驶的肉体。一个没有肉体的灵魂也只是孤魂野鬼而已。再高大上的算法也需要实现在硬件平台上才有实用价值。


而硬件平台的设计直接决定了无人驾驶对环境的感知能力,计算性能与能耗,鲁棒性,安全性等。


而无人驾驶的硬件平台又分为传感器平台、计算平台、以及控制平台三大部分。本文详细介绍这三种平台以及现有的解决方案。希望本文对无人驾驶从业者以及爱好者选择硬件的时候有帮助。