:py:mod:`rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike`
========================================================================

.. py:module:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike

.. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike
   :allowtitles:

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

Classes
~~~~~~~

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

   * - :py:obj:`HumanoidStrikeTask <rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.HumanoidStrikeTask>`
     -

Functions
~~~~~~~~~

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

   * - :py:obj:`compute_strike_observations <rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.compute_strike_observations>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.compute_strike_observations
          :summary:
   * - :py:obj:`compute_strike_reward <rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.compute_strike_reward>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.compute_strike_reward
          :summary:
   * - :py:obj:`compute_humanoid_reset <rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.compute_humanoid_reset>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.compute_humanoid_reset
          :summary:

API
~~~

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

   Bases: :py:obj:`rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_amp_task.HumanoidAMPTask`

   .. py:method:: get_task_obs_size()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.HumanoidStrikeTask.get_task_obs_size

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.HumanoidStrikeTask.get_task_obs_size

   .. py:method:: pre_physics_step(actions)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.HumanoidStrikeTask.pre_physics_step

.. py:function:: compute_strike_observations(root_states: Tensor, tar_states: Tensor) -> Tensor
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.compute_strike_observations

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.compute_strike_observations

.. py:function:: compute_strike_reward(tar_pos: Tensor, tar_rot: Tensor, root_state: Tensor, prev_root_pos: Tensor, strike_body_vel: Tensor, dt: float, near_dist: float) -> Tensor
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.compute_strike_reward

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.compute_strike_reward

.. py:function:: compute_humanoid_reset(reset_buf: Tensor, progress_buf: Tensor, contact_buf: Tensor, contact_body_ids: Tensor, rigid_body_pos: Tensor, tar_contact_forces: Tensor, strike_body_ids: Tensor, max_episode_length: float, enable_early_termination: bool, termination_heights: Tensor) -> Tuple[Tensor, Tensor]
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.compute_humanoid_reset

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid_strike.compute_humanoid_reset
