ROS-2.ros工具简单认识

news2024/12/24 8:54:34

ROS命令工具

ros提供了丰富的命令行工具

命令作用
rostopic主题相关工具
rosservice
rosnode节点相关工具
rosparam参数相关工具
rosmsg消息相关工具
rossrv$1

运行小海龟

开启一个终端,启动ros master

roscore

开启一个终端,启动小海龟仿真器

rosrun turtlesim turtlesim_node

开启一个终端,启动小海龟控制节点

rosrun turtlesim turtle_teleop_key

然后就可以用键盘上的方向键控制小海龟

rqt_graph 工具

查看计算图的工具,查看系统的全貌
在这里插入图片描述
如图所示, 里面有两个节点,一个topic 椭圆表示节点,

  • teleop_turtle 键盘的节点,接收键盘的输入
  • turtlesim 小海龟控制节点,接收teleop_turtle的控制信号,来控制小海龟运动

连个节点通过一个topic链接

  • turtle1主题

rosnode 工具

Commands:

  • rosnode ping: test connectivity to node
  • rosnode list: list active nodes
  • rosnode info: print information about node
  • rosnode machine: list nodes running on a particular machine or list machines
  • rosnode kill: kill a running node
  • rosnode cleanup: purge registration information of unreachable nodes

rostopic 工具

topic相关工具

命令含义
rostopic bwdisplay bandwidth used by topic
rostopic delaydisplay delay of topic from timestamp in header
rostopic echoprint messages to screen
rostopic findfind topics by type
rostopic hzdisplay publishing rate of topic
rostopic infoprint information about active topic
rostopic listlist active topics
rostopic pubpublish data to topic
rostopic typeprint topic or field type

现在我们可以通过主题向小海龟发送消息

rostopic pub
/turtle1/cmd_vel 消息主题
geometry_msgs/Twist 消息结构

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:
  x: 0.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 0.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: 0.0" 

rosmsg 工具

查看消息相关内容

rosmsg show geometry_msgs/Twist

显示如下

geometry_msgs/Vector3 linear
  float64 x
  float64 y
  float64 z
geometry_msgs/Vector3 angular
  float64 x
  float64 y
  float64 z

rosservice工具

服务相关的工具
查看当前所有支持的服务

rosservice list

显示如下

/clear
/kill
/reset
/rosout/get_loggers
/rosout/set_logger_level
/spawn
/teleop_turtle/get_loggers
/teleop_turtle/set_logger_level
/turtle1/set_pen
/turtle1/teleport_absolute
/turtle1/teleport_relative
/turtlesim/get_loggers
/turtlesim/set_logger_level

比如再生成一个海龟,x和y表示生成海龟的位置,name表示生成海龟的名字

rosservice call /spawn "x: 0.0
y: 2.0
theta: 5.0
name: 'turtle2'" 

rosbag工具

话题记录

rosbag record -a -O cmd_record

话题复现

rosbag play cmd_record.bag

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

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

相关文章

图床项目进度(一)——UI首页

1. 前言 前面我不是说了要做一个图床吗,现在在做ui。 我vue水平不够高,大部分参考b站项目照猫画虎。 vue实战后台 我使用ts,vite,vue3进行了重构。 当然,我对这些理解并不深刻,许多代码都是游离于表面&am…

k8s之Pod及Probe 探针机制(健康检查机制)

文章目录 1、Pod1.1、定义1.2、Pod的形式1.2、Pod的使用1.3、 Pod生命周期1.4、生命周期钩子1.5、临时容器1.5.1、定义1.5.2、使用临时容器的步骤 1.6、静态Pod 2、Probe 探针机制(健康检查机制)2.1、探针分类2.2、Probe配置项2.3、编写yaml测试探针机制…

初阶c语言:实战项目三子棋

前言 大家已经和博主学习有一段时间了,今天讲一个有趣的实战项目——三子棋 目录 前言 制作菜单 构建游戏选择框架 实现游戏功能 模块化编程 初始化棋盘 打印棋盘 玩家下棋 电脑下棋 时间戳:推荐一篇 C语言生成随机数的方法_c语言随机数_杯浅…

成为创作者的第512天——创作纪念日

​ 📚文章目录 📨官方致信 🎯我的第一篇文章 🧩机缘 🧩收获 🧩成就 🧩憧憬与目标 📨官方致信 ​ 🎯我的第一篇文章 2022 年 03 月 26 日,那一天我在C…

【网络安全】防火墙知识点全面图解(一)

防火墙知识点全面图解(一) 1、什么是防火墙? 防火墙(Firewall)是防止火灾发生时,火势烧到其它区域,使用由防火材料砌的墙。 后来这个词语引入到了网络中,把从外向内的网络入侵行为看…

nodejs使用PassThrough流进行数据传递合并

在Node.js中,流(stream)是处理数据的强大工具,它们允许我们以流式方式处理大量数据,而不必一次性将所有数据加载到内存中。PassThrough是Node.js中的一个流类型,它在数据流传递过程中起到 无操作 的中间层&…

LeetCode 周赛上分之旅 #41 结合离散化的线性 DP 问题

⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度…

设计模式——里氏替换原则

文章目录 里氏替换原则OO 中的继承性的思考和说明基本介绍一个程序引出的问题和思考解决方法 里氏替换原则 OO 中的继承性的思考和说明 继承包含这样一层含义:父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有的…

Web会话技术

会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应 会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,…

线性代数的学习和整理6:向量和矩阵详细,什么是矩阵?(草稿-----未完成)

43 矩阵 4.1 矩阵 4 整理网上总结一些 关于直击线性代数本质的 观点 矩阵的本质是旋转和缩放 矩阵里的数字0矩阵里的数字1,表示不进行缩放矩阵里的数字2等,表示缩放矩阵里的数字-3 表示缩放-3倍,并且反向矩阵里的数字的位置矩阵拆分为列向量…

学C的第三十四天【程序环境和预处理】

相关代码gitee自取: C语言学习日记: 加油努力 (gitee.com) 接上期: 学C的第三十三天【C语言文件操作】_高高的胖子的博客-CSDN博客 1 . 程序的翻译环境和执行环境 在ANSI C(C语言标准)的任何一种实现中,存在两个不同的环境。 &#xff0…

Baumer工业相机堡盟工业相机如何通过BGAPISDK设置相机的Bufferlist序列(C++)

Baumer工业相机堡盟工业相机如何通过BGAPISDK设置相机的Bufferlist序列(C) Baumer工业相机Baumer工业相机的Bufferlist序列功能的技术背景CameraExplorer如何查看相机Bufferlist功能在BGAPI SDK里通过函数设置相机Bufferlist参数 Baumer工业相机通过BGAP…

第9步---MySQL的索引和存储引擎

第9步---MySQL的索引和存储引擎 1.索引 1.1分类 索引可以快速的找出具有特定值的行。不用从头开始进行寻找了。 类别 hash和btree hash 根据字段值生生成一个hash的值 快速的进行定位到对应的行的值 可能会出现相同的值,找到对应的空间会出现对应的值 btree树…

深度学习|自监督学习、MAE学习策略、消融实验

前言:最近在阅读论文,发现太多机器学习的知识不懂,把最近看的一篇论文有关的知识点汇总了一下。 自监督学习、MAE学习策略、消融实验 自监督学习MAE学习策略消融实验 自监督学习 Pretrain-Finetune(预训练精调)模式&…

从LeakCanary看如何判断对象被回收

前面已经了解了Service,Fragment,ViewModel对象的销毁时机,那么在触发销毁时机后,我们怎么判断这些对象有没有回收呢? 大家都知道在Java中有强引用,弱引用,软引用,虚引用四种引用方…

2、手写模拟Spring底层原理

创建BeanDefinition bean定义 设置BeanDefinition 的类信息,作用域信息 创建beanDefinitionMap scope为原型: scope为单例: 总结: 扫描ComponentScan注解上的包扫描路径,将Component注解修饰的类,生成Bea…

数据结构之并查集

并查集 1. 并查集原理2. 并查集实现3. 并查集应用3.1 省份数量3.2 等式方程的可满足性 4. 并查集的优缺点及时间复杂度 1. 并查集原理 并查表原理是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。并查集的思想是用一个数组表示了整片森林&#xff0…

Apache Doris 极简运维之BE扩缩容(1)

Apache Doris 极简运维之BE扩缩容(1) 一、环境信息硬件信息软件信息 二、缩容2.1 DROP BACKEND缩容2.2 DECOMMISSION BACKEND缩容2.2.1 缩容前2.2.2 缩容中2.2.3 缩容后 三、扩容3.1 扩容前3.2 扩容中3.3 扩容后 四、总结 一、环境信息 已部署三个BE节点…

十二、Linux如何修改文件/文件夹所属用户or用户组?chown命令

目录 1、基础语法 2、修改目标用户: 3、修改用户组: 4、使用-R命令,并同时修改用户/用户组 1、基础语法 chown [-R] [目标用户][:][目标用户组] 被修改文件/文件夹 (1)选项-R:同chmod,对文…

Yellowbrick新手入门简介:用于Python机器学习模型可视化的工具库

Yellowbrick 是一个新的 Python 库,它扩展了 Scikit-Learn API,将可视化合并到机器学习工作流程中。 Yellowbrick需要依赖诸多第三方库,包括Scikit-Learn,Matplotlib,Numpy等等。 Yellowbrick 是一个开源的纯 Python…