novaphy.Joint¶
Per-link joint descriptor used by Featherstone helpers and by the in-tree
sensors module. NovaPhy uses flat per-link joints / bodies lists —
there is no Articulation struct.
For building articulations into a Model, use
ModelBuilder.add_joint_* + ModelBuilder.add_articulation([...]) with
JointDofConfig. Joint instances are typically
constructed only when calling Featherstone helpers like
forward_dynamics() directly.
Properties¶
| Property | Description |
|---|---|
type |
JointType. |
axis |
3D axis vector for revolute / slide joints (in joint-local frame). |
parent |
Parent link index (-1 for root). |
parent_to_joint |
Transform from parent-link frame to joint frame. |
limit_enabled, lower_limit, upper_limit |
Joint limit switch and bounds. |
limit_ke, limit_kd |
Limit spring / damping gains. |
target_mode, target, target_ke, target_kd |
Model-side drive mode and gains. |
armature, damping, friction |
Per-joint dynamic parameters. |
effort_limit, velocity_limit |
Optional effort and velocity clamps. |
enabled |
Runtime enable flag. |
Methods¶
| Method | Description |
|---|---|
num_q() |
Number of generalized position coordinates. |
num_qd() |
Number of generalized velocity coordinates. |
Example¶
import numpy as np
import novaphy
joint = novaphy.Joint()
joint.type = novaphy.JointType.Revolute
joint.axis = np.array([0, 0, 1], dtype=np.float32)
joint.parent = -1