ROS笔记1 概念

虽然使用ros打了很多比赛,但是最近秋招面试发现也需要理清楚很多概念性的东西,写一下博客用作记录。

松耦合分布式通信

松耦合:(Loose Coupling)是软件工程中的一个概念,指的是模块或组件之间的依赖关系较少或较弱,使得它们可以独立地进行修改、替换或扩展,而不影响其他模块或组件的功能。松耦合的目标是提高系统的可维护性、可扩展性和可重用性。

所有功能可以抽象为节点。

节点(Node):——执行单元

  1. 执行具体任务的进程、独立运行的可执行文件;
  2. 不同节点可以使用 不同的编程语言
  3. 节点在系统中的名称必须是 唯一

通讯方式

话题(Topic):——异步通讯机制

  1. 节点间用来传输数据的重要总线 单向,无反馈
  2. 使用 发布/订阅 模型,数据由发布者传输到订阅者,同一个话题的订阅者或发布者可以 不唯一

消息(Message):——话题数据

  1. 具有一定类型和数据结构,包括ROS提供的标准类型和用户自定义类型
  2. 使用编程语言无关的 .msg 文件定义,编程过程中生成对应的代码文件

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

  1. 使用 客户端/服务器 (C/S)模型,客户端发送 请求 数据,服务器完成处理后返回 应答 数据
  2. 使用编程语言无关的 .srv 文件定义请求和应答数据结构,编译过程中生成对应的代码文件
  3. 请求一次,返回一次,阻塞等待
话题服务
同步性异步同步
通信模型发布/订阅服务器/客户端
底层协议ROSTCP/ROSUDPROSTCP/ROSUDP
反馈机制
缓冲区
实时性
节点关系多对多一对多(one server)
适用场景数据传输逻辑处理

功能包(Package):

ROS软件中的基本单元,包含节点源码、配置文件、数据定义等

功能包清单(Package manifest)

记录功能包的基本信息,包含作者信息、许可信息、依赖选项、编译标志等

元功能包(Meat Packages)

组织多个用于同一目的的功能包

ROSCORE

roscore 是 ROS(Robot Operating System)中的一个基本命令,用于启动 ROS 核心组件。它是 ROS 系统的核心进程,提供了节点之间通信的基础服务。roscore 通常包括以下三个主要组件:

  1. 节点管理器(ROS Master) :——控制中心
    • ROS Master 是 ROS 网络的核心部分,负责管理所有节点的注册信息、话题和服务。它提供名称解析服务,允许 ROS 节点查找和连接到其他节点。
    • Master 记录了所有发布者、订阅者和服务的信息,当一个节点启动时,它会向 Master 注册自己,并且可以通过 Master 发现和连接其他节点。
    • 提供参数服务器,节点使用此服务器存储和检索运行时的参数。
  2. 参数服务器(ROS Parameter Server):
    • 可以通过 网络 API 访问的共享的 多变量 字典。在运行时节点(Nodes)使用此服务器去存储和检索参数。(类似于全局变量,存储多个节点共享的数据。)
    • 这对于系统配置和节点初始化非常有用,因为参数服务器允许在启动时和运行时调整参数
    • 适合存储静态、非二进制的 配置参数,不适合存储动态配置的数据
  3. 日志(ROS Logging):
    • 提供日志记录服务,支持节点发布日志消息,以便进行调试和监控。ROS 提供了多种日志级别,如 debug、info、warn、error 和 fatal。

    • 日志服务允许开发者跟踪系统运行状态,调试信息和错误消息。
      ————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
      

原文链接:https://blog.youkuaiyun.com/DDL_8_00/article/details/140416404

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值