Skip to content

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.

See Also