-
Notifications
You must be signed in to change notification settings - Fork 267
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
Make sure that controllers are properly sorted and executed in a chain #853
Comments
I will work on this. |
I would like to contribute to this. Shall I continue based on yours or shall I create a new one? Best Regards, |
Please do! I think it's a sensible approach. |
Sure!. Thank you! |
…s#853) (ros-controls#1063) * Added test for the reordering controllers case * Perform controller sorting at the end of switch_controller * fix the list_chained_controllers_srv test case for the new controller sorting * move the logic to a separate function * Apply suggestions from code review Co-authored-by: Christoph Fröhlich <christophfroehlich@users.noreply.github.com> * remove obsolete TODO comments in the controller chaining tests * Add a test case to sort 6 controllers in chained mode * Added a method to retrieve the following controller names given a controller name * Update the controller_sorting method to support progressive chaining ability * Added test case to sort chained controllers with branching * Added a method to retrieve the preceding controller names given a controller name * Added logic to controller_sorting to support sorting branched controller chains * Added some documentation to the newly added functions * Add debug print of reordered controllers list once they are sorted * Add the condition to skip the non-configured controllers * remove logging for every command interface * Improve the complex chain test case checking * added a test case to sort independent chains * Added fixes for the independent chains sorting * better randomization in independent chains testing * Fix minor logic issues * Add 3rd chain for better complex testing * Apply suggestions from code review - Denis Co-authored-by: Dr. Denis <denis@stoglrobotics.de> * address pull request review comments --------- Co-authored-by: Christoph Fröhlich <christophfroehlich@users.noreply.github.com> Co-authored-by: Dr. Denis <denis@stoglrobotics.de> Co-authored-by: Bence Magyar <bence.magyar.robotics@gmail.com>
Is your feature request related to a problem? Please describe.
When loading controllers that are part of the chain, they have to be loaded in a certain order. Otherwise, there could be a lag in execution.
Describe the solution you'd like
Controllers are resorted in a proper order and calculations are correct.
Additional context
Check doc about controllers' chaining here: https://github.com/ros-controls/roadmap/blob/08d1454cd0d75e4f88cf16a05dad824c69caa302/design_drafts/cascade_control.md
test_chained_controllers
and reorder controllers inadd_controller
block – the test should start to fail because calculation will not be correct.The text was updated successfully, but these errors were encountered: