| 
					
				 | 
			
			
				@@ -36,7 +36,7 @@ class MoveIt_Control: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.home_pose=[] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.hf_num=0#焊缝计数 从0开始 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.hf_fail=[] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        # Init ros config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # Init ros configs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         moveit_commander.roscpp_initialize(sys.argv) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.robot = moveit_commander.RobotCommander() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -141,6 +141,7 @@ class MoveIt_Control: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         #self.hf_num=self.hf_num+1#焊缝计数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return waypoints,trajectory,trajectory_with_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #TODO retime_plan 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def retime_plan(self,traj): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         current_state = self.arm.get_current_state() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -170,7 +171,7 @@ class MoveIt_Control: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return pose 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #TODO move_p_path_constraints     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def create_path_constraints2(self,start_point,end_point,r):#创建路径约束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def create_path_constraints(self,start_point,end_point,r):#创建路径约束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         #计算起点指向终点的向量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         vector = np.array([end_point[0]- start_point[0], end_point[1]- start_point[1], end_point[2]- start_point[2]]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         height = np.linalg.norm(vector)+0.16  #高度延长16cm 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -222,13 +223,13 @@ class MoveIt_Control: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             #起点位置设置为规划组最后一个点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             state = self.arm.get_current_state() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             state.joint_state.position = trajectory[-1].joint_trajectory.points[-1].positions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            path_constraints = self.create_path_constraints2(points[-1],point,rrr)#将当前的点和输入的点(焊缝的起始点)做圆柱轨迹约束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            path_constraints = self.create_path_constraints(points[-1],point,rrr)#将当前的点和输入的点(焊缝的起始点)做圆柱轨迹约束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             #刚开始规划 起点位置设定为当前状态  按理来说是home点  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.go_home() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.home_pose=self.get_now_pose() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             state = self.arm.get_current_state() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            path_constraints = self.create_path_constraints2(self.home_pose,point,rrr)#将当前的点和输入的点(焊缝的起始点)做圆柱轨迹约束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            path_constraints = self.create_path_constraints(self.home_pose,point,rrr)#将当前的点和输入的点(焊缝的起始点)做圆柱轨迹约束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.arm.set_path_constraints(path_constraints)#设定约束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.arm.set_pose_target(point, self.end_effector_link)#设定目标点为传入的点 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -260,9 +261,9 @@ class MoveIt_Control: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 rrr=rrr+0.2#每次增加20厘米半径 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 rospy.loginfo("R值:{}".format(rrr)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if trajectory: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    path_constraints = self.create_path_constraints2(points[-1],point,rrr)#将最后一个点和输入的点(焊缝的起始点)做圆柱轨迹约束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    path_constraints = self.create_path_constraints(points[-1],point,rrr)#将最后一个点和输入的点(焊缝的起始点)做圆柱轨迹约束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    path_constraints = self.create_path_constraints2(self.home_pose,point,rrr)#将最后一个点和起点(焊缝的起始点)做圆柱轨迹约束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    path_constraints = self.create_path_constraints(self.home_pose,point,rrr)#将最后一个点和起点(焊缝的起始点)做圆柱轨迹约束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 self.arm.set_path_constraints(path_constraints)#设定约束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(i>=(b-2)): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     rospy.loginfo("所有移动规划尝试失败 取消路径约束") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -289,6 +290,7 @@ class MoveIt_Control: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         rospy.loginfo("go_home end") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # rospy.sleep(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #TODO go_ready     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def go_ready(self,a=1,v=1): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         rospy.loginfo("go_ready start") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.arm.set_max_acceleration_scaling_factor(a) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -339,7 +341,7 @@ class MoveIt_Control: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rospy.loginfo("*******************") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             #向上移动末端执行器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if i<len(all_data)-1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if i<len(all_data): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 up_value=0.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 point_up=[point22[0], point22[1], point22[2]-up_value, point22[3], point22[4],point22[5],point22[6]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 way_points, trajectory, trajectory_with_type = self.plan_cartesian_path_LLL(point22,point_up,way_points,trajectory,trajectory_with_type,v=speed_v) 
			 |