Derivatives of ellipsoid fluid model.

PiperOrigin-RevId: 459751881
Change-Id: I52db87d82e20e10698b13065df2e983b9841bd7a
This commit is contained in:
Yuval Tassa
2022-07-08 07:19:10 -07:00
committed by Copybara-Service
parent 7034851d0a
commit ea956dfe34
10 changed files with 784 additions and 309 deletions
+31
View File
@@ -419,6 +419,37 @@ mjtNum mju_wrap(mjtNum* wpnt, const mjtNum* x0, const mjtNum* x1,
// all 3 semi-axes of a geom
void mju_geomSemiAxes(const mjModel* m, int geom_id, mjtNum semiaxes[3]) {
mjtNum* size = m->geom_size + 3*geom_id;
switch (m->geom_type[geom_id]) {
case mjGEOM_SPHERE:
semiaxes[0] = size[0];
semiaxes[1] = size[0];
semiaxes[2] = size[0];
break;
case mjGEOM_CAPSULE:
semiaxes[0] = size[0];
semiaxes[1] = size[0];
semiaxes[2] = size[1] + size[0];
break;
case mjGEOM_CYLINDER:
semiaxes[0] = size[0];
semiaxes[1] = size[0];
semiaxes[2] = size[1];
break;
default:
semiaxes[0] = size[0];
semiaxes[1] = size[1];
semiaxes[2] = size[2];
}
}
//------------------------------ actuator models ---------------------------------------------------
// muscle active force, prm = (range[2], force, scale, lmin, lmax, vmax, fpmax, fvmax)