ROS海龟的常见玩法

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ROS小乌龟的多种玩法

基础玩法

键盘控制一个小乌龟的运行,不要用crtl+c粘贴,因为ROS里面这是停止的指令

  1. roscore
  2. rosrun turtlesim turtlesim_node
  3. 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就能建立一个新的海龟
在这里插入图片描述
好了撒花完结!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值