大三小学期进阶课程第四十四课:本机演示实战

第44课、本机演示实战

  1. 要使用Apollo进行实战,首先要对Apollo的代码结构有一个基本的认识。下图是Apollo项目的基本代码结构。包括Docker和Docs(主要放置一些文档)、Modules(核心模块算法都在该文件夹下)以及Scripts和Tools等。
    大三小学期进阶课程第四十四课:本机演示实战_第1张图片

  2. Modules下的文件目录结构如图所示
    大三小学期进阶课程第四十四课:本机演示实战_第2张图片

  3. apollo软件的整个数据流转过程是
    (1)首先是通过高精地图和定位获得车辆周边的场景信息。
    (2)然后通过感知模块侦测道路上的障碍物,即一些动态信息,比如旁边的车、行人、自行车等等。
    (3)这些工作完成后将感知的信息传递给Prediction,预测感知障碍物的运行轨迹。
    (4)最后将预测结果包装再传给Planning模块。Planning根据障碍物和周边静态的情况,比如有哪些车道可选,去规划路线。路线规划完成后,将生成的轨迹传到Control模块。
    (5)Control模块通过Can总线协议跟车辆交互,例如应该打多大角度的方向盘,车辆现在的加速度是多少,当前是应该踩刹车还是继续跟车等。同时也会从Can总线协议层面了解到车辆本身的信息。
    大三小学期进阶课程第四十四课:本机演示实战_第3张图片
    (6)从2. 5版开始,我们引入了一些小的变更,其中一个是Relative Map逻辑单元。它的引入可以使得我们在一些可能并不需要高精地图的场景进行自动驾驶,包括早期车辆的Demo搭建等,使整个适配过程更加方便。
    (7)在3. 0版本, 我们升级了系统里一些安全相关的模块,当发生紧急情况的时候可以直接利用熔断机制跳开PNC,直接对车辆下发刹车指令等。
    大三小学期进阶课程第四十四课:本机演示实战_第4张图片

  4. 软件的安装流程
    (1)Ubuntu 14. 04. 3(实际车辆,推荐更换apollo内核)
    (2)fork并clone github. com/ApolloAuto/apollo,方便后续修改
    (3)使用apollo工具安装并进入Apollo Docker容器
    ①bash docker/scripts/install_docker. sh
    ②#退出并重新登陆,这样可以非sudo运行Docker
    ③docker ps#确认Docker可以非sudo运行
    ④bash docker/scripts/dev_start. sh -C#启动并使用中国镜像加速
    ⑤bash docker/scripts/dev_into. sh
    (4)在Docker容器内编译并启动Demo
    ①bash apollo. sh build
    ②rosbag play docs/demo_guide/demo. bag --loop
    (5)打开Chrome浏览器,在地址栏输入localhost:8888即可访问Apollo

  5. 自动驾驶的门槛比较高,要真正形成一个比较完备的闭环,还需要一辆车。要从事自动驾驶行业,就必须上手,要有实际的车辆,可以是小型实验用车或者真车。实车必须满足线控标准。

你可能感兴趣的:(大三小学期)