无人驾驶-框架-Autoware与Apollo

无人驾驶-框架-Autoware与Apollo

一、简介

1.1 Apollo介绍

Apollo自动驾驶开放平台是一个开放的、完整的、安全的自动驾驶开源平台。代码已经跑通了园区物流、自动泊车、园区接驳、智慧农业、高速物流、健康养老等场景,并稳步面向量产和运营。Apollo推出面向量产的人工智能车联网系统解决方案小度车载OS,具备开放语音、语义、多模交互、车载信息安全、驾驶员检测五大核心能力,可根据需求定制化,实现“千人千面”。

1.2 Autoware介绍

Autoware是世界上第⼀款⽤于⾃动驾驶汽⻋的“⼀体化”开源软件。Autoware的功能主要适⽤于城市,但⾼速公路和⾮市政道路同样可以使⽤。同时在依赖ROS建⽴的Autoware⾃动驾驶开源软件上可以提供丰富的开发和使⽤资源。

1.3 硬件区别

以NXP的二代蓝盒子为硬件基础,这两个自动驾驶软件开源平台最大的区别在于底层,最上层的应用模块差别不大。硬件系统方面,Apollo推荐64位x86指令集的CPU加英伟达GPU架构。Autoware主要使用英伟达的AGX Xavier或PX2,也就是推荐ARM的V8指令集架构CPU。当然,也支持64位x86指令集的CPU加英伟达GPU架构。
无人驾驶-框架-Autoware与Apollo_第1张图片

1.4 框架区别

1.4.1 Autoware框架
无人驾驶-框架-Autoware与Apollo_第2张图片
Autoware的框架主要包含感知(Perception)、决策(Planning)两个部分,感知部分包含定位(Localization)、检测(Detection)、预测(Prediction)三个模块,决策包含全局运动规划(Mission)、局部运动规划(Motion)两个模块。

1.4.2 Apollo框架
无人驾驶-框架-Autoware与Apollo_第3张图片
相比Autoware,Apollo的框架更加丰富和复杂,整个框架包括云服务平台、开源软件平台、参考硬件平台和参考软件平台四部分。

(1)云服务平台包括:

  • 高精地图服务:高精度地图是实现无人驾驶汽车高精度定位、路径导航、路径规划的基础;
  • 仿真引擎:通过海量实际路况及自动驾驶场景数据,促进自动驾驶系统的开发快速迭代进行;
  • 数据平台:包括传感器数据、车辆行驶数据等;安全:数据安全、通信安全、服务安全;
  • OTA:空中下载技术(Over-the-Air Technology)是远程升级系统的必备技能;
  • DuerOS:百度的语音交互平台,未来可通过语音与车实现交互。

(2)开源软件平台是Apollo自动驾驶系统的核心部分,包括功能模块、运行框架和实时操作系统三部分。功能模块可细分为:

  • 地图引擎:运行高精度地图;
  • 定位模块:通过GPS、V-SLAM、L-SLAM、里程计等多种定位源融合,结合高精度地图,实现精准定位;
  • 感知:通过激光雷达、毫米波雷达、摄像头,精确感知车辆周围的环境路况,包括车辆、行人、交通标志等等;
  • 规划:主要包括路径规划、运动障碍物的预测等;
  • 控制:实现控制车辆的转向、油门、刹车等操作;End-to-End:基于深度学习的横向和纵向驾驶模型;
  • HMI:人机交互模块。
  • 硬件平台主要是无人驾驶系统的计算硬件和各种传感器硬件,包括GPS/IMU、摄像头、激光雷达、毫米波雷达、HMI设备、黑盒子等。
  • 车辆平台,可实现线控转向、线控油门和线控制动等线控功能。

1.5 中间件的区别

与Autoware不同的是,Apollo3.5以后的版本,替换了原有的Ros中间件,使用了自己的CyberRT中间件,下面我们就简析一下两者的不同之处。

Ros作为世界上最丰富的机器人操作系统,积累了大量的经验,避免了开发者重复的开发工作,提高了开发效率。但是由于Linux是一个极其开放的开发环境,内核调度器对于算法业务逻辑并不清晰,只能保证公平的分配资源。所以,ROS Node运行顺序并无任何逻辑。但本质上自动驾驶是一个专用系统,任务应按照一定的业务逻辑执行。

参考链接

  1. https://blog.csdn.net/zhao5269/article/details/106825349/
  2. https://www.pianshen.com/article/1212211723/
  3. https://blog.csdn.net/u010918541/article/details/90442319?

你可能感兴趣的:(自动驾驶架构,自动驾驶,人工智能,机器学习)