Python backend interfaces#
This selected-method inventory is checked against the handle class definitions
by docs/test_doc_examples.py. Yes means the Python method exists, not
that every robot, dtype, convention or derivative order is supported. It is
not a GPU validation matrix or a promise of arbitrary-order framework autodiff.
Method |
NumPy |
JAX |
PyTorch |
|---|---|---|---|
inverse_dynamics |
Yes |
Yes |
Yes |
inverse_dynamics_gradient |
Yes |
Yes |
Yes |
idsva_so |
Yes |
Yes |
Yes |
minv |
Yes |
Yes |
Yes |
crba |
Yes |
Yes |
Yes |
aba |
Yes |
Yes |
Yes |
forward_dynamics |
Yes |
Yes |
Yes |
forward_dynamics_gradient |
Yes |
Yes |
Yes |
fdsva_so |
Yes |
Yes |
Yes |
inverse_dynamics_regressor |
Yes |
Yes |
Yes |
inverse_dynamics_wrt_params |
No |
Yes |
Yes |
forward_dynamics_wrt_params |
No |
Yes |
Yes |
forward_dynamics_parameter_gradient |
No |
Yes |
Yes |
end_effector_pose |
Yes |
Yes |
Yes |
end_effector_pose_gradient |
Yes |
Yes |
Yes |
end_effector_pose_hessian |
Yes |
Yes |
Yes |
end_effector_pose_runtime |
Yes |
Yes |
Yes |
end_effector_pose_gradient_runtime |
Yes |
Yes |
Yes |
fk_batched |
Yes |
No |
No |
frame_jacobian |
Yes |
Yes |
Yes |
frame_jacobian_dot |
Yes |
Yes |
Yes |
osc_inertia |
Yes |
Yes |
Yes |
com |
Yes |
Yes |
Yes |
ccrba |
Yes |
Yes |
Yes |
dccrba |
Yes |
Yes |
Yes |
cmm_time_variation |
Yes |
Yes |
Yes |
integrator |
Yes |
Yes |
Yes |
integrator_gradient |
Yes |
Yes |
Yes |
plant_step |
Yes |
Yes |
Yes |
plant_step_gradient |
Yes |
Yes |
Yes |
plant_step_hessian |
Yes |
No |
No |
quadratic_state_cost |
Yes |
Yes |
Yes |
com_cost |
Yes |
Yes |
Yes |
momentum_cost |
Yes |
Yes |
Yes |
capture |
No |
No |
Yes |
How to interpret availability#
Absent interface: a
Noabove. For example, framework handles do not exposeplant_step_hessian. NumPy exposes a regressor, not the separate frameworkinverse_dynamics_wrt_paramsmethod.Not built: a method exists, but its operation was not selected for this robot artifact. Check the artifact’s available operations as described in Python Wrappers (grid-rbd); a different method call cannot add generated code.
Unsupported combination: a generator or binding rejects the requested joint type, integration scheme or convention. See CUDA Support Status and the individual algorithm pages. An untested combination is not evidence of support or of a failure.
Resource limited: generated code may exceed the target GPU’s launch or memory limits for a particular robot or batch. Interface presence does not remove those limits.
Important examples: fk_batched is a restricted first-leaf pose helper;
plant step Hessians support Euler/semi-implicit Euler, not multi-stage RK;
and momentum costs use the full 2*NV tangent-state gradient and
Gauss–Newton Hessian, requiring dccrba. MuJoCo-output integration
supports Euler/semi-implicit Euler only. See
Kinematics (end-effector pose, Jacobian, Hessian) and
Integrators and the plant layer before selecting a method.
Use the release measurements and linked
receipts for the configurations actually measured or validated.