rbs_typing

Common typing aliases used across robotblockset.

This module is based on the airo-typing module (https://github.com/airo-ugent/airo-mono).

robotblockset.rbs_typing.ArrayLike

array-like inputs converted via rbs_type

alias of ndarray | List[float] | List[int] | Tuple[float, …] | Tuple[int, …]

robotblockset.rbs_typing.Vector2DType

a (2,) np array that represents a 2D position/translation/direction

robotblockset.rbs_typing.Vector2DArrayType

a (N,2) np array that represents N 2D positions/translations/directions

robotblockset.rbs_typing.Vectors2DType

a convenience type that represents a (2,) 2D vector or (N,2) array of 3D vectors.

robotblockset.rbs_typing.Vector3DType

a (3,) np array that represents a 3D position/translation/direction

robotblockset.rbs_typing.Vector3DArrayType

a (N,3) np array that represents N 3D positions/translations/directions

robotblockset.rbs_typing.Vectors3DType

a convenience type that represents a (3,) 3D vector or (N,3) array of 3D vectors.

robotblockset.rbs_typing.Pose3DType

a (7, ) np array that represents 3D positions/quaterion

robotblockset.rbs_typing.Pose3DArrayType

a (N,7) np array that represents N 3D positions/quaterion

robotblockset.rbs_typing.Poses3DType

a convenience type that represents a (7,) 3D pose or (N,7) array of 3D poses.

robotblockset.rbs_typing.Velocity3DType

a (6, ) np array that represents 3D velocities

robotblockset.rbs_typing.Velocity3DArrayType

a (N,6) np array that represents N 3D velocities

robotblockset.rbs_typing.Velocities3DType

a convenience type that represents a (6,) 3D pose or (6,7) array of 3D velocities.

robotblockset.rbs_typing.Acceleration3DType

a (6, ) np array that represents 3D accelerations

robotblockset.rbs_typing.Acceleration3DArrayType

a (N,6) np array that represents N 3D accelerations

robotblockset.rbs_typing.Accelerations3DType

a convenience type that represents a (6,) 3D pose or (6,7) array of 3D accelerations.

robotblockset.rbs_typing.QuaternionObjectArrayType

Quaternionic QArray interface with an ndarray representation.

robotblockset.rbs_typing.QuaternionType

scalar-first quaternion <w,x,y,z> that represents a rotation around the <x,y,z> axis with angle <theta>

robotblockset.rbs_typing.QuaternionArrayType

a (N,4) npy array that represets quaternion that represents a rotation around the <x,y,z> axis with angle <theta>

robotblockset.rbs_typing.QuaternionsType

a convenience type that represents a (4,) quaternion or (N,4) array of quaternions.

robotblockset.rbs_typing.RotationMatrixType

3x3 rotation matrix

robotblockset.rbs_typing.RotationMatrixArrayType

a (N, 3, 3) array of 3x3 rotation matrices

robotblockset.rbs_typing.RotationMatricesType

a convenience type that represents a (3,3) rotation matrix or (N,3,3) array of rotation matrices.

robotblockset.rbs_typing.EulerAnglesType

XYZ angles of rotation around the axes of the original frame (extrinsic). First rotate around X, then around Y, finally around Z.

robotblockset.rbs_typing.AxisAngleType

a tuple of a unit vector representing the axis of rotation and a float representing the angle of rotation in radians. The rotation is right-handed around the axis.

alias of Tuple[ndarray, float]

robotblockset.rbs_typing.RotationVectorType

Rotation vector <x*theta,y*theta,z*theta> that represents a rotation around the <x,y,z> axis with angle <theta>. The rotation is right-handed around the axis.

robotblockset.rbs_typing.HomogeneousMatrixType

4x4 homogeneous transform matrix <<R,T>|<0,0,0,1>> that represents the pose of a frame A in another frame B. Shorthand notation is T^A_B. The upper left 3x3 block R is the rotation matrix that represents the orientation of frame A with respect to frame B, and the upper right 3x1 block T is the translation vector that represents the position of frame A with respect to frame B, expressed in frame B.

robotblockset.rbs_typing.HomogeneousMatrixArrayType

array (N, 4,4) of homogeneous transform matrices

robotblockset.rbs_typing.HomogeneousMatricesType

a convenience type that represents a (4,4) homogenous matrix or (N,4,4) array of homogenous matrices.

robotblockset.rbs_typing.TCPType

a TCP pose expressed as (7,), (4,4), or (3,) array

robotblockset.rbs_typing.CartesianPathType

a (T, N) array of joint states (can be position/velocity/acceleration) that describe a path in joint space

robotblockset.rbs_typing.WrenchType

a (6,) numpy array that represents a wrench applied on a frame and expressed in a (possibly different) frame as [Fx,Fy,Fz,Tx,Ty,Tz]. Shorthand notation is W^F_E, where F is the frame the wrench is applied on, and E is the frame the wrench is expressed in.

robotblockset.rbs_typing.TwistType

a (6,) numpy array that represents the spatial velocity or an incremental motion of one frame as measured in another frame (and possibly expressed in a third frame). Shorthand notation is ^C T^B_A, where C is the frame the velocity is measured in, B is the frame the velocity is expressed in.

robotblockset.rbs_typing.JointConfigurationType

an (N,) numpy array that represents the joint angles for a robot

robotblockset.rbs_typing.JointVelocityType

an (N,) numpy array that represents the joint velocities for a robot

robotblockset.rbs_typing.JointAccelerationType

an (N,) numpy array that represents the joint accelerations for a robot

robotblockset.rbs_typing.JointTorqueType

an (N,) numpy array that represents the joint torques for a robot

robotblockset.rbs_typing.JointPathType

a (T, N) array of joint states (can be position/velocity/acceleration) that describe a path in joint space

robotblockset.rbs_typing.TimesType

a (T,) array of monotonically increasing times (float), corresponding to a path

robotblockset.rbs_typing.JointPathConstraintType

when the constraint function’s absolute output is smaller than the tolerance, the constraint is satisfied.

Type:

a tuple of a constraint function and a tolerance value

alias of Tuple[Callable[[ndarray], float], float]

robotblockset.rbs_typing.JacobianType

a (6, N) array representing the Jacobian matrix

robotblockset.rbs_typing.ForwardKinematicsFunctionType

a function that computes the forward kinematics of a given joint configuration

alias of Callable[[ndarray], ndarray]

robotblockset.rbs_typing.InverseKinematicsFunctionType

a function that computes one or more inverse kinematics solutions of a given TCP pose

alias of Callable[[ndarray], List[ndarray]]

robotblockset.rbs_typing.JointConfigurationCheckerType

a function that checks a certain condition on a joint configuration, e.g. collision checking

alias of Callable[[ndarray], bool]

robotblockset.rbs_typing.OpenCVIntImageType

an image in the OpenCV format: BGR, uint8, (H,W,C)

robotblockset.rbs_typing.NumpyFloatImageType

a float image in the numpy format: RGB, float (0-1), (H,W,C)

robotblockset.rbs_typing.NumpyIntImageType

an int image in the numpy format: RGB, uint8 (0-255), (H,W,C)

robotblockset.rbs_typing.TorchFloatImageType

an image in the torch format: RGB, float(0-1), (C,H,W)

robotblockset.rbs_typing.NumpyDepthMapType

a depth map (z-buffer),float, (H,W)

robotblockset.rbs_typing.NumpyConfidenceMapType

a confidence map (higher is more confidence), float(0-1), (H,W)

robotblockset.rbs_typing.CameraResolutionType

a tuple of image (width, height) in pixels

alias of Tuple[int, int]

robotblockset.rbs_typing.CameraIntrinsicsMatrixType

3x3 camera intrinsics matrix

K = [[fx,s,cx],[0,fy,cy],[0,0,1]] see e.g. https://ksimek.github.io/2013/08/13/intrinsic/ for more details

robotblockset.rbs_typing.CameraExtrinsicMatrixType

4x4 camera extrinsic matrix, this is the homogeneous matrix that describes the camera pose in the world frame

robotblockset.rbs_typing.BoundingBox3DType

a tuple of two tuples that represent the min and max corners of a 3D bounding box

alias of Tuple[Tuple[float, float, float], Tuple[float, float, float]]

robotblockset.rbs_typing.PointCloudPositionsType

a (N,3) float32 numpy array that represents a point cloud

robotblockset.rbs_typing.PointCloudColorsType

a (N,3) uint8 numpy array that represents the RGB colors of a point cloud

robotblockset.rbs_typing.PointCloudAttributesType

a dictionary of numpy arrays that represent additional attributes of a point cloud, e.g. normals, confidence, etc.

alias of Dict[str, ndarray]

class robotblockset.rbs_typing.PointCloud(points: numpy.ndarray, colors: numpy.ndarray | None = None, attributes: Dict[str, numpy.ndarray] | None = None)[source]

Bases: object

points: ndarray
colors: ndarray | None = None
attributes: Dict[str, ndarray] | None = None

Attributes

ArrayLike

array-like inputs converted via rbs_type

Vector2DType

a (2,) np array that represents a 2D position/translation/direction

Vector2DArrayType

a (N,2) np array that represents N 2D positions/translations/directions

Vectors2DType

a convenience type that represents a (2,) 2D vector or (N,2) array of 3D vectors.

Vector3DType

a (3,) np array that represents a 3D position/translation/direction

Vector3DArrayType

a (N,3) np array that represents N 3D positions/translations/directions

Vectors3DType

a convenience type that represents a (3,) 3D vector or (N,3) array of 3D vectors.

Pose3DType

a (7, ) np array that represents 3D positions/quaterion

Pose3DArrayType

a (N,7) np array that represents N 3D positions/quaterion

Poses3DType

a convenience type that represents a (7,) 3D pose or (N,7) array of 3D poses.

Velocity3DType

a (6, ) np array that represents 3D velocities

Velocity3DArrayType

a (N,6) np array that represents N 3D velocities

Velocities3DType

a convenience type that represents a (6,) 3D pose or (6,7) array of 3D velocities.

Acceleration3DType

a (6, ) np array that represents 3D accelerations

Acceleration3DArrayType

a (N,6) np array that represents N 3D accelerations

Accelerations3DType

a convenience type that represents a (6,) 3D pose or (6,7) array of 3D accelerations.

QuaternionObjectArrayType

Quaternionic QArray interface with an ndarray representation.

QuaternionType

scalar-first quaternion <w,x,y,z> that represents a rotation around the <x,y,z> axis with angle <theta>

QuaternionArrayType

a (N,4) npy array that represets quaternion that represents a rotation around the <x,y,z> axis with angle <theta>

QuaternionsType

a convenience type that represents a (4,) quaternion or (N,4) array of quaternions.

RotationMatrixType

3x3 rotation matrix

RotationMatrixArrayType

a (N, 3, 3) array of 3x3 rotation matrices

RotationMatricesType

a convenience type that represents a (3,3) rotation matrix or (N,3,3) array of rotation matrices.

EulerAnglesType

XYZ angles of rotation around the axes of the original frame (extrinsic).

AxisAngleType

a tuple of a unit vector representing the axis of rotation and a float representing the angle of rotation in radians.

RotationVectorType

Rotation vector <x*theta,y*theta,z*theta> that represents a rotation around the <x,y,z> axis with angle <theta>.

HomogeneousMatrixType

4x4 homogeneous transform matrix <<R,T>|<0,0,0,1>> that represents the pose of a frame A in another frame B.

HomogeneousMatrixArrayType

array (N, 4,4) of homogeneous transform matrices

HomogeneousMatricesType

a convenience type that represents a (4,4) homogenous matrix or (N,4,4) array of homogenous matrices.

TCPType

a TCP pose expressed as (7,), (4,4), or (3,) array

CartesianPathType

a (T, N) array of joint states (can be position/velocity/acceleration) that describe a path in joint space

WrenchType

a (6,) numpy array that represents a wrench applied on a frame and expressed in a (possibly different) frame as [Fx,Fy,Fz,Tx,Ty,Tz].

TwistType

a (6,) numpy array that represents the spatial velocity or an incremental motion of one frame as measured in another frame (and possibly expressed in a third frame).

JointConfigurationType

an (N,) numpy array that represents the joint angles for a robot

JointVelocityType

an (N,) numpy array that represents the joint velocities for a robot

JointAccelerationType

an (N,) numpy array that represents the joint accelerations for a robot

JointTorqueType

an (N,) numpy array that represents the joint torques for a robot

JointPathType

a (T, N) array of joint states (can be position/velocity/acceleration) that describe a path in joint space

TimesType

a (T,) array of monotonically increasing times (float), corresponding to a path

JointPathConstraintType

when the constraint function's absolute output is smaller than the tolerance, the constraint is satisfied.

JacobianType

a (6, N) array representing the Jacobian matrix

ForwardKinematicsFunctionType

a function that computes the forward kinematics of a given joint configuration

InverseKinematicsFunctionType

a function that computes one or more inverse kinematics solutions of a given TCP pose

JointConfigurationCheckerType

a function that checks a certain condition on a joint configuration, e.g. collision checking.

OpenCVIntImageType

an image in the OpenCV format: BGR, uint8, (H,W,C)

NumpyFloatImageType

a float image in the numpy format: RGB, float (0-1), (H,W,C)

NumpyIntImageType

an int image in the numpy format: RGB, uint8 (0-255), (H,W,C)

TorchFloatImageType

an image in the torch format: RGB, float(0-1), (C,H,W)

NumpyDepthMapType

a depth map (z-buffer),float, (H,W)

NumpyConfidenceMapType

a confidence map (higher is more confidence), float(0-1), (H,W)

CameraResolutionType

a tuple of image (width, height) in pixels

CameraIntrinsicsMatrixType

3x3 camera intrinsics matrix

CameraExtrinsicMatrixType

4x4 camera extrinsic matrix, this is the homogeneous matrix that describes the camera pose in the world frame

BoundingBox3DType

a tuple of two tuples that represent the min and max corners of a 3D bounding box

PointCloudPositionsType

a (N,3) float32 numpy array that represents a point cloud

PointCloudColorsType

a (N,3) uint8 numpy array that represents the RGB colors of a point cloud

PointCloudAttributesType

a dictionary of numpy arrays that represent additional attributes of a point cloud, e.g. normals, confidence, etc.

Classes

PointCloud(points[, colors, attributes])