Exemple #1
0
    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
Exemple #2
0
    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