Apollo in Baidu

作者: c0d21c19fe19 | 来源:发表于2019-03-07 11:31 被阅读1次

无人驾驶概览

发展历程

2017年,百度发布了名为 Apollo 的开源无人驾驶项目,该平台帮助合作伙伴整合自有车辆和硬件系统以构建完整的无人驾驶系统。

无人驾驶车辆由专用计算机和传感器组成,自主计算单元比个人计算机快10倍,甚至快更多倍。在 Apollo 系统中,车辆车载计算单元受到大规模且强有力的云集群支持,任何给定的无人驾驶车辆都有许多先进的传感器,它们可执行感知和定位等任务,借助人工智能和这些传感器,车辆可以独立于任何人类驾驶员实现自主操作。

主要模块

- 高精度地图:所有软件栈的基础和核心,支持定位、感知、预测、规划

- 定位:激光雷达、无线电雷达、高清摄像机,与地图匹配定位,厘米级

- 感知:深度学习-神经网络,进行「分类」「检测」「分割」,适用于各种传感数据来源

- 预测:车辆、行人将如何移动,递归神经网络,跟踪其他物体的运动轨迹并根据时间序列数据预测未来

- 规划:将预测与路线相结合,生成车辆轨迹

- 控制:根据轨迹控制车辆

工作原理

看清周围(计算机视觉+传感器数据)+ 定位自己在哪(环境匹配)-> 规划(确定轨迹)-> 控制(执行轨迹)

自问问题

各个传感器数据来源是如何协同的?

技术框架概览

参与车辆与硬件平台

- 线控驾驶车辆:可通过电子控制(非仅油门、刹车、方向盘)的基础车辆

- CAN:内部通信网络,发送控制信号

- GPS:确定所在大体位置

- IMU:惯性测量单元,测量车辆运动(通过速度、加速)和跟踪位置

- LiDAR:激光雷达,激光脉冲光束360度扫描,形成周围点云

- 摄像头:图像拍摄,机器视觉来提取信息并了解周边环境。例检测信号灯,识别颜色

- 雷达:检测障碍物,但分辨率低,擅长测量车辆移动速度。

开源软件架构

- 实时操作系统:(real time operating system, RTOS),“实时”是指无人驾驶车的操作系统,能够及时进行计算,分析并执行相应的操作,以下操作需在汽车传感器收集到外界数据后的短时间内完成。实时性能是确保系统稳定性和驾驶安全性的重要要求。

- 运行时框架:定制版ROS(robot operating system,机器人操作系统),一个机器人软件平台,它能为异质计算机集群提供类似操作系统,Apollo改进了以下:

1)共享内存,使对于一对多传输方案,共享内存支持“一次写入,多次读取”模式。

2)去中心化,公共域代替ROS主节点,消除单点故障风险

3)数据兼容,使用另一种名为protobuf 的接口语言来替代原生 ROS 消息

- 应用程序模块层:包括地图MAP引擎、感知、定位、规划、控制、端到端驾驶、人机接口,每个模块各有算法库,彼此间关联复杂

Apollo云服务

Apollo 云服务不仅仅是存储数据,它还提供了许多应用程序,其中包括可加快构建和训练无人驾驶车软件过程的工具。Apollo 云服务包含高精度地图、仿真环境、数据平台、安全、空中升级软件,以及被称为 DuerOS 的智能语音系统。

- 仿真环境平台:是 Apollo 开放软件栈的重要工具,该平台允许每个人出于自身需要来构建仿真环境,还聚合了大量驾驶数据,使开发人员能够检验和验证无人驾驶软件系统。

- 数据平台:数据对无人驾驶车来说很重要,无人驾驶数据可能来自模拟场景或道路测试,Apollo 为这些类别提供了各种各样的数据。

1)ApolloScape 数据集:Apollo 已向公众发布了 ApolloScape 数据集,ApolloScape 涵盖了各种复杂路况、交通信号灯数据,带边界框的障碍物数据,ApolloScape 在单个图像中列入并注释了多达162辆车或80名行人,同时开放数据集使用。

2)语义分割对图像进行逐像素标记,这使得 ApolloScape 成为世界上最为复杂又最精准的无人驾驶数据集。Apollo 云服务也提供了信息安全,DuerOS 和无线更新等其他模块内容。

【以上两章,可参考 http://apollo.auto/devcenter/coursevideo_cn.html?target=1_13

高精度地图

vs 传统地图

- 包含大量驾驶辅助信息

依托道路网的精确三维表征。例如交叉路口局和路标位置。

- 包含很多语义信息

交通灯上不同颜色的含义,它可能指示道路的速度限制,以及左转车道开始的位置

- 最重要特征:精度

高精度地图能使车辆达到厘米级的精度这对确保无人驾驶汽车的安全至关重要

与「定位」

是 Apollo 自动驾驶平台的核心,无人驾驶汽车的许多其他模块都依赖于高精度地图

将定位想象成“拼图”,通过图像数据、三维点云来确定坐标,车辆将其收集的数据与其高精度地图上已知的地标进行比较。

- 预处理

消除了不准确或质量差的数据

- 坐标转化

将来自不同视角的数据转换为统一的坐标系

- 数据融合

将来自各种车辆和传感器的数据合并。从而精确定位自己的所处的位置

与「感知」

- 辅助感知

恶劣条件,或物体遮挡无法判断背后物体,将交通信号灯的位置提供给软件栈的其余部分,帮助汽车做出下一个决策

- 缩小传感器检测范围

感兴趣区域或 ROI。ROI 可以帮助提高检测精确度和速度,并节约计算资源

与「规划」

帮助车辆找到合适的行车空间,还可以帮助规划器确定不同的路线选择。帮助软件确定道路上其他车辆在将来的位置

与「预测」

在具有低速限制、人行横道或减速带的区域,高精度地图能让无人驾驶汽车提前查看并预先减速

相关文章

网友评论

    本文标题:Apollo in Baidu

    本文链接:https://www.haomeiwen.com/subject/xhxcpqtx.html