Add a disable flag for sensors.
PiperOrigin-RevId: 469473066 Change-Id: I296ed790c6261c4fb15b349540edcb77e53e0567
This commit is contained in:
committed by
Copybara-Service
parent
83ce236479
commit
090fe2db3f
@@ -193,6 +193,11 @@ void mj_sensorPos(const mjModel* m, mjData* d) {
|
||||
int ne = d->ne, nf = d->nf, nefc = d->nefc;
|
||||
mjtNum rvec[3], *xpos, *xmat, *xpos_ref, *xmat_ref;
|
||||
|
||||
// disabled sensors: return
|
||||
if (mjDISABLED(mjDSBL_SENSOR)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// process sensors matching stage
|
||||
for (int i=0; i<m->nsensor; i++) {
|
||||
if (m->sensor_needstage[i]==mjSTAGE_POS) {
|
||||
@@ -349,6 +354,11 @@ void mj_sensorVel(const mjModel* m, mjData* d) {
|
||||
int ne = d->ne, nf = d->nf, nefc = d->nefc;
|
||||
mjtNum xvel[6];
|
||||
|
||||
// disabled sensors: return
|
||||
if (mjDISABLED(mjDSBL_SENSOR)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// process sensors matching stage
|
||||
int subtreeVel = 0;
|
||||
for (int i=0; i<m->nsensor; i++) {
|
||||
@@ -502,6 +512,11 @@ void mj_sensorAcc(const mjModel* m, mjData* d) {
|
||||
mjtNum tmp[6], conforce[6], conray[3];
|
||||
mjContact* con;
|
||||
|
||||
// disabled sensors: return
|
||||
if (mjDISABLED(mjDSBL_SENSOR)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// process sensors matching stage
|
||||
int rnePost = 0;
|
||||
for (int i=0; i<m->nsensor; i++) {
|
||||
|
||||
@@ -51,7 +51,8 @@ const char* mjDISABLESTRING[mjNDISABLE] = {
|
||||
"Warmstart",
|
||||
"Filterparent",
|
||||
"Actuation",
|
||||
"Refsafe"
|
||||
"Refsafe",
|
||||
"Sensor"
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -63,9 +63,9 @@ static const char* MJCF[nMJCF][mjXATTRNUM] = {
|
||||
"integrator", "collision", "cone", "jacobian",
|
||||
"solver", "iterations", "noslip_iterations", "mpr_iterations"},
|
||||
{"<"},
|
||||
{"flag", "?", "17", "constraint", "equality", "frictionloss", "limit", "contact",
|
||||
{"flag", "?", "18", "constraint", "equality", "frictionloss", "limit", "contact",
|
||||
"passive", "gravity", "clampctrl", "warmstart",
|
||||
"filterparent", "actuation", "refsafe",
|
||||
"filterparent", "actuation", "refsafe", "sensor",
|
||||
"override", "energy", "fwdinv", "sensornoise", "multiccd"},
|
||||
{">"},
|
||||
|
||||
@@ -887,6 +887,7 @@ void mjXReader::Option(XMLElement* section, mjOption* opt) {
|
||||
READDSBL("filterparent", mjDSBL_FILTERPARENT)
|
||||
READDSBL("actuation", mjDSBL_ACTUATION)
|
||||
READDSBL("refsafe", mjDSBL_REFSAFE)
|
||||
READDSBL("sensor", mjDSBL_SENSOR)
|
||||
#undef READDSBL
|
||||
|
||||
#define READENBL(NAME, MASK) \
|
||||
|
||||
@@ -752,6 +752,7 @@ void mjXWriter::Option(XMLElement* root) {
|
||||
WRITEDSBL("filterparent", mjDSBL_FILTERPARENT)
|
||||
WRITEDSBL("actuation", mjDSBL_ACTUATION)
|
||||
WRITEDSBL("refsafe", mjDSBL_REFSAFE)
|
||||
WRITEDSBL("sensor", mjDSBL_SENSOR)
|
||||
#undef WRITEDSBL
|
||||
|
||||
#define WRITEENBL(NAME, MASK) \
|
||||
|
||||
Reference in New Issue
Block a user