做网站的边框,江阴网站建设工作室,网店如何引流与推广,我们网站百度快照显示违规内容0. 简介
之前作者主要是基于ROS2#xff0c;CyberRT还有AutoSar等中间件完成搭建的。有一说一#xff0c;这种从头开发当然有从头开发的好处#xff0c;但是如果说绝大多数的公司还是基于现成的Apollo以及Autoware来完成的。这些现成的框架中也有很多非常好的方法。目前作者…0. 简介
之前作者主要是基于ROS2CyberRT还有AutoSar等中间件完成搭建的。有一说一这种从头开发当然有从头开发的好处但是如果说绝大多数的公司还是基于现成的Apollo以及Autoware来完成的。这些现成的框架中也有很多非常好的方法。目前作者打算抽一些时间来整理这部分资料并根据自己学习内容进行介绍。
目前使用的主流的无人驾驶开源项目框架主要是Autoware和百度的Apollo。百度Apollo的版本迭代十分迅速起初的几个版本也是基于ROS1开发的但由于ROS的局限性主要是其机制所造成的无人系统响应时间相对较慢等问题不适用于高速无人驾驶Apollo貌似从3.5开始就弃用ROS1改用自己研发的CyberRT中间件了但Apollo也有一定的局限性比如需要购买百度提供的高精度地图服务等Apollo在SLAM定位建图这方面开放性不是很高。如果你对自己移动平台行驶速度的要求不是很高仅仅是在小片公共区域类似厂区、园林等实现自动驾驶Autoware足够满足使用需求。博主是做园林环卫机器人的所以主要在用Autoware框架Apollo只了解一点点。目前Autoware已经推出了基于ROS2的 Autoware.Auto感兴趣的朋友可以看一下。 1. Autoware自动驾驶框架介绍
Autoware.AI是世界上第一个用于自动驾驶技术的“All-in-One”开源软件。它ROS1操作系统并在Apache2.0许可下使用。主要包含以下模块
定位Localization 通过结合GNSS和IMU传感器的3D地图和3D地图、SLAM算法来实现定位。检测Detection 通过传感器融合算法和深度神经网络使用摄像机和激光雷达完成检测。预测和规划Prediction and Planning 基于概率机器人模型和基于规则的系统部分还使用深度神经网络。控制ControlAutoware向车辆输出的是速度和角速度的扭曲量。尽管控制量的主要部分通常位于车辆的线控控制器中但这些是Control的一部分。 2. Apollo和Autoware的异同
2.1 硬件区别
以NXP的二代蓝盒子为硬件基础这两个自动驾驶软件开源平台最大的区别在于底层最上层的应用模块差别不大。硬件系统方面Apollo推荐64位x86指令集的CPU加英伟达GPU架构。Autoware主要使用英伟达的AGX Xavier或PX2也就是推荐ARM的V8指令集架构CPU。当然也支持64位x86指令集的CPU加英伟达GPU架构。 2.2 框架区别
Autoware的框架主要包含感知Perception、决策Planning两个部分感知部分包含定位Localization)、检测Detection、预测Prediction三个模块决策包含全局运动规划Mission、局部运动规划Motion两个模块 相比AutowareApollo的框架更加丰富和复杂整个框架包括云服务平台、开源软件平台、参考硬件平台和参考软件平台四部分。
云服务平台包括 高精地图服务高精度地图是实现无人驾驶汽车高精度定位、路径导航、路径规划的基础 仿真引擎通过海量实际路况及自动驾驶场景数据促进自动驾驶系统的开发快速迭代进行 数据平台包括传感器数据、车辆行驶数据等安全数据安全、通信安全、服务安全 OTA空中下载技术Over-the-Air Technology是远程升级系统的必备技能 DuerOS百度的语音交互平台未来可通过语音与车实现交互。 开源软件平台是Apollo自动驾驶系统的核心部分包括功能模块、运行框架和实时操作系统三部分。功能模块可细分为
地图引擎运行高精度地图定位模块通过GPS、V-SLAM、L-SLAM、里程计等多种定位源融合结合高精度地图实现精准定位感知通过激光雷达、毫米波雷达、摄像头精确感知车辆周围的环境路况包括车辆、行人、交通标志等等规划主要包括路径规划、运动障碍物的预测等控制实现控制车辆的转向、油门、刹车等操作End-to-End基于深度学习的横向和纵向驾驶模型HMI人机交互模块。 硬件平台主要是无人驾驶系统的计算硬件和各种传感器硬件包括GPS/IMU、摄像头、激光雷达、毫米波雷达、HMI设备、黑盒子等。
车辆平台可实现线控转向、线控油门和线控制动等线控功能。
2.3 中间件区别
相比RosCyberRT增加了Component组件组件之间通过 Cyber channel 通信。Cyber RT 中用Message实现模块间通信其实现基于 protobuf。同时CyberRT也支持异步计算任务优化线程使用与系统资源分配同时支持定义模块拓扑结构的配置文件
点击Autoware内容学习与初步探索(一)——古月居可查看全文