:py:mod:`rofunc.simulator.curi_sim`
===================================

.. py:module:: rofunc.simulator.curi_sim

.. autodoc2-docstring:: rofunc.simulator.curi_sim
   :allowtitles:

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

Classes
~~~~~~~

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

   * - :py:obj:`CURISim <rofunc.simulator.curi_sim.CURISim>`
     - .. autodoc2-docstring:: rofunc.simulator.curi_sim.CURISim
          :summary:

Functions
~~~~~~~~~

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

   * - :py:obj:`orientation_error <rofunc.simulator.curi_sim.orientation_error>`
     - .. autodoc2-docstring:: rofunc.simulator.curi_sim.orientation_error
          :summary:

API
~~~

.. py:function:: orientation_error(desired, current)
   :canonical: rofunc.simulator.curi_sim.orientation_error

   .. autodoc2-docstring:: rofunc.simulator.curi_sim.orientation_error

.. py:class:: CURISim(args)
   :canonical: rofunc.simulator.curi_sim.CURISim

   Bases: :py:obj:`rofunc.simulator.base_sim.RobotSim`

   .. autodoc2-docstring:: rofunc.simulator.curi_sim.CURISim

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.simulator.curi_sim.CURISim.__init__

   .. py:method:: setup_robot_dof_prop()
      :canonical: rofunc.simulator.curi_sim.CURISim.setup_robot_dof_prop

      .. autodoc2-docstring:: rofunc.simulator.curi_sim.CURISim.setup_robot_dof_prop

   .. py:method:: add_head_embedded_camera(camera_props=None, attached_body=None, local_transform=None)
      :canonical: rofunc.simulator.curi_sim.CURISim.add_head_embedded_camera

      .. autodoc2-docstring:: rofunc.simulator.curi_sim.CURISim.add_head_embedded_camera

   .. py:method:: show(visual_obs_flag=False)
      :canonical: rofunc.simulator.curi_sim.CURISim.show

      .. autodoc2-docstring:: rofunc.simulator.curi_sim.CURISim.show

   .. py:method:: update_robot(traj, attractor_handles, axes_geom, sphere_geom, index, verbose=True)
      :canonical: rofunc.simulator.curi_sim.CURISim.update_robot

      .. autodoc2-docstring:: rofunc.simulator.curi_sim.CURISim.update_robot

   .. py:method:: control_ik(dpose)
      :canonical: rofunc.simulator.curi_sim.CURISim.control_ik

      .. autodoc2-docstring:: rofunc.simulator.curi_sim.CURISim.control_ik

   .. py:method:: control_osc(dpose, hand_vel, massmatrix, dof_indices)
      :canonical: rofunc.simulator.curi_sim.CURISim.control_osc

      .. autodoc2-docstring:: rofunc.simulator.curi_sim.CURISim.control_osc

   .. py:method:: run_traj(traj, attracted_rigid_bodies=None, update_freq=0.001, verbose=True, **kwargs)
      :canonical: rofunc.simulator.curi_sim.CURISim.run_traj

      .. autodoc2-docstring:: rofunc.simulator.curi_sim.CURISim.run_traj

   .. py:method:: run_traj_multi_rigid_bodies_with_interference(traj: typing.List, intf_index: typing.List, intf_mode: str, intf_forces=None, intf_torques=None, intf_joints: typing.List = None, intf_efforts: isaacgym.torch_utils.np.ndarray = None, attracted_rigid_bodies: typing.List = None, update_freq=0.001, save_name=None)
      :canonical: rofunc.simulator.curi_sim.CURISim.run_traj_multi_rigid_bodies_with_interference

      .. autodoc2-docstring:: rofunc.simulator.curi_sim.CURISim.run_traj_multi_rigid_bodies_with_interference

   .. py:method:: run_hand_reach_target_pose(target_pose, attracted_hand=None, update_freq=0.001, verbose=True)
      :canonical: rofunc.simulator.curi_sim.CURISim.run_hand_reach_target_pose

      .. autodoc2-docstring:: rofunc.simulator.curi_sim.CURISim.run_hand_reach_target_pose

   .. py:method:: run_with_text_commands(verbose=True)
      :canonical: rofunc.simulator.curi_sim.CURISim.run_with_text_commands

      .. autodoc2-docstring:: rofunc.simulator.curi_sim.CURISim.run_with_text_commands
