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

Change the controller sorting with an approach similar to directed acyclic graphs #1384

Merged

Conversation

saikishor
Copy link
Member

@saikishor saikishor commented Feb 11, 2024

The idea is to change the algorithm of the controller sorting with an approach similar to the Directed Acyclic Graphs (DAGs).

  • This improves the performance of the current controller sorting
  • Easily extendable when the exporting of the state interfaces is added to the controller.
  • Very useful when we add the fallback controllers functionality

The old test cases work directly with this approach. So, only the main algorithm behind it has changed

Fixes: #1396
Needed for: #1021 and https://github.com/orgs/ros-controls/projects/6/views/9?sliceBy%5Bvalue%5D=Jazzy&pane=issue&itemId=46799899

… the controller exposing reference interface
Copy link

codecov bot commented Feb 11, 2024

Codecov Report

Attention: Patch coverage is 34.06593% with 60 lines in your changes are missing coverage. Please review.

Project coverage is 47.22%. Comparing base (69e5e27) to head (b95c255).

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #1384       +/-   ##
===========================================
+ Coverage        0   47.22%   +47.22%     
===========================================
  Files           0       41       +41     
  Lines           0     3526     +3526     
  Branches        0     1926     +1926     
===========================================
+ Hits            0     1665     +1665     
- Misses          0      465      +465     
- Partials        0     1396     +1396     
Flag Coverage Δ
unittests 47.22% <34.06%> (?)

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

Files Coverage Δ
.../include/controller_manager/controller_manager.hpp 18.18% <ø> (ø)
controller_manager/src/controller_manager.cpp 37.72% <34.06%> (ø)

... and 39 files with indirect coverage changes

Copy link
Member

@destogl destogl left a comment

Choose a reason for hiding this comment

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

This looks good! Thanks!

Copy link
Member

@bmagyar bmagyar left a comment

Choose a reason for hiding this comment

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

Thank you!

@bmagyar bmagyar merged commit d0071c0 into ros-controls:master Mar 6, 2024
11 of 12 checks passed
@saikishor saikishor mentioned this pull request Apr 23, 2024
@saikishor saikishor deleted the update/controller_sorting_algorithm branch August 17, 2024 08:24
@saikishor saikishor restored the update/controller_sorting_algorithm branch August 17, 2024 08:25
@saikishor saikishor deleted the update/controller_sorting_algorithm branch August 17, 2024 08:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Proper DAG implementation with each controller having info about it’s following and preceding controllers
3 participants