Next Article in Journal
Multimodal Material Classification Using Visual Attention
Previous Article in Journal
Dense-TNT: Efficient Vehicle Type Classification Neural Network Using Satellite Imagery
Previous Article in Special Issue
Differential Positioning with Bluetooth Low Energy (BLE) Beacons for UAS Indoor Operations: Analysis and Results
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel Multi-Objective Trajectory Planning Method for Robots Based on the Multi-Objective Particle Swarm Optimization Algorithm

by
Jiahui Wang
1,
Yongbo Zhang
1,2,*,
Shihao Zhu
1 and
Junling Wang
3
1
School of Aeronautic Science and Engineering, Beihang University, Beijing 100191, China
2
Aircraft and Propulsion Laboratory, Ningbo Institute of Technology, Beihang University, Ningbo 315100, China
3
School of Reliability and Systems Engineering, Beihang University, Beijing 100191, China
*
Author to whom correspondence should be addressed.
Sensors 2024, 24(23), 7663; https://doi.org/10.3390/s24237663
Submission received: 8 November 2024 / Revised: 25 November 2024 / Accepted: 28 November 2024 / Published: 29 November 2024
(This article belongs to the Special Issue UAV and Sensors Applications for Navigation and Positioning)

Abstract

:
The three performance indexes of the space robot, travel time, energy consumption, and smoothness, are the key to its important role in space exploration. Therefore, this paper proposes a multi-objective trajectory planning method for robots. Firstly, the kinematics and dynamics of the Puma560 robot are analyzed to lay the foundation for trajectory planning. Secondly, the joint space trajectory of the robot is constructed with fifth-order B-spline functions, realizing the continuous position, velocity, acceleration, and jerk of each joint. Then, the improved multi-objective particle swarm optimization (MOPSO) algorithm is used to optimize the trajectory, and the distribution uniformity, convergence, and diversity of the obtained Pareto front are good. The improved MOPSO algorithm can realize the optimization between multiple objectives and obtain the trajectory that meets the actual engineering requirements. Finally, this paper implements the visualization of the robot’s joints moving according to the optimal trajectory.

1. Introduction

With the rapid development of science and technology in today’s world, humankind’s space exploration has shown unprecedented momentum, and space technology has gradually risen to the focus of public attention. Among them, space robots have become indispensable to space activities due to their powerful functions and high adaptability to the space environment. A series of challenging tasks, such as assembling satellite parts, capturing space targets, and monitoring alien spacecraft, cannot be realized without the support of space robots. These tasks and harsh working environments also set higher requirements for space robots’ travel time, energy consumption, and smoothness.
The primary method to improve each performance index is to design and plan the robot’s trajectory rationally. Trajectory planning can be performed both in Cartesian space and in joint space. The latter plans the trajectory of each joint of the robot, which has a small amount of calculation and enables the real-time control of the robot. Trajectory planning can usually be divided into two steps. The first step is to interpolate between given path points using interpolation algorithms to obtain a trajectory-time sequence. The second step is to optimize the trajectory in terms of single or multiple performance indexes within the constraints of the kinematics and dynamics of the robot [1].
The mainstream interpolation algorithms in joint space are polynomial interpolation and spline curve interpolation, and the former is mainly used in early research [2,3,4,5]. To obtain the robot’s trajectory, Ref. [6] used a cubic polynomial to connect the path points. This method is simple to calculate, but the acceleration curve obtained is not continuous, the smoothness could be better, and it tends to cause rigid impacts. Ref. [7] used quintic polynomial interpolation to ensure the continuity of acceleration, but it increased the amount of calculation, and there was still a problem of easy distortion. Compared to the fifth-degree polynomial, the seventh-degree polynomial adds constraints to the jerk at the start and termination points, realizing the continuity of the jerk. However, the eight boundary conditions increase the difficulty of the solution, and the high-order polynomial interpolation may cause the Runge phenomenon [8]. With the deepening of research, some scholars have applied spline curves to the trajectory planning of robots [9,10,11,12,13,14]. Ref. [15] used the fifth-order B-spline curves to interpolate the joint space trajectory, which realized the continuity of the jerk and set the velocity and acceleration at the start and stop time to be 0. When interpolating with seventh-order B-spline curves, it is possible to specify the acceleration at the start and stop time, but the calculation process is complicated [1].
Trajectory optimization mostly takes a single performance index as the optimization objective. Robot efficiency, the shortest time required by the robot to perform a task, was the earliest goal of trajectory planning [16,17,18,19]. Ref. [20] constructed the trajectory with a quintic polynomial and reduced the robot’s travel time by 75.35% through the improved MOPSO algorithm under the constraints of each joint’s angles, velocities, and accelerations. The time-optimal trajectory often leads to a large impact on the robot, affecting its motion accuracy and shortening the service life of the robot structure. Many scholars have solved this problem by optimizing the jerk. Ref. [7] effectively increased the smoothness of the robot by optimizing the maximum value of joint jerks. Ref. [21] combined the PSO algorithm with K-means clustering to achieve a fast solution for joint trajectories with minimal shocks. Energy consumption optimization is also an important issue for robots working in unique environments such as oceans, deserts, and space [22,23,24,25]. Ref. [26] obtained a parameterized dynamic robot model through identification experiments and used a sequential quadratic programming solver to minimize a mechanical energy-based cost function under consideration of physical constraints. These three performance indexes all play an important role in the motion of the space robot, and the single optimization objective ignores the intricate balance between them. Therefore, there are studies on the comprehensive optimization of multiple objectives [27,28,29]. Ref. [30] realized the comprehensive optimization of time, energy, and smoothness by a differential evolution algorithm. Ref. [31] used the NSGA-II algorithm to optimize the same three objectives and obtained Pareto optimal solution sets, thus obtaining the high-order continuous optimal trajectories.
There are few studies on multi-objective optimization problems, so this paper proposes a trajectory planning method that can make the robot’s travel time, energy consumption, and smoothness achieve the integrated optimal state when performing the task. In this paper, continuous and smooth joint space trajectories are constructed using fifth-order B-spline functions, which also realize the specification of the velocity and acceleration of the robot at the start/stop moment. The trajectories are then optimized using the improved MOPSO algorithm to obtain the Pareto optimal solution sets, from which suitable solutions are selected according to practical needs.
The rest of the paper is organized as follows. Section 2 analyzes the kinematics and dynamics of the Puma 560 robot manufactured by Unimation, USA. Section 3 uses fifth-order B-spline curves to construct the joint space trajectories of the robot, builds a mathematical model for the multi-objective optimization problem based on Section 2, and solves the model with the improved MOPSO algorithm. Section 4 performs simulation experiments on multi-objective trajectory planning. Section 5 summarizes this article.

2. Kinematics and Dynamics Analysis

2.1. Kinematics Analysis

This section gives the kinematics model of the Puma560 robot and analyzes its forward and inverse kinematics. The MDH (Modified Denavit–Hartenberg) coordinate system [32] shown in Figure 1 is established on the Puma560 robot with six rotary joints. The link parameters from the MATLAB R2020b Robot Toolbox are shown in Table 1.
The simulation model of the Puma560 robot is established by using the Robot Toolbox in MATLAB, as shown in Figure 2.

2.1.1. Forward Kinematics Analysis

Forward kinematics analysis refers to obtaining the end-effector pose relative to the base according to the angle of each robot joint. The transformation matrix between neighboring links, that is, the coordinate system {i} relative to the coordinate system {i − 1}, can be represented by
T i i - 1 = cos θ i sin θ i cos α i 1 sin θ i sin α i 1 0 sin θ i cos θ i cos α i 1 cos θ i sin α i 1 0 0 sin α i 1 cos α i 1 0 a i 1 sin α i 1 d i cos α i 1 d i 1
Substituting the parameters in Table 1 into (1), the six homogeneous transformation matrixes of the Puma560 robot can be obtained by
T 1 0 = cos θ 1 sin θ 1 0 0 sin θ 1 cos θ 1 0 0 0 0 1 0 0 0 0 1       T 2 1 = cos θ 2 sin θ 2 0 0 0 0 1 d 2 sin θ 2 cos θ 2 0 0 0 0 0 1       T 3 2 = cos θ 3 sin θ 3 0 a 2 sin θ 3 cos θ 3 0 0 0 0 1 d 3 0 0 0 1 T 4 3 = cos θ 4 sin θ 4 0 a 3 0 0 1 d 4 sin θ 4 cos θ 4 0 0 0 0 0 1       T 5 4 = cos θ 5 sin θ 5 0 0 0 0 1 0 sin θ 5 cos θ 5 0 0 0 0 0 1       T 6 5 = cos θ 6 sin θ 6 0 0 0 0 1 0 sin θ 6 cos θ 6 0 0 0 0 0 1 .
The transformation matrixes in (2) can be multiplied together to find the transformation matrix of the end-effector coordinate system {6} relative to the base coordinate system {0}
T 6 0 = T 1 0 T 2 1 T 3 2 T 4 3 T 5 4 T 6 5 = r 11 r 21 r 31 0 r 12 r 22 r 32 0 r 13 r 23 r 33 0 p x p y p z 1
where p x ,   p y ,   p z represent the position of the end-effector, and r 11 ,   r 12 ,   r 13 ,   r 21 ,   r 22 ,   r 23 ,   r 31 ,   r 32 ,   r 33 represent the orientation of the end-effector. These 12 elements are calculated by the joint angles.

2.1.2. Inverse Kinematics Analysis

Inverse kinematics analysis refers to the inverse solution of the angle of each joint by using the end-effector pose relative to the base. Analyzing the structural characteristics of the Puma560 robot, it is easy to know that its last three axes intersect at one point, and the six joints of the robot are all rotary joints. So, the Pieper method [33] can solve the inverse kinematics of the Puma560 robot. When sin θ 5 0 , the joint angles can be obtained by
θ 1 = A tan 2 g 1 y g 2 x g 1 2 + g 2 2 , g 1 x + g 2 y g 1 2 + g 2 2
θ 2 = A tan 2 z ρ 2 , ± 1 z 2 ρ 2 2 A tan 2 f 2 , f 1
θ 3 = A tan 2 C r ρ 3 , ± 1 C r 2 ρ 3 2 A tan 2 a 3 , d 4
θ 4 = A tan 2 x 33 sin ( θ 5 ) , x 13 sin ( θ 5 )
θ 5 = A tan 2 ± x 21 2 + x 22 2 , x 23
θ 6 = A tan 2 x 22 sin ( θ 5 ) , x 21 sin ( θ 5 )
where A tan 2 is predefined in many programming language libraries; its function is to judge the quadrant of the angle according to the positive and negative of x and y while calculating tan 1 y x . Unknown in (4)–(9), such as g 1 ,   g 2 , are the intermediate quantities in the derivation process of the Pieper method, which are defined as
f 1 = a 2 + a 3 c 3 + d 4 s 3 ,   f 2 = a 3 s 3 d 4 c 3 ,   f 3 = d 3
g 1 = f 1 c 2 f 2 s 2 ,   g 2 = f 3 + d 2 ,   g 3 = f 1 s 2 f 2 c 2
r = f 1 2 + f 2 2 + f 3 2 + d 2 2 + 2 f 3 d 2 ,     C = r a 2 2 + a 3 2 + d 4 2 + d 2 2 + d 3 2 + 2 d 2 d 3
x = f 1 c 2 f 2 s 2 c 1 f 3 + d 2 s 1 ,     y = f 1 c 2 f 2 s 2 s 1 + f 3 + d 2 c 1 ,     z = f 1 s 2 f 2 c 2
ρ 2 = f 1 2 + f 2 2 ,     ρ 3 = 2 a 2 a 3 2 + d 4 2
ϕ 2 = A tan 2 f 2 , f 1 ,     ϕ 3 = A tan 2 a 3 , d 4
x 13 = r 13 c 23 c 1 r 33 s 23 + r 23 c 23 s 1 ,     x 21 = r 31 c 23 r 11 c 1 s 23 r 21 s 1 s 23
x 22 = r 32 c 23 r 12 c 1 s 23 r 22 s 1 s 23 ,     x 23 = r 33 c 23 r 13 c 1 s 23 r 23 s 1 s 23 ,     x 33 = r 23 c 1 r 13 s 1
where c i = cos θ i ,   s i = sin θ i ,   s i j = sin θ i + θ j ,   c i j = cos θ i + θ j ,   i , j = 1 , 2 , 3 , 4 , 5 , 6 , and i j .
If sin θ 5 0 and θ 5 = 0 , then the solutions of θ 1 , θ 2 , θ 3 do not change, and θ 4 , θ 5 , θ 6 become
θ 4 = 0
θ 5 = 0
θ 6 = A tan 2 x 12 , x 11
where x 11 = r 11 c 23 c 1 r 31 s 23 + r 21 c 23 s 1 ,   x 12 = r 12 c 23 c 1 r 32 s 23 + r 22 c 23 s 1 .
If sin θ 5 0 and θ 5 = π , then the solutions of θ 1 , θ 2 , θ 3 do not change, and θ 4 , θ 5 , θ 6 become
θ 4 = 0
θ 5 = π
θ 6 = A tan 2 x 12 , x 11

2.2. Dynamics Analysis

The iterative Newton–Euler dynamics algorithm [34] is computationally efficient, suitable for real-time control, and commonly used for modeling robot dynamics. The algorithm is composed of two parts. First, link velocities and accelerations are iteratively calculated from the base. Second, starting from the end-effector, the force and torque of each link are calculated in reverse. The specific iterative calculation process is as follows.
Outward iterations: i : 0 n l 1
w i + 1 i + 1 = R i i i + 1 w i + θ ˙ i + 1 Z ^ i + 1 i + 1
w ˙ i + 1 i + 1 = R i i i + 1 w ˙ i + R i i i + 1 w i × θ ˙ i + 1 Z ^ i + 1 i + 1 + θ ¨ i + 1 Z ^ i + 1 i + 1
v ˙ i + 1 i + 1 = R i i + 1 w ˙ i i × P i + 1 i + w i i × w i i × P i + 1 i + v ˙ i i
v ˙ C i i = w ˙ i i × P C i i + w i i × w i i × P C i i + v ˙ i i
F i = m v ˙ C i
N i = I C i w ˙ i + w i × I C i w i
where n l is the number of links, Z ^ i + 1 i + 1 is the unit vector of the coordinate system {i + 1} on the Z axis, F i and N i are, respectively, the inertia force and torque acting on the mass center of the link i.
Inward iterations: i : n l 1
f i i = R i + 1 i + 1 i f i + 1 + F i i
n i i = N i i + R i + 1 i + 1 i n i + 1 + P C i i × F i i + P i + 1 i × R i + 1 i + 1 i f i + 1
τ i = n i T i Z ^ i i
where f i i ,   n i i are, respectively, the force and torque acting on the link i, and τ i is the driving force of the joint motor.

3. Multi-Objective Trajectory Planning

3.1. Construction of Joint Space Trajectory

A kth-degree B-spline curve [35] is defined by
p u = i = 0 n d i N i , k u
where d i is the control point, n+1 is its number, p u is the path point at node u, N i , k u is the kth-degree B-spline basis function, and its specific definition is
N i , 0 u = 1 ,     u i u < u i + 1 0 ,     others N i , k u = u u i u i + k u i N i , k 1 u + u i + k + 1 u u i + k + 1 u i + 1 N i + 1 , k 1 u 0 0 = 0 .
The interval of N i , k u , u u i , u i + k + 1 , contains k + 1 node intervals. It can be seen from (34) that for any node u u i , u i + k + 1 on the parameter axis, there are only up to k + 1 nonzero basis functions N r , k u r = i k , i k + 1 , , i . This is the local support property of the B-spline curve. Therefore, the B-spline curve can also be expressed as
p u = r = i k i d r N r , k u
In this paper, the joint space trajectory of the robot is obtained by fifth-order B-spline curve interpolation, so k = 5 . Assuming that the position-time series of a certain joint is P = p j , t j , j = 0 , 1 , , m , then the node vector is U = u 0 , u 1 , , u m + 2 k , and n = m + k 1 .
In order to make the B-spline curve pass through the first and end position points of the joint, the node repetition degree of these two positions needs to be defined as
u 0 = u 1 = = u 5 = 0
u m + 5 = u n + 6 = = u m + 10 = 1
Moreover, the accumulative chord length parameterization method normalizes the remaining m 1 inner nodes
u i = u i 1 + Δ t i 6 r = 0 m 1 Δ t r , i = 6 , 7 , , m + 4
The n + 1 equations are needed to solve n + 1 control points, where m + 1 equations can be given by
p u i + 5 = r = i i + 5 d r N r , 5 u i + 5 = p i ,     u i + 5 u 5 , u m + 5 , i = 0 , 1 , , m
Additional conditions determine the other k 1 equations. For the fifth-order B-spline curve, specifying the velocity and acceleration of the joint at the start and end points can add four additional equations
p u | u = u 5 = v s ,     p u | u = u m + 5 = v e p u | u = u 5 = a s ,     p u | u = u m + 5 = a e
where p u ,   p u are, respectively, the first and second derivatives of the B-spline curve, representing the velocity and acceleration of the joint. The deBoor–Cox recurrence formula can calculate the lth derivative of the B-spline curve
p l u = r = i k + l i d r l N r , k l u ,     u i < u < u i + 1 d r l = d j ,     l = 0 k + 1 l d r l 1 d r 1 l 1 / u r + k + 1 l u r ,     l = 1 , 2 , , r .
Expression (39) is combined with (40) to obtain
A n d = p
where d = d 0 , d 1 , , d n 1 , d n T ,   p = p 0 , p 1 , , p m , v s , v e , a s , a e T , and the coefficient matrix is
A n = 1 N 1 , 5 ( u 6 ) N 2 , 5 ( u 6 ) N 5 , 5 ( u 6 ) N 2 , 5 ( u 7 ) N 3 , 5 ( u 7 ) N 6 , 5 ( u 7 ) N m 2 , 5 ( u m + 3 ) N m 1 , 5 ( u m + 3 ) N m + 2 , 5 ( u m + 3 ) N m 1 , 5 ( u m + 4 ) N m , 5 ( u m + 4 ) N m + 3 , 5 ( u m + 4 ) c s 1 c s 2 1 c e 1 c e 2 a s 1 a s 2 a e 1 a e 2 a e 3
Some parameters in the coefficient matrix are defined by
c s 1 = 5 / u 6 u 1 c s 2 = 5 / u 6 u 1 c e 1 = 5 / u m + 9 u m + 4 c e 2 = 5 / u m + 9 u m + 4 a s 1 = 20 / u 6 u 2 u 6 u 1 a s 2 = 20 1 / u 6 u 2 u 6 u 1 + 1 / u 6 u 2 u 7 u 2 a s 3 = 20 / u 6 u 2 u 7 u 2 a e 1 = 20 / u m + 8 u m + 4 u m + 8 u m + 3 a e 2 = 20 1 / u m + 8 u m + 4 u m + 8 u m + 3 + 1 / u m + 8 u m + 4 u m + 9 u m + 4 a e 3 = 20 / u m + 8 u m + 4 u m + 9 u m + 4 .
From (42), all the control points can be obtained by
d = A n 1 p
Bringing the control points back to (35), the angular displacement curve of each robot joint can be obtained. Then, the angular velocity, angular acceleration, and angular jerk curves of each joint are obtained by (41).

3.2. Establishing the Multi-Objective Optimization Model

This model consists of objective functions and constraint conditions. Firstly, the specific expressions of travel time, energy consumption, and smoothness are shown in (45)–(47). It is assumed that the trajectory of each joint of the Puma560 is divided into m segments, which means that each joint is assigned m + 1 angle values in turn.
The total travel time of the robot is the sum of the travel time of each trajectory, so its expression is
S 1 = T = j = 1 m Δ t j = j = 1 m t j t j 1
where t j 1 ,   t j ,   Δ t j are, respectively, the starting time, ending time, and travel time of the jth trajectory, and T is the total travel time.
The average accelerations of joints represent the energy consumption
S 2 = i = 1 6 1 T 0 T θ ¨ i 2 d t
where θ ¨ i is the acceleration of the ith joint.
The average jerks of joints measure the smoothness
S 3 = i = 1 6 1 T 0 T θ i 2 d t
where θ i is the jerk of the ith joint.
Constraints of kinematics and dynamics of the robot need to be considered when the robot performs tasks. Kinematic constraints mainly include the limitation of joint angle, velocity, and acceleration. Dynamic constraints mostly refer to the restriction of the joint torque. Therefore, the multi-objective optimization model can be established as
Minimize       S = S 1 , S 2 , S 3 T Subject   to   g i , 1 = θ i min min θ i t 0 g i , 2 = max θ i t θ i max 0 g i , 3 = θ ˙ i min min θ ˙ i t 0 g i , 4 = max θ ˙ i t θ ˙ i max 0 g i , 5 = θ ¨ i min min θ ¨ i t 0 g i , 6 = max θ ¨ i t θ ¨ i max 0 g i , 7 = τ i min min τ i t 0 g i , 8 = max τ i t τ i max 0 .
where θ i t ,   θ ˙ i t ,   θ ¨ i t ,   τ i t are, respectively, the angle, velocity, acceleration, and driving torque of the ith joint at t time, and θ i max ,   θ i min ,   θ ˙ i max ,   θ ˙ i min ,   θ ¨ i max ,   θ ¨ i min ,   τ i max ,   τ i min are, respectively, the upper and lower limits of the angle, velocity, acceleration, and driving torque of the ith joint.

3.3. Solving the Multi-Objective Optimization Model

The three optimization objectives conflict with each other, and there is a complex balance between them, so they cannot achieve the best solution simultaneously. When the improved MOPSO algorithm is used to solve the previous model, the result is no longer a single optimal solution, but an optimal solution set called the Pareto optimal solution set [36]. There is no good or bad solution in the Pareto optimal solution set, and the appropriate solution can be selected according to the actual engineering needs.
The MOPSO algorithm [37] originated from the study of bird foraging behavior and has the advantages of fast convergence speed, strong global search capability, and a wide range of application. In this algorithm, each particle’s position represents a solution to the problem. Under the influence of the individual optimal position and group optimal position, particles update their velocity and position
v i d k + 1 = w v i d k + c 1 r 1 p i d , p b e s t k x i d k + c 2 r 2 p d , g b e s t k x i d k
x i d k + 1 = x i d k + v i d k + 1
where w is the inertia weight, c 1 and c 2 are the individual and group learning factors, r 1 and r 2 are random numbers in the range of [0,1], k is the current iteration number, d is the vector’s dimension number, x i d k and v i d k are the position and velocity of particle i, and p i d , p b e s t k and p d , g b e s t k are the optimal position of individual and group.
Furthermore, the algorithm determines the dominance relationship between particles by comparing the objective function values of particles. To better manage and preserve the non-dominated solution, it is saved to the external archive.
The traditional MOPSO algorithm determines the global leader and deletes the redundant particles in the external archive by random selection. The convergence, distribution uniformity, and accuracy of the Pareto front are not good. When facing complex problems, the algorithm easily falls into the local optimum.
In order to solve these problems, this paper uses the adaptive grid technology and roulette strategy to change the selection of the global leader and redundant particles in the external archive, applies the adaptive mutation technique to the position of particles, and makes the inertia weight, individual, and group learning factors change nonlinearly with the iterations number. The workflow flow chart of the improved MOPSO algorithm is show in Figure 3.
The combination of the adaptive grid technology and roulette strategy enables the algorithm to select particles in a suitable sub-grid. For each iteration, the maximum value f i max and minimum value f i min of the ith objective function on all particles are found as the upper and lower bounds of the initial grid. In order to cover the boundary particles, the range of the grid is expanded according to
L B i = f i min α f i max f i min , U B i = f i max + α f i max f i min
where L B i , U B i are the new upper and lower bounds of the grid, and α is the expansion ratio.
The number of grids for each dimension is set to n d , and the grid is equally divided into n d e sub-grids, where e is the number of objective function. Figure 4 shows the general process of adaptive grid technology.
Suppose that there are n s sub-grids containing particles, and the number of particles in the ith sub-grid is N i . When selecting the global leader of particles, the probability that the ith sub-grid is selected is
P i , 1 = e β N i e β N 1 + e β N 2 + + e β N b
where i = 1 , 2 , , n s , and β is a non-negative leader selection pressure parameter. It can be seen from (52) that the global leader of particles is more likely to come from sub-grids with fewer particles, which encourages the algorithm to explore areas that have been searched less before and increase the diversity of solutions.
When the number of particles in the external archive is greater than the set number, it is necessary to delete the redundant particles. At this time, the probability that the ith sub-grid is selected is
P i , 2 = e σ N i e σ N 1 + e σ N 2 + + e σ N b
where σ is a non-negative delete selection pressure parameter. It can be seen from (63) that the deleted redundant particles are more likely to come from the sub-grids with more particles, promoting the uniform distribution of the solutions.
Expressions (52)–(53) are the individual selection probabilities in the roulette strategy, and the cumulative probabilities of each grid are defined as
Q i , 1 = j = 1 i P j , 1 ,   Q i , 2 = j = 1 i P j , 2 .
The individual selection strategy is to generate a random number r 0 , 1 , compare it with Q i , 1 or Q i , 2 , find the first cumulative probability exceeding r , and select its sub-grid.
When the particle’s velocity and position are updated, the particle’s position is adaptively mutated. The mutation rate in the kth iteration is
p m k = 1 k 1 M 1 1 h
where k is the current iteration number, M is the maximum iteration number, and h is a given constant.
The mutation step of the particle i is defined as
Δ x i k = p m k x max x min
where x max , x min are the limit values of particle position. When p m k decreases nonlinearly with the increase in the iterations number, Δ x i k also decreases.
Now, it is randomly specified that the dth dimensional component x i d k of the position vector is mutated. The upper and lower bounds of the range of mutation are
l b = x i d k Δ x i k , u b = x i d k + Δ x i k
A random number is generated in the continuous distribution of l b and u b as the value of the position vector after mutation in this dimension. This makes the algorithm jump out of the local optimum in the early stage and converge to the global optimal solution better in the later stage.
The relationship between the inertia weight and the number of iterations is
w = w max w max w min k M 2
where w max , w min are the upper and lower limits of w . As the number of iterations k increases, the inertia weight decreases nonlinearly.
The individual and group learning factors are defined as
c 1 = c 1 s + c 1 e c 1 s sin π k 2 M , c 2 = c 2 s + c 2 e c 2 s sin π k 2 M
where c 1 s and c 2 s are, respectively, the initial values of c 1 and c 2 , and c 1 e and c 2 e are, respectively, the final values of c 1 and c 2 . As the number of iterations increases, c 1 decreases from large to small, and c 2 is the opposite.
These give the particle a strong global search capability at the beginning of the algorithm iterations to avoid falling into local optimum and a strong local search capability at the later stages to improve convergence accuracy.

4. Simulation

In this section, the multi-objective trajectory planning simulation of the Puma560 robot is carried out in MATLAB. The constraints of each joint are shown in Table 2.
The target captured by the robot is a small ball moving at a constant speed of 0.5 m/s along the Z-axis, and its trajectory is known. Six key positions of each joint in the process of catching the ball are given, as shown in Table 3.
The MOPSO algorithm takes the time interval of each trajectory Δ t j as the decision variable, which is in the range of [0.75, 7]. The population size and the maximum iteration number of the traditional and improved MOPSO algorithms are both 200, and the size of the Pareto optimal solution set is 100. In addition, this paper sets n d in the improved MOPSO algorithm to 5, β to 2, and σ to 2.
The Pareto front obtained by the traditional MOPSO algorithm is shown in Figure 5a. It falls into the local optimum, and the distribution and convergence of the Pareto front are also poor. The Pareto front obtained by the improved MOPSO algorithm is shown in Figure 5b. It jumps out of the local optimum, and the convergence and distribution are significantly improved, which proves the effectiveness of the improved MOPSO algorithm.
Four points are taken on the Pareto front, which, from top to bottom, are A, B, C, and D. The closer to A, the shorter the travel time, the more the energy consumption, and the greater the jerk; the closer to D, the less the energy consumption, the smaller the jerk, and the longer the travel time. It follows that smoothness is positively correlated with energy consumption, while they are negatively correlated with travel time. The values of the three objective functions for A, B, C, and D are shown in Table 4.
Taking B and C points as examples, the travel time of point B is 4.8760 s, 46.35% less than that of point C. The energy consumption of point C is 0.4932 rad s 2 , 70.45% lower than that of point B. The jerk of point C is 0.4932 rad s 3 , 70.45% lower than that of point B.
C is selected as the actual solution of the project, and its time series is [0, 1.1990, 3.6445, 5.3612, 7.2749, 9.0883]. As shown in Figure 6, the curves of joint angles, velocities, accelerations, and jerks varying with time can be obtained by interpolating fifth-order B-spline curves.
A dominant solution E is randomly selected outside the Pareto optimal solution set as the time series [0, 1.3, 2.4, 5.3, 8.4, 10.4] before the trajectory optimization. Under this time series, the three performance indexes of the robot are shown in Table 5.
According to the data in Table 5, the travel time of point C is 12.61% higher than that of E, the energy consumption is increased by 56.95%, and the jerk is increased by 75.15%. The three objective function values of point C are better than the results before optimization, improving the robot’s comprehensive performance.
Taking robot joint 2 as an example, Figure 7 shows that the trajectories after optimization are smoother and more continuous than before optimization, especially the curves of joint velocity, acceleration, and jerk.
An optimal solution is randomly selected in the Pareto optimal solution set, called D, and its time series is [0, 1.7255, 4.5821, 6.1810, 7.7798, 10.0000]. The motion of the Puma560 robot under this solution can be visualized by the Robot Toolbox of MATLAB, as shown in Figure 8.

5. Conclusions

This paper investigates a trajectory planning method for a robot which enables it to reach a comprehensive optimal state of travel time, energy consumption, and smoothness when executing a task. In order to fully understand the kinematics and dynamics characteristics of the robot and lay a solid theoretical foundation for follow-up research, this paper first deduces the position and orientation of the end-effector relative to the base and uses the Pieper method to calculate the closed solutions of the inverse kinematics. Finally, the dynamic model of the robot is established by the iterative Newton–Euler dynamics algorithm.
The joint space trajectory of the Puma560 robot is constructed using fifth-order B-spline curves, which has the advantages of continuous jerk and zero velocity and acceleration at the start/stop time. Then, the improved MOPSO algorithm is used to optimize the trajectory of the robot with the time interval between the path points as the decision variable. The convergence and distribution of the Pareto front are good, and the different solutions in the Pareto optimal solution set correspond to different engineering needs. In addition, by comparing the robot’s travel time, energy consumption, and smoothness before and after optimization, it can be seen that its three performances have improved. This paper also visualizes the robot movement according to the planned trajectory in the Robot Toolbox of MATLAB.

Author Contributions

Conceptualization, J.W. (Jiahui Wang) and Y.Z.; methodology, J.W. (Jiahui Wang); software, J.W. (Jiahui Wang); validation, J.W. (Jiahui Wang), Y.Z. and S.Z.; formal analysis, J.W. (Jiahui Wang); investigation, J.W. (Jiahui Wang); resources, J.W. (Jiahui Wang) and S.Z.; data curation, J.W. (Jiahui Wang); writing—original draft preparation, J.W. (Jiahui Wang); writing—review and editing, J.W. (Jiahui Wang), Y.Z. and J.W. (Junling Wang); visualization, J.W. (Jiahui Wang); supervision, Y.Z.; project administration, Y.Z.; funding acquisition, Y.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Science, Technology and Innovation Commission of Shenzhen Municipality, grant number No. JCYJ20200109141201714 (“Research on Flight Test Methods for Aerodynamics and Flight Control of Shipborne UAV”).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Lan, J.; Xie, Y.; Liu, G.; Cao, M. A Multi-Objective Trajectory Planning Method for Collaborative Robot. Electronics 2020, 9, 859. [Google Scholar] [CrossRef]
  2. Bailon, W.P.; Cardiel, E.B.; Campos, I.J.; Paz, A.R. Mechanical energy optimization in trajectory planning for six DOF robot manipulators based on eighth-degree polynomial functions and a genetic algorithm. In Proceedings of the 7th International Conference on Electrical Engineering Computing Science and Automatic Control, Tuxtla Gutierrez, Mexico, 8–10 September 2010; pp. 446–451. [Google Scholar]
  3. Liu, J.; Wang, H.; Li, X.; Chen, K.; Li, C. Robotic arm trajectory optimization based on multiverse algorithm. Math. Biosci. Eng. 2023, 20, 2776–2792. [Google Scholar] [CrossRef] [PubMed]
  4. Machmudah, A.; Parman, S.; Zainuddin, A.; Chacko, S. Polynomial joint angle arm robot motion planning in complex geometrical obstacles. Appl. Soft Comput. 2013, 13, 1099–1109. [Google Scholar] [CrossRef]
  5. Porawagama, C.D.; Munasinghe, S.R. Reduced jerk joint space trajectory planning method using 5-3-5 spline for robot manipulators. In Proceedings of the 7th International Conference on Information and Automation for Sustainability, Colombo, Sri Lanka, 22–24 December 2014; pp. 1–6. [Google Scholar]
  6. Kim, K.W.; Kim, H.S.; Choi, Y.K.; Park, J.H. Optimization of cubic polynomial joint trajectories and sliding mode controllers for robots using evolution strategy. In Proceedings of the IECON’97 23rd International Conference on Industrial Electronics, Control, and Instrumentation, New Orleans, LA, USA, 14 November 1997; pp. 1444–1447. [Google Scholar]
  7. Lu, S.; Ding, B.; Li, Y. Minimum-jerk trajectory planning pertaining to a translational 3-degree-of-freedom parallel manipulator through piecewise quintic polynomials interpolation. Adv. Mech. Eng. 2020, 12, 1687814020913667. [Google Scholar] [CrossRef]
  8. Boryga, M.; Grabo, A. Planning of manipulator motion trajectory with higher-degree polynomials use. Mech. Mach. Theory 2009, 44, 1400–1419. [Google Scholar] [CrossRef]
  9. Chen, D.; Li, S.; Wang, J.; Feng, Y.; Liu, Y. A multi-objective trajectory planning method based on the improved immune clonal selection algorithm. Robot. Comput. Integr. Manuf. 2019, 59, 431–442. [Google Scholar] [CrossRef]
  10. Gasparetto, A.; Zanotto, V. Optimal trajectory planning for industrial robots. Adv. Eng. Softw. 2010, 41, 548–556. [Google Scholar] [CrossRef]
  11. Wang, Z.; Li, Y.; Sun, P.; Luo, Y.; Chen, B.; Zhu, W. A multi-objective approach for the trajectory planning of a 7-DOF serial-parallel hybrid humanoid arm. Mech. Mach. Theory 2021, 165, 104423. [Google Scholar] [CrossRef]
  12. Gao, Y.; Xie, W.; Li, Q.; Li, X.; Hu, M.; Zhao, L. Time-Jerk Optimal Trajectory Planning of Industrial Robot based on Hybrid Particle Swarm Optimization Algorithm. In Proceedings of the 2021 China Automation Congress (CAC), Beijing, China, 22–24 October 2021; pp. 6327–6331. [Google Scholar]
  13. Hansen, C.; Öltjen, J.; Meike, D.; Ortmaier, T. Enhanced approach for energy-efficient trajectory generation of industrial robots. In Proceedings of the IEEE International Conference on Automation Science and Engineering (CASE), Seoul, Republic of Korea, 20–24 August 2012; pp. 1–7. [Google Scholar]
  14. Shi, B.; Zeng, H. Time-Optimal Trajectory Planning for Industrial Robot based on Improved Hybrid-PSO. In Proceedings of the 40th Chinese Control Conference (CCC), Shanghai, China, 26–28 July 2021; pp. 3888–3893. [Google Scholar]
  15. Gasparetto, A.; Zanotto, V. A new method for smooth trajectory planning of robot manipulators. Mech. Mach. Theory 2007, 42, 455–471. [Google Scholar] [CrossRef]
  16. Yao, J.; Sun, C.; Zhang, L.; Xiao, C.; Yang, M.; Zhang, S. Time optimal trajectory planning based on simulated annealing algorithm for a train uncoupling robot. In Proceedings of the 29th Chinese Control and Decision Conference (CCDC), Chongqing, China, 28–30 May 2017; pp. 5781–5785. [Google Scholar]
  17. Bianco, C.G.L.; Piazzi, A. A genetic/interval approach to optimal trajectory planning of industrial robots under torque constraints. In Proceedings of the 1999 European Control Conference (ECC), Karlsruhe, Germany, 31 August–3 September 1999; pp. 942–947. [Google Scholar]
  18. Mora, P.R. On the Time-optimal Trajectory Planning along Predetermined Geometric Paths and Optimal Control Synthesis for Trajectory Tracking of Robot Manipulators. Ph.D. Thesis, University of California, Berkeley, CA, USA, 2013. [Google Scholar]
  19. Abu-Dakka, F.J.; Assad, I.F.; Alkhdour, R.M. Statistical evaluation of an evolutionary algorithm for minimum time trajectory planning problem for industrial robots. Int. J. Adv. Manuf. Technol. 2017, 89, 389–406. [Google Scholar] [CrossRef]
  20. Zhang, W.; Fu, S. Time-optimal Trajectory Planning of Dulcimer Music Robot Based on PSO Algorithm. In Proceedings of the 2020 Chinese Control and Decision Conference (CCDC), Hefei, China, 22–24 August 2020; pp. 4769–4774. [Google Scholar]
  21. Lin, H.I. A fast and unified method to find a minimum-jerk robot joint trajectory using particle swarm optimization. J. Intell. Robot. Syst. Theory Appl. 2014, 75, 379–392. [Google Scholar] [CrossRef]
  22. Zhou, Y.; Han, G.; Wei, Z.; Huang, Z.; Chen, X.; Wu, J. Optimal trajectory planning of robot energy consumption based on improved sparrow search algorithm. Meas. Control 2024, 57, 1014–1021. [Google Scholar] [CrossRef]
  23. Yokose, Y. Energy-saving trajectory planning for robots using the genetic algorithm with assistant chromosomes. Artif. Life Robot. 2020, 25, 89–93. [Google Scholar] [CrossRef]
  24. 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]
  25. Mohammed, A.; Schmidt, B.; Wang, L.; Gao, L. Minimizing Energy Consumption for Robot Arm Movement. Procedia CIRP 2014, 25, 400–405. [Google Scholar] [CrossRef]
  26. Paes, K.; Dewulf, W.; Elst, K.V. Energy efficient trajectories for an industrial ABB robot. Procedia CIRP 2014, 15, 105–110. [Google Scholar] [CrossRef]
  27. Ye, J.; Hao, L.; Cheng, H. Multi-objective optimal trajectory planning for robot manipulator attention to end-effector path limitation. Robotica 2024, 42, 1761–1780. [Google Scholar] [CrossRef]
  28. Chen, W.; Wang, H.; Liu, Z.; Jiang, K. Time-energy-jerk optimal trajectory planning for high-speed parallel manipulator based on quantum-behaved particle swarm optimization algorithm and quintic B-spline. Eng. Appl. Artif. Intell. 2023, 126, 107223. [Google Scholar] [CrossRef]
  29. Cao, X.; Yan, H.; Huang, Z.; Ai, S.; Xu, Y.; Fu, R.; Zou, X. A Multi-Objective Particle Swarm Optimization for Trajectory Planning of Fruit Picking Manipulator. Agronomy 2021, 11, 2286. [Google Scholar] [CrossRef]
  30. Saravanan, R.; Ramabalan, S. Evolutionary Minimum Cost Trajectory Planning for Industrial Robots. J. Intell. Robot. Syst. 2008, 52, 45–77. [Google Scholar] [CrossRef]
  31. 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]
  32. Craig, J.J. Introduction to Robotics: Mechanics and Control, 3rd ed.; Pearson Education, Inc.: London, UK, 2005; pp. 73–76. [Google Scholar]
  33. Pieper, D.L. The Kinematics of Manipulators Under Computer Control. Ph.D. Thesis, Stanford University, Stanford, CA, USA, 1968. [Google Scholar]
  34. Luh, J.Y.S.; Walker, M.W.; Paul, R.P.C. On-Line Computational Scheme for Mechanical Manipulators. ASME J. Dyn. Sys. Meas. Control 1980, 102, 69–76. [Google Scholar] [CrossRef]
  35. Piegl, L.; Tiller, W. The Nurbs Book, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 1997; pp. 81–100. [Google Scholar]
  36. Sathiya, V.; Chinnadurai, M. Evolutionary Algorithms-Based Multi-Objective Optimal Mobile Robot Trajectory Planning. Robotica 2019, 37, 1363–1382. [Google Scholar] [CrossRef]
  37. 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]
Figure 1. The MDH coordinate system of the Puma560 robot.
Figure 1. The MDH coordinate system of the Puma560 robot.
Sensors 24 07663 g001
Figure 2. Robot model in MATLAB.
Figure 2. Robot model in MATLAB.
Sensors 24 07663 g002
Figure 3. The improved MOPSO algorithm.
Figure 3. The improved MOPSO algorithm.
Sensors 24 07663 g003
Figure 4. The adaptive grid technology in two-dimensional case. (a) The minimum and maximum values of each objective function; (b) the enlarged grid range; (c) the uniform distribution of grids when n d = 3 .
Figure 4. The adaptive grid technology in two-dimensional case. (a) The minimum and maximum values of each objective function; (b) the enlarged grid range; (c) the uniform distribution of grids when n d = 3 .
Sensors 24 07663 g004
Figure 5. The Pareto front. (a) The traditional MOPSO algorithm and (b) the improved MOPSO algorithm.
Figure 5. The Pareto front. (a) The traditional MOPSO algorithm and (b) the improved MOPSO algorithm.
Sensors 24 07663 g005
Figure 6. (ad) are the angle, velocity, acceleration, and jerk curves of the joints under solution C.
Figure 6. (ad) are the angle, velocity, acceleration, and jerk curves of the joints under solution C.
Sensors 24 07663 g006
Figure 7. (ad) show the curves of angle, velocity, acceleration, and jerk of robot joint 2 before and after optimization.
Figure 7. (ad) show the curves of angle, velocity, acceleration, and jerk of robot joint 2 before and after optimization.
Sensors 24 07663 g007
Figure 8. (a) The pose of the robot at the start moment; (b) the pose of the robot at the middle moment; and (c) the pose of the robot at the end moment.
Figure 8. (a) The pose of the robot at the start moment; (b) the pose of the robot at the middle moment; and (c) the pose of the robot at the end moment.
Sensors 24 07663 g008
Table 1. Link parameters of the Puma560 robot.
Table 1. Link parameters of the Puma560 robot.
Link i α i - 1 (rad) a i - 1 (m) d i (m) θ i (rad)
1000 θ 1
2−1.570800.2435 θ 2
300.4318−0.0934 θ 3
41.5708−0.02030.4331 θ 4
5−1.570800 θ 5
61.570800 θ 6
Table 2. Kinematic and dynamic constraints.
Table 2. Kinematic and dynamic constraints.
ConstraintsJoint 1Joint 2Joint 3Joint 4Joint 5Joint 6
Angle/(rad)3.1003.1003.1003.1003.1003.100
Velocity / ( rad s 1 )0.8760.8761.5980.8760.9260.926
Acceleration / ( r a d s 2 )0.7250.7252.3780.7251.4501.450
Torque / ( N m )44.94044.9408.86644.9400.0500.050
Table 3. Position sequence of each joint.
Table 3. Position sequence of each joint.
NodeJoint 1/(rad)Joint 2/(rad)Joint 3/(rad)Joint 4/(rad)Joint 5/(rad)Joint 6/(rad)
10.5821−0.3805−0.81680.6283−0.93900.2531
20.4829−0.3735−0.79810.6299−0.92450.2621
30.0383−0.12120.06080.4289−0.40050.6502
4−0.58720.17701.07020.19950.21891.1091
5−1.03170.38901.78770.03640.65921.4352
6−1.13100.43631.947800.75471.5080
Table 4. The partial optimum solution.
Table 4. The partial optimum solution.
SolutionTravel Time/( s ) Energy   Consummation / ( r a d s 2 ) Jerk / ( r a d s 3 )
A3.75663.22518.2585
B4.87601.66883.0157
C9.08830.49320.4656
D39.58250.02860.0069
Table 5. Comparison before and after optimization.
Table 5. Comparison before and after optimization.
SolutionTravel Time/( s ) Energy   Consumption / ( r a d s 2 ) Jerk / ( r a d s 3 )
C9.08830.49320.4656
E10.40001.14571.8733
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Wang, J.; Zhang, Y.; Zhu, S.; Wang, J. A Novel Multi-Objective Trajectory Planning Method for Robots Based on the Multi-Objective Particle Swarm Optimization Algorithm. Sensors 2024, 24, 7663. https://doi.org/10.3390/s24237663

AMA Style

Wang J, Zhang Y, Zhu S, Wang J. A Novel Multi-Objective Trajectory Planning Method for Robots Based on the Multi-Objective Particle Swarm Optimization Algorithm. Sensors. 2024; 24(23):7663. https://doi.org/10.3390/s24237663

Chicago/Turabian Style

Wang, Jiahui, Yongbo Zhang, Shihao Zhu, and Junling Wang. 2024. "A Novel Multi-Objective Trajectory Planning Method for Robots Based on the Multi-Objective Particle Swarm Optimization Algorithm" Sensors 24, no. 23: 7663. https://doi.org/10.3390/s24237663

APA Style

Wang, J., Zhang, Y., Zhu, S., & Wang, J. (2024). A Novel Multi-Objective Trajectory Planning Method for Robots Based on the Multi-Objective Particle Swarm Optimization Algorithm. Sensors, 24(23), 7663. https://doi.org/10.3390/s24237663

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