Utilities#
Interop#
- mink_warp.to_wp(data: TypeAliasForwardRef('ArrayLike') | array, *, dtype=<class 'float'>, device: str | None = None) array[source]#
Upload
datato a Warp array, or return it unchanged if already one.Use only at API boundaries (script init, tests). Prefer keeping
wp.arrayend-to-end in the solve loop.
Helpers#
Constants#
Frame lookup tables used by tasks (defined in mink_warp.constants):
SUPPORTED_FRAMES—("body", "geom", "site")FRAME_TO_ENUM— maps frame type string tomjtObjFRAME_TO_POS_ATTR— batched position array attribute onwp_dataFRAME_TO_XMAT_ATTR— batched orientation array attribute onwp_data
Exceptions#
- class mink_warp.UnsupportedFrame[source]#
Bases:
MinkWarpErrorException raised when a frame type is unsupported.
- class mink_warp.InvalidFrame[source]#
Bases:
MinkWarpErrorException raised when a frame name is not found in the robot model.
- class mink_warp.InvalidKeyframe[source]#
Bases:
MinkWarpErrorException raised when a keyframe name is not found in the robot model.
- class mink_warp.TaskDefinitionError[source]#
Bases:
MinkWarpErrorException raised when a task definition is ill-formed.
- class mink_warp.TargetNotSet[source]#
Bases:
MinkWarpErrorException raised when attempting to use a task with an unset target.
- class mink_warp.InvalidTarget[source]#
Bases:
MinkWarpErrorException raised when the target is invalid.
- class mink_warp.InvalidGain[source]#
Bases:
MinkWarpErrorException raised when the gain is outside the valid range.
- class mink_warp.InvalidDamping[source]#
Bases:
MinkWarpErrorException raised when the damping is outside the valid range.
- class mink_warp.InvalidConstraint[source]#
Bases:
MinkWarpErrorException raised when a model constraint is invalid or inactive.
Integration#
- mink_warp.integrate.integrate_qpos(*, q_in: array, q_out: array, velocity: array, dt_buf: array, jnt_type: array, jnt_qposadr: array, jnt_dofadr: array, nworld: int, njnt: int) None[source]#
q_out = integrate(q_in, velocity, dt)using mjwarp_next_position.q_inandq_outmust be distinct buffers (required for CUDA graphs).dt_bufmust already hold the timestep (do not host-assign inside a graph).