Geometry#

class Config#

Type alias for List[float] as a joint configuration of a robot.

class Frame#

Represents a transformation or pose in 3D Cartesian space.

__init__(*, x: float, y: float, z: float, a: float, b: float, c: float, qw: float, qx: float, qy: float, qz: float)#

Create a frame by keyworld-only arguments. Note that only either Euler angles (a, b, c) or Quaternions (qw, qx, qy, qz) are allowed.

static Identity() Frame#
static from_matrix(data: List[float]) Frame#
static from_translation(x: float, y: float, z: float) Frame#
static from_quaternion(x: float, y: float, z: float, qw: float, qx: float, qy: float, qz: float) Frame#
static from_euler(x: float, y: float, z: float, a: float, b: float, c: float) Frame#

The angles a, b, c are using the extrinsic XYZ convention.

property translation: List[float]#

Cartesian position [x, y, z] of the frame.

property matrix: List[float]#

Flattened 4x4 matrix representation of the frame.

property euler: List[float]#

The angles a, b, c are using the extrinsic XYZ convention.

property quaternion: List[float]#

The rotation as a list [w, x, y, z] of the quaternion.

inverse() Frame#

Calculate the inverse transformation of the frame.

translational_distance(other: Frame) float#

Calculates the Euclidian norm of the position difference.

angular_distance(other: Frame) float#

Calculates the angle of the rotational difference.

interpolate(t: float, other: Frame) Frame#

Calculates a spherical linear interpolation between this and the other frame at the interpolation parameter t.

class Twist#

Represents a velocity in 3D Cartesian space.