主页传送门: 传送
通过上机学习,可以方便的进行感知、决策规划等各模块开发与仿真验证,但是无法实车验证,缺乏非常重要的传感器硬件与车辆层,接下来我们进入上车实践阶段。
首先通过学习 Apollo 车辆适配流程,可以掌握自动驾驶线控设计,并最终开发出适配 Apollo 的线控车辆。之后,通过车辆硬件集成、标定、循迹流程,可以完成车辆集成闭环验证。最后,通过实车自动驾驶闭环流程,可以了解车辆安全操作、测试流程以及定位、控制调车。
技术栈 | 线控协议 | 车辆集成 | 测试与调车 |
---|---|---|---|
Apollo 工具 | 车辆适配工具链 | Fuel云服务 / D-KIT | DreamView / D-KIT |
实践内容 | 1. 了解 Apollo 线控标准 2. 开发符合 Apollo 要求的线控车辆与 DBC 3.在 Apollo 中开发与车辆通信的 canbus 驱动 4.使用 teleop 开环验证车辆 | 1.学习传感器布置与连接 2.了解车辆标定与传感器标定 3.了解循迹原理 4.通过循迹实现控制与线控实车闭环验证 | 1. 了解车辆安全操作 2. 了解基础测试流程和实车数据录制 3.了解实车控制调参 4. 了解实车定位调试 |
我们首先要解决底盘车辆的问题,需要一辆适配 Apollo 软件系统的线控底盘。开发者可以自己打造一辆符合 Apollo 线控标准的底盘,并与 Apollo 软件系统进行打通适配;也可以直接采用 Apollo 认证的线控底盘套件,比如 Apollo D-KIT 开发套件。如果开发者选择自己打造符合 Apollo 要求的底盘,主要包括如下几项任务。
第一步需要了解 Apollo 线控标准协议。线控协议定义了底盘横向、纵向、车身等控制的功能要求和性能要求。开发者需要基于此实现自己的底盘并开放一部分底盘信号,将这些信号配置成符合 Apollo 的线控标准要求的 DBC 文件(Database file,是一中用于描述 CAN 总线上数据的专用文件,能够方便用户快速构建车辆 CAN 通信的网络结构,定义 CAN 总线上的信号、报文等相关信息),详细的应用案例实践可以参考符合Apollo线控标准的车辆。在完成底盘硬件的制造组装与开放软件接口后,开发者还需要在 Apollo 系统中开发和底盘通信的 canbus 驱动。
当车辆和 Apollo 系统的 canbus 驱动就绪后,需要进行底盘联调以确保 Apollo 下发的控制指令能在底盘上得到准确执行。Apollo 同时提供了 teleop 工具来进行测试验证。
如果开发者不需要自己打造底盘,还可以直接采用 Apollo 认证的线控底盘套件,比如 Apollo D-KIT 开发套件。
在解决车辆底盘通信问题后,开发者需要集成自动驾驶所需要的各类传感器硬件,如激光雷达、摄像头、毫米波雷达以及组合惯导等,同时还需要进行车辆标定、传感器标定,以确保获得精准的车辆控制效果和感知效果。最后,通过循迹实践完成实车闭环验证。
这个环节需要基于传感器的特性在自动驾驶车辆上合理布置传感器,在感知能力、成本以及外观等方便做权衡;同时,了解各传感器的连接方案。
车辆标定是在车辆速度、油门/刹车踏板开度和加/减速度 3 个变量之间形成一个映射表,其代表了当前车辆的动力学特性,可以用来把自动驾驶控制命令转换成车辆执行命令,以确保精准的控制效果。Apollo 提供了相关的工具链来完成车辆标定。
传感器标定,是为了把不同传感器的自身坐标系统一到车身坐标系,以方便后续的处理。详细的应用实践案例可以参考激光雷达与惯导设备标定 激光雷达与惯导设备标定 以及摄像头设备标定 摄像头设备标定。
最后是循迹实践,通过寻迹闭环可以评测车辆线控性能的效果。
在完成了车辆、传感器硬件的集成后,开发者便可以基于实车来验证自动驾驶系统的能力。
在进行实车自动驾驶验证之前,必须明确操作流程以确保安全。这里包括测试场地要求,也包括自动驾驶车辆操作的要求,比如除了操作自动驾驶系统的调试人员还必须有安全员以准备随时接管车辆。在 Apollo D-KIT 开发套件的使用说明中,对此有详细的要求规定。
在完成以上步骤后,开发者可以基于实车来进行控制调试,结合 Apollo Dreamview 中的 PnC Monitor 等工具来进行分析。
此外,开发者还可以基于实车来进行定位调试,结合使用 Apollo 提供的 Localization visualizer 等工具来进行分析和问题定位。
加入课程
Apollo开发者社区 观看课程学习apollo
课程进度可以拖动 几秒就能完成。
学完填表选心仪的奖品领奖就行
表单填写