ROS学习——通信机制(常用命令)

news2025/1/13 10:20:24

2.4 常用命令 · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程088常用命令简介_Chapter2-ROS通信机制_哔哩哔哩_bilibili

机器人系统中启动的节点少则几个,多则十几个、几十个,不同的节点名称各异,通信时使用话题、服务、消息、参数等等都各不相同,一个显而易见的问题是: 当需要自定义节点和其他某个已经存在的节点通信时,如何获取对方的话题、以及消息载体的格式呢?

在 ROS 同提供了一些实用的命令行工具,可以用于获取不同节点的各类信息,常用的命令如下:

  • rosnode : 操作节点
  • rostopic : 操作话题
  • rosservice : 操作服务
  • rosmsg : 操作msg消息
  • rossrv : 操作srv消息
  • rosparam : 操作参数

作用

和之前介绍的文件系统操作命令比较,文件操作命令是静态的,操作的是磁盘上的文件,而上述命令是动态的,在ROS程序启动后,可以动态的获取运行中的节点或参数的相关信息。

案例演示(启动话题通信案例)

②使用自定义发布消息

 ②订阅

一、rosnode

rosnode 是用于获取节点信息的命令

rosnode ping    测试到节点的连接状态
rosnode list    列出活动节点
rosnode info    打印节点信息
rosnode machine    列出指定设备上节点
rosnode kill    杀死某个节点
rosnode cleanup    清除不可连接的节点

新窗口——rosnode

命令后加 -h显示帮助文档

 (1)rosnode list 列出活动节点

 rosout——不是自己写的,启动roscore自动生成的节点

 (2)rosnode ping 测试到节点的连接状态

 (3)rosenode info 打印节点信息

 (4)rosnode machine 列出指定设备上的节点

(5)rosnode kill  杀死某个节点

 (6)rosnode cleanup 清除无用节点

启动乌龟节点,然后 ctrl + c 关闭,该节点并没被彻底清除,可以使用 cleanup 清除节点

 二、rostopic

rostopic包含rostopic命令行工具,用于显示有关ROS 主题的调试信息,包括发布者,订阅者,发布频率和ROS消息。它还包含一个实验性Python库,用于动态获取有关主题的信息并与之交互。

rostopic bw     显示主题使用的带宽
rostopic delay  显示带有 header 的主题延迟
rostopic echo   打印消息到屏幕
rostopic find   根据类型查找主题
rostopic hz     显示主题的发布频率
rostopic info   显示主题相关信息
rostopic list   显示所有活动状态下的主题
rostopic pub    将数据发布到主题
rostopic type   打印主题类型

重启启动话题通信案例

 发布和订阅之间的话题是liaoTian

新窗口——rostopic

 (1)rostopic list 显示所有活动状态下的主题

 rosout、rosout_agg——和日志适用的话题

(2)rostopic echo 获取指定话题当前发布的消息,扮演了消息的订阅方

 报错,需要在demo03下操作

 (3)rostopic pub 可以直接调用命令向订阅者发布消息,扮演消息的发布方

rostopic pub /主题名称 消息类型 消息内容
rostopic pub /chatter std_msgs gagaxixi

 liaoTian后可以两个Tab补齐

 ②按照某种频率发布消息

(4)rostopic info  获取当前话题的相关信息

消息类型、发布者信息、订阅者信息

 启动发布方

 (5)rostopic hz 列出消息发布频率

 三、rosservice

rosservice包含用于列出和查询ROSServices的rosservice命令行工具。

调用部分服务时,如果对相关工作空间没有配置 path,需要进入工作空间调用 source ./devel/setup.bash

rosservice args 打印服务参数
rosservice call    使用提供的参数调用服务
rosservice find    按照服务类型查找服务
rosservice info    打印有关服务的信息
rosservice list    列出所有活动的服务
rosservice type    打印服务类型
rosservice uri    打印服务的 ROSRPC uri

 启动服务端

 新窗口——rosservice

 (1)rosservice list 列出所有活动的 service

 (2)rosservice call 调用服务

addInts——服务名称,Tab补齐(补不齐空格一下再tab)

(3)rosservice info 获取服务话题详情

 (4)rosservice type 打印服务数据类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/769881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode刷题4

⼆叉树、BFS、堆、Top K、⼆叉搜索树、模拟、图算法 一、二叉树 二叉树的前序中序后序 二叉树节点定义 为了方便演示,我们先定义一个二叉树节点类。 class TreeNode:def __init__(self, val0, leftNone, rightNone):self.val valself.left leftself.right r…

keil5汇编实现1-100累加

.text 用于声明下面的代码都存放在.text文本段 .globl _start 声明_start代码内容属于全局内容_start: 汇编语言的标签,类似于c语言中的函数mov r0,#0 总和mov r1,#1 比较累加的值,次数bl fun 跳转,下一个指令地址保存到lr中cmp r1,#…

LLM微调 | LoRA: Low-Rank Adaptation of Large Language Models

🔥 发表于论文:(2021) LoRA: Low-Rank Adaptation of Large Language Models 😄 目的:大模型预训练微调范式,微调成本高。LoRA只微调新增的小部分参数。 文章目录 1、背景2、动机3、LoRA原理4、总结 1、背景 adapter…

【UE4 塔防游戏系列】11-多种类型敌人

目录 效果 前言 步骤 一、创建多种不同类型敌人 二、创建波次 (修改游戏模式) 效果 前言 我们之前使用的敌人都是同一种敌人,都是名为“Crossbowman”敌人 这里我们根据(【UE4 塔防游戏系列】03-创建第一个敌人&#xff09…

学会在重装系统前如何备份软件,再也不怕失去珍贵的应用!

​Windows系统是电脑的重要组成部分,它不仅提供了友好的用户界面,还承担着许多关键的功能和任务,为我们提供了一个稳定、安全和效率的工作环境,使我们能够充分发挥电脑的潜力,优化工作效率和生活品质。 随着系统使…

软件测试面试及笔试题

1、什么是软件测试? 【要点】 在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档、数据以及程序进行测试。 【详解】 软件测试就是在软件投入运行前对软件需求分析、软件设计规格说明书和软…

网络安全/黑客技术—学习笔记

一、什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面…

【产品经理】小型团队通用工作流程SOP方案

:所谓SOP,即标准作业程序,指将某一事件的标准操作步骤和要求以统一的格式描述出来,用于指导和规范日常的工作。实际执行过程中sop核心是符合本企业并可执行,不流于形式。 一、跨部门工作流程 跨部门流程及职能如下图展…

2.6Checkbutton勾选项

2.6Checkbutton勾选项 运行之后的效果将会像下面的图片一样,此时不作任何操作. 如果只选中第一个选项,即图中的python, 效果就会如下. 如果只选中第二个选项,即图中的c, 效果就会如下. 如果两个选项都选中, 效果就会如下. Checkbutton部…

2023年7月22日(星期六):骑行海囗

2023年7月22日(星期六):骑行海囗,早8:30到9:00, 大观公园门囗集合,9:30点准时出发 【因迟到者,骑行速度快者,可自行追赶偶遇。】 偶遇地点: 大观公园门囗集合,家住南,东&#xff0…

【第11天】面向对象程序设计_对象的创建,使用,继承

对象的创建及应用 对象的创建 对象可以认为是在一类事物中抽象出某一个特定通过这个特例来处理这类事物出现的问题。在程序语言中通过new关键字来创建对象。前文在讲解构造函数时介绍过每实例化一个对象就会自动调用一次构造函数,实质上这个过程就是创建对象的过程…

实例018 类似windows xp的程序界面

实例说明 在Windows XP环境下打开控制面板,会发现左侧的导航界面很实用。双击展开按钮,导航栏功能显示出来,双击收缩按钮,导航按钮收缩。下面通过实例介绍此种主窗体的设计方法。运行本例,效果如图1.18所示。 ​编辑…

C++ vector容器注意事项

容量(capacity)和大小(size)的区别 vector 容器的容量(用 capacity 表示),指的是在不分配更多内存的情况下,容器可以保存的最多元素个数;而 vector 容器的大小&#xff…

如何提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析能力

专题一、空间数据获取与制图 1.1 软件安装与应用讲解 1.2 空间数据介绍 1.3海量空间数据下载 1.4 ArcGIS软件快速入门 1.5 Geodatabase地理数据库 专题二、ArcGIS专题地图制作 2.1专题地图制作规范 2.2 空间数据的准备与处理 2.3 空间数据可视化:地图符号与…

zabbix监控linux主机、监控windows10主机

目录 一、环境准备 1、关闭防火墙 2、准备三台服务器、添加主机声明 3、修改主机名 4、此篇接着上一篇zabbix监控自己的环境下操作,server(192.168.147.135)已经配置好 二、源码安装zabbix 1、下载包、安装依赖包、联网同步清华时间 2…

vue3组件中使用live2d看板娘(仰望星空的sun)

文章目录 前言思路和实现步骤以及遇到的问题原文章地址My备份Git 相关问题問題解決解決index.html中正常放入canvas問題 前言 因为上个官方包版的canvas总是不能按理想状态更好的控制,渲染在vue中,所以我依然想参考“仰望星空的sun”大佬的笔记以及git开…

Echarts 修改背景颜色、全屏自适应屏幕

修改背景色: 全屏自适应屏幕 首先拿到外面的div的高度 通过DOM获取clientHeight即为无论全屏与否都是DIV的整个高度 在通过高度去做自适应就好了

Spring Boot Helper插件免费版的下载

在使用idea的社区版的时候,我们创建springboot项目就要下载springboot helper插件,下载是很简单,但是呢,有一个问题就是: 可以看到它是收费的,要想免费创建spring boot项目那么我们第一可以采用网页版创建&…

纯干货!!!Java后端技术清单(附图)

分享一份最新的Java后端开发技能清单,可根据自身情况以及岗位招聘要求做动态调整,核心思想就是尽可能满足岗位招聘的所有技能要求。 Java后端技术清单: 1.计算机基础:熟练掌握计算机网络、数据结构和算法、操作系统,了解计算机组成原理。 …

❤️创意网页:制作一个绚丽的烟花效果(HTML、CSS和JavaScript实现)

✨博主:命运之光 🌸专栏:Python星辰秘典 🐳专栏:web开发(简单好用又好看) ❤️专栏:Java经典程序设计 ☀️博主的其他文章:点击进入博主的主页 前言:欢迎踏入…