Skip to content

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

See Also