Template Class ActionServer
Defined in File action_server.hpp
Class Documentation
-
template<typename ActionT>
class utils::ActionServer An action server wrapper to make applications simpler using Actions.
Public Functions
-
template<typename NodeT>
inline explicit ActionServer(NodeT node, const std::string &action_name, ExecuteCallback execute_callback, CompletionCallback completion_callback = nullptr, std::chrono::milliseconds server_timeout = std::chrono::milliseconds(500), bool spin_thread = false, const rcl_action_server_options_t &options = rcl_action_server_get_default_options()) An constructor for ActionServer.
- Parameters
node – Ptr to node to make actions
action_name – Name of the action to call
execute_callback – Execution callback function of Action
server_timeout – Timeout to to react to stop or preemption requests
spin_thread – Whether to spin with a dedicated thread internally
options – Options to pass to the underlying rcl_action_server_t
An constructor for ActionServer.
- Parameters
<node – interfaces> Abstract node interfaces to make actions
action_name – Name of the action to call
execute_callback – Execution callback function of Action
server_timeout – Timeout to to react to stop or preemption requests
spin_thread – Whether to spin with a dedicated thread internally
options – Options to pass to the underlying rcl_action_server_t
handle the goal requested: accept or reject. This implementation always accepts.
- Parameters
uuid – Goal ID
Goal – A shared pointer to the specific goal
- Returns
GoalResponse response of the goal processed
Accepts cancellation requests of action server.
- Parameters
uuid – Goal ID
Goal – A server goal handle to cancel
- Returns
CancelResponse response of the goal cancelled
Handles accepted goals and adds to preempted queue to switch to.
- Parameters
Goal – A server goal handle to cancel
-
inline void work()
Computed background work and processes stop requests.
-
inline void activate()
Active action server.
-
inline void deactivate()
Deactive action server.
-
inline bool is_running()
Whether the action server is munching on a goal.
- Returns
bool If its running or not
-
inline bool is_server_active()
Whether the action server is active or not.
- Returns
bool If its active or not
-
inline bool is_preempt_requested() const
Whether the action server has been asked to be preempted with a new goal.
- Returns
bool If there’s a preemption request or not
-
inline const std::shared_ptr<const typename ActionT::Goal> accept_pending_goal()
Accept pending goals.
- Returns
Goal Ptr to the goal that’s going to be accepted
-
inline void terminate_pending_goal()
Terminate pending goals.
-
inline const std::shared_ptr<const typename ActionT::Goal> get_current_goal() const
Get the current goal object.
- Returns
Goal Ptr to the goal that’s being processed currently
-
inline const std::shared_ptr<const typename ActionT::Goal> get_pending_goal() const
Get the pending goal object.
- Returns
Goal Ptr to the goal that’s pending
-
inline bool is_cancel_requested() const
Whether or not a cancel command has come in.
- Returns
bool Whether a cancel command has been requested or not
Terminate all pending and active actions.
- Parameters
result – A result object to send to the terminated actions
Terminate the active action.
- Parameters
result – A result object to send to the terminated action
Return success of the active action.
- Parameters
result – A result object to send to the terminated actions
Publish feedback to the action server clients.
- Parameters
feedback – A feedback object to send to the clients
Protected Functions
-
inline constexpr auto empty_result() const
Generate an empty result object for an action type.
Whether a given goal handle is currently active.
- Parameters
handle – Goal handle to check
- Returns
Whether this goal handle is active
Terminate a particular action with a result.
- Parameters
handle – goal handle to terminate
the – Results object to terminate the action with
-
inline void info_msg(const std::string &msg) const
Info logging.
-
inline void debug_msg(const std::string &msg) const
Debug logging.
-
inline void error_msg(const std::string &msg) const
Error logging.
-
inline void warn_msg(const std::string &msg) const
Warn logging.
-
template<typename NodeT>