跳到主要内容

常见的自动驾驶平台框架

本文主要介绍常见的几种自动驾驶框架,包括 Autoware、Apollo、Simulink 等。其中使用 ROS、CyberRT 等汽车软件中间件。

Autoware

Autoware 自动驾驶平台基于 ROS 机器人操作系统开发,也是世界上第一个用于自动驾驶汽车的 All-in-One 开源软件,可在 Apache 2.0 许可下使用。由于 Autoware 直接基于 ROS 系统开发,因此代码可重用性高,学习起来更容易上手,适合自动驾驶初学者学习。

整体框架

Autoware 自动驾驶平台已经集成了丰富的自动驾驶模块,整体框架如下图所示,主要包括传感器、算法和驱动三个部分。其中,传感器部分的主要功能是读取相机、雷达、GPS 和 IMU 等传感器的感知数据;算法部分包括感知、决策和路径规划三个功能;驱动部分则负责控制车辆的运行。

Autoware 自动驾驶平台将相机、激光雷达、GPS 和 IMU 作为主要传感器。支持同时接入多个相机,可单独管理每个相机,以便执行不同的任务,如物体检测和交通信号灯识别等。另外,Autoware 也支持同时接入多台激光雷达,以便采集丰富的融合点云数据,实现更精准的目标检测、跟踪和定位。

算法部分是 Autoware 自动驾驶平台的核心,Autoware 的开源算法最早由日本名古屋大学的客座教授、东京大学副教授 加藤真平 于2015年首次提出,现已集成大量算法。主要包括感知、决策和路径规划三大功能,具体说明如下。

  • 感知功能:由定位(Localization)、检测(Detection)和预测(Prediction)三个模块组成。其中,定位是通过 3D 地图和 SLAM 算法结合 GPS/GNSS 与 IMU 传感器实现的;检测是通过使用带有传感器融合算法和深度神经网络的相机与雷达实现的;预测基于定位和检测的结果进行输出。
  • 决策功能:决策功能连接了感知和路径规划功能,它需要根据感知的结果来决定当前的驾驶行为,从而选择合适的规划函数。
  • 路径规划功能:根据感知和决策的结果制定全局运动方案和局部运动方案。全局运动方案通常在车辆启动或重新启动时确定,而局部运动方案则根据车辆状态的变化进行更新。

最后是驱动部分,在 Autoware 自动驾驶平台中,算法部分的输出结果是一组速度、角速度、车轮角度和曲率,这些信息将作为命令通过车辆接口发送到线控控制器,而线控控制器则负责方向角度和油门大小的调整。

相关链接

百度 Apollo

百度 Apollo(阿波罗)是百度面向汽车行业及自动驾驶领域的合作伙伴提供的软件平台,它是一套完整的软硬件和服务系统,包括车辆平台、硬件平台、软件平台、云端数据服务等四大部分。目前已在自动驾驶、智能汽车、智能交通三大领域拥有解决方案。其中,萝卜快跑(Apollo Go)就是百度 Apollo 提供的自动驾驶出行服务。

百度 Apollo 的定位是向汽车行业及自动驾驶领域的合作伙伴提供一个开放、完整、安全的软件平台,帮助他们结合车辆和硬件系统,快速搭建一套属于自己的完整的自动驾驶系统。

华为 MDC

华为 MDC 智能驾驶计算平台(以下简称华为 MDC 平台),性能强劲、安全可靠,是实现智能驾驶全景 感知、地图&传感器融合定位、决策、规划、控制等功能的汽车“大脑”。适用于乘用车(如拥堵跟车、高速 巡航、自动代客泊车、RoboTaxi) 、商用车(如港口货运、干线物流)与作业车(如矿卡、清洁车、无人配 送)等多种应用场景。