From c3e71a3fb1166eb081bd441cf111ecb4e352e48e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Budzianowski?= Date: Tue, 6 May 2025 16:46:46 -0700 Subject: [PATCH] Update simulation.rst --- doc/programming/simulation.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/programming/simulation.rst b/doc/programming/simulation.rst index 3739f548..d0cf5029 100644 --- a/doc/programming/simulation.rst +++ b/doc/programming/simulation.rst @@ -913,7 +913,7 @@ elliptic, depending on which solver is selected in ``mjModel.opt``. The function can be used to determine which friction cone type is used. For pyramidal cones, the interpretation of the contact force (whose address we computed above) is non-trivial, because the components are forces along redundant non-orthogonal axes corresponding to the edges of the pyramid. The function :ref:`mj_contactForce` can be -used to convert the force generated by a given contact into a more intuitive format: a 3D force followed by a 3D toque. +used to convert the force generated by a given contact into a more intuitive format: a 3D force followed by a 3D torque. The torque component will be zero when :at:`condim` is 1 or 3, and non-zero otherwise. This force and torque are expressed in the contact frame given by mjContact.frame. Unlike all other matrices in mjData, this matrix is stored in transposed form. Normally a 3-by-3 matrix corresponding to a coordinate frame would have the frame axes along the