ros2_controllers
ros2_controllers copied to clipboard
π Add PID controller π (backport #434, #975, #899, #1084, #951)
Proposal for a new controller that provides PID functionality.
The controller can be used stand-alone, in a chain. Measured states can be provided through the topic or state interface, depening on the concrete control arch. For example, if you are having an external estimator, using topic might be eaiser at first then full integration into ros2_control.
The PR depends the following changes:
- ros-controls/control_msgs#69
- ros-controls/control_toolbox#129
Looking forward for your feedback!
Testing dependencies:
control_msgs:
type: git
url: [email protected]:ros-controls/control_msgs.git
version: add-generic-msgs-for-controller-references
control_toolbox:
type: git
url: [email protected]:ros-controls/control_toolbox.git
version: add-option-to-define-prefix-as-param-prefix
ros2_controllers:
type: git
url: [email protected]:StoglRobotics-forks/ros2_controllers.git
version: add-pid-controller
This is an automatic backport of pull request #434 done by [Mergify](https://mergify.com).
Needs https://github.com/ros-controls/control_msgs/pull/133 to be released for the binary builds.
Codecov Report
Attention: Patch coverage is 84.28875% with 74 lines in your changes missing coverage. Please review.
Project coverage is 86.76%. Comparing base (
143bfc9) to head (9d78d2c).
Additional details and impacted files
@@ Coverage Diff @@
## humble #1162 +/- ##
==========================================
- Coverage 86.93% 86.76% -0.17%
==========================================
Files 87 92 +5
Lines 7966 8439 +473
Branches 630 708 +78
==========================================
+ Hits 6925 7322 +397
- Misses 799 854 +55
- Partials 242 263 +21
| Flag | Coverage Ξ | |
|---|---|---|
| unittests | 86.76% <84.28%> (-0.17%) |
:arrow_down: |
Flags with carried forward coverage won't be shown. Click here to find out more.
| Files | Coverage Ξ | |
|---|---|---|
| pid_controller/test/test_load_pid_controller.cpp | 100.00% <100.00%> (ΓΈ) |
|
| pid_controller/test/test_pid_controller.cpp | 100.00% <100.00%> (ΓΈ) |
|
| ..._controller/test/test_pid_controller_preceding.cpp | 100.00% <100.00%> (ΓΈ) |
|
| pid_controller/test/test_pid_controller.hpp | 83.14% <83.14%> (ΓΈ) |
|
| pid_controller/src/pid_controller.cpp | 70.79% <70.79%> (ΓΈ) |
Needs ros-controls/control_msgs#133 to be released for the binary builds.
@christophfroehlich, That has been merged, right? Can the build check just be re-triggered?
Needs ros-controls/control_msgs#133 to be released for the binary builds.
@christophfroehlich, That has been merged, right? Can the build check just be re-triggered?
The binary build check fails until control_msgs has been released (there is a release, waiting for the next sync). I think this PR can be merged now, too @bmagyar ?