-
Notifications
You must be signed in to change notification settings - Fork 299
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
[Feature] Export chainable state interfaces from chainable controllers #1021
Merged
destogl
merged 74 commits into
ros-controls:master
from
saikishor:export_readonly_chainable_interfaces
Jul 5, 2024
Merged
Changes from 64 commits
Commits
Show all changes
74 commits
Select commit
Hold shift + click to select a range
f16bb01
Add the first implementation to export the controller state interface…
saikishor 494315d
rename the methods and variable from using state to estimated
saikishor 3e375ea
update controller interface chainable controller tests for the newly …
saikishor 2970213
Added some helper methods in the Test classes to set the estimated in…
saikishor e261d15
Added an IMU hardware test component
saikishor 9723f28
Added IMU sensor hardware to the differential drive URDF description
saikishor 6777056
Added new estimated interface data testing to chainable controller te…
saikishor 483dbfa
Add optional imu sensor to the testing of chainable controller
saikishor 6fd8dce
rename the method to have more generic meaning
saikishor df72851
Added sensor_fusion_controller to the class TestControllerChainingWit…
saikishor 2782146
update the test_chained_controllers test with new sensor_fusion_contr…
saikishor 889265b
Update auto_switch_to_chained_mode with more elaborate tests incl. se…
saikishor 1d182f3
Update the activation_error_handling tests with all newly added contr…
saikishor 2d103f7
update tests of the activation and deactivation error handling with n…
saikishor ad75253
Added new deactivation_switching_error_handling to test the controlle…
saikishor f0bc18c
Added toggle_references_from_subscribers method to the controller int…
saikishor 006681b
Added some utility methods in the controller_manager
saikishor 9c1218d
import exported interfaces without conditioning
saikishor 61b337f
Added a new method to be able to toggle the controller references bet…
saikishor 4a90814
activate and deactivate the controller when switching the references …
saikishor 2fa39f5
in to_chained_mode enable references from interfaces and make all int…
saikishor 47d3b3c
check all exported interfaces of following actuators when activating …
saikishor da4097b
Add the proper to_use_references_from_subscribers_ list generation wi…
saikishor 295fcce
Check if all the exported interfaces being utilized by other precedin…
saikishor 61b1a8a
Add estimated_interfaces field to the ControllerState msg and fill-in…
saikishor a016f2d
set the controllers references from interface or subscribers in manag…
saikishor e6c8138
update the activation_switching_error_handling tests in the controlle…
saikishor a032da1
check if the activate and deactivate list is empty after all the checks
saikishor db500d3
remove the controller from the use_references_from_subscribers_ list …
saikishor fc1cb5b
added some cpplint and clangformatting changes
saikishor 415cef6
renamed estimated to exported state interface
saikishor 409cd15
renamed to internal state for better semantic meaning
saikishor 32bacd9
fix the chained_controllers adding_in_random_order test with new cont…
saikishor 55a9e46
Fix the tests after rebasing and formatting changes
saikishor 64bfaa1
improve controller manager service tests stability
saikishor 1f96231
Apply the docstring code review suggestions
saikishor b9e85e9
Apply suggestions of using advanced gmock features
saikishor 18e787d
Add using of IsEmpty and SizeIs from testing of gmock
saikishor 067ca29
Merge branch 'master' into export_readonly_chainable_interfaces
saikishor af45bcf
use SizeIs and IsEmpty in the test_chainable_controller_interface tests
saikishor 88c99a7
Merge branch 'master' into export_readonly_chainable_interfaces
saikishor 5f42c26
Merge branch 'master' into export_readonly_chainable_interfaces
saikishor f48d4e3
Merge branch 'master' into export_readonly_chainable_interfaces
saikishor eb1603d
Merge branch 'master' into export_readonly_chainable_interfaces
saikishor 23291c5
Add review suggestions
saikishor 8d27c67
Merge branch 'master' into export_readonly_chainable_interfaces
saikishor 254c568
renamed from internal state to the state by reverting
saikishor 05282e9
remove the estimate variable from for loop
saikishor 08da210
rename toggle_references_from_subscribers to set_using_references_fro…
saikishor 56bb033
Remove set_using_references_from_subscribers from the controller inte…
saikishor d2f5487
remove to_use_references_from_subscribers_ and cleanup set_controller…
saikishor c78085d
update the logic of propagate deactivation of the controllers
saikishor bd9ca59
update logic in check_preceding_controllers_to_deactivate to work wit…
saikishor 93bdaea
add controller chain interfaces usage controller list cache
saikishor 46d5426
update the expected is_chained_mode in tests with the new changes
saikishor 0a20f3e
use the new catched controller chain information to update the check …
saikishor da3487c
Merge branch 'master' into export_readonly_chainable_interfaces
saikishor 3ee2438
change robot localization controller a chained controller and some co…
saikishor 63f2c87
Add position controller two to test the cases of closing loop with ot…
saikishor 1057562
Add activating and deactivating in group with the new controller
saikishor b612a1b
Fix the logic of controllers exporting state interfaces not in chaine…
saikishor 5e48aa9
Cleanup unused helper method
saikishor 13a1fcd
Merge branch 'master' into export_readonly_chainable_interfaces
saikishor 96eced7
Add documentation and release note about exporting state interfaces f…
saikishor 2969460
Apply suggestions from code review
saikishor b01722c
Add more documentation on different interfaces
saikishor e64558b
update the docs of set_chained_mode method
saikishor 8e966a3
Merge branch 'master' into export_readonly_chainable_interfaces
saikishor 62263ea
Merge branch 'master' into export_readonly_chainable_interfaces
bmagyar fa2340c
Add default implementation to the on_export_state_interfaces and on_e…
saikishor 20c5afc
Merge branch 'master' into export_readonly_chainable_interfaces
saikishor bbca8ac
Merge branch 'master' into export_readonly_chainable_interfaces
saikishor 4f97b54
remove one of the redundant checks with the new approach
saikishor 7d5efeb
Merge branch 'master' into export_readonly_chainable_interfaces
saikishor File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Can we move this to
controller_interface.hpp
? Then every controller could expose its data.And I would add defalut implementation to the
controller_interface.cpp
because then we don't push anyone to implement this, only if they want. And we keep API compatibility.How would this influence cycling graph search?
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.
Are you talking about this
on_export_state_interfaces
method? or theexport_state_interfaces
method?If it is
export_state_interfaces
method, then as you mentioned it already exists in thecontroller_interface_base.hpp
and a default implementation is done insidecontroller_interface.cpp
as it is done similar to theexport_reference_interfaces