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

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

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

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

Classes
~~~~~~~

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

   * - :py:obj:`Anymal <rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.Anymal>`
     -

Functions
~~~~~~~~~

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

   * - :py:obj:`compute_anymal_reward <rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.compute_anymal_reward>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.compute_anymal_reward
          :summary:
   * - :py:obj:`compute_anymal_observations <rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.compute_anymal_observations>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.compute_anymal_observations
          :summary:

API
~~~

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

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

   .. py:method:: create_sim()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.Anymal.create_sim

   .. py:method:: pre_physics_step(actions)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.Anymal.pre_physics_step

   .. py:method:: post_physics_step()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.Anymal.post_physics_step

   .. py:method:: compute_reward(actions)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.Anymal.compute_reward

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.Anymal.compute_reward

   .. py:method:: compute_observations()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.Anymal.compute_observations

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.Anymal.compute_observations

   .. py:method:: reset_idx(env_ids)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.Anymal.reset_idx

.. py:function:: compute_anymal_reward(root_states: Tensor, commands: Tensor, torques: Tensor, contact_forces: Tensor, knee_indices: Tensor, episode_lengths: Tensor, rew_scales: typing.Dict[str, float], base_index: int, max_episode_length: int) -> typing.Tuple[Tensor, Tensor]
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.compute_anymal_reward

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.compute_anymal_reward

.. py:function:: compute_anymal_observations(root_states: Tensor, commands: Tensor, dof_pos: Tensor, default_dof_pos: Tensor, dof_vel: Tensor, gravity_vec: Tensor, actions: Tensor, lin_vel_scale: float, ang_vel_scale: float, dof_pos_scale: float, dof_vel_scale: float) -> Tensor
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.compute_anymal_observations

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.anymal.compute_anymal_observations
