ROS2教程(入门级):理解ROS 2的动作(action)

目标: 介绍ROS 2中的动作。

背景知识

动作是ROS 2 中用来沟通的类型之一。 他是为长时间运行的任务准备的。 它包括三个部分:目标,反馈以及结果。

动作是在话题和服务的基础上构建的。 它的功能类似于服务,但是动作是可以抢占的,意思是, 你可以在节点运行时,取消动作。 他同时能够提供稳定的反馈,不像服务,每次都只返回一个回复。

动作同样使用的是客户端+服务器的模式,类似于发布器与订阅器的模式。 一个动作的客户端节点发送一个目标到一个动作的服务器节点, 服务器节点会确认收到这个目标并且返回一个反馈流和一个结果。

action

前提条件

这个教程建立在一些概念上,比如说,节点话题以及服务。这个教程会使用到turtlesim package,并且不要忘记在启动的每个新的终端上source ROS 2。如何你对上面的内容还没看过的,可以戳一下,过去了解一下。

任务

1. 设置

启动两个turtlesim的节点, /turtlesim/teleop_turtle

打开一个新的终端,并且运行下面的指令:

ros2 run turtlesim turtlesim_node

打开另一个终端,并且运行下面的指令:

ros2 run turtlesim turtle_teleop_key

2. 使用动作

当你启动这个节点,你会看到你的终端上会打印出下面的信息:

Use arrow keys to move the turtle.
Use G|B|V|C|D|E|R|T keys to rotate to absolute orientations. 'F' to cancel a rotation.

让我们关注第二行,第二行是跟一个动作有关系的,(第一行是跟“cmd_vel”这个话题相关的,我们在之前的教程里面提到过)。

Let’s focus on the second line, which corresponds to an action. (The first instruction corresponds to the “cmd_vel” topic, discussed previously in the topics tutorial.)

我们可以看到: G|

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值