Change finite-support mju_sigmoid from a two-quadratic construction to a single quintic with zero 1st and 2nd derivatives at 0 and 1, the boundary of the smooth-support segment.

Note: this function is currently unused in the MuJoCo codebase.
PiperOrigin-RevId: 529969804
Change-Id: I2bddc72916eff67625b806510935bc7f3ce5c770
This commit is contained in:
Yuval Tassa
2023-05-06 09:21:51 -07:00
committed by Copybara-Service
parent 26ff1fc4b5
commit 49efa9cc15
8 changed files with 51 additions and 19 deletions
+1 -1
View File
@@ -3160,7 +3160,7 @@ mju_sigmoid
.. mujoco-include:: mju_sigmoid
Sigmoid function over 0<=x<=1 constructed from half-quadratics.
Sigmoid function over 0<=x<=1 using quintic polynomial.
.. _Derivatives-api:
+13 -3
View File
@@ -20,13 +20,23 @@ General
^^^^^^^
- Added :ref:`mjd_inverseFD` for finite-differenced inverse-dynamics derivatives.
- Added functions for operations on banded-then-dense "arrowhead" matrices. Such matrices are
common when doing direct trajectory optimization.
See :ref:`mju_cholFactorBand` documentation for details.
- Added functions for operations on banded-then-dense "arrowhead" matrices. Such matrices are common when doing direct
trajectory optimization. See :ref:`mju_cholFactorBand` documentation for details.
- Added :ref:`mj_multiRay` function for intersecting multiple rays emanating from a single point.
This is significantly faster than calling :ref:`mj_ray` multiple times.
- Increased ``mjMAXUIITEM`` (maximum number of UI elements per section in Simulate) to 100.
- Added :ref:`documentation<exProvider>` for resource providers.
- Changed the formula for :ref:`mju_sigmoid`, a finite-support sigmoid :math:`s \colon \mathbf R \rightarrow [0, 1]`.
Previously, the smooth part consisted of two stitched quadratics, once continuously differentiable.
It is now a single quintic, twice continuously differentiable:
.. math::
s(x) =
\begin{cases}
0, & & x \le 0 \\
6x^5 - 15x^4 + 10x^3, & 0 \lt & x \lt 1 \\
1, & 1 \le & x \qquad
\end{cases}
Version 2.3.5 (April 25, 2023)
------------------------------
+1
View File
@@ -301,6 +301,7 @@ Resource providers work via callbacks:
- :ref:`mjfGetResourceDir<mjfGetResourceDir>`: This callback is optional and is used to extract the directory from a
resource name. For example, the resource name ``http://www.example.com/myasset.obj`` would have
``http://www.example.com/`` as its directory.
.. _exProviderUsage:
Usage