ROS学习笔记三(ROS命令行工具的使用)

ROS命令行工具

常用命令:

  • rostopic
  • rosservice
  • rosnode
  • rosparam
  • rosmsg
  • rossrv

以小海龟为例

运行roscore

在这里插入图片描述

运行turtlesim节点

在这里插入图片描述弹出小海龟:
在这里插入图片描述

运行turtle_teleop_key节点

在这里插入图片描述
完成。

rqt_graph指令

rqt开头的工具都是基于qt的可视化工具。
rqt_graph 用于显示系统计算图的工具。
在这里插入图片描述
弹出对话框:
在这里插入图片描述
椭圆形表示当前运行的节点,turtlesim为仿真器节点,teleop_turtle为键盘控制节点,两节点间通过话题turtle1/cmd_vel进行通讯,传输海龟速度信息。

rosnode 工具

用于显示系统内所有节点信息的指令

rosnode list

该命令列出系统内正在运行的节点:
在这里插入图片描述发现显示的节点信息与刚刚不同,而是多出了一个rosout,该节点是在ros环境下,启用roscore时默认启动的话题,用于采集ros内各个节点的日志信息,不必关心。

rosnode info

查看具体节点的信息。
在这里插入图片描述

rostopic 工具

用于查阅与话题相关的内容。

rostopic list

打印出系统所有的话题列表。
在这里插入图片描述

rostopic pub

发布数据给某一个话题,以上的/turtle1/cmd_vel话题即为键盘控制节点与仿真器节点的通信话题,我们可以通过rostopic pub发布数据给该话题,进而控制海龟。
在这里插入图片描述
双击Tab键可以进行自动补全,这样发布的指令后,小海龟确实以1m/s的线速度前进,但一段时间后海龟会自动停止,因为这样的消息只会发布一次,可以在pub后添加参数,指定消息的发布频率。
在这里插入图片描述
这次发现小海龟确实始终保持1m/s的线速度前进,直至撞墙。
过程中随时可以利用Ctrl+C终止当前任务。

rosmsg工具

可用于查看有关消息的内容。

rosmsg show

在这里插入图片描述这里可以显示出刚刚发布的消息的内容属性。

rosservice工具

查看有关服务的内容

rosservice list

在这里插入图片描述
打印当前系统内的服务列表。

rosservice call

发布请求调用服务。
我们看到/spawn是有关生成海龟的服务,可以利用该服务,同时生成两只海龟。
在这里插入图片描述同样利用双击Tab键,以补全信息。
此时屏幕中出现了两只海龟。
在这里插入图片描述

rosbag工具

话题记录工具,记录系统当前内的话题数据并保存,之后可进行复现,可用于无人机飞行数据复现。

rosbag record

在这里插入图片描述这里的-a表示记录所以话题的数据,-O表示将数据压缩为名称为随后参数的文件包。
运行后会显示正在监视的话题。
此时我们通过键盘控制小海龟,一段时间后Ctrl+C结束当前任务。这段时间发布的所有话题数据就会被记录下来。

rosbag play

该命令可将刚才存储的数据包复现,我们关闭之前的所有终端,重新打开roscore,运行turtlesim_node,而不再运行键盘控制器,使用该命令,复现刚才的话题数据。
在这里插入图片描述我们发现小海龟按照刚才的轨迹自动进行了移动。

猜你喜欢

转载自blog.csdn.net/weixin_44911075/article/details/114121703
今日推荐