Beispiel #1
0
def object_to_urdf(object_name, object):
    rgb = np.random.uniform(0, 1, 3)
    link_urdf = odio_urdf.Link(object_name,
                  odio_urdf.Inertial(
                      odio_urdf.Origin(xyz=object.com, rpy=(0, 0, 0)),
                      odio_urdf.Mass(value=object.mass),
                      odio_urdf.Inertia(ixx=0.001,
                                        ixy=0,
                                        ixz=0,
                                        iyy=0.001,
                                        iyz=0,
                                        izz=0.001)
                  ),
                  odio_urdf.Collision(
                      odio_urdf.Origin(xyz=(0, 0, 0), rpy=(0, 0, 0)),
                      odio_urdf.Geometry(
                          odio_urdf.Box(size=(object.dimensions.width,
                                                object.dimensions.length,
                                                object.dimensions.height))
                      )
                  ),
                  odio_urdf.Visual(
                      odio_urdf.Origin(xyz=(0, 0, 0), rpy=(0, 0, 0)),
                      odio_urdf.Geometry(
                          odio_urdf.Box(size=(object.dimensions.width,
                                                object.dimensions.length,
                                                object.dimensions.height))
                      ),
                      odio_urdf.Material('color',
                                    odio_urdf.Color(rgba=(*object.color, 1.0))
                                    )
                  ))

    object_urdf = odio_urdf.Robot(link_urdf)
    return object_urdf
Beispiel #2
0
 def get_urdf(self):
     """
     :return: A str representation of the busybox's urdf.
     """
     elements = self._links + self._joints
     for m in self._mechanisms:
         elements += m.get_links()
         elements += m.get_joints()
     robot = urdf.Robot('busybox', *elements)
     return str(robot)
Beispiel #3
0
def hand_urdf():
    rgb = (0, 1, 0)
    link_urdf = odio_urdf.Link(
        'hand',
        odio_urdf.Inertial(
            odio_urdf.Origin(xyz=(0, 0, 0), rpy=(0, 0, 0)),
            odio_urdf.Mass(value=0.1),
            odio_urdf.Inertia(ixx=0.001,
                              ixy=0,
                              ixz=0,
                              iyy=0.001,
                              iyz=0,
                              izz=0.001)),
        odio_urdf.Collision(odio_urdf.Origin(xyz=(0, 0, 0), rpy=(0, 0, 0)),
                            odio_urdf.Geometry(odio_urdf.Sphere(radius=0.02))),
        odio_urdf.Visual(
            odio_urdf.Origin(xyz=(0, 0, 0), rpy=(0, 0, 0)),
            odio_urdf.Geometry(odio_urdf.Sphere(radius=0.02), ),
            odio_urdf.Material('color', odio_urdf.Color(rgba=(*rgb, 1.0)))))

    object_urdf = odio_urdf.Robot(link_urdf)
    return object_urdf
Beispiel #4
0
def object_to_urdf(object):
    rgb = np.random.uniform(0, 1, 3)
    I = 0.001
    link_urdf = odio_urdf.Link(
        object.name,
        odio_urdf.Inertial(
            odio_urdf.Origin(xyz=tuple(object.com), rpy=(0, 0, 0)),
            odio_urdf.Mass(value=object.mass),
            odio_urdf.Inertia(ixx=I, ixy=0, ixz=0, iyy=I, iyz=0, izz=I)),
        odio_urdf.Collision(
            odio_urdf.Origin(xyz=(0, 0, 0), rpy=(0, 0, 0)),
            odio_urdf.Geometry(
                odio_urdf.Box(size=(object.dimensions.x, object.dimensions.y,
                                    object.dimensions.z)))),
        odio_urdf.Visual(
            odio_urdf.Origin(xyz=(0, 0, 0), rpy=(0, 0, 0)),
            odio_urdf.Geometry(
                odio_urdf.Box(size=(object.dimensions.x, object.dimensions.y,
                                    object.dimensions.z))),
            odio_urdf.Material('color',
                               odio_urdf.Color(rgba=(*object.color, 1.0)))))

    object_urdf = odio_urdf.Robot(link_urdf, name=object.name)
    return object_urdf
 def robot(self, name):
     self.current = urdf.Robot(name)