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: object

Standalone 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

device

Return the Warp device that owns the free-motion work buffers.