ROS学习(1):初识小海龟

ROS的安装以及环境的配置就不多做解释了,搜素一下就有
ros优秀文章https://www.jianshu.com/u/143c9c8061ec

1.启动ROS

roscore

在这里插入图片描述
出现这样结果证明ros已经启动,接下来便是启动小海龟节点。

2.启动小海龟节点

重新打开一个终端输入:

rosrun turtlesim turtlesim_node 

rosrun:启动新的节点
turtlesim:功能包
turtlesim_node:功能包下的节点
在这里插入图片描述
出现如图所示的小海龟,证明节点启动成功。

3.启动键盘控制

rosrun turtlesim turtle_teleop_key

将鼠标放在终端上,通过上下左右键控制乌龟行走路线,如图:
在这里插入图片描述
在这里插入图片描述

4.可视化工具rqt

(1)rqt_graph

 rqt_graph

正在运行的节点,如图所示:
在这里插入图片描述

(2)rqt_plot

rqt_plot

5.节点信息

rosnode的几种用法:
rosnode list:查看正在运行的节点
rosnode info node 查看此节点信息
rosnode kill node 杀死此节点

  1. rosnode list:查看正在运行的节点
    在这里插入图片描述
    /rosout:这个节点是随着ros运行而启动的
    /teleop_turtle:键盘的节点
    /turtlesim:小乌龟的节点

  2. rosnode info /turtlesim 查看小乌龟节点信息
    在这里插入图片描述
    可以看到节点的发布,订阅,话题和服务等各种信息

6.主题与节点交互(rostopic)

常用的rostopic的用法:
1.rostopic list 查看主题清单
2.rostopic echo TOPIC 将主题发布的消息输出到屏幕
3.rostopic type TOPIC 输出主题类型
4.rostopic pub TOPIC 将数据发布到主题

(1)查到主题清单

在这里插入图片描述
可以看到正在/turtlesim下的主题清单如上图所示。

(2)查看两个节点信息

rosnode info /teleop_turtle

键盘发布者:Publications中有一个主题:/turtle1/cmd_vel [geometry_msgs/Twist]
在这里插入图片描述

rosnode info /turtlesim

小乌龟订阅者:Subscriptions中有一个订阅主题:/turtle1/cmd_vel [geometry_msgs/Twist]
在这里插入图片描述
由上两种结果可知,第一个节点是先发布/turtle1/cmd_vel [geometry_msgs/Twist]主题,之后第二个节点订阅了这个消息。

(3)通过echo查看节点通过话题发出的消息

rostopic echo /turtle1/cmd_vel

然后通过键盘控制小海龟移动,之后终端则会显示linear(线速度)和angular(角速度):
在这里插入图片描述

(4)使用pub发布主题

要想使用pub发布消息,首先我们要知道需要发送什么类型的消息。

终端输入:

rostopic type /turtle1/cmd_vel

查看出类型是:geometry_msgs/Twist
在这里插入图片描述
现在重新打开一个小乌龟节点,不开启键盘控制,通过pub直接发布消息控制,命令如下:

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:
  x: 5.0
  y: 5.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 1.0" 

小乌龟的运动轨迹:
在这里插入图片描述
若要小乌龟不停转,命令如下:

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 "linear:
  x: 2.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 1.0"

看到一直在转圈
在这里插入图片描述

6.使用服务(rosservice)

(1)查看正在运行的/turtlesim的服务清单

rosservice list

如下显示:
在这里插入图片描述

(2)查看/spawn服务

rosservice info /spawn

在这里插入图片描述

Node:当前节点
URI:rosrpc://zhaohua:48701
Type:服务类型
Args:服务参数

(3)调用服务

rosservice call /spawn "x: 3.0
y: 3.0
theta: 0.0
name: 'haigui2'"

在x=3,y=3,角度为0的地方创建了另外一个小海龟2
在这里插入图片描述

上面就是我对ros小海龟的初学体验,欢迎指导!

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值