没有合适的资源?快使用搜索试试~ 我知道了~
首页ROS2官网教程学习笔记理解ROS2 actions动作
ROS2官网教程学习笔记理解ROS2 actions动作背景准备条件学习内容1. 启动节点2. 使用 actions动作3. ros2 node info4. ros2 action list4.1 ros2 action list -t5. ros2 action info6. ros2 interface show7. ros2 action send_goal总结 学习目标: 了解ROS2 actions动作 背景 actions动作是ROS2用于耗时比较长的一种通讯方式。主要由三部分组成: 目标(goal)、结果(result)、反馈(feedback) actions动作基于话题
资源详情
资源评论
资源推荐

ROS2官网教程学习笔记理解官网教程学习笔记理解ROS2 actions动作动作
ROS2官网教程学习笔记理解官网教程学习笔记理解ROS2 actions动作动作背景准备条件学习内容1. 启动节点2. 使用 actions动作3. ros2 node info4.
ros2 action list4.1 ros2 action list -t5. ros2 action info6. ros2 interface show7. ros2 action send_goal总结
学习目标: 了解ROS2 actions动作
背景背景
actions动作是ROS2用于耗时比较长的一种通讯方式。主要由三部分组成: 目标(goal)、结果(result)、反馈(feedback)
actions动作基于话题和服务,它的功能和服务类似,除了它是可以被抢占的(可以在执行时取消它)。而且还提供稳定过程的反
馈,而不是向服务一样只进行单一响应反馈。
actions动作使用客户端-服务器模型,类似于发布-订阅模型。客户端节点(action client)向服务器节点(action server)发送一个
目标,服务端节点确认目标并返回一个反馈流和一个结果。
准备条件准备条件
需要按照turtlesim篇的软件,了解节点话题和服务的概念
学习内容学习内容
1. 启动节点启动节点
和之前一样先启动两个节点
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
2. 使用使用 actions动作动作
当我们启动/teleop_turtle节点的时候我们可以看到下面这样的信息
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.
第二行所说的功能就指的是actions动作。
到了这里我得吐槽一下turtle_teleop_key这个节点,不知道是电脑问题还是上面其他原因这个节点在我电脑上CPU占用非常
高,而且记得在使用actions动作相关功能的时候键盘要用小写键盘不要用大写,否则没效果。
这里面简单进行一下说明G|B|V|C|D|E|R|T这几个键在F键周围一圈,代表乌龟的8个绝对方向,依次变换45°
当我们在键盘控制的终端(/teleop_turtle)按下一个键的时候就往actions动作服务器乌龟(/turtlesim)发送一个目标,当乌龟转到设
定的角度的时候就会乌龟的终端就会显示下面的消息
[INFO] [turtlesim]: Rotation goal completed successfully
我们通过F键可以看到actions动作可以被打断的特性,随便按下一个键让乌龟转起来,在没有到达目标角度之前按下F,我们
会在乌龟的终端看到下面的消息
[INFO] [turtlesim]: Rotation goal canceled
此外actions动作还有一个特性就是只执行最新的目标,当我们连续按下目标角度的时候,新的目标值会覆盖之前的目标,例
如按下D马上又按下G,我们在乌龟的终端会看到下面的输出。
[WARN] [turtlesim]: Rotation goal received before a previous goal finished. Aborting previous goal
3. ros2 node info
我们查看/turtlesim节点的详细信息
ros2 node info /turtlesim
我们得到有关/turtlesim节点相关信息
/turtlesim
Subscribers:
/parameter_events: rcl_interfaces/msg/ParameterEvent
/turtle1/cmd_vel: geometry_msgs/msg/Twist
Publishers:
/parameter_events: rcl_interfaces/msg/ParameterEvent
/rosout: rcl_interfaces/msg/Log
/turtle1/color_sensor: turtlesim/msg/Color
/turtle1/pose: turtlesim/msg/Pose
Services:
/clear: std_srvs/srv/Empty
/kill: turtlesim/srv/Kill

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0