ROS命令行工具的使用

一、命令行工具的使用


前言

在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是系统当中一个默认的话题,一般不需要关心

猜你喜欢

转载自blog.csdn.net/m0_64730542/article/details/124417238
今日推荐