高通自动驾驶实验室主任:何为自动驾驶的最佳计算架构|厚势
厚势按:在走完 5 个月漫长的收购流程之后,英特尔公司(Intel) 150 亿美元收购以色列 ADAS 技术供应商 Mobileye 的收购案终于在北京时间 8 月 9 日完成。不得不说,半导体产业(包括汽车半导体)的兼并与收购都是大手笔:
2016 年 11 月,西门子公司以 45 亿美元收购收购半导体软件公司明导(Mentor Graphics);
2016 年 10 月,高通公司 以 470 亿美元的高价收购恩智浦半导体公司(NXP Semiconductors);
而在 2015 年 3 月, 恩智浦曾以 118 亿美元收购美国汽车半导体公司飞思卡尔 (Freescale Semiconductor)。
由此,面向自动驾驶技术的汽车半导体产业有呈现三足鼎立之势——英伟达公司(NVIDIA)凭借车载计算平台 Drive PX 2 占得先机,英特尔公司合纵连横穷追不舍,但更不容小觑的是作为目前智能手机产业两大枢纽节点之一的高通公司的实力。
日前,高通公司旗下恩智浦自动驾驶实验室主任戴维德 • 桑托(Davide Santo)就未来自动驾驶汽车应该采用分布式计算架构还是中心式计算架构进行了论述。厚势汽车综合其它信源,希望通过本篇文章将此问题阐述清楚。
引子
GPS:约 50 kB;
声呐:约 10 - 100 kB;
相机:约 20 - 40 MB;
雷达:约 10 - 100 kB;
激光雷达:约 10 - 70 MB。
将上述数字相加后可知,一辆自动驾驶汽车每天将产生约 4000 GB 待处理的传感器数据。由此,有志于投入自动驾驶系统研制的汽车制造商、IT 公司以及初创科技公司们不得不面对一个复杂的难题:如何使自动驾驶汽车能够实时处理如此海量的数据,并在提炼出的信息的基础上,得出合乎逻辑且形成安全驾驶行为的决策?
三类计算架构的定义
如图 2 所示,在复杂网络中,有三种典型的网络结构:中心式(Centralized)、分布式(Decentralized)和混合式(Distributed,此处为意译)。在描述自动驾驶汽车的计算架构时,可以借用这三种网络模型。
图 2 三类典型的网络结构
据恩智浦半导体自主驾驶实验室主任 Davide Santo 介绍,对分布式或中心式计算架构的定义可以追溯到 1999 年美国国防部实验室所提出的定义。基本上,这一定义仅限于需要进行传感器融合的场景:
分布式计算架构:终端传感器完成高度的数据处理,并在一定程度上在本地完成决策,只向中央处理器传输对象数据(object data)或元数据(meta data,描述数据属性的数据),由中央处理器在整合各终端传感器传来的数据后制定决策;
中心式计算架构:各终端传感器将原始数据传输到中央处理器处,所有数据的处理与决策的制定都在该处完成,且每个传感器节点都知道每个其它节点正在做什么;
混合式计算架构:根据系统中使用的传感器的数量和类型、不同车型的可扩展性要求与升级选项,混合使用上述两种计算架构结构以形成最优方案——其中,有一个中央计算单元在更高的抽象层次上工作, 此外还有一些可以所处位置或传感器类型来划分的不同的「域」(domain)。
分布式计算架构的优劣势
总体而言,分布式计算架构的优势在于,各终端处理器不必一下子处理大量数据,也没有类似如何以安全且高效的方式将数据从终端传感器传输到中央处理器的难题,能以最具成本效益的方式有效地将各部件组合在一起。
从另一个角度看,其劣势在于,此种计算架构必须同时分发信息,并在所有节点之间对信息进行同步。而当节点数量超过 3 ~ 4 个时,这几乎已经变得不可能了。
图 3 分布式计算结构示意图
图 3 是分布式计算架构的示意图,其优点与缺点总结如下:
中心式计算架构的优劣势
中心式计算优势在于,中央处理器会得到质量最好的信息。原因在于,如果终端传感器不修改数据、不过滤数据,中央处理器就能获取具有最大可能性的信息(the maximum possible information)。
另一方面,其劣势在于,中央处理器将会变成一个「大怪物」——必须从多达 10 个左右的车载摄像头那里传输数据,每个摄像头皆为百万像素级别,因此传输的数据量将以 GB 计量;同时,必须从各雷达处转移数据,所以得再次传输 GB 级别的数据量。
最终的情形将是,中央处理器将接收上述高频率传输来的海量数据且必须及时处理。此外,如果中央处理器是不可扩展的(Non-scalable),则将不能提供汽车长期发展所需的功能。
图 4 中心式计算结构示意图
图 4 是中心式计算架构的示意图,其优点与缺点总结如下:
谁主沉浮?
到目前为止,大多数汽车制造商生产的汽车的计算架构是分布式的,即将数据处理的工作放在各终端传感器上完成。
但由于像英伟达与英特尔这样能够提供强大的车载计算能力公司的出现,未来设计一个中心式的汽车计算架构是完全有可能的,即各终端简易传感器将采集到的原始的且未经处理的数据直接传输到强大的中央处理器中,由后者完成所有计算工作。
事实上,在明导公司(Mentor Graphics)最新提供的自动驾驶解决方案 DRS360 中,汽车的终端传感器会将其采集到的原始数据直接传输到中央处理器。由此,所有的自动驾驶算法都将基于相同且完整的数据集来开展运算以最终形成决策。Mentor 表示,此方案不仅可以减少汽车电子控制单元(Electronic Control Units,ECU)的数量(豪华车上的 ECU 数量可达 150 多个),也把处理数据的功率需求降低了一个数量级。
值得一提的是,大多数自动驾驶领域小型初创公司支持采用中心式计算架构,或许是因为它们得不到各大汽车一级供应商的支持。例如,来自麻省理工学院、目前在新加坡测试自动驾驶出租车的初创公司 Nutonomy 的创始人 Karl Iagnemma 就表示:「在实践中,有些研发团队想偷懒,或由于各种原因无法得到原始数据(而选择采用分布式计算架构),但众所周知,这并不是最优解决方案。」
而恩智浦自动驾驶实验室主任 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
-END-
文章精选
企业家
智能驾驶
新能源汽车
项目和评论
厚
势
汽
车
为您对接资本和产业
新能源汽车 自动驾驶 车联网
联系邮箱
bp@ihoushi.com