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: 470021901 Change-Id: I3faba0e5dcab2e29ee81096f5ff71ff66d99758c
This commit is contained in:
committed by
Copybara-Service
parent
e2c3f04097
commit
d26501c0f3
@@ -3163,7 +3163,7 @@ Numeric constants
|
||||
+------------------+--------+----------------------------------------------------------------------------------------+
|
||||
| mjMAXVFSNAME | 100 | The maximal number of characters in the name of each file in the virtual file system. |
|
||||
+------------------+--------+----------------------------------------------------------------------------------------+
|
||||
| mjNEQDATA | 7 | The maximal number of real-valued parameters used to define each equality constraint. |
|
||||
| mjNEQDATA | 11 | 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 |
|
||||
|
||||
+13
-1
@@ -812,7 +812,9 @@ in the second column of the table have the following meaning:
|
||||
| | | +-------------------------+-------------------------+-------------------------+ |
|
||||
| | | | :at:`body2` | :at:`relpose` | :at:`active` | |
|
||||
| | | +-------------------------+-------------------------+-------------------------+ |
|
||||
| | | | :at:`solref` | :at:`solimp` | | |
|
||||
| | | | :at:`solref` | :at:`solimp` | :at:`anchor` | |
|
||||
| | | +-------------------------+-------------------------+-------------------------+ |
|
||||
| | | | :at:`torquescale` | | | |
|
||||
| | | +-------------------------+-------------------------+-------------------------+ |
|
||||
+--------------------------+----+------------------------------------------------------------------------------------+
|
||||
| |_2|:el:`joint` | \* | .. table:: |
|
||||
@@ -4023,6 +4025,16 @@ 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:`torquescale`: :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:`torquescale` can be
|
||||
interpreted as the diameter of this glue patch.
|
||||
|
||||
.. _equality-joint:
|
||||
|
||||
|
||||
+10
-2
@@ -15,8 +15,14 @@ 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 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.
|
||||
- Added :at:`torquescale` and :at:`anchor` attributes to :el:`weld` constraints. :at:`torquescale` 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.
|
||||
- Increased ``mjNEQDATA``, the row length of equality constraint parameters in ``mjModel.eq_data``, from 7 to 11.
|
||||
- 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.
|
||||
- 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.
|
||||
@@ -25,6 +31,8 @@ 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