自动驾驶控制系统芯片技术现状与应用分析
本文分析了自动驾驶控制系统架构与自动驾驶各模块的计算资源需求,基于上述计算需求分析各模块对计算芯片处理器架构等方面的需求调研了计算芯片以及自动驾驶控制系统应用现状与发展趋势,通过对比系统需求和应用现状,分析了目前自动驾驶功能的应用情况,并总结自动驾驶控制系统和功能集成方面的发展趋势,为自动驾驶控制系统的应用提供满足现状和发展需求的解决方案
近年来自动驾驶技术得到了突飞猛进的发展,从国内外各类技术比赛中对自动驾驶算法的系统研究,到新兴技术公司在自动驾驶市场应用领域的大力投入,技术的积累和市场的推动,为自动驾驶系统应用提供了广阔的前景
自动驾驶是集环境感知与认知技术系统决策技术车辆底盘与车身控制技术于一体的综合性系统近年来自动驾驶的发展,也得益于传感器技术车辆电子电器架构以及车载计算芯片的飞速发展
上图描述了车辆网联信息来源和感知范围,以及应用感知信息实现车辆智能化相关功能的流程,如车道保持全速自适应巡航主动换道交通拥堵辅助车道级导航等,本文中具体的智能化功能即为自动驾驶
自动驾驶系统是通过传感器感知并认知环境车辆运动及工作状态驾驶员操纵与操作状态,结合对环境车辆运动学模型自动驾驶任务的理解,实现对车辆运动行为的决策,通过车辆底层控制系统完成对车辆动作的控制
上述过程中的决策任务分为3个层次,即策略层战术层和控制层,分别对应驾驶任务理解与全局性路径规划局部环境认知与局部路径规划车辆执行机构控制
自动驾驶是以环境感知和认知为基础的,即车辆的智能化,而车辆的网联化是智能化的实现手段,尤其在更高等级的自动驾驶系统中,需要更加丰富的信息来源,主要划分为车内网车际网和车联网车内网能够感知的范围为百米级,更新周期为ms级,车际网感知范围为千米级,更新周期为s级,车联网感知范围则更加广泛,更新周期为s级甚至分钟级信息的来源和数据量,对各级网络的带宽信息采集和处理能力提出了基本要求
完整的自动驾驶系统,感知甚至决策不仅仅源于车端,云端的感知决策通过车联网这个特殊的传感器单元,将全局感知和决策信息传递至车载控制单元在此全局规划的基础上,车载传感器感知局部环境信息,车载计算单元处理并理解全局目标与局部环境,并控制车辆依次完成局部控制目标,直至全局目标的达成上述自动驾驶功能流程可由下图所示的自动驾驶系统功能架构来描述
本文会对车载计算单元如何承载车载传感器信息感知与处理全局目标与局部环境理解车辆执行机构控制等计算任务,展开调研和分析
(二)自动驾驶计算任务划分
根据对自动驾驶功能架构的分析,自动驾驶系统感知的来源主要有相机毫米波雷达激光雷达高精度定位系统,分别获取相机拍摄的环境图片毫米波接收到的电磁波回波激光扫描出的环境点云数据等数据的基本量级和获取方式如下图所示:
最大可达每秒GB,获取方式为LVDS以太网CANFlexrayMOSTLIN等车载网络自动驾驶系统首先通过图像激光点云基于位置的交通信息服务毫米波发射与接收回波间的差异,提取目标特征形成对环境中各类机动车行人路肩护栏等物体的感知,以及对环境中车道线交通信号交通标志等交通信息的感知然后基于全局目标和全局路径规划,应用车道护栏路肩等局部可行驶区域,以及可行驶区域中物体运动状态的估计,规划车辆的局部行驶路径最后将控制指令通过车载网络发送至车辆执行机构,执行车辆纵向侧向控制,实现自动驾驶自动驾驶各子模块的功能划分如下图所示:
针对获取的以上各子模块分工,对应的处理方式包括了传感器信息融合图像处理激光点云处理数字信号处理多状态估计模型预测控制SLAM以及更底层的支持向量机光流跟踪模式识别机器学习深度学习等,以实现对环境中对车辆行驶有影向的回标的识别,并结合车辆自身动力学特性,去决策和规划车辆的行驶路径
(三)自动驾驶计算任务对计算芯片的需求分析
自动驾驶计算任务对计算芯片的需求,主要分为计算力实时性可靠性算法通用性等计算力的需求一方面要考虑信息流的数据量,另一方面要考虑对信息的处理方法
(1)从信息流的数据量角度出发,分析各类信息处理对计算芯片的处理需求将信息处理分为3类面向超大数据量(GB级)的超高性能计算,系统复杂,且往往算法与硬件相关,难以约束可靠性,移植性和通用性较差,面向大数据量(百MB级)的高性能计算,系统复杂,但算法结构较为清晰,有一定的通用性和移植性,以及一定的功能安全需求;面向小数据量(MB级)的高可靠性计算,数据结构整齐,系统逻辑清晰,具备很强的通用性和移植性,有很高的可靠性实时性需求,以及更高的功能安全需求
(2)从信息处理方法角度分析通用算法处理器专用算法处理器通用算法处理器适应性较强,可用于处理各种计算任务,如ARMX86架构处理器;专用算法处理器用于处理专门的计算任务,比如在机器学习方面具备很强优势的GPU专门支持TensorFlow算法的TPU可编程门阵列电路FPGA等
(四)对应自动驾驶控制系统需求的芯片分析
如前所述,由于涉及到不同数据量规模以及不同数据结构信息的处理,对处理器芯片的计算力处理器架构有着不同的需求在满足计算力的前提下,功耗也是影向处理器芯片在车载系统中应用的关键而自动驾驶的出发点是保证车辆的安全性,因此处理器的安全性和可靠性也是自动驾驶芯片选型中必须要考虑的因素基于上述需求,对自动驾驶处理器芯片应用现状和发展趋势作简要的总结
(1)计算力需求的满足
自动驾驶对感知和复杂决策的需求,使得传统的规则建模难以支撑复杂场景的应用,也难以支持OTA等自适应和自学习方式的算法基于以上背景,深度学习以其灵活的建模方式和复杂场景的适应性,被广泛认为是解决高等级自动驾驶的重要手段
在自动驾驶系统处理器选择上,也与深度学习的技术路线有很大的重叠深度学习算法复杂性比较高,需要有相应的嵌入式计算平台进行匹配,在应用过程中硬件技术路线主要有GPUSoCFPGAASIC等CPU由于在分支处理以及随机内存读取方面有优势,在处理串联工作方面较强;GPU在处理大量有浮点运算的并行运算时候有着天然的优势;SoC提供多种可编程逻辑密度,硅片内集成多种系统级处理器硬核,FPGA可以使开发者在其硬件电路里原生支持特殊的复杂指令而不需要对指令进行分解和模拟;ASIC则是为某种特殊复杂指令定制的专用芯片,能够带来更加优异的计算力和功耗表现,如谷歌专为深度学习语言TensorFlow设计的TPU
计算力的评价指标主要有MIPSFLOPSTOPS等,分别表示处理器芯片处理指令进行浮点型运算进行整形运算的能力,主要通过常用基准程序测试计算,如DhrystoneWhetstoneLinpack等但是实际上I/O的效能内存的架构快取内存一致性硬件能支持的指令等对芯片的处理速度都会产生影响多核并行计算过程中,因为处理器架构不同,也会对综合性能产生影响,如ARM架构芯片在多核并行计算中,根据应用不同会损失20%~30%的性能而异构芯片在多核集成过程中,也会受到工艺的限制,比如ARM架构的cortexA72目前最多构成4核,通常应用以2个A72和4个A53形成SoC
计算力评价指标是从不同角度对计算性能的评价,并不能真实反映算法部署时对计算力的需求,相关指标仅供参考,但是能够给出个比较直观的计算力对比ARM系列芯片通常应用Dhrystrone库测试MIPS指标进行计算力对比分析,如下图所示:
(2)功耗需求的满足
芯片功耗的来源主要有核心逻辑电路时钟树RAMROM等功耗的大小与芯片供电电压晶振频率制造工艺等因素相关,通过降低工作电压应用新材料3D/光学互连代替PCB布线智能电源管理集成电路生产工艺提升等方式优化处理器性能与功耗间的平衡,以满足车载应用需求比如种20nm芯片,将工作电压从1.5V降低至1.35V,以节省67%的功耗;最新的微控制器和SoC运用智能电源管理单元,自动调整工作电压与时脉速度来搭配工作负载;使用InGaAs增强未来三闸电晶体上的通道,可望使工作电压降低至0.5V;通过使用硅中介层功耗降低,仅为传统PCB解决方案的17%;集成电路生产工艺的提高,如纳米级的集成芯片设计,缩小了单管的尺寸,提高了芯片的集成度与工作频率,降低了工作电压,保证性能的前提下,从根本上降低了同样计算力下芯片的功耗但是工艺的提升会带来芯片成本的增加,性能成本需求之间的综合考虑,是产品设计的关键
目前自动驾驶芯片计算力和功耗比设计目标为1TFLOPS/W,但是随着自动驾驶支持场景复杂度不断提升,对计算力和功耗的需求将会是个持续的综合性能设计
(3)其他需求
为了平衡计算力功耗功能安全等需求,传统的规则建模中应用的通用计算平台,如DSPPowerPCARM在自动驾驶芯片领域也有着重要的地位在这类芯片上更容易在同一封装内部实现双核锁步等校验技术
根据上述分析,可将自动驾驶芯片按计算力成本角度划分,如下表所示:
根据不同阶段的市场需求,在开发相应的自动驾驶功能过程中,需要从算法适用性复杂度等多个角度深人分析算法对计算力的需求,选择性能成本综合指标满足需求的芯片方案
(五)基于自动驾驶软件架构需求的域控制器平台设计
自动驾驶需要统合车辆所有的环境感知车辆状态感知信息,协调影响车辆运动状态的执行机构,以及协调车身控制器进行车辆内外部声音光学等交互信息,所以自动驾驶控制系统需要集中式的设计,来汇总和处理各类信息,协调各类输出,因此自动驾驶控制系统的实现更加趋于一种中央域控制器的设计
通过芯片的选型和集成,设计自动驾驶域控制器,首先要满足各类信息的接入和采集;第二要具备异构信息的处理能力;第三要有满足车载需求的功耗和散热方式,以搭载自动驾驶相关控制算法在车载环境中得到应用在自动驾驶域控制器实现过程中,目前研究中应用较为广泛的有以下两种方案:一种是以充分发挥GPU数据处理性能为核心的方案,如NVIDIA公司的DrivePX2自动驾驶控制平台;另种是依据算法负责程度分层在多类芯片中分别部署的多元异构芯片组合方案,如奥迪新A8采用的自动驾驶平台zFAS
Drive PX2自动驾驶控制平台,支持12路摄像头输入激光定位雷达和超声波传感器基于16nmFinFET工艺制造,但是其功耗可达250W,且采用了水冷散热的方式这种高功耗和水冷的方式目前很难在车载领域得到应用,但是在技术研究领域,为些控制算法的集成验证提供了控制器平台
zFAS中NVIDIATegraK1芯片为GPU架构芯片,用于环视和驾驶员检测,MobileyeQ3为FPGA架构芯片,负责实现自动驾驶功能的视觉感知,Altera的CycloneV为FPGA芯片,负责信息融合高性能计算及部分决策控制英飞凌的AurixTC297T为DSP芯片,负责运行高可靠性和实时性较高的决策控制算法,并监测系统运行状态,使系统满足相应的功能安全等级要求,目前已实现量产
更加多元的异构芯片的组合方案,通过对自动驾驶控制算法的分析和分解,将算法分层部署在满足各类需求的芯片中,达到计算性能功耗功能安全等各方面综合要求的满足,在应用过程中会为算法的优化提供指导,另外芯片成熟度的提升也会降低成本并且更加符合功耗功能安全等方面的需求,从而进一步促进自动驾驶相关功能和域控制器的逐步升级
根据图《自动驾驶系统传感器构成与信息数据量》信息量角度对自动驾驶控制系统的信息处理需求的划分,进一步细化多元异构芯片组合的域控制器集成方式对自动驾驶需求的分层对应,如下图所示:
这种组合方式是平衡性能成本功耗功能安全等各类自动驾驶需求的有效方案,且模块化的层级划分具备自然的升级换代的便利性,是目前自动驾驶系统应用的唯一解决方案,也是自动驾驶控制系统发展过程中的必然趋势
(六)结论
依托于芯片传感器算法的飞速发展和日趋成熟,自动驾驶技术的发展呈现一种多学科交叉统合的态势,已经不是简单的组合,而是技术应用算法软件硬件相互响应,相互促进的深度融合自动驾驶芯片的选择一方面要考虑其计算力成本,来满足基本的运算和产品化需求,另一方面需要综合对比其事务管理功能数据处理能力和运行速度软件编程和硬件设计的灵活性,来满足设计开发及产品生命周期管理的需求鉴于自动驾驶控制系统需求的复杂性,多元异构传感器多核异构芯片构成的控制系统的模块化分层化设计方式,是自动驾驶控制系统满足其系统成本功耗实时性设计开发功能安全等各类需求的必然趋势