Added optional smoothing to muscle dynamics:

- `muscle` actuators take a new `tausmooth` attribute (defaults to 0) which when positive, smooths the transition between activation and deactivation timescales.
- `mju_muscleDynamics` takes 3 parameters, adding width of smoothing sigmoid.

PiperOrigin-RevId: 531473354
Change-Id: I8ab6c0289ff04437e798c3ca6edda132a30fcc31
This commit is contained in:
Yuval Tassa
2023-05-12 04:58:17 -07:00
committed by Copybara-Service
parent 777cad52b4
commit 770b4b363a
13 changed files with 180 additions and 34 deletions
+7 -1
View File
@@ -5535,7 +5535,7 @@ section. The underlying :el:`general` attributes are set as follows:
========= ======= ========= ======================================================
Attribute Setting Attribute Setting
========= ======= ========= ======================================================
dyntype muscle dynprm timeconst(2)
dyntype muscle dynprm timeconst(2) tausmooth
gaintype muscle gainprm range(2), force, scale, lmin, lmax, vmax, fpmax, fvmax
biastype muscle biasprm same as gainprm
========= ======= ========= ======================================================
@@ -5589,6 +5589,12 @@ This element has nine custom attributes in addition to the common attributes:
:at:`timeconst`: :at-val:`real(2), "0.01 0.04"`
Time constants for activation and de-activation dynamics.
.. _actuator-muscle-tausmooth:
:at:`tausmooth`: :at-val:`real, "0"`
Width of smooth transition between activation and deactivation time constants. Units of ctrl, must be
nonegative.
.. _actuator-muscle-range:
:at:`range`: :at-val:`real(2), "0.75 1.05"`