文章目录
第九章 百度Apollo安装与仿真(一)
Apollo自动驾驶架构介绍
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R7mT21Bn-1596877796511)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808160827281.png)]
-
最底层车辆平台
- y也称为开放车辆认证平台
- 执行Apollo无人驾驶平台生成的车辆控制指令
- 为了能够运行Apollo生成的指令,车辆必须是线控的,例如可以接受一定的指令,比如换挡、加减速、转向,完成对应的操作
-
传感器层
- 高性能的计算单元——Apollo的工控(IPC)机
- GPS/IMU主要是用于自定位
- 相机的功能主要是做红绿灯识别
- 主传感器激光雷达主要用来感知车辆周围环境
- HMI是对车辆发指令的一些设备的平板
- Blackbox是百度开放的一个商业化硬件,记录关键时刻的执行操作
-
核心软件平台
- 最下面一层RTOS实时操作系统
- 再上一层是Runtime Framework,用RTOS为上层的模块提供数据层支持
- 最上面一层是Apollo各个功能模块实现部分,包括地图引擎、定位、感知、规划、监管、控制、端到端以及HMI
-
云服务层
- 供了高精地图服务、模拟仿真、Data Platform、安全和更新、DuerOS等
Apollo平台的快速入门
Docker
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-td95YaLp-1596877796513)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808163116254.png)]
如何使用不同于参考硬件的传感器?
- 获取原始的用户数包 UDP(User Data Packet)
- 以ROS Driver的方式解析UDP
- 发布数据Publish Topic
如何使用不同于参考硬件的Camera
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-djuNXKK1-1596877796515)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808163827957.png)]
-
最下层是相机硬件
-
往上一层是一个标准的底层驱动,即Video for Linux driver
-
再上一层是一个ROS Driver,最上层是Apollo可以接收到的内容。
-
要使用该相机,主要的工作是底层硬件的解析,使得Apollo可以接收到相应的数据。
如何使用不同于参考硬件的LiDAR
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vzRe1AHW-1596877796516)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808164058216.png)]
- 硬件通常以基于内核Socket的方式把数据传输给PC,
- PC端做一些数据处理之后发布对应的消息类型。
- 对于激光雷达来而言,发布的是Pointcloud消息类型,该消息将被最上层的Apollo感知模块接收。
Build
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7G4wlQa1-1596877796518)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808164250075.png)]
- Apollo源码下载
- 安装Docker
- 进入Docker,拉取Apollo镜像,并以此镜像创建容器
- 运行容器、适配Apollo代码
RTK寻迹测试
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gl9dDcCu-1596877796520)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808164601779.png)]
- 核心:record
- 录制轨迹:一些GPS点和车辆状态信息
高精地图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fN3u9buy-1596877796522)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808165116143.png)]
左侧是一个高精度地图,右侧是实时相对地图。实时相对地图是车辆通过传感器来感知车身周围环境,可以帮助开放者更友好、方便地运行Apollo。
工具链
- 对相对地图进行离线查看
根据ros录制的rosbag,解析对应的道路边界,并绘制成道路图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AWy0rLz8-1596877796523)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808165221388.png)]
-
对车辆进行适配,由DBC文件生成对应的Protobuf
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PawugEF6-1596877796524)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808165731701.png)]
-
通过telop,远程控制测试车辆信号是否成功
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rNg6mB97-1596877796526)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808165818113.png)]
-
主题监控工具可以同时需要监听多个ROS topic[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bHTSP1Uc-1596877796528)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808165933508.png)]
-
Configuration工具明确标识出来修改了哪些字段
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W1PwyFQ6-1596877796530)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808170024559.png)]
-
Rosbag工具,包括分析规划模块、驱动以及统计信息等
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hTEOjRX2-1596877796531)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808170146411.png)]
可以同时记录对应时刻的多个状态的多个字段
-
交通灯模拟工具
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KUbzxdCG-1596877796532)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808170509417.png)]
模拟控制红绿灯
-
障碍物模拟
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YzvYE4kD-1596877796534)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200808170623099.png)]
障碍物topic数据回放,是Apollo项目可视化的一个模块,基于该模块,开发者可以在没有车和传感器的情况下使用Apollo各个软件模块