Add actuator and sensor delays. Fixes #1004

PiperOrigin-RevId: 866478839
Change-Id: Id21a6da0f98454c8fa39ea5af8a5e213d6eae497
This commit is contained in:
Yuval Tassa
2026-02-06 08:46:45 -08:00
committed by Copybara-Service
parent 84fa527723
commit 6419534bad
48 changed files with 6282 additions and 219 deletions
+21
View File
@@ -4951,6 +4951,7 @@ public unsafe struct mjData_ {
public double* qpos;
public double* qvel;
public double* act;
public double* history;
public double* qacc_warmstart;
public double* plugin_state;
public double* ctrl;
@@ -5377,6 +5378,7 @@ public unsafe struct mjModel_ {
public Int64 nuserdata;
public Int64 nsensordata;
public Int64 npluginstate;
public Int64 nhistory;
public Int64 narena;
public Int64 nbuffer;
public mjOption_ opt;
@@ -5739,6 +5741,9 @@ public unsafe struct mjModel_ {
public int* actuator_actadr;
public int* actuator_actnum;
public int* actuator_group;
public int* actuator_history;
public int* actuator_historyadr;
public double* actuator_delay;
public byte* actuator_ctrllimited;
public byte* actuator_forcelimited;
public byte* actuator_actlimited;
@@ -5768,6 +5773,10 @@ public unsafe struct mjModel_ {
public int* sensor_adr;
public double* sensor_cutoff;
public double* sensor_noise;
public int* sensor_history;
public int* sensor_historyadr;
public double* sensor_delay;
public double* sensor_interval;
public double* sensor_user;
public int* sensor_plugin;
public int* plugin;
@@ -6709,6 +6718,18 @@ public static unsafe extern void mj_setState(mjModel_* m, mjData_* d, double* st
[DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)]
public static unsafe extern void mj_copyState(mjModel_* m, mjData_* src, mjData_* dst, int sig);
[DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)]
public static unsafe extern double mj_readCtrl(mjModel_* m, mjData_* d, int id, double time, int interp);
[DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)]
public static unsafe extern double* mj_readSensor(mjModel_* m, mjData_* d, int id, double time, double* result, int interp);
[DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)]
public static unsafe extern void mj_initCtrlHistory(mjModel_* m, mjData_* d, int id, double* times, double* values);
[DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)]
public static unsafe extern void mj_initSensorHistory(mjModel_* m, mjData_* d, int id, double* times, double* values, double phase);
[DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)]
public static unsafe extern void mj_setKeyframe(mjModel_* m, mjData_* d, int k);