open-rmf / open-rmf/rmf

[Feature request]: Quality of Life: ability to decommission Fleets (or groups) of robots

Open
#495 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
439
Forks
90
PR merge metrics
No merged PRs in 30d

Description

Before proceeding, is there an existing issue or discussion for this?
Description

When operating a facility with multiple robot fleets, there may be times when you want to take an entire fleet out of service (decommission) for some period of time. Open-RMF has the ability to decommission individual robots. As fleet sizes increase, the ability to decommission a fleet, rather than one robot at a time, will save the user time

Implementation Considerations

Copying offline questions into this section:

  • What would make this different from a user looping over the robots in a fleet and decommissioning each one, and why does that difference matter?

This would primarily be a time saving, quality of life improvememt to allow the user to decommission a fleet (or group of robots) rather than one robot at a time. It's a likely very low risk but there could be quality/safety considerations as well if, for example, a critical issue has been discovered which affects an entire fleet in the deployment and you want to remove them from operations quickly.

  • Do you want to prescribe what should happen to the tasks that have been assigned to the fleet? If they need to be reassigned to another fleet, then that will have to wait for the next gen implementation because it won't be feasible to have that without a rewrite of the task assignment system.

Great question. I imagine those tasks should get cancelled and reassigned but that also raises the question of what happens to tasks in process which need special intervention (i.e. a delivery task which already picked up the payload). Perhaps this needs to be some level of selectable or variable recovery action. Further discussion and ideas will be needed.

Alternatives

The current capability to decommission one robot at a time is available and is a reasonable alternative. However, this will become less reasonable as fleet sizes increase.

Additional information

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by reviewing the existing individual-robot decommissioning capability and resolve the open questions about in-process tasks, cancellation, reassignment, and recovery actions. Done requires an agreed fleet or group scope and safety behavior before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
robotics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.