sim.free_motion.SapFreeMotion#
- class sim.free_motion.SapFreeMotion(model: SapModel, *, allocate_dynamics_matrix: bool = False, use_f64_boundary_pose: bool = True, linear_solve_precision: str = 'fp64')[source]#
Bases:
objectStandalone SAP-style free-motion calculation for articulated models.
Inputs and outputs use SAP’s floating mobilizer convention for FREE/DISTANCE joints: [w, v_body_origin]. All other joint DOFs keep the model’s declared order. Frontend-specific convention conversion belongs in the caller before constructing SapState / SapControl.
- __init__(model: SapModel, *, allocate_dynamics_matrix: bool = False, use_f64_boundary_pose: bool = True, linear_solve_precision: str = 'fp64')[source]#
Methods
__init__(model, *[, ...])compute(state_in, control, dt, *[, ...])Compute SAP free motion from SAP-native state/control.
compute_articulation_free_motion(state_in, ...)Compatibility alias returning (v_star, vdot, A_or_None) in SAP order.
Attributes
deviceReturn the Warp device that owns the free-motion work buffers.