:py:mod:`rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain`
===================================================================

.. py:module:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain

.. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain
   :allowtitles:

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

Classes
~~~~~~~

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

   * - :py:obj:`AnymalTerrain <rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain>`
     -
   * - :py:obj:`Terrain <rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.Terrain>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.Terrain
          :summary:

Functions
~~~~~~~~~

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

   * - :py:obj:`quat_apply_yaw <rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.quat_apply_yaw>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.quat_apply_yaw
          :summary:
   * - :py:obj:`wrap_to_pi <rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.wrap_to_pi>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.wrap_to_pi
          :summary:

API
~~~

.. py:class:: AnymalTerrain(cfg, rl_device, sim_device, graphics_device_id, headless, virtual_screen_capture, force_render)
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain

   Bases: :py:obj:`rofunc.learning.RofuncRL.tasks.isaacgymenv.base.vec_task.VecTask`

   .. py:method:: create_sim()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.create_sim

   .. py:method:: check_termination()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.check_termination

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.check_termination

   .. py:method:: compute_observations()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.compute_observations

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.compute_observations

   .. py:method:: compute_reward()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.compute_reward

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.compute_reward

   .. py:method:: reset_idx(env_ids)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.reset_idx

   .. py:method:: update_terrain_level(env_ids)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.update_terrain_level

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.update_terrain_level

   .. py:method:: push_robots()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.push_robots

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.push_robots

   .. py:method:: pre_physics_step(actions)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.pre_physics_step

   .. py:method:: post_physics_step()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.post_physics_step

   .. py:method:: init_height_points()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.init_height_points

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.init_height_points

   .. py:method:: get_heights(env_ids=None)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.get_heights

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.AnymalTerrain.get_heights

.. py:class:: Terrain(cfg, num_robots)
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.Terrain

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.Terrain

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.Terrain.__init__

   .. py:method:: randomized_terrain()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.Terrain.randomized_terrain

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.Terrain.randomized_terrain

   .. py:method:: curiculum(num_robots, num_terrains, num_levels)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.Terrain.curiculum

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.Terrain.curiculum

.. py:function:: quat_apply_yaw(quat, vec)
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.quat_apply_yaw

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.quat_apply_yaw

.. py:function:: wrap_to_pi(angles)
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.wrap_to_pi

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal_terrain.wrap_to_pi
