无人驾驶概览
什么是无人驾驶
交通发展史
- 行走
- 马车
- 汽车
- 无人驾驶
为什么需要无人驾驶
- 安全
- 系统学习
- 停车烦恼
6个等级的无人驾驶车
5级为最高级别,即完全自动化
无人驾驶车的运作方式
5个核心部件
- 计算机视觉,使用摄像头获取外界信息
- 传感器融合,使用激光建模
- 定位,利用地标
- 路径规划
- 控制
参考车辆与硬件平台
- 控制器区域网络(CAN)
- 车辆内部通信网络
- 计算机系统通过CAN卡连接汽车内部网络
- 发送加速、制动和转向信号
- 全球定位系统(GPS)
- 通过绕地卫星接收信号
- 惯性测量装置(IMU)
- 测量车辆的运动和位置
- 激光雷达(LiDAR)
- 由一组脉冲激光器组成
- 点云
- 摄像头
开源软件架构
分为三层:实时操作系统、运行时框架和应用程序模块层
实时操作系统(RTOS)
- 可确保在给定时间内完成特定任务
- 在汽车传感器收集到外界数据后的短时间内完成
- 保证系统的稳定性与驾驶的安全性
运行时框架(ROS):
- ROS是应用最广泛的机器人框架
- 共享内存降低了需要访问不同模块时的数据复制需求
- 去中心化解决了单点故障问题
- 使用另一种名为
protobuf
的接口语言来替代原生ROS消息
应用程序模块
云服务
Apollo云服务是在云中运行的一套应用程序
其中包括可加快构建和训练无人驾驶车软件过程的工具
- 高精度地图
- 仿真环境
- 数据平台
- 安全
- 空中软件升级
- 智能语音系统
高精地图
地图简介
- 定位
- 预先规划
高精度地图vs传统地图
无人驾驶车缺乏人类驾驶员固有的视觉和逻辑能力
高精度地图包含大量的驾驶辅助信息
- 道路网的精确三维表征
高精度地图还包含很多语义信息
- 指示道路的速度限制
- 左转车道开始的位置
高精度地图最重要的特征之一是精度
- 高精度地图使车辆能够达到厘米级的精度
地图与定位、感知与规划的关系
- 许多其他无人驾驶车模块都有赖于高精度地图
- 无人驾驶车辆需要知道它在地图上的确切位置
- 无人驾驶车也可以使用高精度地图来帮助感知
- 摄像机、激光雷达和雷达探测物体的能力在超过一定距离后都会受到限制
- 在恶劣的天气条件下或在夜间,传感器识别障碍物的能力可能会受到进一步限制
- 当汽车遇到障碍物时,传感器无法透过障碍物来确定障碍物后面的物体
- 地图可帮助传感器缩小检测范围
- 感兴趣区域(ROI)
- 节约计算资源
- 高精度地图可帮助车辆找到合适的行车空间
- 帮助规划器确定不同的路线选择
- 帮助识别车道的确切中心线
Apollo高精度地图构建
Apollo高精度地图采用了OpenDRIVE
格式,这是一种行业制图标准
OpenDRIVE
就像一个API每个人都能轻松读取相同的地图数据
高精度地图的构建由五个过程组成:数据采集、数据处理、对象检测、手动验证、地图发布。
- 数据采集
- 数据处理
- 数据处理指的是Apollo如何对收集到的数据进行整理、分类和清洗以获得没有任何语义信息或注释的初始地图模板
- 对象检测
- 对于对象检测Apollo团队使用人工智能来检测静态对象,并对其进行分类
- 手动验证
- 手动验证可确保自动地图创建过程正确进行并及时发现问题