Apollo自动驾驶实践—从Apollo开发套件循迹开始

本笔记课程连接:https://apollo.auto/devcenter/coursetable_cn.htmlrget=3
其中操作过程中的一些步骤省略,仅作为参考。

Apollo实践课程

  • 第0讲 导论
  • 第1讲:Apollo硬件连接集成—硬件介绍
    • 1.1 车辆循迹的硬件组成
      • 1.1.1计算单元
      • 1.1.2 定位系统
      • 1.1.3 CAN卡
    • 1.2 硬件连接与通讯简介
  • 第2讲 Apollo硬件连接集成—集成实操
    • 2.1 CAN卡的安装和要求
      • 2.1.1 准备工作
      • 2.1.2 拆装工控机
    • 2.2 将工控机安装在车辆上
    • 2.3 定位硬件的安装
      • 2.3.1 安装GPS天线
      • 2.3.2 安装GPS接收机和IMU
    • 2.4 4G路由器及显示器的安装
    • 2.5 连接通信接口
  • 第3讲 Apollo软件系统部署
    • 3.1 BIOS设置
    • 3.2 软件安装
      • 3.2.1 计算机操作系统软件
      • 3.2.2 硬件驱动的安装
      • 3.2.3 应用软件的安装
    • 3.3 操作指令
      • 3.3.1 拉取Apollo源代码
      • 3.3.2 启动并加入docker容器
      • 3.3.3 编译apollo
      • 3.3.4 apollo控制界面以及操作界面
  • 第4讲 定位模块配置
    • 4.1 卫星定位的基本原理
    • 4.2 定位系统的配置
    • 4.3 配置M2
      • 4.3.1 配置M2——基础配置
      • 4.3.2 配置M2—— 口信息
      • 4.3.3 配置M2——定位基站信息
      • 4.3.4 配置M2——杆臂值
    • 4.4 在 Apollo 软件中配置定位信息的配置文件
    • 4.5 车辆实操
  • 第5讲 车辆动力学标定
    • 5.1 标定的目的和基本原理
    • 5.2 标定的操作方法和步骤
      • 5.2.1 标定前准备——启动各模块
      • 5.2.2 进入标定
      • 5.2.3 标定实操演示——紧急停车介绍
      • 5.2.4 标定实操演示——数据采集
      • 5.2.5 标定实操演示——数据处理
  • 第6讲 启动车辆循迹
    • 6.1 循迹原理介绍
    • 6.2 Apollo开发套件配置文件简介
    • 6.3 实操演示

第0讲 导论

循迹自动驾驶:车辆按照录制好的轨迹线进行自动驾驶。

第1讲:Apollo硬件连接集成—硬件介绍

关于循迹:

  1. 循迹就是车辆按照事先录制好的一段轨迹进行自动驾驶。
  2. 循迹的过程中车辆不能进行避障
  3. 循迹是车辆进行自动驾驶时的一个最基本的能力

1.1 车辆循迹的硬件组成

Apollo提供了硬件选型指南,车辆选型指南,以及Apollo开发套件。

  • GTX1080显卡
  • 多个USB接口,支持多路摄像头输入
  • 多个支持PCI-E的接口

1.1.2 定位系统

    1.2 硬件连接与通讯简介

    1. 基于硬件本身正常工作时的供电
      需要注意:
      ①正负极不要接反
      ②达到额定电压才能正常工作,但不能超过

    2. 各硬件的用电情况

    3. 良好的接线习惯
      1、接线前要确定额定电压
      2、接线时要确保正负极接对
      3、连接完毕后请仔细检查
      4、检查无误后再上电测试

    第2讲 Apollo硬件连接集成—集成实操

    2.1 CAN卡的安装和要求

    2.1.1 准备工作

    1. 需将两个跳帽安装在指定位置以确保两路CAN通讯同时工作

    2.1.2 拆装工控机

    1. 拆解螺丝
    2. 取下工控机外壳
    3. 找到工控机的mini PCI-E接口
    4. 固定CAN卡

    2.3 定位硬件的安装

    2.3.1 安装GPS天线

    1. 将天线本体和天线底座连接
    2. 底座通过磁铁和双面胶固定在车体上
    3. GPS接收机数据线和工控机相连(工控机的USB接口上)
    4. 显示器接口与工控机相连(HDMI接口)
      • 米级的定位精度无法满足无人驾驶汽车的需求。
      • 将M2的升级口和工控机连接
        (1)M2 升级线连接到 M2 上
        (2)通过延长线连接 M2 升级口
        (3)另一端接到工控机 COM1 串口
        (4)配置 M2 前要先给设备连接电源

      4.3 配置M2

      4.3.1 配置M2——基础配置

      1. 前提:
        工控机上安装 Linux 系统、下载并安装 Apollo 软件系统。
        在工控机上下载 cutecom 串口助手,通过串口助手与 M2 设备进行交互,写入配置信息。
      2. 步骤:
        (1)打开终端,输入 sudo apt-get install cutecom 下载 cutecom
        (2)输入 sudo cutecom 启动 cutecom 的界面
        (3)在 cutecom 界面我们先选择端口 /dev/ttyS0,因为工控机连接的是COM1 串口,它默认的就是这个 ttyS0 的接口。空白处是收发数据的记录面板。点击 open device 正常情况下,数据记录面板上是没有数据收发的,如果是有数据一直在面板上刷屏的话,则需要进行端口的重置
        (4)因为数据记录面板没有数据收发,可以先输入一条获取配置信息的命令测试通讯是否正常,比如输入获取杆臂值的指令,可以看到数据面板返回之前写入的 levelarm 配置值,只要有返回值,那么说明我们的连接是正常的,这是我们可以在 input 命令窗口内写入 M2 设备的配置命令
        (5)配置 M2 的所有参数
        (6)每次在输入 input 中输入一条命令,如果正常就会在空白面板反馈一条命令行

      4.3.2 配置M2—— 口信息

      • 根据路由器在设置好一次后基本是不会改变的,但是如果换了一个路由器或者把 M2 拿到别的地方后,这时 络地址就会发生改变,需要重新配置。设置 口信息主要是保证 M2 设备能够正确的连接 络。
      • 设置 M2 设备的本地 IP 地址要和路由器本地的 IP 地址是在一个 段上,一般把路由器的 IP 地址设置为 192. 168. 1. 1,那我们就可以把M2 的 IP 地址设置为 192. 168. 1. 2 或者任何 192. 168. 1. x(确保不和其他设备冲突),将子 掩码默认设置为 255. 255. 255. 0,默认 关设置为 192. 168. 1. 1

      4.3.3 配置M2——定位基站信息

      确保基站格式是 RTCM32,准确获知基站的端口 、用户名、密码和挂载点。

      4.3.4 配置M2——杆臂值

      将杆臂值 X 的偏差、Y 的偏差、Z 的偏差替换到实际的车辆测量的杆臂值,然后进行设置,设置成功后会返回OK。
      .
      .

      完成上述配置操作之后,需要对配置进行保存,输入命令:

      需要对 M2 设备进行断电,重新上电,配置才会生效

      4.4 在 Apollo 软件中配置定位信息的配置文件

      1. 首先修改 Apollo 配置文件内的基站信息,修改时区、杆臂值
      2. 修改定位的配置,因为循迹时不适用激光雷达这些设备,定位只使用 RTK 的定位方法,所以需要将定位模块下的激光雷达设置为 false

      4.5 车辆实操

      将车开到室外,进行定位信 的实测验证,用于检验定位配置是否正确,通过启动 GPS 定位模块,验证定位信息是否准确

      1. 将车辆底盘上电,工控机开机,进入到 Linux 操作系统来启动 Apollo,首先进入 Docker 环境,bash docker/scripts/dev start. sh
      2. 进入 Apollo 容器当中
      3. 执行 bootstrap 脚本
      4. 打开浏览器并输入 localhost:8888 进入 Dreamview 的页面,在车辆的地方选择 Ch,即默认配置文件是在 Ch 目录下
      5. 启动定位相关模块
      6. 查看每个模块所广播的 topic,检查定位状态类型和定位输出

      第5讲 车辆动力学标定

      5.1 标定的目的和基本原理

      • 标定表
        标定表提供一个描述车辆速度、油门/刹车踏板开合度、加速度量之间关系的映射表。供Apollo查询使用。

      5.2 标定的操作方法和步骤

      5.2.1 标定前准备——启动各模块

      1. 进入Docker环境—通过终端输入拉起Docker
      2. 启动模块:模块有canbus、gps、localization和rescore
      3. 检查:通过输入命令行检查canbus,再通过输入命令行检查GPS情况,最后输入命令行检查定位。

      5.2.2 进入标定

      • 标定脚本执行目录

      5.2.3 标定实操演示——紧急停车介绍

      • 遥控器有急停开关,当车不按照预想行进时,需要及时接管。

      • 车尾部也有急停开关。

      6.2 Apollo开发套件配置文件简介

      1. 配置文件目录
      2. 包含的文件有:
        Apollo自动驾驶实践—从Apollo开发套件循迹开始
      • CAN bus配置文件
        • 车辆参数brand
        • can卡参数brand
        • can卡参数type
        • debug信息
      • 标定文件
        • 横向控制器和纵向控制器的相关参数
        • 横向控制器LQR相关参数
          • 车辆轮胎刚度
          • 四轮的质量
          • LQR的q参数
        • 纵向控制通过速度PID和位置PID进行调节
          • station
          • speed
      • 整车参数的配置文件
        • IMU到车辆四边距离
        • 整车长宽高
        • 最小转弯半径
        • 最大加速度、最大减速度
        • 方向盘最大转角、最大转速、最小转速
        • 转向传动比
        • 车辆轴距、轮胎滚动半径
        • 车辆停止时的速度

      6.3 实操演示

      1. 确认车辆已上电,工控机已开启并进入Linux操作系统
      2. 启动docker,进入docker,启动bootstrap
      3. 进入dreamview
      4. 启动EMUC-CAN驱动程序
      5. 启动canbus、启动GPS、定位模块bash script/canbus(gps/localization).sh;查看topic
      6. 循迹

      声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年7月11日
下一篇 2020年7月11日

相关推荐