
Google 从 2009 年开始做自动驾驶,到现在已有 9个年头。9个年头的技术积累还无法将自动驾驶技术量产落地,可见自动驾驶技术并不简单。
自动驾驶是一个庞大而且复杂的工程,涉及的技术很多,大部分答主仅从软件方面进行了介绍,而且太过细致。我从硬件和软件两方面谈一谈自动驾驶汽车所涉及的技术。

离开硬件谈自动驾驶都是耍流氓。
先看个图,下图基本包含了自动驾驶研究所需要的各种硬件。

然而…
这么多传感器并不一定会同时出现在一辆车上。某种传感器存在与否,取决于这辆车需要完成什么样的任务。如果只需要完成高速公路的自动驾驶,类似 Tesla 的 AutoPilot 功能,那根本不需要使用到激光传感器;如果你需要完成城区路段的自动驾驶,没有激光传感器,仅靠视觉是很困难的。
自动驾驶系统工程师要以任务为导向,进行硬件的选择和成本控制。

1.汽车
既然要做自动驾驶,汽车当然是必不可少的东西。
从我司做自动驾驶的经验来看,做开发时,能不选纯汽油车就别选。
一方面是整个自动驾驶系统所消耗的电量巨大,混动和纯电动在这方面具有明显优势。另一方面是是发动机的底层控制算法相比于电机复杂太多,与其花大量时间在标定和调试底层上,不如直接选用电动车研究更高层的算法。

2. 控制器
在前期算法预研阶段,推荐使用工控机(Industrial PC,IPC)作为最直接的控制器解决方案。因为工控机相比于嵌入式设备更稳定、可靠,社区支持及配套的软件也更丰富。
百度开源的 Apollo 推荐了一款包含 GPU 的工控机,型号为Nuvo-5095GC,如下图。
当算法研究得较为成熟时,就可以将嵌入式系统作为控制器,比如 Audi 和 TTTech 共同研发的 zFAS,目前已经应用在最新款 Audi A8 上量产车上了。

3.CAN 卡
工控机与汽车底盘的交互必须通过专门的语言—— CAN。从底盘获取当前车速及方向盘转角等信息,需要解析底盘发到 CAN 总线上的数据;工控机通过传感器的信息计算得到方向盘转角以及期望车速后,也要通过 CAN 卡 将消息转码成底盘可以识别的信号,底盘进而做出响应。
CAN 卡可以直接安装在工控机中,然后通过外部接口与 CAN 总线相连。
Apollo 使用的 CAN 卡,型号为ESD CAN-PCIe/402,

4. 全球定位系统(GPS)+ 惯性测量单元(IMU)
人类开车,从 A 点到 B 点,需要知道 A 点到 B 点的地图,以及自己当前所处的位置,这样才能知道行驶到下一个路口是右转还是直行。
无人驾驶系统也一样,依靠 GPS+IMU 就可以知道自己在哪(经纬度),在朝哪个方向开(航向),当然 IMU 还能提供诸如横摆角速度、角加速度等更丰富的信息,这些信息有助于自动驾驶汽车的定位和决策控制。
Apollo 的 GPS 型号为NovAtel GPS-703-GGG-HV,IMU 型号为NovAtel SPAN-IGM-A1。

5. 感知传感器
相信大家对车载传感器都耳熟能详了。
感知传感器分为很多种,包括视觉传感器、激光传感器、雷达传感器等。
视觉传感器就是摄像头,摄像头分为单目视觉,双目(立体)视觉。比较知名的视觉传感器提供商有以色列的Mobileye,加拿大的PointGrey,德国的Pike等。
激光传感器分为单线,多线一直到 64 线。每多一线,成本上涨 1 万 RMB,当然相应的检测效果也更好。比较知名的激光传感器提供商有美国的Velodyne和Quanergy,德国的Ibeo等。国内有速腾聚创和禾赛科技。
雷达传感器是车厂 Tier1 的强项,因为雷达传感器已经在汽车上得到了广泛使用。知名的供应商当然是博世、德尔福、电装等。

6. 硬件部分总结
组装一套可以完成某项功能的自动驾驶系统需要及其丰富的经验,并且要对各传感器的性能边界及控制器计算能力了如指掌。优秀的系统工程师能在满足功能的要求下将成本控制在最低,使其量产、落地的可能性更大。



