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

Fix controller sorting issue while loading large number of controllers #1180

Conversation

saikishor
Copy link
Member

This PR aims to solve the issue mentioned by @GilmarCorreia : #1170. With the tests, I'm able to reproduce the error at some number around 20 controllers, so in order to make it robust, I've added 2 more different tests, testing with around 200+ controllers and also trying to simulate complex chaining that could be in day-to-day use-cases.

Copy link

codecov bot commented Nov 24, 2023

Codecov Report

Merging #1180 (aa12d26) into master (65353ff) will increase coverage by 0.00%.
The diff coverage is 50.00%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1180   +/-   ##
=======================================
  Coverage   47.63%   47.63%           
=======================================
  Files          40       40           
  Lines        3441     3445    +4     
  Branches     1864     1866    +2     
=======================================
+ Hits         1639     1641    +2     
  Misses        480      480           
- Partials     1322     1324    +2     
Flag Coverage Δ
unittests 47.63% <50.00%> (+<0.01%) ⬆️

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

Files Coverage Δ
controller_manager/src/controller_manager.cpp 38.70% <50.00%> (+0.03%) ⬆️

@bmagyar bmagyar added backport-humble This label should be used by maintaines only! Label triggers PR backport to ROS2 humble. backport-iron This label should be used by maintaines only! Label triggers PR backport to ROS2 Iron. labels Nov 27, 2023
/// The simulated controller chain is like every joint has its own controller exposing interfaces
/// and then a controller chain using those interfaces
///
/// There are 30 more other basic controllers to check for crashing
Copy link
Member

Choose a reason for hiding this comment

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

I think we are missing the 30 additional controllers or I've missed it during review

Copy link
Member Author

Choose a reason for hiding this comment

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

Lol! You are right, let me reformulate it and add some more controllers for more complexity

Copy link
Member Author

Choose a reason for hiding this comment

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

Done. Thank you for the comments :)

@bmagyar bmagyar merged commit d68cc22 into ros-controls:master Dec 3, 2023
13 checks passed
mergify bot pushed a commit that referenced this pull request Dec 3, 2023
mergify bot pushed a commit that referenced this pull request Dec 3, 2023
bmagyar pushed a commit that referenced this pull request Dec 3, 2023
#1180) (#1187)

(cherry picked from commit d68cc22)

Co-authored-by: Sai Kishor Kothakota <sai.kishor@pal-robotics.com>
bmagyar pushed a commit that referenced this pull request Dec 4, 2023
#1180) (#1186)

(cherry picked from commit d68cc22)

Co-authored-by: Sai Kishor Kothakota <sai.kishor@pal-robotics.com>
@saikishor saikishor deleted the testing_large_number_of_chained_controllers branch August 17, 2024 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-humble This label should be used by maintaines only! Label triggers PR backport to ROS2 humble. backport-iron This label should be used by maintaines only! Label triggers PR backport to ROS2 Iron.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants