在开始actionlib教程之前,我们需要花费一些时间来创建一个示例包并在该包下运行教程代码。创建一个示例包并添加如下依赖:

$ cd %YOUR_CATKIN_WORKSPACE%/src
$ catkin_create_pkg actionlib_tutorials actionlib message_generation roscpp rospy std_msgs actionlib_msgs

(如果你对创建catkin包不熟悉,查阅创建一个catkin包教程。(在那个界面,不要忘记选择catkin作为编译系统)。

$ roscd tutorials
$ roscreate-pkg learning_actionlib actionlib roscpp rospy roslib std_msgs actionlib_msgs

确保learning_actionlib目录在你的ROS_PACKAGE_PATH中。在learning_actionlib/CMakeLists.txt中取消rosbuild_genmsg()注释,然后编译它:

$ rosmake learning_actionlib

(注意:这些教程要求common-0.5.0或更高版本)

基础教程

  1. 使用Execute Callback编写一个简单的行为服务器

    这个教程涵盖了使用simple_action_server库来创建一个Fibonacci行为服务器。这个行为服务器教程会生成一个Fibonacci序列、目标的顺序序列、自身计算的反馈序列和最后序列的结果。

  2. 编写一个简单行为客户端

    这个教程涵盖了使用simple_action_client库来创建一个Fibonacci行为客户端。这个示例程序创建一个行为客户端并且发送一个目标到行为服务器。

  3. 运行行为客户端和服务器

    本教程涵盖了运行Fibonacci服务器和客户端,随后通过可视化工具查看输出通道和节点图。

  4. 使用Execute Callback (Python)编写一个简单的行为服务器

    本教程涵盖了使用simple_action_server库来创建一个Fibonacci行为服务器,以Python的形式。这个行为服务器示例会生成一个Fibonacci序列、目标序列、完成反馈序列和最终结果序列。

  5. 编写一个简单的行为客户端(Python)

    本教程涵盖了使用action_client库和Python创建一个Fibonacci简单行为库。

中级教程

  1. 使用目标回调方法(Goal Callback Method)编写一个简单的行为服务器

    本教程涵盖了使用simple_action_server库来创建一个平均行为服务器。该示例展示了如何使用行为来处理或反应从ros节点中传来的数据。行为服务器平均来自ros节点的数据,目标是将多组示例去平均,反馈是简单数字、简单数据、当前平均和当前标准差,以及平均后的结果和简单数字请求的标准差。

  2. 编写一个简单客户端线程

    本教程涵盖了使用simple_action_client库来创建一个平均行为客户端。示例程序循环一个线程,创建一个行为客户端,然后发送目标到行为服务器。

  3. 使用其他节点运行行为服务器和客户端

    本教程涵盖了使用其他节点运行一个平均服务器和客户端,然后可视化查看输出通道和节点图。

高级教程

  1. 编写一个基于SimpleActionClient的回调函数

    相比一个简单的线性脚本,使用回调函数的示例程序流会更复杂。

创建一个新教程

Wiki: cn/actionlib_tutorials/Tutorials (last edited 2017-03-19 07:37:57 by Playfish)