:py:mod:`rofunc.learning.utils.env_wrappers`
============================================

.. py:module:: rofunc.learning.utils.env_wrappers

.. autodoc2-docstring:: rofunc.learning.utils.env_wrappers
   :allowtitles:

Module Contents
---------------

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`Wrapper <rofunc.learning.utils.env_wrappers.Wrapper>`
     - .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.Wrapper
          :summary:
   * - :py:obj:`IsaacGymPreview2Wrapper <rofunc.learning.utils.env_wrappers.IsaacGymPreview2Wrapper>`
     - .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview2Wrapper
          :summary:
   * - :py:obj:`IsaacGymPreview3Wrapper <rofunc.learning.utils.env_wrappers.IsaacGymPreview3Wrapper>`
     - .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview3Wrapper
          :summary:
   * - :py:obj:`OmniverseIsaacGymWrapper <rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper>`
     - .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper
          :summary:
   * - :py:obj:`IsaacOrbitWrapper <rofunc.learning.utils.env_wrappers.IsaacOrbitWrapper>`
     - .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacOrbitWrapper
          :summary:
   * - :py:obj:`GymWrapper <rofunc.learning.utils.env_wrappers.GymWrapper>`
     - .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymWrapper
          :summary:
   * - :py:obj:`GymnasiumWrapper <rofunc.learning.utils.env_wrappers.GymnasiumWrapper>`
     - .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymnasiumWrapper
          :summary:
   * - :py:obj:`DeepMindWrapper <rofunc.learning.utils.env_wrappers.DeepMindWrapper>`
     - .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.DeepMindWrapper
          :summary:
   * - :py:obj:`RobosuiteWrapper <rofunc.learning.utils.env_wrappers.RobosuiteWrapper>`
     - .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.RobosuiteWrapper
          :summary:

Functions
~~~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`wrap_env <rofunc.learning.utils.env_wrappers.wrap_env>`
     - .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.wrap_env
          :summary:

API
~~~

.. py:class:: Wrapper(env: typing.Any, device=None)
   :canonical: rofunc.learning.utils.env_wrappers.Wrapper

   Bases: :py:obj:`object`

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.Wrapper

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.Wrapper.__init__

   .. py:method:: reset() -> typing.Tuple[torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.Wrapper.reset
      :abstractmethod:

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.Wrapper.reset

   .. py:method:: step(actions: torch.Tensor) -> typing.Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.Wrapper.step
      :abstractmethod:

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.Wrapper.step

   .. py:method:: render(*args, **kwargs) -> None
      :canonical: rofunc.learning.utils.env_wrappers.Wrapper.render
      :abstractmethod:

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.Wrapper.render

   .. py:method:: close() -> None
      :canonical: rofunc.learning.utils.env_wrappers.Wrapper.close
      :abstractmethod:

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.Wrapper.close

   .. py:property:: num_envs
      :canonical: rofunc.learning.utils.env_wrappers.Wrapper.num_envs
      :type: int

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.Wrapper.num_envs

   .. py:property:: state_space
      :canonical: rofunc.learning.utils.env_wrappers.Wrapper.state_space
      :type: gym.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.Wrapper.state_space

   .. py:property:: observation_space
      :canonical: rofunc.learning.utils.env_wrappers.Wrapper.observation_space
      :type: gym.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.Wrapper.observation_space

   .. py:property:: action_space
      :canonical: rofunc.learning.utils.env_wrappers.Wrapper.action_space
      :type: gym.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.Wrapper.action_space

.. py:class:: IsaacGymPreview2Wrapper(env: typing.Any)
   :canonical: rofunc.learning.utils.env_wrappers.IsaacGymPreview2Wrapper

   Bases: :py:obj:`rofunc.learning.utils.env_wrappers.Wrapper`

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview2Wrapper

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview2Wrapper.__init__

   .. py:method:: step(actions: torch.Tensor) -> typing.Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.IsaacGymPreview2Wrapper.step

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview2Wrapper.step

   .. py:method:: reset() -> typing.Tuple[torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.IsaacGymPreview2Wrapper.reset

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview2Wrapper.reset

   .. py:method:: render(*args, **kwargs) -> None
      :canonical: rofunc.learning.utils.env_wrappers.IsaacGymPreview2Wrapper.render

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview2Wrapper.render

   .. py:method:: close() -> None
      :canonical: rofunc.learning.utils.env_wrappers.IsaacGymPreview2Wrapper.close

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview2Wrapper.close

.. py:class:: IsaacGymPreview3Wrapper(env: typing.Any)
   :canonical: rofunc.learning.utils.env_wrappers.IsaacGymPreview3Wrapper

   Bases: :py:obj:`rofunc.learning.utils.env_wrappers.Wrapper`

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview3Wrapper

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview3Wrapper.__init__

   .. py:method:: step(actions: torch.Tensor) -> typing.Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.IsaacGymPreview3Wrapper.step

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview3Wrapper.step

   .. py:method:: reset() -> typing.Tuple[torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.IsaacGymPreview3Wrapper.reset

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview3Wrapper.reset

   .. py:method:: render(*args, **kwargs) -> None
      :canonical: rofunc.learning.utils.env_wrappers.IsaacGymPreview3Wrapper.render

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview3Wrapper.render

   .. py:method:: close() -> None
      :canonical: rofunc.learning.utils.env_wrappers.IsaacGymPreview3Wrapper.close

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacGymPreview3Wrapper.close

.. py:class:: OmniverseIsaacGymWrapper(env: typing.Any)
   :canonical: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper

   Bases: :py:obj:`rofunc.learning.utils.env_wrappers.Wrapper`

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper.__init__

   .. py:method:: run(trainer: typing.Optional[omni.isaac.gym.vec_env.vec_env_mt.TrainerMT] = None) -> None
      :canonical: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper.run

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper.run

   .. py:method:: step(actions: torch.Tensor) -> typing.Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper.step

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper.step

   .. py:method:: reset() -> typing.Tuple[torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper.reset

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper.reset

   .. py:method:: render(*args, **kwargs) -> None
      :canonical: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper.render

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper.render

   .. py:method:: close() -> None
      :canonical: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper.close

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.OmniverseIsaacGymWrapper.close

.. py:class:: IsaacOrbitWrapper(env: typing.Any)
   :canonical: rofunc.learning.utils.env_wrappers.IsaacOrbitWrapper

   Bases: :py:obj:`rofunc.learning.utils.env_wrappers.Wrapper`

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacOrbitWrapper

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacOrbitWrapper.__init__

   .. py:method:: step(actions: torch.Tensor) -> typing.Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.IsaacOrbitWrapper.step

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacOrbitWrapper.step

   .. py:method:: reset() -> typing.Tuple[torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.IsaacOrbitWrapper.reset

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacOrbitWrapper.reset

   .. py:method:: render(*args, **kwargs) -> None
      :canonical: rofunc.learning.utils.env_wrappers.IsaacOrbitWrapper.render

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacOrbitWrapper.render

   .. py:method:: close() -> None
      :canonical: rofunc.learning.utils.env_wrappers.IsaacOrbitWrapper.close

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.IsaacOrbitWrapper.close

.. py:class:: GymWrapper(env: typing.Any)
   :canonical: rofunc.learning.utils.env_wrappers.GymWrapper

   Bases: :py:obj:`rofunc.learning.utils.env_wrappers.Wrapper`

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymWrapper

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymWrapper.__init__

   .. py:property:: state_space
      :canonical: rofunc.learning.utils.env_wrappers.GymWrapper.state_space
      :type: gym.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymWrapper.state_space

   .. py:property:: observation_space
      :canonical: rofunc.learning.utils.env_wrappers.GymWrapper.observation_space
      :type: gym.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymWrapper.observation_space

   .. py:property:: action_space
      :canonical: rofunc.learning.utils.env_wrappers.GymWrapper.action_space
      :type: gym.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymWrapper.action_space

   .. py:method:: step(actions: torch.Tensor) -> typing.Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.GymWrapper.step

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymWrapper.step

   .. py:method:: reset(seed=None) -> typing.Tuple[torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.GymWrapper.reset

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymWrapper.reset

   .. py:method:: render(*args, **kwargs) -> None
      :canonical: rofunc.learning.utils.env_wrappers.GymWrapper.render

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymWrapper.render

   .. py:method:: close() -> None
      :canonical: rofunc.learning.utils.env_wrappers.GymWrapper.close

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymWrapper.close

.. py:class:: GymnasiumWrapper(env: typing.Any, seed: int = None)
   :canonical: rofunc.learning.utils.env_wrappers.GymnasiumWrapper

   Bases: :py:obj:`rofunc.learning.utils.env_wrappers.Wrapper`

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymnasiumWrapper

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.__init__

   .. py:property:: state_space
      :canonical: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.state_space
      :type: gymnasium.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.state_space

   .. py:property:: observation_space
      :canonical: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.observation_space
      :type: gymnasium.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.observation_space

   .. py:property:: action_space
      :canonical: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.action_space
      :type: gymnasium.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.action_space

   .. py:method:: step(actions: torch.Tensor) -> typing.Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.step

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.step

   .. py:method:: reset() -> typing.Tuple[torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.reset

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.reset

   .. py:method:: render(*args, **kwargs) -> None
      :canonical: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.render

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.render

   .. py:method:: close() -> None
      :canonical: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.close

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.GymnasiumWrapper.close

.. py:class:: DeepMindWrapper(env: typing.Any)
   :canonical: rofunc.learning.utils.env_wrappers.DeepMindWrapper

   Bases: :py:obj:`rofunc.learning.utils.env_wrappers.Wrapper`

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.DeepMindWrapper

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.DeepMindWrapper.__init__

   .. py:property:: state_space
      :canonical: rofunc.learning.utils.env_wrappers.DeepMindWrapper.state_space
      :type: gym.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.DeepMindWrapper.state_space

   .. py:property:: observation_space
      :canonical: rofunc.learning.utils.env_wrappers.DeepMindWrapper.observation_space
      :type: gym.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.DeepMindWrapper.observation_space

   .. py:property:: action_space
      :canonical: rofunc.learning.utils.env_wrappers.DeepMindWrapper.action_space
      :type: gym.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.DeepMindWrapper.action_space

   .. py:method:: step(actions: torch.Tensor) -> typing.Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.DeepMindWrapper.step

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.DeepMindWrapper.step

   .. py:method:: reset() -> typing.Tuple[torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.DeepMindWrapper.reset

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.DeepMindWrapper.reset

   .. py:method:: render(*args, **kwargs) -> None
      :canonical: rofunc.learning.utils.env_wrappers.DeepMindWrapper.render

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.DeepMindWrapper.render

   .. py:method:: close() -> None
      :canonical: rofunc.learning.utils.env_wrappers.DeepMindWrapper.close

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.DeepMindWrapper.close

.. py:class:: RobosuiteWrapper(env: typing.Any)
   :canonical: rofunc.learning.utils.env_wrappers.RobosuiteWrapper

   Bases: :py:obj:`rofunc.learning.utils.env_wrappers.Wrapper`

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.RobosuiteWrapper

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.__init__

   .. py:property:: state_space
      :canonical: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.state_space
      :type: gym.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.state_space

   .. py:property:: observation_space
      :canonical: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.observation_space
      :type: gym.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.observation_space

   .. py:property:: action_space
      :canonical: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.action_space
      :type: gym.Space

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.action_space

   .. py:method:: step(actions: torch.Tensor) -> typing.Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.step

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.step

   .. py:method:: reset() -> typing.Tuple[torch.Tensor, typing.Any]
      :canonical: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.reset

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.reset

   .. py:method:: render(*args, **kwargs) -> None
      :canonical: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.render

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.render

   .. py:method:: close() -> None
      :canonical: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.close

      .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.RobosuiteWrapper.close

.. py:function:: wrap_env(env: typing.Any, wrapper: str = 'auto', verbose: bool = True, logger=None, seed=None) -> rofunc.learning.utils.env_wrappers.Wrapper
   :canonical: rofunc.learning.utils.env_wrappers.wrap_env

   .. autodoc2-docstring:: rofunc.learning.utils.env_wrappers.wrap_env
