-
Notifications
You must be signed in to change notification settings - Fork 304
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
[CM] Fix controller missing update cycles in a real setup (backport #1774) #1858
Conversation
Cherry-pick of 814137d has failed:
To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally |
755cb48
to
e4c7127
Compare
e4c7127
to
dd2a1f3
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## iron #1858 +/- ##
==========================================
- Coverage 62.32% 62.32% -0.01%
==========================================
Files 112 112
Lines 13108 13137 +29
Branches 8891 8909 +18
==========================================
+ Hits 8170 8187 +17
- Misses 951 963 +12
Partials 3987 3987
Flags with carried forward coverage won't be shown. Click here to find out more.
|
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. Binary build failure is because of missing sync of realtime_tools
When we introduced supporting different update rates to the controllers. I realized that inside the tests I assumed a perfect system without any jitter and it was performing well.
ros2_control/controller_manager/test/test_controller_manager.cpp
Line 512 in ab84b74
However, this is not the case in reality. We have some influence of system jitter, and due to the jitter if the system sleeps a bit less than what it should, then it skips and waits for the next cycle, and that's the reason we have double the period in most occasions.
ros2_control/controller_manager/test/test_controller_manager.cpp
Lines 502 to 504 in 3c985db
This PR introduces a new approach to solving this issue and the tests have been updated to be more realistic than earlier version
Fixes: #1769
Fixes: #1574
This is an automatic backport of pull request #1774 done by Mergify.