Exemplo n.º 1
0
from urdf_parser_py.xml_reflection.basics import *
import urdf_parser_py.xml_reflection as xmlr

xmlr.start_namespace('srdf')

verbose = True

# Common stuff
name_attribute = xmlr.Attribute('name', str)


class Link(xmlr.Object):
    def __init__(self, name=None):
        self.name = name


xmlr.reflect(Link, params=[name_attribute])


class Joint(xmlr.Object):
    def __init__(self, name=None):
        self.name = name


xmlr.reflect(Joint, params=[name_attribute])


class JointVal(xmlr.Object):
    def __init__(self, name=None, value=[]):
        self.name = name
        self.value = value
Exemplo n.º 2
0
    @rotation.setter
    def rotation(self, value):
        self.rpy = value

    @property
    def position(self):
        return self.xyz

    @position.setter
    def position(self, value):
        self.xyz = value


xmlr.reflect(Pose,
             params=[
                 xmlr.Attribute('xyz', 'vector3', False, default=[0, 0, 0]),
                 xmlr.Attribute('rpy', 'vector3', False, default=[0, 0, 0])
             ])

# Common stuff
name_attribute = xmlr.Attribute('name', str)
origin_element = xmlr.Element('origin', Pose, False)


class Color(xmlr.Object):
    def __init__(self, *args):
        # What about named colors?
        count = len(args)
        if count == 4 or count == 3:
            self.rgba = args
        elif count == 1:
Exemplo n.º 3
0
    def rotation(self, value):
        self.rpy = value

    @property
    def position(self):
        return self.xyz

    @position.setter
    def position(self, value):
        self.xyz = value


xmlr.reflect(Pose,
             tag='origin',
             params=[
                 xmlr.Attribute('xyz', 'vector3', False, default=[0, 0, 0]),
                 xmlr.Attribute('rpy', 'vector3', False, default=[0, 0, 0])
             ])

# Common stuff
name_attribute = xmlr.Attribute('name', str)
origin_element = xmlr.Element('origin', Pose, False)


class Color(xmlr.Object):
    def __init__(self, *args):
        # What about named colors?
        count = len(args)
        if count == 4 or count == 3:
            self.rgba = args
        elif count == 1:
Exemplo n.º 4
0
        return xyz + rpy

    def read_xml(self, node):
        # Better way to do this? Define type?
        vec = get_type('vector6').read_xml(node)
        self.load_vec(vec)

    def write_xml(self, node):
        vec = self.as_vec()
        get_type('vector6').write_xml(node, vec)

    def check_valid(self):
        assert self.xyz is not None or self.rpy is not None


name_attribute = xmlr.Attribute('name', str)
pose_element = xmlr.Element('pose', Pose, False)


class Entity(xmlr.Object):
    def __init__(self, name=None, pose=None):
        self.name = name
        self.pose = pose


xmlr.reflect(Entity, params=[name_attribute, pose_element])


class Inertia(xmlr.Object):
    KEYS = ['ixx', 'ixy', 'ixz', 'iyy', 'iyz', 'izz']
Exemplo n.º 5
0
    @rotation.setter
    def rotation(self, value):
        self.rpy = value

    @property
    def position(self):
        return self.xyz

    @position.setter
    def position(self, value):
        self.xyz = value


xmlr.reflect(Pose,
             params=[
                 xmlr.Attribute('xyz', 'vector3', False),
                 xmlr.Attribute('rpy', 'vector3', False)
             ])

# Common stuff
name_attribute = xmlr.Attribute('name', str)
origin_element = xmlr.Element('origin', Pose, False)


class Color(xmlr.Object):
    def __init__(self, *args):
        # What about named colors?
        count = len(args)
        if count == 4 or count == 3:
            self.rgba = args
        elif count == 1:
Exemplo n.º 6
0
        return xyz + rpy

    def read_xml(self, node):
        # Better way to do this? Define type?
        vec = get_type("vector6").read_xml(node)
        self.load_vec(vec)

    def write_xml(self, node):
        vec = self.as_vec()
        get_type("vector6").write_xml(node, vec)

    def check_valid(self):
        assert self.xyz is not None or self.rpy is not None


name_attribute = xmlr.Attribute("name", str)
pose_element = xmlr.Element("pose", Pose, False)


class Entity(xmlr.Object):
    def __init__(self, name=None, pose=None):
        self.name = name
        self.pose = pose


xmlr.reflect(Entity, params=[name_attribute, pose_element])


class Inertia(xmlr.Object):
    KEYS = ["ixx", "ixy", "ixz", "iyy", "iyz", "izz"]