Add mjContact.solreffriction, mjModel.pair_solreffriction and related implementation, allowing contact reference acceleration to be different for normal and frictional contact directions. This is required for e.g. elastic frictional collisions.

PiperOrigin-RevId: 538513357
Change-Id: Id9eb910fe791cf898c712030cb2c0fc481389c91
This commit is contained in:
Yuval Tassa
2023-06-07 09:39:28 -07:00
committed by Copybara-Service
parent 83e70954d7
commit d82f5ce5a4
19 changed files with 187 additions and 59 deletions
+5 -3
View File
@@ -305,7 +305,9 @@
| | | +-----------------------------------------------------------------+-----------------------------------------------------------------+-----------------------------------------------------------------+ |
| | | | :ref:`condim<default-pair-condim>` | :ref:`friction<default-pair-friction>` | :ref:`solref<default-pair-solref>` | |
| | | +-----------------------------------------------------------------+-----------------------------------------------------------------+-----------------------------------------------------------------+ |
| | | | :ref:`solimp<default-pair-solimp>` | :ref:`gap<default-pair-gap>` | :ref:`margin<default-pair-margin>` | |
| | | | :ref:`solreffriction<default-pair-solreffriction>` | :ref:`solimp<default-pair-solimp>` | :ref:`gap<default-pair-gap>` | |
| | | +-----------------------------------------------------------------+-----------------------------------------------------------------+-----------------------------------------------------------------+ |
| | | | :ref:`margin<default-pair-margin>` | | | |
| | | +-----------------------------------------------------------------+-----------------------------------------------------------------+-----------------------------------------------------------------+ |
+------------------------------------+----+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |_| default |br| |_| |L| | | .. table:: |
@@ -827,9 +829,9 @@
| | | +-----------------------------------------------------------------+-----------------------------------------------------------------+-----------------------------------------------------------------+ |
| | | | :ref:`geom2<contact-pair-geom2>` | :ref:`condim<contact-pair-condim>` | :ref:`friction<contact-pair-friction>` | |
| | | +-----------------------------------------------------------------+-----------------------------------------------------------------+-----------------------------------------------------------------+ |
| | | | :ref:`solref<contact-pair-solref>` | :ref:`solimp<contact-pair-solimp>` | :ref:`gap<contact-pair-gap>` | |
| | | | :ref:`solref<contact-pair-solref>` | :ref:`solreffriction<contact-pair-solreffriction>` | :ref:`solimp<contact-pair-solimp>` | |
| | | +-----------------------------------------------------------------+-----------------------------------------------------------------+-----------------------------------------------------------------+ |
| | | | :ref:`margin<contact-pair-margin>` | | | |
| | | | :ref:`gap<contact-pair-gap>` | :ref:`margin<contact-pair-margin>` | | |
| | | +-----------------------------------------------------------------+-----------------------------------------------------------------+-----------------------------------------------------------------+ |
+------------------------------------+----+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |_| contact |br| |_| |L| | | .. table:: |