-
Notifications
You must be signed in to change notification settings - Fork 389
Fix the blocking calls of lifecycle_state in the real-time loop #2884
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
Fix the blocking calls of lifecycle_state in the real-time loop #2884
Conversation
8ae2a75 to
85925f0
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #2884 +/- ##
==========================================
- Coverage 89.41% 89.39% -0.03%
==========================================
Files 155 155
Lines 18144 18209 +65
Branches 1478 1483 +5
==========================================
+ Hits 16224 16278 +54
- Misses 1329 1337 +8
- Partials 591 594 +3
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
controller_interface/include/controller_interface/controller_interface_base.hpp
Outdated
Show resolved
Hide resolved
MarqRazz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
@MarqRazz Thanks a lot for taking time to test this |
christophfroehlich
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for the fix, the stats looks great.
However, I have some comments and questions while scanning over your changes.
controller_interface/include/controller_interface/controller_interface_base.hpp
Outdated
Show resolved
Hide resolved
hardware_interface/include/hardware_interface/hardware_component_interface.hpp
Outdated
Show resolved
Hide resolved
Thanks for the review @christophfroehlich |
controller_interface/include/controller_interface/controller_interface_base.hpp
Outdated
Show resolved
Hide resolved
Co-authored-by: Christoph Fröhlich <[email protected]>
Co-authored-by: Christoph Fröhlich <[email protected]>
christophfroehlich
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
this is breaking ABI of controllers and hardware base classes, how should we handle the backports? |
I am biased with my opinion, as we have a real need for this on our hardware. Without this, the robot will not be functional for long runs. The jazzy sync has just happened, so if we want, we can add it to the next release |
dca9b57
into
ros-controls:master
(cherry picked from commit dca9b57) # Conflicts: # doc/release_notes.rst
(cherry picked from commit dca9b57) # Conflicts: # doc/release_notes.rst

Hello!
I've observed a lot of blocking time of the RT loop due to the calls of the lifecycle state and this PR comes up with a way to cache them locally and use them.
With the current master's version:
RRBot


TALOS
With the proposed changes:
RRBot

TALOS
