大三小学期进阶课程第四十五课:车辆与循迹能力实战

第45课、车辆与循迹能力实战

  1. 在搭建完自动驾驶车辆的软、硬件环境以后,通常采用循迹测试进行验证
    大三小学期进阶课程第四十五课:车辆与循迹能力实战

  2. 循迹测试涉及最底下的几个模块,只需要定位、控制以及Canbus这三个模块,是Apollo的最小子集,通过循迹可以验证车的线控能力以及模块的整体集成能力。

  3. 首先在硬件上,我们需要一辆线控车辆、一个工控机以及惯导系统GPS和IMU,如果大家使用的是参考硬件搭建的车辆,不需要进行适配,可以直接进行验证。如果你不是用参考车辆来做这件事,需要做以下几步:
    (1)首先是要实现一个适配层。通过代码里的Vehicle模块添加一个新Vehicle,其实就是从代码逻辑上添加一个车辆的设备层。具体包括添加一个新车控制器,再实现一个新消息管理器,然后在工厂类中注册这个新车和更新配置文件
    ①实现新车控制器
    ②实现新消息管理器
    ③在工厂类中注册新车
    ④更新配置文件canbus/conf/canbus_conf. pb. txt
    (2)第二步是Can卡的管理。Canbus通过CAN Card硬件去完成沟通,默认有一个叫ESD的CAN Card。如果我们新添不同的厂家,且它的驱动数据格式不一样,需要按照以下方式去集成一个新CAN Card。
    ①实现新can卡类’canclient’
    ②在工厂类’canclientfactory’中注册新can卡
    ③更新配置文件canbus/proto/can_card_parameter. proto
    (3)最后是控制模块。控制模块是一个非常开放的模块,大部分情况下,不需要定制。当然如果整个车辆的控制,底层的车辆有很大的差别,在个别情况下需要用自己的控制算法。
    ①创建一个控制器
    ②在’control_config’文件,为新控制器添加配置
    ③注册新控制器

  4. 定位
    大三小学期进阶课程第四十五课:车辆与循迹能力实战
    (1)目前Apollo提供两种定位方式,一种是RTK定位方式,基于基站的方式,需要GPS和IMU惯导。另一种方案是MSF(多传感器融合)的定位方式,
    (2)除了GPS和IMU之外,还通过Lidar的3D点云来做认证匹配定位。
    (3)循迹测试的定位只需要一个GPS即可。
    (4)如果使用的不是Apollo推荐的参考硬件,就需要新添加,具体过程就是新建一个GPS解析类去解析GPS 的数据格式,然后再配置就可以实现。
    (5)设备搭建完成之后,可以通过HMI界面启动循迹测试,包括录制和执行两步。在录制之前,需要确认已经启动了所有相关的GPS, CAN Card模块。
    ①录制:
    1)在quick record下,单机setup以启动所有模块并执行硬件运行状况检查
    2)如果硬件健康检查通过,单机start按钮开始记录驱动程序轨迹
    3)到达目的地后,点击stop按钮停止录制
    ②执行
    1)在quick play下,单机setup启动所有模块并执行硬件运行状况检查
    2)确保驾驶员准备好了,点击start按钮开始自动驾驶
    3)到达目的地后,点击stop按钮停止重放录制的轨迹