ROS小乌龟的多种玩法
基础玩法
键盘控制一个小乌龟的运行,不要用crtl+c粘贴,因为ROS里面这是停止的指令
- roscore
- rosrun turtlesim turtlesim_node
- rosrun turtlesim turtle_teleop_key
依次输入就能用键盘控制小乌龟运动
ps:每次输入一个指令以后不要关闭页面,按下crtl+alt+t新建一个终端



查看内在原理
输入代码,查看现在有几个话题
rostopic list
可以看到这里有五个话题,其中我们主要关注的是第三个

我们打印一下这个话题的内容
rostopic info /turtle1/cmd_vel
可以看到有三部分
type是数据格式
/teleop_turtle是键盘输入的意思
/turtlesim是小乌龟

我们继续查看具体的格式
rosmsg show geometry_msgs/Twist
linear是长度
angular是角度
小乌龟是二维物体,只有长度的x和角度的z,所以我们只需要改这两个参数

但是只有这样不行,我们还需要查看通信过程中小乌龟具体接收到了那些指令
rostopic echo /turtle1/cmd_vel
现在可以在右边的终端上看到数据了
ps:想要控制小乌龟就要用鼠标点到刚才输入键盘控制的那个终端上

用指令驱动小乌龟
现在我们已经得知了小乌龟的基本信息,现在就要进行控制
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:
x: 5.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0"
输入这个就可以让小乌龟进行前进,我们可以从刚才的终端里查看到具体的数据

创造另一只小乌龟
这里我们需要查看服务器,在服务器指令里创立
rosservice call /spawn "x: 5.0
y: 5.0
theta: 0.0
name: 'zhou'"

现在我们也可以通过指令驱动第二个小乌龟(三头)
首先查看一下三头的话题
rostopic list

按照刚才的办法输入代码
rostopic pub /zhou/cmd_vel geometry_msgs/Twist "linear:
x: 3.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0"

可以看到我们左边这个终端没有刷新,因为左边看的是第一只小乌龟,并不是三头乌龟
有兴趣的可以重新开个终端查看一下
尝试用rqt驱动小乌龟
在终端中输入rqt,现在屏幕里出现了一个空白窗口
rqt
查找下面这个东西

打开以后我们会看见topic页面,我们可以通过这个简易的控制小乌龟
但是一定要按照代码输入那样寻找到小乌龟的代号
下面方框打对勾就是循环运行,不打对勾就是不运行

如果要创建一个新的乌龟就要查找服务器

在下面输入想要的参数按下call就能建立一个新的海龟

好了撒花完结!
本文介绍了如何使用ROS(RobotOperatingSystem)控制小乌龟,包括键盘输入、查看topic信息、使用`cmd_vel`发送指令,以及通过rqt界面进行可视化操作。步骤包括创建、移动和控制多个小乌龟实例。

被折叠的 条评论
为什么被折叠?



