ROS:一些基本命令行

一、打开小海龟

1.1终端,启动ROS Master:

roscore

在这里插入图片描述

1.2终端2,启动小海龟仿真器:

rosrun turtlesim turtlesim_node

在这里插入图片描述
输入rosrun turtlesim,敲两下Tab健可查看该命令下有哪些功能

1.3终端3,启动海龟控制节点:

rosrun turtlesim turtle_teleop_key

在这里插入图片描述

二、查看系统中的计算图

新建终端窗口:

rqt_graph

可展示系统中运行的计算图:
在这里插入图片描述
可以清晰地了解系统节点间通信的部分信息。
teleop_turtle节点(键盘控制节点)通过cmd_vel(topic)向turtlesim节点(海龟仿真器节点)发出消息,使得小海龟移动。

三、节点命令

3.1查看节点下的命令rosnode

rosnode

在这里插入图片描述

3.2显示节点列表rosnode list

rosnode list

在这里插入图片描述
可以看到有3个节点

3.3查看节点信息rosnode info /节点名

rosnode info /节点名

我们查看海龟仿真器节点/turtlesim的信息:

rosnode info /turtlesim

在这里插入图片描述
可以看到海龟仿真器节点/turtlesim自己有一些发布和订阅,也有一些服务

四、话题命令

rostopic命令工具能让你获取ROS话题的信息。

4.1查看话题命令rostopic

rostopic

在这里插入图片描述
在这里插入图片描述

4.2显示topic列表rostopic list

# (1) 列出当前已被订阅和发布的所有话题。
rostopic list
# (2) 列出所有发布和订阅的主题及其类型的详细信息。
rostopic list -v

在这里插入图片描述

4.3把数据发布到当前某个正在广播的话题上rostopic pub

rostopic pub (参数) 话题名 消息数据结构 “具体数据”
# 命令会发送一条消息给turtlesim,告诉它以2.0大小的线速度和1.8大小的角速度移动。
rostopic pub  /turtle1/cmd_vel geometry_msgs/Twist “linear [2.0, 0.0, 0.0]  [0.0, 0.0, 1.8]"

/turtle1/cmd_vel:这是要发布到的话题的名称
geometry_msgs/Twist:这是发布到话题时要使用的消息的类型。

还有一种快速输入的方法:先输入以下命令,然后双击Tab键,最后使用<-和->键修改linear和angular。

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist 

在这里插入图片描述
下面我们用 rostopic pub -r 命令来发布源源不断的命令:

# 命令以10Hz的频率发送消息给turtlesim,保证乌龟持续做圆周运动
rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist “linear [2.0, 0.0, 0.0]  [0.0, 0.0, 1.8]"

在这里插入图片描述
在这里插入图片描述

五、查看消息数据结构

上例我们使用了消息数据结构定义了一个消息传给topic,我们可以查看有哪些消息数据结构。
查看消息数据结构使用:

rosmsg show …

在输入过程中,我们可以勤使用Tab键查看或填充内容。
在这里插入图片描述

六、服务通信

上面的例子我们使用了向topic传msg来控制节点,这次我们试试第二种通信方式service。

6.1查看服务列表rosservice list

rosservice list

在这里插入图片描述

6.2手动通过服务来进行操作rosservice call

这次我们通过人工产生服务(service)来诞生一只新海龟,使用rosservice call /spawn …
在服务列表中,有个/spawn服务,可以产生一只新的海龟。
格式:

rosservice call (参数) 服务名 “具体数据”

在这里插入图片描述
这时我们再输入rostopic list,可以看到turtle2已经在topic里了
在这里插入图片描述

七、话题记录和复现rosbag

试想我们尝试让海龟以我们指定的路径移动了一回,我们想要把它 记录下来,拷贝到自己的实验室再复现出来,我们就可以使用话题记录功能。
常用命令

rosbag record -a -O 文件名

比如我们使用之前打开的键盘操作器让海龟移动一圈并记录下来:
(1)打开新终端输入

rosbag record -a -O cmd_record

这样就开始记录了:
在这里插入图片描述
(2)移动一下
(3)到记录界面按Ctrl+C停止,文件就记录了
在这里插入图片描述
(4)接下去关闭所有打开的ros节点
重新开启roscore
在这里插入图片描述

开启海龟节点rosrun turtlesim turtlesim_node
在这里插入图片描述

这时我们输入

 rosbag play cmd_record

就可以复现之前的移动啦
在这里插入图片描述
参考视屏:古月居ROS入门21讲
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_27928443/article/details/130918261
今日推荐