Due to the few control parameters and simple calculations, the differential evolution (DE) algorithm is one of the most widely applied algorithms in various optimization algorithms. In this section, we mainly propose a new type of DE algorithm by optimizing the key operations of the typical DE algorithm. We also give a detailed illustration of the optimized DE algorithm in terms of solving the trajectory tracking problem of the mobile manipulator.
3.1. Typical DE Algorithm
For an optimization problem under multiple constraints, the control variable of the problem includes D dimensions; the initial population size of the DE algorithm is , and the total number of iterations in the DE algorithm is G. The critical operation steps of the differential evolution algorithm include initialization operation, mutation operations, crossover operations, and selection operations. In the following, we provide detailed descriptions of each operation.
(1) Initialization operation
The initialization operation is mainly used to create the first-generation population, combined with various elements to solve the optimization problem. The population contains multiple individuals, and each individual needs to meet the essential requirements of the optimization problem. In order to ensure the diversity of the population, each individual needs to be randomly initialized within a specified range. The most typical initialization operation can be expressed as:
where
represents the
population generated during the
g iterations,
represents the
j individuals in the
population,
g represents the number of iterations for the entire population,
k represents the number of populations used in this iteration process,
i represents the
individual in the group,
and
denote the maximum value and the minimum values, respectively, and
represents a random value in the range of
.
(2) Mutation operation
The mutation operation generates new individuals through various mutation equations, selecting a population from the previous generation’s population. The selected population can determine a random population or determine an optimal global population. The new mutated individuals can enrich the type of the next population, and the most famous mutation operations consist of five different equations. These mutation operations are expressed by “
DE/rand(best, current)-to-best/number”, where
DE stands for the abbreviation of the differential evolution algorithm, ‘
rand’ stands for a randomly selected population, ‘
best’ stands for the best fitness in the population, ‘
current’ represents the current solution population, and ‘
rand-to-best’ represents the population from random to the best fitness. Various mutation operations can be specifically expressed as:
where
indicates a new population generated by the mutation operation,
indicates the randomly selected population index,
indicates the population with the best fitness index, and
F indicates the mutation factor.
(3) Crossover operation
The primary purpose of the crossover operation is to add the mutated individuals to the original population. The crossover operation can also retain the information of the best individuals during the next iteration. During the crossover operation, the size of the entire population will not change in the next iteration. In order to control the number of new individuals in the next iteration, the crossover probability is introduced to improve the control ability of the population. The crossover operation can be specifically expressed as:
where
represents the new population of the crossover operation,
represents the crossover rate parameter, and
represents a random number in
.
(4) Selection operation
The main aim of the selection operation is to select the best individuals from the entire population. The best solution for an optimization problem is obtained by comparing the new population’s fitness with the original population’s fitness. The basic judgment principle can be expressed as:
where
represents the population in the next iteration process, and
represents the corresponding fitness function.
3.2. Optimized DE Algorithm
In this study, the differential evolution (DE) algorithm is mainly applied to solve the problem of trajectory tracking of a mobile manipulator robot under complex constraints. Due to multiple constraints in the actual movement of the robot, the typical DE algorithm can no longer meet the requirements of the trajectory tracking problem. We need to optimize these critical operations of the typical DE algorithm to meet these constraints. The specific optimization content process is detailed in the following:
(1) Optimized initialization operation
In the typical DE algorithm, the initial population is randomly generated computationally based on Equation (24). This is the simplest method of various initialization operations, and the generated population obeys a random distribution. To solve the trajectory tracking of the mobile manipulator robot, the initial population based on the typical DE algorithm needs to be within the angle range of each driving joint. In addition to the angle constraints, we need to consider the speed constraints in the velocity layer to solve the trajectory tracking problem. Therefore, we need to ensure that the joint angles generated based on the typical initialization operation meet both the speed constraints and the angle constraints. To optimize the performance of the new DE algorithm, we also added the inverse learning method into the initialization operation in order to improve the distribution position of the initial population. The optimization content of the initialization operation in the new DE algorithm included the following:
(1.1) Considering the two different constraints proposed in this article, we first selected the speed constraint to generate the basic joint angle, which can be expressed as:
where
represents the basic velocity population generated by randomly selecting from the range, and
represents the maximum velocity and the minimum velocity for each driving joint.
(1.2) To ensure the diversity of the initial population within the global speed range, we used the inverse learning method to generate the opposing population after creating the basic population. This method can increase the diversity of the initial population and improve the performance of the initialization operation. Specifically, it can be expressed as:
where
represents the inverse population of the corresponding population.
(1.3) After completing the initialization operation, we needed to determine whether the angle of each driving joint was within the corresponding limitation. When these angles did not meet the specified range, we generated random angles again in the speed range until all the angles met the speed constraints. Otherwise, the initialized population continued to the next step. This can be expressed as:
where
represents the joint angle population corresponding to the current moment,
represents the joint angle population at the previous moment,
and
represents the maximum and minimum joint angles, respectively,
represents the combination of the basic and opposing populations, and
represents the new population generated based on Equation (28).
To improve the performance of population initialization, we effectively combine the above three methods to ensure that the initial population achieves the best distribution within the global scope.
(2) Optimized mutation operation
The mutation operation is also one of the most important steps in the DE algorithm, the main purpose of which is to generate a new population. Many researchers have proposed various mutation operations, but the mutation functions are mainly realized by combining the five typical functions mentioned above. There are significant differences in the performance of creating the new population using these typical operations. For example, the operation has a remarkable ability to explore the global scope, but leads to slower convergence rate; in particular, as the number of is greater than the number of , the time required for solving the best solution based on rand2 is longer than that based on rand1. The can quickly converge in the optimal local field, but the detection ability according to the global scope and the local optimal escape ability are weak. Furthermore, the convergence performance of is greater than that of .
To solve the problem of the trajectory tracking of the mobile manipulator robot, the DE algorithm requires better real-time performance and lower solution error. Additionally, the solution of the trajectory tracking task obtained by the DE algorithm must meet the requirements in the velocity layer. Therefore, we chose the operation as the essential operation for the local optimum, and the operation was used as an auxiliary operation to improve the exploration ability in the global scope.
(2.1) To combine the two operations to effectively improve the performance of the DE algorithm in solving the trajectory tracking, we chose the number of operations
as the basic switching function. When the operation number is even,
, the mutation operation selects the
operation to perform global detection. Otherwise, the mutation operation chooses the
to perform optimal local detection. This process can be expressed as:
where
represents the new number of mutation operations,
are random individuals in the initial population, and
represents the individual with the best fitness in the global population.
(2.2) To ensure that the new population satisfies the speed constraint, we determined the speed range of the population to ensure that the new individual meets the speed constraint. The corresponding solution expression can be given as:
where
represents the current angle of the corresponding joint,
represents the maximum speed of the corresponding joint, and
represents the new population generated based on Equation (28).
(2.3) After meeting the speed constraint, the joint angle is also required to be within the angle range of each driving joint. Therefore, the new population generated by speed constraint is constrained again through the angle constraint, which can be expressed as:
where
and
indicate the minimum and maximum values for the corresponding joint angles, respectively, and
represents the new population generated based on Equation (28).
To improve the performance of mutation operations, we effectively combined the above three optimizations to ensure that the individual quickly reaches the best fitness in the given range.
(3) Optimized success rate
The mobile manipulator robot may not be able to completely arrive at the positions and postures required for a complex task. The following two reasons are the main causes for unreachable positions and posture: first, the actual position of the designated task may be outside the workspace of the mobile manipulator robot, and the current robot cannot perform trajectory tracking problems; second, the position and posture of the designated task are near the singular point of the mobile manipulator robot, and the typical control method cannot reach the location to complete the specified task. Regarding the first problem, researchers need to re-design and optimize the structure of the mobile manipulator robot; otherwise, no other method can address the first factor. However, we can effectively solve the second factor through the use of various swarm optimization algorithms. In actual practice, the success rate of the trajectory tracking task remains an effective evaluation criterion for comparing the performance of different optimization algorithms.
In solving trajectory tracking problems using population optimization algorithms, the DE algorithm has better performance than the other algorithm for solving specific tasks in terms of success rate. However, the success rate for solving the configuration parameters in the destined point based on the current DE algorithms cannot reach 100%, which can seriously affect the trajectory tracking accuracy. If we add collision avoidance into the trajectory tracking problem, the success rate for solving the configuration parameters in the destined point may be significantly reduced. To determine the influence of the success rate, we solve for the failed point whose position and posture are in the working space by performing multiple solutions based on the same DE algorithm. The multiple solutions show that the above-mentioned unreachable point can be reached again by re-solving, but the success rate will be lower than that of other locations. By comparing the specific solution process, we found that the initial population and the number of iterations are the main reasons for the failure of the above-mentioned task. Meanwhile, re-initialization of the population can significantly increase the success rate of the above-mentioned task compared to increasing the number of iterations. Furthermore, conducting the population initialization process again can significantly reduce the average time consumption for solving the configuration parameters for the destination point.
To ensure the accuracy of trajectory tracking, we re-initialize the population to track the failed point until the end effector reaches the specified point. In solving the trajectory tracking, we introduce the success index “” added into the DE algorithm to improve the success rate. When the solution of any task point fails (“”), we reset the initial population of the DE algorithm and continue to solve the configuration parameters of the current point. When the task point is successfully solved (“”), we continue to solve the configuration parameters to reach the next task point.
(4) Optimized fitness function
When solving for the trajectory tracking based on the DE algorithm, the fitness function can sort the existing populations according to the requirements of actual motion. To solve the trajectory tracking of the mobile manipulator robot, we can directly combine multiple expressions to generate the fitness function, which takes a long time. To improve the solution speed of the DE algorithm, we must classify multiple expressions in trajectory tracking to construct different fitness functions for the DE algorithm.
In the DE algorithm, we decompose the trajectory tracking of the mobile manipulator into a constraint function and a termination function. The constraint function mainly sorts the optimal parameters that satisfy the basic requirements of the mobile manipulator, primarily including kinematic constraints and the shortest distance. The specific expression formula is:
where the first term on the right of the formula represents the minimum motion of the mobile platform, the second term represents the minimum motion constraint of the manipulator robot, and the last term represents the position error of the end effector of the mobile manipulator robot.
The termination function is mainly used to select the best group in the population and jump out of the iterative operation of the DE algorithm. Therefore, the best optimization population needs to reach the designated position through the population. If the number of iterations is completely carried out, the population size will be increased, and the overall time-consuming exchange will become long. To improve the performance of the DE algorithm in solving the trajectory tracking problem of the mobile manipulator, we chose the collision-free constraint and the minimum position error for the final termination function. The specific expression is:
where the first term on the right of the top formula indicates the position error of the end effector, the second term indicates the posture error of the end effector,
indicates whether the robot meets the basic requirements of the trajectory tracking, and
indicates that the robot does not collide.
3.3. Solving the Trajectory Tracking Problem
In order to solve the tracking problem for the mobile manipulator robot, we established an optimal problem under multiple constraints based on the various actual limitations and task requirements. Then, we optimized the typical differential evolution algorithm in various aspects in order to improve the efficiency in solving the optimal problem. Therefore, we realized the trajectory tracking of mobile manipulator robot by re-defining the trajectory tracking problem and optimizing the differential evolution algorithm. In order to demonstrate the solution process more concisely, the flow chart for solving the trajectory tracking problem based on the optimized differential evolution algorithm is shown in
Figure 2.
To understand the optimization of the DE algorithm detailed in the above subsection, we summarize the specific steps of the optimized DE algorithm used to solve the trajectory tracking problem for the mobile manipulator. The detailed steps of the optimized DE algorithm are illustrated in the following, and the flow chart is shown in
Figure 3.
Step 1: Specify task. Obtain the position and posture for the trajectory tracking task according to the actual requirements; determine the motion time, and set the success rate to .
Step 2: Enter the loop for solving the trajectory tracking.
Step 3: Initialize key parameters. Set the initial population as , the maximum number of iterations as G, the dimensionality of the trajectory tracking problem (i.e., the number of driving joints) as D, the variation factor parameter as F, and the crossover rate as .
Step 4: Initialization operation. (1) Randomly assign values to the population for initialization operations based on the speed constraint (28) and add the opposing population generated by the inverse learning method (29) into the initial population. (2) Re-initialize the basic population considering the angle constraints (30) of the mobile manipulator robot. (3) Solve the fitness function (34) or (35) of the re-initialized population and sort the population based on the fitness values.
Step 5: Mutation operation. (1) Generate the first new population based on the corresponding mutation function (31) after randomly selecting three populations (, , , and ). (2) Form the second new population, which meets the speed constraint, using Equation (32). (3) Form the third new population, which satisfies the angle constraint, based on Equation (33).
Step 6: Crossover operation. Determine the crossover population through Equation (26).
Step 7: Selection operation. Determine the best population through the best fitness function after obtaining the fitness values.
Step 8: Judgment operation. (1) Carry out collision detection on the best population in order to determine whether collisions will occur. (2) Perform error judgment on the best population in order to determine whether the end effector can reach the designated position and posture. (3) Determine whether the solution meets the conditions obtained through the termination function. When the solution is successful, the DE algorithm will jump out of the loop and set the index ; otherwise, it continues to solve the trajectory tracking until finishing the iteration and sets the index to .
Step 9: Process results. Determine whether to save the solution data of the task based on the index state (). When , the joint angle is saved, and the time is incremented to track the following point; otherwise, the system jumps to Step 3.
Step 10: End the loop. Judge whether the final target point has been reached. If the end effector has reached the point, the optimized DE algorithm completes the solution of the trajectory tracking problem; otherwise, the DE algorithm continues to solve the trajectory tracking problem.