自动驾驶汽车软件计算框架/OS
ROS
Robert Operating System,机器人操作系统
开源,遵循BSD协议,属次级操作系统
提供功能:硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理等,同时也提供一些工具和程序库用于获取、建立、编写和运行多机整合的应用。
ROS1与ROS2的区别
区别 | ROS 1 | ROS 2 |
系统支持 | 主要构建于Linux系统之上,主要支持Ubuntu | 采用全新的架构,底层基于DDS(Data Distribution Service)通信机制,支持实时性、嵌入式、分布式、多操作系统,ROS 2支持的系统包括Linux、windows、Mac、RTOS,甚至是单片机等没有操作系统的裸机 |
通信特征 | 通信系统基于TCPROS/UDPROS,强依赖于master节点的处理 | 通信系统是基于DDS,取消了master,同时在内部提供了DDS的抽象层实现,有了这个抽象层,用户就可以不去关注底层的DDS使用了哪个商家的API |
通信框架 | 运行时要依赖roscore,一旦roscore出现问题就会造成较大的系统灾难,同时由于安装与运行体积较大,对很多低资源系统会造成负担 | 基于DDS进行数据传输,而DDS基于RTPS的去中心化的通信框架,这就去除了对roscore的依赖,系统的稳定性强,对资源的消耗也得到了降低 |
Qos支持 | 缺少QoS机制,topic的稳定性与质量难以保证 | 提供了QoS机制,对通信的实时性、完整性、历史追溯等功能有了支持,这便大幅加强了框架功能,避免了高速系统难以适用等问题 |
CyberRT
在百度的apollo3.5中正是发布,是全球首个面向自动驾驶的高性能开源计算框架。
AUTOSAR
注:学习笔记来源于中间件ROS/CyberRT/AutoSAR对比_cyberrt ros autosar-CSDN博客 ,仅供个人学习参考。若侵权,请联系删除。