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

Reactive easy full control #188

Merged
merged 16 commits into from
Aug 18, 2023

Conversation

mxgrey
Copy link
Collaborator

@mxgrey mxgrey commented Jul 12, 2023

This PR updates #158 to be compatible with open-rmf/rmf_ros2#286

@mxgrey mxgrey requested review from Yadunund and xiyuoh July 12, 2023 09:19
@luca-della-vedova
Copy link
Member

I noticed a quite reproducible (most times, but not 100% of the times) jump in the schedule after a negotiation. I'm not sure what implications it might have but it seems a bit odd.

I can reproduce it best at startup in the battle royale scenario:

ros2 launch rmf_demos_gz_classic battle_royale.launch.xml
ros2 launch rmf_demos battle_go.launch.xml

An example video is below, robot with the schedule jump is in the top left. In all my tests it's either TinyRobotA or TinyRobotB in the top left of the map.

Screencast.from.2023-07-13.10-59-19.webm

@xiyuoh
Copy link
Member

xiyuoh commented Jul 14, 2023

After some brief testing, I noticed that when a cleanerbot's cleaning path gets in the way of a patrol robot's route, the robots get stuck in a deadlock without negotiation. Not 100% sure but it might be because trajectory scheduling is not implemented for the cleaning perform action (example) .

hotel-efc-5x-cut.mp4

Signed-off-by: Michael X. Grey <[email protected]>
@mxgrey
Copy link
Collaborator Author

mxgrey commented Jul 17, 2023

it might be because trajectory scheduling is not implemented for the cleaning perform action

Strange, it is implemented. I might suggest trying a clean build with the reactive_easy_full_control branches for both rmf_ros2 and rmf_demos. Here's a video of what it should look like when the robot is cleaning:

activity_schedule.mp4

Maybe try a test where you just send the cleaning bot with nothing else running and see if the cleaning trajectory shows up on the schedule.

@xiyuoh
Copy link
Member

xiyuoh commented Jul 17, 2023

Ah yes you're right, a clean build and the trajectories are back up! I can still reproduce the same situation though. Haven't figured out a potential cause, leaving a screen recording with terminal logs here first.

hotel_2.mp4

@mxgrey
Copy link
Collaborator Author

mxgrey commented Jul 18, 2023

@luca-della-vedova Good catch, I've found a subtle bug in the schedule update code that wasn't correctly accounting for planned waits. If you run the latest version the problem should be completely gone now.

@xiyuoh I've added traffic checkpoints for the activity (in this case cleaning) traffic schedule, so now the traffic negotiations should work better.

Copy link
Member

@Yadunund Yadunund left a comment

Choose a reason for hiding this comment

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

It's really awesome seeing how simple it is now to write a new fleet adapter!


Request URL: `http://127.0.0.1:22011/open-rmf/rmf_demos_fm/start_task/?robot_name=tinyRobot1`
Request URL: `http://127.0.0.1:22011/open-rmf/rmf_demos_fm/start_activity/?robot_name=tinyRobot1`
Copy link
Member

Choose a reason for hiding this comment

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

Nit: Should we update the response body to indicate the existence of msg["data"]["path"]?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Great idea, added in 39ba81a

Signed-off-by: Michael X. Grey <[email protected]>
@mxgrey mxgrey merged commit 63c8b95 into feature/easy_full_control Aug 18, 2023
3 checks passed
@mxgrey mxgrey deleted the reactive_easy_full_control branch August 18, 2023 05:18
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

Successfully merging this pull request may close these issues.

5 participants