novaphy.UrdfJoint¶
URDF <joint> description. Connects a parent_link to a child_link.
Revolute, continuous, and prismatic joints use the scalar axis/limit fields;
fixed joints have no DOF, while floating and planar types are represented by
the same parsed record but are not single-DOF mechanisms.
Attributes¶
| Attribute | Description |
|---|---|
name |
Joint name. |
type |
Raw URDF joint type string. The scene builder supports "revolute", "continuous", "prismatic", "fixed", "floating", and "spherical". |
parent_link |
Parent link name. |
child_link |
Child link name. |
origin |
Transform from the parent link to the joint frame. |
axis |
Joint axis expressed in the joint frame (3-vector). |
lower_limit |
Lower position limit [rad] (revolute) or [m] (prismatic). |
upper_limit |
Upper position limit [rad] / [m]. |
effort_limit |
Maximum joint effort [N ยท m] / [N]. |
velocity_limit |
Maximum joint velocity [rad/s] / [m/s]. |
damping |
Linear viscous damping coefficient. |
friction |
Static joint friction coefficient. |
has_mimic |
Whether the URDF joint has a <mimic> element. |
mimic_joint |
Name of the source joint referenced by <mimic>. |
mimic_multiplier |
Mimic multiplier; defaults to 1.0. |
mimic_offset |
Mimic offset; defaults to 0.0. |
Example¶
import numpy as np
import novaphy
joint = novaphy.UrdfJoint()
joint.name = "shoulder_pan"
joint.type = "revolute"
joint.parent_link = "base_link"
joint.child_link = "shoulder"
joint.axis = np.array([0.0, 0.0, 1.0], dtype=np.float32)
joint.lower_limit, joint.upper_limit = -3.14, 3.14
joint.effort_limit = 87.0
joint.velocity_limit = 2.16
"planar" and other unsupported type strings remain visible in parsed data,
but the current scene builder reports a warning and falls back to a fixed
joint.