MJCFJoint#

Fully qualified name: isaacsim::asset::importer::mjcf::MJCFJoint

class MJCFJoint#

Represents a joint in the MJCF (MuJoCo XML Format) model.

Defines a kinematic joint that connects two bodies with specified degrees of freedom. Supports various joint types including hinge (revolute), slide (prismatic), ball (spherical), and free joints with configurable limits, dynamics, and control parameters.

Public Types

enum Type#

Enumeration of joint types supported in MJCF.

Values:

enumerator HINGE#

Revolute joint with rotation about a single axis.

enumerator SLIDE#

Prismatic joint with translation along a single axis.

enumerator BALL#

Ball joint with rotation about all three axes.

enumerator FREE#

Free joint with translation and rotation in all directions.

Public Functions

inline MJCFJoint()#

Public Members

std::string name#

Name identifier for the joint.

Type type = HINGE#

Type of the joint (hinge, slide, ball, or free).

bool limited#

Whether the joint has motion limits.

float armature#

Armature inertia for numerical stability.

float stiffness#

Stiffness coefficient for joint springs.

float damping#

Damping coefficient for joint friction.

float friction#

Dry friction force magnitude.

Vec3 axis#

Axis of rotation or translation for the joint.

float ref#

Reference angle or position for the joint.

Vec3 pos#

Position offset for the joint in the parent body frame.

Vec2 range#

Joint motion limits [lower, upper].

Vec2 forcerange = {0.0f, 0.0f}#

Force limits [lower, upper] for the joint.

float velocityLimits[6]#

Velocity limits for each degree of freedom.

float initVal#

Initial value for the joint position or angle.