Geometry

class Config

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

class jacobi.Frame

Bases: pybind11_object

Represents a transformation or pose in 3D Cartesian space.

Encapsulates translation and rotation in a unified manner for 3D poses.

static Identity() Frame

Get the identity transformation.

Returns:

Frame The identity Frame.

__init__(self: Frame, *, x: float = 0.0, y: float = 0.0, z: float = 0.0, a: float = 0.0, b: float = 0.0, c: float = 0.0, qw: float = 1.0, qx: float = 0.0, qy: float = 0.0, qz: float = 0.0) None
angular_distance(self: Frame, other: Frame) float

Calculate the angular distance between two Frames’ orientations.

Parameter other:

The other Frame to compare against.

Returns:

double The angular distance.

static from_euler(x: float, y: float, z: float, a: float, b: float, c: float) Frame

Create a Frame from Euler angles.

Parameter x:

The x translation.

Parameter y:

The y translation.

Parameter z:

The z translation.

Parameter a:

The rotation angle around the x-axis.

Parameter b:

The rotation angle around the y-axis.

Parameter c:

The rotation angle around the z-axis.

Returns:

Frame The Frame with the specified translation and Euler angles.

static from_matrix(data: Annotated[list[float], FixedSize(16)]) Frame

Create a Frame from a matrix.

Parameter data:

A 16-element array representing a 4x4 matrix.

Returns:

Frame The Frame constructed from the matrix.

static from_quaternion(x: float, y: float, z: float, qw: float, qx: float, qy: float, qz: float) Frame

Create a Frame from quaternion values.

Parameter x:

The x component of the quaternion.

Parameter y:

The y component of the quaternion.

Parameter z:

The z component of the quaternion.

Parameter qw:

The scalar component of the quaternion.

Parameter qx:

The x component of the quaternion.

Parameter qy:

The y component of the quaternion.

Parameter qz:

The z component of the quaternion.

Returns:

Frame The Frame with the specified quaternion.

static from_translation(x: float, y: float, z: float) Frame

Create a Frame from translation values.

Parameter x:

The x translation.

Parameter y:

The y translation.

Parameter z:

The z translation.

Returns:

Frame The Frame with the specified translation.

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

Interpolate between this Frame and another Frame.

Parameter t:

The interpolation parameter (0.0 to 1.0).

Parameter other:

The other Frame to interpolate towards.

Returns:

Frame The interpolated Frame.

inverse(self: Frame) Frame
translational_distance(self: Frame, other: Frame) float

Calculate the Euclidean distance between two Frames’ positions.

Parameter other:

The other Frame to compare against.

Returns:

double The Euclidean distance.

property euler

Convert the Frame to Euler angles and translation.

Returns:

std::array<double, 6> The Frame as Euler angles and translation.

property matrix

Convert the Frame to a 4x4 matrix.

Returns:

std::array<double, 16> The Frame as a 4x4 matrix.

class jacobi.Twist

Bases: pybind11_object

Represents a velocity in 3D Cartesian space.

The Twist struct represents a 6-dimensional vector used to describe velocity in 3D Cartesian space. It consists of linear velocities in the x, y, and z directions, and angular velocities around these axes.

__init__(self: Twist, x: float, y: float, z: float, rx: float, ry: float, rz: float) None

Default constructor.