[Documentation] [TitleIndex] [WordIndex

Two sets of tutorials have been created for the actionlib package in addition to the tutorials listed below. You can browse these tutorials by roscd-ing to the actionlib_tutorials or turtle_actionlib package, i.e.

roscd actionlib_tutorials
roscd turtle_actionlib

Workspace Setup

If you have not yet created a workspace in which to complete the tutorials, click here for some brief instructions .

Before starting any of the actionlib tutorials take the time to create a scratch package to work in and manipulate the example code. Create a sandbox package with the following dependencies:

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

(If you're not familliar with creating catkin packages, see Creating_a_catkin_Package tutorial (in that page, don't forget to choose catkin as build system).

Beginner Tutorials

In C++

  1. Writing a Simple Action Server using the Execute Callback

    This tutorial covers using the simple_action_server library to create a Fibonacci action server. This example action server generates a Fibonacci sequence, the goal is the order of the sequence, the feedback is the sequence as it is computed, and the result is the final sequence.

  2. Writing a Simple Action Client

    This tutorial covers using the simple_action_client library to create a Fibonacci action client. This example program creates an action client and sends a goal to the action server.

In Python

  1. Writing a Simple Action Server using the Execute Callback (Python)

    This tutorial covers using the simple_action_server library to create a Fibonacci action server in Python. This example action server generates a Fibonacci sequence, the goal is the order of the sequence, the feedback is the sequence as it is computed, and the result is the final sequence.

  2. Writing a Simple Action Client (Python)

    This tutorial covers using the action_client library to create a Fibonacci simple action client in Python.

Execution

  1. Running an Action Client and Server

    This tutorial covers running the Fibonacci server and client then visualizing the channel output and node graph.

  2. Send a Goal to Action Server without Action Client

    This tutorial shows ways of send a Goal to an Action Server without the need of create an Action Client.

Intermediate Tutorials

  1. Writing a Simple Action Server using the Goal Callback Method

    This tutorial covers using the simple_action_server library to create an averaging action server. This example shows how to use an action to process or react to incoming data from ros nodes. The action server averages data from a ros node, the goal is the number of samples to average, the feedback is the sample number, the sample data, the current average, and current standard deviation, and the result is the average and standard deviation of the requested number of samples.

  2. Writing a Threaded Simple Action Client

    This tutorial covers using the simple_action_client library to create a averaging action client. This example program spins a thread, creates an action client, and sends a goal to the action server.

  3. Running an Action Server and Client with Other Nodes

    This tutorial covers running the averaging action server and client with another data node then visualizing the channel output and node graph.

Advanced Tutorials

  1. Writing a Callback Based SimpleActionClient

    Example of using callbacks for program flow that's more complicated than a simple, linear script.

Create a new tutorial


2025-01-18 13:11