Apollo公开课丨ASU(Apollo 传感器单元)硬件详解
本期主要和大家分享Apollo传感器单元(ASU)硬件平台的相关知识,首先给大家介绍一下ASU的功能,然后介绍ASU Pro的升级功能,最后详细介绍软件抽象层的功能扩展,这些功能扩展已集成到Apollo 5.0。
首先介绍一下Apollo Sensor Unit (ASU)的架构。Apollo是2017年百度发布的自动驾驶,包括软件和硬件部分,在Apollo 1.0和2.0版本中使用的计算平台是工控机,工控机上接的相机是USB相机,不支持相机的触发,通过增加PCIE卡的方式实现对车辆的控制。
Apollo 3.0对于传感器的需求有了比较大的增加,这样Apollo 2.0的硬件已经不能满足软件和开发者的需求,于是百度就推出了ASU(Apollo 传感器单元)。如下图所示是ASU硬件的概览,ASU硬件上主要支持Apollo 2.0硬件传感器接口的扩展,使用可编程芯片,可以支持功能进一步扩展。最新发布的Apollo 5.0已公布固件更新,使用ASU的朋友可以通过固件更新获得更多的功能。
▲ASU基本功能
ASU提供了丰富的硬件接口,包括五路车规级FPD相机,FPD相机接口非常牢固,不会出现因为震动导致信号不稳定的问题。ASU支持的相机分辨率可达200万像素,满足20FPS 1080P数据的传输,同时可以支持硬件触发和时间戳,同一根线既可以传递数据又可以传递其他控制信号,比如说出触信号。ASU硬件支持四路CAN 2.0总线,同时也可以提供硬件时间戳,用于车辆控制、状态监控和更多传感器的接入。
ASU可以支持硬件GPS时间同步,当ASU同步到GPS之后会进行系统时间同步,整个软硬件系统使用统一的时间,另外ASU最多可输出五路GPS信号。在数据传输方面,ASU通过百度PCIE卡加Mini SAS HD线缆与IPC进行数据交换。
ASU支持接口兼容的传感器,且不限于具体供应商,只要传感器的接口和ASU提供的接口是兼容的,供应商提供的传感器也都可以接入。如下图给出了一些支持接口兼容的传感器案例。
▲ASU传感器支持
▲ASU Pro功能提升
与ASU相比,ASU Pro的性能有显著提升。在接口方面,ASU Pro提供了更多的传感器接口,另外还提供了符合车规的硬件设计。ASU主要是为了解决软件开发过程中传感器接入的问题,其设计目标并没有列入车规标准。而ASU Pro针对稳定性,增加了车规的硬件设计,包括震动性、温度测试、ESD。
如上图给出了ASU和ASU Pro的功能对比。首先, IPC数据带宽有了四倍的提升,之前ASU PCIe 支持四路 gen2,但是ASU Pro支持八路 gen3,ASU物理连接提供20Gbps带宽,其中有20%的带宽损失,相当于是16Gbps,而ASU Pro 提供PCIE GEN3传输接口,达到64Gbps带宽,提升4倍。
除了原有功能的提升,ASU Pro增加了RTC,可以在硬件初次启动的时候提供初始时间。另外ASU Pro工作温度范围上有比较大的提升,从原先的0到55度的范围提高到零下40度到70度的范围。在汽车标准方面,ASU没有针对汽车车规标准设计,而ASU Pro支持多种ISO的车规标准。
因为ASU和ASU Pro都使用了可编程的FPGA芯片,用户在使用了ASU之后,通过固件升级可以进行功能扩展。下面介绍软件抽象层功能的提升。
首先是减少GPS跳变,GPS作为比较重要的传感器在无人驾驶系统中使用,可提供非常精确的时间同步信息,其缺点是在汽车启动时没有GPS信号,或者汽车行驶过程中穿越隧道或者是有很多建筑物阻挡GPS信号的时候,会出现GPS信号不稳定的情况。
ASU和ASU Pro通过固件升级增加了对GPS信号的处理,主要包括硬件进行GPS从丢失到恢复的平滑处理,另外是在无GPS信号时提供精准的系统启动时间。
▲软件抽象层功能扩展—减少GPS跳变
在使用自动驾驶软件开发迭代过程中,用户往往需要保留收集的数据,随着相机数的增加,所有的相机数据量会极大的增加,对数据造成很大的影响。一方面对存储量提出了更高的要求,另一方面对数据传输带宽也提出了很大的需求。
在ASU上通过使用FPGA内部的视频压缩模块,可以极大的缓解这个问题。在保持现有数据通路不变的情况下,增加了视频压缩通路,把图像数据压缩成视频流数据,通过以太网传至工控机。ASU可以最多支持八路视频压缩,将来会扩展到十二路,然后对相机的分辨率可以支持到1080P,最多到30FPS。ASU将压缩后的数据通过以太网传输,传输的数据量会大大减少,与之前相比有10倍的减少。
除了在车上编码流程提供一些辅助之外,软件抽象层还提供了解码流程,当用户拿到离线数据时,ASU Apollo一线解码工具会对视频流进行解码,解码出来的视频流会同其他相机的传感器进行同步,然后再支持用户线下的调试、仿真以及视频的播放。
▲软件抽象层功能扩展—视频压缩
这张图显示了硬件模块的组成,包括相机使用ASU内部的FPGA芯片、CPU和存储硬盘。车上编码流程包括了从原始的YUV数据变成H.265压缩的视频流。
视频压缩的收益十分显著,如下图所示。
▲软件抽象层功能扩展—视频压缩收益
以上就是本次关于ASU(Apollo 传感器单元)硬件详解课程的全部内容。欢迎大家提出问题,进入社群进行交流。更多相关技术干货也可以继续关注后续的课程。
原版PPT获取方式:
进入公众号
回复关键词『0703ASU』
根据提示获得原版PPT资料