-
 
No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.4.7
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 2024-12-12
Dev Status DEVELOPED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Nodes and nodeletes for safe and efficient manipulation with topics

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.

Development versions: CI Dev noetic ubuntu

Release jobs Noetic Noetic version: Bin ubuntu noetic-amd64 Bin ubuntu noetic-arm64 Bin ubuntu noetic-armhf

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: Publish cras_msgs/Heartbeat heartbeat of a topic. Usage.
  • mux_replay: (only node, no nodelet) Control a mux with a recording of its ~selected topic as if it were live. Usage.
  • priority_mux: Inspired by twist_mux, provides a hierarchical way of switching output topics. Works for all message types and for multiple output topics. Usage.
  • 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 from topic_tools throttle. Usage.

A few convenience libraries for working with generic topics are also provided:

  • shape_shifter: Easily get the buffer or header of a ShapeShifter message or convert a message to ShapeShifter. Also contains a safe-to-use version of ShapeShifter 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.
  • priority_mux_base: Base implementation of priority_mux that can be used outside a nodelet.
CHANGELOG

Changelog for package cras_topic_tools

2.4.7 (2024-12-12)

2.4.6 (2024-12-12)

2.4.5 (2024-11-02)

2.4.4 (2024-09-14)

2.4.3 (2024-09-14)

2.4.2 (2024-09-05)

2.4.1 (2024-09-04)

2.4.0 (2024-09-04)

  • Little fixes suggested by linters.
  • priority_mux: Added option to invert disable_topic.
  • Contributors: Martin Pecka

2.3.9 (2024-02-27)

  • Removed catkin_lint buildfarm hacks.
  • Contributors: Martin Pecka

2.3.8 (2024-01-12)

2.3.7 (2024-01-09)

2.3.6 (2024-01-09)

  • Made use of the simplified syntax of node_from_nodelet.
  • Contributors: Martin Pecka

2.3.5 (2023-11-21)

2.3.4 (2023-10-25)

2.3.3 (2023-10-06)

  • priority_mux: Fixed parameters incorrectly reported as required.
  • Contributors: Martin Pecka

2.3.2 (2023-10-06)

  • priority_mux: Duration of the wait before publishing the first message is now configurable.
  • Contributors: Martin Pecka

2.3.1 (2023-07-13)

  • shape_shifter: Fixed detection of header in messages.
  • Contributors: Martin Pecka

2.3.0 (2023-07-12)

  • priority_mux: Added possibility to send a message just before disabling a topic.
  • shape_shifter: Improved getHeader().
  • Increased minimum CMake version to 3.10.2.
  • priority_mux: Total rewrite, now it should really work.
  • Contributors: Martin Pecka

2.2.3 (2023-06-16)

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cras_topic_tools at Robotics Stack Exchange

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.4.7
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 2024-12-12
Dev Status DEVELOPED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Nodes and nodeletes for safe and efficient manipulation with topics

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.

Development versions: CI Dev noetic ubuntu

Release jobs Noetic Noetic version: Bin ubuntu noetic-amd64 Bin ubuntu noetic-arm64 Bin ubuntu noetic-armhf

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: Publish cras_msgs/Heartbeat heartbeat of a topic. Usage.
  • mux_replay: (only node, no nodelet) Control a mux with a recording of its ~selected topic as if it were live. Usage.
  • priority_mux: Inspired by twist_mux, provides a hierarchical way of switching output topics. Works for all message types and for multiple output topics. Usage.
  • 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 from topic_tools throttle. Usage.

A few convenience libraries for working with generic topics are also provided:

  • shape_shifter: Easily get the buffer or header of a ShapeShifter message or convert a message to ShapeShifter. Also contains a safe-to-use version of ShapeShifter 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.
  • priority_mux_base: Base implementation of priority_mux that can be used outside a nodelet.
CHANGELOG

Changelog for package cras_topic_tools

2.4.7 (2024-12-12)

2.4.6 (2024-12-12)

2.4.5 (2024-11-02)

2.4.4 (2024-09-14)

2.4.3 (2024-09-14)

2.4.2 (2024-09-05)

2.4.1 (2024-09-04)

2.4.0 (2024-09-04)

  • Little fixes suggested by linters.
  • priority_mux: Added option to invert disable_topic.
  • Contributors: Martin Pecka

2.3.9 (2024-02-27)

  • Removed catkin_lint buildfarm hacks.
  • Contributors: Martin Pecka

2.3.8 (2024-01-12)

2.3.7 (2024-01-09)

2.3.6 (2024-01-09)

  • Made use of the simplified syntax of node_from_nodelet.
  • Contributors: Martin Pecka

2.3.5 (2023-11-21)

2.3.4 (2023-10-25)

2.3.3 (2023-10-06)

  • priority_mux: Fixed parameters incorrectly reported as required.
  • Contributors: Martin Pecka

2.3.2 (2023-10-06)

  • priority_mux: Duration of the wait before publishing the first message is now configurable.
  • Contributors: Martin Pecka

2.3.1 (2023-07-13)

  • shape_shifter: Fixed detection of header in messages.
  • Contributors: Martin Pecka

2.3.0 (2023-07-12)

  • priority_mux: Added possibility to send a message just before disabling a topic.
  • shape_shifter: Improved getHeader().
  • Increased minimum CMake version to 3.10.2.
  • priority_mux: Total rewrite, now it should really work.
  • Contributors: Martin Pecka

2.2.3 (2023-06-16)

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged cras_topic_tools at Robotics Stack Exchange