Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[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

Comments

@CarlyyyChen
Copy link

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants