ROS理论与实践(以移动机器人为例)连载(一) ——认识ROS

本文介绍了ROS的基本概念,包括节点、节点管理器、话题、服务和参数。节点是执行任务的独立进程,ROS Master负责节点的命名和注册。话题作为异步通信机制,而服务则采用同步通信。参数服务器用于存储和检索运行时参数。此外,文章还提到了小海龟仿真的经典案例,用于展示ROS系统的实际应用。
摘要由CSDN通过智能技术生成

Author: XFFer_

参考:

  1. http://wiki.ros.org/
  2. https://www.guyuehome.com/
  3. 《ROS机器人开发实践》胡春旭


ROS架构

节点(Node) ——执行单元

  • 执行具体任务的进程、独立运行的可执行文件
  • 不同节点是松耦合的,可以用不同的编程语言,可以在不同的PC端运行
  • 节点的名称是唯一

节点管理器(ROS Master) ——控制中心

  • 为节点提供 命名和注册(Registration) 服务
  • 通过远程控制调用(RPC) 跟踪记录话题/服务通信,辅助节点相互查找和连接
  • 提供参数服务器,节点使用该服务器存储和检索运行时的参数

话题(Topic) ——异步通信机制(asynchronous communication)

  • 异步通信: (简单讲)发送端想啥时间发就发,但是要在消息前后做个标记,方便接收端接受
  • 节点间用来传输数据的总线
  • 使用发布/订阅模型,数据由发布者(publisher)传给订阅者(subscriber)

消息(Message) ——话题数据

  • 具有一定的类型和数据结构(ROS提供的标准类型和自定义类型)
  • 使用编程语言无关的 .msg 文件定义,编译过程中生成代码文件

服务(Service) ——同步通信机制

  • 使用 客户端/服务器(C/S) 模型,也就是Client/Server,客户端发送 请求 ,服务器完成处理后返回 应答 数据。这里返回数据还是由话题的方式
  • 使用编程语言无关的 .srv文件定义请求和应答数据结构,编译过程中生成代码文件
话题 服务
同步性 异步(很像发邮件,不知道对方收到了没有) 同步(像打电话,实时得知对方的状态)
通信模型 发布/订阅 服务器/客户端
底层协议 ROSTCP/ROSUDP ROSTCP/ROSUDP
反馈机制
缓冲区
实时性
节点关系 多对多 一对多
适用场景 数据传输 逻辑处理

参数(Parameter) ——全局共享字典

  • 可通过网络访问的共享、多变量字典
  • 节点使用此服务器存储和检索运行时的参数
  • 适合存储静态、非二进制的配置参数,不适合动态配置参数
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值