![]() |
cras_topic_tools package from cras_ros_utils repocamera_throttle cras_bag_tools cras_cpp_common cras_docs_common cras_py_common cras_topic_tools image_transport_codecs tf_static_publisher |
|
Package Summary
Tags | No category tags. |
Version | 2.2.2 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ctu-vras/ros-utils.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-05-15 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Martin Pecka
Authors
- Martin Pecka
cras_topic_tools
Nodes and nodeletes for safe and efficient manipulation with topics.
Mostly supplementing what is missing from topic_tools
and nodelet_topic_tools
.
Support and Build Status
This package is supported on Melodic and Noetic until their End of Life (and maybe later). It is occasionally tested with non-default GCC versions like Melodic+GCC8 or Noetic+GCC11.
Provided Nodes and Nodelets
Here is an overview of the provided nodes and nodelets. See their API docs for details.
Most of these nodes/nodelets are message-type-agnostic, but they may differ between messages that have or do not have a std_msgs/Header header
field.
-
change_header
: Allows modifying headers of messages (frame ID, timestamp). Usage. -
count_messages
: Count the number of received messages and make it available as a ROS parameter. Usage. -
filter
: (only node, no nodelet) Filter messages on a topic based on a Python expression. Usage. -
heartbeat
: Publishcras_msgs/Heartbeat
heartbeat of a topic. Usage. -
mux_replay
: (only node, no nodelet) Control amux
with a recording of its~selected
topic as if it were live. Usage. -
priority_mux
: Inspired bytwist_mux
, provides a hierarchical way of switching output topics. Works for all message types and for multiple output topics. -
relay
: Simple relay with the possibility of lazy subscription. Usage. -
repeat
: Increase the frequency of a topic (with various trigger modes etc.). Usage. -
throttle_messages
: Throttle down frequency of a topic - to an exact value, not using the imprecise algorithm fromtopic_tools throttle
. Usage.
A few convenience libraries for working with generic topics are also provided:
-
shape_shifter
: Easily get the buffer or header of aShapeShifter
message or convert a message toShapeShifter
. Also contains a safe-to-use version ofShapeShifter
for Melodic with fixed memory corruption problems. -
lazy_subscriber
: Base class for all lazy subscribers. -
generic_lazy_pub_sub
: Base implementation of a generic pair of publisher-subscriber of a type not known at compile type.
Changelog for package cras_topic_tools
2.2.2 (2023-05-15)
2.2.1 (2023-05-15)
2.2.0 (2023-04-09)
- Added heartbeat.
- Simplified lazy subscriber classes and nodelet code. Added
~tcp_no_delay param to most nodelets. API breaks included, but
hopefully nothing will be affected. API breaks:
- LazySubscriberBase->ConditionalSubscriber
- LazySubscriber: callback is now passed as parameter instead of being a virtual member function
- GenericLazyPubSub: callback is now passed as parameter instead of being a virtual member function
- the nodelets no longer have a dedicated PubSub object that would be reusable elsewhere (the minimum probability of reuse does not outweigh the code complications it brings)
- Contributors: Martin Pecka
2.1.2 (2023-02-10)
2.1.1 (2023-02-08)
2.1.0 (2023-02-08)
- Added cras::ShapeShifter as a memory-safe option for Melodic.
- Added a method to convert a message instance to ShapeShifter.
- Contributors: Martin Pecka
2.0.10 (2022-11-24)
2.0.9 (2022-11-24)
2.0.8 (2022-11-24)
2.0.7 (2022-11-24)
2.0.6 (2022-11-24)
2.0.5 (2022-10-23)
2.0.4 (2022-10-14)
2.0.3 (2022-10-07)
- Lower test_repeat thresholds even more, OSRF buildfarm is really bad at this
- cras_py_common: Extended functionality to get closer to cras_cpp_common.
- Improved readmes and added more badges to them.
- Contributors: Martin Pecka
2.0.2 (2022-08-29)
- Added option to change_header to apply current ROS time to stamp.
- De-flake throttle test and enable catkin_lint when it has chance to run correctly.
- Satisfy more pedantic Noetic linter.
- Added website links.
- Add linters and licenses.
- Fixed dependency.
- Added linters.
- Fix catkin_lint, re-enable testing.
- Improved comments in nodelet.xml.
- De-flake and speed up throttle test.
- De-flake and speed up repeater test.
- De-flake and speed up relay test.
- De-flake and speed up filter test.
- De-flake and speed up change_header test.
- Avoid threading errors when stopping nodes created by node_from_nodelet.
- Fix compilation on GCC 7.
- Contributors: Martin Pecka
2.0.1 (2022-08-26)
- Moved hack_frame_id from cras_py_common to cras_topic_tools.
- Moved launch files.
- Merged cras_nodelet_topic_tools with cras_topic_tools, moved repeater and joy_repeater from cras_cpp_common to cras_topic_tools.
1.0.0
- Add option to publish only on timer event.
- Protected mux_replay against looping.
- Added mux_replay
- Added filter node. Added ~reset_timer_on_msg to repeat.
- Added topic repeater.
- Contributors: Martin Pecka
Wiki Tutorials
Source Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged cras_topic_tools at answers.ros.org
![]() |
cras_topic_tools package from cras_ros_utils repocamera_throttle cras_bag_tools cras_cpp_common cras_docs_common cras_py_common cras_topic_tools image_transport_codecs tf_static_publisher |
|
Package Summary
Tags | No category tags. |
Version | 2.2.2 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ctu-vras/ros-utils.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-05-15 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Martin Pecka
Authors
- Martin Pecka
cras_topic_tools
Nodes and nodeletes for safe and efficient manipulation with topics.
Mostly supplementing what is missing from topic_tools
and nodelet_topic_tools
.
Support and Build Status
This package is supported on Melodic and Noetic until their End of Life (and maybe later). It is occasionally tested with non-default GCC versions like Melodic+GCC8 or Noetic+GCC11.
Provided Nodes and Nodelets
Here is an overview of the provided nodes and nodelets. See their API docs for details.
Most of these nodes/nodelets are message-type-agnostic, but they may differ between messages that have or do not have a std_msgs/Header header
field.
-
change_header
: Allows modifying headers of messages (frame ID, timestamp). Usage. -
count_messages
: Count the number of received messages and make it available as a ROS parameter. Usage. -
filter
: (only node, no nodelet) Filter messages on a topic based on a Python expression. Usage. -
heartbeat
: Publishcras_msgs/Heartbeat
heartbeat of a topic. Usage. -
mux_replay
: (only node, no nodelet) Control amux
with a recording of its~selected
topic as if it were live. Usage. -
priority_mux
: Inspired bytwist_mux
, provides a hierarchical way of switching output topics. Works for all message types and for multiple output topics. -
relay
: Simple relay with the possibility of lazy subscription. Usage. -
repeat
: Increase the frequency of a topic (with various trigger modes etc.). Usage. -
throttle_messages
: Throttle down frequency of a topic - to an exact value, not using the imprecise algorithm fromtopic_tools throttle
. Usage.
A few convenience libraries for working with generic topics are also provided:
-
shape_shifter
: Easily get the buffer or header of aShapeShifter
message or convert a message toShapeShifter
. Also contains a safe-to-use version ofShapeShifter
for Melodic with fixed memory corruption problems. -
lazy_subscriber
: Base class for all lazy subscribers. -
generic_lazy_pub_sub
: Base implementation of a generic pair of publisher-subscriber of a type not known at compile type.
Changelog for package cras_topic_tools
2.2.2 (2023-05-15)
2.2.1 (2023-05-15)
2.2.0 (2023-04-09)
- Added heartbeat.
- Simplified lazy subscriber classes and nodelet code. Added
~tcp_no_delay param to most nodelets. API breaks included, but
hopefully nothing will be affected. API breaks:
- LazySubscriberBase->ConditionalSubscriber
- LazySubscriber: callback is now passed as parameter instead of being a virtual member function
- GenericLazyPubSub: callback is now passed as parameter instead of being a virtual member function
- the nodelets no longer have a dedicated PubSub object that would be reusable elsewhere (the minimum probability of reuse does not outweigh the code complications it brings)
- Contributors: Martin Pecka
2.1.2 (2023-02-10)
2.1.1 (2023-02-08)
2.1.0 (2023-02-08)
- Added cras::ShapeShifter as a memory-safe option for Melodic.
- Added a method to convert a message instance to ShapeShifter.
- Contributors: Martin Pecka
2.0.10 (2022-11-24)
2.0.9 (2022-11-24)
2.0.8 (2022-11-24)
2.0.7 (2022-11-24)
2.0.6 (2022-11-24)
2.0.5 (2022-10-23)
2.0.4 (2022-10-14)
2.0.3 (2022-10-07)
- Lower test_repeat thresholds even more, OSRF buildfarm is really bad at this
- cras_py_common: Extended functionality to get closer to cras_cpp_common.
- Improved readmes and added more badges to them.
- Contributors: Martin Pecka
2.0.2 (2022-08-29)
- Added option to change_header to apply current ROS time to stamp.
- De-flake throttle test and enable catkin_lint when it has chance to run correctly.
- Satisfy more pedantic Noetic linter.
- Added website links.
- Add linters and licenses.
- Fixed dependency.
- Added linters.
- Fix catkin_lint, re-enable testing.
- Improved comments in nodelet.xml.
- De-flake and speed up throttle test.
- De-flake and speed up repeater test.
- De-flake and speed up relay test.
- De-flake and speed up filter test.
- De-flake and speed up change_header test.
- Avoid threading errors when stopping nodes created by node_from_nodelet.
- Fix compilation on GCC 7.
- Contributors: Martin Pecka
2.0.1 (2022-08-26)
- Moved hack_frame_id from cras_py_common to cras_topic_tools.
- Moved launch files.
- Merged cras_nodelet_topic_tools with cras_topic_tools, moved repeater and joy_repeater from cras_cpp_common to cras_topic_tools.
1.0.0
- Add option to publish only on timer event.
- Protected mux_replay against looping.
- Added mux_replay
- Added filter node. Added ~reset_timer_on_msg to repeat.
- Added topic repeater.
- Contributors: Martin Pecka