コード例 #1
0
	def annotate_grasps(self):
		object_id = GraspingHelper.get_name(self.objects)
		gripper = GraspingHelper.get_gripper()
		frame_id = "/reference/" + gripper + "_gripper"
		print("Frame id: " + frame_id)
		self.grasps = []
		keep_going = True
                print "saving time"
                time = rospy.Time.now()
		index = 0
		while keep_going:
			response = "continue"
			while (len(response) > 0 and response not in self.commands.keys()):
				response = raw_input("Press enter to annotate the grasp or type 'save' to end annotation. ")

			grasps = self.commands[response](self.transformer, gripper, frame_id, str(object_id), index, time)
			if response == "save":
				return
			index += 1
			self.grasps.extend(grasps)
			try:
				to_publish_grasps = MoveHelper.set_grasps_at_pose(self.object_poses[object_id], self.grasps, self.transformer)
				self.publish_grasp_markers(to_publish_grasps, object_id)
			except KeyError as e:
				pass
コード例 #2
0
    def visualize_grasps(self, object_poses):
        for object_name, object_pose in object_poses.iteritems():
            graspResponse = self.graspService(object_name)
            if not graspResponse.success:
                rospy.logerr("No grasps were found for object " + object_name)
                return

            grasps = MoveHelper.set_grasps_at_pose(object_pose,
                                                   graspResponse.grasps,
                                                   self.transformer,
                                                   object_pose.header.frame_id)
            self.publishMarkers(grasps, object_name)
コード例 #3
0
ファイル: server.py プロジェクト: h2r/helpful_baxter
	def pick(self, object_pose, object_name):
		self.group.detach_object()			

		graspResponse = self.graspService(object_name)
		if not graspResponse.success:
			rospy.logerr("No grasps were found for object " + object_name)
			return

		self.group.set_planning_time(20)
		self.group.set_start_state_to_current_state()

		grasps = MoveHelper.set_grasps_at_pose(object_pose, graspResponse.grasps, self.transformer)
		self.publishMarkers(grasps, object_name)
		
		result = self.group.pick(object_name, grasps * 5)
		return result
コード例 #4
0
	def pick(self, pose, object_name):
		self.group.detach_object()			

		graspResponse = self.graspService(object_name)
		if not graspResponse.success:
			rospy.logerr("No grasps were found for object " + object_name)
			return

		self.group.set_planning_time(20)
		self.group.set_start_state_to_current_state()

		grasps = MoveHelper.set_grasps_at_pose(pose, graspResponse.grasps, self.transformer)
		self.publishMarkers(grasps, object_name)
		
		result = self.group.pick(object_name, grasps * 5)
		return result
コード例 #5
0
    def pick(self, object_pose, object_name):
        self.group.detach_object()

        graspResponse = self.graspService(object_name)
        if not graspResponse.success:
            rospy.logerr("No grasps were found for object " + object_name)
            return

        self.group.set_planning_time(20)
        self.group.set_start_state_to_current_state()

        grasps = MoveHelper.set_grasps_at_pose(object_pose,
                                               graspResponse.grasps,
                                               self.transformer,
                                               object_pose.header.frame_id)
        #print(str(grasps))
        self.publishMarkers(grasps, object_name)

        for grasp in grasps:
            self.group.set_pose_target(grasp.grasp_pose)
            self.group.plan()
            self.group.go()