:py:mod:`rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation`
====================================================================================

.. py:module:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation

.. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation
   :allowtitles:

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

Classes
~~~~~~~

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

   * - :py:obj:`InHandManipulationTask <rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask
          :summary:

Functions
~~~~~~~~~

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

   * - :py:obj:`randomize_rotation <rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.randomize_rotation>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.randomize_rotation
          :summary:
   * - :py:obj:`compute_hand_reward <rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.compute_hand_reward>`
     - .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.compute_hand_reward
          :summary:

API
~~~

.. py:class:: InHandManipulationTask(name, env, offset=None)
   :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask

   Bases: :py:obj:`rofunc.learning.RofuncRL.tasks.omniisaacgym.base.rl_task.RLTask`

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.__init__

   .. py:method:: set_up_scene(scene) -> None
      :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.set_up_scene

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.set_up_scene

   .. py:method:: get_hand()
      :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.get_hand
      :abstractmethod:

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.get_hand

   .. py:method:: get_hand_view()
      :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.get_hand_view
      :abstractmethod:

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.get_hand_view

   .. py:method:: get_observations()
      :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.get_observations
      :abstractmethod:

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.get_observations

   .. py:method:: get_object(hand_start_translation, pose_dy, pose_dz)
      :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.get_object

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.get_object

   .. py:method:: get_goal()
      :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.get_goal

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.get_goal

   .. py:method:: post_reset()
      :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.post_reset

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.post_reset

   .. py:method:: get_object_goal_observations()
      :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.get_object_goal_observations

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.get_object_goal_observations

   .. py:method:: calculate_metrics()
      :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.calculate_metrics

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.calculate_metrics

   .. py:method:: pre_physics_step(actions)
      :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.pre_physics_step

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.pre_physics_step

   .. py:method:: is_done()
      :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.is_done

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.is_done

   .. py:method:: reset_target_pose(env_ids)
      :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.reset_target_pose

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.reset_target_pose

   .. py:method:: reset_idx(env_ids)
      :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.reset_idx

      .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.InHandManipulationTask.reset_idx

.. py:function:: randomize_rotation(rand0, rand1, x_unit_tensor, y_unit_tensor)
   :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.randomize_rotation

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.randomize_rotation

.. py:function:: compute_hand_reward(rew_buf, reset_buf, reset_goal_buf, progress_buf, successes, consecutive_successes, max_episode_length: float, object_pos, object_rot, target_pos, target_rot, dist_reward_scale: float, rot_reward_scale: float, rot_eps: float, actions, action_penalty_scale: float, success_tolerance: float, reach_goal_bonus: float, fall_dist: float, fall_penalty: float, max_consecutive_successes: int, av_factor: float)
   :canonical: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.compute_hand_reward

   .. autodoc2-docstring:: rofunc.learning.RofuncRL.tasks.omniisaacgymenv.shared.in_hand_manipulation.compute_hand_reward
