e-works数字化企业网  »  文章频道  »  基础信息化  »  网络与安全

无人驾驶硬件平台解析

2017/5/28    来源:极客头条    作者:唐洁  刘少山      
关键字:无人驾驶  无人驾驶硬件  
本文是无人驾驶技术系列的第十篇,着重介绍无人驾驶硬件平台设计。无人驾驶硬件系统是多种技术、多个模块的集成,主要包括:传感器平台、计算平台、以及控制平台。本文将详细介绍这三个平台以及现有的解决方案。希望本文对无人驾驶从业者以及爱好者选择硬件的时候有帮助。

    计算平台
 
    当硬件传感器接收到环境信息后,数据会被导入计算平台,由不同的芯片进行运算。计算平台的设计直接影响到无人驾驶系统的实时性以及鲁棒性。本节将深入了解无人驾驶计算平台。
 
    计算平台实现
 
    为了了解无人驾驶计算平台的要点,我们来看一个行业领先的某四级无人驾驶公司现有的计算平台硬件实现。为了了解芯片制造商将如何解决这些问题,我们来看现有的不同芯片制造商所提供的无人驾驶计算解决方案。
 
    这个四级无人驾驶公司的计算平台由两计算盒组成。每个计算盒配备了一颗英特尔至强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帧/秒。
 
NVIDIA PX2
 
图13 NVIDIA PX2
 
    基于DSP的解决方案
 
    德州仪器提供了一种基于DSP的无人驾驶的解决方案。其TDA2x SoC拥有两个浮点DSP内核C66x和四个专为视觉处理设计的完全可编程的视觉加速器。相比ARM Cortex-15处理器,视觉加速器可提供八倍的视觉处理加速且功耗更低。类似设计有CEVA XM4。这是另一款基于DSP的无人驾驶计算解决方案,专门面向计算视觉任务中的视频流分析计算。使用CEVA XM4每秒处理30帧1080p的视频仅消耗功率30MW,是一种相对节能的解决方案。 
 
TI TDA2
 
图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。
 
Altera Cyclone V
 
图15 Altera Cyclone V
 
    基于ASIC的解决方案
 
    Mobileye是一家基于ASIC的无人驾驶解决方案提供商。其Eyeq5 SOC装备有四种异构的全编程加速器,分别对专有的算法进行了优化,包括有:计算机视觉、信号处理和机器学习等。Eyeq5 SOC同时实现了两个PCI-E端口以支持多处理器间通信。这种加速器架构尝试为每一个计算任务适配最合适的计算单元,硬件资源的多样性使应用程序能够节省计算时间并提高计算效能。 
 
 MobilEye EyeQ5
 
图16 MobilEye EyeQ5
 
    计算平台体系结构设计探索
 
    我们尝试对以下问题形成一些初步认识:
 
    1.各种计算单位最适合什么样的工作负载;
 
    2.能否使用移动处理器执行无人驾驶计算任务;
 
    3.如何设计一个高效的无人驾驶计算平台。
 
    计算单元与计算负载的匹配
 
    我们试图了解哪些计算单元最适合执行卷积和特征提取类应用,这是无人驾驶场景中最计算密集型工作负载。我们在现有的ARM SOC上完成了实验验证,此ARM SOC一个四核CPU、GPU、 DSP组成。为了研究研究各种异构硬件的能耗与性能行为,我们分别在CPU、GPU、DSP实现并优化了特征提取和卷积这两类计算负载,同时测量了芯片级能耗。
 
    首先,我们分别在CPU、GPU、DSP实现了卷积应用,这是在对象识别和目标跟踪任务中最常用、计算也最为密集的阶段。当在CPU上运行时,每次卷积大约需要8毫秒来完成,能耗为20MJ;在DSP上运行时,每次卷积需要5毫秒来完成,能耗为7.5MJ;在GPU运行时,每次卷积只需要2毫秒来完成,能耗也仅需4.5MJ。这表明,无论是性能和能耗表现,GPU是执行卷积任务最有效的计算单元。
 
    接下来,我们实现了分别在CPU、GPU、DSP特征提取应用。特征提取为无人驾驶的定位产生特征点,这是定位阶段计算量最大的工作负载:在CPU上运行时,每个特征提取的任务大约需要20毫秒来完成,耗能50MJ;在GPU上运行时,每个特征提取的任务需要10毫秒来完成,耗能22.5 MJ;在DSP中运行时,每个特征提取的任务仅需要4毫秒,仅消耗6MJ。这些结果表明,从性能和能耗的角度出发,DSP是特征提取最有述分析,这是因为对GPU和DSP这类专注于并行的硬件而言,上述任务侧重于控制逻辑因为得不到高效执行。
 
    移动处理器上的无人驾驶?
 
    我们尝试了解无人驾驶系统在上述ARM移动SoC上的执行情况,并探索支持自动驾驶的最低硬件平台配置。图17显示了一个面向基于视觉的无人驾驶驾驶的移动SoC系统组成。在这个移动SoC实现中,我们利用DSP处理传感器数据,如特征提取和光流;我们使用GPU完成深度学习任务,如目标识别;采用两个CPU线程完成定位任务以实现车辆实时定位;我们使用一个CPU线程实现实时路径规划;使用另一个CPU线程进行避障操作。如果CPU尚未被全占有,多个CPU线程则可以在同一CPU核心上运行。 
 
无人驾驶的Mobile SOC设计
 
图17 无人驾驶的Mobile SOC设计
 
    令人惊讶的是,实验数据证明,无人驾驶系统在ARM SOC上运行的性能并不差。定位流水线每秒可处理25帧图像,图像生成速度为每秒30帧图像,这说明产生的图像大部分可以得到及时处理,不会产生大规模的丢帧。深度学习流水线每秒能够执行2到3个目标识别任务。规划和控制流水线目标是在6MS内完成路径规划。当使用ARM移动端SOC进行无人驾驶时,我们能够以5英里/小时的速度行驶车辆,并且不损失任何定位信息;同时,整个SOC平均功耗为11W。移动SoC的硬件资源有限,能够支持有限范围内的无人驾驶系统确实是非常令人惊喜的发现。这说明如果增加更多的计算资源,硬件平台就能够处理更多的数据,并支持车辆以更快的速度行驶,最终满足产品级无人驾驶系统的需要。
 

责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
兴趣阅读
相关资料
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐