:py:mod:`rofunc.simulator.src.spherical_joint`
==============================================

.. py:module:: rofunc.simulator.src.spherical_joint

.. autodoc2-docstring:: rofunc.simulator.src.spherical_joint
   :allowtitles:

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

Classes
~~~~~~~

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

   * - :py:obj:`AssetDesc <rofunc.simulator.src.spherical_joint.AssetDesc>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.AssetDesc
          :summary:

Functions
~~~~~~~~~

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

   * - :py:obj:`clamp <rofunc.simulator.src.spherical_joint.clamp>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.clamp
          :summary:
   * - :py:obj:`random_quaternion <rofunc.simulator.src.spherical_joint.random_quaternion>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.random_quaternion
          :summary:
   * - :py:obj:`quat2expcoord <rofunc.simulator.src.spherical_joint.quat2expcoord>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.quat2expcoord
          :summary:

Data
~~~~

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

   * - :py:obj:`asset_descriptors <rofunc.simulator.src.spherical_joint.asset_descriptors>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.asset_descriptors
          :summary:
   * - :py:obj:`args <rofunc.simulator.src.spherical_joint.args>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.args
          :summary:
   * - :py:obj:`gym <rofunc.simulator.src.spherical_joint.gym>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.gym
          :summary:
   * - :py:obj:`sim_params <rofunc.simulator.src.spherical_joint.sim_params>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.sim_params
          :summary:
   * - :py:obj:`sim <rofunc.simulator.src.spherical_joint.sim>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.sim
          :summary:
   * - :py:obj:`viewer <rofunc.simulator.src.spherical_joint.viewer>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.viewer
          :summary:
   * - :py:obj:`asset_root <rofunc.simulator.src.spherical_joint.asset_root>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.asset_root
          :summary:
   * - :py:obj:`asset_file <rofunc.simulator.src.spherical_joint.asset_file>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.asset_file
          :summary:
   * - :py:obj:`asset_options <rofunc.simulator.src.spherical_joint.asset_options>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.asset_options
          :summary:
   * - :py:obj:`asset <rofunc.simulator.src.spherical_joint.asset>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.asset
          :summary:
   * - :py:obj:`dof_names <rofunc.simulator.src.spherical_joint.dof_names>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.dof_names
          :summary:
   * - :py:obj:`dof_props <rofunc.simulator.src.spherical_joint.dof_props>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.dof_props
          :summary:
   * - :py:obj:`num_dofs <rofunc.simulator.src.spherical_joint.num_dofs>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.num_dofs
          :summary:
   * - :py:obj:`dof_states <rofunc.simulator.src.spherical_joint.dof_states>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.dof_states
          :summary:
   * - :py:obj:`dof_types <rofunc.simulator.src.spherical_joint.dof_types>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.dof_types
          :summary:
   * - :py:obj:`dof_positions <rofunc.simulator.src.spherical_joint.dof_positions>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.dof_positions
          :summary:
   * - :py:obj:`stiffnesses <rofunc.simulator.src.spherical_joint.stiffnesses>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.stiffnesses
          :summary:
   * - :py:obj:`dampings <rofunc.simulator.src.spherical_joint.dampings>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.dampings
          :summary:
   * - :py:obj:`armatures <rofunc.simulator.src.spherical_joint.armatures>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.armatures
          :summary:
   * - :py:obj:`has_limits <rofunc.simulator.src.spherical_joint.has_limits>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.has_limits
          :summary:
   * - :py:obj:`lower_limits <rofunc.simulator.src.spherical_joint.lower_limits>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.lower_limits
          :summary:
   * - :py:obj:`upper_limits <rofunc.simulator.src.spherical_joint.upper_limits>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.upper_limits
          :summary:
   * - :py:obj:`defaults <rofunc.simulator.src.spherical_joint.defaults>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.defaults
          :summary:
   * - :py:obj:`num_envs <rofunc.simulator.src.spherical_joint.num_envs>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.num_envs
          :summary:
   * - :py:obj:`num_per_row <rofunc.simulator.src.spherical_joint.num_per_row>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.num_per_row
          :summary:
   * - :py:obj:`spacing <rofunc.simulator.src.spherical_joint.spacing>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.spacing
          :summary:
   * - :py:obj:`env_lower <rofunc.simulator.src.spherical_joint.env_lower>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.env_lower
          :summary:
   * - :py:obj:`env_upper <rofunc.simulator.src.spherical_joint.env_upper>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.env_upper
          :summary:
   * - :py:obj:`cam_pos <rofunc.simulator.src.spherical_joint.cam_pos>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.cam_pos
          :summary:
   * - :py:obj:`cam_target <rofunc.simulator.src.spherical_joint.cam_target>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.cam_target
          :summary:
   * - :py:obj:`envs <rofunc.simulator.src.spherical_joint.envs>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.envs
          :summary:
   * - :py:obj:`actor_handles <rofunc.simulator.src.spherical_joint.actor_handles>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.actor_handles
          :summary:
   * - :py:obj:`axes_geom <rofunc.simulator.src.spherical_joint.axes_geom>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.axes_geom
          :summary:
   * - :py:obj:`cnt <rofunc.simulator.src.spherical_joint.cnt>`
     - .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.cnt
          :summary:

API
~~~

.. py:function:: clamp(x, min_value, max_value)
   :canonical: rofunc.simulator.src.spherical_joint.clamp

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.clamp

.. py:class:: AssetDesc(file_name, flip_visual_attachments=False)
   :canonical: rofunc.simulator.src.spherical_joint.AssetDesc

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.AssetDesc

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.AssetDesc.__init__

.. py:data:: asset_descriptors
   :canonical: rofunc.simulator.src.spherical_joint.asset_descriptors
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.asset_descriptors

.. py:data:: args
   :canonical: rofunc.simulator.src.spherical_joint.args
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.args

.. py:data:: gym
   :canonical: rofunc.simulator.src.spherical_joint.gym
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.gym

.. py:data:: sim_params
   :canonical: rofunc.simulator.src.spherical_joint.sim_params
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.sim_params

.. py:data:: sim
   :canonical: rofunc.simulator.src.spherical_joint.sim
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.sim

.. py:data:: viewer
   :canonical: rofunc.simulator.src.spherical_joint.viewer
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.viewer

.. py:data:: asset_root
   :canonical: rofunc.simulator.src.spherical_joint.asset_root
   :value: '../assets'

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.asset_root

.. py:data:: asset_file
   :canonical: rofunc.simulator.src.spherical_joint.asset_file
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.asset_file

.. py:data:: asset_options
   :canonical: rofunc.simulator.src.spherical_joint.asset_options
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.asset_options

.. py:data:: asset
   :canonical: rofunc.simulator.src.spherical_joint.asset
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.asset

.. py:data:: dof_names
   :canonical: rofunc.simulator.src.spherical_joint.dof_names
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.dof_names

.. py:data:: dof_props
   :canonical: rofunc.simulator.src.spherical_joint.dof_props
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.dof_props

.. py:data:: num_dofs
   :canonical: rofunc.simulator.src.spherical_joint.num_dofs
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.num_dofs

.. py:data:: dof_states
   :canonical: rofunc.simulator.src.spherical_joint.dof_states
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.dof_states

.. py:data:: dof_types
   :canonical: rofunc.simulator.src.spherical_joint.dof_types
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.dof_types

.. py:data:: dof_positions
   :canonical: rofunc.simulator.src.spherical_joint.dof_positions
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.dof_positions

.. py:data:: stiffnesses
   :canonical: rofunc.simulator.src.spherical_joint.stiffnesses
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.stiffnesses

.. py:data:: dampings
   :canonical: rofunc.simulator.src.spherical_joint.dampings
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.dampings

.. py:data:: armatures
   :canonical: rofunc.simulator.src.spherical_joint.armatures
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.armatures

.. py:data:: has_limits
   :canonical: rofunc.simulator.src.spherical_joint.has_limits
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.has_limits

.. py:data:: lower_limits
   :canonical: rofunc.simulator.src.spherical_joint.lower_limits
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.lower_limits

.. py:data:: upper_limits
   :canonical: rofunc.simulator.src.spherical_joint.upper_limits
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.upper_limits

.. py:data:: defaults
   :canonical: rofunc.simulator.src.spherical_joint.defaults
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.defaults

.. py:data:: num_envs
   :canonical: rofunc.simulator.src.spherical_joint.num_envs
   :value: 1

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.num_envs

.. py:data:: num_per_row
   :canonical: rofunc.simulator.src.spherical_joint.num_per_row
   :value: 6

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.num_per_row

.. py:data:: spacing
   :canonical: rofunc.simulator.src.spherical_joint.spacing
   :value: 2.5

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.spacing

.. py:data:: env_lower
   :canonical: rofunc.simulator.src.spherical_joint.env_lower
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.env_lower

.. py:data:: env_upper
   :canonical: rofunc.simulator.src.spherical_joint.env_upper
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.env_upper

.. py:data:: cam_pos
   :canonical: rofunc.simulator.src.spherical_joint.cam_pos
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.cam_pos

.. py:data:: cam_target
   :canonical: rofunc.simulator.src.spherical_joint.cam_target
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.cam_target

.. py:data:: envs
   :canonical: rofunc.simulator.src.spherical_joint.envs
   :value: []

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.envs

.. py:data:: actor_handles
   :canonical: rofunc.simulator.src.spherical_joint.actor_handles
   :value: []

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.actor_handles

.. py:function:: random_quaternion()
   :canonical: rofunc.simulator.src.spherical_joint.random_quaternion

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.random_quaternion

.. py:function:: quat2expcoord(q)
   :canonical: rofunc.simulator.src.spherical_joint.quat2expcoord

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.quat2expcoord

.. py:data:: axes_geom
   :canonical: rofunc.simulator.src.spherical_joint.axes_geom
   :value: None

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.axes_geom

.. py:data:: cnt
   :canonical: rofunc.simulator.src.spherical_joint.cnt
   :value: 0

   .. autodoc2-docstring:: rofunc.simulator.src.spherical_joint.cnt
