Sending goals
We have played around with the robot by moving it around the map using RViz and its interface. Although it is interesting and fun, it's a little tedious and not very functional.
Getting ready
Alternatively, we can program a list of waypoints and send them to the robot with only the press of a button, even when we are not in front of a computer with RViz. In this section, we will learn how to do this by using actionlib
. We already discussed actionlib
in Chapter 3, ROS Architecture and Concepts - II.
However, actionlib
has a very similar interface to services, but if the server is taking a long time to process the request, the client can cancel the request during execution. In addition, it will also be receiving periodic feedback about how the request is progressing.
How it works…
Next, we will create a new file with the name sendGoals.cpp
in the chapter7_tutorials/src
folder and add the following code there:
#include <ros/ros.h> #include <move_base_msgs/MoveBaseAction.h...