def __init__(self, side='r', ctrl_mng=None, moveit_cmdr=None): ''' Constructor ''' if side == "right" or side == "r": arm = "right_arm" self.side = "r" elif side == 'left' or side == 'l': arm = "left_arm" self.side = "l" else: rospy.logerr("Side " + side + " is not supported") raise #self.tf_listener = tf.TransformListener() if not tf_listener else tf_listener self.ctrl_mng = ControllerManagerClient() if not ctrl_mng else ctrl_mng self.ctrl_mng.switch_controllers([self.side + '_arm_controller'], [self.side + '_cart']) self.moveit_cmdr = MoveGroupCommander( arm) if not moveit_cmdr else moveit_cmdr self.gripper = Gripper(arm) self.pose_pub = rospy.Publisher('/r_cart/command_pose', PoseStamped) self.eef_frame = self.side + "_wrist_roll_link" self.reference_frame = "base_link" self.approach_dist = 0.100 self.lift_dist = 0.110 self.step_size = 0.003 self.moveit_cmdr.set_pose_reference_frame(self.reference_frame)
return (contact_point1, contact_point2, normal1, normal2, \\ uncertainty1, uncertainty2) """ # Reference frame reference_frame_id = 'base_link' #services rospy.wait_for_service('tabletop_octomap') rospy.wait_for_service('get_probabilistic_pointcloud') rospy.wait_for_service('plan_point_cluster_grasp') rospy.wait_for_service('set_point_cluster_grasp_params') rospy.wait_for_service('evaluate_point_cluster_grasps') rospy.wait_for_service('find_pretouch') # Controller switcher cm_client = ControllerManagerClient() cm_client.switch_controllers(['r_arm_controller'], ['r_cart']) # MoveIt! Commander moveit_cmd = MoveGroupCommander("right_arm") moveit_cmd.set_pose_reference_frame(reference_frame_id) pose = Pose() pose.position.x = 0.258 pose.position.y = -0.614 pose.position.z = 1.017 pose.orientation.w = 0.720 pose.orientation.x = 0.059 pose.orientation.y = 0.153 pose.orientation.z = 0.674 moveit_cmd.go(pose, wait=True)
def __init__(self, side='r', tf_listener=None, tf_broadcaster=None, ctrl_mng=None, moveit_cmdr=None): if side == "right" or side == "r": self.arm = "right_arm" self.side = "r" elif side == 'left' or side == 'l': self.arm = "left_arm" self.side = "l" else: rospy.logerr("Side " + side + " is not supported") raise self.tf_listener = tf.TransformListener( ) if not tf_listener else tf_listener #init a TF transform broadcaster for the object frame self.tf_broadcaster = tf.TransformBroadcaster( ) if not tf_broadcaster else tf_broadcaster self.ctrl_mng = ControllerManagerClient() if not ctrl_mng else ctrl_mng #the pretouch sensor frame self.pretouch_sensor_frame_id = '/r_gripper_l_finger_tip_pretouch_frame' #Gripper client and open the gripper rospy.loginfo('open the ' + side + '_gripper') self.gripper = Gripper(self.arm) self.gripper.open() #controller_magager_client self.ctrl_mng = ControllerManagerClient() if not ctrl_mng else ctrl_mng self.ctrl_mng.switch_controllers([self.side + '_arm_controller'], [self.side + '_cart']) self.count = 0 #PoseStamped command publisher for jt controller self.pose_pub = rospy.Publisher('/r_cart/command_pose', PoseStamped) self.eef_frame = self.side + "_wrist_roll_link" self.reference_frame = "base_link" # MoveIt! Commander self.moveit_cmd = MoveGroupCommander( self.arm) if not moveit_cmdr else moveit_cmdr self.moveit_cmd.set_pose_reference_frame(self.reference_frame) self.move_arm_to_side() # Move the arm to the sidea self.step_size = 0.0002 self.move_step_mat = np.matrix( translation_matrix(np.array([self.step_size, 0.0, 0.0]))) #pickup action server #self.pickup_client = actionlib.SimpleActionClient('/object_manipulator/object_manipulator_pickup', PickupAction) #rospy.loginfo("waiting for PickupAction Server") #self.pickup_client.wait_for_server() #rospy.loginfo("PickupAction Server Connected") #service client to /add_point service self.add_point_client = rospy.ServiceProxy('add_point', AddPoint) #draw_functions object for drawing stuff in rviz self.draw_functions = draw_functions.DrawFunctions( 'pretouch_executor_markers') #the transform from wrist_frame to the center of the fingers self.gripper_to_r_finger = np.eye(4) self.gripper_to_r_finger[0][ 3] = 0.1615 #x-translation from wrist_frame (0.1615) self.gripper_to_r_finger[1][ 3] = -0.0400 #y-translation from wrist_frame (0.0425) self.gripper_to_l_finger = np.eye(4) self.gripper_to_l_finger[0][ 3] = 0.1615 #x-translation from wrist_frame (0.1615) self.gripper_to_l_finger[1][ 3] = 0.0400 #y-translation from wrist_frame (-0.0425)