ROS的核心概念

ROS的核心概念

节点

image-20231021173326986

  • 节点是一个具体的执行单元,它是一个可完成具体任务进程,可独立运行的文件。
  • 不同节点可以使用不同的编程语言,可分布式运行在不同的主机。
  • 节点在系统中的名称必须是唯一的,否则重名后系统就找不到节点资源。

节点管理器

image-20231021173853777

  • 节点管理器是一个控制中心,为节点提供命名和注册服务。
  • 它会跟踪和记录话题和服务同学,辅助节点互相查找,建立连接,例如上图的摄像节点和图像处理节点没有连接,通过节点管理器来进行连接,进行图像传输等。
  • 提供参数服务器,节点可以通过次服务器存储和检索运行时的参数,如全局变量的变量名,变量值等。

话题通信

image-20231021174649839

  • 如上图,数据从发布者传输到订阅者,这个数据传输通道就叫做话题,即节点间用来传输数据的总线
  • 使用发布/订阅模型,数据由发布者传输到订阅者,发布者和订阅者不是唯一的,但是发布者多可能会引起数据混乱。

消息

  • 消息即话题数据,它具有一定的类型和数据结构,包括ROS提供的标准类型和用户自定义类型。
  • 它使用编程语言无关的.msg文件来定义,编译过程中生成相应的代码文件

服务通信

image-20231021175403967

  • 使用客户端/服务器模型,客户端发送请求数据,服务器返回应答数据。
  • 使用编程语言无关的.srv文件定义数据结构,编程过程中生成相应代码文件。

话题和服务的区别

image-20231021175612834

  • 话题时单向的,服务时双向的,所以话题没有反馈且是异步的,服务采用请求和应答,实时性更强。
  • 话题有缓冲区来匹配收发端的速度,服务是实时访问所以没有缓冲区。

参数

image-20231021180043504

  • 参数是一个可以通过网络访问的共享的,多变量字典。
  • 节点用此服务器来储存和检索运行时的参数。
  • 它适合储存静态,非二进制的配置参数,不适合储存动态,如上图。Talker不断修改参数数据,而Listener不请求的话就无法实时更新数据。

文件系统

image-20231021180332538

  • 功能包:ROS软件中的基本单元,包括节点源码,配置文件,数据定义等。
  • 功能包清单:记录功能包基本信息,如作者,许可信息,依赖选项等。
  • 元功能包:组织多个用于同一目的的功能包。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值