自动驾驶计算系统的多种计算架构---分布式计算架构、中心式计算架构和混合式计算架构

 

编者按:在走完5个月漫长的收购流程之后,英特尔公司(Intel)150亿美元收购以色列ADAS技术供应商Mobileye的收购案终于在北京时间8月9日完成。不得不说,半导体产业(包括汽车半导体)的兼并与收购都是大手笔:

  • 2016年11月,西门子公司以45亿美元收购收购半导体软件公司明导(Mentor Graphics);

  • 2016年10月,高通公司以470亿美元的高价收购恩智浦半导体公司(NXPSemiconductors);

  • 2015年3月,恩智浦曾以118亿美元收购美国汽车半导体公司飞思卡尔(FreescaleSemiconductor)。

由此,面向自动驾驶技术的汽车半导体产业有呈现三足鼎立之势——英伟达公司(NVIDIA)凭借车载计算平台 Drive PX 2 占得先机,英特尔公司合纵连横穷追不舍,但更不容小觑的是作为目前智能手机产业两大枢纽节点之一的高通公司的实力。

日前,高通公司旗下恩智浦自动驾驶实验室主任戴维德桑托(Davide Santo)就未来自动驾驶汽车应该采用分布式计算架构还是中心式计算架构进行了论述,过本篇文章将就此展开。

引子

随着汽车自动驾驶程度的提高,汽车自身所产生的数据将越来越庞大。 据英特尔公司估算,假设 一辆自动驾驶汽车 配置了GPS、声纳、 相机、雷达和激光雷达等传感器,则上述传感器 每秒钟产生的数据 (如图1所示) 将是:

GPS:约50kB;

声呐:约10-100kB;

相机:约20-40MB;

雷达:约10-100kB;

激光雷达:约10-70MB。

自动驾驶计算系统的多种计算架构---分布式计算架构、中心式计算架构和混合式计算架构图1自动驾驶汽车各传感器所产生的数据量

将上述数字相加后可知,一辆自动驾驶汽车每天将产生约4000GB待处理的传感器数据。由此,有志于投入自动驾驶系统研制的汽车制造商、IT公司以及初创科技公司们不得不面对一个复杂的难题:如何使自动驾驶汽车能够实时处理如此海量的数据,并在提炼出的信息的基础上,得出合乎逻辑且形成安全驾驶行为的决策?

而解决上述难题的两个关键环节在于:

数据处理在哪里完成:是在终端传感器处还是在*处理器处?

如何将数据从终端传感器传输到*处理器:当对并非位于一处而是遍布自动驾驶汽车车身的多个传感器进行数据融合时,需要专门考虑传感器和*处理器之间的连接设计和电缆布置。

三类计算架构的定义

如图2所示,在复杂网络中,有三种典型的网络结构:中心式(Centralized)、分布式(Decentralized)和混合式(Distributed,此处为意译)。在描述自动驾驶汽车的计算架构时,可以借用这三种网络模型。

 自动驾驶计算系统的多种计算架构---分布式计算架构、中心式计算架构和混合式计算架构图2三类典型的网络结构

据恩智浦半导体自主驾驶实验室主任Davide Santo介绍,对分布式或中心式计算架构的定义可以追溯到1999年美国国防部实验室所提出的定义。基本上,这一定义仅限于需要进行传感器融合的场景:

分布式计算架构:终端传感器完成高度的数据处理,并在一定程度上在本地完成决策,只向*处理器传输对象数据(object data)或元数据(meta data,描述数据属性的数据),由*处理器在整合各终端传感器传来的数据后制定决策;

中心式计算架构:各终端传感器将原始数据传输到*处理器处,所有数据的处理与决策的制定都在该处完成,且每个传感器节点都知道每个其它节点正在做什么;

混合式计算架构:根据系统中使用的传感器的数量和类型、不同车型的可扩展性要求与升级选项,混合使用上述两种计算架构结构以形成最优方案——其中,有一个*计算单元在更高的抽象层次上工作, 此外还有一些可以所处位置或传感器类型来划分的不同的「域」(domain)。

分布式计算架构的优劣势

总体而言,分布式计算架构的优势在于,各终端处理器不必一下子处理大量数据,也没有类似如何以安全且高效的方式将数据从终端传感器传输到*处理器的难题,能以最具成本效益的方式有效地将各部件组合在一起。

从另一个角度看,其劣势在于,此种计算架构必须同时分发信息,并在所有节点之间对信息进行同步。而当节点数量超过3-4个时,这几乎已经变得不可能了。

自动驾驶计算系统的多种计算架构---分布式计算架构、中心式计算架构和混合式计算架构图3分布式计算结构示意图

分布式计算架构的示意图的优点与缺点总结如下:

终端传感器和*传感器之间可使用更低的带宽、更简易且低廉的接口,在大多数情况下,小于 1 MB 每秒的带宽就足够了

由于*处理器只需整合对象数据,其对运算能力要求较低,所需功耗也更低。由于很多数据处理工作在终端处理器内部完成,传感器数量的增加不会大幅提高对*处理器的性能要求。

终端传感器需要配置处理器,由此其体积将变大,价格及功耗也将更高。由于传感器需要在本地处理数据并制定决策,其对功能安全(functional safety)的要求也将更高;

*处理器获取的是对象数据而非实际的传感器数据,因此无法追踪某一特定的「兴趣区域」(areas of interest)。

中心式计算架构的优劣势

中心式计算优势在于,*处理器会得到质量最好的信息。原因在于,如果终端传感器不修改数据、不过滤数据,*处理器就能获取具有最大可能性的信息(the maximum possible information)。

另一方面,其劣势在于,*处理器将会变成一个「大怪物」——必须从多达10个左右的车载摄像头那里传输数据,每个摄像头皆为百万像素级别,因此传输的数据量将以GB计量;同时,必须从各雷达处转移数据,所以得再次传输GB级别的数据量。

最终的情形将是,*处理器将接收上述高频率传输来的海量数据且必须及时处理。此外,如果*处理器是不可扩展的(Non-scalable),则将不能提供汽车长期发展所需的功能。

自动驾驶计算系统的多种计算架构---分布式计算架构、中心式计算架构和混合式计算架构图4中心式计算结构示意图

中心式计算架构的示意图的优点与缺点总结如下:

由于只需要完成感知数据与传输数据的任务,终端传感器的成本与功耗较低,对功能安全的要求较低,可大量安装;

终端传感器体积小巧,由此所需安装空间较小,且安装位置灵活,替换成本较低;

由于数据不会在传感器中因为预处理或压缩而丢失,*处理器可以获取全部原始数据。

高达几个GB每秒的宽带通信对于终端传感器实时传输所采集的数据示必需的,由此可能会带来较高的电磁干扰;

*处理器需要强大的运算能力和运算速度来处理所有从终端传感器传输来的数据,这意味着更高的功率需求并会产生大量热量。此外,终端传感器数量的增加会大幅增加对*处理器性能的要求。

谁主沉浮?

到目前为止,大多数汽车制造商生产的汽车的计算架构是分布式的,即将数据处理的工作放在各终端传感器上完成。

但由于像英伟达与英特尔这样能够提供强大的车载计算能力公司的出现,未来设计一个中心式的汽车计算架构是完全有可能的,即各终端简易传感器将采集到的原始的且未经处理的数据直接传输到强大的*处理器中,由后者完成所有计算工作。

事实上,在明导公司(Mentor Graphics)最新提供的自动驾驶解决方案DRS360中,汽车的终端传感器会将其采集到的原始数据直接传输到*处理器。由此,所有的自动驾驶算法都将基于相同且完整的数据集来开展运算以最终形成决策。Mentor 表示,此方案不仅可以减少汽车电子控制单元(Electronic Control Units,ECU)的数量(豪华车上的ECU数量可达150多个),也把处理数据的功率需求降低了一个数量级。

值得一提的是,大多数自动驾驶领域小型初创公司支持采用中心式计算架构,或许是因为它们得不到各大汽车一级供应商的支持。例如,来自麻省理工学院、目前在新加坡测试自动驾驶出租车的初创公司Nutonomy的创始人Karl Iagnemma就表示:「在实践中,有些研发团队想偷懒,或由于各种原因无法得到原始数据(而选择采用分布式计算架构),但众所周知,这并不是最优解决方案。」

自动驾驶计算系统的多种计算架构---分布式计算架构、中心式计算架构和混合式计算架构图5混合式计算结构示意图

而恩智浦自动驾驶实验室主任 Davide Santo 认为:「至少,在自动驾驶的规划阶段需要中心式计算架构所提供的功能,其中「规划」是指路径寻找(path-finding)、汽车操控(maneuvering)和轨迹规划(motion trajectory)。与此同时, 我们仍然需要能进行本地数据处理的智能传感器,它们可以降低带宽需求,并且有助于在分布式架构与中心式架构之间的寻找最优组合以降低成本。 」

小结

在未来,汽车的终端传感器将变得不像现在那么智能,但也不会彻底变成一个「愚蠢」的传感器,它一定还会继续执行重要的操作。但由此就认为仅凭中心式计算架构实现高级别的自动驾驶,似乎有些天真,各一级供应商仍将发挥重要的作用。当然,为了使自动驾驶系统有效运行,就需要所有参与方在语言、格式、协议和网络等方面达成一致,而这在目前尚未实现。

综上所述,混合式计算架构更可能是最终的技术路径(如图5所示)。一方面,就近传感器来处理数据总是需要的,无论是针对相机、雷达天线或云点分析。与此同时,总是需要一个集中的地方,将所有终端传感器的信息整合到一起,来完成对汽车周围环境的整体感知并作出决策。

参考资料

Mark Harris. Mentor Graphics Moves Into Automated Driving. IEEE Spectrum. 2017.04.04

Brian Krzanich. Data is the New Oil in the Future of Automated Driving. Intel Newsroom. 2016.11.15

Hannes Estl. Sensor fusion: A critical step on the road to autonomous vehicles. eeNews Europe. 2016.04.11

Charles Murray. What’s the Best Computing Architecture for the Autonomous Car? DesignNews. 2017.08.17

全文转自:http://www.cheyun.com/content/17813