ROS入门-6.ROS 命令行工具的使用
一.ROS的命令行工具
ros提供了丰富的命令行工具,这些工具可以帮助我们实现一些代码的编写,调试,包括整个系统的框架的调试,数据的显示,命令的一些帮助信息等都可以通过命令行工具等帮助实现,常用命令包括:rostopic,rosservice, rosnode, rosparam, rosmsg rossrv
举例:小海龟为例
第一步,在当前终端输入roscore
(作用:启动ROS Master,即ROS里管理器)
第二步,打开一个新终端输入:rosrun turtlesim turtlesim_node
(作用:启动小海龟仿真器)
rosrun 命令是用来运行在某个功能包里某个节点的指令,后跟两个参数,一个是功能包名(如:turtlesim)一个是节点名
其中,通过rosrun turtlesim+tab键可见该功能包所有结点,使用第三个节点打开仿真器界面
第三步,再打开一新终端输入:rosrun turtlesim turtle_teleop_key
(作用:启动海龟控制节点,运行键盘控制节点)
打开第四个终端输入:rqt_graph
ros里一系列以rqt开头的工具,都是基于qt的一些可视化工具
(rqt_graph 用来显示系统计算图的工具,可见整个系统的全貌)
可理解此海龟便是,两个节点与节点之间的话题组成的系统
其他命令行工具
1.rosnode
用来显示系统当中所有结点相关信息的指令
(可通过rosnode+回车键显示帮助信息)
常见
rosnode list
用来把所有系统当中的节点都列出来的指令
rosnode info
用来查看某个节点的具体信息是怎样的
例:rosnode info /turtlesim
2.rostopic
跟话题相关的参数的一个命令行工具
(一样可通过rostopic+回车键显示帮助信息)
rostopic list
打开当前系统的所有话题列表
现通过指令给该话题发布数据并让海龟运动
rostopic pub+话题名+消息的类型+消息的数据内容
pub就是发布数据给某一个话题
如何让海龟一直动?给其一个循环
-r :即频率,以多少频率去发布话题的数据内容;
例:-r 10 一秒钟发布10次20米每秒的指令
(ctrl+c 停下指令)
如何具体看一下现发布的话题的Twist消息的结构?
3.rosmsg
与消息相关的命令行工具
rosmsg show
例:rosmsg show geometry_msgs/Twist
4.rosservice
(服务相关的命令行的使用方式)
rosservice list
作用:查看当前仿真器里提供的所有服务的内容,这些服务的服务端均为仿真器,我们现用的终端作为客户端去请求某服务
其中spawn
意为:产生,诞生
该服务是用来产生一只新的海龟
如何同时使两只海龟同时存在?
rosservice call
调用,发布请求
例:rosservice call /spawn(双击tab键自动补全服务类型和服务数据)
仿真界面左下角为坐标原点
x:产生新的海龟的x坐标
y:产生新的海龟的y坐标
theta: 海龟诞生中的角度
name:产生海龟的名字
回车创建,其后新增一行为反馈信息
再次打开当前系统的所有话题列表查看
同样可以类上控制两个海龟运动
总结:
5.话题记录
rosbag record -a -O
可记录保存当前系统里所有话题数据,待下次用到可复现出来
使用场景举例:
有一无人机想做调试,但是不可能每一次都让飞机飞起来然后做数据的调试,这样很不方便,一般大家会做一次飞行,飞行时会把所有的数据保存下来然后回到实验室将这些所有数据复现出来在做实验,所以后面的实验和真机飞行没有关系了,都是使用之前已经采集好的数据
例如:rosbag record -a -O cmd_record
注释:rosbag record -a(即-all意思) -O(意为将保存数据保存成为一压缩包) cmd_record(该压缩包叫什么名字)
表示已经在订阅这样一些数据的内容
海龟运动结束后,ctrl+c保存;数据会放在当前终端的默认路径下面,home/压缩包名
6.话题复现
rosbag plag cmd_record.bag
复现:
关掉之前的所有内容,重新启动roscore和仿真器节点rosrun turtlesim turtlesim_node,不启动键盘控制节点,现通过数据包复现刚才已经录好的指令——输入rosbag plag cmd_record.bag(后跟文件名),回车后点击虚拟机即可复现,可见该海龟将按照刚才录好的指令去做运动
ROS入门-6.ROS 命令行工具的使用相关推荐
- ROS入门之使用命令行工具控制小海龟移动
前面的文章主要是说明一下ROS入门需要了解的基本概念,这篇文章则是要说明一下如何使用命令行工具. 2.1 命令行工具的使用 ROS有很多常用命令:rostopic.rosservice.rosnode ...
- 【ROS入门学习01| ROS命令行工具的使用】
ROS命令行工具的使用 -----------------可以配合古月居的ROS入门教程来学习实践. 文章目录 ROS命令行工具的使用 一.roscore 二.rosrun 三.rqt_graph 四 ...
- ROS2学习(十一).ROS概念 - 命令行工具的使用
命令行工具 概述 用法 样例 其他说明 实现 概述 ROS 2包含有一系列的命令行工具用以对ROS 2系统观测. 用法 命令ros2是所有命令的入口,它具有各种子命令,用于观察并处理节点.主题.服务等 ...
- go Cobra命令行工具入门
简介 Github:https://github.com/spf13/cobra Star:26.5K Cobra是一个用Go语言实现的命令行工具.并且现在正在被很多项目使用,例如:Kubernete ...
- 【ROS基础】Linux命令行
系列文章目录 [ROS基础]Linux 命令行 [ROS基础].launch 文件语法记录 [ROS基础]CMakeLists.txt 文件语法记录 [ROS基础]Package.xml 文件语法记录 ...
- Vue入门教程:node安装vue命令行工具及启动项目
安装淘宝npm镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 全局安装vue命令行工具 cnpm install - ...
- SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人"miiboo"中的大部分程序也采用ROS进行开发,所 ...
- SLAM导航机器人零基础实战系列:(二)ROS入门——2.ROS系统整体架构
SLAM导航机器人零基础实战系列:(二)ROS入门--2.ROS系统整体架构 摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机 ...
- 通过命令行工具使用阿里云资源编排服务
资源编排ROS 是一种简单易用的云计算资源管理和自动化运维服务.用户通过模板描述多个云计算资源的依赖关系.配置等,并自动完成所有资源的创建和配置,以达到自动化部署.运维等目的. 了解更多 通过命令行工 ...
最新文章
- 最常用的Python爬虫和数据分析常用第三方库,收藏吧
- MFC 网络编程 -- 总结
- c 复杂的前置后置面试题_OPPO Reno拆解:优秀工艺由外而内,复杂用料不负旗舰之名...
- 网络短视频内容审核趋严!短视频不得未经授权剪辑影视剧
- 【linux】linux 查找 或者 搜索 文件 find
- Ubuntu“ System Program Problem Detected”问题
- [转]需求分析的20条法则(本节摘自软件工程专家网)
- 基于STM32F427的模拟SSI协议绝对式编码器位置反馈通信
- matlab图片测量尺寸_基于视觉的零件尺寸测量方法
- simulink 菜单栏 不见了
- 如何鉴别虚拟主机好坏
- vue 表格时间格式化_表格格式
- 京东E卡购买api接口
- JVM - 进入Java虚拟机的真实世界
- linux中dd命令详解,Linux dd命令详解
- 制作破壳而出的漂亮MM
- 比尔盖兹退休告别演说:下个数位十年
- 阿里云 linux服务器安装tomcat(图文详解)
- 第十二篇:适配器模式 : 农村小伙娶乌克兰美女语言不通 翻译软件立功
- 华为手机备份的通讯录是什么文件_华为手机通讯录在哪个文件夹?怎么恢复华为手机通讯录...