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

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

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

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

Classes
~~~~~~~

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

   * - :py:obj:`Humanoid <rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid>`
     -

Functions
~~~~~~~~~

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

   * - :py:obj:`dof_to_obs <rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.dof_to_obs>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.dof_to_obs
          :summary:
   * - :py:obj:`compute_humanoid_observations <rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_observations>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_observations
          :summary:
   * - :py:obj:`compute_humanoid_observations_max <rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_observations_max>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_observations_max
          :summary:
   * - :py:obj:`compute_humanoid_reward <rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_reward>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_reward
          :summary:
   * - :py:obj:`compute_humanoid_reset <rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_reset>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_reset
          :summary:

API
~~~

.. py:class:: Humanoid(config, rl_device, sim_device, graphics_device_id, headless, virtual_screen_capture, force_render)
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid

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

   .. py:method:: get_obs_size()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid.get_obs_size

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid.get_obs_size

   .. py:method:: get_action_size()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid.get_action_size

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid.get_action_size

   .. py:method:: get_num_actors_per_env()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid.get_num_actors_per_env

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid.get_num_actors_per_env

   .. py:method:: create_sim(**kwargs)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid.create_sim

   .. py:method:: reset_idx(env_ids)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid.reset_idx

   .. py:method:: set_char_color(col)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid.set_char_color

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid.set_char_color

   .. py:method:: pre_physics_step(actions)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid.pre_physics_step

   .. py:method:: post_physics_step()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid.post_physics_step

   .. py:method:: render(sync_frame_time=False)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.Humanoid.render

.. py:function:: dof_to_obs(pose: Tensor, dof_obs_size: int, dof_offsets: List[int]) -> Tensor
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.dof_to_obs

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.dof_to_obs

.. py:function:: compute_humanoid_observations(root_pos: Tensor, root_rot: Tensor, root_vel: Tensor, root_ang_vel: Tensor, dof_pos: Tensor, dof_vel: Tensor, key_body_pos: Tensor, local_root_obs: bool, root_height_obs: bool, dof_obs_size: int, dof_offsets: List[int]) -> Tensor
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_observations

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_observations

.. py:function:: compute_humanoid_observations_max(body_pos: Tensor, body_rot: Tensor, body_vel: Tensor, body_ang_vel: Tensor, local_root_obs: bool, root_height_obs: bool) -> Tensor
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_observations_max

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_observations_max

.. py:function:: compute_humanoid_reward(obs_buf: Tensor) -> Tensor
   :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_reward

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.ase.humanoid.compute_humanoid_reward

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

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