Before proceeding, is there an existing issue or discussion for this?
OS and version
24.04
Open-RMF installation type
Source build
Other Open-RMF installation methods
No response
Open-RMF version or commit hash
main
ROS distribution
Jazzy
ROS installation type
Binaries
Other ROS installation methods
No response
Package or library, if applicable
No response
Description of the bug
When a robot is charging and a future task is assigned, OpenRMF estimates the battery level after the charging task finishes and uses that value for feasibility checks. If the charging task is later cancelled before completion, the robot still proceeds with the next task using the outdated battery estimate that assumed the robot would be fully charged.
Steps to reproduce the bug
- Send the robot to charge (charging task).
- While charging, assign a new task that will start after charging is expected to complete.
- This task is accepted because the estimated battery after charging is high enough.
- Cancel the charging task before it finishes (robot is still below full charge).
- The robot begins the previously scheduled task using the original estimated battery instead of the actual current battery.
Expected behavior
- When a charging task is cancelled, OpenRMF should recalculate the available battery for any pending tasks.
- Tasks that are no longer feasible due to insufficient battery should be cancelled or rescheduled.
Actual behavior
The robot starts the next task as if it had the full battery it was expected to have after charging.
In reality, the battery is much lower (often only the charging threshold).
If the task requires more energy than is available, the robot can run out of battery before completion.
Additional information or screenshots
No response
Before proceeding, is there an existing issue or discussion for this?
OS and version
24.04
Open-RMF installation type
Source build
Other Open-RMF installation methods
No response
Open-RMF version or commit hash
main
ROS distribution
Jazzy
ROS installation type
Binaries
Other ROS installation methods
No response
Package or library, if applicable
No response
Description of the bug
When a robot is charging and a future task is assigned, OpenRMF estimates the battery level after the charging task finishes and uses that value for feasibility checks. If the charging task is later cancelled before completion, the robot still proceeds with the next task using the outdated battery estimate that assumed the robot would be fully charged.
Steps to reproduce the bug
Expected behavior
Actual behavior
The robot starts the next task as if it had the full battery it was expected to have after charging.
In reality, the battery is much lower (often only the charging threshold).
If the task requires more energy than is available, the robot can run out of battery before completion.
Additional information or screenshots
No response