Coordinate System Transformations¶
- class Direction[source]¶
Bases:
ndarray
A cartesian unit norm vector pointing towards a direction.
- classmethod From_Cartesian(vector, normalize=False)[source]¶
Initialize a direction from a cartesian vector.
- Raises:
ValueError – If vector does not represent a valid cartesian vector.
Returns: The initialized direction.
- Return type:
- class Transformable(pose=None)[source]¶
Bases:
Serializable
,TransformableLink
Representation of a Coordinate Frame within a Kinematic Chain.
- Parameters:
pose (Transformation, optional) – Transformation of the transformable with respect to its reference frame. By default, no transformation is considered, i.e.
Transformation.No()
- set_base(base)[source]¶
Set the relative base coordinate frame of this link.
- Parameters:
base (TransformableLink | None) – The base to be coordinate frame to be set. None to detach the link.
- Return type:
- property backwards_transformation: Transformation¶
Transformation to convert global coordinates to local coordinates.
Updated every time the kinematic chain’s parameters change.
Returns: The transformation.
- property forwards_transformation: Transformation¶
Transformation to convert local coordinates to global coordinates.
Updated every time the kinematic chain’s parameters change.
Returns: The transformation.
- property global_orientation: ndarray¶
Orientation of the represented object within the global coordinate system.
Returns: Three-dimensional numpy vector representing roll, pitch and yaw in radians.
- property global_position: ndarray¶
Position of the represented object within the global coordinate system.
Returns: Three-dimensional numpy vector representing the cartesian object coordinates.
- property orientation: ndarray¶
Orientation of the Transformable.
Returns: The transformation in radians for roll, pitch and yaw.
- Raises:
ValueError – If orientation is not a three-dimensional numpy vector.
- property pose: Transformation¶
Pose of the Transformable with respect to its reference link.
Returns: The pose’s transformation.
- property position: ndarray¶
Position of the Transformable.
Cartesian offset to the reference coordinate frame.
- Returns:
Cartesian position x, y, z in m.
- Raises:
ValueError – If position is not a valid three-dimensional vector.
- class TransformableBase[source]¶
Bases:
TransformableLink
Base of kinematic chains.
- set_base(base)[source]¶
Set the relative base coordinate frame of this link.
- Parameters:
base (TransformableLink | None) – The base to be coordinate frame to be set. None to detach the link.
- Return type:
- property forwards_transformation: Transformation¶
Transformation to convert local coordinates to global coordinates.
Updated every time the kinematic chain’s parameters change.
Returns: The transformation.
- class TransformableLink[source]¶
Bases:
object
Abstract base class of kinetmatic chain links.
- add_link(link)[source]¶
Establish a new link to a coordinate frame depending on this frame.
- Parameters:
link (Transformable) – The transformable frame to be registered.
- Return type:
- remove_link(link, force_removal=True)[source]¶
Remove an established link to this coordinate frame.
- Parameters:
link (Transformable) – The coordinate frame to be linked to this frame.
force_removal (bool, optional) – Raise a RuntimeError if the link is not registered
- Raises:
RuntimeError – If the link is not currently registerd and force_removal is enabled.
- Return type:
- abstract set_base(base)[source]¶
Set the relative base coordinate frame of this link.
- Parameters:
base (TransformableLink | None) – The base to be coordinate frame to be set. None to detach the link.
- Return type:
- abstract property forwards_transformation: Transformation¶
Transformation to convert local coordinates to global coordinates.
Updated every time the kinematic chain’s parameters change.
Returns: The transformation.
- property linked_frames: Set[TransformableLink]¶
- class Transformation[source]¶
Bases:
ndarray
,Serializable
Coordinate system transformation.
- classmethod From_Quaternion(quaternion, pos, normalize_quaternion=True)[source]¶
Initialize a transformation from a quaternion.
- Parameters:
quaternion (np.ndarray) – Quaternion in w, x, y, z representation.
pos (np.ndarray) – Cartesian position in m.
normalize (bool, optional) – Normalize the quaternion before computing the rotation matrix. Enabled by default.
- Return type:
Returns: The initialized transformation.
- classmethod From_RPY(rpy, pos)[source]¶
Initialize a transformation from roll pitch yaw angles.
- Parameters:
rpy (np.ndarray) – Roll, pitch and yaw angles in radians.
pos (np.ndarray) – Cartesian position in m.
- Return type:
Returns: The initialized transformation.
- rotate_direction(direction)[source]¶
Rotate a cartesian direction.
- Parameters:
direction (np.ndarray) – A directional vector.
- Return type:
Returns: The transformed direction.
- Raises:
ValueError – If direction is invalid.
- transform_direction(direction, normalize=False)[source]¶
Transform a direction.
- Parameters:
direction (np.ndarray) – Direction to be transformed.
normalize (bool, optional) – Normalize the resulting transformed direction to a unit norm vector. Disabled by default.
- Return type:
Returns: The transformed direction.
- transform_position(position)[source]¶
Transform a cartesian position.
- Parameters:
position (np.ndarray) – Numpy array representing the cartesian position.
- Return type:
Returns: The transformed position.
- Raises:
ValueError – If position is invalid.
- property rotation_quaternion: ndarray¶
Orientation in Quaternion representation.
A numpy vector representing w, x, y, z.