当前位置: 首页 > article >正文

[ROS2] --- ROS diff ROS2

1 ROS存在的问题

  • 一旦Ros Master主节点挂掉后,就会造成整个系统通信的异常,
  • 通信基于TCP实现,实时性差、系统开销大
  • 对Python3支持不友好,需要重新编译
  • 消息机制不兼容
  • 没有加密机制、安全性不高

2 ROS and ROS2架构对比

ROS和ROS2架构如下图所示:
在这里插入图片描述

2.1 OS层

从原来的只支持linux平台变成了支持windows、mac甚至是嵌入式RTOS平台。

2.2 MiddleWare中间件层

中间层ROS2到底相对于ROS做了哪些优化呢?

  • 去中心化master,ROS和ROS2中间件不同之处在于,ROS2取消了master节点。
    去中心化后,各个节点之间可以通过DDS的节点相互发现,各个节点都是平等的,且可以1对1、1对n、n对n进行互相通信。
  • 不造通信的轮子,通信直接更换为DDS进行实现
    采用DDS通信,使得ROS2的实时性、可靠性和连续性上都有了增强。

2.3 应用层

对于应用层来说ROS2也做了很大的改进,上面那张图没有体现出来。

ROS2进行改进有:

  • Python2到Python3的支持
  • 编译系统的改进(catkin到ament)
  • C++标准更新到c++11
  • 可以使用相同 API 的进程间和进程内通信

3 ROS2新概念例举

可用Python编写的Launch文件
多机器人协同通信支持
支持安全加密通信
同一个进程支持多个节点、
支持Qos服务质量
支持节点生命周期管理
高效的进程间通信


http://www.kler.cn/news/157141.html

相关文章:

  • 11. 哈希冲突
  • python pyaudio给数据加噪声
  • PTA 7-229 sdut-C语言实验- 排序
  • 【数电笔记】06-码制
  • golang构建docker镜像的几种方式
  • 7. 系统信息与系统资源
  • ComfiUI API调用随记
  • vue3 中使用 sse 最佳实践,封装工具
  • 堆排序详细解读
  • 记录 | pip加速配置
  • Java中的锁
  • 一文打尽相机单目标定(远心,沙姆镜头)
  • 2024搞钱方式,这些你都了解吗?
  • Java NIO SelectionKey
  • 使用求2个字符串最长公共子序列的方法来实现 git diff 算法 java 实现
  • Kotlin学习之集合
  • 使用JAVA语言写一个排队叫号的小程序
  • C++ 系列 第四篇 C++ 数据类型上篇—基本类型
  • 数据结构学习笔记——广义表
  • 实体、协议、服务和服务访问点
  • 【重点】【滑动窗口】239. 滑动窗口最大值
  • Appium:iOS部署
  • 深度学习在训练时更新和保存最佳训练结果的方法(字典方法,本地保存方法,模型深拷贝方法)
  • selenium中元素定位正确但是操作失败,6种解决办法全搞定
  • 六、ZooKeeper Java API操作
  • 【数据结构】——栈|队列(基本功能)
  • Python字符串模糊匹配工具:TheFuzz 库详解
  • 关于使用百度开发者平台处理语音朗读问题排查
  • Spring-Security取消验证-Get请求接口正常,Post请求报错403
  • java后端技术演变杂谈(未完结)