def place_object(self, obj, place): """ :type obj: str :type place: Pose :return: """ goal = pickplaceGoal() goal.operation = goal.PLACE goal.id = obj goal.place_pose = PoseStamped() goal.place_pose = place goal.place_pose.header.stamp = rospy.Time.now() # TODO: how to deal with this? goal.place_pose.pose.position.z = -0.1 # + obj.bbox.dimensions[2]/2 self.pp_client.send_goal(goal) self.pp_client.wait_for_result() if self.pp_client.get_result().result == 0: return True else: return False
def pick_object(self, object_id): """ :type object_id: str :return: """ goal = pickplaceGoal() goal.id = object_id goal.operation = goal.PICK goal.keep_orientation = False rospy.loginfo("Picking object with ID: " + str(object_id)) self.pp_client.send_goal(goal) self.pp_client.wait_for_result() # TODO: make some error msg etc rospy.loginfo('got result') print self.pp_client.get_result() print "status: " + self.pp_client.get_goal_status_text() print "state: " + str(self.pp_client.get_state()) if self.pp_client.get_result().result == 0: return True else: return False