ROS2极简入门
前言
ROS2通过Action通信实现控制反馈
一、Action和系统控制
系统的控制就是利用反馈减小系统误差,而Action的三大组成目标、反馈和结果就是为控制而生。
Action包含三个服务和两个话题:
三个服务分别是:1.目标传递 2.结果传递 3.取消执行
两个话题:反馈话题和状态话题
二、启动乌龟模拟器
ros2 run turtlesim turtlesim_node
1.action列表
先获取目前系统中的action列表
ros2 action list -t
可以查看到action的类型
/turtle1/rotate_absolute [turtlesim/action/RotateAbsolute]
2.使用绝对旋转(Action)控制小乌龟
控制乌龟旋转180度,需要注意参数是弧度制
ros2 action send_goal /turtle1/rotate_absolute turtlesim/action/RotateAbsolute "{theta: 3.14}"
很明显我们可以看到乌龟的旋转目标和结果。
如果我们需要反馈信息feedback,只需要加入参数–feekback
ros2 action send_goal /turtle1/rotate_absolute turtlesim/action/RotateAbsolute "{theta: 3.14}" --feedback
总结
我们现在已经初步了解了话题topic、服务service和action,已经可以进入更深层次的学习了。