ros2_controllers icon indicating copy to clipboard operation
ros2_controllers copied to clipboard

πŸš€ Add PID controller πŸŽ‰ (backport #434, #975, #899, #1084, #951)

Open mergify[bot] opened this issue 1 year ago β€’ 4 comments

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).

mergify[bot] avatar Jun 05 '24 17:06 mergify[bot]

Needs https://github.com/ros-controls/control_msgs/pull/133 to be released for the binary builds.

christophfroehlich avatar Jun 05 '24 19:06 christophfroehlich

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%> (ΓΈ)

... and 2 files with indirect coverage changes

codecov[bot] avatar Jun 06 '24 08:06 codecov[bot]

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?

cooperrunyan avatar Jun 20 '24 16:06 cooperrunyan

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 ?

christophfroehlich avatar Jun 20 '24 18:06 christophfroehlich