apollo学习笔记二十五:apollo 安装和仿真平台(下)

时间:2024-03-31 08:05:53

Apollo安装过程概述

apollo学习笔记二十五:apollo 安装和仿真平台(下)

  • 安装基础环境

    • 安装git,使用git将Apollo源码克隆到本地
      apollo学习笔记二十五:apollo 安装和仿真平台(下)
  • 拉取Docker镜像并创建容器

    • Docker环境安装好之后,使用官方提供的脚本拉取Apollo Docker镜像文件,运行dev_start. sh–C命令,其中–C选项表示使用中国服务器进行加速。在拉取成功之后,该脚本会基于镜像创建一个容器containerapollo学习笔记二十五:apollo 安装和仿真平台(下)
    • 注意:每次都要执行这个操作,因为container需要每次都创建。
  • 进入容器编译源码

    • 启动bootstrap. sh脚本,对Apollo的bag进行回放。

    • Supervisor进程进行监控:对于Apollo平台,很多的模块都被启动,交由Supervisor进程进行监控,包括Can Bus、 激光雷达、控制模块、GPS、Mobileeye、NG等模块。

    • 查看Demo的演示效果:在运行完bootstrap. sh脚本之后,在浏览器地址栏输入localhost:8888查看Demo的演示效果。Demo加载bag对应的数据,包括车辆的数据、障碍物数据、绿色障碍物ID、速度、形态。车在运行过程中需要查看的不仅仅是仿真出来的场景,还要看一些跟Planner、控制相关的信息。

azure仿真平台使用

基于微软的一个仿真平台Azure,该仿真平台不需要本地部署。
apollo学习笔记二十五:apollo 安装和仿真平台(下)

  • 在Apollo的Github账号上可看见上图所示的两个状态。
    • 左侧的Build用来做持续集成。为了简化验证,团队会把已经编辑好的测试运例用来测试开发者提交的代码是否正确,以此来判断开发者的代码对目前的Master的分支是否有影响。Build提供了对开发者代码验证的一种渠道。
    • Simulation主要用来验证代码的鲁棒性。
  • Apollo团队在微软的Azure仿真平台上部署了很多场景,拿最新的代码去在这些场景下进行测试和验证,看相应模块在这些场景的执行情况,最终得到代码的鲁棒性报告。
    该仿真平台的地址是azure. apollo. auto。在该仿真平台运行自己的代码是不需要进行本地编译的,其使用流程如下所示:
    apollo学习笔记二十五:apollo 安装和仿真平台(下)
    • 首先是克隆Apollo在Github上的代码,然后在本地对相应的模块进行修改,例如Planning。
    • 修改之后将代码提交到自己在Github的Apollo仓库中,可以是Master分支也可以是新建的分支。
    • 最后在微软的Azure仿真平台选择目标场景对更新后的代码进行验证。
    • 运行结束之后会拿到一个报告(如下图所示),表示修改后的代码在不同场景下的执行情况。

apollo学习笔记二十五:apollo 安装和仿真平台(下)
报告内容分析如下:

  • 第一列的Scenario是一些场景,在仿真平台中,我们会把一段很长的路切割成很多的场景,比如有左转、左转有行人、有行人横插等。
  • 后面几列是对应场景的状态描述,Run Status表示场景的运行状态,如果后面的指标中有一个失败,那么Run Status就是失败的。具体衡量的指标有碰撞检测、速度校验、On Road检测, Red-Light检测(是否有闯红灯的情况)、ARW检测(是否成功到达目的地)、Hard Break(急刹车)、加速度(它是影响体感的一个指标)。