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

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

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

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

Classes
~~~~~~~

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

   * - :py:obj:`AntTask <rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.AntTask>`
     -

Functions
~~~~~~~~~

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

   * - :py:obj:`compute_ant_reward <rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.compute_ant_reward>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.compute_ant_reward
          :summary:
   * - :py:obj:`compute_ant_observations <rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.compute_ant_observations>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.compute_ant_observations
          :summary:

API
~~~

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

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

   .. py:method:: create_sim()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.AntTask.create_sim

   .. py:method:: compute_reward(actions)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.AntTask.compute_reward

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.AntTask.compute_reward

   .. py:method:: compute_observations()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.AntTask.compute_observations

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.AntTask.compute_observations

   .. py:method:: reset_idx(env_ids)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.AntTask.reset_idx

   .. py:method:: pre_physics_step(actions)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.AntTask.pre_physics_step

   .. py:method:: post_physics_step()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.AntTask.post_physics_step

.. py:function:: compute_ant_reward(obs_buf: Tensor, reset_buf: Tensor, progress_buf: Tensor, actions: Tensor, up_weight: float, heading_weight: float, potentials: Tensor, prev_potentials: Tensor, actions_cost_scale: float, energy_cost_scale: float, joints_at_limit_cost_scale: float, termination_height: float, death_cost: float, max_episode_length: float) -> Tuple[Tensor, Tensor]
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.compute_ant_reward

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.compute_ant_reward

.. py:function:: compute_ant_observations(obs_buf: Tensor, root_states: Tensor, targets: Tensor, potentials: Tensor, inv_start_rot: Tensor, dof_pos: Tensor, dof_vel: Tensor, dof_limits_lower: Tensor, dof_limits_upper: Tensor, dof_vel_scale: float, sensor_force_torques: Tensor, actions: Tensor, dt: float, contact_force_scale: float, basis_vec0: Tensor, basis_vec1: Tensor, up_axis_idx: int) -> Tuple[Tensor, Tensor, Tensor, Tensor, Tensor]
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.compute_ant_observations

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ant.compute_ant_observations
