-
Notifications
You must be signed in to change notification settings - Fork 401
Add a generic chained_filter_controller #1634
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
Add a generic chained_filter_controller #1634
Conversation
@christophfroehlich I just made another commit to fix the issues in the workflow.. requesting you to approve to workflow |
@ankurbodhe can you fix the pre-commit jobs? Is this ready for review? |
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.
Thank you for contribution!
In general, have a look at other packages in this repository to follow the (code) style, copyright claims etc.
Please address my comments and also fix the pre-commit failures as Sai already has mentioned.
chained_filter_controller/config/chained_filter_parameters.yaml
Outdated
Show resolved
Hide resolved
chained_filter_controller/include/chained_filter_controller/chained_filter.hpp
Show resolved
Hide resolved
@ankurbodhe can I help you to finish this PR? We also have to apply the changes of #1697 to the new CMakeLists. |
@christophfroehlich Sorry had a hectic work schedule... my calendar just freed up and would be working on completing the PR.. will be working on this everyday now until completion. |
no worries. don't hesitate to ask if there are any doubts how to proceed |
c61a23d
to
c3a79de
Compare
@ankurbodhe please don't force-push to already reviewed PRs, it just makes subsequent reviews slow. There is no need for a clean history, as we squash PRs at the time of merging into the base branches. |
This PR is stale because it has been open for 45 days with no activity. Please tag a maintainer for help on completing this PR, or close it if you think it has become obsolete. |
…ilter_controller' for better portability
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1634 +/- ##
==========================================
+ Coverage 85.98% 86.07% +0.08%
==========================================
Files 129 133 +4
Lines 13112 13282 +170
Branches 1144 1153 +9
==========================================
+ Hits 11275 11432 +157
- Misses 1469 1478 +9
- Partials 368 372 +4
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
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.
Just two things. Rest looks spot on
const rclcpp::Time & time, const rclcpp::Duration & period) override; | ||
|
||
protected: | ||
std::vector<hardware_interface::StateInterface> on_export_state_interfaces() override; |
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.
So, this controller right now only works as a filter for state Interfaces?
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.
I think so yes ;) Do you think this should be two different controllers, one for state and one for command interfaces? Or add another parameter list, and handle them in parallel?
If this does not need a change to the package or plugin name, I'd add a follow-up issue for that.
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.
Yes, we can create a follow-up issue for that. I think the same controller can be utilized for this by extending it with parameters etc
089f3ef
fb51e25
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
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.
Spot on!
228c586
into
ros-controls:master
Co-authored-by: Christoph Froehlich <[email protected]> (cherry picked from commit 228c586) # Conflicts: # doc/release_notes.rst
Co-authored-by: Ankur Bodhe <[email protected]> Co-authored-by: Christoph Fröhlich <[email protected]>
This PR migrates and enhances the chained_filter_controller originally implemented during the ROSCon 2024 control workshop. The controller enables chaining and filtering of state interfaces through a sequence of filters.
Changes introduced: