Joint

class compas.robots.Joint(name, type, parent, child, origin=None, axis=None, calibration=None, dynamics=None, limit=None, safety_controller=None, mimic=None, **kwargs)[source]

Bases: Data

Representation of the kinematics and dynamics of a joint and its safety limits.

Attributes
  • name (str) – Unique name for the joint.

  • type (str | int) – Joint type either as a string or an index number. See class attributes for named constants and supported types.

  • origin (Frame) – Frame defining the transformation from the parent link to the child link frame.

  • parent (ParentLink | str) – Parent link instance or parent link name.

  • child (ChildLink | str) – Child link instance or name of child link.

  • axis (Axis) – Joint axis specified in the joint frame. Represents the axis of rotation for revolute joints, the axis of translation for prismatic joints, and the surface normal for planar joints. The axis is specified in the joint frame of reference.

  • calibration (Calibration) – Reference positions of the joint, used to calibrate the absolute position of the joint.

  • dynamics (Dynamics) – Physical properties of the joint. These values are used to specify modeling properties of the joint, particularly useful for simulation.

  • limit (Limit) – Joint limit properties.

  • safety_controller (SafetyController) – Safety controller properties.

  • mimic (Mimic) – Used to specify that the defined joint mimics another existing joint.

  • attr (dict) – Non-standard attributes.

  • child_link (Link) – Joint’s child link

  • position (float) – The current position of the joint. This depends on the joint type, i.e. for revolute joints, it will be the rotation angle in radians, for prismatic joints the translation in meters.

Class Attributes
  • REVOLUTE (int) – Revolute joint type.

  • CONTINUOUS (int) – Continuous joint type.

  • PRISMATIC (int) – Prismatic joint type.

  • FIXED (int) – Fixed joint type.

  • FLOATING (int) – Floating joint type.

  • PLANAR (int) – Planar joint type.

  • SUPPORTED_TYPES (list[str]) – String representations of the supported joint types.

Methods

calculate_continuous_transformation

Returns a transformation of a continuous joint.

calculate_fixed_transformation

Returns an identity transformation.

calculate_floating_transformation

Returns a transformation of a floating joint.

calculate_planar_transformation

Returns a transformation of a planar joint.

calculate_prismatic_transformation

Returns a transformation of a prismatic joint.

calculate_revolute_transformation

Returns a transformation of a revolute joint.

calculate_transformation

Returns the transformation of the joint.

from_data

Construct an object of this type from the provided data.

get_urdf_element

is_configurable

Returns True if the joint can be configured, otherwise False.

is_scalable

Returns True if the joint can be scaled, otherwise False.

scale

Scale the joint origin and limit (only if scalable) by a given factor.

transform

Transform the joint in place.

Inherited Methods

copy

Make an independent copy of the data object.

from_json

Construct an object from serialized data contained in a JSON file.

from_jsonstring

Construct an object from serialized data contained in a JSON string.

to_data

Convert an object to its native data representation.

to_json

Serialize the data representation of an object to a JSON file.

to_jsonstring

Serialize the data representation of an object to a JSON string.

validate_data

Validate the object's data against its data schema.

validate_json

Validate the object's data against its json schema.