From 740326386a146a9bc925dcea1d2e2de9bb60b803 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Serrano=20Mu=C3=B1oz?= Date: Fri, 21 Jun 2024 18:11:00 -0400 Subject: [PATCH] Replace Orbit by Isaac Lab in docs --- docs/source/api/envs.rst | 12 ++--- docs/source/api/envs/isaac_orbit.rst | 32 +++++------ docs/source/api/envs/wrapping.rst | 42 +++++++-------- .../api/utils/omniverse_isaacgym_utils.rst | 2 +- docs/source/index.rst | 12 ++--- docs/source/intro/examples.rst | 54 +++++++++---------- docs/source/intro/getting_started.rst | 38 ++++++------- docs/source/intro/installation.rst | 6 +-- docs/source/snippets/loaders.py | 32 +++++------ docs/source/snippets/wrapping.py | 20 +++---- 10 files changed, 125 insertions(+), 125 deletions(-) diff --git a/docs/source/api/envs.rst b/docs/source/api/envs.rst index 3b3091da..c31c2992 100644 --- a/docs/source/api/envs.rst +++ b/docs/source/api/envs.rst @@ -7,8 +7,8 @@ Environments Wrapping (single-agent) Wrapping (multi-agents) Isaac Gym environments - Isaac Orbit environments Omniverse Isaac Gym environments + Isaac Lab environments The environment plays a fundamental and crucial role in defining the RL setup. It is the place where the agent interacts, and it is responsible for providing the agent with information about its current state, as well as the rewards/penalties associated with each action. @@ -16,7 +16,7 @@ The environment plays a fundamental and crucial role in defining the RL setup. I

-Grouped in this section you will find how to load environments from NVIDIA Isaac Gym, Isaac Orbit and Omniverse Isaac Gym with a simple function. +Grouped in this section you will find how to load environments from NVIDIA Isaac Gym, Omniverse Isaac Gym and Isaac Lab with a simple function. In addition, you will be able to :doc:`wrap single-agent ` and :doc:`multi-agent ` RL environment interfaces. @@ -29,10 +29,10 @@ In addition, you will be able to :doc:`wrap single-agent ` and :d * - :doc:`Isaac Gym environments ` - .. centered:: :math:`\blacksquare` - .. centered:: :math:`\blacksquare` - * - :doc:`Isaac Orbit environments ` + * - :doc:`Omniverse Isaac Gym environments ` - .. centered:: :math:`\blacksquare` - .. centered:: :math:`\blacksquare` - * - :doc:`Omniverse Isaac Gym environments ` + * - :doc:`Isaac Lab environments ` - .. centered:: :math:`\blacksquare` - .. centered:: :math:`\blacksquare` @@ -57,10 +57,10 @@ In addition, you will be able to :doc:`wrap single-agent ` and :d * - Isaac Gym (previews) - .. centered:: :math:`\blacksquare` - .. centered:: :math:`\blacksquare` - * - Isaac Orbit + * - Omniverse Isaac Gym |_5| |_5| |_5| |_5| |_2| - .. centered:: :math:`\blacksquare` - .. centered:: :math:`\blacksquare` - * - Omniverse Isaac Gym |_5| |_5| |_5| |_5| |_2| + * - Isaac Lab - .. centered:: :math:`\blacksquare` - .. centered:: :math:`\blacksquare` * - PettingZoo diff --git a/docs/source/api/envs/isaac_orbit.rst b/docs/source/api/envs/isaac_orbit.rst index b7b603dd..f21d1afd 100644 --- a/docs/source/api/envs/isaac_orbit.rst +++ b/docs/source/api/envs/isaac_orbit.rst @@ -1,10 +1,10 @@ -Isaac Orbit environments -======================== +Isaac Lab environments +====================== .. image:: ../../_static/imgs/example_isaac_orbit.png :width: 100% :align: center - :alt: Isaac Orbit environments + :alt: Isaac Lab environments .. raw:: html @@ -13,9 +13,9 @@ Isaac Orbit environments Environments ------------ -The repository https://github.com/NVIDIA-Omniverse/Orbit provides the example reinforcement learning environments for Isaac orbit. +The repository https://github.com/isaac-sim/IsaacLab provides the example reinforcement learning environments for Isaac Lab (Orbit and Omniverse Isaac Gym unification). -These environments can be easily loaded and configured by calling a single function provided with this library. This function also makes it possible to configure the environment from the command line arguments (see Isaac Orbit's `Running an RL environment `_) or from its parameters (:literal:`task_name`, :literal:`num_envs`, :literal:`headless`, and :literal:`cli_args`). +These environments can be easily loaded and configured by calling a single function provided with this library. This function also makes it possible to configure the environment from the command line arguments (see Isaac Lab's `Training with an RL Agent `_) or from its parameters (:literal:`task_name`, :literal:`num_envs`, :literal:`headless`, and :literal:`cli_args`). .. note:: @@ -23,7 +23,7 @@ These environments can be easily loaded and configured by calling a single funct .. note:: - Isaac Orbit environments implement a functionality to get their configuration from the command line. Setting the :literal:`headless` option from the trainer configuration will not work. In this case, it is necessary to set the load function's :literal:`headless` argument to True or to invoke the scripts as follows: :literal:`orbit -p script.py --headless`. + Isaac Lab environments implement a functionality to get their configuration from the command line. Setting the :literal:`headless` option from the trainer configuration will not work. In this case, it is necessary to set the load function's :literal:`headless` argument to True or to invoke the scripts as follows: :literal:`isaaclab -p script.py --headless`. .. raw:: html @@ -43,16 +43,16 @@ Usage .. literalinclude:: ../../snippets/loaders.py :language: python :emphasize-lines: 2, 5 - :start-after: [start-isaac-orbit-envs-parameters-torch] - :end-before: [end-isaac-orbit-envs-parameters-torch] + :start-after: [start-isaaclab-envs-parameters-torch] + :end-before: [end-isaaclab-envs-parameters-torch] .. group-tab:: |_4| |jax| |_4| .. literalinclude:: ../../snippets/loaders.py :language: python :emphasize-lines: 2, 5 - :start-after: [start-isaac-orbit-envs-parameters-jax] - :end-before: [end-isaac-orbit-envs-parameters-jax] + :start-after: [start-isaaclab-envs-parameters-jax] + :end-before: [end-isaaclab-envs-parameters-jax] .. tab:: Command line arguments (priority) @@ -63,22 +63,22 @@ Usage .. literalinclude:: ../../snippets/loaders.py :language: python :emphasize-lines: 2, 5 - :start-after: [start-isaac-orbit-envs-cli-torch] - :end-before: [end-isaac-orbit-envs-cli-torch] + :start-after: [start-isaaclab-envs-cli-torch] + :end-before: [end-isaaclab-envs-cli-torch] .. group-tab:: |_4| |jax| |_4| .. literalinclude:: ../../snippets/loaders.py :language: python :emphasize-lines: 2, 5 - :start-after: [start-isaac-orbit-envs-cli-jax] - :end-before: [end-isaac-orbit-envs-cli-jax] + :start-after: [start-isaaclab-envs-cli-jax] + :end-before: [end-isaaclab-envs-cli-jax] Run the main script passing the configuration as command line arguments. For example: .. code-block:: - orbit -p main.py --task Isaac-Cartpole-v0 + isaaclab -p main.py --task Isaac-Cartpole-v0 .. raw:: html @@ -87,4 +87,4 @@ Usage API ^^^ -.. autofunction:: skrl.envs.loaders.torch.load_isaac_orbit_env +.. autofunction:: skrl.envs.loaders.torch.load_isaaclab_env diff --git a/docs/source/api/envs/wrapping.rst b/docs/source/api/envs/wrapping.rst index a725a7e9..8fc99ddb 100644 --- a/docs/source/api/envs/wrapping.rst +++ b/docs/source/api/envs/wrapping.rst @@ -14,8 +14,8 @@ This library works with a common API to interact with the following RL environme * `DeepMind `_ * `robosuite `_ * `NVIDIA Isaac Gym `_ (preview 2, 3 and 4) -* `NVIDIA Isaac Orbit `_ * `NVIDIA Omniverse Isaac Gym `_ +* `NVIDIA Isaac Lab `_ To operate with them and to support interoperability between these non-compatible interfaces, a **wrapping mechanism is provided** as shown in the diagram below @@ -44,6 +44,24 @@ Usage .. tabs:: + .. tab:: Isaac Lab + + .. tabs:: + + .. group-tab:: |_4| |pytorch| |_4| + + .. literalinclude:: ../../snippets/wrapping.py + :language: python + :start-after: [pytorch-start-isaaclab] + :end-before: [pytorch-end-isaaclab] + + .. group-tab:: |_4| |jax| |_4| + + .. literalinclude:: ../../snippets/wrapping.py + :language: python + :start-after: [jax-start-isaaclab] + :end-before: [jax-end-isaaclab] + .. tab:: Omniverse Isaac Gym .. tabs:: @@ -84,24 +102,6 @@ Usage :start-after: [jax-start-omniverse-isaacgym-mt] :end-before: [jax-end-omniverse-isaacgym-mt] - .. tab:: Isaac Orbit - - .. tabs:: - - .. group-tab:: |_4| |pytorch| |_4| - - .. literalinclude:: ../../snippets/wrapping.py - :language: python - :start-after: [pytorch-start-isaac-orbit] - :end-before: [pytorch-end-isaac-orbit] - - .. group-tab:: |_4| |jax| |_4| - - .. literalinclude:: ../../snippets/wrapping.py - :language: python - :start-after: [jax-start-isaac-orbit] - :end-before: [jax-end-isaac-orbit] - .. tab:: Isaac Gym .. tabs:: @@ -365,7 +365,7 @@ Internal API (PyTorch) .. automethod:: __init__ -.. autoclass:: skrl.envs.wrappers.torch.IsaacOrbitWrapper +.. autoclass:: skrl.envs.wrappers.torch.IsaacLabWrapper :undoc-members: :show-inheritance: :members: @@ -443,7 +443,7 @@ Internal API (JAX) .. automethod:: __init__ -.. autoclass:: skrl.envs.wrappers.jax.IsaacOrbitWrapper +.. autoclass:: skrl.envs.wrappers.jax.IsaacLabWrapper :undoc-members: :show-inheritance: :members: diff --git a/docs/source/api/utils/omniverse_isaacgym_utils.rst b/docs/source/api/utils/omniverse_isaacgym_utils.rst index a5bfe412..57167cca 100644 --- a/docs/source/api/utils/omniverse_isaacgym_utils.rst +++ b/docs/source/api/utils/omniverse_isaacgym_utils.rst @@ -17,7 +17,7 @@ Control of robotic manipulators Differential inverse kinematics ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -This implementation attempts to unify under a single and reusable function the whole set of procedures used to compute the inverse kinematics of a robotic manipulator, originally shown in the Isaac Orbit framework's task space controllers section, but this time for Omniverse Isaac Gym. +This implementation attempts to unify under a single and reusable function the whole set of procedures used to compute the inverse kinematics of a robotic manipulator, originally shown in the Isaac Lab (Orbit then) framework's task space controllers section, but this time for Omniverse Isaac Gym. :math:`\Delta\theta =` :guilabel:`scale` :math:`J^\dagger \, \vec{e}` diff --git a/docs/source/index.rst b/docs/source/index.rst index d587c727..c4a8157a 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -28,15 +28,15 @@ SKRL - Reinforcement Learning library (|version|)

-**skrl** is an open-source library for Reinforcement Learning written in Python (on top of `PyTorch `_ and `JAX `_) and designed with a focus on modularity, readability, simplicity and transparency of algorithm implementation. In addition to supporting the OpenAI `Gym `_ / Farama `Gymnasium `_, `DeepMind `_ and other environment interfaces, it allows loading and configuring `NVIDIA Isaac Gym `_, `NVIDIA Isaac Orbit `_ and `NVIDIA Omniverse Isaac Gym `_ environments, enabling agents' simultaneous training by scopes (subsets of environments among all available environments), which may or may not share resources, in the same run. +**skrl** is an open-source library for Reinforcement Learning written in Python (on top of `PyTorch `_ and `JAX `_) and designed with a focus on modularity, readability, simplicity and transparency of algorithm implementation. In addition to supporting the OpenAI `Gym `_ / Farama `Gymnasium `_, `DeepMind `_ and other environment interfaces, it allows loading and configuring `NVIDIA Isaac Gym `_, `NVIDIA Omniverse Isaac Gym `_, and `NVIDIA Isaac Lab `_ environments, enabling agents' simultaneous training by scopes (subsets of environments among all available environments), which may or may not share resources, in the same run. **Main features:** * PyTorch (|_1| |pytorch| |_1|) and JAX (|_1| |jax| |_1|) * Clean code * Modularity and reusability * Documented library, code and implementations - * Support for Gym/Gymnasium (single and vectorized), DeepMind, NVIDIA Isaac Gym (preview 2, 3 and 4), NVIDIA Isaac Orbit, NVIDIA Omniverse Isaac Gym environments, among others - * Simultaneous learning by scopes in Gym/Gymnasium (vectorized), NVIDIA Isaac Gym, NVIDIA Isaac Orbit and NVIDIA Omniverse Isaac Gym + * Support for Gym/Gymnasium (single and vectorized), DeepMind, NVIDIA Isaac Gym (preview 2, 3 and 4), NVIDIA Omniverse Isaac Gym environments, NVIDIA Isaac Lab, among others + * Simultaneous learning by scopes in Gym/Gymnasium (vectorized), NVIDIA Isaac Gym, NVIDIA Omniverse Isaac Gym, and NVIDIA Isaac Lab .. raw:: html @@ -132,13 +132,13 @@ Multi-agents Environments ^^^^^^^^^^^^ - Definition of the Isaac Gym (preview 2, 3 and 4), Isaac Orbit and Omniverse Isaac Gym environment loaders, and wrappers for the Gym/Gymnasium, DeepMind, Isaac Gym, Isaac Orbit, Omniverse Isaac Gym environments, among others + Definition of the Isaac Gym (preview 2, 3 and 4), Omniverse Isaac Gym, and Isaac Lab environment loaders, and wrappers for the Gym/Gymnasium, DeepMind, Isaac Gym, Omniverse Isaac Gym environments, Isaac Lab, among others - * :doc:`Single-agent environment wrapping ` for **Gym/Gymnasium**, **DeepMind**, **Isaac Gym**, **Isaac Orbit**, **Omniverse Isaac Gym** environments, among others + * :doc:`Single-agent environment wrapping ` for **Gym/Gymnasium**, **DeepMind**, **Isaac Gym**, **Omniverse Isaac Gym**, **Isaac Lab** environments, among others * :doc:`Multi-agent environment wrapping ` for **PettingZoo** and **Bi-DexHands** environments * Loading :doc:`Isaac Gym environments ` - * Loading :doc:`Isaac Orbit environments ` * Loading :doc:`Omniverse Isaac Gym environments ` + * Loading :doc:`Isaac Lab environments ` Memories ^^^^^^^^ diff --git a/docs/source/intro/examples.rst b/docs/source/intro/examples.rst index 2f16383e..6f2e3f91 100644 --- a/docs/source/intro/examples.rst +++ b/docs/source/intro/examples.rst @@ -772,28 +772,28 @@ The agent configuration is mapped, as far as possible, from the `IsaacGymEnvs co

-**NVIDIA Isaac Orbit** ----------------------- +**NVIDIA Isaac Lab** +-------------------- .. raw:: html
-Isaac Orbit environments -^^^^^^^^^^^^^^^^^^^^^^^^ +Isaac Lab environments +^^^^^^^^^^^^^^^^^^^^^^ -Training/evaluation of an agent in `Isaac Orbit environments `_ (**one agent, multiple environments**) +Training/evaluation of an agent in `Isaac Lab environments `_ (**one agent, multiple environments**) .. image:: ../_static/imgs/example_isaac_orbit.png :width: 100% :align: center - :alt: Isaac Orbit environments + :alt: Isaac Lab environments .. raw:: html
-The agent configuration is mapped, as far as possible, from the `Isaac Orbit configuration `_ for rl_games. Shared models or separated models are used depending on the value of the :literal:`network.separate` variable. The following list shows the mapping between the two configurations: +The agent configuration is mapped, as far as possible, from the Isaac Lab configuration for rl_games. Shared models or separated models are used depending on the value of the :literal:`network.separate` variable. The following list shows the mapping between the two configurations: .. tabs:: @@ -853,11 +853,11 @@ The agent configuration is mapped, as far as possible, from the `Isaac Orbit con # trainer timesteps = num_steps_per_episode * max_epochs -**Benchmark results** are listed in `Benchmark results #32 (NVIDIA Isaac Orbit) `_ +**Benchmark results** are listed in `Benchmark results #32 (NVIDIA Isaac Lab) `_ .. note:: - Isaac Orbit environments implement a functionality to get their configuration from the command line. Because of this feature, setting the :literal:`headless` option from the trainer configuration will not work. In this case, it is necessary to invoke the scripts as follows: :literal:`orbit -p script.py --headless` + Isaac Lab environments implement a functionality to get their configuration from the command line. Because of this feature, setting the :literal:`headless` option from the trainer configuration will not work. In this case, it is necessary to invoke the scripts as follows: :literal:`isaaclab -p script.py --headless` .. tabs:: @@ -873,28 +873,28 @@ The agent configuration is mapped, as far as possible, from the `Isaac Orbit con - Script - Checkpoint (Hugging Face) * - Isaac-Ant-v0 - - :download:`torch_ant_ppo.py <../examples/isaacorbit/torch_ant_ppo.py>` - |br| :download:`torch_ant_ddpg.py <../examples/isaacorbit/torch_ant_ddpg.py>` - |br| :download:`torch_ant_td3.py <../examples/isaacorbit/torch_ant_td3.py>` - |br| :download:`torch_ant_sac.py <../examples/isaacorbit/torch_ant_sac.py>` + - :download:`torch_ant_ppo.py <../examples/isaaclab/torch_ant_ppo.py>` + |br| :download:`torch_ant_ddpg.py <../examples/isaaclab/torch_ant_ddpg.py>` + |br| :download:`torch_ant_td3.py <../examples/isaaclab/torch_ant_td3.py>` + |br| :download:`torch_ant_sac.py <../examples/isaaclab/torch_ant_sac.py>` - `IsaacOrbit-Isaac-Ant-v0-PPO `_ |br| |br| |br| * - Isaac-Cartpole-v0 - - :download:`torch_cartpole_ppo.py <../examples/isaacorbit/torch_cartpole_ppo.py>` + - :download:`torch_cartpole_ppo.py <../examples/isaaclab/torch_cartpole_ppo.py>` - `IsaacOrbit-Isaac-Cartpole-v0-PPO `_ * - Isaac-Humanoid-v0 - - :download:`torch_humanoid_ppo.py <../examples/isaacorbit/torch_humanoid_ppo.py>` + - :download:`torch_humanoid_ppo.py <../examples/isaaclab/torch_humanoid_ppo.py>` - `IsaacOrbit-Isaac-Humanoid-v0-PPO `_ * - Isaac-Lift-Franka-v0 - - :download:`torch_lift_franka_ppo.py <../examples/isaacorbit/torch_lift_franka_ppo.py>` + - :download:`torch_lift_franka_ppo.py <../examples/isaaclab/torch_lift_franka_ppo.py>` - `IsaacOrbit-Isaac-Lift-Franka-v0-PPO `_ * - Isaac-Reach-Franka-v0 - - :download:`torch_reach_franka_ppo.py <../examples/isaacorbit/torch_reach_franka_ppo.py>` + - :download:`torch_reach_franka_ppo.py <../examples/isaaclab/torch_reach_franka_ppo.py>` - `IsaacOrbit-Isaac-Reach-Franka-v0-PPO `_ * - Isaac-Velocity-Anymal-C-v0 - - :download:`torch_velocity_anymal_c_ppo.py <../examples/isaacorbit/torch_velocity_anymal_c_ppo.py>` + - :download:`torch_velocity_anymal_c_ppo.py <../examples/isaaclab/torch_velocity_anymal_c_ppo.py>` - .. group-tab:: |_4| |jax| |_4| @@ -909,28 +909,28 @@ The agent configuration is mapped, as far as possible, from the `Isaac Orbit con - Script - Checkpoint (Hugging Face) * - Isaac-Ant-v0 - - :download:`jax_ant_ppo.py <../examples/isaacorbit/jax_ant_ppo.py>` - |br| :download:`jax_ant_ddpg.py <../examples/isaacorbit/jax_ant_ddpg.py>` - |br| :download:`jax_ant_td3.py <../examples/isaacorbit/jax_ant_td3.py>` - |br| :download:`jax_ant_sac.py <../examples/isaacorbit/jax_ant_sac.py>` + - :download:`jax_ant_ppo.py <../examples/isaaclab/jax_ant_ppo.py>` + |br| :download:`jax_ant_ddpg.py <../examples/isaaclab/jax_ant_ddpg.py>` + |br| :download:`jax_ant_td3.py <../examples/isaaclab/jax_ant_td3.py>` + |br| :download:`jax_ant_sac.py <../examples/isaaclab/jax_ant_sac.py>` - `IsaacOrbit-Isaac-Ant-v0-PPO `_ |br| |br| |br| * - Isaac-Cartpole-v0 - - :download:`jax_cartpole_ppo.py <../examples/isaacorbit/jax_cartpole_ppo.py>` + - :download:`jax_cartpole_ppo.py <../examples/isaaclab/jax_cartpole_ppo.py>` - `IsaacOrbit-Isaac-Cartpole-v0-PPO `_ * - Isaac-Humanoid-v0 - - :download:`jax_humanoid_ppo.py <../examples/isaacorbit/jax_humanoid_ppo.py>` + - :download:`jax_humanoid_ppo.py <../examples/isaaclab/jax_humanoid_ppo.py>` - `IsaacOrbit-Isaac-Humanoid-v0-PPO `_ * - Isaac-Lift-Franka-v0 - - :download:`jax_lift_franka_ppo.py <../examples/isaacorbit/jax_lift_franka_ppo.py>` + - :download:`jax_lift_franka_ppo.py <../examples/isaaclab/jax_lift_franka_ppo.py>` - `IsaacOrbit-Isaac-Lift-Franka-v0-PPO `_ * - Isaac-Reach-Franka-v0 - - :download:`jax_reach_franka_ppo.py <../examples/isaacorbit/jax_reach_franka_ppo.py>` + - :download:`jax_reach_franka_ppo.py <../examples/isaaclab/jax_reach_franka_ppo.py>` - `IsaacOrbit-Isaac-Reach-Franka-v0-PPO `_ * - Isaac-Velocity-Anymal-C-v0 - - :download:`jax_velocity_anymal_c_ppo.py <../examples/isaacorbit/jax_velocity_anymal_c_ppo.py>` + - :download:`jax_velocity_anymal_c_ppo.py <../examples/isaaclab/jax_velocity_anymal_c_ppo.py>` - .. raw:: html diff --git a/docs/source/intro/getting_started.rst b/docs/source/intro/getting_started.rst index 75320efe..a957b8eb 100644 --- a/docs/source/intro/getting_started.rst +++ b/docs/source/intro/getting_started.rst @@ -43,7 +43,7 @@ At each step (also called timestep) of interaction with the environment, the age The environment plays a fundamental role in the definition of the RL schema. For example, the selection of the agent depends strongly on the observation and action space nature. There are several interfaces to interact with the environments such as OpenAI Gym / Farama Gymnasium or DeepMind. However, each of them has a different API and work with non-compatible data types. -* For **single-agent** environments, skrl offers a function to **wrap environments** based on the Gym/Gymnasium, DeepMind, NVIDIA Isaac Gym, Isaac Orbit and Omniverse Isaac Gym interfaces, among others. The wrapped environments provide, to the library components, a common interface (based on Gym/Gymnasium) as shown in the following figure. Refer to the :doc:`Wrapping (single-agent) <../api/envs/wrapping>` section for more information. +* For **single-agent** environments, skrl offers a function to **wrap environments** based on the Gym/Gymnasium, DeepMind, NVIDIA Isaac Gym, Omniverse Isaac Gym and Isaac Lab interfaces, among others. The wrapped environments provide, to the library components, a common interface (based on Gym/Gymnasium) as shown in the following figure. Refer to the :doc:`Wrapping (single-agent) <../api/envs/wrapping>` section for more information. * For **multi-agent** environments, skrl offers a function to **wrap environments** based on the PettingZoo and Bi-DexHands interfaces. The wrapped environments provide, to the library components, a common interface (based on PettingZoo) as shown in the following figure. Refer to the :doc:`Wrapping (multi-agents) <../api/envs/multi_agents_wrapping>` section for more information. @@ -85,6 +85,24 @@ Among the methods and properties defined in the wrapped environment, the observa .. tabs:: + .. tab:: Isaac Lab + + .. tabs:: + + .. group-tab:: |_4| |pytorch| |_4| + + .. literalinclude:: ../snippets/wrapping.py + :language: python + :start-after: [pytorch-start-isaaclab] + :end-before: [pytorch-end-isaaclab] + + .. group-tab:: |_4| |jax| |_4| + + .. literalinclude:: ../snippets/wrapping.py + :language: python + :start-after: [jax-start-isaaclab] + :end-before: [jax-end-isaaclab] + .. tab:: Omniverse Isaac Gym .. tabs:: @@ -125,24 +143,6 @@ Among the methods and properties defined in the wrapped environment, the observa :start-after: [jax-start-omniverse-isaacgym-mt] :end-before: [jax-end-omniverse-isaacgym-mt] - .. tab:: Isaac Orbit - - .. tabs:: - - .. group-tab:: |_4| |pytorch| |_4| - - .. literalinclude:: ../snippets/wrapping.py - :language: python - :start-after: [pytorch-start-isaac-orbit] - :end-before: [pytorch-end-isaac-orbit] - - .. group-tab:: |_4| |jax| |_4| - - .. literalinclude:: ../snippets/wrapping.py - :language: python - :start-after: [jax-start-isaac-orbit] - :end-before: [jax-end-isaac-orbit] - .. tab:: Isaac Gym .. tabs:: diff --git a/docs/source/intro/installation.rst b/docs/source/intro/installation.rst index c59e0e06..1c8fd3fc 100644 --- a/docs/source/intro/installation.rst +++ b/docs/source/intro/installation.rst @@ -191,7 +191,7 @@ Bug detection and/or correction, feature requests and everything else are more t AttributeError: 'Adam' object has no attribute '_warned_capturable_if_run_uncaptured' -2. When installing the JAX version in Python 3.7 (e.g. OmniIsaacGymEnvs or Isaac Orbit on Isaac Sim 2022.2.1 and earlier). +2. When installing the JAX version in Python 3.7 (e.g. OmniIsaacGymEnvs or Isaac Lab on Isaac Sim 2022.2.1 and earlier). .. code-block:: text @@ -210,7 +210,7 @@ Bug detection and/or correction, feature requests and everything else are more t * Overload models ``__hash__`` method to avoid :literal:`"TypeError: Failed to hash Flax Module"`. -3. When training/evaluating using JAX in Python 3.7 (e.g. OmniIsaacGymEnvs or Isaac Orbit on Isaac Sim 2022.2.1 and earlier). +3. When training/evaluating using JAX in Python 3.7 (e.g. OmniIsaacGymEnvs or Isaac Lab on Isaac Sim 2022.2.1 and earlier). .. code-block:: text @@ -223,7 +223,7 @@ Bug detection and/or correction, feature requests and everything else are more t def __hash__(self): return id(self) -4. When training/evaluating using JAX with the NVIDIA Isaac Gym Preview, Isaac Orbit or Omniverse Isaac Gym environments. +4. When training/evaluating using JAX with the NVIDIA Isaac Gym Preview, Omniverse Isaac Gym or Isaac Lab environments. .. code-block:: text diff --git a/docs/source/snippets/loaders.py b/docs/source/snippets/loaders.py index f9a15f5a..49a8cc41 100644 --- a/docs/source/snippets/loaders.py +++ b/docs/source/snippets/loaders.py @@ -111,40 +111,40 @@ # ============================================================================= -# [start-isaac-orbit-envs-parameters-torch] +# [start-isaaclab-envs-parameters-torch] # import the environment loader -from skrl.envs.loaders.torch import load_isaac_orbit_env +from skrl.envs.loaders.torch import load_isaaclab_env # load environment -env = load_isaac_orbit_env(task_name="Isaac-Cartpole-v0") -# [end-isaac-orbit-envs-parameters-torch] +env = load_isaaclab_env(task_name="Isaac-Cartpole-v0") +# [end-isaaclab-envs-parameters-torch] -# [start-isaac-orbit-envs-parameters-jax] +# [start-isaaclab-envs-parameters-jax] # import the environment loader -from skrl.envs.loaders.jax import load_isaac_orbit_env +from skrl.envs.loaders.jax import load_isaaclab_env # load environment -env = load_isaac_orbit_env(task_name="Isaac-Cartpole-v0") -# [end-isaac-orbit-envs-parameters-jax] +env = load_isaaclab_env(task_name="Isaac-Cartpole-v0") +# [end-isaaclab-envs-parameters-jax] -# [start-isaac-orbit-envs-cli-torch] +# [start-isaaclab-envs-cli-torch] # import the environment loader -from skrl.envs.loaders.torch import load_isaac_orbit_env +from skrl.envs.loaders.torch import load_isaaclab_env # load environment -env = load_isaac_orbit_env() -# [end-isaac-orbit-envs-cli-torch] +env = load_isaaclab_env() +# [end-isaaclab-envs-cli-torch] -# [start-isaac-orbit-envs-cli-jax] +# [start-isaaclab-envs-cli-jax] # import the environment loader -from skrl.envs.loaders.jax import load_isaac_orbit_env +from skrl.envs.loaders.jax import load_isaaclab_env # load environment -env = load_isaac_orbit_env() -# [end-isaac-orbit-envs-cli-jax] +env = load_isaaclab_env() +# [end-isaaclab-envs-cli-jax] # ============================================================================= diff --git a/docs/source/snippets/wrapping.py b/docs/source/snippets/wrapping.py index 4213ad57..564c1c3a 100644 --- a/docs/source/snippets/wrapping.py +++ b/docs/source/snippets/wrapping.py @@ -49,30 +49,30 @@ # [jax-end-omniverse-isaacgym-mt] -# [pytorch-start-isaac-orbit] +# [pytorch-start-isaaclab] # import the environment wrapper and loader from skrl.envs.wrappers.torch import wrap_env -from skrl.envs.loaders.torch import load_isaac_orbit_env +from skrl.envs.loaders.torch import load_isaaclab_env # load the environment -env = load_isaac_orbit_env(task_name="Isaac-Cartpole-v0") +env = load_isaaclab_env(task_name="Isaac-Cartpole-v0") # wrap the environment -env = wrap_env(env) # or 'env = wrap_env(env, wrapper="isaac-orbit")' -# [pytorch-end-isaac-orbit] +env = wrap_env(env) # or 'env = wrap_env(env, wrapper="isaaclab")' +# [pytorch-end-isaaclab] -# [jax-start-isaac-orbit] +# [jax-start-isaaclab] # import the environment wrapper and loader from skrl.envs.wrappers.jax import wrap_env -from skrl.envs.loaders.jax import load_isaac_orbit_env +from skrl.envs.loaders.jax import load_isaaclab_env # load the environment -env = load_isaac_orbit_env(task_name="Isaac-Cartpole-v0") +env = load_isaaclab_env(task_name="Isaac-Cartpole-v0") # wrap the environment -env = wrap_env(env) # or 'env = wrap_env(env, wrapper="isaac-orbit")' -# [jax-end-isaac-orbit] +env = wrap_env(env) # or 'env = wrap_env(env, wrapper="isaaclab")' +# [jax-end-isaaclab] # [pytorch-start-isaacgym-preview4-make]