Thanks for releasing diffmjx — we reproduced the paper's results (CFD sign repair, Tsit5 gradient calibration, exact toy system-ID recovery) and are using the approach for contact-parameter identification from video.
Two questions:
-
3.x rebase roadmap: is a rebase of the mujoco fork onto current mainline
(3.11.x) planned? We ported the JAX-impl patches (CFD straight-through,
scan_loop, softjax primitive collision smoothing, derivative/inverse utilities)
onto the 3.11.0 tag here: https://github.com/kaplanyan/mujoco/tree/diffmjx-3.11 —
happy to upstream it or serve as a starting point. Notes from the port: several
3.3.1-era patches are already absorbed in mainline (rne flg_acc, safe_div
call sites, the sensor rne-postconstraint set, io enableflags handling); 3.11
moves impl-specific options behind opt._impl, and the CFD straight-through
tree-map needs restricting to float leaves (3.11 Data carries bool fields).
We validated sign-correct FD-vs-AD friction gradients and Adam parameter
recovery on the ported stack. One observation: with mjx_diffrax on 3.11 we
needed looser PID tolerances (rtol ~1e-2) than on 3.3.1 to avoid max_steps
in contact-rich segments.
-
mjx_diffrax license: the repo currently has no license file (diffmjx and
softjax are Apache-2.0). Could one be added so downstream use is unambiguous?
Thanks for releasing diffmjx — we reproduced the paper's results (CFD sign repair, Tsit5 gradient calibration, exact toy system-ID recovery) and are using the approach for contact-parameter identification from video.
Two questions:
3.x rebase roadmap: is a rebase of the mujoco fork onto current mainline
(3.11.x) planned? We ported the JAX-impl patches (CFD straight-through,
scan_loop, softjax primitive collision smoothing, derivative/inverse utilities)onto the 3.11.0 tag here: https://github.com/kaplanyan/mujoco/tree/diffmjx-3.11 —
happy to upstream it or serve as a starting point. Notes from the port: several
3.3.1-era patches are already absorbed in mainline (rne
flg_acc,safe_divcall sites, the sensor rne-postconstraint set, io enableflags handling); 3.11
moves impl-specific options behind
opt._impl, and the CFD straight-throughtree-map needs restricting to float leaves (3.11
Datacarries bool fields).We validated sign-correct FD-vs-AD friction gradients and Adam parameter
recovery on the ported stack. One observation: with mjx_diffrax on 3.11 we
needed looser PID tolerances (rtol ~1e-2) than on 3.3.1 to avoid
max_stepsin contact-rich segments.
mjx_diffrax license: the repo currently has no license file (diffmjx and
softjax are Apache-2.0). Could one be added so downstream use is unambiguous?