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