透过英伟达、华为、特斯拉看自动驾驶域控制器设计

导语
最近由于工作需要,整理了一下Tesla、NVIDIA、WAYMO、华为等自动驾驶领头羊的一些资料,主要是关于域控制器、硬件架构、系统架构方面的梳理。特斯拉的技术能让众多传统OEM甘拜下风,NVIDIA的AI计算平台绝对是行业首屈一指,华为的入局让人眼前一亮。学习学习,站在巨人的肩旁上,才能看得远不是。一个不正经的工程师,看的不远,但是跟风而行不掉队,还是可以滴!

1. 概述

从事自动驾驶域控制器设计已经有一段时间,从最早接触NXP的S32V234,也就是那个BlueBOX,后来了解NVIDIA Jetson TX2、NVIDIA Drive PX2、NVIDIA Xavier等,也从其它渠道了解过ZF ProAI、ZFAS、Mobileye、Renesas、华为等等。获取到的资料不是非常的细致,后期大多精力集中在NVIDIA Xavier的开发研究上,所以我们的域控制器设计也是基于Xavier展开。

自动驾驶域控制器,也有人称其为智能驾驶域控制器,是智能驾驶汽车控制的核心所在。域控制器连接摄像头、激光雷达等传感器,车联网V2X、组合导航等网路通讯部件,以及车辆线控单元,主要负责对传感器感知到的环境信息进行融合、识别和分类处理,结合地图定位对车辆行驶进行路径规划和决策,从而实现对车辆的精确控制和自动驾驶。

简单梳理一下几个典型的域控制器产品,Tesla FSD HSW3.0、NVIDIA Driver、华为MDC等,总结一下域控制器的基本设计方案。

2. 典型域控制器设计分析

2.1.  Tesla HW3.0

特斯拉 HW3.0 FSD 控制器。

作为特斯拉自研专供域控制器,可供查询的资料不多,之前分析过其硬件构成。FSD 的 HW3.0 由两个相同的计算单元构成,每个计算单元上面有特斯拉自研的2 块FSD计算芯片,每块算力位 36 Tops,设备总算力位 4 x 36 Tops = 144 Tops。但是由于采用的是双机冗余热备的运行方式,实际可用的算力为72 Top。

下表是之前一篇文章分析的HW3.0的硬件构成。

特斯拉板子的右侧接口从上到下依次是FOV摄像头、环视摄像头、A柱左右摄像头、B柱左右摄像头、前视主摄像头、车内DMS摄像头、后摄像头、GPS同轴天线。左侧从上到下依次是第二供电和I/O接口(车身LIN网络等),以太网诊断进/出、调试USB、烧录、主供电和I/O(底盘CAN网络等)。

而通过特斯拉在售车型的介绍和实际配置来看,主张以摄像头视觉为核心的特斯拉安装了一个三目摄像头、4个环视、一个后置摄像头、车内DMS摄像头、前置毫米波雷达、以及12颗超声波雷达。

2.2.  NVIDIA Driver AGX Xavier

NVIDIA DRIVE AGX Xavier™ 可为 L2+ 级和 L3 级自动驾驶提供每秒 30 万亿次运算 (TOPS)。其核心是 NVIDIA 首次生产的车规级 Xavier 系统级芯片,该芯片采用了六种不同类型的处理器,包括 CPU、GPU、深度学习加速器(DLA)、可编程视觉加速器 (PVA)、图像信号处理器(ISP) 和立体/光流加速器。

NVIDIA DRIVE AGX Pegasus™ 使用两块 Xavier 系统级芯片和两台NVIDIA Turing™GPU 的强大功能,实现了比以往更高的 320 TOPS 的超级计算能力。该平台专为 L4 级和 L5 级自主系统(包括机器人出租车)而设计和打造。

NVIDIA DRIVE AGX Xavier和NVIDIA DRIVE AGX PEGASUS参数表

通过上面NVIDIA DRIVE AGX XAVIER 和NVIDIA DRIVE AGX PEGASUS参数表以及实物照片分析得出,NVIDIADRIVE提供16路GMSL摄像头输入接口,Ethernet接口,6路CAN总线接口,以及连接车辆I/O的接插件。

2.3.  NVIDIA Jetson Xavier

NVIDIA DRIVE系列平台均使用了算力达到30Tops的Xavier芯片。由于车规级Xavier模组不太容易获取,因此使用Jetson Xavier套件做过一些研究开发。

Xavier芯片集成了90亿颗晶体管, CPU采用NVIDIA自研8核ARM64架构(代号Carmel),GPU采用512颗CUDA的Volta,支持FP32/FP16/INT8,20W功耗下单精度浮点性能1.3TFLOPS,Tensor核心性能20TOPs,解锁到30W后可达30TOPs。Xavier内有六种不同的处理器:ValtaTensorCore GPU,八核ARM64 CPU,双NVDLA深度学习加速器,图像处理器,视觉处理器和视频处理器。

Xavier相比NVIDIA之前推出的几代平台在算力和性能上有了很大的提升。对比下表可以看出。

为了应对不同客户的开发需求,Xavier推出了Jetson AGX Xavier 8GB和Jetson AGX Xavier两个版本。

Jetson AGX Xavier 是目前自动驾驶领域绝对的领头羊产品,也是为数不多的可量产的域控制器开发平台,高达 32 TOPS 的算力以作为L3级域控制器的核心,承担环境感知、路径规划和智能控制决策等算法运行。并且由于 NVIDIA提供相对完整的 AI 工具和工作流程,其生态丰富性可帮助开发者快速构建AI算法和开展相关训练。

Jetson AGX Xavier 8GB 是一款价格实惠的低功率 Jetson AGXXavier,在软硬件上与现有的 Jetson AGX Xavier 完全兼容。其整个模块最高消耗 20W 功率,同时提供高达 20 TOPS 的AI算力。

Jetson AGX Xavier 8GB和Jetson AGX Xavier的对比如下表:

2.4.  华为MDC

华为在2018年推出MDC智能驾驶计算平台以及高阶自动驾驶全栈解决方案,包括MDC300和MDC600两个平台,分别对应L3和L4级自动驾驶,推测将搭载鸿蒙内核操作系统,加之智能驾驶AI算法,最终形态将是车规级可量产的域控制器。

华为MDC300由华为昇腾310芯片、华为鲲鹏芯片和Infineon的TC397三部分构成,算力在64Tops 左右,满足L3级自动驾驶算力需求。MDC600基于8颗昇腾310 AI芯片,同时还整合了CPU和相应的ISP模块,算力高达352TOPS。

华为MDC提供15路LVDS摄像头输入接口,12路CANFD总线,6个普通Ethernet,2个百兆车载Ethernet,以及多路GPIO。

华为MDC300产品接口示意图

华为MDC相对于其他平台而言,最大的优势在于其统一的系统架构便于功能扩展和适配多种场景应用。同时作为一个开放的平台,华为MDC具备组件服务化、接口标准化、开发工具化的特性,软件方面除了华为自有的鸿蒙平台之外,还兼容Adaptive AUTOSAR和ROS,并且搭配配套的工具链,基于此平台,用户可快速开发、调试、运行自动驾驶算法与功能,适配不同级别的智能驾驶应用。

3. 域控制器设计需求

本文开头提到,自动驾驶域控制器,或智能驾驶域控制器,主要负责对传感器感知到的环境信息进行融合、识别和分类处理,结合地图定位对车辆行驶进行路径规划和决策,从而实现对车辆的精确控制和自动驾驶。

因此,域控制器作为一个智能硬件,为了完成复杂的AI计算和智能控制,硬件层面需要承担环境感知和深度学习等超大算力需求的AI处理芯片、负责控制决策和逻辑运算的CPU、以及负责功能安全和车辆控制的MCU;软件层面包括操作系统、中间件以及应用层AI算法等。

硬件层面的三部分芯片或者叫三颗重要芯片:

第一部分通常是GPU或TPU,承担大规模浮点数并行计算需求,主要用于环境感知和信息融合,包括摄像头、激光雷达等传感器信息的识别、融合、分类等,如Xavier的GPU单元、昇腾310。

第二部分大多为ARM架构,类似于CPU,主要负责逻辑运算和决策控制,处理高精度浮点数串行计算。

第三部分主要负责可靠性和车辆控制,也就是功能安全和冗余监控作用,不要求很高的算力,但是可靠性必须要有保障,ISO26262等级要求达到ASIL-D,目前用的较多的就是Infineon的TC297或者TC397。

软件层面应用层AI算法一般由造车企业或主机厂自行研发,这是体现车辆性能和差性的所在;中间件一般由域控制器开发商提供,类似于ROS,主要包含一些接口驱动和对于操作系统的优化部署。操作系统方面,华为采用自研鸿蒙系统,并且MDC平台支持兼容Adaptive AUTOSAR;QNX是目前车规级的最佳也是唯一选择,但是面临高昂的费用;Linux和Autoware 由于开源反而获取了最多的用户,尤其是Linux,借助其强大的工程师基础和生态,加之ROS的多年应用基础,基于Linux内核的操作系统目前很受欢迎。

除了硬件和软件层面之外,域控制器的强大之处在于其接口资源。前文提到了特斯拉HW3.0、NVIDIA Driver系列、NVIDIA Xavier、华为MDC的接口资源,然后先看看下文中不同厂家的自动驾驶系统接口对比,再来总结。

通过对比分析,自动驾驶系统传感器数量很多但是种类无外乎摄像头、激光雷达、毫米波雷达、超声波雷达、组合导航、IMU、V2X模块等。

自动驾驶系统对于摄像头可供选择的不是很多,接口类型有MIPI SI-2、LVDS、GMSL、FPDLink等;激光雷达都是Ethernet接口,目前大多是普通Ethernet;毫米波雷达都是CAN总线传输;超声波雷达LIN总线就够了;组合导航和惯导常见接口为RS232串口;V2X模块采用Ethernet接口传输。

接下来分析一个基于Xavier的域控制器设计方案,产品来自天津优控智行,目前算是行业内做的还不错的。

优控智行的自动驾驶域控制器

4. 基于NVIDIA Xavier的域控制器设计

4.1.  关于AI芯片选型

目前市面上可供选择的AI芯片并不多,尤其是达到量产状态的,只有特斯拉、NVIDIA、Mobileye了。除了特斯拉自研自用不对外,其他品牌目前都可以通过合作开发方式拿到测试样件。

相对而言,由于NVIDIA Xavier推出较早,并且生态布局相对完善,对于开发者来说可以快速构建系统和开发AI应用,因此基于Xavier模组进行域控制器设计的企业不在少数。

XavierSoC最高算力可达30TOPs,内有Valta TensorCore GPU,八核ARM64 CPU,双NVDLA 深度学习加速器,图像处理器,视觉处理器和视频处理器等六种不同的处理器,使其能够同时、且实时地处理数十种算法,用于传感器数据处理、环境感知、定位和绘图以及路径规划。

芯片内部结构如下图所示:

NVIDIA 提供的Xavier为核心模组,其接口如下图所示:

4.2.  域控制器架构设计

优控智行的域控制器型号为EAXVA03,据说是第三代产品已经小批量装车。其内置NVIDIA Xavier和Infineon TC297T。按照设计部署,Xavier用于环境感知、图像融合、路径规划等,TC297用于安全监控、冗余控制、网关通讯及整车控制。

该款控制器尺寸比较庞大,不过接口是真的很丰富,作为一个开发平台来讲完全够用。

以上丰富的接口,可以接8路摄像头,多路激光雷达,多路毫米波雷达等,并且由于GPIO较多,可以兼顾底盘控制,省掉一个底盘控制器绰绰有余了。

不过其功耗也是比较大,在不实用较多GPIO情况下35W。发热比较厉害,两个散热风扇相对比较给力。

4.3.  软件开发

按照优控智行提供的说明书介绍,该域控制器的SOC软件系统也就是Xavier部分是为自动驾驶系统应用而定制开发,软件系统包括RTOS、Runtime Framework等部分。其中RTOS是Linux 操作系统,Runtime Framework是melodic版本的ROS(RobotOperating System)。如下图所示:

AI应用算法开发者可以基于Linux系统开发,或者将之前开发的软件做相关移植,这对于熟悉Linux系统以及ROS应用的工程师来说非常方便。

优控智行域控制器内部的MCU也就是TC297部分的软件架构参考AUTOSAR进行设计,分为应用软件层和基础软件层。优控智行将基础软件进行了封装,做成快速原型自动代码生成工具EcoCoder,应用层和基础软件通过EcoCoder衔接,EcoCoder利用Simulink中的s-function,将基础软件接口封装到Simulink模块库中。开发者可以利用Simulink搭建应用层模型,并通过Simulink一键生成适配TC297的可执行程序文件。

4.4.  配套开发工具

为了方便开发用户使用,优控智行为域控制器提供了基本的功能软件包,并且提供了自研的开发工具。针对Xavier,开发工具有EcoSDK-XV,EcoCoder-AI,针对TC297,开发工具有EcoCoder、EcoCAL、EcoFlash,用户可以基于以上工具开发适用于具体场景的应用程序。

EcoSDK-XV作为一个交叉编译工具链,可以为用户提供完整的应用开发环境,其提供的软件包中包含了基于Linux操作系统、ROS编写应用程序的所有必要工具。

EcoCoder-AI优控智行针对SOC芯片完全自研的一个功能强大的自动代码生成库,基于Matlab / Simulink,可以直接链接到目标控制器。EcoCoder-AI集成了代码生成,编译和一键生成可执行文件功能。能够将基于Simulink搭建的控制模型,直接转成适用于目标控制器的基于Linux的可执行程序,并下载到目标控制器中。目前这一技术在国内尚属首创了,虽然应用做的不是很完善,并且库模块也不是很全,但是基本的功能已经具备,可以做一些简单的AI开发,这一点非常难得。

并且优控智行的域控制器可以基于Simulink的外部模式实现实时在线标定调试,这个就是传统汽车工程师比较熟悉的套路了,相比于现在编写代码边调试的效率提高不少,但是由于Simulink本身支持和普及的原因,这个功能目前尚需完善。

EcoCoder是一个针对MCU开发的基于Simulink的底层函数封装库,或者叫做自动代码生成软件,EcoCAL是一款专业的标定调试软件,EcoFlash是专用刷写软件,这是优控为汽车电子控制器开发的快速原型开发工具链三件套。

5. 总结

自动驾驶计算平台从早期的工控机到现在可用的域控制器,虽然受限于AI算力芯片的技术瓶颈,并且关于芯片技术架构路线的争论一直存在,但是并不否认现在几个品牌的SOC及域控制器做的还是不错的,尤其是基于NVIDIA Xavier以及前期PX2等芯片的开发。国内大部分企业的应用比较集中在Xavier平台和Linux系统,尤其是新势力造车企业,而传统车企更青睐TI、瑞萨等半导体公司的智能AI芯片以及QNX系统。国内基于Xavier做开发的企业很多,天津优控智行目前的域控制器产品在行业内属于中等偏上水平,但是其软件工具和服务做得相对有些优势,后期有时间也扒一扒地平线、智行者等企业的域控制器学习学习。

声明:本文内容及图片由BC-AUTO转载至网络,信息来源于公众号汽车电子与软件。

(0)

相关推荐