Apollo 3.0来了!百度自动驾驶硬件系统全解读

2,949 阅读23分钟
作者 | 王石峰
编辑 | Natalie
AI 前线导读: 百度 Apollo 3.0 发布在即,本期 AI 前线社群分享我们很高兴邀请到了百度自动驾驶技术部高级产品经理王石峰,为我们带来《自动驾驶汽车硬件系统概述》的干货分享。本场直播的讲师和内容提供来自百度。

更多优质内容请关注微信公众号“AI 前线”(ID:ai-front)

大家好,我是来自百度自动驾驶技术部的高级产品经理王石峰。负责传感器、特种车辆识别、交通手势识别的产品设计和项目管理的工作。很高兴在这里,通过社群带给大家自动驾驶中有关硬件系统的分享。

接下来,我将从五个方面为大家做自动驾驶汽车硬件系统概述的内容分享,希望大家可以通过我的分享,对硬件系统的基础有个全面的了解:

  1. 自动驾驶系统的硬件架构

  2. 自动驾驶的传感器

  3. 自动驾驶传感器的产品定义

  4. 自动驾驶的大脑

  5. 自动驾驶汽车的线控系统

根据美国国家运输安全委员会的调查报告,当时涉事 Uber 汽车——一辆沃尔沃 SUV 系统上的传感器在撞击发生 6s 前就检测到了受害者,而且在事故发生前 1.3 秒,原车自动驾驶系统确定有必要采取紧急刹车,此时车辆处于计算机控制下时,原车的紧急刹车功能无法启用。于是刹车的责任由司机负责,但司机在事故发生前 0.5s 低头观看视频未能抬头看路。

从事故视频和后续调查报告可以看出,事故的主要原因是车辆不在环和司机不在环造成的。Uber 在改造原车加装自动驾驶系统时,将原车自带的 AEB 功能执行部分截断造成原车 ADAS 功能失效。自动驾驶系统感知到受害者确定要执行应急制动时,并没有声音或图像警报,此时司机正低头看手机也没有及时接管刹车。

目前绝大多数自动驾驶研发车都是改装车辆,相关传感器加装到车顶,改变车辆的动力学模型;改装车辆的刹车和转向系统,也缺乏不同的工况和两冬一夏的测试。图中 Uber 研发用车是 SUV 车型自身重心就较高,车顶加装的设备进一步造成重心上移,在避让转向的过程中转向过急过度,发生碰撞时都会比原车更容易侧翻。

所以在自动驾驶中,安全是自动驾驶技术开发的第一天条。为了降低和避免实际道路测试中的风险,在实际道路测试前要做好充分的仿真、台架、封闭场地的测试验证。

  • 软件在环(Software in loop),通过软件仿真来构建自动驾驶所需的各类场景,复现真实世界道路交通环境,从而进行自动驾驶技术的开发测试工作。软件在环效率取决于仿真软件可复现场景的程度。对交通环境与场景的模拟,包括复杂交通场景、真实交通流、自然天气(雨、雪、雾、夜晚、灯光等)各种交通参与者(汽车、摩托车、自行车、行人等)。采用软件对交通场景、道路、以及传感器模拟仿真可以给自动驾驶的环境感知提供丰富的输入可以对算法进行验证和测试。

  • 硬件在环(Hard-ware in loop),各种传感器类似人的眼睛和耳朵,作为自动驾驶系统的感知部分,该部分的性能决定了自动驾驶车辆能否适应复杂多变的交通环境。包括,摄像头、毫米波雷达、超声波雷达、激光雷达。针对不同的传感器,硬件在环会根据不同的传感器和环境因素来部署。

  • 车辆在环(Vehicle in loop),车辆执行系统向传动系统发出执行命令来控制车辆,在自动驾驶中取代了人类的手脚。自动驾驶系统的执行控制优劣决定了车辆是否能够安全舒适的行驶。车辆运行在空旷的场地上,自动驾驶系统感知系统模拟的虚拟场景,自动驾驶系统根据虚拟的场景发出控制指令,再通过传感器将车辆的真实轨迹反馈到虚拟环境中,实现真车与虚拟环境的融合,从而进行车辆操控的验证。

  • 司机在环(Driver in loop),基于实时仿真技术开发,结合驾驶员的实际行为,可以实现对车辆和自动驾驶技术开发测试做出主观的评价。司机在环,可以一方面获得司机的主观评价,另一方面可以验证人机共驾驶的功能。

一、自动驾驶系统的硬件架构

就整体而言,汽车是个全社会化管理的产品,其固有的行业特点是相对保守的。在人工智能的大潮下,面对造车新势力和消费者需求变化的冲击,传统汽车行业渐进式的创新方法已经面临巨大的挑战。急需改变传统的架构和方法不断创新。自动驾驶整体的硬件架构不光要考虑系统本身也要考虑人的因素。

自动驾驶系统主要包含三个部分:感知、决策、控制。从整个硬件的架构上也要充分考虑系统感知、决策、控制的功能要求。整体设计和生产上要符合相关车规级标准,如 ISO26262、AECQ-100、TS16949 等相关认证和标准。目前 L1、L2、ADAS 系统的硬件架构体系和供应链相对完善符合车规级要求。

感知层依赖大量传感器的数据,分为车辆运动、环境感知、驾驶员检测三大类。

车辆运动传感器:速度和角度传感器提供车辆线控系统的相关横行和纵向信息。惯性导航 + 全球定位系统 = 组合导航,提供全姿态信息参数和高精度定位信息。

环境感知传感器:负责环境感知的传感器类似于人的视觉和听觉,如果没有环境感知传感器的支撑,将无法实现自动驾驶功能。主要依靠激光雷达、摄像头、毫米波雷达的数据融合提供给计算单元进行算法处理。V2X 就是周围一切能与车辆发生关的事物进行通信,包括 V2V 车辆通信技术、V2I 与基础设施如红绿灯的通信技术、V2P 车辆与行人的通信。

驾驶员监测传感器:基于摄像头的非接触式和基于生物电传感器的接触式。通过方向盘和仪表台内集成的传感器,将驾驶员的面部细节以及心脏、脑电等部位的数据进行收集,再根据这些部位数据变化,判断驾驶员是否处于走神和疲劳驾驶状态。

计算单元部分:各类传感器采集的数据统一到计算单元处理,为了保证自动驾驶的实时性要求,软件响应最大延迟必须在可接受的范围内,这对计算的要求非常高。目前主流的解决方案有基于 GPU、FPGA、ASIC 等。

车辆控制:自动驾驶需要用电信号控制车辆的转向、制动、油门系统,其中涉及到车辆地盘的线控改装,目前在具备自适应巡航、紧急制动、自动泊车功能的车上可以直接借用原车的系统,通过 CAN 总线控制而不需要过度改装。

警告系统:主要是通过声音、图像、振动提醒司机注意,通过 HMI 的设计有效减少司机困倦、分心的行为。

二、自动驾驶的传感器

摄像头:主要用于车道线、交通标示牌、红绿灯以及车辆、行人检测,有检测信息全面、价格便宜的特定,但会受到雨雪天气和光照的影响。由镜头、镜头模组、滤光片、CMOS/CCD、ISP、数据传输部分组成。光线经过光学镜头和滤光片后聚焦到传感器上,通过 CMOS 或 CCD 集成电路将光信号转换成电信号,再经过图像处理器(ISP)转换成标准的 RAW,RGB 或 YUV 等格式的数字图像信号,通过数据传输接口传到计算机端。

激光雷达:激光雷达使用的技术是飞行时间法(Time of Flight)根据光线遇到障碍的折返时间计算距离。为了覆盖一定角度范围需要进行角度扫描,从而出现了各种扫描原理。主要分为:同轴旋转、棱镜旋转、MEMS 扫描、相位式、闪烁式。激光雷达不光用于感知也应用于高精度地图的测绘和定位是公认 L3 级以上自动驾驶必不可少的传感器。

毫米波雷达:主要用于交通车辆的检测,检测速度快、准确,不易受到天气影响,对车道线交通标志等无法检测。毫米波雷达由芯片、天线、算法共同组成,基本原理是发射一束电磁波,观察回波与入射波的差异来计算距离、速度等。成像精度的衡量指标为距离探测精度、角分辨率、速度差分辨率。毫米波频率越高,带宽越宽,成像约精细,主要分为 77GHz 和 24GHz 两种类型 。

组合导航:GNSS 板卡通过天线接收所有可见 GPS 卫星和 RTK 的信号后,进行解译和计算得到自身的空间位置。当车辆通过遂道或行驶在高耸的楼群间的街道时,这种信号盲区由于信号受遮挡而不能实施导航的风险。就需要融合 INS 的信息,INS 具有全天候、完全自主、不受外界干扰、可以提供全导航参数(位置、速度、姿态)等优点,组合之后能达到比两个独立运行的最好性能还要好的定位测姿性能。

三、自动驾驶传感器的产品定义

这张表总结了常见自动驾驶功能所使用的传感器,以及各个传感器的应用。针对 L1、L2 的自动驾驶功能各国也纷纷出台了相关标准,加速了市场的发展和产品落地。欧盟新车安全评鉴协会 (E-NCAP) 从 2013 年起便在评分规则中增加了 ADAS 内容,计划到 2017 年速度辅助系统 (SAS)、自动紧急制动 (AEB)、车道偏离预警 / 车道偏离辅助 (LDW/LKD) 的加分要求为系统,装机量达到 100%。美国国家公路交通安全管理局 (NHTSA) 和高速公路安全保险协 (IIHS) 也提出 2022 年将自动紧急制动 (AEB) 等 ADAS 功能纳入技术标准。

自动驾驶要求局限于车辆的 ODD(Operational Design Domain),即设计适用范围。城市道路 + 城际高速是自动驾驶汽车普遍的适用范围。我国城市封闭道路最高限速 80 公里/小时,高速公路限速 120 公里/小时。干燥的柏油路面摩擦系数是 0.6,根据刹车距离公式:S=V*V/2gμ 去计算刹车距离得出第一行的表格,再结合自动驾驶系统反应时间和制动系统反应时间得出下表。

从两个表格可以看出,刹车距离与速度的平方成正比,与摩擦系数成反比。当摩擦系数一定时,刹车距离取决于车速,如果车速增加 1 倍,刹车距离将增大至 4 倍。摩擦系数μ主要与路面材质和天气相关。

自动驾驶传感器在中国最高限速 120 公里的情况下,探测距离达到 150m 就可以满足需求了,自动驾驶的技术开发者可以根据实际场景的速度来选择所需要的传感器,没有必要一味追求传感器的性能提高整体成本。

传感器的分辨率和物体探测的关系可以用 atan 反正切函数来计算,图中给出的公式多除以了个 2,主要是为了保证在传感器探测时当最小角度是最小目标一半时,任意情况都能覆盖到某个像素保证分辨。避免物体恰好不是在一个角度内而产生漏检。

理论上分辨率 0.4 度时 100m 外就可以探测到一辆车,而在 0.1 度分辨率下 400m 外就能探测到。但检测只是识别到有个物体并不代表能识别,从自动驾驶的算法角度来讲,比如激光雷达物体识别需要 4 到 5 条线扫描上才能识别出物体的类别。从这个角度看自动驾驶系统如果用 0.4 度分辨率的激光雷达在 50m 范围内才能真正识别出一辆车。

自动驾驶离不了多传感器融合,其中激光雷达和摄像头都是光学类的传感器,核心零部件和处理电路相似。有望将两个传感器前端融合到一起,直接输出 R、G、B、X、Y、Z 颜色 + 点云融合信息。在传感器内部实现数据融合可大幅度降低后端的计算处理量。

其中以 AEye 为代表 ,其 iDAR 智能感知系统能够瞬间将 2D 真实世界的色彩信息智能地叠加在 3D 数据上。其动态扫描和发射图纹技术、通过控制每束激光脉冲的扫描,可查询每个点的三维坐标和像素。

四、自动驾驶的大脑

IPC 即工业个人计算机(Industrial Personal Computer─IPC)是一种加固的增强型个人计算机,它可以作为一个工业控制器在工业环境中可靠运行。采用符合“EIA”标准的全钢化工业机箱,增强了抗电磁干扰能力,采用总线结构和模块化设计技术。CPU 及各功能模块皆使用插板式结构,并带有压杆软锁定,提高了抗冲击、抗振动能力。

整体架构设计需要考虑 ISO26262 的要求,CPU、GPU、 FPGA 以及总线都做冗余设计,防止单点故障。当整体 IPC 系统失效还有 MCU 做最后的保证,直接发送指令到车辆 Can 总线中控制车辆停车。

目前这种集中式的架构,将所有的计算工作统一放到一个工控机中,整体体积较大,功耗高,不适用于未来的量产。但这种架构非常方便,算法迭代不需要过度考虑硬件的整体设计和车规要求。用传统的 X86 架构就可以非常快捷的搭建出计算平台,卡槽设计也方便硬件的更新。

采用工控机集中式运算整体体积和功耗难以满足量产化要求,需要采用域控制器嵌入式的方案。将各个传感器的原始数据接入到 Sensor Box 中,在 Sensor Box 中完成数据的融合,再将融合后的数据传输到计算平台上进行自动驾驶算法处理。

自动驾驶汽车功能复杂,保证各个模块和功能间不互相影响和安全性考虑,将大量采用域控制器。根据不同的功能实现分为,车身域控制器、车载娱乐域控制器、动力总成域控制器、自动驾驶域控制器等。以自动驾驶域控制器为例,其承担了自动驾驶所需要的数据处理运算力,包括毫米波雷达、摄像头、激光雷达、组合导航等设备的数据处理,也承担了自动驾驶算法的运算。

随着自动驾驶的技术发展,算法不断完善。算法固化后可以做 ASIC 专用芯片,将传感器和算法集成到一起,实现在传感器内部完成边缘计算。进一步降低后端计算平台的计算量,有利于降低功耗、体积、车规化。其中以 Mobileye 为标杆性企业。

激光雷达处理需要高效的处理平台和先进的嵌入式软件。如图 Renesas 将包含高性能图像处理技术及低功耗的汽车 R-CarSoC 与 Dibotics 的 3D 实时定位和制图(SLAM)技术相结合,提供 SLAM on Chip™。SLAM 可在 SoC 上实现高性能所需的 3D SLAM 处理。Dibotics 公司也开发了一款名为“Augmented LiDAR”的嵌入式 LiDAR 软件,能够提供实时、先进的 LiDAR 数据处理。

ASIC 芯片是根据某类特定的需求去专门定制的芯片,比通用性的 GPU、FPGA 体积小、功耗低,性能稳定批量化成本低的特定。自动驾驶的算法公司只要做好芯片的前端设计,后端的制造和工艺都是非常成熟的产业,完全可以依靠外包实现。

芯片的制作流程是由芯片设计、芯片制造、芯片封装三部分组成。

前端设计完成之后,可以根据实际算法需求选择 IP 核通过 EDA(电子设计自动化)完成布图规划、布局、布线。根据延迟、功耗、面积等方面的约束信息,合理设置物理设计工具的参数,以获取最佳的配置从而决定元件在晶圆上的物理位置。

芯片制造工艺上正从 193nm 深紫外(DUV)向 13.5nm 极紫外(EUV)发展。半导体正步入 7nm 时代,更先进的工艺带来性能上的提升,对比 16nm 工艺 7nm 可提升 40% 的性能和节省 60% 的能耗。

芯片封测是指将通过测试的晶圆按照产品型号及功能需求加工得到独立芯片的过程。在封测的过程中完成对芯片车规级要求,传统的汽车电子企业如 NXP 和 ST 有着更加丰富的经验。

五、自动驾驶汽车的线控系统

线控就是 Control by Wire 的直译 。简单理解,就是车辆的控制都是由一系列命令而执行的,而不是物理的操作进行执行的。

自动驾驶主要分为感知决策控制三部分,控制层是自动驾驶落地的基础。感知定位如同司机的眼睛,决策规划如同大脑,执行控制就好比手和脚了。做好自动驾驶的决策规划也必须懂得执行控制,为了实现自动驾驶,执行机构的线控化是必然趋势,其中包括线控制动、线控转向、线控油门。

在传统车辆上,制动系统多采用液压或真空伺服机构来控制制动,对自动驾驶而言线控制动是最终的发展趋势,线控制动是以电子系统取代液压或气压控制单元。

上图是大陆的线控制动解决方案,MK C1 与 MK100 组成冗余线控方案。MK C1 将制动助力以及制动压力控制模块 (ABS、ESC) 被集成为一个结构紧凑、重量轻省的制动单元。MK C1 能满足自动驾驶对压力动态特性更高的要求,电触发的紧急制动所产生的制动距离要短得多。MK100 是大陆的汽车电子稳定控制系统(ESC),在汽车防抱死制动系统 (ABS) 和牵引力控制系统 (TCS) 功能的基础上,增加了车辆转向行驶时横摆率传感器、测向加速度传感器和方向盘转角传感器,通过 ECU 控制前后、左右车轮的驱动力和制动力,确保车辆行驶的侧向稳定性。

电子助力转向(EPS)与线控转向最大的区别在于,EPS 方向盘与车轮之间链接并未参与线控技术,依然采用的机械链接。从电信号控制角度看 EPS 也可以看成是一种线控转向系统。

英菲尼迪 Q50 线控主动转向系统基本上还是延续了传统转向系统的结构。只是增加了一套离合器装置以及三组 ECU 电子控制单元和一个转向力度回馈器。当车辆启动时,离合装置会自动切断连接,转向的任务交由电控系统。由于采用电子信号控制,其传动响应更为迅速,也更为轻松。

线控油门就是电子油门,通过位置传感器传送油门踩踏深浅与快慢的讯号 ,从而实现油门功能的电子控制装置。这个讯号会被 ECU 接收和解读,然后再发出控制指令 ,要节气门依指令快速或缓和开启它应当张开的角度。这个过程精准而快速。不会有机械磨耗的问题。

电子油门目前已大量普及,凡具备定速巡航即可认定有电子油门,早期电子油门为接触式,近来已经改为非接触式。电车依靠电机扭矩实现,直接发扭矩信号即可,油车依靠发动机管理系统(EMS)发扭矩信号实现。

转向的最早改装是在转向管柱端截断加装转向电机进行改造。之后利用原车转向助力系统进行转向控制。

制动的最早改装是加装电机踏板,后续利用原车的 ESC 系统进行控制,未来会选用 MK C1 之类的线控控制系统。

加速的最早改装都是发扭矩信号依靠 EMS 实现,后续的改装方案都是借用原车 ACC 接口由电子油门来执行。

自动驾驶面向量产的线控方案,可以参考英菲尼迪 Q50 的线控转向、大陆 MK100+MK C1 的线控制动来实现。由自动驾驶域控制器直接输出电机扭矩/制动压力信号给转向刹车的执行机构,结合大量的测试标定实现精准控制,从而给司乘人员带来完美的体感舒适度。

从 VSI 发布自动驾驶产业布局图中可以看出自动驾驶产业,是汽车、新能源、IT 通讯、交通运输、半导体、人工智能、互联网等多个 10 万亿巨无霸产业的跨界融合体。自动驾驶汽车是物质流、能量流、信息流的聚合体,需要行业各方深度合作,只有软硬件深度整合,打通藩篱跨界的企业才能摘得皇冠上的明珠。

本次分享的部分内容参考了我参与撰写的《智能汽车:决战2020》一书,内容涵盖技术到实战、政策到市场、创业到投资,并对全产业链进行了全貌梳理。

Apollo 3.0 将在 7 月 4 日百度开发者大会上与大家见面,将开放更多硬件能力给开发者,欢迎大家到现场见证 Apollo 3.0 的发布!更多硬件相关的技术干货也可以继续关注后续的社群分享。

更多学习资料和自动驾驶相关技术内容,大家可以关注 Apollo 开发者社区的公众号来获取,欢迎大家在这里沟通交流!

Q & A
Q1:目前哪些市面上的车型能够支持无人驾驶的线控改装?

A1: 绝大多数不能,具备自动泊车、AEB、ACC 功能的车辆都有希望进行不破坏原车的执行机构的改装。其他的只能通过破坏原车执行机构进行暴力改装。

Q2: 如果由于使用场景限制,激光雷达无法安装在车顶,而是在车辆周围安装多个激光雷达,会带来哪些影响?

A2:需要做激光雷达的外耦合。耦合完成实现 360 度的识别。

Q3:如果对无人车辆的停车定位精度要求很高(水平位置精度和航向精度),建议采取哪些解决方法?

A3:定位精度可以依靠 RTK 差分定位实现,目前 RTK 可以实现厘米级的定位。其次可以再融合激光雷达的数据,激光雷达自身测量精度可达到 2cm。通过这两种传感器的数据结合优秀的算法可实现高精度的定位要求。

Q4:请问,汽车用的主控制器:CPU 都有哪些主流厂家提供?

A4: CPU 目前都是用的 X86 的 intel 的。如果做 ASIC 芯片用的都是 ARM 核的

Q5: 制动的最早改装是加装电机踏板,后续利用原车的 ESC 系统进行控制,未来会选用 MK C1 之类的线控控制系统。市面上改装的林肯 MKZ 等车制动也是通过 ESC 做的么?

A5:MKZ 原车自带的泊车系统具有较好的线控能力,其制动基于车身自带的 ESC。

Q6:能否再介绍一下 appollo 的 sensorbox?

A6:更多介绍可以来 7 月 4 日 Apollo 3.0 发布会现场寻找答案

Q7:只通过摄像头检测,能否达到监督驾驶员精神是否集中的目的?如果能,戴墨镜的状态下如何实现?谢谢

A7:监视员检测不光是依靠摄像头,戴墨镜的情况可以靠生物电传感器,此传感器是放在方向盘里,可以通过手与方向盘的接触感应人体生物电从而判断注意力是否集中或者驾驶疲劳的情况

Q8:请问国内做线控改装的有哪些公司?价格大概是多少?

A8:目前 Apollo 认证的 MKZ 参考车辆由 AS 公司提供。Apollo 也欢迎车企/车辆改装服务商加入 Apollo 生态,丰富我们的参考车辆类型,降低 Apollo 上车门槛。

Q9:请问多传感器之间的外参标定采用什么方法呢?

A9:可以参考 Apollo 的传感器标定文档https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/multiple_lidar_gnss_calibration_guide.mdhttps://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_2_0_sensor_calibration_guide.mdhttps://github.com/Apol

Q10:石峰老师,我的问题也是关于 sensor box 的,现在内部是用 fpga,将来算法固化后会采用 asic 吗?

A10:可以把 FPGA 看成是 ASIC 的前端设计部分。算法固化后确实可以做 ASIC 芯片,量产化的成本功耗优势明显。