From 652bab3eec9ad61e22f0f8d8a97adbb5e5d41a40 Mon Sep 17 00:00:00 2001 From: Yuval Tassa Date: Mon, 6 Jun 2022 07:15:00 -0700 Subject: [PATCH] Improve documentation of element. PiperOrigin-RevId: 453192974 Change-Id: I14b02c8c37f6208a67b35efc17887668f6555aef --- doc/XMLreference.rst | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/doc/XMLreference.rst b/doc/XMLreference.rst index 45d9f54f..2491e4e3 100644 --- a/doc/XMLreference.rst +++ b/doc/XMLreference.rst @@ -3115,11 +3115,17 @@ unit quaternions. :el-prefix:`body/` **freejoint** (*) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -This element creates a free joint whose only attribute is name. The same effect can be achieved with the :ref:`joint -` element, however in that case default settings intended for actuated joints may also affect the free joint -(depending on how the defaults classes are specified), which is usually undesirable. To avoid this complication, the -freejoint element was introduced. It is merely an XML shortcut. The compiler transforms it into a regular joint in -mjModel. If the XML model is saved, it will appear as a regular joint of type "free". +This element creates a free joint whose only attributes are :at:`name` and :at:`group`. The :el:`freejoint` element is +an XML shortcut for + +.. code-block:: xml + + + +While this joint can evidently be created with the :ref:`joint ` element, default joint settings could affect it. +This is usually undesirable as physical free bodies do not have nonzero stiffness, damping, friction or armature. To +avoid this complication, the :el:`freejoint` element was introduced, ensuring joint defaults are *not inherited*. If +the XML model is saved, it will appear as a regular joint of type :at:`free`. :at:`name`: :at-val:`string, optional` Name of the joint.