@@ -2129,12 +2129,6 @@ from its default.
2129
2129
When this flag is enabled, :ref: `mj_inverse ` will interpret ``qacc `` as having been computed from the difference of
2130
2130
two sequential velocities, and undo the above modification.
2131
2131
2132
- .. _option-flag-sensornoise :
2133
-
2134
- :at: `sensornoise `: :at-val: `[disable, enable], "disable" `
2135
- This flag enables the simulation of sensor noise. When disabled (which is the default) noise is not added to
2136
- sensordata, even if the sensors specify non-zero noise amplitudes. When enabled, zero-mean Gaussian noise is added to
2137
- the underlying deterministic sensor data. Its standard deviation is determined by the noise parameter of each sensor.
2138
2132
2139
2133
.. _option-flag-multiccd :
2140
2134
@@ -2354,24 +2348,6 @@ rotations as unit quaternions.
2354
2348
joint inertia in the model reference configuration. Note that the format is the same as the solref parameter of the
2355
2349
constraint solver.
2356
2350
2357
- .. _body-joint-limited :
2358
-
2359
- :at: `limited `: :at-val: `[false, true, auto], "auto" `
2360
- This attribute specifies if the joint has limits. It interacts with the range attribute below. If this attribute
2361
- is "false", joint limits are disabled. If this attribute is "true", joint limits are enabled. If this
2362
- attribute is "auto", and :at: `autolimits ` is set in :ref: `compiler <compiler >`, joint limits will be enabled
2363
- if range is defined.
2364
-
2365
- .. _body-joint-actuatorfrclimited :
2366
-
2367
- :at: `actuatorfrclimited `: :at-val: `[false, true, auto], "auto" `
2368
- This attribute specifies whether actuator forces acting on the joint should be clamped. See :ref: `CForceRange ` for
2369
- details. It is available only for scalar joints (hinge and slider) and ignored for ball and free joints. |br | This
2370
- attribute interacts with the actuatorfrcrange attribute below. If this attribute is "false", actuator force
2371
- clamping is disabled. If it is "true", actuator force clamping is enabled. If this attribute is "auto", and
2372
- :at: `autolimits ` is set in :ref: `compiler <compiler >`, actuator force clamping will be enabled if actuatorfrcrange
2373
- is defined.
2374
-
2375
2351
.. _body-joint-solreflimit :
2376
2352
2377
2353
.. _body-joint-solimplimit :
@@ -2400,16 +2376,44 @@ rotations as unit quaternions.
2400
2376
joints, the limit is imposed on the angle of rotation (relative to the reference configuration) regardless of the
2401
2377
axis of rotation. Only the second range parameter is used for ball joints; the first range parameter should be set to
2402
2378
0. See the :ref: `Limit <coLimit >` section in the Computation chapter for more information.
2403
- |br | Setting this attribute without specifying :at: `limited ` is an error, unless :at: `autolimits ` is set in
2379
+ |br | Setting this attribute without specifying :at: `limited ` is an error if :at: `autolimits ` is "false" in
2404
2380
:ref: `compiler <compiler >`.
2405
2381
2382
+ .. _body-joint-limited :
2383
+
2384
+ :at: `limited `: :at-val: `[false, true, auto], "auto" `
2385
+ This attribute specifies if the joint has limits. It interacts with the range attribute below. If this attribute
2386
+ is "false", joint limits are disabled. If this attribute is "true", joint limits are enabled. If this
2387
+ attribute is "auto", and :at: `autolimits ` is set in :ref: `compiler <compiler >`, joint limits will be enabled
2388
+ if range is defined.
2389
+
2406
2390
.. _body-joint-actuatorfrcrange :
2407
2391
2408
2392
:at: `actuatorfrcrange `: :at-val: `real(2), "0 0" `
2409
2393
Range for clamping total actuator forces acting on this joint. See :ref: `CForceRange ` for details. It is available
2410
2394
only for scalar joints (hinge and slider) and ignored for ball and free joints. |br | The compiler expects the first
2411
2395
value to be smaller than the second value. |br | Setting this attribute without specifying :at: `actuatorfrclimited `
2412
- is an error, unless :at: `compiler-autolimits ` is set.
2396
+ is an error if :at: `compiler-autolimits ` is "false".
2397
+
2398
+ .. _body-joint-actuatorfrclimited :
2399
+
2400
+ :at: `actuatorfrclimited `: :at-val: `[false, true, auto], "auto" `
2401
+ This attribute specifies whether actuator forces acting on the joint should be clamped. See :ref: `CForceRange ` for
2402
+ details. It is available only for scalar joints (hinge and slider) and ignored for ball and free joints. |br | This
2403
+ attribute interacts with the actuatorfrcrange attribute below. If this attribute is "false", actuator force
2404
+ clamping is disabled. If it is "true", actuator force clamping is enabled. If this attribute is "auto", and
2405
+ :at: `autolimits ` is set in :ref: `compiler <compiler >`, actuator force clamping will be enabled if
2406
+ :at: `actuatorfrcrange ` is defined.
2407
+
2408
+ .. _body-joint-actuatorgravcomp :
2409
+
2410
+ :at: `actuatorgravcomp `: :at-val: `[false, true], "false" `
2411
+ If this flag is enabled, gravity compensation applied to this joint is added to actuator forces
2412
+ (``mjData.qfrc_actuator ``) rather than passive forces (``mjData.qfrc_passive ``). Notionally, this means that gravity
2413
+ compensation is the result of a control system rather than natural buoyancy. In practice, enabling this flag is
2414
+ useful when joint-level actuator force clamping is used. In this case, the total actuation force applied on a joint,
2415
+ including gravity compensation, is guaranteed to not exceeed the specified limits. See :ref: `CForceRange ` and
2416
+ :ref: `actuatorfrcrange<body-joint-actuatorfrcrange> ` for more details on this type of force limit.
2413
2417
2414
2418
.. _body-joint-margin :
2415
2419
@@ -3808,16 +3812,20 @@ saving the XML:
3808
3812
in MuJoCo can be used as a rigid geom attached to a single body. In contrast, the flex generated here corresponds to
3809
3813
a soft mesh with the same initial shape, where each vertex is a separate moving body (unless pinned).
3810
3814
3811
- **gmsh ** is similar to mesh, but it loads a `GMSH file <https://gmsh.info//doc/texinfo/gmsh.html#MSH-file-format >`__
3812
- in format 4.1 (ascii or binary). The file extension can be anything; the parser recognizes the format by examining
3815
+ .. _gmsh-file-docs :
3816
+
3817
+ **gmsh ** is similar to mesh, but it loads a GMSH file in
3818
+ `format 4.1 <https://gmsh.info//doc/texinfo/gmsh.html#MSH-file-format >`__
3819
+ and `format 2.2 <https://gmsh.info//doc/texinfo/gmsh.html#MSH-file-format-version-2-_0028Legacy_0029 >`__
3820
+ (ascii or binary). The file extension can be anything; the parser recognizes the format by examining
3813
3821
the file header. This is a very rich file format, allowing all kinds of elements with different dimensionality and
3814
3822
topology. MuJoCo only supports GMSH element types 1, 2, 4 which happen to correspond to our 1D, 2D and 3D flexes and
3815
3823
assumes that the nodes are specified in a single block. Only the Nodes and Elements sections of the GMHS file are
3816
3824
processed, and used to populate the point and element data of the flexcomp. The parser will generate an error if the
3817
3825
GMSH file contains meshes that are not supported by MuJoCo. :at: `dim ` is automatically set to the dimensionality
3818
3826
specified in the GMSH file. Presently this is the only mechanism to load a large tetrahedral mesh in MuJoCo and
3819
3827
generate a corresponding soft entity. If such a mesh is available in a different file format, use the freely
3820
- available `GMSH software <https://gmsh.info/ >`__ to convert it to GMSH 4.1 .
3828
+ available `GMSH software <https://gmsh.info/ >`__ to convert it to GMSH in one of the supported versions .
3821
3829
3822
3830
**direct ** allows the user to specify the point and element data of the flexcomp directly in the XML. Note that
3823
3831
flexcomp will still generate moving bodies automatically, as well as automate other settings; so it still provides
@@ -3873,7 +3881,7 @@ saving the XML:
3873
3881
:at: `file `: :at-val: `string, optional `
3874
3882
The name of the file from which a **mesh ** or a **gmsh ** is loaded. For mesh, the file extentsion is used to
3875
3883
determine the file format. Supported formats are the same as in :ref: `mesh assets<asset-mesh> `. For gmsh, the file is
3876
- expected to be in GMSH format 4.1, ascii or binary.
3884
+ expected to be in GMSH format 4.1 or 2.2 , ascii or binary, see :ref: ` here<gmsh-file-docs> ` .
3877
3885
3878
3886
.. _body-flexcomp-rigid :
3879
3887
@@ -5092,22 +5100,22 @@ specify them independently.
5092
5100
5093
5101
:at: `ctrlrange `: :at-val: `real(2), "0 0" `
5094
5102
Range for clamping the control input. The first value must be smaller than the second value.
5095
- |br | Setting this attribute without specifying :at: `ctrllimited ` is an error, unless :at: `autolimits ` is set in
5103
+ |br | Setting this attribute without specifying :at: `ctrllimited ` is an error if :at: `autolimits ` is "false" in
5096
5104
:ref: `compiler <compiler >`.
5097
5105
5098
5106
.. _actuator-general-forcerange :
5099
5107
5100
5108
:at: `forcerange `: :at-val: `real(2), "0 0" `
5101
5109
Range for clamping the force output. The first value must be no greater than the second value.
5102
- |br | Setting this attribute without specifying :at: `forcelimited ` is an error, unless :at: `autolimits ` is set in
5110
+ |br | Setting this attribute without specifying :at: `forcelimited ` is an error if :at: `autolimits ` is "false" in
5103
5111
:ref: `compiler <compiler >`.
5104
5112
5105
5113
.. _actuator-general-actrange :
5106
5114
5107
5115
:at: `actrange `: :at-val: `real(2), "0 0" `
5108
5116
Range for clamping the activation state. The first value must be no greater than the second value.
5109
5117
See the :ref: `Activation clamping <CActRange >` section for more details.
5110
- |br | Setting this attribute without specifying :at: `actlimited ` is an error, unless :at: `autolimits ` is set in
5118
+ |br | Setting this attribute without specifying :at: `actlimited ` is an error if :at: `autolimits ` is "false" in
5111
5119
:ref: `compiler <compiler >`.
5112
5120
5113
5121
.. _actuator-general-lengthrange :
@@ -6485,10 +6493,12 @@ arms determined by the transmission). This sensor can be attached to any actuato
6485
6493
:el-prefix: `sensor/ ` |- | **jointactuatorfrc ** (*)
6486
6494
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6487
6495
6488
- This element creates an actuator force sensor, measured at a joint. The quantity being sensed is the
6489
- generalized force contributed by all actuators to a single scalar joint (hinge or slider). This type of sensor is
6490
- important when multiple actuators act on a single joint or when a single actuator act on multiple joints. See
6491
- :ref: `CForceRange ` for details.
6496
+ This element creates an actuator force sensor, measured at a joint. The quantity being sensed is the generalized force
6497
+ contributed by all actuators to a single scalar joint (hinge or slider). If the joint's
6498
+ :ref: `actuatorgravcomp<body-joint-actuatorgravcomp> ` attribute is "true", this sensor will also measure contributions by
6499
+ gravity compensation forces (which are added directly to the joint and would *not * register in the
6500
+ :ref: `actuatorfrc<sensor-actuatorfrc> `) sensor. This type of sensor is important when multiple actuators act on a single
6501
+ joint or when a single actuator act on multiple joints. See :ref: `CForceRange ` for details.
6492
6502
6493
6503
6494
6504
.. _sensor-jointactuatorfrc-name :
@@ -7382,6 +7392,8 @@ if omitted.
7382
7392
7383
7393
.. _default-joint-actuatorfrclimited :
7384
7394
7395
+ .. _default-joint-actuatorgravcomp :
7396
+
7385
7397
.. _default-joint-solreflimit :
7386
7398
7387
7399
.. _default-joint-solimplimit :
0 commit comments