Add mjModel.sensor_intprm, integer parameters of sensors

PiperOrigin-RevId: 781053754
Change-Id: I90e5ef1cab3f87b894dbc70dccfc8bf0046ce1b6
This commit is contained in:
Yuval Tassa
2025-07-09 07:59:28 -07:00
committed by Copybara-Service
parent 9d64ed9575
commit a3d251f552
9 changed files with 60 additions and 1 deletions
+4
View File
@@ -444,6 +444,10 @@ shown in the table below. Their names are in the format ``mjKEY_XXX``. They corr
- 5
- The maximal number of real-valued parameters used to define the impedance of each scalar constraint.
Determines the size of all ``mjModel.XXX_solimp`` fields.
* - ``mjNSENS``
- 2
- The number of sensor parameters.
Determines the size of ``mjModel.sensor_intprm``.
* - ``mjNSOLVER``
- 200
- The number of iterations where solver statistics can be stored in ``mjData.solver``. This array is used
+2
View File
@@ -1458,6 +1458,7 @@ struct mjModel_ {
int* sensor_objid; // id of sensorized object (nsensor x 1)
int* sensor_reftype; // type of reference frame (mjtObj) (nsensor x 1)
int* sensor_refid; // id of reference frame; -1: global frame (nsensor x 1)
int* sensor_intprm; // sensor parameters (nsensor x mjNSENS)
int* sensor_dim; // number of scalar outputs (nsensor x 1)
int* sensor_adr; // address in sensor array (nsensor x 1)
mjtNum* sensor_cutoff; // cutoff for real and positive; 0: ignore (nsensor x 1)
@@ -2324,6 +2325,7 @@ typedef struct mjsSensor_ { // sensor specification
mjString* objname; // name of sensorized object
mjtObj reftype; // type of referenced object
mjString* refname; // name of referenced object
int intprm[mjNSENS]; // integer parameters
// user-defined sensors
mjtDataType datatype; // data type for sensor measurement