Disable island discovery for models with flexes.
PiperOrigin-RevId: 574244981 Change-Id: I7c08b23cf5f29338a04ec684ad7a0d4d8a0397df
This commit is contained in:
committed by
Copybara-Service
parent
18e4e10142
commit
d0bdb78207
+1
-1
@@ -46,7 +46,7 @@ New features
|
|||||||
and degrees-of-freedom that do not interact. The only solver which currently supports islands is
|
and degrees-of-freedom that do not interact. The only solver which currently supports islands is
|
||||||
:ref:`CG<option-solver>`. Island discovery can be activated using a new :ref:`enable flag<option-flag-island>`.
|
:ref:`CG<option-solver>`. Island discovery can be activated using a new :ref:`enable flag<option-flag-island>`.
|
||||||
If island discovery is enabled, geoms, contacts and tendons will be colored according to the corresponding island,
|
If island discovery is enabled, geoms, contacts and tendons will be colored according to the corresponding island,
|
||||||
see video.
|
see video. Island discovery is currently disabled for models that have deformable objects (see prevous item).
|
||||||
|
|
||||||
4. Added :ref:`mjThreadPool` and :ref:`mjTask` which allow for multi-threaded operations within the MuJoCo engine
|
4. Added :ref:`mjThreadPool` and :ref:`mjTask` which allow for multi-threaded operations within the MuJoCo engine
|
||||||
pipeline. If engine-internal threading is enabled, the following operations will be multi-threaded:
|
pipeline. If engine-internal threading is enabled, the following operations will be multi-threaded:
|
||||||
|
|||||||
@@ -619,6 +619,7 @@ void mj_fwdConstraint(const mjModel* m, mjData* d) {
|
|||||||
|
|
||||||
// check if islands are supported
|
// check if islands are supported
|
||||||
int islands_supported = mjENABLED(mjENBL_ISLAND) &&
|
int islands_supported = mjENABLED(mjENBL_ISLAND) &&
|
||||||
|
d->nisland > 0 &&
|
||||||
m->opt.solver == mjSOL_CG &&
|
m->opt.solver == mjSOL_CG &&
|
||||||
m->opt.noslip_iterations == 0;
|
m->opt.noslip_iterations == 0;
|
||||||
|
|
||||||
|
|||||||
@@ -407,7 +407,7 @@ void mj_island(const mjModel* m, mjData* d) {
|
|||||||
int nv = m->nv, nefc = d->nefc, ntree=m->ntree;
|
int nv = m->nv, nefc = d->nefc, ntree=m->ntree;
|
||||||
|
|
||||||
// no constraints: quick return
|
// no constraints: quick return
|
||||||
if (!nefc) {
|
if (!nefc || m->nflex) { // TODO: add flex support to island discovery
|
||||||
d->nisland = 0;
|
d->nisland = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user