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

.. py:module:: rofunc.simulator.base_sim

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

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

Classes
~~~~~~~

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

   * - :py:obj:`PlaygroundSim <rofunc.simulator.base_sim.PlaygroundSim>`
     - .. autodoc2-docstring:: rofunc.simulator.base_sim.PlaygroundSim
          :summary:
   * - :py:obj:`RobotSim <rofunc.simulator.base_sim.RobotSim>`
     - .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim
          :summary:

API
~~~

.. py:class:: PlaygroundSim(args)
   :canonical: rofunc.simulator.base_sim.PlaygroundSim

   .. autodoc2-docstring:: rofunc.simulator.base_sim.PlaygroundSim

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.simulator.base_sim.PlaygroundSim.__init__

   .. py:method:: init_sim()
      :canonical: rofunc.simulator.base_sim.PlaygroundSim.init_sim

      .. autodoc2-docstring:: rofunc.simulator.base_sim.PlaygroundSim.init_sim

   .. py:method:: init_viewer()
      :canonical: rofunc.simulator.base_sim.PlaygroundSim.init_viewer

      .. autodoc2-docstring:: rofunc.simulator.base_sim.PlaygroundSim.init_viewer

   .. py:method:: init_plane()
      :canonical: rofunc.simulator.base_sim.PlaygroundSim.init_plane

      .. autodoc2-docstring:: rofunc.simulator.base_sim.PlaygroundSim.init_plane

.. py:class:: RobotSim(args)
   :canonical: rofunc.simulator.base_sim.RobotSim

   .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.__init__

   .. py:method:: create_env()
      :canonical: rofunc.simulator.base_sim.RobotSim.create_env

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.create_env

   .. py:method:: setup_robot_dof_prop()
      :canonical: rofunc.simulator.base_sim.RobotSim.setup_robot_dof_prop

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.setup_robot_dof_prop

   .. py:method:: add_object()
      :canonical: rofunc.simulator.base_sim.RobotSim.add_object

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.add_object

   .. py:method:: add_tracking_target_sphere_axes()
      :canonical: rofunc.simulator.base_sim.RobotSim.add_tracking_target_sphere_axes

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.add_tracking_target_sphere_axes

   .. py:method:: add_marker(marker_pose)
      :canonical: rofunc.simulator.base_sim.RobotSim.add_marker

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.add_marker

   .. py:method:: add_body_attached_camera(camera_props=None, attached_body=None, local_transform=None)
      :canonical: rofunc.simulator.base_sim.RobotSim.add_body_attached_camera

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.add_body_attached_camera

   .. py:method:: monitor_rigid_body_states()
      :canonical: rofunc.simulator.base_sim.RobotSim.monitor_rigid_body_states

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.monitor_rigid_body_states

   .. py:method:: monitor_dof_states()
      :canonical: rofunc.simulator.base_sim.RobotSim.monitor_dof_states

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.monitor_dof_states

   .. py:method:: monitor_robot_jacobian(robot_name=None)
      :canonical: rofunc.simulator.base_sim.RobotSim.monitor_robot_jacobian

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.monitor_robot_jacobian

   .. py:method:: monitor_robot_mass_matrix(robot_name=None)
      :canonical: rofunc.simulator.base_sim.RobotSim.monitor_robot_mass_matrix

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.monitor_robot_mass_matrix

   .. py:method:: show(visual_obs_flag=False)
      :canonical: rofunc.simulator.base_sim.RobotSim.show

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.show

   .. py:method:: get_num_bodies()
      :canonical: rofunc.simulator.base_sim.RobotSim.get_num_bodies

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.get_num_bodies

   .. py:method:: get_actor_rigid_body_info(actor_handle)
      :canonical: rofunc.simulator.base_sim.RobotSim.get_actor_rigid_body_info

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.get_actor_rigid_body_info

   .. py:method:: get_dof_info()
      :canonical: rofunc.simulator.base_sim.RobotSim.get_dof_info

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.get_dof_info

   .. py:method:: get_robot_state(mode)
      :canonical: rofunc.simulator.base_sim.RobotSim.get_robot_state

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.get_robot_state

   .. py:method:: update_robot(traj, attractor_handles, axes_geom, sphere_geom, index)
      :canonical: rofunc.simulator.base_sim.RobotSim.update_robot
      :abstractmethod:

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.update_robot

   .. py:method:: update_object(object_handles, object_poses, state_type)
      :canonical: rofunc.simulator.base_sim.RobotSim.update_object

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.update_object

   .. py:method:: run_traj_multi_rigid_bodies(traj: typing.List, attracted_rigid_bodies: typing.List = None, object_start_pose: typing.List = None, object_end_pose: typing.List = None, object_related_joints: typing.List = None, update_freq=0.001, verbose=True)
      :canonical: rofunc.simulator.base_sim.RobotSim.run_traj_multi_rigid_bodies

      .. autodoc2-docstring:: rofunc.simulator.base_sim.RobotSim.run_traj_multi_rigid_bodies
