|
| | PerceptionFakeActionServer (rclcpp_lifecycle::LifecycleNode &node, const std::string &action_name) |
| | Constructs the action server.
|
|
| ActionServerBase (const ActionServerBase &)=delete |
|
ActionServerBase & | operator= (const ActionServerBase &)=delete |
| const std::string & | get_action_name () const noexcept |
| | Fully-qualified name of the action served by this instance.
|
| bool | is_active () const |
| | Whether a goal is currently executing.
|
| bool | is_preemptable () const noexcept |
| | Current value of the "allow_preemption" parameter for this action.
|
|
| rclcpp_action::GoalResponse | on_goal_received (const rclcpp_action::GoalUUID &uuid, std::shared_ptr< const Goal > goal) override |
| | Accepts only goals asking for the configured target_class_.
|
| void | on_execute (const GoalHandleSharedPtr goal_handle) override |
| | Streams random detections at detection_rate_hz_ until canceled, preempted or shut down.
|
| virtual rclcpp_action::GoalResponse | on_goal_received (const rclcpp_action::GoalUUID &uuid, std::shared_ptr< const Goal > goal)=0 |
| | Validate an incoming goal.
|
| virtual rclcpp_action::CancelResponse | on_cancel_requested (const GoalHandleSharedPtr goal_handle) |
| | Decide whether a cancel request (via the action's cancel service) should be accepted.
|
| virtual void | on_preempted (const GoalHandleSharedPtr &preempted_goal_handle) |
| | Optional hook invoked (from the accepting thread, not the worker thread) when a new goal is about to preempt the currently running one.
|
| bool | is_preempt_requested () const noexcept |
| | Whether a newer goal has been accepted and is waiting to replace the one currently executing.
|
| bool | is_shutdown_requested () const noexcept |
| | Whether this object is being destroyed.
|
| rclcpp::Logger | logger () const |
| | Logger of the node hosting this action server.
|
Fake/mock implementation of the easyfleet_interfaces/Perception action.
A reference implementation of easyfleet_core::PerceptionActionServerBase: it does not run a real object detector. When asked for the configured target class (a cat, "gato", by default) it publishes feedback at a configurable rate (20 Hz by default) with 1 to 3 randomly placed detections, in both 2D and 3D, until the goal is canceled, preempted or the node shuts down – there is no other terminal condition, mirroring how a continuous perception stream behaves. Goals asking for any other class are rejected. continuous/max_rate_hz are accepted but not honored by this mock: every goal streams forever at the fixed detection_rate_hz parameter, since a mock has no notion of "detect once
and stop".
Duplicated (not shared) from easyfleet_fake_collaboration_deployment's own copy of this same reference implementation, matching this project's established convention of keeping each deployment package self-contained rather than introducing a cross-deployment dependency for a mock.