Improvements related to models where joint-actuator relationship is not one-to-one:
- Add `joint-actuatorforcerange` for clamping total actuator force at joints. Add `sensor-jointactuatorfrc` for sensing total actuator forces on a single joint. See [documentation](https://mujoco.readthedocs.io/en/latest//modeling.html#actuator-force-clamping) for justification and use cases. - Add simple car model to `model/`. - Move actuation-related test models into `engine/testdata/actuation/`. PiperOrigin-RevId: 549355941 Change-Id: I27f6c1f80426d73a2811ef5ae74684a228b2fbd1
This commit is contained in:
committed by
Copybara-Service
parent
7603b07a20
commit
51aa375af0
@@ -593,6 +593,7 @@ void mj_sensorAcc(const mjModel* m, mjData* d) {
|
||||
if (rnePost == 0 &&
|
||||
type != mjSENS_TOUCH &&
|
||||
type != mjSENS_ACTUATORFRC &&
|
||||
type != mjSENS_JOINTACTFRC &&
|
||||
type != mjSENS_JOINTLIMITFRC &&
|
||||
type != mjSENS_TENDONLIMITFRC) {
|
||||
// compute cacc, cfrc_int, cfrc_ext
|
||||
@@ -686,6 +687,10 @@ void mj_sensorAcc(const mjModel* m, mjData* d) {
|
||||
d->sensordata[adr] = d->actuator_force[objid];
|
||||
break;
|
||||
|
||||
case mjSENS_JOINTACTFRC: // jointactfrc
|
||||
d->sensordata[adr] = d->qfrc_actuator[m->jnt_dofadr[objid]];
|
||||
break;
|
||||
|
||||
case mjSENS_JOINTLIMITFRC: // jointlimitfrc
|
||||
d->sensordata[adr] = 0;
|
||||
for (int j=ne+nf; j < nefc; j++) {
|
||||
|
||||
Reference in New Issue
Block a user