Skip to content

novaphy.SceneBuildMetadata

Aggregate metadata populated by the URDF scene-build path alongside a SceneBuildResult. Captures the names, topological order, and DOF layout of every link / joint / shape that the builder emitted, so downstream sensors and exporters can address them by name instead of by raw index. The current USDA build path leaves this object default/empty.

Attributes

Attribute Description
import_options Echo of the UrdfImportOptions used for the build (URDF path); default-initialized for USD imports.
root_link_name Name of the root link of the imported articulation.
root_body_index Body index of the root link inside the resulting Model.
root_articulation_index Legacy/misnamed field currently populated with the root body/articulation-link ordinal; do not treat it as a Model articulation ID.
link_names List of link names indexed by URDF link index.
joint_names List of joint names indexed by URDF joint index.
topological_link_order Flat list of link-name strings in parent-before-child order.
articulation_link_names Flat list of surviving body/link names in articulation order (after optional fixed-joint collapse).
dof_joint_names Per-DOF joint name (length = total nv).
dof_qd_indices Per-DOF index into joint_qd (length = total nv). Lets you map a joint name back to a state slot.
links List of SceneLinkMetadata.
joints List of SceneJointMetadata.
shapes List of SceneShapeMetadata.
materials Parsed UrdfMaterial entries.
transmissions Parsed UrdfTransmission entries.
gazebo_extensions Parsed UrdfGazeboExtension entries.
filtered_link_pairs Pairs of link names whose shape collisions were filtered out (self-collision filter, parent-child filter, etc.).

Example

import novaphy

result = novaphy.SceneBuilderEngine().build_from_urdf(data)
meta = result.metadata

# Find the joint_qd slot of "elbow"
qd_slot = meta.dof_qd_indices[meta.dof_joint_names.index("elbow")]

# Walk link names in topological order.
for link_name in meta.topological_link_order:
    print(link_name)

See Also