rigid_body_motion.ros.Transformer

class rigid_body_motion.ros.Transformer(cache_time=None)[source]

Bases: object

Wrapper class for tf2_ros.Buffer.

Can be constructed from a ReferenceFrame instance.

__init__(cache_time=None)[source]

Constructor.

Parameters
cache_timefloat, optional

Cache time of the buffer in seconds.

Methods

__init__([cache_time])

Constructor.

can_transform(target_frame, source_frame[, time])

Check if transform from source to target frame is possible.

from_reference_frame(reference_frame)

Construct Transformer instance from static reference frame tree.

lookup_transform(target_frame, source_frame)

Get the transform from the source frame to the target frame.

set_transform_static(reference_frame)

Add static transform from reference frame to buffer.

set_transforms(reference_frame)

Add transforms from moving reference frame to buffer.

transform_point(p, target_frame, source_frame)

Transform a point from the source frame to the target frame.

transform_pose(p, o, target_frame, source_frame)

Transform a pose from the source frame to the target frame.

transform_quaternion(q, target_frame, …[, …])

Transform a quaternion from the source frame to the target frame.

transform_vector(v, target_frame, source_frame)

Transform a vector from the source frame to the target frame.

can_transform(target_frame, source_frame, time=0.0)[source]

Check if transform from source to target frame is possible.

Parameters
target_framestr

Name of the frame to transform into.

source_framestr

Name of the input frame.

timefloat, default 0.0

Time at which to get the transform. (0 will get the latest)

Returns
bool

True if the transform is possible, false otherwise.

static from_reference_frame(reference_frame)[source]

Construct Transformer instance from static reference frame tree.

Parameters
reference_frameReferenceFrame

Reference frame instance from which to construct the transformer.

Returns
Transformer

Transformer instance.

lookup_transform(target_frame, source_frame, time=0.0)[source]

Get the transform from the source frame to the target frame.

Parameters
target_framestr

Name of the frame to transform into.

source_framestr

Name of the input frame.

timefloat, default 0.0

Time at which to get the transform. (0 will get the latest)

Returns
ttuple, len 3

The translation between the frames.

rtuple, len 4

The rotation between the frames.

set_transform_static(reference_frame)[source]

Add static transform from reference frame to buffer.

Parameters
reference_frameReferenceFrame

Static reference frame to add.

set_transforms(reference_frame)[source]

Add transforms from moving reference frame to buffer.

Parameters
reference_frameReferenceFrame

Static reference frame to add.

transform_point(p, target_frame, source_frame, time=0.0)[source]

Transform a point from the source frame to the target frame.

Parameters
piterable, len 3

Input point in source frame.

target_framestr

Name of the frame to transform into.

source_framestr

Name of the input frame.

timefloat, default 0.0

Time at which to get the transform. (0 will get the latest)

Returns
tuple, len 3

Transformed point in target frame.

transform_pose(p, o, target_frame, source_frame, time=0.0)[source]

Transform a pose from the source frame to the target frame.

Parameters
piterable, len 3

Input position in source frame.

oiterable, len 3

Input orientation in source frame.

target_framestr

Name of the frame to transform into.

source_framestr

Name of the input frame.

timefloat, default 0.0

Time at which to get the transform. (0 will get the latest)

Returns
pttuple, len 3

Transformed position in target frame.

ottuple, len 4

Transformed orientation in target frame.

transform_quaternion(q, target_frame, source_frame, time=0.0)[source]

Transform a quaternion from the source frame to the target frame.

Parameters
qiterable, len 4

Input quaternion in source frame.

target_framestr

Name of the frame to transform into.

source_framestr

Name of the input frame.

timefloat, default 0.0

Time at which to get the transform. (0 will get the latest)

Returns
tuple, len 4

Transformed quaternion in target med quaternion in target frame.

transform_vector(v, target_frame, source_frame, time=0.0)[source]

Transform a vector from the source frame to the target frame.

Parameters
viterable, len 3

Input vector in source frame.

target_framestr

Name of the frame to transform into.

source_framestr

Name of the input frame.

timefloat, default 0.0

Time at which to get the transform. (0 will get the latest)

Returns
tuple, len 3

Transformed vector in target frame.