(上机实践)
概述
Apollo 是一个非常庞大且复杂的系统,如何学习上手非常关键。我们一般把学习实践 Apollo 的过程分为上机和上车两个阶段。
我们首先从上机实践 Apollo 开始。上机只要你有符合配置要求的电脑(4 核以上 CPU,16G 以上内存,安装 Ubuntu 18.04+ 系统),能连上网就可以。在上机实践阶段,通过相应的实践内容与 Apollo 工具,开发者可以学习了解自动驾驶通信框架、自动驾驶感知以及自动驾驶决策规划等关心技术栈。
技术栈 | 通信框架 | 感知 | 决策规划 |
---|---|---|---|
Apollo 工具 | Cyber RT | DreamView / Cyber Visualizer | DreamView / Dreamland |
实践内容 | 1. 掌握 Cyber RT 开发工具 2. 使用 Cyber RT API 进行Apollo 开发 | 1.了解传感器特性 2.了解 Apollo 感知流程及算法 3.使用 Dreamview/Perception Visualizer 进行开发调试 4.扩展部署新的感知模型 5.扩展训练新的感知模型并验证 | 1. 了解 Apollo 决策规划流程和算法 2. 使用 Dreamview 进行控制在环的规划调试 3.基于Apollo 开发新的规划场景和算法4. 使用 Dreamland 进行控制在环的规划仿真评测 |
自动驾驶通信
在 实时通信框架 Cyber RT 中我们了解到了 Cyber RT 的好处,接下来就是要了解如何使用 Cyber RT 学习掌握自动驾驶通信。Cyber RT是车端工程框架的基础,任何的扩展开发都离不开 Cyber RT。因而把 Cyber RT 学好也是能深入学习 Apollo 的前提。在 Cyber RT 的实践中主要包括 2 个任务。
分布式系统开发模式
首先是了解 Cyber RT 里的 Talker/Listener、Service/Client 以 Parameter Service 三种通信模式,并可以尝试从创建你的第一个 reader/writer 通信案例开始。关于自动驾驶通信的应用实践案例可以参考应用实践文档相关文档使用 Cyber RT 进行开发。
开发工具
其次需要掌握如Cyber Monitor,Cyber Visualizer,Cyber Recorder 等开发工具,提升你的开发调试效率。
自动驾驶感知
在学习实践了 Cyber RT 之后,对于感知技术栈感兴趣的开发者可以学习实践自动驾驶感知。感知一般也是开发者关注最多的技术栈之一。
传感器特性
可以通过Apollo提供的传感器原始数据集和 Cyber Monitor、Cyber Visualizer 等工具,了解各个传感器数据特性。
感知流程及算法
之后,可以逐步了解感知流程和算法,Apollo 提供了 Lidar 点云、单目等多模态,检测、分割等多任务的算法,学习时可以根据自己的兴趣点选择性的学习。这个过程中,可以通过 Apollo 提供的 DreamView/ Perception Visualizer 等各种可视化工具来直观了解感知数据处理流程。
部署感知模型
更进一步,你可以自己采集数据进行感知模型训练。Apollo 也会提供相关的模型验证工具链,来确保接入的效果。基于此,可以不断优化。
自动驾驶决策规划
上机实践中的第 3 个重要场景就是学习实践自动驾驶决策规划,这也是开发者关注最多的技术方向之一。
决策规划流程和算法
刚开始可以通过 Apollo 了解流程和算法。Apollo 提供基于场景的规划管理,适用高速、城市、低速园区等多场景,同时提供基于车道和开放空间的规划器。
使用 Dreamview 进行控制在环的规划调试
在了解规划流程的基础上,可以从云端 Studio 仿真 下载已有场景或者通过 Studio 仿真 场景编辑器自定义场景到本地 DreamView 进行仿真调试,来进一步理解规划数据处理流程。
开发规划场景和算法
再进一步,当Apollo自带规划算法和场景无法满足你的需求时,你可以自主扩展。并使用 Studio 仿真 云端集群仿真服务来进行效果评测和回归测试。基于此,可以不断优化。