星火第一讲-使用Apollo 学习自动驾驶
引言
如何学习自动驾驶?
自动驾驶是集车辆、计算机、电子电气、人工智能、通信等多学科应用为一体的的复杂系统。针对自身专业背景结合自动驾驶发展进行学习;
自动驾驶是通过智能系统来驾驶汽车从而取代了驾驶员,因此学习自动驾驶需要理解人类驾驶员驾驶汽车的过程。
01自动驾驶的需求
自动驾驶与人工驾驶
人工驾驶流程:短期记忆;长期记忆;动机;开车经验决策;控制;执行;
自动驾驶流程:
Perception; Localization;HDMap;Routing;Planning;Control;By Wire;
由此可见,自动驾驶本质上是模拟人类驾驶员进行驾驶操作的过程,将人类驾驶员进行驾驶操作进行模块化解耦,众多开发者根据需求来针对性的研究其中某一个模块。
02Apollo开源平台介绍
apollo平台的独特之处
如何使用apollo进行学习
在这里插入图片描述
2.1.1 车辆认证平台
提供了开放的符合Apollo要求的线控车辆的接口的标准,同时发布了经过Apollo认证的线控车辆以及对应线控车辆代码
2.1.2 硬件开发平台
提供相关的硬件,包括:车载计算单元、摄像头、激光雷达等
2.1.3 开源软件平台
Apollo的核心部分,开源部分主要是在这个部分。
基于 Ubuntu 18.04 LTS版本。Apollo 3.5 以前使用ROS,之后使用Cyber RT,并且已经在商业化项目(Robotaxi)得到应用
自动驾驶应用模块:地图、定位、感知、预测、规划、控制等
2.1.4 云端服务平台
运营相关的云服务和研发相关的云服务
2.2 丰富的自动驾驶算法
2.2.1 多视角感知
视觉信号灯识别
视觉车道线检测
视觉障碍物识别
激光点云障碍物识别
多传感器融合障碍物识别
车路协同感知融合
2.2.2 基于场景的规划
公共道路规划器
Lattice 规划器
Navi 规划器
RTK 规划器
基于模型的规划器
基于模型的开放空间规划器
2.2.3 精准的控制
PID 控制器
LQR 控制器
MPC 控制器
MRAC 双循环控制器
2.2.4 多融合定位
RTK 定位
多软干起融合(MSF)定位
2.3 Cyber RT 实时通信框架
2.3.1 Cyber RT 功能:
将自动驾驶的各个算法模块,组织起来、处理数据的能力,同时需要保证数据梳理过程的实时性和可靠性
2.3.2 Cyber RT 优点:
易于部署、忽略底层调度和通信机制、提供很好的实时性和可靠性;
通过可视化诊断工具加速自动驾驶开发
专注于自动驾驶的组件模块,简化自动驾驶搭建时间
2.4 硬件开发/车辆认证平台
2.5 Apollo 工具链
Apollo 工具链通过云端的方式来解决数据运用效率的问题,通过与仿真结合去降低实车测试成本,可以极大的提升研发效率
- 如何使用Apollo开始学习
3.1 上机学习
3.1.1 实施框架——Cyber RT
掌握 Cyber RT 开发工具
使用 Cyber RT API 进行 Apollo 开发
如何通过 Apollo 学习自动驾驶通信
通信学习:
分布式系统开发模式:三种通信模式(talk-listen、service-client、共享内存通信)等
系统开发调试
掌握Cyber开发工具:
Cyber Visualizer:可视化
Cyber monitor:消息展示
Cyber recorder
3.1.2 决策与规划——Dreamview/Dreamland
了解 Apollo 决策规划流程和算法;{源码与文档的学习}
使用 Dreamview 进行控制在环的规划调试;{Dreamland Scenario Editor / Dreamview Simulation}
基于 Apollo 开发新的规划场景和算法;{规划扩展文档的学习}
使用 Dreamland 进行控制在环的规划仿真评测;{Dreamland的学习}
3.1.3 感知——Dreamview/Visualizer
了解传感器特性
了解 Apollo 感知流程及算法
使用 Dreamview/Perception Visualizer 进行开发调试
扩展部署新的感知模型
扩展训练新的感知模型并验证
3.2 上车学习
3.2.1 线控协议——车辆适配工具链
了解 Apollo 线控标准
开发符合 Apollo 要求的线控车辆与 DBC
在 Apollo 中开发与车辆通信的 CANBus 驱动
使用 teleop 开环验证车辆
3.2.2 集成——Fuel云服务/D-KIT
学习传感器布置与链接
了解车辆标定与传感器标定
了解循迹原理
通过循迹实现控制与线控实车闭环验证
3.2.3 测试与调车——Dreamview/D-KIT
了解车辆安全操作
了解基础测试流程和实车数据录制
了解实车控制调参
了解实车定位调试
3.2.4 Apollo D-KIT 开发套件
开源开放的Apollo平台——降低软件门槛
底盘与感知一体式套件——降低硬件门槛
车+云研发模式——降低工程门槛
丰富学研方案与应用——赋能人才培养
4. Apollo自动驾驶课程概述
每周六、周日以直播的形式进行课程学习。
https://blog.csdn.net/本文参考