ROS学习笔记三(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,而不再运行键盘控制器,使用该命令,复现刚才的话题数据。
我们发现小海龟按照刚才的轨迹自动进行了移动。
标签:话题,笔记,小海龟,rostopic,命令行,工具,ROS,节点,运行 来源: https://blog.csdn.net/weixin_44911075/article/details/114121703