:py:mod:`rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp`
=============================================================

.. py:module:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp

.. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp
   :allowtitles:

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

Classes
~~~~~~~

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

   * - :py:obj:`Humanoid <rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid
          :summary:
   * - :py:obj:`HumanoidHOTU <rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU>`
     -

Functions
~~~~~~~~~

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

   * - :py:obj:`build_amp_observations <rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.build_amp_observations>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.build_amp_observations
          :summary:
   * - :py:obj:`dof_to_obs <rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.dof_to_obs>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.dof_to_obs
          :summary:
   * - :py:obj:`compute_humanoid_observations <rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.compute_humanoid_observations>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.compute_humanoid_observations
          :summary:
   * - :py:obj:`compute_humanoid_observations_max <rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.compute_humanoid_observations_max>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.compute_humanoid_observations_max
          :summary:
   * - :py:obj:`compute_humanoid_reward <rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.compute_humanoid_reward>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.compute_humanoid_reward
          :summary:
   * - :py:obj:`compute_humanoid_reset <rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.compute_humanoid_reset>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.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.hotu.tmp.Humanoid

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

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid.__init__

   .. py:method:: get_obs_size()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid.get_obs_size

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid.get_obs_size

   .. py:method:: get_action_size()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid.get_action_size

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid.get_action_size

   .. py:method:: get_num_actors_per_env()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid.get_num_actors_per_env

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid.get_num_actors_per_env

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

   .. py:method:: reset_idx(env_ids)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid.reset_idx

   .. py:method:: set_char_color(col)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid.set_char_color

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid.set_char_color

   .. py:method:: pre_physics_step(actions)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid.pre_physics_step

   .. py:method:: post_physics_step()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid.post_physics_step

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

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

   Bases: :py:obj:`rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.Humanoid`

   .. py:class:: StateInit
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.StateInit

      Bases: :py:obj:`enum.Enum`

      .. py:attribute:: Default
         :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.StateInit.Default
         :value: 0

         .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.StateInit.Default

      .. py:attribute:: Start
         :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.StateInit.Start
         :value: 1

         .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.StateInit.Start

      .. py:attribute:: Random
         :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.StateInit.Random
         :value: 2

         .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.StateInit.Random

      .. py:attribute:: Hybrid
         :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.StateInit.Hybrid
         :value: 3

         .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.StateInit.Hybrid

   .. py:method:: post_physics_step()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.post_physics_step

   .. py:method:: get_num_amp_obs()
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.get_num_amp_obs

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.get_num_amp_obs

   .. py:property:: amp_observation_space
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.amp_observation_space

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.amp_observation_space

   .. py:method:: fetch_amp_obs_demo(num_samples)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.fetch_amp_obs_demo

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.fetch_amp_obs_demo

   .. py:method:: build_amp_obs_demo(motion_ids, motion_times0)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.build_amp_obs_demo

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.build_amp_obs_demo

   .. py:method:: reset_idx(env_ids)
      :canonical: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.HumanoidHOTU.reset_idx

.. py:function:: build_amp_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.hotu.tmp.build_amp_observations

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.build_amp_observations

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

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.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.hotu.tmp.compute_humanoid_observations

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.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.hotu.tmp.compute_humanoid_observations_max

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.compute_humanoid_observations_max

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

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.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.hotu.tmp.compute_humanoid_reset

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.isaacgymenv.hotu.tmp.compute_humanoid_reset
