Skip to content

novaphy.SceneBuildResult

Result of SceneBuilderEngine.build_from_urdf or build_from_openusd. Bundles the finalized Model with the joint / body lists and per-articulation initial state required to drive Featherstone-style algorithms, plus a metadata view used by sensors, exporters, and partner UIs.

Attributes

Attribute Description
model Finalized Model ready to feed into a solver constructor.
joints Flat list of Joint entries (one per link, root has None). Suitable for forward_kinematics / mass_matrix_crba.
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[:]  = result.initial_q
state.joint_qd[:] = 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 aliases of the flat per-link lists already embedded in model; they are surfaced here for callers that drive Featherstone helpers (forward_kinematics, forward_dynamics, mass_matrix_crba) directly.
  • Inspect warnings first — non-empty entries flag features that were silently dropped during import (e.g. an unsupported joint friction model).

See Also