diff --git a/docs/source/api/lab/isaaclab.sim.rst b/docs/source/api/lab/isaaclab.sim.rst index 06c7546d63da..e3483544510f 100644 --- a/docs/source/api/lab/isaaclab.sim.rst +++ b/docs/source/api/lab/isaaclab.sim.rst @@ -74,52 +74,66 @@ The following classes are part of the public :mod:`isaaclab.sim` API. UsdPhysicsRigidBodyCfg .. autoclass:: ArticulationRootFragment + :no-index: :show-inheritance: .. autoclass:: CollisionFragment + :no-index: :show-inheritance: .. autoclass:: FixedTendonFragment + :no-index: :show-inheritance: .. autoclass:: JointDriveFragment + :no-index: :show-inheritance: .. autoclass:: MassCfg + :no-index: :show-inheritance: .. autoclass:: MassFragment + :no-index: :show-inheritance: .. autoclass:: MeshCollisionFragment + :no-index: :show-inheritance: .. autoclass:: MjcfFileCfg :show-inheritance: .. autoclass:: RigidBodyFragment + :no-index: :show-inheritance: .. autoclass:: SchemaFragment + :no-index: :show-inheritance: .. autoclass:: SensorFrameCfg :show-inheritance: .. autoclass:: SpatialTendonFragment + :no-index: :show-inheritance: .. autoclass:: UsdFileWithCompliantContactCfg :show-inheritance: .. autoclass:: UsdPhysicsCollisionCfg + :no-index: :show-inheritance: .. autoclass:: UsdPhysicsDriveCfg + :no-index: :show-inheritance: .. autoclass:: UsdPhysicsMeshCollisionCfg + :no-index: :show-inheritance: .. autoclass:: UsdPhysicsRigidBodyCfg + :no-index: :show-inheritance: diff --git a/source/isaaclab_newton/changelog.d/fix-articulation-wrench-response.skip b/source/isaaclab_newton/changelog.d/fix-articulation-wrench-response.skip new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/source/isaaclab_newton/test/assets/test_articulation.py b/source/isaaclab_newton/test/assets/test_articulation.py index e45d1e96b1de..cc70cf19adad 100644 --- a/source/isaaclab_newton/test/assets/test_articulation.py +++ b/source/isaaclab_newton/test/assets/test_articulation.py @@ -2591,8 +2591,8 @@ def test_external_force_on_multiple_bodies_at_position(sim, num_articulations, d articulation.update(sim.cfg.dt) # check condition for i in range(num_articulations): - # since there is a moment applied on the articulation, the articulation should rotate - assert torch.abs(articulation.data.root_ang_vel_w.torch[i, 2]).item() > 0.1 + # the response axis depends on the link frames, so check that the articulation rotates + assert torch.linalg.vector_norm(articulation.data.root_ang_vel_w.torch[i]).item() > 0.1 @pytest.mark.parametrize("num_articulations", [2]) diff --git a/source/isaaclab_ov/changelog.d/fix-articulation-wrench-response.skip b/source/isaaclab_ov/changelog.d/fix-articulation-wrench-response.skip new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/source/isaaclab_ov/test/assets/test_articulation.py b/source/isaaclab_ov/test/assets/test_articulation.py index 39dba43270a7..9c9662d94cdd 100644 --- a/source/isaaclab_ov/test/assets/test_articulation.py +++ b/source/isaaclab_ov/test/assets/test_articulation.py @@ -2344,8 +2344,8 @@ def test_external_force_on_multiple_bodies_at_position(sim, num_articulations, d articulation.update(sim.cfg.dt) # check condition for i in range(num_articulations): - # since there is a moment applied on the articulation, the articulation should rotate - assert torch.abs(articulation.data.root_ang_vel_w.torch[i, 2]).item() > 0.1 + # the response axis depends on the link frames, so check that the articulation rotates + assert torch.linalg.vector_norm(articulation.data.root_ang_vel_w.torch[i]).item() > 0.1 @pytest.mark.parametrize("num_articulations", [1, 2]) diff --git a/source/isaaclab_physx/changelog.d/fix-articulation-wrench-response.skip b/source/isaaclab_physx/changelog.d/fix-articulation-wrench-response.skip new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/source/isaaclab_physx/test/assets/test_articulation.py b/source/isaaclab_physx/test/assets/test_articulation.py index 6263ce09eb84..8fec86b67ca7 100644 --- a/source/isaaclab_physx/test/assets/test_articulation.py +++ b/source/isaaclab_physx/test/assets/test_articulation.py @@ -1630,8 +1630,8 @@ def test_external_force_on_multiple_bodies_at_position(sim, num_articulations, d articulation.update(sim.cfg.dt) # check condition for i in range(num_articulations): - # since there is a moment applied on the articulation, the articulation should rotate - assert torch.abs(articulation.data.root_ang_vel_w.torch[i, 2]).item() > 0.1 + # the response axis depends on the link frames, so check that the articulation rotates + assert torch.linalg.vector_norm(articulation.data.root_ang_vel_w.torch[i]).item() > 0.1 @pytest.mark.parametrize("num_articulations", [1, 2])