ROS、ROS2、APollo系统的比较

简介:

        ROS、ROS2、Apollo作为目前自动驾驶行业和机器人行业最常用的系统方案,他们有哪些不同呢?下面针对各系统的特性、系统框架以及通信方式加以介绍。

特性区分:

ROS特性:

1、节点间的数据传递通过内存复制,大量的系统资源浪费在通讯上,实时性不能保证(通信基于TCP实现,实时性差,系统开销大)

2、节点通过mater管理,一旦master崩溃,整个系统都将崩溃

3、OS:仅支持Linux

4、应用层:支持python2,对python3不友好

ROS2特性:

1、引入了数据分发服务(data distribution service,DDS)通信协议,可以以零拷贝的方式传递消息,节省了CPU和内存资源,同时增加了消息的实时性;各个节点可以直接通过DDS进行节点通讯的

实时性;各个节点可以直接通过DDS进行节点通讯,各个节点都是平等的,可以1对1,1对多,多对多进行通信。

2、托管启动,用户可以指定节点启动顺序

3、去除了ros master这个中心节点管理器,改进了ROS对master节点的依赖。

4、OS:支持Linux,Windows、Mac,嵌入式RTOS

5、应用层:支持python2、python3;改进编译系统(catkin到ament);可以使用相同的API在进程间和进程内通讯(ROS2除了将进程内通信自己来做以外,其他都使用DDS来实现)

6、Topic机制还是存在,只是改变了很多命令参数

DDS通信协议简介

总结来看,数据分发服务,就是为整体系统通信提供一个可适配的通信中间件,根据通信双方的关系选择最有效的通信方式

APollo特性:

Apollo Cyber RT 是一个百度为自动驾驶开发的一个开源、高性能的运行时框架,专为自动驾驶场景而设计。针对自动驾驶的高并发、低延迟、高吞吐量进行了大幅优化,相对于ROS主要有以下特性:

1、引入component概念,实现了模块的封装

2、引入协程,无锁对象,实现高性能通信以及可配置的任务调度

通信架构:

ros通信框架:

ros2通信框架:

ApolloCyber-rt通信框架:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值