Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wait until action #39

Draft
wants to merge 38 commits into
base: main
Choose a base branch
from
Draft

Wait until action #39

wants to merge 38 commits into from

Conversation

xiyuoh
Copy link
Member

@xiyuoh xiyuoh commented Aug 7, 2024

This PR provides a wait_until PerformAction plugin for the MiR fleet adapter. It depends on and follows #36.

This performable action enables robots to travel to multiple waypoints and wait there within a single task. The expected task behavior would be:

  1. Robot goes to a waypoint and waits for X seconds (configurable)
  2. If the robot receives a move-off signal (configurable), it will end the waiting action and move to the next waypoint
  3. Robot repeats Steps 1. and 2. with subsequent waypoints on a list until it has travelled to all the waypoints in the task.

During the waiting process, the robot may only move off if the default timeout has been reached, or if it receives a move-off signal. This move-off signal can be configured by the user depending on the user case. The plugin provides 2 out-of-the-box move-off signals as well as the option for users to customize their own.

  • mission: The waiting action would be mission-based, i.e. the fleet adapter would trigger a MiR mission specified in the config when the robot starts waiting, and end the waiting action when the mission is completed.
  • plc: The waiting action would begin and the fleet adapter monitors the state of the specified PLC register. Once it turns to 1 or True, the waiting action ends.
  • custom: Users can customize their own move-off signal by writing their own MoveOff module and provide it to the fleet config. A skeleton of the module and a sample implementation of customizing a move-off signal using RMF Alert.msg is provided in rmf_move_off.py and rmf_move_off_on_alert.py respectively.

For cases where users might want the move-off signal to vary from task to task within the same fleet, they may provide the move-off behavior in their task description instead of the fleet config. Any move-off signal config provided in a task description will override the default fleet behavior imported from the fleet config.

Note: still a WIP, and the base branch will be updated after the previous PR gets merged.

Signed-off-by: Xiyu Oh <[email protected]>
…in pickup/dropoff, and move action-related code into its own package

Signed-off-by: Xiyu Oh <[email protected]>
Signed-off-by: Xiyu Oh <[email protected]>
Signed-off-by: Xiyu Oh <[email protected]>
Signed-off-by: Xiyu Oh <[email protected]>
Base automatically changed from xiyu/efc_fleet_adapter_mir to main November 13, 2024 08:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant