You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Other issue]: Clarify on finishing_request logic as the robot will always go back to its charger instead of a dedicated parking waypoint even if the finishing request is set as park
#219
Closed
1 task done
CarlyyyChen opened this issue
Mar 19, 2024
· 1 comment
Currently if I configure the finishing_request for a fleet as "park" instead of "charge", and set the recharge_threshold really low (like 0.5), the robot will still go back to the charger nearest to its spawn place instead of going back to its dedicated parking waypoint (I have set its start place as its parking waypoint, it is not a charger, but I want it to be back to its original place after finishing a task). I looked into your code and this is related to the implementation of your ParkRobotFactory class inside rmf_task::requests. Without passing in a parking_waypoint, it will use dedicated_charging_waypoint as the default finishing waypoint. And when adapter is creating the finishing request inside the set_task_planner_params() method, no parking waypoints are passed. And this causes the robot returning back to its charger instead of other parking waypoints.
I wonder if this is actually a bug and what would be potential fix for this because since we have "park" and "charge" as different finish_requests, the robot shall behave differently after finishing a task, i.e. go back to a parking spot if finishing request is "park" and go back to charger if finishing request is "charge". My current thought is to modify how ParkRobotFactory class is implemented for it to use state.dedicated_parking_waypoint, and pass in this waypoint in the configuration file using RobotCommandHandle. Does this make sense or is there better ways? Thanks much for clarification!
The text was updated successfully, but these errors were encountered:
Before proceeding, is there an existing issue or discussion for this?
Description
Currently if I configure the finishing_request for a fleet as "park" instead of "charge", and set the recharge_threshold really low (like 0.5), the robot will still go back to the charger nearest to its spawn place instead of going back to its dedicated parking waypoint (I have set its start place as its parking waypoint, it is not a charger, but I want it to be back to its original place after finishing a task). I looked into your code and this is related to the implementation of your ParkRobotFactory class inside rmf_task::requests. Without passing in a parking_waypoint, it will use dedicated_charging_waypoint as the default finishing waypoint. And when adapter is creating the finishing request inside the set_task_planner_params() method, no parking waypoints are passed. And this causes the robot returning back to its charger instead of other parking waypoints.
I wonder if this is actually a bug and what would be potential fix for this because since we have "park" and "charge" as different finish_requests, the robot shall behave differently after finishing a task, i.e. go back to a parking spot if finishing request is "park" and go back to charger if finishing request is "charge". My current thought is to modify how ParkRobotFactory class is implemented for it to use state.dedicated_parking_waypoint, and pass in this waypoint in the configuration file using RobotCommandHandle. Does this make sense or is there better ways? Thanks much for clarification!
The text was updated successfully, but these errors were encountered: