mbed action lib kinetic
Hi All
The tutorial for action lib has these includes at the top:
1 #include <ros/ros.h>
2 #include <actionlib/server/simple_action_server.h>
3 #include <actionlib_tutorials/FibonacciAction.h>
I am trying to implement the tutorial on action lib on an mbed (nucleo F401RE)
There is a implementation of a ROS libarary on the mbed "roslibkinetic".
in the directory tree of that library is "actionlib" and action_lib tutorials.
The tutorial-specific FibonacciAction.h is in the correct directory. However, there does not appear to be "actionlib/server/simpleactionserver.h" as listed in the includes of the tutorial.
If there is no simpleactionserver.h, how do you implement the tutorial on an mbed?
Thanks for your help.
Kind regards
Matt
Asked by Unproductive on 2021-03-01 17:43:05 UTC
Answers
If there is no simple_action_server.h, how do you implement the tutorial on an mbed?
Unfortunately, you don't.
The tutorial you link to targets the roscpp variant of ROS 1, the things you're trying to use target rosserial. Those are two very different client libraries, and without someone porting actionlib
to be compatible with rosserial
, you cannot use it directly
The tutorial-specific FibonacciAction.h is in the correct directory. However, there does not appear to be "actionlib/server/simple_action_server.h" as listed in the includes of the tutorial.
FibonacciAction.h
is a header which most likely contains the goal/message definition. That's part of what's needed to use actionlib
, but not enough.
There are various related Q&As here on ROS Answers about using actionlib
with rosserial
. I'm not aware of what the state-of-the-art is here, so you might want to try and find those (tip: use Google and append site:answers.ros.org
to your query).
The various rosserial
issue trackers (Github) may also have information.
Edit: there is a way to implement an Action server without actionlib
, as in essence, it's "just" a set of topics and a state machine. I'm not aware of someone having implemented that in a generically reusable way for rosserial
though.
Asked by gvdhoorn on 2021-03-02 03:49:48 UTC
Comments