Skip to content

This package contains a bunch of utilities that have been created in the aim to fill some usability gaps in TF.

Notifications You must be signed in to change notification settings

CRLab/lcsr_tf_tools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LCSR TF Tools

This package contains a bunch of utilities that have been created in the aim to fill some usability gaps in TF.

Tools

Interactive Transform Publisher

This program creates a TF frame based off of an interactive marker which can be manipulated in RViz.

For example, to create an interactive tf frame, you can run this script, and then add an "Interactive Marker" display to an instance of RViz.

rosrun lcsr_tf_tools interactive_transform_publisher 0 0 0  0 0 0 /world /cmd_frame 10

Twist Frame Integrator

This script integrates geomatry_msgs/TwistStamped messages and broadcasts a TF frame of a given name.

Paramters:

  • ~frame_id
  • ~child_frame_id
  • ~linear_multiplier
  • ~angular_multiplier
  • ~broadcast_rate
  • ~body_fixed

Multi-Static Publisher

This node listens on a topic for static transforms to publish, and then re-publishes them as batch messages when it can do so. It will publish at the highest common period of the requested frames.

The publisher itself has no arguments, but instead it is controlled by running two other scripts:

  • set_multi_static.py
  • del_multi_static.py

This is a stop-gap until TF2's static transforms are better supported.

Usage:

set_multi_static.py [-h] [--node-name node_name] [-xyz x y z]
                           [-aa x y z t | -ypr yaw pitch roll | -quat qx qy qz qw]
                           frame_id child_frame_id period

Set frames being broadcast by a multi_static_transform_publisher

positional arguments:
  frame_id              The frame_id of the frame in which new new frame is
                        defined.
  child_frame_id        The frame_id of the new frame.
  period                Publish period in ms.

optional arguments:
  -h, --help            show this help message and exit
  --node-name node_name
                        The name of the multi publisher that should publish
                        this transform. Default is 'multi_tf_pub'
  -xyz x y z            Position in x, y, z)
  -aa x y z t           Orientation in axis/angle x, y, z, theta
  -ypr yaw pitch roll   Orientation in yaw, pitch, roll
  -quat qx qy qz qw     Orientation in quaternion

Usage:

del_multi_static.py [-h] [--node-name node_name]
                           frame_id [frame_id ...]

Delete frames being broadcast by a multi_static_transform_publisher

positional arguments:
  frame_id              The frame_ids of each frame to stop broadcasting.

optional arguments:
  -h, --help            show this help message and exit
  --node-name node_name
                        The name of the multi publisher that should publish
                        this transform. Default is 'multi_tf_pub'

About

This package contains a bunch of utilities that have been created in the aim to fill some usability gaps in TF.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 50.0%
  • C++ 46.7%
  • CMake 3.2%
  • Makefile 0.1%