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

Add API for enabling/disabling Responsive Wait behavior #209

Merged
merged 6 commits into from
Sep 16, 2022

Conversation

mxgrey
Copy link
Contributor

@mxgrey mxgrey commented May 17, 2022

This PR adds an API to toggle the responsive wait behavior on and off. It also adds a parameter to toggle the responsive wait on and off for the legacy fleet adapter. To test this, you can run the office demo from rmf_demos and run the following:

$ ros2 param set /tinyRobot_fleet_adapter enable_responsive_wait false

The idle robots will disappear from the schedule which indicates that they are now completely unresponsive. Setting this parameter back to true will bring them back to the schedule and make them responsive again.

Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
@codecov
Copy link

codecov bot commented May 23, 2022

Codecov Report

Merging #209 (c924da4) into main (3be4edf) will increase coverage by 0.09%.
The diff coverage is n/a.

❗ Current head c924da4 differs from pull request most recent head 377acf3. Consider uploading reports for the commit 377acf3 to get more accurate results

@@            Coverage Diff             @@
##             main     #209      +/-   ##
==========================================
+ Coverage   17.61%   17.70%   +0.09%     
==========================================
  Files         209      844     +635     
  Lines       19351    77984   +58633     
  Branches     9297    37416   +28119     
==========================================
+ Hits         3409    13810   +10401     
- Misses      12274    49250   +36976     
- Partials     3668    14924   +11256     
Flag Coverage Δ
tests 17.70% <ø> (+0.09%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
.../rmf_rxcpp/RxCpp-4.1.0/Rx/v2/src/rxcpp/rx-util.hpp
..._monitor_nodes/delayed_query_broadcast_monitor.cpp
...xCpp-4.1.0/Rx/v2/src/rxcpp/operators/rx-filter.hpp
...s2/src/rmf_traffic_ros2/schedule/convert_Patch.cpp
...Cpp-4.1.0/Rx/v2/src/rxcpp/subjects/rx-behavior.hpp
...ter/src/rmf_fleet_adapter/agv/test/MockAdapter.cpp
.../rmf_fleet_adapter/test/services/test_FindPath.cpp
...clude/rmf_fleet_adapter/agv/RobotCommandHandle.hpp
...fleet_adapter/src/rmf_fleet_adapter/LegacyTask.hpp
..._traffic_ros2/schedule/internal_convert_vector.hpp
... and 1043 more

@youliangtan
Copy link
Member

Thanks for this feature, tested it and it works. Thinking of another scenario: A user wishes to update the robot position during idle (robot on the right), so to inform the other active robot (left) to reroute instead of being blocked by the idle robot. Can we have something like a "stubborn wait" behavior? Or users will need to call the be_stubborn() API in their fleet adapter impl.
Screenshot from 2022-05-24 16-59-51

Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Yadunund
Yadunund previously approved these changes Sep 15, 2022
mxgrey and others added 2 commits September 15, 2022 23:24
@luca-della-vedova luca-della-vedova merged commit a23b74e into main Sep 16, 2022
@luca-della-vedova luca-della-vedova deleted the enable_responsive_wait branch September 16, 2022 02:57
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.

None yet

4 participants