Patent Publication Number: US-2019184560-A1

Title: A Trajectory Planning Method For Six Degree-of-Freedom Robots Taking Into Account of End Effector Motion Error

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     This application is a national stage application of International application number PCT/CN2017/103078, filed Sep. 25, 2017, titled “A Trajectory Planning Method For Six Degree-of-Freedom Robots Taking Into Account of End Effector Motion Error”, which claims the priority benefit of Chinese Patent Application No. 201710047955.6, filed on Jan. 19, 2017, which is hereby incorporated by reference in its entirety. 
    
    
     TECHNICAL FIELD 
     The invention discloses a trajectory planning method for six degree-of-freedom (DOF) robots taking into account of end effector motion error, and relates to the field of robot motion control. Specifically, the invention involves planning the continuous trajectory of robot end effector by combining the screw theory, the cubic spline interpolation algorithm, and particle swarm optimization algorithm to obtain the objectives of satisfying tracking accuracy requirement, improving planning efficiency, and acquiring smooth motion trajectory. 
     BACKGROUND 
     As one foundation of robot control research, trajectory planning has an important influence on the robot&#39;s comprehensive motion performance. As far as the space planning is concerned, the planning method includes joint space planning and operation space planning. Joint space planning method refers to direct interpolating joint variables, and ultimately establishing the change curve of joint variables with time; however, because it is impossible to predict the trajectory change of the end effector in the process of motion, the joint space planning method is only applicable to simple, point-to-point operation task of the end effector. For operation tasks with continuous trajectory for the end effector, the operation space planning method is needed. Although this method can produce a high tracking accuracy for the notion trajectory, it cannot guarantee the stability of motion. In order to ensure the flexibility of motion on top of tracking the end effector trajectory, some scholars first select the key trajectory points in the operation space that can guarantee the end effector trajectory, subsequently calculate trajectory nodes in each joint space based on the inverse kinematics solution model, and subsequently carry out trajectory planning in the joint space, so as to ensure both the basic end effector trajectory and motion stability. In this kind of method, trajectory planning can only guarantee the position accuracy of key trajectory points, but the tracking error of continuous trajectory caused by joint interpolation is still uncontrollable. 
     In trajectory planning, the more the number of end effector key trajectory points, the more accurate the tracking can be; however, the more key trajectory points there are, the smaller the distances between the joint angles; and the smaller the distance will be, the harder it will be for interpolation algorithm to play a real role in smoothing the trajectory; moreover, the more times of inverse solution, the more complex the trajectory planning calculation becomes, thus reducing the planning efficiency. Secondly, interpolation algorithm not only affects the trajectory curve, but also key parameters (such as time interval) have a certain impact on the tracking accuracy. In order to improve the planning efficiency, this patent establishes the forward and inverse kinematics model based on the screw theory. Compared with the traditional D-H model, the method has the advantages of clear geometric meaning, no singularity, and small computation load. In order to obtain a smooth motion, a cubic spline interpolation algorithm is adopted for joint space trajectory planning, and the angular velocity and angular acceleration obtained by this method are continuous. To minimize the tracking error under the condition of satisfying all requirements, particle swarm optimization algorithm is adopted to optimize the trajectory, which can reduce the tracking error by a combination of obtaining a reasonable number N of key trajectory points and obtaining an appropriate time intervals. 
     SUMMARY 
     The invention discloses a trajectory planning method for six degree-of-freedom (DOF) robots taking into account of end effector motion error. In the method, key trajectory points are obtained at equal intervals of an end effector continuous trajectory; interpolation programming is carried out for the angular positions of each joint obtained by inverse solution of the screw-based kinematics model; at first, take the number of the key trajectory points as variable to control an end effector tracking error within a required range, then take the intervals as design variables, and take maximum angular velocity, angular acceleration and angular jerk of each joint as constraint conditions, take minimum tracking error as the optimization objective to optimize the trajectory so as to obtain the planned trajectory with high planning efficiency, small tracking error and smooth movement. 
     The invention is realized by the following technical means: 
     Step (1), a forward and an inverse kinematics model are established for the robot based on screw theory; 
     Step (2), on the end effector continuous trajectory, take N+1 key trajectory points at equal interval and get N track segments, with N representing the number of track segments; trajectory nodes of each joint are obtained by the inverse kinematics model, a cubic modified spline curve was used for interpolation programming to obtain time-related curves of angular displacement, angular velocity, angular acceleration and angular jerk; 
     Step (3), the tracking error model is established by taking points on the angular displacement curve every 20 milliseconds (ms) and calculating the end effector position through the forward kinematics model; the tracking errors of the end effector position points are calculated; a maximum tracking error max(E m ) was extracted, E m  is track tracking error, m is the number of joint node groups; 
     Step (4), T n  represents a time interval of the track segment n, take T n =t, 1≤n≤N, plan the trajectory and calculate the maximum tracking error max(E m ) following the above steps; if the accuracy requirement max(E m )&lt;E max  is not met, E max  being the maximum tracking error defined according to the operation task, take N+1, and then calculate the error again, loop the calculation until the tracking error meets the condition; time interval t and motion accuracy limit E max  are determined according to specific task requirements; and 
     Step (5), when N is determined, taking the time intervals as the design variable, the angular velocity, angular acceleration and angular jerk of each joints as constraints, and the minimum tracking error as the optimization objective to optimize the trajectory and obtain an optimized trajectory. 
     The characteristic of the invention is: a trajectory planning method for six degree-of-freedom robots taking into accounts of end effector motion error, wherein: key trajectory points are obtained at equal intervals of an end effector continuous trajectory; interpolation programming is carried out for the angular positions of each joint obtained by inverse solution of the spinor kinematics model; at first, take the number of the key trajectory points as variable to control an end effector tracking error within a required range, then take the intervals as design variables, and take maximum angular velocity, angular acceleration and angular jerk of each joint as constraint conditions, take minimum tracking error as the optimization objective to optimize the trajectory so as to obtain the planned trajectory with high planning efficiency, small tracking error and smooth movement. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a diagram showing robots end effector trajectory planning flow chart. 
         FIG. 2  is a diagram showing parametric coordinates of a six DOF industrial robot. 
         FIGS. 3A, 3B, and 3C  are diagrams showing the angular velocity, angular acceleration and angular jerk curves of each joints, respectively 
         FIG. 4  is a diagram showing the end effector tracking error curve. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Embodiment I 
     Overall steps of the current disclosure are shown in  FIG. 1 . 
     Step (1), establishing a forward kinematics model and an inverse kinematics model for the robot based on screw theory. 
     The forward kinematics model: 
     As shown in  FIG. 2 , the position vector r i  and rotation vector ω i  of the No. i joint in the initial state of the robot are known as follows: 
       r 1 =[0 0 0] r 2 =[0 150 250] r 3 =[0 150 800] r 4 =r 5 =r 6 =[0 744 940]  (1)
 
       ω 1 =[0 0 1] ω 2 =[1 0 0] ω 3 =[1 0 0] ω 4 =[0 1 0] ω 5 =[1 0 0] ω 6 =[0 0 1]  (2)
 
     based on screw theory, the transformation matrix between joints can be expressed in exponential form: 
     
       
         
           
             
               
                 
                   
                     exp 
                      
                     
                       ( 
                       
                         
                           
                             ξ 
                             ^ 
                           
                           i 
                         
                          
                         
                           θ 
                           i 
                         
                       
                       ) 
                     
                   
                   = 
                   
                     [ 
                     
                       
                         
                           
                             exp 
                              
                             
                               ( 
                               
                                 
                                   
                                     ω 
                                     ^ 
                                   
                                   i 
                                 
                                  
                                 
                                   θ 
                                   i 
                                 
                               
                               ) 
                             
                           
                         
                         
                           
                             
                               
                                 ( 
                                 
                                   I 
                                   - 
                                   
                                     exp 
                                      
                                     
                                       ( 
                                       
                                         
                                           
                                             ω 
                                             ^ 
                                           
                                           i 
                                         
                                          
                                         
                                           θ 
                                           i 
                                         
                                       
                                       ) 
                                     
                                   
                                 
                                 ) 
                               
                                
                               
                                 ( 
                                 
                                   
                                     ω 
                                     i 
                                   
                                   × 
                                   
                                     v 
                                     i 
                                   
                                 
                                 ) 
                               
                             
                             + 
                             
                               
                                 θω 
                                 i 
                               
                                
                               
                                 ω 
                                 i 
                                 T 
                               
                                
                               
                                 v 
                                 i 
                               
                             
                           
                         
                       
                       
                         
                           0 
                         
                         
                           1 
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
     wherein {circumflex over (ξ)} i  represents No. i joint spinor, θ i  is the No. i angular displacement of joint;
         {circumflex over (ω)} i  is defined as       

     
       
         
           
             
               ω 
               ^ 
             
             = 
             
               [ 
               
                 
                   
                     0 
                   
                   
                     
                       - 
                       
                         ω 
                         3 
                       
                     
                   
                   
                     
                       ω 
                       2 
                     
                   
                 
                 
                   
                     
                       ω 
                       3 
                     
                   
                   
                     0 
                   
                   
                     
                       - 
                       
                         ω 
                         1 
                       
                     
                   
                 
                 
                   
                     
                       - 
                       
                         ω 
                         2 
                       
                     
                   
                   
                     
                       ω 
                       1 
                     
                   
                   
                     0 
                   
                 
               
               ] 
             
           
         
       
     
     by ω i =[ω 1  ω 2  ω 3 ]; so that
         exp({circumflex over (ω)} i θ i )=I+{circumflex over (ω)} i  sin θ i +{circumflex over (ω)} i   2 (1−cos θ i ); v i  is the rotational linear velocity of No. i joint motion, v i =−ω i ×r i ;
 
the forward kinematics model g st (θ) of the robot can be expressed as follows:
       

         g   st (θ)=exp({circumflex over (ξ)} 1 θ 1 )exp({circumflex over (ξ)} 2 θ 2 ) . . . exp({circumflex over (ξ)} 6 θ 6 ) g   st (0)   (4)
 
     The inverse kinematics model: 
     the solution of joint angles is transformed into three Paden-Kahan subproblems; since the position of the robot end effector depends on joint 1, 2 and 3, and the robot&#39;s posture depends on joint 4, 5 and 6; first describe the inverse motion of the first three joints as: end position vector r e  around the joint 1 to rotate −θ 1  to r e1 , then around the joint 2 to rotate −θ 2  to r e2 , then around the joint 3 to rotate −θ 3  to r 5 , so that θ 1 , θ 2  and θ 3  are carried out by the following three expressions, wherein, equation (5) belongs to subproblem 1, while equations (6) and (7) belong to subproblem 3 
       exp({circumflex over (ξ)} 1 θ 1 ) r   e1   =r   e    (5)
 
       ∥ r   e2 −exp({circumflex over (ξ)} 2 θ 2 ) r   e1 ∥=δ 2    (6)
 
       ∥ r   e −exp({circumflex over (ξ)} 3 θ 3 ) r   e2 ∥=δ 3    (7)
 
     wherein r e1  is determined by end effector position vector r e =[x y z]; r e1 =[0 ±√{square root over (x 2 +y 2 )} z], δ 2 , δ 3  is determined distance, δ 2 =∥r e1 −r 2 ∥, δ 3 =∥r e −r 3 ∥;
     next, θ 4 , θ 5  and θ 6  are carried out by the following three expressions, wherein, equation (8) belongs to subproblem 2 and equation (9) belongs to subproblem 1   

       exp({circumflex over (ξ)} 4 θ 4 ) exp({circumflex over (ξ)} 5 θ 5 ) r   04   =g   1   r   04    (8)
 
       exp({circumflex over (ξ)} 6 θ 6 ) r   06   =g   2   r   06    (9)
 
     where r 04  is on rotation axis 6, not on rotation axis 4 and 5, take r 04 =[0 744 0]; r 06  is not on rotation axis 6, take r 06 =[0 150 860]; 
         g   1 =[exp({circumflex over (ξ)} 1 θ 1 ) exp({circumflex over (ξ)} 2 θ 2 ) exp({circumflex over (ξ)} 3 θ 3 )] −1   g   st (θ) g   st (0) −1 ;
 
         g   2 =[exp({circumflex over (ξ)} 4 θ 4 ) exp({circumflex over (ξ)} 5 θ 5 )] −1   g   1 ;
 
     Step (2), obtaining and interpolating the trajectory nodes of each joint, is performed as follows: 
     The continuous trajectory curve of the end effector is defined as follows, whose posture is maintained as Ω=[0 0 1], and the total operation task time T is no greater than 1 minute: 
     
       
         
           
             
               
                 
                   { 
                   
                     
                       
                         
                           x 
                           = 
                           
                             
                               - 
                               850 
                             
                             + 
                             
                               150 
                                
                               cos 
                                
                               
                                   
                               
                                
                               α 
                             
                           
                         
                       
                     
                     
                       
                         
                           y 
                           = 
                           
                             500 
                             + 
                             
                               150 
                                
                               sin 
                                
                               
                                   
                               
                                
                               α 
                             
                           
                         
                       
                     
                     
                       
                         
                           z 
                           = 
                           300 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
     where 0≤α≤360°, in order to take N+1 key trajectory points with equal interval, take α=(360n/N)°, n=0,1,2, . . . N; 
     The obtained end effector posture is substituted into the inverse kinematics model to obtain N+1 joint trajectory nodes; a cubic modified spline curve is used to interpolate the joint trajectory nodes; for a joint, the joint trajectory is divided into N subsegments, angular displacement S n (t), angular velocity S n ′(t), angular acceleration S n ″(t) of the No. n subsegments (t ∈ [t n−1 , t n ]) trajectory can be expressed as follows: 
     
       
         
           
             
               
                 
                   
                     
                       S 
                       n 
                     
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                   = 
                   
                     
                       
                         
                           
                             ( 
                             
                               
                                 t 
                                 n 
                               
                               - 
                               t 
                             
                             ) 
                           
                           3 
                         
                         
                           6 
                            
                           
                             T 
                             n 
                           
                         
                       
                        
                       
                         
                           θ 
                           ¨ 
                         
                         
                           n 
                           - 
                           1 
                         
                       
                     
                     + 
                     
                       
                         
                           
                             ( 
                             
                               t 
                               - 
                               
                                 t 
                                 
                                   n 
                                   - 
                                   1 
                                 
                               
                             
                             ) 
                           
                           3 
                         
                         
                           6 
                            
                           
                             T 
                             n 
                           
                         
                       
                        
                       
                         
                           θ 
                           ¨ 
                         
                         n 
                       
                     
                     + 
                     
                       
                         ( 
                         
                           
                             θ 
                             
                               n 
                               - 
                               1 
                             
                           
                           - 
                           
                             
                               
                                 
                                   θ 
                                   ¨ 
                                 
                                 
                                   n 
                                   - 
                                   1 
                                 
                               
                                
                               
                                 T 
                                 n 
                                 2 
                               
                             
                             6 
                           
                         
                         ) 
                       
                        
                       
                         
                           
                             t 
                             n 
                           
                           - 
                           t 
                         
                         
                           T 
                           n 
                         
                       
                     
                     + 
                     
                       
                         ( 
                         
                           
                             θ 
                             n 
                           
                           - 
                           
                             
                               
                                 
                                   θ 
                                   ¨ 
                                 
                                 n 
                               
                                
                               
                                 T 
                                 n 
                                 2 
                               
                             
                             6 
                           
                         
                         ) 
                       
                        
                       
                         
                           t 
                           - 
                           
                             t 
                             
                               n 
                               - 
                               1 
                             
                           
                         
                         
                           T 
                           n 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   11 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       S 
                       n 
                       ′ 
                     
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                   = 
                   
                     
                       
                         1 
                         
                           2 
                            
                           
                             T 
                             n 
                           
                         
                       
                        
                       
                         [ 
                         
                           
                             
                               ( 
                               
                                 
                                   
                                     θ 
                                     ¨ 
                                   
                                   n 
                                 
                                 - 
                                 
                                   
                                     θ 
                                     ¨ 
                                   
                                   
                                     n 
                                     - 
                                     1 
                                   
                                 
                               
                               ) 
                             
                              
                             
                               t 
                               2 
                             
                           
                           - 
                           
                             2 
                              
                             
                               ( 
                               
                                 
                                   
                                     
                                       θ 
                                       ¨ 
                                     
                                     n 
                                   
                                    
                                   
                                     t 
                                     
                                       n 
                                       - 
                                       1 
                                     
                                   
                                 
                                 - 
                                 
                                   
                                     
                                       θ 
                                       ¨ 
                                     
                                     
                                       n 
                                       - 
                                       1 
                                     
                                   
                                    
                                   
                                     t 
                                     n 
                                   
                                 
                               
                               ) 
                             
                              
                             t 
                           
                           + 
                           
                             
                               
                                 θ 
                                 ¨ 
                               
                               n 
                             
                              
                             
                               t 
                               
                                 n 
                                 - 
                                 1 
                               
                               2 
                             
                           
                           - 
                           
                             
                               
                                 θ 
                                 ¨ 
                               
                               
                                 n 
                                 - 
                                 1 
                               
                             
                              
                             
                               t 
                               n 
                               2 
                             
                           
                         
                         ] 
                       
                     
                     + 
                     
                       
                         
                           θ 
                           n 
                         
                         - 
                         
                           θ 
                           
                             n 
                             - 
                             1 
                           
                         
                       
                       
                         T 
                         n 
                       
                     
                     - 
                     
                       
                         
                           
                             
                               θ 
                               ¨ 
                             
                             n 
                           
                           - 
                           
                             
                               θ 
                               ¨ 
                             
                             
                               n 
                               - 
                               1 
                             
                           
                         
                         6 
                       
                        
                       
                         T 
                         n 
                       
                     
                   
                 
               
               
                 
                   ( 
                   12 
                   ) 
                 
               
             
             
               
                 
                   
                       
                   
                    
                   
                     
                       
                         S 
                         n 
                         ″ 
                       
                        
                       
                         ( 
                         t 
                         ) 
                       
                     
                     = 
                     
                       
                         
                           
                             
                               t 
                               n 
                             
                             - 
                             t 
                           
                           
                             T 
                             n 
                           
                         
                          
                         
                           
                             θ 
                             ¨ 
                           
                           
                             n 
                             - 
                             1 
                           
                         
                       
                       + 
                       
                         
                           
                             t 
                             - 
                             
                               t 
                               
                                 n 
                                 - 
                                 1 
                               
                             
                           
                           
                             T 
                             n 
                           
                         
                          
                         
                           
                             θ 
                             ¨ 
                           
                           n 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   13 
                   ) 
                 
               
             
           
         
       
     
     wherein T n  is the interval of the No. n subsegments; θ n , {dot over (θ)} n , {umlaut over (θ)} n  is angular displacement, angular velocity and angular acceleration of the joint corresponding to time t n , {umlaut over (θ)} n  is calculated by boundary conditions S n (t n−1 )=θ n−1 , S n (t n )=θ n  and S n ′(t n )=S n+1 ′(t n ); 
     Step (3), establishing the end effector tracking error model, is performed as follows: 
     The obtained angular displacement curves of each joint are evaluated every 20 ms to obtain M=T/0.02 sets of joint node groups, and calculating the corresponding terminal posture of each node group through the forward kinematics model as follows: 
         g   m =exp({circumflex over (ξ)} 1 θ 1m ) exp({circumflex over (ξ)} 2 θ 2m ) . . . exp({circumflex over (ξ)} 6 θ 6m ) g   st (0)   (14)
 
     wherein θ 1m  . . . θ 6m  is the No. m joint node group; the corresponding position vector P m  in g m  is extracted and the end effector error model E m  was established as follows, 
         E   m   =∥P   m   −O∥−R    (15)
 
     wherein O is the position vector of the center of the trajectory circle, R is the radius of curvature at each point on the continuous trajectory, R=150 mm; 
     Step (4), determining the number of end key trajectory points n, is performed as follows: 
     take T n =2, trajectory planning for each joint is carried out according to the step 2 for the end effector, solving the end effector maximum error value max(E m ); the task requires the end effector error to meet the following conditions: max(E m )≤E max =1 mm, if the calculation results do not meet the task requirements, increase the number of trajectory point N, continue to plan and calculate the end effector error, and continue the loop of calculation until the end effector tracking accuracy requirements are met, so as to determine N=24. 
     Step (5), optimizing the trajectory with minimizing end effector motion error as the objective function, is performed as follows: 
     obtain the maximum values of the angular velocity, the angular acceleration and the angular jerk of each joint through the step (2) as follows: 
         S′   max =max(|{ S′   n ( t ), 1≤ n≤ 24}|)   (19)
 
         S″   max =max(|{ S″   n ( t ), 1≤ n≤ 24}|)   (20)
 
         S′″   max =max(|{ S′″   n ( t ), 1≤ n≤ 24}|)   (21)
 
     so that the optimization constraint conditions is expressed as follows: 
     
       
         
           
             
               
                 
                   { 
                   
                     
                       
                         
                           1 
                           ≤ 
                           
                             T 
                             n 
                           
                           ≤ 
                           3 
                         
                       
                     
                     
                       
                         
                           
                             S 
                             
                               max 
                                
                               
                                 
                                     
                                 
                                  
                                 
                                     
                                 
                               
                                
                               i 
                             
                             ′ 
                           
                           ≤ 
                           
                             
                               θ 
                               . 
                             
                             
                               max 
                                
                               
                                   
                               
                                
                               i 
                             
                           
                         
                       
                     
                     
                       
                         
                           
                             S 
                             
                               max 
                                
                               
                                 
                                     
                                 
                                  
                                 
                                     
                                 
                               
                                
                               i 
                             
                             ″ 
                           
                           ≤ 
                           
                             
                               θ 
                               ¨ 
                             
                             
                               max 
                                
                               
                                   
                               
                                
                               i 
                             
                           
                         
                       
                     
                     
                       
                         
                           
                             S 
                             
                               max 
                                
                               
                                 
                                     
                                 
                                  
                                 
                                     
                                 
                               
                                
                               i 
                             
                             ′′′ 
                           
                           ≤ 
                           
                             
                               θ 
                               ... 
                             
                             
                               max 
                                
                               
                                   
                               
                                
                               i 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   22 
                   ) 
                 
               
             
           
         
       
     
     wherein the range of time interval T n  is determined according to a specific task, {dot over (θ)} max i , {umlaut over (θ)} max i , and    max i  are the maximum angular velocity, angular acceleration and angular jerk allowed by No. i joint, and the objective optimization function is expressed as, 
       ƒ=min( E   max )   (23)