The ActionServer is a helpful tool for managing goal requests to a node. It allows the user to specify callbacks that are invoked when goal or cancel requests come over the wire, and passes back GoalHandles that can be used to track the state of a given goal request. The ActionServer makes no assumptions about the policy used to service these goals, and sends status for each goal over the wire until the last GoalHandle associated with a goal request is destroyed
Thin wrapper around an enum in order to help interpret the client-side status of a goal request The possible states are defined the ClientGoalStatus::StateEnum. They are also defined in StateEnum. we can also get there from here
Wrapper around an STL list to help with reference counting Provides handles elements in an STL list. When all the handles go out of scope, the element in the list is destroyed
Encapsulates a state machine for a given goal that the user can trigger transisions on. All ROS interfaces for the goal are managed by the ActionServer to lessen the burden on the user