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

ROS架构设计

ROS架构如图所示,可以将其分为三个层次:OS层、中间层和应用层。

在这里插入图片描述

1.OS层

ROS并不是一个传统意义上的操作系统,无法像Windows、Linux一样直接运行在计算机硬件之上,而是需要依托于Linux系统。所以在OS层,我们可以直接使用ROS官方支持度最好的
Ubuntu操作系统,也可以使用macOS、Arch、Debian等操作系统。

2.中间层

Linux是一个通用系统,并没有针对机器人开发提供特殊的中间件,所以ROS在中间层做了大量工作,其中最为重要的就是基于TCPROS/UDPROS的通信系统。ROS的通信系统基于TCP/
UDP网络,在此之上进行了再次封装,也就是TCPROS/UDPROS。通信系统使用发布/订阅、客户端/服务器等模型,实现多种通信机制的数据传输。

除了TCPROS/UDPROS的通信机制外,ROS还提供一种进程内的通信方法——Nodelet,可以为多进程通信提供一种更优化的数据传输方式,适合对数据传输实时性方面有较高要求的应用。
在通信机制之上,ROS提供了大量机器人开发相关的库,如数据类型定义、坐标变换、运动控制等,可以提供给应用层使用。

3.应用层

在应用层,ROS需要运行一个管理者——Master,负责管理整个系统的正常运行。

ROS社区内共享了大量的机器人应用功能包,这些功能包内的模块以节点为单位运行,以ROS标准的输入输出作为接口,开发者不需要关注模块的内部实现机制,只需要了解接口规则即可实现复用,极大地提高了开发效率。


从系统实现的角度来看,ROS也可以分为如 下图 所示的三个层次:文件系统、计算图和开源社区。

在这里插入图片描述

http://www.lryc.cn/news/178066.html

相关文章:

  • JSON.toJSONString() 解析之后 出现“$ref“:“$[x].xxx“
  • 2023研究生数学建模E题思路+模型+代码+论文(持续更新中) 出血性脑卒中临床智能诊疗建模
  • 云可观测性安全平台——掌动智能
  • [ruby on rails] postgres sql explain 优化
  • YOLOv7改进:GAMAttention注意力机制
  • 83、SpringBoot --- 下载和安装 MSYS2、 Redis
  • 用css画一个半圆弧(以小程序为例)
  • redis介绍
  • 数学建模常用模型
  • Linux 基本语句_5_创建静态库|动态库
  • 【每日一题】2703. 返回传递的参数的长度
  • 虚拟DOM详解
  • Linux配置命令
  • Kafka:介绍和内部工作原理
  • 在 EMR Serverless 上使用 Delta Lake
  • Stream流的使用详解(持续更新)
  • golang工程——gRpc 拦截器及原理
  • Python接口自动化之unittest单元测试
  • 在亚马逊云科技Amazon SageMaker上部署构建聊天机器人的开源大语言模型
  • 【51单片机】10-蜂鸣器
  • 26377-2010 逆反射测量仪 知识梳理
  • css实现渐变电量效果柱状图
  • FileManager/本地文件增删改查, Cache/图像缓存处理 的操作
  • vue中使用富文本编辑器
  • 13.(开发工具篇github)如何在GitHub上上传本地项目
  • vue3中状态适配
  • uniapp h5 端 router.base设置history后仍有#号
  • 上网行为监管软件(上网行为管理软件通常具有哪些功能)
  • C#中的for和foreach的探究与学习
  • 【ES6知识】Promise 对象