本文主要是介绍古月居ros入门21讲——第八讲ROS命令行工具的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.运行如下代码片(分别在三个命令行中输入)
roscore //启动 master节点
rosrun turtlesim turtlesim_node //创建一个海龟节点
rosrun turtlesim turtle_teleop_key //创建对海龟的控制节点
此时就可以在运行rosrun turtlesim turtle_teleop_key的控制台用键盘的 ↑ ↓ ← →来控制海龟的移动
2.观察系统的计算图
输入如下命令:
rqt_graph
将会出现如下的图片
turtlesim是仿真器节点,teleop_turtle是键盘控制节点,中间的turtle1/cmd_vel则是通讯节点
3.rosnode相关命令
直接输入rosnode然后点击回车可以看到使用该命令可以携带的参数
rosnode_list
把所有的节点都列出来
除了上述提到的teleop_turtle和turtlesim节点之外,还有一个rosout节点,这是使用了roscore就会自动生成的一个节点
rosnode info +节点名称
显示该节点的相关信息
可以看到
Publications下面的是该节点发布的话题
Subscriptions下面的是该节点订阅的话题
Services下面的是该节点提供的一些服务
4.rostopic相关命令
rostopic list
可以列出当前所有的话题
rostopic pub +话题名称
通过终端来给指定的话题发送数据,注意使用tap键补全相关命令
linear:x,y,z分别代表该方向的线速度,单位为m/s
angular:x,y,z分别代表以对应方向为轴的角速度,单位为rad/s
用←→键移动光标并且修改值的大小,后按回车键,海龟就能做出对应的指令行为
这个命令只能发布一次的消息,故所以海龟运动一段路程后就停了下来
要使得海龟不断运动,需要不断发布指令,可以采取如下命令
rostopic pub -r 10 +话题名称
-r 10是指以10Hz的频率发布命令,故海龟可以不断地运动
5.rosmsg show + 话题名称
rosmsg show + 话题名称
可以展示该话题的数据结构
6.rosservice相关命令
rosservice list
展示所有的服务
rosservice call + 服务名称
请求指定的该服务内容,以==/spawn==服务为例,该服务可以产生一个新的海龟
7.rosbag相关命令
rosbag record -a -O cmd_record
-a是表示保存所有的信息 -O cmd_record表示保存的数据包的文件名
运行之后在控制台控制海龟的运动,该命令就会记录海龟的运动,用 ctrl+c可以退出此程序,此时会保存海龟的运动路径文件
rosbag play + 刚刚保存的海龟的运动路径文件名称
系统将会复现刚刚海龟的运动情况
这篇关于古月居ros入门21讲——第八讲ROS命令行工具的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!