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
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)
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
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)