CHANGELOG

Changelog for package control_toolbox

3.4.0 (2024-12-08)

  • Add job for clang build (#239)

  • Fix bug in rate_limiter filter and add more tests (#237)

  • Fix jerk limiter in rate_limiter (#240)

  • Add downstream build job (#243)

  • Bump version of pre-commit hooks (#242)

  • Fix mergify rules (#241)

  • Remove iron workflows and update readme (#217)

  • Minor include cleanup (#230)

  • Minor CI updates (#236)

  • Move speed limiter from ros2_control repo (#212)

  • Add semi-binary build (#228)

  • Add the same compile flags as with ros2_controllers and fix errors (#219)

  • LPF: Throw if calling udpate unconfigured (#229)

  • Add standalone version of LPF (#222)

  • Pid class does not depend on rclcpp (#221)

  • Change license to Apache-2 (#220)

  • Update README.md (#215)

  • Update README.md (#214)

  • Bump version of pre-commit hooks (#213)

  • Contributors: Christoph Fröhlich, Thibault Poignonec, github-actions[bot]

3.3.0 (2024-10-28)

  • PID: Improve the API docs and change default value of antiwindup (#202)

  • [CI] Specify runner/container images and add Jazzy jobs (#200)

  • Add custom rosdoc2 config (#199)

  • [CI] Update pre-commit and remove ros-lint (#187)

  • Use Eigen CMake target (#190)

  • [CI] Use wf from ros2_control_ci for coverage build (#188)

  • Contributors: Christoph Fröhlich, dependabot[bot], github-actions[bot]

3.2.0 (2023-12-12)

  • [CI] fix source build (#168)

  • Bump actions/setup-python from 4 to 5 (#167)

  • [CI] Touchups (#166)

  • [PID] Update documentation to reflect ROS 2 usage of time (#165)

  • Bump actions/checkout from 3 to 4 (#163)

  • Bump ros-tooling/setup-ros from 0.6 to 0.7 (#161)

  • Add filters structure and lowpass filter (#152)

  • Bump codecov/codecov-action from 3.1.2 to 3.1.4 (#160)

  • Contributors: Christoph Fröhlich, GuiHome, Patrick Roncagliolo

3.1.0 (2023-04-29)

  • Check for i_min <= i_max at initialization (#139)

  • Contributors: Christoph Fröhlich

3.0.0 (2023-04-05)

  • [PidROS] Enable interpreting prefix as param prefix. (#129)

  • Use std::clamp (#140)

  • [CI] Fixes and update for branch out (#155)

  • Enable subclassing of PID implementation. (#148)

  • [CI] Add Humble job (#147)

  • Finally update formatting to other repositories convention. (#131)

  • [CI] 🔧 Update pre-commit hooks and sync actions to other repositories. (#130)

  • Contributors: Bence Magyar, Christoph Fröhlich, Dr. Denis, dependabot[bot]

2.2.0 (2023-02-20)

  • Fix overriding of package (#145)

  • Various dependabot version bumps

  • [CI] Add dependabot configuration to automatically update actions.

  • Contributors: Christoph Fröhlich, Dr. Denis, Tyler Weaver, dependabot[bot]

2.1.2 (2022-11-15)

  • export missing dependency (#128)

  • Contributors: Noel Jiménez García

2.1.1 (2022-11-05)

  • Add declaration of parameters in ROSPid.

  • Fix namespace collision and parameter_callback problems in PidROS

  • Contributors: Aris Synodinos, Denis Štogl

2.1.0 (2022-06-30)

  • Fix parameter loading log levels

  • Support pass in a precomputed derivative error

  • Add getParametersCallbackHandle function

  • Add topic_prefix_ to declareParam & setParameter

  • Update include/control_toolbox/dither.hpp

  • Correct contributing and license files for ament_copyright.

  • Added license text file and contributing guidelines, corrected license short identifier.

  • Remove build of downstream workspace.

  • Update CI config and add pre-commit-config.

  • Contributors: Bence Magyar, ChenJun, Denis Štogl, Timon Engelke

2.0.2 (2021-05-25)

  • remove unused variables

  • Update visibility_control.hpp

  • Windows bringup.

  • Contributors: Karsten Knese, Sean Yen, Bence Magyar

2.0.1 (2020-08-01)

  • Fix dependencies

  • Export ament_cmake build type

  • Contributors: ahcorde

2.0.0 (2020-07-28)

  • Refactor the Pid class to be completely ROS agnostic and added a ROS 2 wrapper

  • Avoid crash when the type of the parameter doesn’t match

  • Added topic_prefix to publisher topic name (#95)

  • Created a shared library (#93)

  • Aliases not part of the public API are now private

  • Removing pid_gains_setter

  • Removed unnecessary dependencies

  • Cleared empty non virtual destructors

  • Removed unused limited proxy variables

  • Added pid state real-time publisher

  • Removed all references to tinyxml

  • Removed tune_pid.py

  • Adding missing copyright licenses

  • Adapted dither, sine_sweep and sinusoid to ROS2

  • Removed dynamic reconfigure completely

  • Removed deprecated functions

  • Contributors: Alejandro Hernández Cordero, Bence Magyar, James Xu, Jordan Palacios, Shane Loretz, ahcorde

1.17.0 (2019-01-31)

  • update anti windup clamping

  • update negativeIntegrationAntiwindupTest

  • Address catkin_lint issues

  • Add executable flag

  • convert to package xml format 2

  • Remove doc header

  • Contributors: Bence Magyar, Cong, Gennaro Raiola

1.16.0 (2017-11-30)

  • switched to industrial_ci

  • Add control_msgs to CATKIN_DEPENDS.

  • Contributors: Bence Magyar, Mathias Luedtke, Mike Purvis

1.15.0 (2016-06-28)

  • avoid ABI breaks in PID class

  • fix add_dependencies call

  • rollback API changes in PID class

  • cfg: removed rosbuild support related error handling

  • Contributors: Bence Magyar, Igor Napolskikh, ipa-mig

1.14.0 (2016-05-03)

  • Fix negative gains issue and add tests; update gains setting through DynamicReconfig

  • Add antiwindup and tests to PID controller; rename old behaviour ‘clamping’

  • Move message to control_toolbox

  • Add optional state publishing to PID controller, for logging/debugging/etc

  • Fix some typos in comments

  • changed the range of dynamic reconfigure to allow negative ones

  • Address -Wunused-parameter warnings

  • Factor out updatePid as negative calls to computeCommand

  • Increasing covergae of PID class test suite.

  • Chain calls of computeCommand and updatePid for code reuse

  • Contributors: Adolfo Rodriguez Tsouroukdissian, Bence Magyar, Carlos Rosales, Guillaume Walck, Paul Bovbel, VahidAminZ

1.13.2 (2015-05-22)

  • CRITICAL BUGFIX: Fix broken PID command computation.

  • Contributors: Adolfo Rodriguez Tsouroukdissian, Paul Bovbel

1.13.1 (2015-04-30)

  • Improvement in integral contribution implementation. Resolve #32.

  • Contributors: Adolfo Rodriguez Tsouroukdissian, Carlos Rosales

1.13.0 (2014-10-31)

  • Harmonize pid gain names between rosparam and dynamic_reconfigure

  • Read i_clamp_min and i_clamp_max form parameter server - if available

  • Contributors: Adolfo Rodriguez Tsouroukdissian, Dave Coleman, ipa-fxm

1.12.1 (2014-06-12)

  • Remove broken test code. Hotfix for #18.

  • Contributors: Adolfo Rodriguez Tsouroukdissian

1.12.0 (2014-06-12)

  • pid: Adding quiet flag to suppress error message

  • Contributors: Jonathan Bohren

1.11.0 (2014-05-12)

  • Remove rosbuild artifacts

  • Cleaned up CMake and removed unnecessary dependencies

  • Made default value negative to match valid range

  • Fix for i_clamp_min to be negative in dynamic reconfigure

  • Fix abs/fabs problem with Clang and libc++

  • Contributors: Adolfo Rodriguez Tsouroukdissian, Dave Coleman, Marco Esposito

1.10.4 (2014-02-05)

  • Added Travis support

  • Renamed manifest.xml so it doesn’t break rosdep

  • Expanded range of PID and windup gains for certain applications.

  • Expanded range of PID and windup gains for certain applications. Lowered default integral and derivative gain

  • check for CATKIN_ENABLE_TESTING

  • Add some comments to Parameters.cfg

  • Add support for dynamic_reconfigure for rosbuild

  • Contributors: Austin Hendrix, Dave Coleman, Lukas Bulwahn, Paul Dinh

1.10.3 (2013-08-02)

  • Fix bug in copy constructor.

  • Contributors: Austin Hendrix

1.10.2 (2013-07-29)

  • Fix copy constructor.

  • Merge pull request #1 from davetcoleman/hydro-devel Added dynamic reconfigure for PID gains

  • Removed const getGains function

  • Small fixes

  • Compatibility changes for realtime_tools, tweaked getests

  • Made realtime_buffer copiable

  • Added test for getting/settings gains, copying/assigning pid class

  • Removed const read, added copy constructor and print values function

  • Added new function getGainsConst that allows one to get the PID gains from a const PID class

  • Added realtime_tools as a dependency in package.xml and CMakeLists

  • Added realtime buffer to PID, re-ordered functions to more logical order and to match header file

  • Fixes per Austin review

  • Updated CMakeLists.txt and made fixes per Adolfo

  • Merged hydro-devel

  • Added dynamic reconfigure for PID gains

  • Tests build.

  • Contributors: Austin Hendrix, Dave Coleman

1.10.1 (2013-06-26)

  • Add dependency on tinyxml.

  • Contributors: Austin Hendrix

1.10.0 (2013-06-25)

  • Version 1.10.0

  • comment format consistentcy

  • Fixing comment in pid source code

  • Install tune_pid.py under catkin.

  • adding install targets

  • adding missing manifests

  • merging CMakeLists.txt files from rosbuild and catkin

  • adding hybrid-buildsystem makefiles

  • Merging from master, re-adding manifest.xml files

  • using more standard way of depending on gencpp

  • Add .gitignore file.

  • Fixing library export

  • catkinizing, could still be cleaned up

  • Fixing doc errors in PID

  • Changing @ commands to commands

  • Enforcing i_min_ <= 0 and i_max_ >= 0 in integral bound parameters, reducing duplicated code

  • Merge pull request #14 from bobholmberg/fix-PID-unbounded-i_error Using zero i_gain_ to turn off integral control did unsavory things.

  • Adding alternative name for new pid command computation API

  • Fixing merge error

  • Merge branch ‘fix-pid-backwards-compatibility’ into fix-PID-unbounded-i_error

  • Removing lie from documentation

  • Adding Bob’s fixes to the backwards-compatibility API

  • Merge branch ‘fix-pid-backwards-compatibility’ into fix-PID-unbounded-i_error

  • bringing back old updatePid function contents

  • adding documentation warning

  • This makes the internal computations of updatePid() keep the same sign that they did before the API change

  • Merge typo

  • Resolving conflict from new Pid API

  • Merge branch ‘master’ into test-bad-integral-bounds

  • Merge branch ‘test-bad-integral-bounds’ into fix-PID-unbounded-i_error

  • Specifying div-by-zero test, adding other integral term tests

  • Merge branch ‘test-bad-integral-bounds’ into fix-PID-unbounded-i_error

  • Adding test to expose Pid class zero-division vulnerability

  • If the user did not want integral control and set i_gain_ to zero, then dividing by i_gain_ would set i_error_ to NaN. This is not desired. Instead, replace the use of division to create i_term with direct integration of i_term_. Replace private member i_error_ with i_term_. In getCurrentPIDErrors() create & return i_error_ with the same old meaning and units. NOTE: i_error_ is not needed internally anywhere else.

  • Cleaning up documentation, making argument names in function declaration match those in the implementation

  • adding doxygen deprecation flags

  • Fixing documentation

  • Merging changes from other branch

  • Adding conventional PID computation

  • Fixing inconsistent formatting, and reducing some duplicated code

  • remove .svn folder

  • move control_toolbox into ros_control

  • Contributors: Adolfo Rodriguez Tsouroukdissian, Austin Hendrix, Bob Holmberg, Jonathan Bohren, Wim Meeussen, wmeeusse