介绍一下ROS常用的命令<rosnode和rostopic实操>(一)

目录

  • 前言
    • 一、准备工作
      • 1.打开终端,运行roscore
      • 2.再打开两个新终端,发布和订阅话题
    • 二、rosnode命令
      • 2.1 rosnode list:列出正在运行的节点
      • 2.2 rosnode ping:查看节点是否连接成功
      • 2.3 rosnode info:打印节点信息
      • 2.4 rosnode kill:清除正在运行的节点
      • 2.5 rosnode cleanup:清除僵尸节点
    • 三、rostopic命令
      • 3.1 rostopic list:列出正在运行的话题
      • 3.2 rostopic echo:打印发布的消息到终端
      • 3.3 rostopic type:显示话题消息类型
      • 3.4 rostopic pub:向订阅者发布消息


前言

准备介绍一下ROS中常用的几个命令,先来rosnode和rostopic,下文将使用前面的话题发布与订阅功能包进行命令的测试,还没有发布和订阅过话题的小伙伴欢迎回顾这篇文章–>话题发布与订阅


一、准备工作

1.打开终端,运行roscore

在这里插入图片描述

2.再打开两个新终端,发布和订阅话题

发布话题

cd sor_ws
source ./devel/setup.bash
rosrun learning_topic person_publisher

在这里插入图片描述
订阅话题

cd sor_ws
source ./devel/setup.bash
rosrun learning_topic person_subscriber

在这里插入图片描述

二、rosnode命令

2.1 rosnode list:列出正在运行的节点

打开新终端,输入rosnode list,可以看到有三个节点,person_publisherperson_subscriber就是话题节点
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第1张图片

2.2 rosnode ping:查看节点是否连接成功

输入rosnode ping 节点名称,例如rosnode ping /person_subscriber
如果看到不断有一行一行的信息出现就说明连接成功
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第2张图片

2.3 rosnode info:打印节点信息

输入rosnode info 节点名称,例如rosnode info /person_subscriber
会显示这个节点的发布、订阅、服务等等信息
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第3张图片

2.4 rosnode kill:清除正在运行的节点

刚才用rosnode list显示了发布和订阅节点,我们清除其中一个比如person_publisher,输入rosnode kill /person_publisher,可以看到原来发布话题消息的终端停止了,说明节点已经被清除了
在这里插入图片描述
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第4张图片

2.5 rosnode cleanup:清除僵尸节点

使用小海龟控制程序演示,输入rosrun turtlesim turtlesim_node启动小海龟显示节点
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第5张图片
再输入rosrun turtlesim turtle_teleop_key启动键盘控制节点
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第6张图片
输入rosnode list,发现有两个是我们启动的节点
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第7张图片
现在按Ctrl+C退出显示小海龟节点的命令
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第8张图片
再输入rosnode list发现/turtlesim节点还在,并未随着终端关闭而消失,这就是僵尸节点,可以输入命令rosnode cleanup /turtlesim把节点彻底清掉
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第9张图片

介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第10张图片
还有一些命令不太常用就不一一介绍了,输入rosnode,回车,可以显示所有可使用的命令
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第11张图片

三、rostopic命令

首先还是先运行发布和订阅话题

3.1 rostopic list:列出正在运行的话题

输入rostopic list,显示三个话题,/person_info是我们发布订阅的话题名称,后两个是与日志相关的话题,不用管
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第12张图片

3.2 rostopic echo:打印发布的消息到终端

新开一个终端,输入

cd sor_ws
source ./devel/setup.bash
rostopic echo /person_info

可以看到打印出了和话题一样的消息
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第13张图片

3.3 rostopic type:显示话题消息类型

格式是:rostopic type 话题名,可以显示这个话题的消息类型,例如输入rostopic type /person_info
可知当前话题的消息类型为learning_topic/person
在这里插入图片描述

3.4 rostopic pub:向订阅者发布消息

这个命令和消息的发布者类似,可以直接在终端中发布消息让订阅者订阅
格式是:rostopic pub 话题名 消息类型,例如发布一条自定义消息,首先Ctrl+C把发布者的终端命令关闭,再输入rostopic pub /person_info learning_topic/person点击tab键(不是回车),会出现三行消息,用键盘的左右键移动到数据前修改,改好后回车,在订阅者终端中就出现了一条自定义消息
在这里插入图片描述
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第14张图片
输入rostopic pub -r 可以设置发布频率,例如rostopic pub -r /person_info learning_topic/person表示一秒钟发布10次话题消息
另外,输入rostopic,回车,可以显示所有可使用的命令


希望文章对你有帮助,别忘了点赞收藏~
介绍一下ROS常用的命令<rosnode和rostopic实操>(一)_第15张图片

你可能感兴趣的:(ROS入门学习,ubuntu,c++,经验分享)