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