ROS:常用命令汇总

news2024/11/17 1:38:25

目录

  • 一、前言
  • 二、rosnode
  • 三、rostopic
    • 3.1rostopic list
    • 3.2rostopic pub
    • 3.3rostpic echo
    • 3.4rostopic info
  • 四、rosservice
    • 4.1rosservice args
    • 4.2rosservice call
  • 五、rosmsg
    • 5.1rosmsg package
    • 5.2rosmsg show
  • 六、rossrv
    • 6.1rossrv package
    • 6.2rossrv show
  • 七、rosparam
    • 7.1rosparam set
    • 7.2rosparam get
    • 7.3rosparam delete
    • 7..4rosparam load(先准备 yaml 文件)
    • 7.5rosparam dump

一、前言

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

rosnode : 操作节点
rostopic : 操作话题
rosservice : 操作服务
rosmsg : 操作msg消息
rossrv : 操作srv消息
rosparam : 操作参数
官方参考网址:http://wiki.ros.org/ROS/CommandLineTools

二、rosnode

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

rosnode ping    测试到节点的连接状态
rosnode list    列出活动节点
rosnode info    打印节点信息
rosnode machine    列出指定设备上节点
rosnode kill    杀死某个节点
rosnode 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   打印主题类型

3.1rostopic list

直接调用即可,控制台将打印当前运行状态下的主题名称

rostopic list -v : 获取话题详情(比如列出:发布者和订阅者个数…)

3.2rostopic pub

可以直接调用命令向订阅者发布消息

为roboware 自动生成的 发布/订阅 模型案例中的 订阅者 发布一条字符串

rostopic pub /主题名称 消息类型 消息内容
rostopic pub /liaotian std_msgs huluwa

以小乌龟为案例的发布一条运动信息

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist
 "linear:
  x: 1.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 2.0"
//只发布一次运动信息

rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist
 "linear:
  x: 1.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 2.0"
// 以 10HZ 的频率循环发送运动信息

3.3rostpic echo

获取指定话题当前发布的消息

3.4rostopic info

获取当前话题的信息

消息类型

发布者信息

订阅者信息

四、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

4.1rosservice args

打印服务参数

rosservice args /spawn
x y theta name

4.2rosservice call

调用服务
生成一只新的乌龟

rosservice call /spawn "x: 1.0
y: 2.0
theta: 0.0
name: 'xxx'"
name: "xxx"

//生成一只叫 xxx 的乌龟

五、rosmsg

rosmsg是用于显示有关 ROS消息类型的 信息的命令行工具。

rosmsg show    显示消息描述
rosmsg info    显示消息信息
rosmsg list    列出所有消息
rosmsg md5    显示 md5 加密后的消息
rosmsg package    显示某个功能包下的所有消息
rosmsg packages    列出包含消息的功能包

5.1rosmsg package

列出某个包下的所有msg

rosmsg package 包名 

5.2rosmsg show

显示消息描述

//rosmsg show 消息名称
rosmsg show turtlesim/Pose
结果:
float32 x
float32 y
float32 theta
float32 linear_velocity
float32 angular_velocity

六、rossrv

rossrv是用于显示有关ROS服务类型的信息的命令行工具,与 rosmsg 使用语法高度雷同。

rossrv show    显示服务消息详情
rossrv info    显示服务消息相关信息
rossrv list    列出所有服务信息
rossrv md5    显示 md5 加密后的服务消息
rossrv package    显示某个包下所有服务消息
rossrv packages    显示包含服务消息的所有包

6.1rossrv package

rossrv package 包名 

6.2rossrv show

显示消息描述

//rossrv show 消息名称
rossrv show turtlesim/Spawn
结果:
float32 x
float32 y
float32 theta
string name
---
string name

七、rosparam

rosparam包含rosparam命令行工具,用于使用YAML编码文件在参数服务器上获取和设置ROS参数。

rosparam set    设置参数
rosparam get    获取参数
rosparam load    从外部文件加载参数
rosparam dump    将参数写出到外部文件
rosparam delete    删除参数
rosparam list    列出所有参数

7.1rosparam set

设置参数

rosparam set name xxx

7.2rosparam get

获取参数

rosparam get name

7.3rosparam delete

删除参数

rosparam delete name

7…4rosparam load(先准备 yaml 文件)

从外部文件加载参数

rosparam load xxx.yaml

7.5rosparam dump

将参数写出到外部文件

rosparam dump yyy.yaml

在这里插入图片描述

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

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

相关文章

CSDN | CDC 城市开发者联盟开始招募啦!

一、CDC(城市开发者联盟)介绍 CDC 是由 CSDN 发起的公益性同城高端开发者社区,全称 City Developers Community,通过在每个城市招募和培养“CDC 城市合伙人”,一起在当地构建“千城千面”的线下开发者社交圈&#xff…

arcserver图层数据导出插件

arcserver数据导出插件使用 下载地址:https://download.csdn.net/download/u011405698/87966050?spm1001.2014.3001.5503 如果需要代码或商业合作请联系公众号:世奇 插件不依赖其他第三方类库,只依赖arcpy,使用简单方便。可以…

C++标准模板库STL (未完)

概述 STLstandard template library是 C 标准库的一部分&#xff0c;无需单独安装&#xff0c;只需#include 头文件 什么是模板&#xff1f;见c面向对象程序设计中模板一节 顺序性容器 vector 向量 变长数组 声明 vector<类型名> 变量名[数组长度];类型名可以是已有…

社交商务时代已经到来,ss客服帮您抓住风口

社交商务时代已经到来&#xff0c;ss客服帮您抓住风口 近年来&#xff0c;社交媒体商务的概念已成为一股强大的力量。通过将社交媒体平台的影响力和影响力与在线购物的便利性相结合&#xff0c;它正在彻底改变企业与客户互动和销售产品或服务的方式。 什么是社交商务&#xf…

MyBatisPlus代码生成器插件

1、下载IDEA插件&#xff1a;MybatisPlus。 2、使用插件生成代码 首先点击IDEA导航菜单上的Other选项&#xff0c;然后进行数据库和代码生成器的配置&#xff1a; 数据库配置&#xff1a; 代码生成器配置&#xff0c;然后点击code generator&#xff1a; 最会插件会按照配置…

Timeout while checking target RAM, RAMCode did not respond in time

问题 使用jlink烧入gd32f450时&#xff0c;jlink提示错误Timeout while checking target RAM, RAMCode did not respond in time; 解决办法 原因是RAM的地址范围错误&#xff0c;默认选择gd32f450vi的ram大小是512k&#xff0c;但是该芯片中的ram并不连续&#xff0c;其中64…

C++ 动态内存

了解动态内存在 C 中是如何工作的是成为一名合格的 C 程序员必不可少的。C 程序中的内存分为两个部分&#xff1a; 栈&#xff1a;在函数内部声明的所有变量都将占用栈内存。堆&#xff1a;这是程序中未使用的内存&#xff0c;在程序运行时可用于动态分配内存。 很多时候&…

【C/C++】类成员函数指针 定义 使用方法

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

使用conda虚拟环境,Jupyter Notebook 链接不上 kernel

1&#xff0c;检查 ipykernel 和 ipython 是否一致 输入pip list 或者conda list检查一下相应库的版本是不一致 不一致的话&#xff0c;可以更新这两个库的版本&#xff1a;pip install --upgrade 库名 2&#xff0c;看控制台的报错&#xff0c;如果是报404&#xff0c;内核找不…

leetcode 145. 二叉树的后序遍历

2023.6.24 继上一题前序遍历&#xff0c;这道后序遍历就很容易了&#xff0c;把递归的顺序稍微改一下就行。 递归法&#xff1a; class Solution { public:void travelsal(TreeNode* cur , vector<int>& ans){if(cur nullptr) return;travelsal(cur->left , an…

如何设计真正高性能高并发分布式系统?

1 、引子 软件复杂性来源于几个方面&#xff1a;高并发高性能、高可用、可扩展、低成本、低规模、可维护、安全等。架构演化、发展都是为了试图降低复杂性&#xff1a; 高并发、高性能&#xff1a;互联网系统特点&#xff0c;用户量大&#xff0c;请求量大&#xff0c;高并发高…

NLP学习笔记(二)

文章目录 &#xff08;一&#xff09;负采样&#xff08;二&#xff09;GloVe1.带全局语料库的跳元模型2.GloVe模型3.问题4.跳元模型与GloVe模型的比较 &#xff08;三&#xff09;问题1.参数初始化2.梯度下降3.下游任务4.句法信息5.似然估计6.词向量表示 &#xff08;一&#…

MySQL基础篇(day04,复习自用)

MySQL第四天 单行函数内容练习 聚合函数内容练习 单行函数 内容 #第七章 单行函数 SELECT ABS(-123),ABS(32),SIGN(-23),SIGN(43),PI(),CEIL(32.32),CEILING(-43.23),FLOOR(32.32), FLOOR(-43.23),MOD(12,5) FROM DUAL;#取随机数 SELECT RAND(),RAND(),RAND(10),RAND(10),RAND…

亚马逊开店卖什么好呢?有哪些热销产品推荐?

现如今提起跨境电商&#xff0c;人们首先会想到亚马逊平台&#xff0c;作为利润的核心&#xff0c;其发展与优势都是有目共睹的&#xff0c;所以引来了大批的创业者前往亚马逊开店&#xff0c;然而在亚马逊开店后&#xff0c;首先想到的问题就是卖什么产品好&#xff1f;什么产…

推荐一款轻量级全栈式开源测试平台!

1、RunnerGo介绍 今天给大家介绍一个好用的测试平台&#xff1a;RunnerGo&#xff08;开源&#xff09;。RunnerGo是一款轻量级、全栈式的测试平台&#xff0c;支持接口管理、场景管理、性能测试、自动化测试等功能。与市面上的性能测试工具不同的是RunnerGo基于go语言研发&am…

三元表达式空指针问题

三元表达式空指针问题 问题描述&#xff1a; 如下代码标红处出现空指针异常&#xff1a; 测试及定位问题&#xff1a; 情景一&#xff1a;将num赋值为20&#xff0c;将flag赋值为true 正常输出10 情景二&#xff1a;将num赋值为null&#xff0c;将flag赋值为true 此时可以看到…

域渗透——vCenter安装及使用

简介 VMware vCenterServer 提供了一个可伸缩、可扩展的平台&#xff0c;为 虚拟化管理奠定了基础。VMware vCenter Server&#xff08;以前称为 VMware VirtualCenter&#xff09;&#xff0c;可集中管理 VMware vSphere 环境&#xff0c;与其他管理平台相比&#xff0c;极大…

C妈妈直播监控大屏页面--formDataSign参数逆向分析

内容仅供参考学习 欢迎朋友们V一起交流&#xff1a; zcxl7_7 详情请看专栏中的文章

【单片机】STM32单片机读取旋转编码器,TIM定时器编码器模式捕获,程序

文章目录 旋转编码器介绍主程序逻辑直接检测用外部中断检测下降沿定时器直接解码旋转编码器STM32中文参考手册V10.pdf定时器的编码器模式TIM2定时器编码器程序TIM3定时器编码器程序TIM4定时器编码器程序 旋转编码器介绍 旋转编码器简单来说&#xff0c;就是会输出2个PWM&#…

d2l_第八章学习_现代卷积神经网络

参考&#xff1a; d2l x.1 AlexNet 研究人员认为&#xff1a; 更大更干净的数据集或是稍加改进的特征提取方法&#xff0c;比任何学习算法带来的进步大得多。认为特征本身应该被学习&#xff0c;即卷积核参数应该是可学习的。创新点在于GPU与更深的网络&#xff0c;使用ReLU…