ROS命令行工具的使用

2023-05-16

一、命令行工具的使用


前言

在ROS里面,命令行工具的使用能够使我们深入了解ROS,使我们操作ROS的时候更加方便。
我们利用海龟作为示例进行命令行工具的学习。
运行小海龟步骤:
终端输入

roscore

然后,打开另个终端,输入

rosrun turtlesim turtlesim_node

若想实现键盘对小海龟进行操控则在上面基础上,打开一个新的终端,输入

rosrun turtlesim turtle_teleop_key

一、rostopic

rostopic is a command-line tool for printing information about ROS Topics.
用ctrl+alt+T打开终端,输入rostopic,按回车键,会出现与rostopic相关的工具:
rostopic

我们以小海龟为例:

终端输入

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:

随后按下tab键(这里很容易因为习惯而顺手按下回车键),出现以下情况:
在这里插入图片描述
利用键盘上的左右移动按键进行光标移动,修改linearangular的值,从而实现对小海龟移动的控制

但我们可以看到,发布指令后,小海龟只移动一下,并没有一直运动,这是因为小海龟接收到的指令并不是持续发布的,如果要实现小海龟一直移动,那么我们就需要不断向小海龟发送指令,我们可以在上一行代码添加-r和一个数值(这里需要留意输入的格式和空格),具体操作方法:
在这里插入图片描述

在发布完上一条指令后(绿色方框内,并按下ctrl+C键结束指令),我们利用键盘方向键按下“↑”,然后利用“←”“→”移动光标,修改指令。在pub后加上-r和一个数值(-r代表频率rate,10的单位为Hz)

rostopic pub -r 10 /turtle1/             //这里展示部分内容

在这里插入图片描述
最后,小海龟会撞墙。
下面是一些解释:

rostopic pub-r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:

turtle1/cmd_vel是话题名
geometry_msgs/ Twist是发布的内容,即消息结构
若终端输入rostopic pub-r 10(publish)/ turtle1/cmd_vel geometry_msgs/ Twist
即加多了“-r 10”,则表示增加一个频率,使其能够持续向终端发出指令
“-r”后面的数字是每秒多少次的意思
终端输入“ctrl+C让其停止”

二、rosnode

rosnode is a command-line tool for printing information about ROS Nodes.
显示系统当中所有节点相关信息的指令
在这里插入图片描述

终端输入rosnode list把所有系统当中的节点都列出来
终端输入rosnode info 查看某个节点的具体信息,如查看turtlesim这个节点的信息,则在终端输入rosnode info /turtlesim,回车后能查看订阅话题、服务的信息

三、rosservice

rossrv is a command-line tool for displaying information about ROS
Service types.
在这里插入图片描述

终端输入rossrv list即可查看rossrv的具体内容是什么
终端输入rossrv call /spawn即能请求产生多一个海龟(spwan是产生的意思),同时输入坐标数据及名称,使请求的东西获得命名并出现在指定位置上call是调用、发布、请求的意思

四、rosmsg

rosmsg is a command-line tool for displaying information about ROS
Message types.
在这里插入图片描述

五、rosparam

rosparam is a command-line tool for getting, setting, and deleting
parameters from the ROS Parameter Server.
在这里插入图片描述

六、rosout

rosout是系统当中一个默认的话题,一般不需要关心

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS命令行工具的使用 的相关文章

  • 任务相关知识

    任务管理 从系统的角度来看 xff0c 任务是竞争系统资源的最小运行单元 在任何时刻 xff0c 只有一个任务得到运行 xff0c 每个任务都在自己的环境中运行 xff0c 而这个运行的任务由FreeRTOS的调度器决定 FreeRTOS
  • 串口打印中文乱码及注释乱码问题

    1 使用keil5代码注释出现中文乱码问题 在使用keil5中出现如下问题 xff1a 这时候的解决方法是在keil5顶头工具栏上进入 xff1a Edit Configuration xff0c 如下然后进行选择GB2312编码方式 xf
  • keil5中安装Arm Compiler 5.06问题

    keil5 5 7版本中安装Arm Compiler 5 06问题 在最新的keil5 7版本中不再默认安装Arm Compiler 5 06编译器 xff0c 所以此版本需要自己独立下载并进行安装 具体步骤如下 xff1a 1 官网下载A
  • 五、FreeRTOS中任务控制块(TCB)、任务句柄和内核对象句柄

    文章目录 1 什么是任务控制块 xff1f 2 任务控制块的内容3 什么是任务句柄 xff1f 4 什么是内核对象句柄 xff1f 1 什么是任务控制块 xff1f 任务控制块实际上就是一个结构体 在FreeRTOS中 xff0c 系统为了
  • 凸优化基础知识

    文章目录 一 学习任务二 学习内容1 计算几何1 1 计算几何 的定义1 2 直线表达 2 凸集2 1 定义2 2 平面表达2 3 超平面表达 3 凸函数3 1 定义3 2 Hessian Matrix 矩阵3 3 判别 4 凸规划4 1
  • 八、任务的创建与删除

    文章目录 1 任务的三要素 xff1a 主体函数 任务栈 任务控制块 2 与任务相关的部分API函数 xff08 1 xff09 xTaskCreate xff08 2 xff09 void vTaskDelete TaskHandle t
  • 三、STM32中systick中断的优先级

    1 systick中断的优先级 systick为内核外设中断 xff0c 与普通外设中断的优先级有些区别 xff0c 并没有抢占优先级和子优先级的说法 对于M3来说内核外设的中断优先级由内核SCB这个外设的寄存器 xff1a SHPRx x
  • 二十、事件组

    文章目录 1 基本概念2 使用场景 xff1a 用于任务间 任务和中断间的同步 xff08 非数据传输 xff09 3 事件组结构体 xff08 事件控制块 xff09 内容解析4 为什么采用的是关闭调度器而不是关闭中断 xff1f 5 创
  • 3、如何使用GDB来进行命令行debug

    文章目录 一 与前面的联系二 GDB的一些认识1 什么是gdb2 gdb作用3 gdb可实现的功能 三 GDB常用的调试命令 一 与前面的联系 对于前面说到的launch json文件就是用于debug的配置文件 xff0c 在前面的vsc
  • 1、vscode搭建C++开发环境及一些配置文件的含义

    文章目录 一 vscode搭建开发环境1 下载和配置MinGW w64 编译器套件2 安装到电脑中3 配置环境变量4 测试是否安装成功5 vscode上安装C C 43 43 插件 二 配置编译环境时各个文件的含义1 task json x
  • 5、cmake的简单认识及CMakeLists.txt的编写语法

    文章目录 1 cmake是什么 xff08 1 xff09 cmake的两大功能 2 CMakeLists txt常用命令 xff08 即如何编写CMakeLists txt文件 xff09 xff08 1 xff09 cmake常见预定义
  • 6、在vscode上利用cmake创建第一个简单C++程序

    文章目录 xff08 1 xff09 前期准备工作 xff1a 即安装对应的环境1 xff09 在vscode上安装插件 xff1a C C 43 43 Cmake CMake tools2 xff09 安装Cmake环境 xff08 这是
  • 7、在vscode上利用cmake构建多文件C++工程

    文章目录 xff08 1 xff09 创建如下工程文件夹 xff1a 其中头文件放在include文件夹中 xff0c 源文件放在src文件夹中 xff08 2 xff09 在vscode上打开工程文件夹 xff0c 在对应的文件夹内建立相
  • js实现猜数字游戏

    随机输入两个数min 和max 在两个数中间生成一个随机数 进行猜数字游戏 且有猜的次数限制 1 不限制次数版本 function getRandom min max return Math floor Math random max mi
  • ubuntu更换阿里云镜像源操作步骤

    过程较为复杂 xff0c 能清楚自己改了镜像源 xff0c 避免了忘记或备份等 修改下载 xff08 镜像源 xff09 源 输入 xff1a sudo nano etc apt sources list 2 将所有deb 后的网址http
  • CSRF攻击原理与防御方法

    文章目录 CSRF概念CSRF攻击攻击原理及过程CSRF漏洞检测防御CSRF攻击1 验证 HTTP Referer 字段2 在请求地址中添加 token 并验证3 在 HTTP 头中自定义属性并验证 CSRF概念 CSRF跨站点请求伪造 C
  • Windows11安装Linux子系统(Ubuntu22.04LTS)+安装ROS

    目录 一 准备工作 二 安装Ubuntu 22 04 1 LTS 三 启动Ubuntu遇到的报错及解决方案 四 换源 五 安装ROS 设置编码 添加源 安装ROS 设置环境变量 测试 一 准备工作 控制面板 程序 程序和功能 启动或关闭 W
  • 如何在Github上建立自己的个人博客网站详细教程

    概述 之前闲着没事 就利用Github建了一个个人博客网站 效果还不错 今天就来分享一下 建立自己个人博客网站的好处 1 面试装逼 这个不必多说 2 把平时积累的知识和项目记录下来 方便日后查看使用 3 不受其他博客平台的限制 准备工作 开
  • 看野火的视频,用正点原子的板子(STM32F4探索者)做系统定时器实验

    1 实验目的 编写一个毫秒级的延时函数 xff0c 控制LED的亮灭 这里的灯是LED1 xff0c 端口是GPIOF xff0c 引脚是PIN10 2 实验流程 2 1 准备知识 SysTick 系统定时器 xff0c 24位 xff0c
  • 用正点原子的板子(STM32F4探索者)做PWM 输出实验

    1 实验目的 使用 TIM14 的通道 1 来产生 PWM 控制 LED0 DS0 的亮度 2 实验准备和流程 由上图可以看出 xff0c GPIOF9引脚对应的是定时器TIM14的通道1 由上图可以看出 xff0c GPIOF9引脚对应的

随机推荐

  • MATLAB快速入门(二):矩阵

    矩阵 目录 矩阵 1 冒号表达式 2 矩阵元素的引用 3 矩阵的运算 3 1算术运算 3 2逻辑运算 4 特殊矩阵 5 矩阵变换 5 1对角阵 5 2三角阵 5 3矩阵旋转 5 4稀疏矩阵 6 矩阵求值 1 冒号表达式 e1 e2 e3 省
  • toString方法使用

    一 Object类中toString的作用 1 在主方法中我们可以直接用toString 输出对象其中的内容 2 我们需要直接输出对象中所属内容时 xff0c 直接使用toString 方法输出语句 xff0c 输出内容不友好 xff0c
  • px4+mavros+offboard控制+gazebo仿真以及与pixhawk4飞控连接(一)

    记录一下自己从px4到板载控制的一系列流程以及踩坑过程 xff0c 希望也可以帮助大家避雷 话不多说直接上干货 一 软 硬件平台 px4版本 xff1a 1 10 1 飞控板 xff1a pixhawk4 ros版本 xff1a melod
  • 浅谈穿越机飞控如何烧写固件及其相关设置问题

    背景 xff1a 自己本人是无人机爱好者对穿越机也较为痴迷 xff0c 在使用DJI FPV天空端时发现无法显示OSD信息 xff0c 同时在眼镜端的OSD开关已经打开 xff0c 查阅相关资料发现自己的飞控版本过低需要烧写到4 1 0以上
  • XSS攻击原理及防范

    文章目录 一 XSS攻击简介二 XSS攻击分类1 反射型2 存储型3 DOM based型 三 XSS防范1 cookie安全策略2 X XSS Protection设置3 XSS防御HTML编码4 XSS 防御HTML Attribute
  • Jetson Xavier NX安装librealsense

    在nx上安装librealsense可以使用由jetsonhacks开源的安装脚本installRealSenseSDK 克隆仓库 xff0c 进入目录 git clone https github com jetsonhacks inst
  • Kubernetes(K8s)的简介及基础知识

    1 关于Kubernetes xff08 K8s xff09 的简介 Kubernetes xff0c 简称又叫K8s xff0c 为什么简称要叫K8s xff0c 据说是因为Kubernetes单词中K字母和S字母之间相隔8个字母 xff
  • 爬虫实战(三)

    随着互联网的不断发展 xff0c 网络数据的规模和价值也不断提升 在这个大数据时代 xff0c 如何从海量数据中提取有价值的信息并加以利用 xff0c 成为了数据科学 商业分析 金融预测 社会研究等领域中一个重要的问题 而网络爬虫作为一种数
  • 数据库连接

    一 连接数据库的方法和工具 数据库连接是访问数据库的关键步骤之一 xff0c 通过连接数据库 xff0c 我们可以进行数据的增删改查等操作 下面介绍几种连接数据库的方法和工具 命令行工具 在命令行中输入相应的命令即可连接数据库 常用的命令行
  • C语言之十进制转化为十六进制

    作者 xff1a 从未止步 博客主页 xff1a 从未止步的博客 专栏 xff1a 和我一起学C 语录 xff1a Every day is a second chance 行动是理想最高贵的表达 xff0c 给大家介绍一款超牛的斩获大厂o
  • 合肥工业大学机器人足球仿真robcup作业二(python实现)附代码有注释

    用面向对象的思维设计相关类 xff0c 从而实现直线与直线 直线与圆 直线与矩形的交点 要求各给出每个案例的至少一个示例的程序 这是第二次机器人足球的作业代码 xff0c 写的比较潦草 xff0c 但是用的方法还是通俗易懂的 xff0c 基
  • 合肥工业大学机器人足球仿真robcup作业三(python实现)附代码有注释

    第三次作业 题目 xff1a 已知2个点的信息 定位自己的绝对坐标 设图中C 0 0 P1 52 5 32 P2 52 5 32 P3 52 5 32 P4 52 5 32 P5 0 32 P6 0 32 P7 30 7 P8 30 7 P
  • 程序员一定要知道的10个网站,记得收藏

    为大家整理了对程序员超有用的网站合集 xff0c 今天主要分享知识社区 amp 学习刷题两大类 希望能助力各位早日成为码神 话不多说 xff0c 直接上干货 知识社区类 1 Github 程序员的Facebook 毋庸置疑 xff0c 首位
  • for in 和for of的区别

    文章目录 1 遍历数组通常用for循环2 for in遍历数组3 遍历对象总结 1 遍历数组通常用for循环 ES5的话也可以使用forEach xff0c ES5具有遍历数组功能的还有map filter some every reduc
  • win11打开移动热点显示“我们无法设置移动热点”

    解决方法 xff1a 以下方法是本人联系微软客服解决 xff0c 亲测有效 用管理员模式打开命令提示符 xff0c 输入netsh winsock reset xff08 按下Enter键 xff09 netsh int ip reset
  • 树莓派pico的软件安装及使用

    简介 xff1a 在些日子在芯查查积分商城兑换了一个树莓派pico xff0c 来教大家怎么安装Thonny软件 xff0c 并且使用Thonny编译运行树莓派pico 第一步 xff1a 安装固件 第二步 xff1a 在window上安装
  • Git分布式版本控制工具(linux)

    内容 xff1a Git 概述 Git 代码托管服务 Git 常用命令 在 IDEA 中使用 Git 目录 1 前言 xff1a 1 1 什么是Git xff1f 1 1 1 其他版本控制工具 xff1a 1 2 使用Git能做什么 xff
  • ADRC的simulink仿真实现与m代码实现

    本文章以最简单的二阶系统为例 xff0c 介绍其simulink仿真实现和m代码实现 案例中的二阶系统如下所示 经典ADRC的基本结构如下 xff1a 本案例中的simulink仿真整体结构 xff08 为便于理解 xff0c 结构图与上述
  • 安装ROS

    如何在电脑安装ROS 安装ROS环境是学习ROS的第一步 xff0c 本文将记录个人搭建的过程 xff0c 包括可能遇到的错误 解决办法 个人心得等 文章目录 如何在电脑安装ROS 前言一 在Windows系统下载VMware虚拟机并安装二
  • ROS命令行工具的使用

    一 命令行工具的使用 前言 在ROS里面 xff0c 命令行工具的使用能够使我们深入了解ROS xff0c 使我们操作ROS的时候更加方便 我们利用海龟作为示例进行命令行工具的学习 运行小海龟步骤 xff1a 终端输入 roscore 然后