Skip to content

novaphy.SceneBuildResult

Result of SceneBuilderEngine.build_from_urdf or build_from_openusd. Bundles the finalized Model with joint/body inspection lists and initial state. URDF builds also populate the metadata view used by sensors, exporters, and partner UIs; the current USDA build path leaves that metadata default/empty.

Attributes

Attribute Description
model Finalized Model ready to feed into a solver constructor.
joints Flat list of Joint entries, including a real root-joint descriptor. Useful for topology inspection and importer metadata.
bodies Flat list of RigidBody entries matching joints.
metadata SceneBuildMetadata with names, indices, and topological link order.
initial_q Per-articulation initial generalized positions concatenated in DOF order.
initial_qd Per-articulation initial generalized velocities (matching layout).
warnings List of human-readable warning strings collected during the build. Empty on a clean import.

Example

import novaphy

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

state = result.model.state()
state.joint_q.assign(result.initial_q)
state.joint_qd.assign(result.initial_qd)

solver = novaphy.solvers.SolverFeatherstone(result.model)
pipeline = novaphy.CollisionPipeline(result.model)
contacts = pipeline.contacts()
pipeline.collide(state, contacts)
solver.step(state, state, result.model.control(), contacts, 1/240)

Notes

  • joints / bodies are independent inspection copies, not aliases of the arrays embedded in model. Mutating them does not modify the finalized model. Use eval_fk, eval_jacobian, eval_mass_matrix, or SolverFeatherstone for runtime evaluation.
  • Inspect warnings first — non-empty entries report import fallbacks, omissions, or approximations such as missing mesh data or geometry-based inertia fallback.

See Also