:py:mod:`rofunc.utils.robolab.formatter.urdf_parser.urdf`
=========================================================

.. py:module:: rofunc.utils.robolab.formatter.urdf_parser.urdf

.. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf
   :allowtitles:

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

Classes
~~~~~~~

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

   * - :py:obj:`Pose <rofunc.utils.robolab.formatter.urdf_parser.urdf.Pose>`
     -
   * - :py:obj:`Color <rofunc.utils.robolab.formatter.urdf_parser.urdf.Color>`
     -
   * - :py:obj:`JointDynamics <rofunc.utils.robolab.formatter.urdf_parser.urdf.JointDynamics>`
     -
   * - :py:obj:`Box <rofunc.utils.robolab.formatter.urdf_parser.urdf.Box>`
     -
   * - :py:obj:`Cylinder <rofunc.utils.robolab.formatter.urdf_parser.urdf.Cylinder>`
     -
   * - :py:obj:`Sphere <rofunc.utils.robolab.formatter.urdf_parser.urdf.Sphere>`
     -
   * - :py:obj:`Mesh <rofunc.utils.robolab.formatter.urdf_parser.urdf.Mesh>`
     -
   * - :py:obj:`GeometricType <rofunc.utils.robolab.formatter.urdf_parser.urdf.GeometricType>`
     -
   * - :py:obj:`Collision <rofunc.utils.robolab.formatter.urdf_parser.urdf.Collision>`
     -
   * - :py:obj:`Texture <rofunc.utils.robolab.formatter.urdf_parser.urdf.Texture>`
     -
   * - :py:obj:`Material <rofunc.utils.robolab.formatter.urdf_parser.urdf.Material>`
     -
   * - :py:obj:`LinkMaterial <rofunc.utils.robolab.formatter.urdf_parser.urdf.LinkMaterial>`
     -
   * - :py:obj:`Visual <rofunc.utils.robolab.formatter.urdf_parser.urdf.Visual>`
     -
   * - :py:obj:`Inertia <rofunc.utils.robolab.formatter.urdf_parser.urdf.Inertia>`
     -
   * - :py:obj:`Inertial <rofunc.utils.robolab.formatter.urdf_parser.urdf.Inertial>`
     -
   * - :py:obj:`JointCalibration <rofunc.utils.robolab.formatter.urdf_parser.urdf.JointCalibration>`
     -
   * - :py:obj:`JointLimit <rofunc.utils.robolab.formatter.urdf_parser.urdf.JointLimit>`
     -
   * - :py:obj:`JointMimic <rofunc.utils.robolab.formatter.urdf_parser.urdf.JointMimic>`
     -
   * - :py:obj:`SafetyController <rofunc.utils.robolab.formatter.urdf_parser.urdf.SafetyController>`
     -
   * - :py:obj:`Joint <rofunc.utils.robolab.formatter.urdf_parser.urdf.Joint>`
     -
   * - :py:obj:`Link <rofunc.utils.robolab.formatter.urdf_parser.urdf.Link>`
     -
   * - :py:obj:`PR2Transmission <rofunc.utils.robolab.formatter.urdf_parser.urdf.PR2Transmission>`
     -
   * - :py:obj:`Actuator <rofunc.utils.robolab.formatter.urdf_parser.urdf.Actuator>`
     -
   * - :py:obj:`TransmissionJoint <rofunc.utils.robolab.formatter.urdf_parser.urdf.TransmissionJoint>`
     -
   * - :py:obj:`Transmission <rofunc.utils.robolab.formatter.urdf_parser.urdf.Transmission>`
     - .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Transmission
          :summary:
   * - :py:obj:`Robot <rofunc.utils.robolab.formatter.urdf_parser.urdf.Robot>`
     -

Data
~~~~

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

   * - :py:obj:`verbose <rofunc.utils.robolab.formatter.urdf_parser.urdf.verbose>`
     - .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.verbose
          :summary:
   * - :py:obj:`name_attribute <rofunc.utils.robolab.formatter.urdf_parser.urdf.name_attribute>`
     - .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.name_attribute
          :summary:
   * - :py:obj:`origin_element <rofunc.utils.robolab.formatter.urdf_parser.urdf.origin_element>`
     - .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.origin_element
          :summary:
   * - :py:obj:`URDF <rofunc.utils.robolab.formatter.urdf_parser.urdf.URDF>`
     - .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.URDF
          :summary:

API
~~~

.. py:data:: verbose
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.verbose
   :value: True

   .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.verbose

.. py:class:: Pose(xyz=None, rpy=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Pose

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

   .. py:method:: check_valid()
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Pose.check_valid

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Pose.check_valid

   .. py:property:: rotation
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Pose.rotation

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Pose.rotation

   .. py:property:: position
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Pose.position

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Pose.position

.. py:data:: name_attribute
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.name_attribute
   :value: None

   .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.name_attribute

.. py:data:: origin_element
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.origin_element
   :value: None

   .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.origin_element

.. py:class:: Color(*args)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Color

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: JointDynamics(damping=None, friction=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.JointDynamics

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: Box(size=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Box

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: Cylinder(radius=0.0, length=0.0)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Cylinder

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: Sphere(radius=0.0)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Sphere

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: Mesh(filename=None, scale=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Mesh

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: GeometricType()
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.GeometricType

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.ValueType`

   .. py:method:: from_xml(node, path)
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.GeometricType.from_xml

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.GeometricType.from_xml

   .. py:method:: write_xml(node, obj)
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.GeometricType.write_xml

.. py:class:: Collision(geometry=None, origin=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Collision

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: Texture(filename=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Texture

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: Material(name=None, color=None, texture=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Material

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

   .. py:method:: check_valid()
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Material.check_valid

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Material.check_valid

.. py:class:: LinkMaterial(name=None, color=None, texture=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.LinkMaterial

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.urdf.Material`

   .. py:method:: check_valid()
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.LinkMaterial.check_valid

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.LinkMaterial.check_valid

.. py:class:: Visual(geometry=None, material=None, origin=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Visual

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: Inertia(ixx=0.0, ixy=0.0, ixz=0.0, iyy=0.0, iyz=0.0, izz=0.0)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Inertia

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

   .. py:attribute:: KEYS
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Inertia.KEYS
      :value: ['ixx', 'ixy', 'ixz', 'iyy', 'iyz', 'izz']

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Inertia.KEYS

   .. py:method:: to_matrix()
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Inertia.to_matrix

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Inertia.to_matrix

.. py:class:: Inertial(mass=0.0, inertia=None, origin=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Inertial

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: JointCalibration(rising=None, falling=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.JointCalibration

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: JointLimit(effort=None, velocity=None, lower=None, upper=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.JointLimit

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: JointMimic(joint_name=None, multiplier=None, offset=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.JointMimic

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: SafetyController(velocity=None, position=None, lower=None, upper=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.SafetyController

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: Joint(name=None, parent=None, child=None, joint_type=None, axis=None, origin=None, limit=None, dynamics=None, safety_controller=None, calibration=None, mimic=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Joint

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

   .. py:attribute:: TYPES
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Joint.TYPES
      :value: ['unknown', 'revolute', 'continuous', 'prismatic', 'floating', 'planar', 'fixed']

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Joint.TYPES

   .. py:method:: check_valid()
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Joint.check_valid

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Joint.check_valid

   .. py:property:: joint_type
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Joint.joint_type

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Joint.joint_type

.. py:class:: Link(name=None, visual=None, inertial=None, collision=None, origin=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Link

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

   .. py:attribute:: visual
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Link.visual
      :value: None

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Link.visual

   .. py:attribute:: collision
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Link.collision
      :value: None

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Link.collision

.. py:class:: PR2Transmission(name=None, joint=None, actuator=None, type=None, mechanicalReduction=1)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.PR2Transmission

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: Actuator(name=None, mechanicalReduction=1)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Actuator

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

.. py:class:: TransmissionJoint(name=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.TransmissionJoint

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

   .. py:method:: check_valid()
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.TransmissionJoint.check_valid

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.TransmissionJoint.check_valid

.. py:class:: Transmission(name=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Transmission

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

   .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Transmission

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Transmission.__init__

   .. py:method:: check_valid()
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Transmission.check_valid

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Transmission.check_valid

.. py:class:: Robot(name=None)
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Robot

   Bases: :py:obj:`rofunc.utils.robolab.formatter.urdf_parser.xml_reflection.Object`

   .. py:method:: add_aggregate(typeName, elem)
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Robot.add_aggregate

   .. py:method:: add_link(link)
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Robot.add_link

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Robot.add_link

   .. py:method:: add_joint(joint)
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Robot.add_joint

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Robot.add_joint

   .. py:method:: get_chain(root, tip, joints=True, links=True, fixed=True)
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Robot.get_chain

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Robot.get_chain

   .. py:method:: get_root()
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Robot.get_root

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Robot.get_root

   .. py:method:: from_parameter_server(key='robot_description')
      :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.Robot.from_parameter_server
      :classmethod:

      .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.Robot.from_parameter_server

.. py:data:: URDF
   :canonical: rofunc.utils.robolab.formatter.urdf_parser.urdf.URDF
   :value: None

   .. autodoc2-docstring:: rofunc.utils.robolab.formatter.urdf_parser.urdf.URDF
