コード例 #1
0
 def add_mesh(self,
              name=u'mesh',
              mesh=u'',
              frame_id=u'map',
              position=(0, 0, 0),
              orientation=(0, 0, 0, 1),
              pose=None):
     """
     If pose is used, frame_id, position and orientation are ignored.
     :type name: str
     :param mesh: path to the meshes location. e.g. package://giskardpy/test/urdfs/meshes/bowl_21.obj
     :type frame_id: str
     :type position: list
     :type orientation: list
     :type pose: PoseStamped
     :rtype: UpdateWorldResponse
     """
     object = WorldBody()
     object.type = WorldBody.MESH_BODY
     object.name = str(name)
     if pose is None:
         pose = PoseStamped()
         pose.header.stamp = rospy.Time.now()
         pose.header.frame_id = str(frame_id)
         pose.pose.position = Point(*position)
         pose.pose.orientation = Quaternion(*orientation)
     object.mesh = mesh
     req = UpdateWorldRequest(UpdateWorldRequest.ADD, object, False, pose)
     return self._update_world_srv.call(req)
コード例 #2
0
def add_table_request():
    table = WorldBody()
    table.type = WorldBody.MESH_BODY
    table.name = "table"
    pose = PoseStamped()
    pose.header.stamp = rospy.Time.now()
    pose.header.frame_id = "map"
    pose.pose.position = Point(-1.4, -1.05, 0.0)
    pose.pose.orientation = Quaternion(0, 0, 1, 0)
    table.mesh = 'package://iai_kitchen/meshes/misc/big_table_1.stl'
    return UpdateWorldRequest(UpdateWorldRequest.ADD, table, False, pose)
コード例 #3
0
 def add_mesh(self, name=u'mesh', mesh=u'', frame_id=u'map', position=(0, 0, 0), orientation=(0, 0, 0, 1),
              pose=None):
     object = WorldBody()
     object.type = WorldBody.MESH_BODY
     object.name = str(name)
     if pose is None:
         pose = PoseStamped()
         pose.header.stamp = rospy.Time.now()
         pose.header.frame_id = str(frame_id)
         pose.pose.position = Point(*position)
         pose.pose.orientation = Quaternion(*orientation)
     object.mesh = mesh
     req = UpdateWorldRequest(UpdateWorldRequest.ADD, object, False, pose)
     return self.update_world.call(req)