Rename mjDSBL_AUTORESETNAN to mjDSBL_AUTORESET.
- Expose in MJCF. - Add documentation. - Improve handling in simulate. PiperOrigin-RevId: 657606140 Change-Id: I6a27c2f4842d7d4ae32642f2a6255e5f8f1f605a
This commit is contained in:
committed by
Copybara-Service
parent
123a01bd83
commit
24a555062d
@@ -52,7 +52,7 @@ void mj_checkPos(const mjModel* m, mjData* d) {
|
||||
for (int i=0; i < m->nq; i++) {
|
||||
if (mju_isBad(d->qpos[i])) {
|
||||
mj_warning(d, mjWARN_BADQPOS, i);
|
||||
if (!(m->opt.disableflags & mjDSBL_AUTORESETNAN)) {
|
||||
if (!mjDISABLED(mjDSBL_AUTORESET)) {
|
||||
mj_resetData(m, d);
|
||||
}
|
||||
d->warning[mjWARN_BADQPOS].number++;
|
||||
@@ -69,7 +69,7 @@ void mj_checkVel(const mjModel* m, mjData* d) {
|
||||
for (int i=0; i < m->nv; i++) {
|
||||
if (mju_isBad(d->qvel[i])) {
|
||||
mj_warning(d, mjWARN_BADQVEL, i);
|
||||
if (!(m->opt.disableflags & mjDSBL_AUTORESETNAN)) {
|
||||
if (!mjDISABLED(mjDSBL_AUTORESET)) {
|
||||
mj_resetData(m, d);
|
||||
}
|
||||
d->warning[mjWARN_BADQVEL].number++;
|
||||
@@ -86,12 +86,12 @@ void mj_checkAcc(const mjModel* m, mjData* d) {
|
||||
for (int i=0; i < m->nv; i++) {
|
||||
if (mju_isBad(d->qacc[i])) {
|
||||
mj_warning(d, mjWARN_BADQACC, i);
|
||||
if (!(m->opt.disableflags & mjDSBL_AUTORESETNAN)) {
|
||||
if (!mjDISABLED(mjDSBL_AUTORESET)) {
|
||||
mj_resetData(m, d);
|
||||
}
|
||||
d->warning[mjWARN_BADQACC].number++;
|
||||
d->warning[mjWARN_BADQACC].lastinfo = i;
|
||||
if (!(m->opt.disableflags & mjDSBL_AUTORESETNAN)) {
|
||||
if (!mjDISABLED(mjDSBL_AUTORESET)) {
|
||||
mj_forward(m, d);
|
||||
}
|
||||
return;
|
||||
|
||||
@@ -58,7 +58,7 @@ const char* mjDISABLESTRING[mjNDISABLE] = {
|
||||
"Sensor",
|
||||
"Midphase",
|
||||
"Eulerdamp",
|
||||
"AutoResetNaN"
|
||||
"AutoReset"
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -115,9 +115,9 @@ const char* MJCF[nMJCF][mjXATTRNUM] = {
|
||||
"solver", "iterations", "ls_iterations", "noslip_iterations", "mpr_iterations",
|
||||
"sdf_iterations", "sdf_initpoints", "actuatorgroupdisable"},
|
||||
{"<"},
|
||||
{"flag", "?", "21", "constraint", "equality", "frictionloss", "limit", "contact",
|
||||
{"flag", "?", "22", "constraint", "equality", "frictionloss", "limit", "contact",
|
||||
"passive", "gravity", "clampctrl", "warmstart",
|
||||
"filterparent", "actuation", "refsafe", "sensor", "midphase", "eulerdamp",
|
||||
"filterparent", "actuation", "refsafe", "sensor", "midphase", "eulerdamp", "autoreset",
|
||||
"override", "energy", "fwdinv", "invdiscrete", "multiccd", "island"},
|
||||
{">"},
|
||||
|
||||
@@ -1122,6 +1122,7 @@ void mjXReader::Option(XMLElement* section, mjOption* opt) {
|
||||
READDSBL("sensor", mjDSBL_SENSOR)
|
||||
READDSBL("midphase", mjDSBL_MIDPHASE)
|
||||
READDSBL("eulerdamp", mjDSBL_EULERDAMP)
|
||||
READDSBL("autoreset", mjDSBL_AUTORESET)
|
||||
#undef READDSBL
|
||||
|
||||
#define READENBL(NAME, MASK) \
|
||||
|
||||
@@ -1001,6 +1001,7 @@ void mjXWriter::Option(XMLElement* root) {
|
||||
WRITEDSBL("sensor", mjDSBL_SENSOR)
|
||||
WRITEDSBL("midphase", mjDSBL_MIDPHASE)
|
||||
WRITEDSBL("eulerdamp", mjDSBL_EULERDAMP)
|
||||
WRITEDSBL("autoreset", mjDSBL_AUTORESET)
|
||||
#undef WRITEDSBL
|
||||
|
||||
#define WRITEENBL(NAME, MASK) \
|
||||
|
||||
Reference in New Issue
Block a user