Skip to content

Display

Robert Haschke edited this page Apr 29, 2020 · 1 revision

The Static Transform Publisher display plugin allows to interactively define static tf transforms.

screenshot To do so, define the parent and child frames and tick the checkbox publish transform.

To define your transform you can either use the properties translation and rotation, or you can adjust the pose of the interactive marker with your mouse.

Marker types

You can choose different marker types to display:

  • none: don't show anything
  • static: non-interactive frame
  • interactive frame: a frame that can be dragged my mouse. Hold Ctrl to rotate the marker.
  • 6 DoF handles: a frame with individual control handles for each degree of freedom. This allows more precise control along certain directions.

To distinguish the markers from TF frames, they have arrowheads as can be seen from the screenshot.

Euler transforms

Euler angles define orientations by providing a set of 3 angles for rotations about the x,y, or z axes. Depending on which consecutive rotation axes are actually used, we distinguish 12 different sets of Euler angles:

xyx, yxy, zxy, xyz, yxz, zxz, xzx, yzx, zyx, xzy, yzy, zyz

As we can apply individual rotations w.r.t. the new or w.r.t. the original/static frame (corresponding to right vs. left multiplication of individual rotation matrices), the number of possibilities doubles again.

In ROS, roll-pitch-yaw angles (rpy) are the standard. They correspond to rotations about x,y,z w.r.t. to the static frame.

The EulerProperty provides means to convert between different sets of Euler angles. To do so, just replace the (whole) string in the rotation or Euler angles property fields with the desired axes specifier, e.g. zxy or xyz. To distinguish between relative and static frame (or right vs. left multiplication), you can prepend relative or static. Relative transformations, i.e. right multiplications) are the default if nothing else is specified. Thus rpy corresponds to sxyz.

Adapt transformation

Usually, if you change the parent frame of a transform, the marker will jump to a new pose - respecting the new parent. If you want to keep the marker pose fixed, but adapt instead adapt the pose definition, you can tick the checkbox adapt transformation.

Clone this wiki locally