ROS:一些基本命令行

news2024/11/26 3:32:41

目录

  • 一、打开小海龟
    • 1.1终端,启动ROS Master:
    • 1.2终端2,启动小海龟仿真器:
    • 1.3终端3,启动海龟控制节点:
  • 二、查看系统中的计算图
  • 三、节点命令
    • 3.1查看节点下的命令rosnode
    • 3.2显示节点列表rosnode list
    • 3.3查看节点信息rosnode info /节点名
  • 四、话题命令
    • 4.1查看话题命令rostopic
    • 4.2显示topic列表rostopic list
    • 4.3把数据发布到当前某个正在广播的话题上rostopic pub
  • 五、查看消息数据结构
  • 六、服务通信
    • 6.1查看服务列表rosservice list
    • 6.2手动通过服务来进行操作rosservice call
  • 七、话题记录和复现rosbag

一、打开小海龟

1.1终端,启动ROS Master:

roscore

在这里插入图片描述

1.2终端2,启动小海龟仿真器:

rosrun turtlesim turtlesim_node

在这里插入图片描述
输入rosrun turtlesim,敲两下Tab健可查看该命令下有哪些功能

1.3终端3,启动海龟控制节点:

rosrun turtlesim turtle_teleop_key

在这里插入图片描述

二、查看系统中的计算图

新建终端窗口:

rqt_graph

可展示系统中运行的计算图:
在这里插入图片描述
可以清晰地了解系统节点间通信的部分信息。
teleop_turtle节点(键盘控制节点)通过cmd_vel(topic)向turtlesim节点(海龟仿真器节点)发出消息,使得小海龟移动。

三、节点命令

3.1查看节点下的命令rosnode

rosnode

在这里插入图片描述

3.2显示节点列表rosnode list

rosnode list

在这里插入图片描述
可以看到有3个节点

3.3查看节点信息rosnode info /节点名

rosnode info /节点名

我们查看海龟仿真器节点/turtlesim的信息:

rosnode info /turtlesim

在这里插入图片描述
可以看到海龟仿真器节点/turtlesim自己有一些发布和订阅,也有一些服务

四、话题命令

rostopic命令工具能让你获取ROS话题的信息。

4.1查看话题命令rostopic

rostopic

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

4.2显示topic列表rostopic list

# (1) 列出当前已被订阅和发布的所有话题。
rostopic list
# (2) 列出所有发布和订阅的主题及其类型的详细信息。
rostopic list -v

在这里插入图片描述

4.3把数据发布到当前某个正在广播的话题上rostopic pub

rostopic pub (参数) 话题名 消息数据结构 “具体数据”
# 命令会发送一条消息给turtlesim,告诉它以2.0大小的线速度和1.8大小的角速度移动。
rostopic pub  /turtle1/cmd_vel geometry_msgs/Twist “linear [2.0, 0.0, 0.0]  [0.0, 0.0, 1.8]"

/turtle1/cmd_vel:这是要发布到的话题的名称
geometry_msgs/Twist:这是发布到话题时要使用的消息的类型。

还有一种快速输入的方法:先输入以下命令,然后双击Tab键,最后使用<-和->键修改linear和angular。

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist 

在这里插入图片描述
下面我们用 rostopic pub -r 命令来发布源源不断的命令:

# 命令以10Hz的频率发送消息给turtlesim,保证乌龟持续做圆周运动
rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist “linear [2.0, 0.0, 0.0]  [0.0, 0.0, 1.8]"

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

五、查看消息数据结构

上例我们使用了消息数据结构定义了一个消息传给topic,我们可以查看有哪些消息数据结构。
查看消息数据结构使用:

rosmsg show …

在输入过程中,我们可以勤使用Tab键查看或填充内容。
在这里插入图片描述

六、服务通信

上面的例子我们使用了向topic传msg来控制节点,这次我们试试第二种通信方式service。

6.1查看服务列表rosservice list

rosservice list

在这里插入图片描述

6.2手动通过服务来进行操作rosservice call

这次我们通过人工产生服务(service)来诞生一只新海龟,使用rosservice call /spawn …
在服务列表中,有个/spawn服务,可以产生一只新的海龟。
格式:

rosservice call (参数) 服务名 “具体数据”

在这里插入图片描述
这时我们再输入rostopic list,可以看到turtle2已经在topic里了
在这里插入图片描述

七、话题记录和复现rosbag

试想我们尝试让海龟以我们指定的路径移动了一回,我们想要把它 记录下来,拷贝到自己的实验室再复现出来,我们就可以使用话题记录功能。
常用命令

rosbag record -a -O 文件名

比如我们使用之前打开的键盘操作器让海龟移动一圈并记录下来:
(1)打开新终端输入

rosbag record -a -O cmd_record

这样就开始记录了:
在这里插入图片描述
(2)移动一下
(3)到记录界面按Ctrl+C停止,文件就记录了
在这里插入图片描述
(4)接下去关闭所有打开的ros节点
重新开启roscore
在这里插入图片描述

开启海龟节点rosrun turtlesim turtlesim_node
在这里插入图片描述

这时我们输入

 rosbag play cmd_record

就可以复现之前的移动啦
在这里插入图片描述
参考视屏:古月居ROS入门21讲
在这里插入图片描述

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

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

相关文章

【致敬未来的攻城狮计划】打卡1:rasc+keil环境搭建

前言 这回参加的是csdn李肯老师的攻城狮计划&#xff0c;简单说就是我白嫖板子&#xff0c;输出学习笔记。 板子是瑞萨的CPK_RA2E1&#xff0c;还有触摸元件&#xff0c;看起来很有意思hh。 环境搭建 一开始决定采取vscode搭建的方式。后期进行到最后一步——cmake build的时…

多链路传输技术在火山引擎 RTC 的探索和实践

动手点关注 干货不迷路 传统的数据传输方式大多是利用一个链路、选择设备的默认网卡进行传输&#xff0c;使用这种方式实现实时音视频通话时&#xff0c;如果默认网络出现问题&#xff08;如断网、弱网等&#xff09;&#xff0c;用户的通信就会发生中断或者卡顿&#xff0c;影…

chatgpt赋能python:Python倒序函数:让你的列表逆转!

Python倒序函数&#xff1a;让你的列表逆转&#xff01; Python作为一种高级编程语言&#xff0c;代码简洁易学&#xff0c;因此被广泛使用。对于开发者而言&#xff0c;逆转列表&#xff08;list&#xff09;是很常见的需求。Python提供了一个内置函数reverse()来解决这个问题…

前端技术搭建扫雷小游戏(内含源码)

The sand accumulates to form a pagoda ✨ 写在前面✨ 功能介绍✨ 页面搭建✨ 样式设置✨ 逻辑部分 ✨ 写在前面 上周我们实通过前端基础实现了贪吃蛇游戏&#xff0c;今天还是继续按照我们原定的节奏来带领大家完成一个游戏&#xff0c;功能也比较简单简单&#xff0c;也是想…

钉钉斜杠“/”开启邀请测试;用ChatGPT写一个数据采集程序

&#x1f989; AI新闻 &#x1f680; 钉钉斜杠“/”开启邀请测试&#xff0c;AI全面智能化助力企业生产 摘要&#xff1a;钉钉斜杠“/”邀请测试开启&#xff0c;应用于文档、群聊、视频会议、应用开发等场景&#xff0c;为企业用户提供多项AI智能能力&#xff0c;如创作、汇…

【AUTOSAR】Com通讯栈配置说明(五)---- ComM模块

ComM模块 ComMConfigSet ComMChannels ComMBusType&#xff1a;定义总线类型 ComMChannelId&#xff1a;通道号 ComMFullCommRequestNotificationEnabled&#xff1a;未使用 ComMComMGlobalNvmBlockDescriptor&#xff1a;未使用 ComMMainFunctionPeriod&#xff1a;ComM的…

【云原生•监控】mtail轻量日志监控系统

【云原生•监控】mtail轻量日志监控系统 前言 「笔者已经在公有云上搭建了一套临时环境&#xff0c;可以先登录体验下&#xff1a;」 http://124.222.45.207:17000/login 账号&#xff1a;root/root.2020 简介 「可观测性平台三大支柱&#xff1a;日志监控、调用链监控和度量指…

2023年05月小结

5月一晃即将过去&#xff0c;先看看5月份都写了哪些文章&#xff1a; 往期推荐 国内手机号如何注册Google账号 Python中的布尔类型以及布尔值介绍 Python中深拷贝与浅拷贝介绍 Python中的集合介绍 Python中的字典学习笔记 Python学习历程-元组的基本操作回顾 记录我的Python学习…

初学prometheus监控(一)

初学prometheus监控(一) 1、promethues 介绍 1.1 监控的分类 监控重要性由高到低 业务监控&#xff1a;公司领导比较关心的指标&#xff0c;如电商平台的订单数量&#xff0c;用户的日活等系统监控&#xff1a;主要是跟操作系统相关的基本监控项&#xff0c;比如CPU,内存&#…

ChatGPT能解决信息抽取吗?一份关于性能、评估标准、鲁棒性和错误的分析

深度学习自然语言处理 原创作者&#xff1a;qazw 信息抽取(IE)旨在从非结构化文本中抽取出结构化信息&#xff0c;该结果可以直接影响很多下游子任务&#xff0c;比如问答和知识图谱构建。因此&#xff0c;探索ChatGPT的信息抽取能力在一定程度上能反映出ChatGPT生成回复时对任…

Office project 2019安装

哈喽&#xff0c;大家好。今天一起学习的是project 2019的安装&#xff0c;Microsoft Office project项目管理工具软件&#xff0c;凝集了许多成熟的项目管理现代理论和方法&#xff0c;可以帮助项目管理者实现时间、资源、成本计划、控制。有兴趣的小伙伴也可以来一起试试手。…

英伟达股票大涨,对应 GPU 产品有哪些型号?

英伟达&#xff08;NVIDIA&#xff09;是一家知名的 GPU&#xff08;图形处理器&#xff09;制造商&#xff0c;其 GPU 产品线非常丰富&#xff0c;涵盖了从消费级到专业级的各种型号。 最近英伟达股票大涨&#xff0c;高端 GPU 供不应求&#xff0c;搞大模型的团队都要疯狂进货…

机器学习入门基础:机器学习实践

目录 7.1 数据集划分 7.1.1 训练集、验证集和测试集划分7.1.2 交叉验证7.1.3 不平衡数据处理7.2 评价指标 7.2.1 回归的评价指标7.2.2 分类的评价指标7.2.3 评价指标案例7.3 正则化、偏差和方差 7.3.1 欠拟合和过拟合7.3.2 正则化7.3.3 偏差和方差参考文献 7.1 数据集划分 7.1…

通过python采集1688app商品详情数据,1688app商品详情数据接口,1688API接口

要通过Python采集1688app商品详情数据&#xff0c;你可以使用以下步骤&#xff1a; 安装必要的 Python 模块&#xff1a;requests, BeautifulSoup4 和 lxml。使用 requests 模块发送 HTTP 请求获取网站 HTML 内容。使用 BeautifulSoup4 模块解析 HTML 页面并提取所需的数据。编…

主路由设置静态路由后,能ping通,但无法访问网页服务和ssh等

主路由设置静态路由后&#xff0c;能ping通&#xff0c;但无法访问网页服务和ssh等 静态路由 主路由是istoreos软路由&#xff0c; AP使用华为AX3路由器做ap和wifi&#xff0c; 二级路由使用蒲公英路由X5 前置条件&#xff1a;已在主路由设置静态路由 静态路由 问 主路由设置静…

项目管理新手常见误区揭秘~

点击上方 "JavaEdge"关注, 星标或置顶一起成长 后台回复“面试”有惊喜礼包&#xff01; 这是一个纷杂而无规则的世界&#xff0c;越想忘掉的事情&#xff0c;越难忘记。 如何完成新手项目经理的角色转换呢&#xff1f; 成为项目经理前&#xff0c;我做了四五年的“码…

一起看 I/O | Jetpack 新功能一览

作者 / Android 产品经理 Amanda Alexander Android Jetpack 是现代 Android 开发 (Modern Android Development) 的关键组成支柱。Android Jetpack 套件包含超 100 个库、工具及指南&#xff0c;可帮助开发者遵循最佳实践、减少样板代码&#xff0c;并编写可在各种 Android 版…

chatgpt赋能python:Python修改配置文件:实现自动配置与简化运维

Python修改配置文件&#xff1a;实现自动配置与简化运维 介绍 配置文件是软件开发中不可缺少的一部分&#xff0c;它不仅包含应用程序的基本设置&#xff0c;还提供了一种简单的方式来管理这些设置。如何有效地修改配置文件已经成为了每个开发者必备的技能之一&#xff0c;而…

这8个NumPy函数可以解决90%的常见问题

NumPy是一个用于科学计算和数据分析的Python库&#xff0c;也是机器学习的支柱。可以说NumPy奠定了Python在机器学习中的地位。NumPy提供了一个强大的多维数组对象&#xff0c;以及广泛的数学函数&#xff0c;可以对大型数据集进行有效的操作。这里的“大”是指数百万行。 Nump…

MGR网络抖动问题分析和group_replication_unreachable_majority_timeout等参数分析

导言 本文主要从测试的角度来阐明group_replication_unreachable_majority_timeout和group_replication_member_expel_timeout参数对集群网络分区的影响&#xff0c;首先这里放一张大图&#xff0c;为多年前学习MGR的时候留下的&#xff0c;也就是这两个参数对集群的影响&…