ROS学习笔记3:ROS架构(了解)

一个节点可以针对一个给定的话题(Topic)发布消息(这个节点称为发布者Talker),也可以关注某个话题并订阅特定类型的数据(这个节点称为订阅者Listener)。ROS是一个优秀的机器人分布式框架。服务类型定义了ROS客户端/服务器通信模型下的请求和应答数据类型,可以使用ROS系统提供的服务类型,也可以使用.srv文件在功能包的srv文件夹中进行定义。消息是ROS节点之间发布/订阅的通信信息,可以使用ROS提供的消息类型,也可以使用.msg文件在功能包的msg文件夹下自定义所需要的消息类型。
摘要由CSDN通过智能技术生成

        笔记3不涉及实际操作,主要是用自己的语言和思路简略整理了《ROS机器人开发实践》一书第2章内容。第一次看这一章的内容会有不知道在讲什么的感觉,但这一章的内容确实对后续实践操作章节的理解有非常大的帮助。

一、ROS架构:

        ROS是一个优秀的机器人分布式框架。ROS架构的三个层次:基于Linux系统的OS层;实现ROS核心通信机制以及众多机器人开发库的中间层;在ROS Master的管理下保证功能节点的正常运行的应用层。

1.OS层:

        ROS无法直接运行在计算机硬件上,需要依托于Linux、macOS等操作系统运行。

2.中间层:

        Linux是一个通用系统,没有针对机器人开发提供的特殊中间件,因此在中间层,ROS封装了关于机器人开发的中间件,主要包括:

(1)基于TCP/UDP网络封装的TCPROS/UDPROS通信系统。

(2)一种用于进程内的通信方法Nodelet,为多进程通信提供一种更优化的数据传输方式。

(3)在通信机制上提供的大量机器人开发相关的库,如数据类型定义、坐标变换、运动控制等,可以提供给应用层使用。

3.应用层:

(1)ROS运行的管理者:Master(负责整个系统的正常运行)。

(2)功能包:ROS社区内共享了大量的机器人应用功能包,这些功能包内的模块以节点为单位运行。

二、重要概念:

        从系统实现的角度来看:ROS可分为三个层次:计算图、文件系统、开源社区。

1.计算图:

        从计算图的角度来看,ROS系统软件的功能模块以节点为单位独立运行,可以分布于多个相同或不同的主机中,在系统运行时通过端对端的拓扑结构进行连接。

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值