Change mj_ray behaviour to match geom visualisation conventions:
- Planes and height-fields respect `mj_ray`'s `geom_group` argument. - The `flg_static` argument now applies to all static geoms, not only those directly in the world body. Before this change: - Rays always intersected with height fields and planes, unless `flg_static` was set to 0. - `flg_static` only applied to static geoms that were direct children of the world, but not geoms that were children of static bodies. PiperOrigin-RevId: 534969091 Change-Id: I8dc7c320c63d6af95709b9f5e83a3c50e1c199fa
This commit is contained in:
committed by
Copybara-Service
parent
55c7f45dc5
commit
c66d79409c
+20
-17
@@ -5,27 +5,29 @@ Changelog
|
|||||||
Upcoming version (not yet released)
|
Upcoming version (not yet released)
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
|
|
||||||
.. youtube:: hqIMTNGaLF4
|
.. youtube:: ZppeDArq6AU
|
||||||
:align: right
|
:align: right
|
||||||
:width: 240px
|
:width: 240px
|
||||||
|
|
||||||
|
Models
|
||||||
|
^^^^^^
|
||||||
|
|
||||||
|
- Added `3x3x3 cube <https://github.com/deepmind/mujoco/blob/main/model/cube/cube_3x3x3.xml>`__ example model. See
|
||||||
|
`README <https://github.com/deepmind/mujoco/blob/main/model/cube/README.md>`__ for details.
|
||||||
|
|
||||||
Bug fixes
|
Bug fixes
|
||||||
^^^^^^^
|
^^^^^^^^^
|
||||||
|
|
||||||
- Fixed a bug that was causing an incorrect computation of the mesh bounding box and coordinate frame if the volume was
|
- Fixed a bug that was causing an incorrect computation of the mesh bounding box and coordinate frame if the volume was
|
||||||
invalid. In such case, now MuJoCo only accepts a non-watertight geometry if :ref:`shellinertia<body-geom-shellinertia>`
|
invalid. In such case, now MuJoCo only accepts a non-watertight geometry if
|
||||||
is equal to ``true``.
|
:ref:`shellinertia<body-geom-shellinertia>` is equal to ``true``.
|
||||||
|
|
||||||
- Fixed the sparse Jacobian multiplication logic that is used to compute derivatives for tendon damping and fluid force,
|
- Fixed the sparse Jacobian multiplication logic that is used to compute derivatives for tendon damping and fluid force,
|
||||||
which affects the behaviour of the :ref:`implicit and implicitfast integrators<geIntegration>`.
|
which affects the behaviour of the :ref:`implicit and implicitfast integrators<geIntegration>`.
|
||||||
|
- Fixes to :ref:`mj_ray`, in line with geom visualisation conventions:
|
||||||
|
|
||||||
Plugins
|
- Planes and height-fields respect the `geom_group` and `flg_static` arguments. Before this change, rays would
|
||||||
^^^^^^^
|
intersect planes and height-fields unconditionally.
|
||||||
|
- ``flg_static`` now apllies to all static geoms, not just those which are direct children of the world body.
|
||||||
- Added touch-grid sensor plugin. See `documentation <https://github.com/deepmind/mujoco/blob/main/plugin/sensor/README.md>`_
|
|
||||||
for details, and associated `touch_grid.xml <https://github.com/deepmind/mujoco/blob/main/model/plugin/touch_grid.xml>`_
|
|
||||||
example model. The plugin includes `in-scene visualisation <https://youtu.be/0LOJ3WMnqeA>`_.
|
|
||||||
|
|
||||||
General
|
General
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
@@ -55,16 +57,17 @@ General
|
|||||||
model, within a range of width tausmooth. See :ref:`Muscle actuators<CMuscle>` for more details.
|
model, within a range of width tausmooth. See :ref:`Muscle actuators<CMuscle>` for more details.
|
||||||
Relatedly, :ref:`mju_muscleDynamics` now takes 3 parameters instead of 2, adding the new smoothing-width parameter.
|
Relatedly, :ref:`mju_muscleDynamics` now takes 3 parameters instead of 2, adding the new smoothing-width parameter.
|
||||||
|
|
||||||
|
.. youtube:: hqIMTNGaLF4
|
||||||
.. youtube:: ZppeDArq6AU
|
|
||||||
:align: right
|
:align: right
|
||||||
:width: 240px
|
:width: 240px
|
||||||
|
|
||||||
Models
|
Plugins
|
||||||
^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
|
- Added touch-grid sensor plugin. See `documentation <https://github.com/deepmind/mujoco/blob/main/plugin/sensor/README.md>`_
|
||||||
|
for details, and associated `touch_grid.xml <https://github.com/deepmind/mujoco/blob/main/model/plugin/touch_grid.xml>`_
|
||||||
|
example model. The plugin includes `in-scene visualisation <https://youtu.be/0LOJ3WMnqeA>`_.
|
||||||
|
|
||||||
- Added `3x3x3 cube <https://github.com/deepmind/mujoco/blob/main/model/cube/cube_3x3x3.xml>`__ example model. See
|
|
||||||
`README <https://github.com/deepmind/mujoco/blob/main/model/cube/README.md>`__ for details.
|
|
||||||
|
|
||||||
Version 2.3.5 (April 25, 2023)
|
Version 2.3.5 (April 25, 2023)
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|||||||
@@ -82,15 +82,10 @@ static int ray_eliminate(const mjModel* m, const mjData* d, int geomid,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// static exclusion
|
// static exclusion
|
||||||
if (!flg_static && m->geom_bodyid[geomid]==0) {
|
if (!flg_static && m->body_weldid[m->geom_bodyid[geomid]]==0) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// plane and hfield inclusion
|
|
||||||
if (m->geom_type[geomid]==mjGEOM_PLANE || m->geom_type[geomid]==mjGEOM_HFIELD) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// no geomgroup inclusion
|
// no geomgroup inclusion
|
||||||
if (!geomgroup) {
|
if (!geomgroup) {
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -39,10 +39,10 @@ static constexpr char kSingleGeomModel[] = R"(
|
|||||||
static constexpr char kRayCastingModel[] = R"(
|
static constexpr char kRayCastingModel[] = R"(
|
||||||
<mujoco>
|
<mujoco>
|
||||||
<worldbody>
|
<worldbody>
|
||||||
<geom name="static_group1" type="sphere" size=".1" pos="1 0 0"
|
<geom name="static_group1" type="sphere" size=".1" pos="1 0 0" group="1"/>
|
||||||
group="1"/>
|
|
||||||
<body pos="0 0 0">
|
<body pos="0 0 0">
|
||||||
<body pos="0 0 0">
|
<body pos="0 0 0">
|
||||||
|
<joint/>
|
||||||
<geom name="group0" type="sphere" size=".1" pos="3 0 0"/>
|
<geom name="group0" type="sphere" size=".1" pos="3 0 0"/>
|
||||||
</body>
|
</body>
|
||||||
<geom name="group2" type="sphere" size=".1" pos="5 0 0" group="2"/>
|
<geom name="group2" type="sphere" size=".1" pos="5 0 0" group="2"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user