共两部分:Server和Client
1.SimpleActionServer:actionlib_tutorials/Tutorials/SimpleActionServer(ExecuteCallbackMethod) - ROS Wiki
2.SimpleActionClient:
actionlib_tutorials/Tutorials/SimpleActionClient - ROS Wiki
第一部分:使用Execute回调编写简单操作服务器
Description:本教程介绍如何使用simple_action_server库创建斐波那契动作服务器。此示例操作服务器生成斐波那契序列,目标是序列的顺序,反馈是计算的序列,结果是最终序列。
1.创建Action Messages
在编写Action之前,定义目标、结果和反馈信息非常重要。创建的.action文件中定义了Action的目标、结果和反馈话题的类型和格式。
1)创建actionlib_tutorials/action/Fibonacci.action文件:
#goal definition
int32 order
---
#result definition
int32[] sequence
---
#feedback
int32[] sequence
2).修改CMakeList.txt
·添加actionlib_msgs包到find_package宏变量里面:
find_package(catkin REQUIRED COMPONENTS actionlib_msgs)
·使用add_action_files宏声明要生成的操作:
add_action_files(
DIRECTORY action
FILES Fibonacci.action
)
·调用generate_messages宏,不要忘记对actionlib_msg和其他消息包(如std_msg)的依赖关系:
generate_messages(
DEPENDENCIES actionlib_msgs std_msgs # Or other packages containing msgs
)
·将actionlib_msg添加到catkin_package宏,如下所示:
catkin_package(
CATKIN_DEPENDS actionlib_msgs
)
注意:有时您必须设置package.xml文件,因为我们正在生成消息,所以您必须在清单文件上声明,在运行时您必须生成消息。您可以插入下面的行。
<exec_depend>message_generation</exec_depend>
按下面步骤在你的action文件夹中创建msg文件:
$ cd ../.. # Go back to the top level of your cat

7550

被折叠的 条评论
为什么被折叠?



