Package Summary

Tags No category tags.
Version 0.6.34
License Apache 2.0
Build type CATKIN

Repository Summary

Checkout URI
VCS Type git
VCS Version indigo_dev
Last Updated 2024-02-18
CI status Continuous Integration : 0 / 0
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a throttle for ROS topics

Additional Links

No additional links.


  • Felix Messmer
  • Florian Weisshardt
  • Mattia Racca


  • Mattia Racca


generic_throttle is package offering a Python implementation of a throttle for topics.

The package is composed of - GenericThrottle: class implementing the throttle - generic_throttle_node: ROS node wrapping around an instance of GenericThrottle

The parameters are set as privat parameters of the node. An example .yaml file could look like this:

topics:               # List of topics to be throttled
  - /topic1: {latched: False, lazy: True, topic_rate: 1.0}
  - /topic2: {latched: True, lazy: False, topic_rate: 20.0}
  - /image_topic: {latched: False, lazy: True, topic_rate: 20.0, resolution_factor: 0.5}

For each topic, 3 parameters must be specified: - latched: if True, the publisher of the throttled topic acts as latched (see - lazy: if True, the publisher of the throttled topics will check if the number of subscribers and if there are no, it will not publish the message - topic_rate: desired rate (in Hz) for the throttled topic.

Optional parameter: - resolution_factor: it is meant for topics of type sensor_msgs/Image. If available, the throttle will reduce the resolution of the image by the specified factor. For example, if resolution_factor: 0.5, width and height will be halved.

The throttle will publish on topics with name /topic_throttled (it appends _throttled to the original name). When running an instance of generic_throttle_node, you must define the throttle namespace to let the node discover the required parameters. An example from .launch file:

<node pkg="generic_throttle" type="" name="throttle" ns="test_throttle" />


Changelog for package generic_throttle

0.6.34 (2024-02-18)

0.6.33 (2023-11-06)

0.6.32 (2023-04-29)

0.6.31 (2023-01-04)

0.6.30 (2022-11-17)

0.6.29 (2022-07-29)

0.6.28 (2022-03-15)

0.6.27 (2022-01-12)

0.6.26 (2021-11-26)

0.6.25 (2021-08-02)

0.6.24 (2021-07-02)

0.6.23 (2021-07-01)

0.6.22 (2021-05-10)

0.6.21 (2021-04-06)

0.6.20 (2021-01-25)

  • Merge pull request #294 from fmessmer/fix_python3 fix python3
  • fix python3
  • Merge pull request #291 from fmessmer/fix_python3 fix python3
  • Merge pull request #3 from LoyVanBeek/fix_python3 Get first key and value compatible with both Python 2 & 3
  • Get first key and value compatible with both Python 2 & 3
  • Contributors: Felix Messmer, Loy van Beek, fmessmer

0.6.19 (2020-12-02)

0.6.18 (2020-10-21)

0.6.17 (2020-10-17)

  • Merge pull request #284 from fmessmer/test_noetic test noetic
  • use setuptools instead of distutils
  • Bump CMake version to avoid CMP0048 warning
  • Contributors: Felix Messmer, fmessmer

0.6.16 (2020-03-18)

  • Merge pull request #270 from LoyVanBeek/feature/python3_compatibility [ci_updates] pylint + Python3 compatibility
  • fix more pylint errors
  • fix pylint errors
  • Merge pull request #271 from fmessmer/ci_updates [travis] ci updates
  • catkin_lint fixes
  • Contributors: Felix Messmer, fmessmer

0.6.15 (2019-11-07)

0.6.14 (2019-08-07)

0.6.13 (2019-07-19) ------------------

0.6.12 (2019-06-07)

0.6.11 (2019-04-05)

0.6.10 (2019-03-14)

0.6.9 (2018-07-21)

  • update maintainer
  • Contributors: ipa-fxm

0.6.8 (2018-07-21)

0.6.7 (2018-01-07)

  • Merge remote-tracking branch \'origin/indigo_release_candidate\' into indigo_dev
  • Merge pull request #209 from ipa-fxm/generic_throttle_private_param use private parameters for generic_throttle
  • use private parameters for generic_throttle
  • Merge pull request #197 from ipa-fxm/APACHE_license use license apache 2.0
  • use license apache 2.0
  • Contributors: Benjamin Maidel, Felix Messmer, ipa-fxm, ipa-uhr-mk

0.6.6 (2017-07-17)

  • Change resolution factor to be a multiplicative factor and not a division. Handle resize to factor 0 as OpenCV error.
  • Change misleading resolution with resolution_factor
  • Add rostopic exec_depend
  • Remove cv_bridge build dependency
  • Update manifest and cmake list
  • Update to resolution throttle.
  • Implement resolution throttle for sensor_msgs/Image.
  • Add \@ipa-fmw as maintainer.
  • Add install tags for the executable node
  • Move throttle_node to script folder. Fix typos in README.
  • Update README
  • Rewrite lazy and latched behavior implementation
  • Adapt to new parameter definition layout. Parameters are now set in the node namespace. Throttled topics have \"_throttled\" appended to original topic name.
  • Add ROS node for the throttle separated from the GenericThrottle implementation
  • Implement lazy behavior. Lazy and Latched behavior are disabled by default
  • Remove delay feature. Add latched behaviour (True/False).
  • Remove build dependency on rospy
  • Remove CMakeLists.txt not needed depedencies.
  • Change package to format \"2\" and remove not needed dependencies
  • Update README
  • Moving the python package inside src/generic_throttle. Modifying accordingly CMakeLists.txt and package.xml.
  • remove testing files
  • introduce directory layer
  • Contributors: MattiaRacca

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

Dependant Packages

Launch files

No launch files found


No message files found.


No service files found


No plugins found.

Recent questions tagged generic_throttle at Robotics Stack Exchange