![]() |
control_toolbox package from control_toolbox repocontrol_toolbox |
ROS Distro
|
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
Additional Links
Maintainers
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
- Melonee Wise
- Sachin Chitta
- John Hsu
control_toolbox
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 |
|
API | |
Kilted | ros2-master |
see above |
API | |
Jazzy | jazzy |
|
API | |
Humble | humble |
|
API |
Acknowledgements
The project has received major contributions from companies and institutions listed on control.ros.org
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
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_cmake_gmock | |
ament_cmake_gtest | |
rclcpp_lifecycle | |
control_msgs | |
filters | |
generate_parameter_library | |
geometry_msgs | |
pluginlib | |
rclcpp | |
rcutils | |
realtime_tools |
System Dependencies
Name |
---|
eigen |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged control_toolbox at Robotics Stack Exchange
![]() |
control_toolbox package from control_toolbox repocontrol_toolbox |
ROS Distro
|
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
Additional Links
Maintainers
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
- Melonee Wise
- Sachin Chitta
- John Hsu
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)
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
Package Dependencies
System Dependencies
Launch files
Messages
Services
Plugins
Recent questions tagged control_toolbox at Robotics Stack Exchange
![]() |
control_toolbox package from control_toolbox repocontrol_toolbox |
ROS Distro
|
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
Additional Links
Maintainers
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
- Melonee Wise
- Sachin Chitta
- John Hsu
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
Package Dependencies
System Dependencies
Launch files
Messages
Services
Plugins
Recent questions tagged control_toolbox at Robotics Stack Exchange
![]() |
control_toolbox package from control_toolbox repocontrol_toolbox |
ROS Distro
|
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
Additional Links
Maintainers
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
- Melonee Wise
- Sachin Chitta
- John Hsu
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
Package Dependencies
System Dependencies
Launch files
Messages
Services
Plugins
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
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
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 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
Package Dependencies
Deps | Name |
---|---|
control_msgs | |
ament_cmake | |
ament_cmake_gmock | |
ament_cmake_gtest | |
rclcpp_lifecycle | |
rclcpp | |
rcutils | |
realtime_tools |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged control_toolbox at Robotics Stack Exchange
![]() |
control_toolbox package from control_toolbox repocontrol_toolbox |
ROS Distro
|
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
Additional Links
Maintainers
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
- Melonee Wise
- Sachin Chitta
- John Hsu
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
gripper_controllers |
Launch files
Messages
Services
Plugins
Recent questions tagged control_toolbox at Robotics Stack Exchange
![]() |
control_toolbox package from control_toolbox repocontrol_toolbox |
ROS Distro
|
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
Additional Links
Maintainers
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
- Melonee Wise
- Sachin Chitta
- John Hsu
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
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged control_toolbox at Robotics Stack Exchange
![]() |
control_toolbox package from control_toolbox repocontrol_toolbox |
ROS Distro
|
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
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)
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 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/
- 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
Package Dependencies
Deps | Name |
---|---|
cmake_modules | |
message_generation | |
catkin | |
message_runtime | |
rosunit | |
control_msgs | |
std_msgs | |
roscpp | |
dynamic_reconfigure | |
realtime_tools |
System Dependencies
Name |
---|
tinyxml |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged control_toolbox at Robotics Stack Exchange
![]() |
control_toolbox package from control_toolbox repocontrol_toolbox |
ROS Distro
|
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
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)
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 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/
- 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
Package Dependencies
Deps | Name |
---|---|
cmake_modules | |
message_generation | |
catkin | |
message_runtime | |
rosunit | |
control_msgs | |
std_msgs | |
roscpp | |
dynamic_reconfigure | |
realtime_tools |
System Dependencies
Name |
---|
tinyxml |