Package symbol

control_toolbox package from control_toolbox repo

control_toolbox

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.6.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This package contains several C++ classes useful in writing controllers.
Checkout URI https://github.com/ros-controls/control_toolbox.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The control toolbox contains modules that are useful across all controllers.

Additional Links

Maintainers

  • Bence Magyar
  • Denis Štogl
  • Christoph Froehlich
  • Sai Kishor Kothakota

Authors

  • Melonee Wise
  • Sachin Chitta
  • John Hsu

control_toolbox

License Licence codecov

This package contains several C++ classes and filter plugins useful in writing controllers.

See the documentation of ros2_control and release infos on index.ros.org.

Contributing

As an open-source project, we welcome each contributor, regardless of their background and experience. Pick a PR and review it, or create your own! If you are new to the project, please read the contributing guide for more information on how to get started. We are happy to help you with your first contribution.

Build status

ROS2 Distro Branch Build status Documentation Package build
Rolling ros2-master Binary Build
Source Build
build.ros2.org
API Build Status
Kilted ros2-master see above
build.ros2.org
API Build Status
Jazzy jazzy Jazzy Binary Build
Jazzy Source Build
build.ros2.org
API Build Status
Humble humble Humble Binary Build
Humble Source Build
build.ros2.org
API Build Status

Acknowledgements

The project has received major contributions from companies and institutions listed on control.ros.org

CHANGELOG

Changelog for package control_toolbox

3.6.1 (2025-04-06)

  • Add copyright owner (#330) (#332)
  • Bump version of pre-commit hooks (#321) (#324)
  • Make downstream job a semi-binary build (backport #301) (#307)
  • Update upstream/downstream repository branches (#309) (#310)
  • Change workflows and readme for jazzy branch (#292) (#295)
  • Bump version of pre-commit hooks (#288) (#289)
  • Bump version of pre-commit hooks (#282) (#283)
  • Use ABI workflow from ros2_control_ci (backport #278) (#281)
  • Use jazzy branch for realtime_tools (#279) (#280)
  • Contributors: mergify[bot]

3.6.0 (2025-01-17)

  • Branch for humble (backport #265) (#271)
  • Update include paths of GPL (#264) (#266)
  • Contributors: mergify[bot]

3.5.0 (2025-01-15)

  • Update plugin lib exception handling (#263)
  • Fix control_filters tests (#261)
  • Fix lifecycle warning in test (#262)
  • Add missing exponential filter tests and export (#260)
  • Remove visibility boilerplate code (#258)
  • Add filter plugin for exponential filter (#231)
  • Bump version of pre-commit hooks (#255)
  • change the realtime_tools header extensions (#247)
  • Contributors: Christoph Fröhlich, Julia Jia, Sai Kishor Kothakota, github-actions[bot]

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]{.title-ref} 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)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged control_toolbox at Robotics Stack Exchange

Package symbol

control_toolbox package from control_toolbox repo

control_toolbox

ROS Distro
jazzy

Package Summary

Tags No category tags.
Version 4.7.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This package contains several C++ classes useful in writing controllers.
Checkout URI https://github.com/ros-controls/control_toolbox.git
VCS Type git
VCS Version jazzy
Last Updated 2025-08-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The control toolbox contains modules that are useful across all controllers.

Additional Links

Maintainers

  • Bence Magyar
  • Denis Štogl
  • Christoph Froehlich
  • Sai Kishor Kothakota

Authors

  • Melonee Wise
  • Sachin Chitta
  • John Hsu
README
No README found. See repository README.
CHANGELOG

Changelog for package control_toolbox

4.7.0 (2025-08-13)

  • Declare missing parameters for PID (#443) (#445)
  • Use the FilterTest fixture instead (#439) (#446)
  • Add missing public dependency on fmt library (#435)
  • Contributors: Silvio Traversaro, Christoph Fröhlich

4.6.0 (2025-07-22)

  • Deprecate [prefix_is_for_params]{.title-ref} of PidROS (backport #431) (#434)
  • Fix integral action for [AntiWindupStrategy::NONE]{.title-ref} (#432) (#433)
  • Update description of limit() function in rate_limiter (#425) (#429)
  • Update documentation of PID class (backport #388) (#423)
  • Contributors: Christoph Fröhlich

4.5.0 (2025-06-18)

  • Use RealtimeThreadSafeBox for PID class (backport #387) (#413)
  • Redefine the antiwindup strategy and their parameters interfacing (backport #400) (#410)
  • Don't return cmd if called with dt=0 or garbage (backport #326) (#412)
  • Use new RT publisher API in PID class (#394) (#407)
  • Skip callback if saturation parameter is not declared (#397) (#398)
  • [PID] Cleanup saturation parameter in the methods and constructors (#390) (#393)
  • Update anti-windup techniques (#298) (#386)
  • [Pid] Save [i_term]{.title-ref} instead of error integral (backport #294) (#389)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota, Victor Coutinho Vieira Santos

4.4.0 (2025-05-23)

  • Update deprecated call to ament_target_dependencies (#364) (#373)
  • fix deprecated tf2 header (#361) (#363)
  • Update clang_format (backport #347) (#348)
  • Contributors: Christoph Fröhlich, mergify[bot], David V. Lu!!

4.3.0 (2025-04-24)

  • Add std::vector<double> option to the low pass filter (#340) (#344)
  • Contributors: mergify[bot]

4.2.0 (2025-04-19)

  • Fix clang-format (backport #327) (#336)
  • Add gravity compensation filter (#153) (#334)
  • Contributors: Christoph Fröhlich, Daniel Zumkeller, Denis Štogl, GuiHome

4.1.0 (2025-04-06)

  • Move the package to a subfolder (backport #318) (#329)
  • Use global cmake macros (backport #316) (#317)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged control_toolbox at Robotics Stack Exchange

Package symbol

control_toolbox package from control_toolbox repo

control_toolbox

ROS Distro
kilted

Package Summary

Tags No category tags.
Version 5.6.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This package contains several C++ classes useful in writing controllers.
Checkout URI https://github.com/ros-controls/control_toolbox.git
VCS Type git
VCS Version ros2-master
Last Updated 2025-08-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The control toolbox contains modules that are useful across all controllers.

Additional Links

Maintainers

  • Bence Magyar
  • Denis Štogl
  • Christoph Froehlich
  • Sai Kishor Kothakota

Authors

  • Melonee Wise
  • Sachin Chitta
  • John Hsu
README
No README found. See repository README.
CHANGELOG

Changelog for package control_toolbox

5.6.0 (2025-07-22)

  • Deprecate [prefix_is_for_params]{.title-ref} of PidROS (#431)
  • Fix integral action for [AntiWindupStrategy::NONE]{.title-ref} (#432)
  • Update description of limit() function in rate_limiter (#425)
  • Update documentation of PID class (#388)
  • Contributors: Aarav Gupta, Christoph Fröhlich, Victor Coutinho Vieira Santos

5.5.0 (2025-06-18)

  • Use RealtimeThreadSafeBox for PID class (#387)
  • Redefine the antiwindup strategy and their parameter interfacing (#400)
  • Skip callback if saturation parameter is not declared (#397)
  • Use new RT publisher API in PID class (#394)
  • [PID] Cleanup saturation parameter in the methods and constructors (#390)
  • Don't validate data_out if it is empty (#391)
  • Update anti-windup techniques (#298)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota, Victor Coutinho Vieira Santos

5.4.0 (2025-05-23)

  • Update deprecated call to ament_target_dependencies (#364)
  • Make member variables of LowPassFilter class generic (#351)
  • Contributors: David V. Lu!!, Pedro de Azeredo

5.3.2 (2025-05-05)

  • fix deprecated tf2 header (#361)
  • Contributors: Bence Magyar

5.3.1 (2025-04-25)

  • Minor filter fixes + clang-format rules update (#347)
  • Cleanup removed msg fields (#346)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

5.3.0 (2025-04-24)

  • Add std::vector<double> option to the low pass filter (#340)
  • Contributors: Marq Rasmussen

5.2.0 (2025-04-19)

  • Fix clang-format (#327)
  • Add gravity compensation filter (#153)
  • Contributors: Christoph Fröhlich, GuiHome, Daniel Zumkeller, Denis Štogl

5.1.0 (2025-04-06)

  • Remove unused class variables (#328)
  • Don't update internal states if called with dt=0 or garbage (#326)
  • Move the package to a subfolder (#318)
  • Contributors: Christoph Fröhlich

5.0.0 (2025-03-13)

  • Replaced gMock instead of gTest (#300)
  • Update downstream repository branches for humble (#312)
  • Update upstream/downstream repository branches (#309)
  • Make downstream job a semi-binary build (#301)
  • Cleanup duplicate entries in the msg definition (#299)
  • [Pid] Save [i_term]{.title-ref} instead of error integral (#294)
  • Fix mergify config (#296)
  • [Pid] Remove deprecated variables and methods (#293)
  • Change workflows and readme for jazzy branch

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged control_toolbox at Robotics Stack Exchange

Package symbol

control_toolbox package from control_toolbox repo

control_toolbox

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 5.6.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This package contains several C++ classes useful in writing controllers.
Checkout URI https://github.com/ros-controls/control_toolbox.git
VCS Type git
VCS Version ros2-master
Last Updated 2025-08-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The control toolbox contains modules that are useful across all controllers.

Additional Links

Maintainers

  • Bence Magyar
  • Denis Štogl
  • Christoph Froehlich
  • Sai Kishor Kothakota

Authors

  • Melonee Wise
  • Sachin Chitta
  • John Hsu
README
No README found. See repository README.
CHANGELOG

Changelog for package control_toolbox

5.6.0 (2025-07-22)

  • Deprecate [prefix_is_for_params]{.title-ref} of PidROS (#431)
  • Fix integral action for [AntiWindupStrategy::NONE]{.title-ref} (#432)
  • Update description of limit() function in rate_limiter (#425)
  • Update documentation of PID class (#388)
  • Contributors: Aarav Gupta, Christoph Fröhlich, Victor Coutinho Vieira Santos

5.5.0 (2025-06-18)

  • Use RealtimeThreadSafeBox for PID class (#387)
  • Redefine the antiwindup strategy and their parameter interfacing (#400)
  • Skip callback if saturation parameter is not declared (#397)
  • Use new RT publisher API in PID class (#394)
  • [PID] Cleanup saturation parameter in the methods and constructors (#390)
  • Don't validate data_out if it is empty (#391)
  • Update anti-windup techniques (#298)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota, Victor Coutinho Vieira Santos

5.4.0 (2025-05-23)

  • Update deprecated call to ament_target_dependencies (#364)
  • Make member variables of LowPassFilter class generic (#351)
  • Contributors: David V. Lu!!, Pedro de Azeredo

5.3.2 (2025-05-05)

  • fix deprecated tf2 header (#361)
  • Contributors: Bence Magyar

5.3.1 (2025-04-25)

  • Minor filter fixes + clang-format rules update (#347)
  • Cleanup removed msg fields (#346)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

5.3.0 (2025-04-24)

  • Add std::vector<double> option to the low pass filter (#340)
  • Contributors: Marq Rasmussen

5.2.0 (2025-04-19)

  • Fix clang-format (#327)
  • Add gravity compensation filter (#153)
  • Contributors: Christoph Fröhlich, GuiHome, Daniel Zumkeller, Denis Štogl

5.1.0 (2025-04-06)

  • Remove unused class variables (#328)
  • Don't update internal states if called with dt=0 or garbage (#326)
  • Move the package to a subfolder (#318)
  • Contributors: Christoph Fröhlich

5.0.0 (2025-03-13)

  • Replaced gMock instead of gTest (#300)
  • Update downstream repository branches for humble (#312)
  • Update upstream/downstream repository branches (#309)
  • Make downstream job a semi-binary build (#301)
  • Cleanup duplicate entries in the msg definition (#299)
  • [Pid] Save [i_term]{.title-ref} instead of error integral (#294)
  • Fix mergify config (#296)
  • [Pid] Remove deprecated variables and methods (#293)
  • Change workflows and readme for jazzy branch

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged control_toolbox at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.0.2
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/project-march/projectmarch.git
VCS Type git
VCS Version main
Last Updated 2024-08-20
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The control toolbox contains modules that are useful across all controllers.

Additional Links

Maintainers

  • Bence Magyar
  • Jordan Palacios

Authors

  • Melonee Wise
  • Sachin Chitta
  • John Hsu

control_toolbox

See ros_control and control_toolbox documentation on ros.org

Build Status

Build Status

Publication

If you find this work useful please give credits to the authors by citing:

  • S. Chitta, E. Marder-Eppstein, W. Meeussen, V. Pradeep, A. Rodríguez Tsouroukdissian, J. Bohren, D. Coleman, B. Magyar, G. Raiola, M. Lüdtke and E. Fernandez Perdomo “ros_control: A generic and simple control framework for ROS”, The Journal of Open Source Software, 2017. (PDF)
@article{ros_control,
author = {Chitta, Sachin and Marder-Eppstein, Eitan and Meeussen, Wim and Pradeep, Vijay and Rodr{\'i}guez Tsouroukdissian, Adolfo  and Bohren, Jonathan and Coleman, David and Magyar, Bence and Raiola, Gennaro and L{\"u}dtke, Mathias and Fern{\'a}ndez Perdomo, Enrique},
title = {ros\_control: A generic and simple control framework for ROS},
journal = {The Journal of Open Source Software},
year = {2017},
doi = {10.21105/joss.00456},
URL = {http://www.theoj.org/joss-papers/joss.00456/10.21105.joss.00456.pdf}
}

CHANGELOG

Changelog for package control_toolbox

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged control_toolbox at Robotics Stack Exchange

Package symbol

control_toolbox package from control_toolbox repo

control_toolbox

ROS Distro
galactic

Package Summary

Tags No category tags.
Version 5.6.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This package contains several C++ classes useful in writing controllers.
Checkout URI https://github.com/ros-controls/control_toolbox.git
VCS Type git
VCS Version ros2-master
Last Updated 2025-08-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The control toolbox contains modules that are useful across all controllers.

Additional Links

Maintainers

  • Bence Magyar
  • Denis Štogl
  • Christoph Froehlich
  • Sai Kishor Kothakota

Authors

  • Melonee Wise
  • Sachin Chitta
  • John Hsu
README
No README found. See repository README.
CHANGELOG

Changelog for package control_toolbox

5.6.0 (2025-07-22)

  • Deprecate [prefix_is_for_params]{.title-ref} of PidROS (#431)
  • Fix integral action for [AntiWindupStrategy::NONE]{.title-ref} (#432)
  • Update description of limit() function in rate_limiter (#425)
  • Update documentation of PID class (#388)
  • Contributors: Aarav Gupta, Christoph Fröhlich, Victor Coutinho Vieira Santos

5.5.0 (2025-06-18)

  • Use RealtimeThreadSafeBox for PID class (#387)
  • Redefine the antiwindup strategy and their parameter interfacing (#400)
  • Skip callback if saturation parameter is not declared (#397)
  • Use new RT publisher API in PID class (#394)
  • [PID] Cleanup saturation parameter in the methods and constructors (#390)
  • Don't validate data_out if it is empty (#391)
  • Update anti-windup techniques (#298)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota, Victor Coutinho Vieira Santos

5.4.0 (2025-05-23)

  • Update deprecated call to ament_target_dependencies (#364)
  • Make member variables of LowPassFilter class generic (#351)
  • Contributors: David V. Lu!!, Pedro de Azeredo

5.3.2 (2025-05-05)

  • fix deprecated tf2 header (#361)
  • Contributors: Bence Magyar

5.3.1 (2025-04-25)

  • Minor filter fixes + clang-format rules update (#347)
  • Cleanup removed msg fields (#346)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

5.3.0 (2025-04-24)

  • Add std::vector<double> option to the low pass filter (#340)
  • Contributors: Marq Rasmussen

5.2.0 (2025-04-19)

  • Fix clang-format (#327)
  • Add gravity compensation filter (#153)
  • Contributors: Christoph Fröhlich, GuiHome, Daniel Zumkeller, Denis Štogl

5.1.0 (2025-04-06)

  • Remove unused class variables (#328)
  • Don't update internal states if called with dt=0 or garbage (#326)
  • Move the package to a subfolder (#318)
  • Contributors: Christoph Fröhlich

5.0.0 (2025-03-13)

  • Replaced gMock instead of gTest (#300)
  • Update downstream repository branches for humble (#312)
  • Update upstream/downstream repository branches (#309)
  • Make downstream job a semi-binary build (#301)
  • Cleanup duplicate entries in the msg definition (#299)
  • [Pid] Save [i_term]{.title-ref} instead of error integral (#294)
  • Fix mergify config (#296)
  • [Pid] Remove deprecated variables and methods (#293)
  • Change workflows and readme for jazzy branch

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged control_toolbox at Robotics Stack Exchange

Package symbol

control_toolbox package from control_toolbox repo

control_toolbox

ROS Distro
iron

Package Summary

Tags No category tags.
Version 5.6.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This package contains several C++ classes useful in writing controllers.
Checkout URI https://github.com/ros-controls/control_toolbox.git
VCS Type git
VCS Version ros2-master
Last Updated 2025-08-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The control toolbox contains modules that are useful across all controllers.

Additional Links

Maintainers

  • Bence Magyar
  • Denis Štogl
  • Christoph Froehlich
  • Sai Kishor Kothakota

Authors

  • Melonee Wise
  • Sachin Chitta
  • John Hsu
README
No README found. See repository README.
CHANGELOG

Changelog for package control_toolbox

5.6.0 (2025-07-22)

  • Deprecate [prefix_is_for_params]{.title-ref} of PidROS (#431)
  • Fix integral action for [AntiWindupStrategy::NONE]{.title-ref} (#432)
  • Update description of limit() function in rate_limiter (#425)
  • Update documentation of PID class (#388)
  • Contributors: Aarav Gupta, Christoph Fröhlich, Victor Coutinho Vieira Santos

5.5.0 (2025-06-18)

  • Use RealtimeThreadSafeBox for PID class (#387)
  • Redefine the antiwindup strategy and their parameter interfacing (#400)
  • Skip callback if saturation parameter is not declared (#397)
  • Use new RT publisher API in PID class (#394)
  • [PID] Cleanup saturation parameter in the methods and constructors (#390)
  • Don't validate data_out if it is empty (#391)
  • Update anti-windup techniques (#298)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota, Victor Coutinho Vieira Santos

5.4.0 (2025-05-23)

  • Update deprecated call to ament_target_dependencies (#364)
  • Make member variables of LowPassFilter class generic (#351)
  • Contributors: David V. Lu!!, Pedro de Azeredo

5.3.2 (2025-05-05)

  • fix deprecated tf2 header (#361)
  • Contributors: Bence Magyar

5.3.1 (2025-04-25)

  • Minor filter fixes + clang-format rules update (#347)
  • Cleanup removed msg fields (#346)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

5.3.0 (2025-04-24)

  • Add std::vector<double> option to the low pass filter (#340)
  • Contributors: Marq Rasmussen

5.2.0 (2025-04-19)

  • Fix clang-format (#327)
  • Add gravity compensation filter (#153)
  • Contributors: Christoph Fröhlich, GuiHome, Daniel Zumkeller, Denis Štogl

5.1.0 (2025-04-06)

  • Remove unused class variables (#328)
  • Don't update internal states if called with dt=0 or garbage (#326)
  • Move the package to a subfolder (#318)
  • Contributors: Christoph Fröhlich

5.0.0 (2025-03-13)

  • Replaced gMock instead of gTest (#300)
  • Update downstream repository branches for humble (#312)
  • Update upstream/downstream repository branches (#309)
  • Make downstream job a semi-binary build (#301)
  • Cleanup duplicate entries in the msg definition (#299)
  • [Pid] Save [i_term]{.title-ref} instead of error integral (#294)
  • Fix mergify config (#296)
  • [Pid] Remove deprecated variables and methods (#293)
  • Change workflows and readme for jazzy branch

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged control_toolbox at Robotics Stack Exchange

Package symbol

control_toolbox package from control_toolbox repo

control_toolbox

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.19.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description This package contains several C++ classes useful in writing controllers.
Checkout URI https://github.com/ros-controls/control_toolbox.git
VCS Type git
VCS Version melodic-devel
Last Updated 2022-05-10
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The control toolbox contains modules that are useful across all controllers.

Additional Links

Maintainers

  • Bence Magyar

Authors

  • Melonee Wise
  • Sachin Chitta
  • John Hsu

control_toolbox

See ros_control and control_toolbox documentation on ros.org

Build Status (Melodic & Noetic)

Build Status

Publication

If you find this work useful please give credits to the authors by citing:

  • S. Chitta, E. Marder-Eppstein, W. Meeussen, V. Pradeep, A. Rodríguez Tsouroukdissian, J. Bohren, D. Coleman, B. Magyar, G. Raiola, M. Lüdtke and E. Fernandez Perdomo “ros_control: A generic and simple control framework for ROS”, The Journal of Open Source Software, 2017. (PDF)
@article{ros_control,
author = {Chitta, Sachin and Marder-Eppstein, Eitan and Meeussen, Wim and Pradeep, Vijay and Rodr{\'i}guez Tsouroukdissian, Adolfo  and Bohren, Jonathan and Coleman, David and Magyar, Bence and Raiola, Gennaro and L{\"u}dtke, Mathias and Fern{\'a}ndez Perdomo, Enrique},
title = {ros\_control: A generic and simple control framework for ROS},
journal = {The Journal of Open Source Software},
year = {2017},
doi = {10.21105/joss.00456},
URL = {http://www.theoj.org/joss-papers/joss.00456/10.21105.joss.00456.pdf}
}

CHANGELOG

Changelog for package control_toolbox

1.19.0 (2022-05-10)

  • Switch to std::bind
  • Increased integral gains & windup limits from +-1000 to +-100000
  • Update README build status badge
  • Remove Travis CI config
  • Add GH actions CI workflow
  • Update include/control_toolbox/pid.h
  • code review fixes
  • Allow smoother resets 1. Currently after a reset (or init), since p_error_last is_ set to 0, the first computeCommand is calculating a false large derivative error. Proposed fix: only calculate error_dot if p_error_last_ contains a real value. The PR leaves reset() behavior untouched, and provides an additional reset function that allows setting the initial values for d_error and i_error 2. Allow setting initial i_error. This allows PID to be used in a smoother manner in systems switching from manual to automatic modes. See: http://brettbeauregard.com/blog/2011/04/improving-the-beginner%E2%80%99s-pid-initialization/
    1. Improve cases where dt==0 or invalid errors were given (return last cmd_ instead of 0)
  • Contributors: Jochen Sprickerhof, Koby Aizer, Matt Reynolds, Steve Golton, Bence Magyar

1.18.2 (2020-06-04)

  • Python 3 compat part II
  • Contributors: Tobias Fischer

1.18.1 (2020-06-01)

  • Python 3 compat
  • Migrate to new industrial_ci
  • Contributors: Matt Reynolds, Tobias Fischer

1.18.0 (2020-03-27)

  • Bump CMake version to avoid CMP0048 warning
  • add static method to generate non-deterministic seed
  • migrate to STL random library
  • Contributors: James Xu, 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)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged control_toolbox at Robotics Stack Exchange

Package symbol

control_toolbox package from control_toolbox repo

control_toolbox

ROS Distro
noetic

Package Summary

Tags No category tags.
Version 1.19.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description This package contains several C++ classes useful in writing controllers.
Checkout URI https://github.com/ros-controls/control_toolbox.git
VCS Type git
VCS Version melodic-devel
Last Updated 2022-05-10
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The control toolbox contains modules that are useful across all controllers.

Additional Links

Maintainers

  • Bence Magyar

Authors

  • Melonee Wise
  • Sachin Chitta
  • John Hsu

control_toolbox

See ros_control and control_toolbox documentation on ros.org

Build Status (Melodic & Noetic)

Build Status

Publication

If you find this work useful please give credits to the authors by citing:

  • S. Chitta, E. Marder-Eppstein, W. Meeussen, V. Pradeep, A. Rodríguez Tsouroukdissian, J. Bohren, D. Coleman, B. Magyar, G. Raiola, M. Lüdtke and E. Fernandez Perdomo “ros_control: A generic and simple control framework for ROS”, The Journal of Open Source Software, 2017. (PDF)
@article{ros_control,
author = {Chitta, Sachin and Marder-Eppstein, Eitan and Meeussen, Wim and Pradeep, Vijay and Rodr{\'i}guez Tsouroukdissian, Adolfo  and Bohren, Jonathan and Coleman, David and Magyar, Bence and Raiola, Gennaro and L{\"u}dtke, Mathias and Fern{\'a}ndez Perdomo, Enrique},
title = {ros\_control: A generic and simple control framework for ROS},
journal = {The Journal of Open Source Software},
year = {2017},
doi = {10.21105/joss.00456},
URL = {http://www.theoj.org/joss-papers/joss.00456/10.21105.joss.00456.pdf}
}

CHANGELOG

Changelog for package control_toolbox

1.19.0 (2022-05-10)

  • Switch to std::bind
  • Increased integral gains & windup limits from +-1000 to +-100000
  • Update README build status badge
  • Remove Travis CI config
  • Add GH actions CI workflow
  • Update include/control_toolbox/pid.h
  • code review fixes
  • Allow smoother resets 1. Currently after a reset (or init), since p_error_last is_ set to 0, the first computeCommand is calculating a false large derivative error. Proposed fix: only calculate error_dot if p_error_last_ contains a real value. The PR leaves reset() behavior untouched, and provides an additional reset function that allows setting the initial values for d_error and i_error 2. Allow setting initial i_error. This allows PID to be used in a smoother manner in systems switching from manual to automatic modes. See: http://brettbeauregard.com/blog/2011/04/improving-the-beginner%E2%80%99s-pid-initialization/
    1. Improve cases where dt==0 or invalid errors were given (return last cmd_ instead of 0)
  • Contributors: Jochen Sprickerhof, Koby Aizer, Matt Reynolds, Steve Golton, Bence Magyar

1.18.2 (2020-06-04)

  • Python 3 compat part II
  • Contributors: Tobias Fischer

1.18.1 (2020-06-01)

  • Python 3 compat
  • Migrate to new industrial_ci
  • Contributors: Matt Reynolds, Tobias Fischer

1.18.0 (2020-03-27)

  • Bump CMake version to avoid CMP0048 warning
  • add static method to generate non-deterministic seed
  • migrate to STL random library
  • Contributors: James Xu, 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)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged control_toolbox at Robotics Stack Exchange