Next Article in Journal
Design of a Projectile-Borne Data Recorder Triggered by Overload
Next Article in Special Issue
Center-Articulated Hydrostatic Cotton Harvesting Rover Using Visual-Servoing Control and a Finite State Machine
Previous Article in Journal
A Detection Approach Using LSTM-CNN for Object Removal Caused by Exemplar-Based Image Inpainting
Previous Article in Special Issue
A Novel FastSLAM Framework Based on 2D Lidar for Autonomous Mobile Robot
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Multi-Objective Trajectory Planning Method for Collaborative Robot

1
School of Information and Communication Engineering, Beijing Information Science and Technology University, Beijing 100101, China
2
Department of Aerospace Engineering, Ryerson University, Toronto, ON M5B 2K3, Canada
*
Author to whom correspondence should be addressed.
Electronics 2020, 9(5), 859; https://doi.org/10.3390/electronics9050859
Submission received: 22 April 2020 / Revised: 14 May 2020 / Accepted: 18 May 2020 / Published: 22 May 2020
(This article belongs to the Special Issue Modeling, Control, and Applications of Field Robotics)

Abstract

:
Aiming at the characteristics of high efficiency and smoothness in the motion process of collaborative robot, a multi-objective trajectory planning method is proposed. Firstly, the kinematics model of the collaborative robot is established, and the trajectory in the workspace is converted into joint space trajectory using inverse kinematics method. Secondly, seven-order B-spline functions are used to construct joint trajectory sequences to ensure the continuous position, velocity, acceleration and jerk of each joint. Then, the trajectory competitive multi-objective particle swarm optimization (TCMOPSO) algorithm is proposed to search the Pareto optimal solutions set of the robot’s time-energy-jerk optimal trajectory. Further, the normalized weight function is proposed to select the appropriate solution. Finally, the algorithm simulation experiment is completed in MATLAB, and the robot control experiment is completed using the Robot Operating System (ROS). The experimental results show that the method can achieve effective multi-objective optimization, the appropriate optimal trajectory can be obtained according to the actual requirements, and the collaborative robot is actually operating well.

1. Introduction

Industrial robots have been used widely in industrial production fields. However, with the development of society, traditional industrial robots have been unable to meet people’s needs for safe collaboration and flexible deployment. Robots are required to handle more complex tasks and have more flexible and precise performance [1]. Collaborative robot (cobot) is one of the most popular research directions in the field of robotics [2]. Compared with traditional industrial robots working in fences, collaborative robots can work together with humans and complete various complex tasks in more scenes [3]. Therefore, collaborative robots need to meet two requirements: (1) higher operate efficiency and smooth motion to adapt to the requirements of various complex tasks; (2) a simpler and faster trajectory planning method to facilitate human-robot collaboration.
Trajectory planning refers to planning the trajectory of end-effector and joints of the robot in order to generate the reference input of the control system [4]. Firstly, the robot uses the interpolation algorithm to establish the time-trajectory sequence of each axis, including the trajectory position, speed, acceleration and jerk information. Then, under the constraints of kinematic performance of the robot, trajectory optimization is performed for efficiency, energy consumption, smoothness and other factors [5]. Different optimization schemes are selected according to the actual task situation.
In the research of trajectory interpolation, early researchers proposed a quintic polynomial interpolation method [6] for trajectory interpolation. This method has a small amount of calculation, but it is prone to distortion. With the enhancement of hardware performance, researchers began to use spline curve to do robot trajectory planning. Alessandro et al. [7] proposed a trajectory planning method of cubic spline curve. This algorithm has fewer constraints and a faster calculation speed, but the acceleration curve has jitter, resulting in greater wear of the robot. Kong et al. [8] proposed cubic b-spline trajectory interpolation, the trajectory curve is relatively smooth, but the initial and final acceleration and jerk cannot be specified by themselves. Kong et al. [8] proposed a cubic b-spline trajectory interpolation method, which obtained a relatively smooth trajectory curve, but could not independently specify the initial and final values of acceleration and jerk.
In the research of trajectory optimization, researchers mainly focus on the optimization of time, energy consumption, and smoothness [9]. Xidias et al. [10] used a genetic algorithm with multiple populations to perform time-optimal trajectory planning for super-redundant manipulators. Luo et al. [11] used Lagrange interpolation and iterative methods for energy optimal trajectory planning. Lin et al. [12] used particle swarm optimization and clustering algorithms for jerk optimal trajectory planning. However, the above single-objective trajectory optimization is difficult to meet the application requirements of complex situations, many researchers begin to pay attention to multi-objective trajectory optimization. The traditional method transforms the multi-objective problem into the single-objective problem, and then uses the single-objective optimization method. Gasparetto et al. [13] transformed the time-jerk objective into a single objective using weight coefficients, and used sequence quadratic programming (SQP) to achieve trajectory optimization. However, this method is difficult to distribute weights reasonably, the diversity of solutions is insufficient, and it may fall into a local optimal solution. For the above problems, multi-objective evolutionary algorithm is an effective method. The multi-objective optimization algorithm can simultaneously optimize multiple objectives to obtain a set of Pareto optimal solutions, and then select the appropriate solution according to the specific situation. In Reference [14], the NSGA-II algorithm was used to obtain a set of Pareto optimal solutions, and an appropriate solution was selected for trajectory optimization.
Based on the above research, this paper proposed a simple and effective multi-objective trajectory planning method. In this paper, the higher-order B-spline interpolation method is chosen to replace the traditional interpolation method, so that the planned trajectory is smoother. Then, we selected three crucial objectives in the operation of the robot, and used the improved multi-objective optimization algorithm proposed in this paper to obtain the Pareto optimal solution set. For different scenarios (such as human-robot collaboration), this paper proposed the normalized weight function that can set different weight coefficients and select the most appropriate solution in the optimal solution set. Finally, in order to verify the effect of the method, we designed a trajectory editing software and imported the optimized trajectory into ROS system for actual control of the robot. The experimental results show that the obtained trajectory can make the robot run well. And the method can be easily used in various types of robot manipulators.
The rest of the paper is organized as follows. Section 2 conducts kinematic analysis of collaborative robots. Section 3 constructs a time-energy-jerk optimization mathematical model, uses seven-order B-spline functions for joint trajectory interpolation, and designs trajectory competitive multi-objective particle swarm optimization (TCMOPSO) for trajectory optimization. Section 4 completes the experiment of multi-objective trajectory planning. Section 5 is the summary and prospect of the work.

2. Kinematics Analysis of Collaborative Robot

2.1. Collaborative Robot Modeling

This section models the collaborative robot AUBO-I5 in the laboratory and performs forward and inverse kinematic analysis. AUBO-I5 [15] is a lightweight collaborative robot with six rotating joints, including base, shoulder, elbow and three wrist joints. The structure and dimensions of the robot are shown in Figure 1.
The modified Denavit–Hartenberg (DH) method [16] was used to establish the kinematics model of the robot, as shown in Table 1.
In addition, in order to ensure that the performance index of the robot is met during operation, the kinematic constraints of each joint of the robot are given, as shown in Table 2.
The robot toolbox [17] in MATLAB was used to model aubo-i5, as shown in Figure 2.

2.2. Forward Kinematics Analysis

Forward kinematics is to obtain the end-effector pose relative to the base using the geometric parameters and joint coordinates of the robot. According to the relative relation between link i and link i + 1 of the robot, its relative pose is expressed by 4 × 4 transformation matrix. Using the improved DH parameters in Table 1, the transformation matrix of each link can be obtained as follows,
T 1 0 = [ c 1 s 1 s 1 c 1 0 0 0 0 0   0 0   0   1 d 1 0 1 ]   T 2 1 = [ c 2   s 2 0   0 0 0 1 d 2 s 2   c 2   0 0   0   0 0   1 ]   T 3 2 = [ c 3 s 3 s 3 c 3 0   a 2 0   0 0   0 0   0   1 d 3 0 1 ] T 4 3 = [ c 4 s 4 s 1 c 4 0   a 3 0   0 0   0 0   0   1 d 4 0 1 ]   T 5 4 = [ c 5 s 5 0 0 0 0 1 d 5 s 5 c 5 0   0   0   0 0   1 ]   T 6 5 = [ c 6 s 6 0 0 0 0 1 d 6 s 6   c 6 0   0   0   0 0   1 ]
where T i + 1 i is the transformation matrix between adjacent links, si is sinθi, and ci is cosθi.
Multiply each link matrices of aubo-i5 as;
T 6 0 =   T 1 0 ( θ 1 )   T 2 1 ( θ 2 )   T 3 2 ( θ 3 )   T 4 3 ( θ 4 )   T 5 4 ( θ 5 )   T 6 5 ( θ 6 )  
and the forward kinematics equation is given by:
T 6 0 = [ r 11 r 12 r 21 r 22 r 13 p x   r 23 p y   r 31 r 32 0   0   r 33 p z 0 1   ]
where
r11 = c1[(c2c3 + s2s3)(c4c5c6s4s6) − (s4c5c6 + c4s6)(s2c3c2s3)] + s1s5c6
r12 = −c1[(c2c3 + s2s3)(c4c5c6 + s4c6) − (s2c3c2s3)(s4c5c6c4c6)] − s1s5s6
r13 = c1[(c2c3 + s2s3)c4s5s4s5(s2c3c2s3) − s1c5
r21 = s1[(c2c3 + s2s3)(c4c5c6s4s6) − (s4c5c6 + c4s6)(s2c3c2s3)] − c1s5c6
r22 = −s1[(c2c3 + s2s3)(c4c5c6 + s4c6) − (s2c3c2s3)(s4c5c6c4c6)] + c1s5s6
r23 = s1[(c2c3 + s2s3)c4s5s4s5(s2c3c2s3) + c1c5
r31 = (c2s3s2c3)(c4c5c6s4s6) − (s2s3 + c2c3)(s4c5c6c4s6)
r32 = − (c2s3s2c3)(c4c5s6 + s4c6) + (s2s3 + c2c3)(s4c5c6c4c6)
r33 = (c2s3s2c3)c4s5s4s5(s2s3 + c2c3)
p x = c 1 [ ( c 2 c 3 + s 2 s 3 ) ( c 4 s 5 d 6 s 4 d 5 + a 3 ) ( s 2 c 3 c 2 s 3 ) ( s 4 s 5 d 6 c 4 d 5 ) ] + c 2 a 2 ] s 1 ( c 5 d 6 + d 4 + d 2 d 3 )
p y = s 1 [ ( c 2 c 3 + s 2 s 3 ) ( c 4 s 5 d 6 s 4 d 5 + a 3 ) ( s 2 c 3 c 2 s 3 ) ( s 4 s 5 d 6 c 4 d 5 ) ] + c 2 a 2 ] + c 1 ( c 5 d 6 + d 4 + d 2 d 3 )
p z = ( c 2 s 3 s 2 c 3 ) ( c 4 s 5 d 6 s 4 d 5 + a 3 ) ( s 2 s 3 + c 2 c 3 ) ( s 4 s 6 d 6 + c 4 d 5 ) s 2 a 2 + d 1

2.3. Inverse Kinematic Analysis

Inverse kinematics is to obtain the joint coordinates using the geometric parameters and end-effector pose relative to the base of the robot [18]. In this paper, the method in [19] is used to multiply and invert the transformation matrix above to calculate the joint coordinates as:
θ 1 =   ± arctan ( d 6 ( r 13 d 6 p x ) 2 + ( p y r 23 d 6 ) 2 d 2 2 )   arctan ( p y r 23 d 6 r 13 d 6 p x )
θ 2 =   arctan { [ X s 3 a 3 + Y ( a 2 + a 3 c 3 ) ]   /   [ X ( a 2 + a 3 c 3 ) Y s 3 a 3 ] }
θ 3 =   ± arccos [ ( X 2 + Y 2 a 3 2 a 2 2 )   /   2 a 2 a 3 ]
θ 4 =   arctan [ ( c 1 s 23 r 13 s 1 s 23 c 1 c 23 r 33 )   /   ( c 1 c 23 r 23 + s 1 c 23 r 23 s 23 r 33 ) ]
θ 5 =   ± arccos ( s 1 r 13 + c 1 r 23 )
θ 6 =   arctan [ ( s 1 r 11 c 1 r 12 ) / ( c 1 r 22 s 1 r 21 ) ]
where s23 is sin(θ2θ3), c23 is cos(θ2θ3) and X, Y are:
X = d 5 [ s 6 ( c 1 r 11   + s 1 r 21 ) + c 6 ( c 1 r 12   + s 1 r 22 ) ] d 6 ( c 1 r 13   + s 1 r 23 ) + c 1 p x   + s 1 p y
Y = d 5 ( s 2 r 31 + c 5 r 32 ) d 6 r 33 + p z d 1
Both θ3 and θ5 have positive and negative solutions, indicating that there are different joint coordinates for the same end-effector pose.

3. Multi-Objective Trajectory Planning

3.1. Problem Statement

From the initial pose to the final pose, the trajectory sequence Ti of the end-effector is obtained. Use the above inverse kinematics method to calculate the position-time sequence as:
Q = { ( q i j , t i ) | i = 0 , 1 , n , j = 1 , 2 , N }
where n + 1 is the number of time nodes, N is the number of joints, qij is the position of joint j and time i.
In addition, in order to make the movement of each trajectory position smooth transition, a specific curve is used for interpolation. Construct a trajectory function with time on the horizontal axis and position on the vertical axis.
On the premise of satisfying the performance constraints, the trajectory function is optimized from three aspects: operating efficiency, energy consumption, and operating smoothness. For these three aspects, three optimization goals need to be defined, which can be considered as following:
  • Improving the operating efficiency of the robot can be achieved by reducing the overall operating time;
  • Reducing energy consumption of the robot can be achieved by reducing the average acceleration of each joint. Because the average acceleration is related to the torque, which is related to the energy consumption of the motor;
  • Improving the smoothness of the robot can be achieved by reducing the average jerk, because the average jerk represents the speed of torque change. A smaller jerk can make the torque change smoother.
Therefore, we define three optimization goals: total motion time S1, average acceleration S2, and average jerk S3, which respectively correspond to the optimization in the above three aspects. Meanwhile, define each time interval Δti as the optimization variable, and the maximum velocity, vjmax, acceleration ajmax and jerk jjmax of each joint as constraints;
S 1 = i = 1 n Δ t i = T
S 2 = m = 1 M 1 T 0 T a i 2 d t
S 3 = m = 1 M 1 T 0 T j 2 d t
{ g 1 = | v i j | v j m a x 0 g 2 = | a i j | a j m a x 0 g 3 = | j i j | j j m a x 0
where vij, aij, jij are respectively the velocity, acceleration and jerk of joint j and time i.
For the above multi-objective optimization problem, the three optimization goals are contradictory, and it is impossible to achieve the optimal simultaneously. Generally speaking, the multi-objective optimization algorithm can be used to obtain an optimal solution set instead of an optimal solution, and the solutions in the solution set cannot be compared with each other [20]. These solutions, while improving any objective function, necessarily weaken at least one other objective function. These solutions are called Pareto solutions, and the set of optimal solutions for a set of objective functions is called Pareto optimal solution sets [21].
In this paper, the multi-objective optimization algorithm is used to solve the multi-objective optimization problem satisfying the constraint conditions, and Pareto optimal solution set of joint trajectories is generated.

3.2. Joint Trajectory Constructed Based on B-Spline

The B-spline curve [22] is used to construct the joint trajectory of the manipulator, which is uniformly described as:
p ( u ) = i = 0 n d i N i , k ( u )
where di is the control vertex, N i , k ( u ) is the k order standard B−spline basis function, u = [ u 0 , u 1 , , u n + 2 k ] is the node vector, and p(u) is the joint position at node u.
In order to interpolate the trajectory, the segment connection points of the trajectory curve correspond to the nodes in the B-spline definition domain, and the first and last points are consistent with the first and last data points. Using the accumulative chord length parameterization method to normalize the time node ti to get the inner node value;
u i = u i 1 + | Δ t i k 1 | / j = 0 n 1 Δ t j ,   i = k + 1 , , n + k 1
where Δ t k = t k + 1 t k   ( k = 0 , 1 , , n 1 ) is the chord length.
The n + 1 equation satisfying the interpolation condition is given by:
p ( u i + k ) = j = i i + k d j N j , k ( u i + k ) = P i
where u i + k [ u k , u n + k ] , i = 0,1,...,n.
Therefore, k − 1 additional conditions are required to invert the control vertex di. For the seven-order B-spline curve, 6 tangent boundary conditions are added:
{ p ( u ) | u = u 7 = v s , p ( u ) | u = u n + 7 = v e p ′′ ( u ) | u = u 7 = a s , p ′′ ( u ) | u = u n + 7 = a e p ′′′ ( u ) | u = u 7 = j s , p ′′′ ( u ) | u = u n + 7 = j e
where p(u), p′′(u), p′′′(u) are respectively 1, 2, 3 derivative vectors of B−spline. vs, ve, as, ae, js, je are respectively the velocity, acceleration and jerk at the first and last point of the curve trajectory. According to the requirements of robot trajectory planning, the six parameters are defined as 0.
The above derivative vectors can be expressed as:
p r ( u ) = j = i k i r d j r N j , k r ( u ) , u [ u i , u i + 1 ]
where the d j r is given by
d j l = { d j ,   l = 0 ( k l + 1 ) d j + 1 l 1 d j l 1 u j + k + 1 l u j ,   l = 1 , 2 , , r j = i k ,   i k + 1 , , i r
In addition, the B-spline curve has a convex hull property, so the constraints of the B-spline control vertex are equal to the maximum velocity vjmax, acceleration ajmax, and jerk jjmax of each joint of the robot:
{ max { | d i j 1 | } v j m a x   ,   i = 1 , 2 , , n + k 1 max { | d i j 2 | } a j m a x   ,   i = 1 , 2 , , n + k 1 max { | d i j 3 | } j j m a x   ,   i = 1 , 2 , , n + k 1
where d i j 1 , d i j 2 and d i j 3 are respectively the control vertex of the joint j and point i in the velocity, acceleration and jerk curve.
According to the above process, the control vertices are obtained, and then the trajectory interpolation of the B-spline is completed.

3.3. Trajectory Competitive Multi-Objective Particle Swarm Optimization

Multi-objective particle swarm optimization (MOPSO) [23] is a swarm intelligence algorithm, which simulates the foraging behavior of birds to search the solution space. The algorithm has the advantages of simple structure and fast convergence speed. The basic idea is that there are N particles forming a population in the D-dimensional search space, wherein the particle i is X i = ( x i 1 , x i 2 , , x i D ) T , which represents a potential solution of the problem. The velocity of the particle i is V i = ( V i 1 , V i 2 , , V i D ) T , the individual extreme value is P i = ( P i 1 , P i 2 , , P i D ) T , and the population extreme value of the population is P g = ( P g 1 , P g 2 , , P g D ) T . Particles update their own speed and position through individual extreme values and group extreme values:
{ V i d k + 1 = ω V i d k + c 1 r 1 ( P i d k X i d k ) + c 2 r 2 ( P g d k X g d k )   V i d k + 1 = V i d k + V k + 1 i d d = 1 , 2 , , D , i = 1 , 2 , , n
where ω is the inertia weight, k is the current iteration number, Vid is the particle speed, c1 and c2 are the acceleration factors, r1 and r2 are random numbers between (0, 1).
However, when dealing with complex optimization problems, due to the characteristics of fast convergence, the algorithm is easy to fall into the local optimal and the diversity is poor. In order to solve the above problems, Zhang [24] proposed a competition multi-objective particle swarm optimization (CMOPSO), which adopted the elite strategy in NSGA-II [25] algorithm to update the particles. The algorithm flow is shown in Figure 3.
This paper uses this algorithm to optimize the trajectory. However, the algorithm is an unconstrained search mechanism, which needs to be improved by adding constraints when applied to constrained multi-objective optimization problems. In this paper, the feasibility rules in NSGA-II [25] are used to calculate the constraint violation of particle x in constraint j:
G j = { max { g j ( x ) , 0 } ,   1 j q max { | h j ( x ) | δ , 0 } ,   q + 1 j m
where gj(x) is the inequality constraint, hj(x) is the equality constraint, and δ is the tolerance parameter of the equality constraint, which is defined as a specific value (generally set to 0.0001). The total constraint violation of particle x is:
v ( x ) = j = 1 m G j ( x )
According to the constraint violation of particle x, the non-dominated ranking with feasibility rules is adopted in the step of elite particles selection. Determine the dominance relationship of the two particles according to the following feasibility rules:
  • xi is feasible solution, xj is infeasible solution, then choose xi;
  • xi and xj are both feasible solutions, xi has better objective function, then choose xi;
  • xi and xj are both infeasible solutions, xi has smaller constraint violation, then choose xi.
In this paper, CMOPSO is combined with the feasibility rules and kinematic constraints to obtain the trajectory competition multi-objective particle swarm optimization (TCMOPSO). The algorithm can be widely used in robot multi-objective trajectory optimization. Taking the time interval of the trajectory sequence as the decision variable, Equations (25)–(27) as the optimization objectives, and Equation (28) as the constraint conditions, the basic process of using TCMOPSO for trajectory optimization is as follows:
(1)
Parameter setting: trajectory-time sequence and kinematic constraints of each joint are known; set the range of decision variables (the minimum value is obtained according to known conditions, the maximum value is user-defined); set the population size N, the maximum iterations number GEN.
(2)
Initialization: randomly generate particle position set P and particle velocity set V.
(3)
Competitive learning: The elite particle set L is obtained through non-dominated ranking. For each particle p in P, pick any two particles a and b in L to match and compete, then update the position and speed of particle p according to the winner. Add the updated p to P’, and perform polynomial mutation on P’.
(4)
Natural selection: Natural selections for P and P ’to get a new P.
(5)
Repeat (3) and (4) until the number of iterations gen reaches the maximum iterations number GEN.
Through the above steps, Pareto optimal solution satisfying kinematic constraints is obtained, and the multi-objective trajectory optimization of the robot is completed.

4. Experiment

4.1. Trajectory Interpolation

In order to verify the effectiveness of the proposed multi-objective trajectory planning method, the collaborative robot AUBO-I5 is used for the experiment. Firstly, define a space trajectory arbitrarily, and use inverse kinematics algorithm to convert it into joint space trajectory, as shown in Table 3.
After obtaining the robot trajectory in Table 3, the interpolation function is used to construct the time-joint sequence. The trajectory to be planned by the collaborative robot is relatively complex, and it requires higher accuracy and stability. It is necessary to select an interpolation function suitable for the collaborative robot. In recent years, some researchers have used B-spline functions to interpolate robots, for example, quintic B-spline functions are used to interpolate trajectories [26]. However, this method has the disadvantage that the jerk value at the beginning and the end cannot be specified. For collaborative robots, the unsmooth jerk value may cause a sudden change in torque, which threatens the safety of the collaborators.
Select the trajectory of the robot joint 4, use cubic spline curve [7], quintic B-spline curve [26] and seven-order B-spline curve to construct the trajectory curve. Compare the jerk curves obtained by the three methods, as shown in Figure 4.
It can be seen from Figure 4 that the jerk curve of the cubic spline is not continuous. The jerk curve of the quintic B-spline is not smooth and the value at the beginning and the end are not 0. The operation time of the three methods in MATLAB is compared, as shown in Table 4.
The calculation times of the three methods in MATLAB are all small enough, so it is no computational burden to choose high-order B-spline for trajectory interpolating. In this paper, the seven-order B-spline function is used to set the first and last trajectories, acceleration, and jerk to 0, to ensure the continuity of speed, acceleration, and jerk. In this paper, the seven-order B-spline function is used to construct the trajectory equation, and the velocity, acceleration and jerk value of the first and last are all set to 0.

4.2. Trajectory Optimization

After constructing the joint trajectory curve, the time interval of the trajectory is used as the decision variable, and the optimal variable value is selected by the optimization algorithm. The time interval of the joint sequence is used as the decision variable. The upper bound of the decision variable is six, and the lower bound is calculated. The population size is set to 100 and the maximum evolutionary algebra is 10,000 generations.
Figure 5 shows the Pareto front obtained by the algorithm proposed in this paper. The solution closer to A has the better energy and jerk performance, and the worse time performance. In contrast, the solution closer to B has the better time performance, and the worse energy and jerk performance. Therefore, energy is positively correlated with jerk performance and negatively correlated with time performance.
The objective function of each point is shown in Table 5. Both A and B are close to the boundary of the constraint. The optimal solution obtained by the algorithm proposed in this paper covers the whole solution space well.
Several popular multi-objective optimization algorithms are added with the kinematic constraints of the collaborative robot. Figure 6 shows the Pareto front obtained by these multi-objective optimization algorithms.
For the trajectory optimization problem, the solution set obtained by MOPSO [23] has some disconnections. The solution set obtained by NSGAII [25] and SPEA2 [27] does not cover the entire solution space. The range of solution set obtained by MOEA/D [28] is relatively small. Compared with these algorithms, the solution set obtained by the algorithm proposed in this paper is more uniformly distributed and has better continuity.
In the actual robot operation, three objectives should be considered comprehensively to obtain the required solution. For some specific scenarios and tasks, such as human-robot collaboration, the maximum velocity, acceleration and jerk are required to set in particular values to meet the actual needs. The optimal objective values need to satisfy the specified maximum range simultaneously.
This paper defines the normalized weight function and sets the weight coefficients for the three objectives.
f = σ 1 S 1 S 1 m i n S 1 m a x S 1 m i n + σ 2 S 2 S 2 m i n S 2 m a x S 2 m i n + σ 3 S 3 S 3 m i n S 3 m a x S 3 m i n
where σ1, σ2 and σ3 are the weight coefficients of each objective function, and S1max and S1min are the maximum and minimum values of objective S1. The function maps the three objectives values to the interval [0,1], and then multiplies the customized weight coefficient to obtain the actual optimal solution. In brief, if higher efficiency is required, give σ1 a larger value. If a lower energy consumption and a higher smoothness are required, give σ2 and σ3 larger values. This paper conducts experiments on several sets of typical weight coefficients, as shown in Table 6. Further, the results C to G are shown in Figure 5.
In some human-robot collaboration scenarios, the safety of collaborators must be carefully considered. Under the premise of ensuring the operation efficiency, more consideration is given to the stability and smoothness to ensure the smooth progress of human-robot collaboration. Therefore, the solution at point F is adopted as the optimal solution in this paper. The optimal objective value is [9.8286, 8.0456, 36.1065], and the optimal time node is [0, 1.7779, 2.9080, 4.7470, 5.9863, 7.0328, 8.5141, 9.8286]. The trajectory-time curves of each joints are shown in Figure 7.
The velocity, acceleration and jerk curves of each joints are shown in Figure 8. The curves are continuous and smooth, with no shocks or sudden changes. The range of the maximum and minimum values are consistent with the kinematic constraints of the robot. In addition, the value of velocity, acceleration and jerk at the beginning and the end are all 0. It will not cause a sudden change of torque, which meets the needs of collaborative robot operation.
For collaborative robots, the operation safety of collaborators during operation is particularly important. The trajectory constructed by the algorithm proposed in this paper makes the robot running process more efficient and stable. The possibility of abnormal situations is reduced, and the safety of collaborators is well guaranteed. In addition, the robot’s reducer, motor and other components are well protected, which is beneficial to extend the service life.

4.3. Collaborative Robot Control

The ROS system is a system framework developed for robots, based on the Ubuntu system environment [29]. The ROS system uses the TCP/IP to connect to the controller of the collaborative robot, and transmits trajectory planning data in real time [30]. MoveIt is a robot simulation control software in the ROS system, which can build a robot model and make motion planning for the robot. Establish the kinematics model of the AUBO-I5 in MoveIt, as shown in Figure 9.
In order to quickly generate Cartesian space trajectories for collaborative robots, a trajectory editor software was designed. As shown in Figure 10. The editor can input end-effector position and pose to insert trajectory points. The trajectory points are listed in the table, and the generated trajectory list can be edited. In addition, the editor displays the designed trajectory in three dimensions for easy adjustment. The trajectory editing tool is based on a web page. The interface is simple, and it can be used across platforms to meet various scenarios of collaborative robot operation.
The joint trajectory information is transferred to the ROS system, and ROS node information is released. Use MoveIt to load the trajectory time node, position, speed, acceleration and other information to control the collaborative robot in real time. The experiment proves that the collaborative robot runs smoothly without vibration or other conditions, as shown in Figure 11.

5. Conclusions

This paper proposed a trajectory planning method for collaborative robots. The seven order B-spline is utilized to construct a continuous trajectory to ensure the continuous position, velocity, acceleration and jerk of each joint. Then, we proposed a trajectory competitive multi-objective particle swarm optimization (TCMOPSO) algorithm to optimize the joint trajectory to obtain the Pareto optimal solution set. For different scenarios and tasks, we proposed the normalized weight function, which can be used to select the most suitable solution from the solution set. Finally, we design a trajectory editor software to generate Cartesian space trajectories and use the method proposed in this paper to conduct actual robot control experiments. The experimental results show that the obtained trajectory is smooth and controllable. The algorithm proposed in this paper can be widely used in various collaboration robots, and provide ideas for the study of trajectory planning algorithms.
In future work, we are planning to improve the method proposed in this paper so that it can be used in more scenarios and tasks. In addition, we will continue to research the motion planning of collaborative robots, include how to avoid obstacles and collaborate with humans safely. This paper does not consider the dynamics and robot pose accuracy, which are very important in human-robot collaboration. We need to control the robot torque precisely to ensure the smooth completed of the task and the safety of human beings.

Author Contributions

Conceptualization, J.L. and Y.X.; methodology, J.L.; software, J.L.; validation, J.L. and Y.X.; formal analysis, J.L.; writing—original draft preparation, J.L.; writing—review and editing, J.L., Y.X., M.C. and G.L.; supervision, Y.X.; project administration, J.L. All authors have read and agreed to the published version of the manuscript.

Funding

This work is supported by Beijing Natural Science Foundation (Grant No.4192023 and 4202024); Natural Science Foundation of China (Grant NO.61603047); the Qin Xin Talents Cultivation Program of Beijing Information Science and Technology University (Grant No. QXTCPC201704).

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Li, T.; Zhang, Y.; Zhou, J.; Ma, B.; Dui, G.; Yang, S.; Xin, L. Trajectory Planning of High Precision Collaborative Robots. CMES Comput. Model. Eng. Sci. 2019, 118, 583–598. [Google Scholar] [CrossRef]
  2. Zanchettin, A.M.; Rocco, P.; Chiappa, S.; Rossi, R. Towards an optimal avoidance strategy for collaborative robots. Robot. Comput. Manuf. 2019, 59, 47–55. [Google Scholar] [CrossRef]
  3. Kanazawa, A.; Kinugawa, J.; Kosuge, K. Adaptive Motion Planning for a Collaborative Robot Based on Prediction Uncertainty to Enhance Human Safety and Work Efficiency. IEEE Trans. Robot 2019, 35, 817–832. [Google Scholar] [CrossRef]
  4. Abbasnejad, G.; Yoon, J.; Lee, H. Optimum kinematic design of a planar cable-driven parallel robot with wrench-closure gait trajectory. Mech. Mach. Theory 2016, 99, 1–18. [Google Scholar] [CrossRef]
  5. Schuetz, C.; Baur, J.; Pfaff, J.; Buschmann, T.; Ulbrich, H. Evaluation of a Direct Optimization Method for Trajectory Planning of a 9-DOF Redundant Fruit-Picking Manipulator. In Proceedings of the 2015 IEEE International Conference on Robotics and Automation, Seattle, WA, USA, 26–30 May 2015. [Google Scholar]
  6. Duditza, F.; Diaconescu, D.; Gogu, G. Structural and Geometrical Systematization of Spatial Positioning Kinematic Chains Employed in Industrial Robots; Springer: Berlin/Heidelberg, Germany, 1987. [Google Scholar]
  7. Gasparetto, A.; Zanotto, V. A technique for time-jerk optimal planning of robot trajectories. Robot. Comput. Manuf. 2008, 24, 415–426. [Google Scholar] [CrossRef]
  8. Kong, M.-X.; Ji, C.; Chen, Z.; Li, R.-F. Smooth and near time-optimal trajectory planning of robotic manipulator with smooth constraint based on cubic B-spline. In Proceedings of the 2013 IEEE International Conference on Robotics and Biomimetics (ROBIO), Shenzhen, China, 12–14 December 2013. [Google Scholar]
  9. Bureerat, S.; Pholdee, N.; Radpukdee, T.; Jaroenapibal, P. Self-adaptive MRPBIL-DE for 6D robot multiobjective trajectory planning. Expert Syst. Appl. 2019, 136, 133–144. [Google Scholar] [CrossRef]
  10. Xidias, E.K. Time-optimal trajectory planning for hyper-redundant manipulators in 3D workspaces. Robot. Comput. Manuf. 2018, 50, 286–298. [Google Scholar] [CrossRef]
  11. Luo, L.-P.; Yuan, C.; Yan, R.-J.; Yuan, Q.; Wu, J.; Shin, K.-S.; Han, C.-S. Trajectory planning for energy minimization of industry robotic manipulators using the Lagrange interpolation method. Int. J. Precis. Eng. Manuf. 2015, 16, 911–917. [Google Scholar] [CrossRef]
  12. Lin, H.-I. A Fast and Unified Method to Find a Minimum-Jerk Robot Joint Trajectory Using Particle Swarm Optimization. J. Intell. Robot. Syst. 2013, 75, 379–392. [Google Scholar] [CrossRef]
  13. Gasparetto, A.; Zanotto, V. A new method for smooth trajectory planning of robot manipulators. Mech. Mach. Theory 2007, 42, 455–471. [Google Scholar] [CrossRef]
  14. Shi, X.; Fang, H.; Guo, L. Multi-objective optimal trajectory planning of manipulators based on quintic NURBS. In Proceedings of the 2016 IEEE International Conference on Mechatronics and Automation, Harbin, China, 7–10 August 2016. [Google Scholar]
  15. Yang, L. Research on Modeling and Control Algorithm of AUBO-I5 Manipulator. Master’s Thesis, North University of China, Taiyuan, China, 2019. [Google Scholar]
  16. Siciliano, B.; Sciavicco, L.; Villani, L.; Oriolo, G. Robotics: Modeling, Planning and Control; Springer: London, UK, 2009; pp. 86–88. [Google Scholar]
  17. Corke, P.I. Robotics, Vision & Control; Springer: Berlin/Heidelberg, Germany, 2017. [Google Scholar]
  18. Hoai Nam, H. Robotic Machining: Development and Validation of a Numerical Model of Robotic Milling to Optimise the Cutting Parameters. Ph.D. Thesis, University of British Columbia, Vancouver, BC, Canada, 2019. [Google Scholar]
  19. Paul, R.; Shimano, B. Kinematic control equations for simple manipulators. In Proceedings of the Decision and Control including the 17th Symposium on Adaptive Processes, San Diego, CA, USA, 10–12 January 1979. [Google Scholar]
  20. Sathiya, V.; Chinnadurai, M. Evolutionary Algorithms-Based Multi-Objective Optimal Mobile Robot Trajectory Planning. Robotica 2019, 37, 1363–1382. [Google Scholar] [CrossRef]
  21. Tian, Y.; Cheng, R.; Zhang, X.; Jin, Y. PlatEMO: A MATLAB Platform for Evolutionary Multi-Objective Optimization. IEEE Comput. Intell. Mag. 2017, 12, 73–87. [Google Scholar] [CrossRef] [Green Version]
  22. Wang, H.F.; Zhu, S.Q.; Wu, W.-X. INSGA-II based multi-objective trajectory planning for manipulators. J. Zhejiang Univ. 2012, 46, 622–628. [Google Scholar]
  23. Coello, C.A.C.; Lechuga, M.S. MOPSO: A proposal for multiple objective particle swarm optimization. In Proceedings of the 2002 Congress on Evolutionary Computation, Honolulu, HI, USA, 12–17 May 2002. [Google Scholar]
  24. Zhang, X.; Zheng, X.; Cheng, R.; Qiu, J.; Jin, Y. A competitive mechanism based multi-objective particle swarm optimizer with fast convergence. Inf. Sci. 2018, 427, 63–76. [Google Scholar] [CrossRef]
  25. Deb, K.; Pratap, A.; Agarwal, S.; Meyarivan, T. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 2002, 6, 182–197. [Google Scholar] [CrossRef] [Green Version]
  26. Li, Y.; Huang, T.; Chetwynd, D.G. An approach for smooth trajectory planning of high-speed pick-and-place parallel robots using quintic B-splines. Mech. Mach. Theory 2018, 126, 479–490. [Google Scholar] [CrossRef] [Green Version]
  27. Kim, M.; Hiroyasu, T.; Miki, M.; Watanabe, S. SPEA2+: Improving the Performance of the Strength Pareto Evolutionary Algorithm 2. In Proceedings of the International Conference on Parallel Problem Solving from Nature, Birmingham, UK, 18–22 September 2004. [Google Scholar]
  28. Zhang, Q.; Li, H. MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition. IEEE Trans. Evol. Comput. 2008, 11, 712–731. [Google Scholar] [CrossRef]
  29. Roveda, L.; Pedrocchi, N.; Beschi, M.; Tosatti, L.M. High-accuracy robotized industrial assembly task control schema with force overshoots avoidance. Control. Eng. Pr. 2018, 71, 142–153. [Google Scholar] [CrossRef]
  30. Mokaram, S.; Aitken, J.; Martinez-Hernandez, U.; Eimontaite, I.; Cameron, D.; Rolph, J.; Gwilt, I.; McAree, O.; Law, J. A ROS-integrated API for the KUKA LBR iiwa collaborative robot. IFAC PapersOnLine 2017, 50, 15859–15864. [Google Scholar] [CrossRef]
Figure 1. AUBO-I5 structure diagram.
Figure 1. AUBO-I5 structure diagram.
Electronics 09 00859 g001
Figure 2. Robot model in MATLAB.
Figure 2. Robot model in MATLAB.
Electronics 09 00859 g002
Figure 3. Competition multi-objective particle swarm optimization (CMOPSO) algorithm optimization process.
Figure 3. Competition multi-objective particle swarm optimization (CMOPSO) algorithm optimization process.
Electronics 09 00859 g003
Figure 4. The comparison of three spline method.
Figure 4. The comparison of three spline method.
Electronics 09 00859 g004
Figure 5. Pareto front of the proposed algorithm.
Figure 5. Pareto front of the proposed algorithm.
Electronics 09 00859 g005
Figure 6. Several multi-objective optimization algorithms are used for trajectory optimization, where (a) multi-objective particle swarm optimization (MOPSO), (b) nondominated sorting genetic algorithm II (NSGAII), (c) Strength Pareto Evolutionary Algorithm 2 (SPEA2), and (d) Multi-objective evolutionary algorithm based on decomposition (MOEA/D).
Figure 6. Several multi-objective optimization algorithms are used for trajectory optimization, where (a) multi-objective particle swarm optimization (MOPSO), (b) nondominated sorting genetic algorithm II (NSGAII), (c) Strength Pareto Evolutionary Algorithm 2 (SPEA2), and (d) Multi-objective evolutionary algorithm based on decomposition (MOEA/D).
Electronics 09 00859 g006
Figure 7. Joint trajectory-time sequence.
Figure 7. Joint trajectory-time sequence.
Electronics 09 00859 g007
Figure 8. Velocity, acceleration and jerk curves of each joint, where Figure (af) represent Joint 1 to Joint 6 respectively.
Figure 8. Velocity, acceleration and jerk curves of each joint, where Figure (af) represent Joint 1 to Joint 6 respectively.
Electronics 09 00859 g008
Figure 9. Collaborative robot model in MoveIt.
Figure 9. Collaborative robot model in MoveIt.
Electronics 09 00859 g009
Figure 10. Editor interface.
Figure 10. Editor interface.
Electronics 09 00859 g010
Figure 11. Collaborative robot operation.
Figure 11. Collaborative robot operation.
Electronics 09 00859 g011
Table 1. Modified DH parameters.
Table 1. Modified DH parameters.
Link iai−1 (mm)αi−1 (°)di (mm)θi (°)Range (°)
10098.5θ1±175
20−90121.5θ2±175
34081800θ3±175
43761800θ4±175
50−90102.5θ5±175
609094θ6±175
Table 2. Kinematic constraints.
Table 2. Kinematic constraints.
Link ivmax/((°)·s−1)amax/((°)·s−2)jmax/((°)·s−3)τmax/(N·m)
114814805920376
214814805920376
314814805920376
41781780712066
51781780712066
61781780712066
Table 3. Robot joint space trajectory.
Table 3. Robot joint space trajectory.
NodeJoint 1 (°)Joint 2 (°)Joint 3 (°)Joint 4 (°)Joint 5 (°)Joint 6 (°)
116.99−33.1243.8925.70110.36−25.95
217.23−13.8847.7060.69105.23−28.51
317.88−19.6055.2379.05103.25−16.05
414.39−28.4663.8875.2197.78−5.21
511.25−41.7268.3572.7086.046.50
63.10−45.3472.4167.4579.9412.20
7−20.13−42.6979.6553.5472.7616.24
8−25.78−40.3482.1747.8078.1613.55
Table 4. The operation time of the three methods.
Table 4. The operation time of the three methods.
SplineCubic SplineQuintic B-SplineSeven-Order B-Spline
Time (ms)2.8843.7344.232
Table 5. Comparison of trajectory optimization performance.
Table 5. Comparison of trajectory optimization performance.
ResultS1/sS2/((°)/s2)S3/((°)/s3)
A41.57810.10270.1158
B3.2637468.65234728.5563
Table 6. Comparison of different weight coefficients.
Table 6. Comparison of different weight coefficients.
Resultσ1σ2σ3S1/sS2/((°)/S2)S3/((°)/S3)
C10114.049763.6947466.5722
D5114.462951.5607205.0956
E1115.801716.8444195.3287
F1559.82868.045636.1065
G1101011.42462.599515.8354

Share and Cite

MDPI and ACS Style

Lan, J.; Xie, Y.; Liu, G.; Cao, M. A Multi-Objective Trajectory Planning Method for Collaborative Robot. Electronics 2020, 9, 859. https://doi.org/10.3390/electronics9050859

AMA Style

Lan J, Xie Y, Liu G, Cao M. A Multi-Objective Trajectory Planning Method for Collaborative Robot. Electronics. 2020; 9(5):859. https://doi.org/10.3390/electronics9050859

Chicago/Turabian Style

Lan, Jiangyu, Yinggang Xie, Guangjun Liu, and Manxin Cao. 2020. "A Multi-Objective Trajectory Planning Method for Collaborative Robot" Electronics 9, no. 5: 859. https://doi.org/10.3390/electronics9050859

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop