干货分享:ROS2和ROS最大的区别中间件到底有什么不一样?

你好,我是小智。今天深圳天气挺不错的,也没有那么的热,早上睡到十点钟,把前几天的觉都给补回来了。

昨天晚上在知乎上看到一个小结及发的视频说,深圳打工人最缺的是什么?不是钱,是觉,听了之后莫名的心酸哈!

不过只要我们努力学习,有一天也能不用那么拼命打工了哈哈。

本期资源:论文:Exploring the Performance of ROS2 后台关键词ROS2论文

本篇文章属于《动手学ROS2系列》文章中扩展阅读的一篇,主要为大家讲解一下什么是中间件。ROS2比起ROS1相对更改很大,

中间件的确听起来比较高达上,其实也挺高大上的。

一、What is 中间件?

顾名思义

中间件就是介于某两个或者多个节点中间的组件。

干嘛用的呢?

就是提供多个节点中间通信用的。

官方解释就比较玄乎了:

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或OS环境。

小智看完表示

图片

二、ROS中的中间件和ROS2中的中间件有和不同?

答:长的不同

图片

结构图

ROS/ROS2中间件对比

此图来自论文Exploring the Performance of ROS2,小智已经收录到了公众号

ROS1的中间件是ROS组织自己基于TCP机制建立的,刚开始用起来还可以,但随着现在传感器的升级,数据量越来越大,原先的数据拷贝机制就不再适了,主要是对系统的开销大大增大。

这也是ROS2要解决的问题之一。

ROS2除了将进程间通信intra-process自己来做之外,其他部分的通信就使用DDS来实现,ROS2将DDS服务接口进行了一层抽象,保证了上层应用层调用接口的统一性。

同时ROS2终于干掉了Mater节点。

去掉了master节点后,节点之间通信就非常的自由了,通过P2P节点发现协议,很方便的完成了连接和通信。

三、ROS2替换ROS有什么好处?

系统稳定性提高了,在也不怕master删库跑路了

效率提高了,不用再为降低性能去ROS了

终于可以光明正大使用Python3了

终于可以和小姐姐...

好处太多太多....

......

四、写在最后

ROS2作为ROS的下一个版本,更加的强大,小智后面会跟多的写关于ROS2系列的文章,每周甚至每天都会更新哦,欢迎大家关注。

我是小智,机器人领域资深玩家,现深圳某独脚兽机器人算法工程师一枚

初中学习编程,高中开始学习机器人,大学期间打机器人相关比赛实现月入2W+(比赛奖金)

目前在输出机器人学习指南、论文注解、工作经验,欢迎大家关注小智,一起交流技术,学习机器人

图片

赶快上车车

猜你喜欢

转载自juejin.im/post/6986914603280121887