open-rmf / fleet_adapter_mir

RMF/RoMi-H fleet adapter for the MiR API
Apache License 2.0
15 stars 15 forks source link

Wait until action #39

Open xiyuoh opened 3 months ago

xiyuoh commented 3 months ago

This PR provides a wait_until PerformAction plugin for the MiR fleet adapter. It depends on and follows https://github.com/open-rmf/fleet_adapter_mir/pull/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.

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.