Skip to content

Conversation

@xiyuoh
Copy link
Member

@xiyuoh xiyuoh commented Jan 14, 2026

Targets open-rmf/rmf_demos#343

Currently when a robot is assigned a Charge task (as finishing request or as emergency charging when its battery SOC falls below a threshold), the task would begin and ends only when

  • The robot has sufficient battery to start on its next queued task, OR
  • The robot has charged up to the recharge_soc

When the Charge task ends, its Status remains in Standby instead of being marked as Completed. While this does not affect the robot's behavior (it can still proceed to execute subsequent tasks), the task status is reflected on the web dashboard and can be misleading. Over time the dashboard's Tasks tab can look like this, with the Charge tasks unresolved:
image
(Charge tasks are those dated 1 Jan 1970)

This PR publishes a final StatusMsg to mark WaitForCharge with STATE_COMPLETED before moving onto the next phase.

Signed-off-by: Xiyu Oh <xiyu@openrobotics.org>
{
StatusMsg msg;
msg.state = msg.STATE_COMPLETED;
msg.status = "Completed phase [" + active->_description + "]";
Copy link
Contributor

@mxgrey mxgrey Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small nitpick but this is meant to be brief message that indicates the status of this phase specifically. I think it's a bit excessive to print out the entire phase description. When a user sees this status message, it will already be nestled inside the context of this phase.

A simpler message such as Reached intended battery charge would probably serve better. As it stands, this message would end up looking something like

Completed phase [Charging [TinyRobot/TinyRobot_1] to [90%]]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Inbox

Development

Successfully merging this pull request may close these issues.

3 participants