simulation.utils.urdf package¶
Submodules¶
simulation.utils.urdf.camera module¶
Class definitions of tags used to define cameras.
Classes:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- class CameraProperties(horizontal_fov: float, update_rate: float, image_width: float, image_height: float, image_format: float, clip_near: float, clip_far: float, image_topic: str, info_topic: str, frame_name: str, optical_center_x: float = None, optical_center_y: float = None)[source]¶
Bases:
objectAttributes:
- horizontal_fov: float¶
- update_rate: float¶
- image_width: float¶
- image_height: float¶
- image_format: float¶
- clip_near: float¶
- clip_far: float¶
- image_topic: str¶
- info_topic: str¶
- frame_name: str¶
- optical_center_x: float = None¶
- optical_center_y: float = None¶
- class DepthCameraProperties(horizontal_fov: float, update_rate: float, image_width: float, image_height: float, image_format: float, clip_near: float, clip_far: float, image_topic: str, info_topic: str, frame_name: str, optical_center_x: float = None, optical_center_y: float = None, point_cloud_cutoff: float = None, point_cloud_topic_name: str = None)[source]¶
Bases:
simulation.utils.urdf.camera.CameraPropertiesAttributes:
- point_cloud_cutoff: float = None¶
- point_cloud_topic_name: str = None¶
- horizontal_fov: float¶
- update_rate: float¶
- image_width: float¶
- image_height: float¶
- image_format: float¶
- clip_near: float¶
- clip_far: float¶
- image_topic: str¶
- info_topic: str¶
- frame_name: str¶
- class CameraPlugin(name: simulation.utils.urdf.core.Attribute, filename: simulation.utils.urdf.core.Attribute, alwaysOn: float = 1, updateRate: float = 0, frameName: str = None, cameraName: str = None, CxPrime: float = None, Cx: float = None, Cy: float = None)[source]¶
Bases:
simulation.utils.urdf.gazebo.PluginAttributes:
- alwaysOn: float = 1¶
- updateRate: float = 0¶
- frameName: str = None¶
- cameraName: str = None¶
- CxPrime: float = None¶
- Cx: float = None¶
- Cy: float = None¶
- filename: simulation.utils.urdf.core.Attribute¶
- class MonoCameraPlugin(name: simulation.utils.urdf.core.Attribute = 'camera_plugin', filename: simulation.utils.urdf.core.Attribute = 'libgazebo_ros_camera.so', alwaysOn: float = 1, updateRate: float = 0, frameName: str = None, cameraName: str = None, CxPrime: float = None, Cx: float = None, Cy: float = None, imageTopicName: str = None, cameraInfoTopicName: str = None)[source]¶
Bases:
simulation.utils.urdf.camera.CameraPluginAttributes:
- name: simulation.utils.urdf.core.Attribute = 'camera_plugin'¶
- filename: simulation.utils.urdf.core.Attribute = 'libgazebo_ros_camera.so'¶
- imageTopicName: str = None¶
- cameraInfoTopicName: str = None¶
- class DepthCameraPlugin(name: simulation.utils.urdf.core.Attribute = 'camera_plugin', filename: simulation.utils.urdf.core.Attribute = 'libgazebo_ros_openni_kinect.so', alwaysOn: float = 1, updateRate: float = 0, frameName: str = None, cameraName: str = None, CxPrime: float = None, Cx: float = None, Cy: float = None, depthImageTopicName: str = None, depthImageCameraInfoTopicName: str = None, pointCloudTopicName: str = None, pointCloudCutoff: float = None)[source]¶
Bases:
simulation.utils.urdf.camera.CameraPluginAttributes:
- name: simulation.utils.urdf.core.Attribute = 'camera_plugin'¶
- filename: simulation.utils.urdf.core.Attribute = 'libgazebo_ros_openni_kinect.so'¶
- depthImageTopicName: str = None¶
- depthImageCameraInfoTopicName: str = None¶
- pointCloudTopicName: str = None¶
- pointCloudCutoff: float = None¶
- class CameraImage(width: int, height: int, format: str)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'image'¶
- width: int¶
- height: int¶
- format: str¶
- class CameraClip(near: float, far: float)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'clip'¶
- near: float¶
- far: float¶
- class CameraDefinition(horizontal_fov: float, image: simulation.utils.urdf.camera.CameraImage, clip: simulation.utils.urdf.camera.CameraClip = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'camera'¶
- horizontal_fov: float¶
- clip: simulation.utils.urdf.camera.CameraClip = None¶
- class CameraSensor(name: simulation.utils.urdf.core.Attribute, type: simulation.utils.urdf.core.Attribute, plugin: simulation.utils.urdf.camera.CameraPlugin, update_rate: float, camera: simulation.utils.urdf.camera.CameraDefinition)[source]¶
Bases:
simulation.utils.urdf.gazebo.SensorAttributes:
- update_rate: float¶
- class _Camera(name: str, origin: simulation.utils.urdf.core.Origin, size: simulation.utils.geometry.vector.Vector, mass: float, chassis_link: simulation.utils.urdf.link.Link)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- class MonoCamera(name: str, origin: simulation.utils.urdf.core.Origin, size: simulation.utils.geometry.vector.Vector, mass: float, properties: simulation.utils.urdf.camera.CameraProperties, chassis_link: simulation.utils.urdf.link.Link)[source]¶
Bases:
simulation.utils.urdf.camera._CameraAttributes:
- class DepthCamera(name: str, origin: simulation.utils.urdf.core.Origin, size: simulation.utils.geometry.vector.Vector, mass: float, properties: simulation.utils.urdf.camera.DepthCameraProperties, chassis_link: simulation.utils.urdf.link.Link)[source]¶
Bases:
simulation.utils.urdf.camera._CameraAttributes:
simulation.utils.urdf.core module¶
Class definitions of core building blocks of the package.
Classes:
|
Basic class that will be converted into a xml attribute. |
Base class for all urdf xml objects. |
|
|
|
|
Functions:
- class Attribute(val: str, name: Optional[str] = None)[source]¶
Bases:
strBasic class that will be converted into a xml attribute.
Important: Within a subclass of
XmlObjectan attribute can be defined by simply annotating a class variable with py:class:Attribute!Example
>>> from dataclasses import dataclass >>> from simulation.utils.urdf.core import XmlObject, Attribute >>> @dataclass ... class Example(XmlObject): ... TAG = "example" ... name: Attribute ... value1: str ... value2: float = None >>> ex = Example("example_name",value1="I'm an example.")
The code block defines a simple example class that results in the xml string:
<example name="example_name"> <value1>I'm an example.</value1> </example>
- Parameters
val – Attribute value.
name – Optionally the name of the can be provided. By default the name of the Attribute instance defines the name of the resulting xml attribute.
- class XmlObject[source]¶
Bases:
objectBase class for all urdf xml objects.
Attributes:
Methods:
_get_val(val)Convert a value to a string that is included into the xml.
create_xml([root_el])Convert this instance into a xml element.
save(file_path)Save this instance as a xml string to a file.
- TAG = None¶
- create_xml(root_el: Optional[xml.etree.ElementTree.Element] = None) → xml.etree.ElementTree.Element[source]¶
Convert this instance into a xml element.
If the class of this instance does not define a tag, new xml elements from this instance are appended to the root_el. Otherwise, a sub element is created and returned.
Additionally to all instance attributes, a dictionary
parameterscan be used to define sub elements.A
Attributetype annotation for any of the object`s attributes, will result in a xml attribute.
- Parameters
root_el – Optional element that is used a parent xml element when provided.
- class Origin(xyz: simulation.utils.urdf.core.Attribute = <factory>, rpy: simulation.utils.urdf.core.Attribute = <factory>)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
Methods:
from_vector(vector)from_list(lst)- TAG = 'origin'¶
- classmethod from_vector(vector: simulation.utils.geometry.vector.Vector)[source]¶
- class Axis(xyz: simulation.utils.urdf.core.Attribute = <factory>)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'axis'¶
simulation.utils.urdf.gazebo module¶
Class definitions of tags used only for gazebo.
Classes:
|
|
|
|
|
- class Plugin(name: simulation.utils.urdf.core.Attribute, filename: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'plugin'¶
- filename: simulation.utils.urdf.core.Attribute¶
- class Gazebo(inner: simulation.utils.urdf.core.XmlObject, reference: simulation.utils.urdf.core.Attribute = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'gazebo'¶
- reference: simulation.utils.urdf.core.Attribute = None¶
- class Sensor(name: simulation.utils.urdf.core.Attribute, type: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'sensor'¶
simulation.utils.urdf.joint module¶
Class definitions making up the <joint>.
Example
A simple joint connecting link2 to
link1 with a revolute joint that can rotate along the z-axis:
>>> from simulation.utils.urdf import (
... Origin, Link, Joint, Parent, Child, Axis, JointLimit, JointDynamics
... )
>>> link1 = Link("link_1")
>>> link2 = Link("link_2")
>>> simple_joint = Joint(
... name="simple_joint",
... parent=Parent(link1.name),
... child=Child(link2.name),
... type=Joint.REVOLUTE,
... origin=Origin([1,3,2]),
... axis=Axis([0, 0, 1]),
... limit=JointLimit(effort=1000, lower=-10, upper=10),
... dynamics=JointDynamics(damping=1, friction=1),
... )
Classes:
|
|
|
|
|
|
|
|
|
- class JointDynamics(damping: simulation.utils.urdf.core.Attribute = None, friction: simulation.utils.urdf.core.Attribute = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'dynamics'¶
- damping: simulation.utils.urdf.core.Attribute = None¶
- friction: simulation.utils.urdf.core.Attribute = None¶
- class JointLimit(effort: simulation.utils.urdf.core.Attribute = None, lower: simulation.utils.urdf.core.Attribute = None, upper: simulation.utils.urdf.core.Attribute = None, velocity: simulation.utils.urdf.core.Attribute = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'limit'¶
- effort: simulation.utils.urdf.core.Attribute = None¶
- lower: simulation.utils.urdf.core.Attribute = None¶
- upper: simulation.utils.urdf.core.Attribute = None¶
- velocity: simulation.utils.urdf.core.Attribute = None¶
- class Parent(link: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'parent'¶
- class Child(link: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'child'¶
- class Joint(name: simulation.utils.urdf.core.Attribute, parent: simulation.utils.urdf.joint.Parent, child: simulation.utils.urdf.joint.Child, type: simulation.utils.urdf.core.Attribute = 'fixed', axis: simulation.utils.geometry.vector.Vector = None, limit: simulation.utils.urdf.joint.JointLimit = None, dynamics: simulation.utils.urdf.joint.JointDynamics = None, origin: simulation.utils.urdf.core.Origin = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'joint'¶
- FIXED = 'fixed'¶
- REVOLUTE = 'revolute'¶
- CONTINUOUS = 'continuous'¶
- type: simulation.utils.urdf.core.Attribute = 'fixed'¶
- axis: simulation.utils.geometry.vector.Vector = None¶
- limit: simulation.utils.urdf.joint.JointLimit = None¶
- dynamics: simulation.utils.urdf.joint.JointDynamics = None¶
- origin: simulation.utils.urdf.core.Origin = None¶
simulation.utils.urdf.link module¶
Class definitions making up the <link>.
Example
A simple link with the shape of a rectangular box can be defined as follows:
>>> from simulation.utils.geometry import Vector
>>> from simulation.utils.urdf import Geometry, Box, Material, Link, Collision, Visual
>>> box = Geometry(Box(Vector(2, 2, 2)))
>>> material = Material("mat", color=Vector(1, 1, 1))
>>> link = Link(
... "link",
... collision=Collision(geometry=box),
... visual=Visual(geometry=box, material=material),
... )
>>> link.use_inertial_from_collision(mass=1.0)
... # Calculate inertial tensor from simulation.utils.geometry and mass
Functions:
Classes:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- class Color(xyz: simulation.utils.urdf.core.Attribute = <factory>)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'color'¶
- class Inertia(ixx: simulation.utils.urdf.core.Attribute = 0, ixy: simulation.utils.urdf.core.Attribute = 0, ixz: simulation.utils.urdf.core.Attribute = 0, iyx: simulation.utils.urdf.core.Attribute = 0, iyy: simulation.utils.urdf.core.Attribute = 0, iyz: simulation.utils.urdf.core.Attribute = 0, izx: simulation.utils.urdf.core.Attribute = 0, izy: simulation.utils.urdf.core.Attribute = 0, izz: simulation.utils.urdf.core.Attribute = 0)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'inertia'¶
- class Inertial(mass: float, inertia: simulation.utils.urdf.link.Inertia, origin: simulation.utils.urdf.core.Origin = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
Methods:
create_xml([root_el])Convert this instance into a xml element.
- TAG = 'inertial'¶
- mass: float¶
- inertia: simulation.utils.urdf.link.Inertia¶
- origin: simulation.utils.urdf.core.Origin = None¶
- create_xml(root_el=None)[source]¶
Convert this instance into a xml element.
If the class of this instance does not define a tag, new xml elements from this instance are appended to the root_el. Otherwise, a sub element is created and returned.
Additionally to all instance attributes, a dictionary
parameterscan be used to define sub elements.A
Attributetype annotation for any of the object`s attributes, will result in a xml attribute.
- Parameters
root_el – Optional element that is used a parent xml element when provided.
- class Geometry(value: simulation.utils.urdf.core.XmlObject)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'geometry'¶
- class Box(size: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
Methods:
calculate_inertia(mass)- TAG = 'box'¶
- calculate_inertia(mass) → simulation.utils.urdf.link.Inertia[source]¶
- class Sphere(radius: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
Methods:
calculate_inertia(mass)- TAG = 'sphere'¶
- calculate_inertia(mass) → simulation.utils.urdf.link.Inertia[source]¶
- class Cylinder(radius: simulation.utils.urdf.core.Attribute, length: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
Methods:
calculate_inertia(mass)- TAG = 'cylinder'¶
- calculate_inertia(mass) → simulation.utils.urdf.link.Inertia[source]¶
- class Mesh(filename: simulation.utils.urdf.core.Attribute, scale: simulation.utils.geometry.vector.Vector = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'mesh'¶
- filename: simulation.utils.urdf.core.Attribute¶
- scale: simulation.utils.geometry.vector.Vector = None¶
- class Collision(origin: simulation.utils.urdf.core.Origin = None, geometry: simulation.utils.urdf.link.Geometry = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'collision'¶
- origin: simulation.utils.urdf.core.Origin = None¶
- geometry: simulation.utils.urdf.link.Geometry = None¶
- class Material(name: simulation.utils.urdf.core.Attribute = None, color: simulation.utils.geometry.vector.Vector = None, texture: str = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'material'¶
- name: simulation.utils.urdf.core.Attribute = None¶
- color: simulation.utils.geometry.vector.Vector = None¶
- texture: str = None¶
- class Visual(origin: Tuple = None, geometry: simulation.utils.urdf.link.Geometry = None, material: simulation.utils.urdf.link.Material = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'visual'¶
- origin: Tuple = None¶
- geometry: simulation.utils.urdf.link.Geometry = None¶
- material: simulation.utils.urdf.link.Material = None¶
- class Link(name: simulation.utils.urdf.core.Attribute, collision: simulation.utils.urdf.link.Collision = None, visual: simulation.utils.urdf.link.Collision = None, inertial: simulation.utils.urdf.link.Inertial = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
Methods:
- TAG = 'link'¶
- collision: simulation.utils.urdf.link.Collision = None¶
- visual: simulation.utils.urdf.link.Collision = None¶
- inertial: simulation.utils.urdf.link.Inertial = None¶
Module contents¶
Module package to create .urdf model definitions.
The package contains a number of classes that enable to define urdf robots through python.
For what? The urdf is very repetetive to write and requires prior knowledge on available tags and how they can be combined to a fully specified robot. Additionally, the commonly used xacro is less powerful than python and, again, another tool.
The basic idea used throughout the package is the inheritance from XmlObject.
XmlObject.create_xml() creates a xml.etree.cElementTree.Element
from the class instance.
It does so by converting all instance attributes into xml attributes and sub elements.
If a class attribute is an instance of a subclass of XmlObject,
the objects XmlObject.create_xml() is called recursively.
The XmlObject in combination with
dataclasses
allows to create lightweight classes that define urdf components when converted to xml.
Classes:
|
Basic class that will be converted into a xml attribute. |
Base class for all urdf xml objects. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- class Attribute(val: str, name: Optional[str] = None)[source]¶
Bases:
strBasic class that will be converted into a xml attribute.
Important: Within a subclass of
XmlObjectan attribute can be defined by simply annotating a class variable with py:class:Attribute!Example
>>> from dataclasses import dataclass >>> from simulation.utils.urdf.core import XmlObject, Attribute >>> @dataclass ... class Example(XmlObject): ... TAG = "example" ... name: Attribute ... value1: str ... value2: float = None >>> ex = Example("example_name",value1="I'm an example.")
The code block defines a simple example class that results in the xml string:
<example name="example_name"> <value1>I'm an example.</value1> </example>
- Parameters
val – Attribute value.
name – Optionally the name of the can be provided. By default the name of the Attribute instance defines the name of the resulting xml attribute.
- class XmlObject[source]¶
Bases:
objectBase class for all urdf xml objects.
Attributes:
Methods:
_get_val(val)Convert a value to a string that is included into the xml.
create_xml([root_el])Convert this instance into a xml element.
save(file_path)Save this instance as a xml string to a file.
- TAG = None¶
- create_xml(root_el: Optional[xml.etree.ElementTree.Element] = None) → xml.etree.ElementTree.Element[source]¶
Convert this instance into a xml element.
If the class of this instance does not define a tag, new xml elements from this instance are appended to the root_el. Otherwise, a sub element is created and returned.
Additionally to all instance attributes, a dictionary
parameterscan be used to define sub elements.A
Attributetype annotation for any of the object`s attributes, will result in a xml attribute.
- Parameters
root_el – Optional element that is used a parent xml element when provided.
- class Origin(xyz: simulation.utils.urdf.core.Attribute = <factory>, rpy: simulation.utils.urdf.core.Attribute = <factory>)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
Methods:
from_vector(vector)from_list(lst)- TAG = 'origin'¶
- classmethod from_vector(vector: simulation.utils.geometry.vector.Vector)[source]¶
- class Axis(xyz: simulation.utils.urdf.core.Attribute = <factory>)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'axis'¶
- class Color(xyz: simulation.utils.urdf.core.Attribute = <factory>)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'color'¶
- class Inertia(ixx: simulation.utils.urdf.core.Attribute = 0, ixy: simulation.utils.urdf.core.Attribute = 0, ixz: simulation.utils.urdf.core.Attribute = 0, iyx: simulation.utils.urdf.core.Attribute = 0, iyy: simulation.utils.urdf.core.Attribute = 0, iyz: simulation.utils.urdf.core.Attribute = 0, izx: simulation.utils.urdf.core.Attribute = 0, izy: simulation.utils.urdf.core.Attribute = 0, izz: simulation.utils.urdf.core.Attribute = 0)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'inertia'¶
- class Inertial(mass: float, inertia: simulation.utils.urdf.link.Inertia, origin: simulation.utils.urdf.core.Origin = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
Methods:
create_xml([root_el])Convert this instance into a xml element.
- TAG = 'inertial'¶
- mass: float¶
- inertia: simulation.utils.urdf.link.Inertia¶
- origin: simulation.utils.urdf.core.Origin = None¶
- create_xml(root_el=None)[source]¶
Convert this instance into a xml element.
If the class of this instance does not define a tag, new xml elements from this instance are appended to the root_el. Otherwise, a sub element is created and returned.
Additionally to all instance attributes, a dictionary
parameterscan be used to define sub elements.A
Attributetype annotation for any of the object`s attributes, will result in a xml attribute.
- Parameters
root_el – Optional element that is used a parent xml element when provided.
- class Box(size: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
Methods:
calculate_inertia(mass)- TAG = 'box'¶
- calculate_inertia(mass) → simulation.utils.urdf.link.Inertia[source]¶
- class Sphere(radius: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
Methods:
calculate_inertia(mass)- TAG = 'sphere'¶
- calculate_inertia(mass) → simulation.utils.urdf.link.Inertia[source]¶
- class Cylinder(radius: simulation.utils.urdf.core.Attribute, length: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
Methods:
calculate_inertia(mass)- TAG = 'cylinder'¶
- calculate_inertia(mass) → simulation.utils.urdf.link.Inertia[source]¶
- class Geometry(value: simulation.utils.urdf.core.XmlObject)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'geometry'¶
- class Mesh(filename: simulation.utils.urdf.core.Attribute, scale: simulation.utils.geometry.vector.Vector = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'mesh'¶
- filename: simulation.utils.urdf.core.Attribute¶
- scale: simulation.utils.geometry.vector.Vector = None¶
- class Material(name: simulation.utils.urdf.core.Attribute = None, color: simulation.utils.geometry.vector.Vector = None, texture: str = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'material'¶
- name: simulation.utils.urdf.core.Attribute = None¶
- color: simulation.utils.geometry.vector.Vector = None¶
- texture: str = None¶
- class Visual(origin: Tuple = None, geometry: simulation.utils.urdf.link.Geometry = None, material: simulation.utils.urdf.link.Material = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'visual'¶
- origin: Tuple = None¶
- geometry: simulation.utils.urdf.link.Geometry = None¶
- material: simulation.utils.urdf.link.Material = None¶
- class Collision(origin: simulation.utils.urdf.core.Origin = None, geometry: simulation.utils.urdf.link.Geometry = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'collision'¶
- origin: simulation.utils.urdf.core.Origin = None¶
- geometry: simulation.utils.urdf.link.Geometry = None¶
- class Link(name: simulation.utils.urdf.core.Attribute, collision: simulation.utils.urdf.link.Collision = None, visual: simulation.utils.urdf.link.Collision = None, inertial: simulation.utils.urdf.link.Inertial = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
Methods:
- TAG = 'link'¶
- collision: simulation.utils.urdf.link.Collision = None¶
- visual: simulation.utils.urdf.link.Collision = None¶
- inertial: simulation.utils.urdf.link.Inertial = None¶
- class JointDynamics(damping: simulation.utils.urdf.core.Attribute = None, friction: simulation.utils.urdf.core.Attribute = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'dynamics'¶
- damping: simulation.utils.urdf.core.Attribute = None¶
- friction: simulation.utils.urdf.core.Attribute = None¶
- class JointLimit(effort: simulation.utils.urdf.core.Attribute = None, lower: simulation.utils.urdf.core.Attribute = None, upper: simulation.utils.urdf.core.Attribute = None, velocity: simulation.utils.urdf.core.Attribute = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'limit'¶
- effort: simulation.utils.urdf.core.Attribute = None¶
- lower: simulation.utils.urdf.core.Attribute = None¶
- upper: simulation.utils.urdf.core.Attribute = None¶
- velocity: simulation.utils.urdf.core.Attribute = None¶
- class Parent(link: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'parent'¶
- class Child(link: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'child'¶
- class Joint(name: simulation.utils.urdf.core.Attribute, parent: simulation.utils.urdf.joint.Parent, child: simulation.utils.urdf.joint.Child, type: simulation.utils.urdf.core.Attribute = 'fixed', axis: simulation.utils.geometry.vector.Vector = None, limit: simulation.utils.urdf.joint.JointLimit = None, dynamics: simulation.utils.urdf.joint.JointDynamics = None, origin: simulation.utils.urdf.core.Origin = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'joint'¶
- FIXED = 'fixed'¶
- REVOLUTE = 'revolute'¶
- CONTINUOUS = 'continuous'¶
- type: simulation.utils.urdf.core.Attribute = 'fixed'¶
- axis: simulation.utils.geometry.vector.Vector = None¶
- limit: simulation.utils.urdf.joint.JointLimit = None¶
- dynamics: simulation.utils.urdf.joint.JointDynamics = None¶
- origin: simulation.utils.urdf.core.Origin = None¶
- class Plugin(name: simulation.utils.urdf.core.Attribute, filename: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'plugin'¶
- filename: simulation.utils.urdf.core.Attribute¶
- class Gazebo(inner: simulation.utils.urdf.core.XmlObject, reference: simulation.utils.urdf.core.Attribute = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'gazebo'¶
- reference: simulation.utils.urdf.core.Attribute = None¶
- class Sensor(name: simulation.utils.urdf.core.Attribute, type: simulation.utils.urdf.core.Attribute)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'sensor'¶
- class MonoCamera(name: str, origin: simulation.utils.urdf.core.Origin, size: simulation.utils.geometry.vector.Vector, mass: float, properties: simulation.utils.urdf.camera.CameraProperties, chassis_link: simulation.utils.urdf.link.Link)[source]¶
Bases:
simulation.utils.urdf.camera._CameraAttributes:
- class DepthCamera(name: str, origin: simulation.utils.urdf.core.Origin, size: simulation.utils.geometry.vector.Vector, mass: float, properties: simulation.utils.urdf.camera.DepthCameraProperties, chassis_link: simulation.utils.urdf.link.Link)[source]¶
Bases:
simulation.utils.urdf.camera._CameraAttributes:
- class CameraClip(near: float, far: float)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'clip'¶
- near: float¶
- far: float¶
- class CameraDefinition(horizontal_fov: float, image: simulation.utils.urdf.camera.CameraImage, clip: simulation.utils.urdf.camera.CameraClip = None)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'camera'¶
- horizontal_fov: float¶
- clip: simulation.utils.urdf.camera.CameraClip = None¶
- class CameraImage(width: int, height: int, format: str)[source]¶
Bases:
simulation.utils.urdf.core.XmlObjectAttributes:
- TAG = 'image'¶
- width: int¶
- height: int¶
- format: str¶
- class CameraPlugin(name: simulation.utils.urdf.core.Attribute, filename: simulation.utils.urdf.core.Attribute, alwaysOn: float = 1, updateRate: float = 0, frameName: str = None, cameraName: str = None, CxPrime: float = None, Cx: float = None, Cy: float = None)[source]¶
Bases:
simulation.utils.urdf.gazebo.PluginAttributes:
- alwaysOn: float = 1¶
- updateRate: float = 0¶
- frameName: str = None¶
- cameraName: str = None¶
- CxPrime: float = None¶
- Cx: float = None¶
- Cy: float = None¶
- filename: simulation.utils.urdf.core.Attribute¶
- class DepthCameraPlugin(name: simulation.utils.urdf.core.Attribute = 'camera_plugin', filename: simulation.utils.urdf.core.Attribute = 'libgazebo_ros_openni_kinect.so', alwaysOn: float = 1, updateRate: float = 0, frameName: str = None, cameraName: str = None, CxPrime: float = None, Cx: float = None, Cy: float = None, depthImageTopicName: str = None, depthImageCameraInfoTopicName: str = None, pointCloudTopicName: str = None, pointCloudCutoff: float = None)[source]¶
Bases:
simulation.utils.urdf.camera.CameraPluginAttributes:
- name: simulation.utils.urdf.core.Attribute = 'camera_plugin'¶
- filename: simulation.utils.urdf.core.Attribute = 'libgazebo_ros_openni_kinect.so'¶
- depthImageTopicName: str = None¶
- depthImageCameraInfoTopicName: str = None¶
- pointCloudTopicName: str = None¶
- pointCloudCutoff: float = None¶
- class CameraSensor(name: simulation.utils.urdf.core.Attribute, type: simulation.utils.urdf.core.Attribute, plugin: simulation.utils.urdf.camera.CameraPlugin, update_rate: float, camera: simulation.utils.urdf.camera.CameraDefinition)[source]¶
Bases:
simulation.utils.urdf.gazebo.SensorAttributes:
- update_rate: float¶
- class CameraProperties(horizontal_fov: float, update_rate: float, image_width: float, image_height: float, image_format: float, clip_near: float, clip_far: float, image_topic: str, info_topic: str, frame_name: str, optical_center_x: float = None, optical_center_y: float = None)[source]¶
Bases:
objectAttributes:
- horizontal_fov: float¶
- update_rate: float¶
- image_width: float¶
- image_height: float¶
- image_format: float¶
- clip_near: float¶
- clip_far: float¶
- image_topic: str¶
- info_topic: str¶
- frame_name: str¶
- optical_center_x: float = None¶
- optical_center_y: float = None¶
- class DepthCameraProperties(horizontal_fov: float, update_rate: float, image_width: float, image_height: float, image_format: float, clip_near: float, clip_far: float, image_topic: str, info_topic: str, frame_name: str, optical_center_x: float = None, optical_center_y: float = None, point_cloud_cutoff: float = None, point_cloud_topic_name: str = None)[source]¶
Bases:
simulation.utils.urdf.camera.CameraPropertiesAttributes:
- point_cloud_cutoff: float = None¶
- point_cloud_topic_name: str = None¶
- horizontal_fov: float¶
- update_rate: float¶
- image_width: float¶
- image_height: float¶
- image_format: float¶
- clip_near: float¶
- clip_far: float¶
- image_topic: str¶
- info_topic: str¶
- frame_name: str¶