【古月居ROS 21讲】精简理清 - 速刷古月居ROS21讲 ROS概念全过程

这篇博客介绍了ROS的核心概念,包括节点(Node)、节点管理器(ROS Master)、话题(Topic)、消息(Message)、服务(Servic)和参数(Parameter)。详细阐述了ROS的分布式架构,以及通讯机制如异步通信的话题和同步通信的服务。还讲解了ROS的命令行工具,如roscore、rosrun、rqt_graph等,并演示了如何创建和管理ROS的工作空间与功能包。最后,通过海龟仿真实例展示了ROS的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 标题 : 速刷古月居21讲概念全过程
  • 起源: -
  • 更新时间如下 (如下)
  • 更新次数 : 7
  • 最近更新时间 :
  • 更新内容:
  • 下次更新:

ROS的概念:对应第七讲

通讯机制

  • 松耦合分布式软件框架
  • Node :每个node就是一个节点,每个节点就是机器人系统中完成具体功能(图像识别 传感器驱动)一个进程
    在这里插入图片描述

节点 (Node)-- 执行单元

(相当于系统中的一个进程,能够独立运行的一个可执行文件 相当于windows的一个exe文件 )

  • 节点: 执行具体任务的进程 、独立运行的可执行文件
  • 节点 当中位置不是固定的
  • 节点在系统的名称是唯一的
  • 节点之间不是孤立的
  • 节点之间编程语言不是固定的
    (是为了适应不同的功能 ,比如python 做图像处理 ,c/c++ 适合做底层驱动 )
  • 节点可以使用分布式运行到不同的主机上

在这里插入图片描述

节点管理器(ROS Master)

(ROS当中1)

  • 为节点提供命名和注册服务

  • 跟踪和记录话题 / 服务通信 ,辅助节点相互查找 建立连接

  • 在这里插入图片描述

  • 提供参数服务器 ,以及节点使用此服务存储和检索运行的参数

在这里插入图片描述
在这里插入图片描述

话题和消息

(话题和消息 就是节点的两种传输方式 )

  • 话题好比发邮件 消息好比打电话

话题(Topic) – 异步通信机制

  • 节点间用来传输数据的重要总线
  • 使用发布 / 订阅 模型,数据由发布者传输到订阅者,同一个话题的订阅者或发布者可以不唯一
  • 在这里插入图片描述

消息(Message) – 话题模型

  • 具有一定类型和数据结构 ,包括ROS提供的标准类型 和用户自定义类型
  • 使用编程语言无关的.msg文件定义,编译过程中生成的代码文件
  • 可以自定义接口满足需求
  • 在这里插入图片描述

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

  • 带有反馈机制
  • 使用客户端/服务器(C/S)模型,客户端发送请求数据,服务器完成处理返回应答数据
  • 使用编程语言无关的.src 文件定义请求和应答数据结构,编译过程中生成对应的代码文件
  • 服务请求一次 满足内容连接

在这里插入图片描述
(服务的应用场景 好比摄像头 传输图像 需要 调整摄像头拍摄远程画面,控制摄像头对焦,就是需要调整摄像头) 在这里插入图片描述

话题 和 服务的区别

在这里插入图片描述

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

  • 可通过网络访问的共享 、多变量字典
  • 节点使用此服务来存储和检索运行时的参数
  • 适合存储静态、非二进制的配置参数 、不适合存储动态配置的数据
    ( 所有节点 Talke and Listener 都可以给节点赋值 ROS 通信机制就是SPC,从图可以看见,listener必须重新从ROS Master 获取值 才能从Talker获取变化 ,故此ROS( 适合存储静态、非二进制的配置参数 、不适合存储动态配置的数据))在这里插入图片描述

文件系统:

功能包(Package)

  • ROS软件中的基本单元,包含节点源码,配置文件,数据定义等
  • 功能包 包括(节点 消息 服务)

功能包的清单 (Package manifes)

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

元功能包(MetaPackages)

  • 组织多个同一目的功能包

软件仓库

ROS 社区

在这里插入图片描述

ROS的概念:对应第八讲

ROS命令行总览:

ROS shell命令
命令 重要度 命令释义 详细说明
roscd 👍👍👍👍 ros+cd 移动到指定的ros功能包目录
rosls 👍👍 ros+ls(list files) 显示功能包的文件和目录
rosed 👍👍 ros+ed (editor) 编辑ROS功能包的文件
roscp 👍👍 ros+cp (copies files) 添加目录至目录索引
rosd 👍 ros+ deirectory 添加ROS目录索引中的目录
ROS 执行命令:
roscore 👍👍👍👍 ros+core master(ROS名称服务)+rosout(日志记录)+parameter server(参数管理)
rosrun 👍👍👍👍 ros+run 运行节点
roslaunch 👍👍👍👍 ros+launch 运行多个节点及设置运行选项
rosclean 👍👍👍 ros+clean 检查或删除ROS日志文件
ROS信息命令:
rostopic 👍👍👍👍 ros+topic 确认ROS话题信息
rosservice 👍👍👍👍 ros+service 确认ROS命令行信息
rosnode 👍👍👍👍 ros+node 确认ROS节点信息
rosparam 👍👍👍&#x
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-ATAO----

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值