Skip to content

novaphy.JointDofConfig

Per-DOF joint configuration consumed by ModelBuilder.add_joint_* to build articulations into a Model. Mirrors Newton's joint DOF specification 1:1.

Constructors

Constructor Description
JointDofConfig() Default DOF (no axis, no limits, no targets).
JointDofConfig.create_unlimited(axis) (static) DOF along axis with limits set to ±inf.

Attributes

Attribute Description
axis 3D axis vector in the joint frame.
limit_lower, limit_upper Position limits (±inf for unlimited).
limit_ke, limit_kd Limit constraint stiffness / damping.
target_pos Default target position.
target_vel Default target velocity.
target_ke, target_kd Target tracking proportional / derivative gains.
armature Joint armature (added to the diagonal of the mass matrix to model rotor inertia).
effort_limit Optional effort clamp.
velocity_limit Optional velocity clamp.
friction Per-DOF Coulomb friction torque.
actuator_mode JointTargetMode for the configured drive.

Example

import numpy as np
import novaphy

dof = novaphy.JointDofConfig()
dof.axis = np.array([0.0, 0.0, 1.0], dtype=np.float32)
dof.limit_lower = -1.5
dof.limit_upper = 1.5
dof.target_ke = 100.0
dof.target_kd = 5.0

joint_idx = builder.add_joint_revolute(parent=-1, child=body_idx, axis=dof)
builder.add_articulation([joint_idx])

See Also