Add two new attributes to weld constraints:
- `anchor` determines the point of wrench application, in the frame of body2. - `tfratio` scales applied torques relative to applied forces. - Add visualisation of both anchor points to both weld and connect constraints. - Add a test model showing how the new weld parameters behave. PiperOrigin-RevId: 469228149 Change-Id: I836b0791f10fb624607a12ef3c687da991c21789
This commit is contained in:
committed by
Copybara-Service
parent
558aaf2923
commit
abc0a39b7a
@@ -3162,7 +3162,7 @@ Numeric constants
|
||||
+------------------+--------+----------------------------------------------------------------------------------------+
|
||||
| mjMAXVFSNAME | 100 | The maximal number of characters in the name of each file in the virtual file system. |
|
||||
+------------------+--------+----------------------------------------------------------------------------------------+
|
||||
| mjNEQDATA | 11 | The maximal number of real-valued parameters used to define each equality constraint. |
|
||||
| mjNEQDATA | 7 | The maximal number of real-valued parameters used to define each equality constraint. |
|
||||
| | | Determines the size of mjModel.eq_data. This and the next five constants correspond to |
|
||||
| | | array sizes which we have not fully settled. There may be reasons to increase them in |
|
||||
| | | the future, so as to accommodate extra parameters needed for more elaborate |
|
||||
|
||||
+2
-14
@@ -812,9 +812,7 @@ in the second column of the table have the following meaning:
|
||||
| | | +-------------------------+-------------------------+-------------------------+ |
|
||||
| | | | :at:`body2` | :at:`relpose` | :at:`active` | |
|
||||
| | | +-------------------------+-------------------------+-------------------------+ |
|
||||
| | | | :at:`solref` | :at:`solimp` | :at:`anchor` | |
|
||||
| | | +-------------------------+-------------------------+-------------------------+ |
|
||||
| | | | :at:`tfratio` | | | |
|
||||
| | | | :at:`solref` | :at:`solimp` | | |
|
||||
| | | +-------------------------+-------------------------+-------------------------+ |
|
||||
+--------------------------+----+------------------------------------------------------------------------------------+
|
||||
| |_2|:el:`joint` | \* | .. table:: |
|
||||
@@ -4022,16 +4020,6 @@ of the other body, without any joint elements in the child body.
|
||||
body1. If the quaternion part (i.e., last 4 components of the vector) are all zeros, as in the default setting, this
|
||||
attribute is ignored and the relative pose is the one corresponding to the model reference pose in qpos0. The unusual
|
||||
default is because all equality constraint types share the same default for their numeric parameters.
|
||||
:at:`anchor`: :at-val:`real(3), "0 0 0"`
|
||||
Coordinates of the weld point relative to body2. If :at:`relpose` is not specified, the meaning of
|
||||
this parameter is the same as for connect constraints, except that is relative to body2. If :at:`relpose` is
|
||||
specified, body1 will use the pose to compute its anchor point.
|
||||
:at:`tfratio`: :at-val:`real, "1"`
|
||||
Relative torque-to-force ratio. This ratio is used by the weld to scale how much it "cares" about rotational
|
||||
displacements vs. translational displacements. Setting this value to 0 makes the :el:`weld` behave like a
|
||||
:el:`connect` constraint. Note that this value has units of length and can therefore be interpreted as follows.
|
||||
Imagining that the weld is implemented by a patch of glue sticking the two bodies together, :at:`tfratio` can be
|
||||
interpreted as the diameter of this glue patch.
|
||||
|
||||
.. _equality-joint:
|
||||
|
||||
@@ -4277,7 +4265,7 @@ specify them independently.
|
||||
If true, the internal state (activation) associated with this actuator is automatically clamped to :at:`actrange` at
|
||||
runtime. If false, activation clamping is disabled. If auto, activation clamping will automatically be set to true
|
||||
if :at:`actrange` is defined without explicitly setting this attribute to "true". See the :ref:`Activation clamping <CActRange>`
|
||||
section for more details.
|
||||
section for more details.
|
||||
:at:`ctrlrange`: :at-val:`real(2), "0 0"`
|
||||
Range for clamping the control input. The compiler expects the first value to be smaller than the second value.
|
||||
:at:`forcerange`: :at-val:`real(2), "0 0"`
|
||||
|
||||
+2
-9
@@ -15,13 +15,8 @@ General
|
||||
- Added :ref:`adhesion actuators<adhesion>` mimicking vacuum grippers and adhesive biomechanical appendages.
|
||||
- Added related `example model <https://github.com/deepmind/mujoco/tree/main/model/adhesion>`_ and video:
|
||||
- Added :ref:`mj_jacSubtreeCom` for computing the translational Jacobian of the center-of-mass of a subtree.
|
||||
- Added :at:`tfratio` and :at:`anchor` attributes to :el:`weld` constraints. :at:`tfratio` sets the torque-to-force
|
||||
ratio exerted by the constraint, :at:`anchor` sets the point at which the weld wrench is applied. See
|
||||
:ref:`weld <equality-weld>` for more details.
|
||||
- Added visualisation of anchor points for both :el:`connect` and :el:`weld` constraints (activated by the 'N' key in
|
||||
``simulate``).
|
||||
- Added `example model <https://github.com/deepmind/mujoco/tree/main/test/engine/testdata/weld.xml>`_ showing different
|
||||
uses of new weld attributes.
|
||||
- Added moment of inertia computation for concave meshes. This is currently activated by setting the compiler flag
|
||||
:at:`exactmeshinertia` to ``true`` (defaults to ``false``). This default may change in the future.
|
||||
- Joint and tendon ``limited`` attribute and actuator ``ctrllimited``, ``forcelimited`` and ``actlimited`` attributes
|
||||
now default to ``auto`` rather than ``false``. Limits are automatically set to ``true`` if the corresponding range *is
|
||||
defined* and ``false`` otherwise.
|
||||
@@ -30,8 +25,6 @@ General
|
||||
This is a minor breaking change. In models where a range was defined but :at:`limited` was unspecified, the target
|
||||
element will now be limited. Explicitly set limited to ``false`` to revert to the previous behavior.
|
||||
|
||||
- Added moment of inertia computation for all well-formed meshes. This option is activated by setting the compiler
|
||||
flag :at:`exactmeshinertia` to ``true`` (defaults to ``false``). This default may change in the future.
|
||||
- Added parameter :at:`shellinertia` to :at:`geom`, for locating the inferred inertia on the boundary (shell).
|
||||
Currently only meshes are supported.
|
||||
- For meshes from which volumetric inertia is inferred, raise error if the orientation of mesh faces is not consistent.
|
||||
|
||||
Reference in New Issue
Block a user