Apollo硬件开发平台
硬件系统
自动驾驶汽车研发流程的四个步骤
- 软件在环
- 基于模拟器仿真:仿真道路环境测试代码
- 硬件在环
- 基于必要的硬件平台:软件仿真结果和传感器、计算单元一起在硬件里跑一边
- 车辆在环
- 基于车辆执行:车辆在封闭场地里测试一遍
- 司机在环
- 基于实际道路:获得司机的评判
自动驾驶的三大系统:
- 感知
- 汽车运动:汽车定位、定姿传感器,惯性导航系统、全球定位系统、速度传感器、角度传感器等
- 速度传感器:被动安全,如检测速度控制安全气囊的弹出
- 角度传感器:如测量汽车偏离车道线
- 环境感知
- 超声波、摄像头、毫米波雷达
- V2X
- V2V:车车通讯
- V2P:人/基础设施 车通讯
- 驾驶员监测
- 摄像头
- 生物电:放置在方向盘,判断手有没有脱离方向盘,还有情绪、身体状况
- 汽车运动:汽车定位、定姿传感器,惯性导航系统、全球定位系统、速度传感器、角度传感器等
- 决策
- 计算单元:所有自动驾驶感知决策的算法都是跑在计算单元里的
- 基本用基于x86架构的服务机
- T-Box 车联网的通讯网关上接互联网下接CAN总线,可以发送一些开关门、启动指令。
- 黑匣子
- 控制
- 车辆控制
- 制动、转向、发动机、变速箱
- 警告系统
- 声音、图像、振动
- 车辆控制
自动驾驶汽车核心的感知传感器
- 摄像头:车道线、交通标识牌、红绿灯、车辆、行人检测。监测信息全面,价格便宜,但会受到天气影响。
- 双目摄像头:通过两个图像之间的视觉差计算,对于任意的障碍物都会提出警告提醒
- 激光雷达
- ToF:发射的一束光碰到障碍物回波到APD上进行接收,计算光折返的距离
- 种类:同轴旋转、棱镜旋转、MEMS、OPA相控阵、flash
- 地图的测绘定位也用激光雷达
- 优点:检测快而准确,不受天气的影响,但无法辨识车道线
- 77G、24G远距离雷达
- 组合导航
- 通过GNSS板卡、天线接收所有可见的GPS的卫星信号,经过计算得出位置。在存在遮挡的情况下不能很好结算以及得出实时的结果。所以需要融合惯性导航。
- 融合惯性导航的优点:封闭系统,不受外界环境的干扰,可以直接给出车身的位置速度和姿态。
根据不同自动驾驶功能,每个传感器应用的范围
L1、L2量产的汽车与L3+级别汽车的差异:L1、L2考虑误检,L3+考虑漏检
可见目前所有传感器探测距离到150m足够
计算需要多少分辨率的传感器
/2的原因:避免漏检,保证两束激光雷达探测物体处于探测边缘时不出现漏检情况,在每一个角度内都不存在漏检情况
能检测到不意味着能识别到,Apollo用同一车上4-5条线成像,实现很好的障碍物分类。
未来自动驾驶传感器的发展趋势
多传感器融合:如激光雷达和摄像机前端的融合,直接形成RGB- XYZ融合后的颜色加点云信息,传输给后端进行计算处理。(美国AI的iLiDAR)
自动驾驶汽车的计算单元
- 需要考虑整体的车规(电磁干扰、振动)
- 考虑ISO26262,所有的GPU、CPU、FPGA和总线都要进行一些冗余设计,防止单点故障。
- MCU:当系统整体失效的时候,会发送一些指令,如刹车或靠边停车。
- 集中式框架。体积较大、功耗较高;架构比较方便代码迭代;工控机卡槽式设计,方便硬件更新、扩展;
- 趋势:
- 嵌入式框架。将各传感器的原始数据先融合到一个sensor box里,在sensor box里完成数据的融合,在将融合后的数据传到后端的计算平台。sensor box主要做时间戳的同步,保证当前时间戳,所有传感器探测同一个方向。嵌入式降低功耗但不足以实现量产化。
- ASIC(Application Specific Integrated Circuit专门目的而设计的集成电路)芯片,将激光雷达的SLAM算法和半导体芯片做到了一起形成一个SOC(System on chip),将这个芯片放到一个传感器内部,在传感器内部进行边缘计算进一步降低后端计算量,降低功耗和车规划。
- 比通用的GPU、FPGA体积更低、功耗更小、性能稳定、量产更多。
- 芯片设计处理流程:芯片设计、芯片制造、芯片分装。
- 算法公司做好前端设计,固化算法、选择使用的ip核(ARM、MALI)、进行EDA(电子自动化)处理;后端的制造企业进行流片生产。
- 目前半导体工艺正在从深紫外DOV向极紫外EOV发展,步入7纳米时代,带来性能上的提升。7纳米提升40%的性能,节省60%的能耗。
- 嵌入式框架。将各传感器的原始数据先融合到一个sensor box里,在sensor box里完成数据的融合,在将融合后的数据传到后端的计算平台。sensor box主要做时间戳的同步,保证当前时间戳,所有传感器探测同一个方向。嵌入式降低功耗但不足以实现量产化。
自动驾驶的线控
线控:control by wire,车辆的控制都是由一系列命令执行,而不是一系列物理操作。
- 用电控化的元器件代替原液压系统
- EHB电子液压制动系统
- MK C1集成液压、制动模块,设计紧凑质量轻,电信号触发制动,制动距离更短
- MK 100 ESC的车身电子稳定系统,对MK C1进行互相备份,MK C1失效,MK 100接管。双备份提高安全性。
- EHB电子液压制动系统
线控的三大部分:
- 减速度控制
- 转向控制
- EPS电子助力转向系统
- 加速度控制
- 位置信息(探测脚踏刹车的深浅)传到EMS发动机控制系统控制气门开合(进气越多,加速度越快)
- 新能源汽车通过控制驱动电机的扭力
线控实现的三个阶段:
1.0:没有经过原车系统的测试验证,存在安全隐患
2.0:ADAS辅助驾驶系统,破解原车的CAN总线协议,通过控制原车的CAN总线实现控制
3.0:彻底底层开发定制,与2.0主要差异是考虑了冗余和备份的需求
Apollo 硬件开发平台
硬件抽象层,防止单一硬件短路时造成整个硬件系统崩溃。