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.