Set mocap_pos/quat in make_data. Fixes #2606.
PiperOrigin-RevId: 755903897 Change-Id: Ied04e9bd3febfe1bbbba24ed1f52b3c0c6e50f38
This commit is contained in:
committed by
Copybara-Service
parent
ecb769fc3a
commit
421c487d9d
@@ -17,6 +17,8 @@ MJX
|
|||||||
^^^
|
^^^
|
||||||
1. Added inverse dynamics.
|
1. Added inverse dynamics.
|
||||||
2. Added tendon actuator force sensor.
|
2. Added tendon actuator force sensor.
|
||||||
|
3. Fix :github:issue:`2606` such that ``make_data`` copies over ``mocap_pos`` and ``mocap_quat``
|
||||||
|
from ``body_pos`` and ``body_quat``.
|
||||||
|
|
||||||
Version 3.3.1 (Apr 9, 2025)
|
Version 3.3.1 (Apr 9, 2025)
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|||||||
@@ -401,6 +401,17 @@ def make_data(
|
|||||||
eq_active=m.eq_active0,
|
eq_active=m.eq_active0,
|
||||||
**zero_fields,
|
**zero_fields,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if m.nmocap:
|
||||||
|
# Set mocap_pos/quat = body_pos/quat for mocap bodies as done in C MuJoCo.
|
||||||
|
body_mask = m.body_mocapid >= 0
|
||||||
|
body_pos = m.body_pos[body_mask]
|
||||||
|
body_quat = m.body_quat[body_mask]
|
||||||
|
d = d.replace(
|
||||||
|
mocap_pos=body_pos[m.body_mocapid[body_mask]],
|
||||||
|
mocap_quat=body_quat[m.body_mocapid[body_mask]],
|
||||||
|
)
|
||||||
|
|
||||||
d = jax.device_put(d, device=device)
|
d = jax.device_put(d, device=device)
|
||||||
|
|
||||||
return d
|
return d
|
||||||
|
|||||||
Reference in New Issue
Block a user