A Hybrid Strategy of Differential Evolution and Modified Particle Swarm Optimization for Numerical Solution of a Parallel Manipulator

This paper presents a hybrid strategy combined with a differential evolution (DE) algorithm and a modified particle swarm optimization (PSO), denominated as DEMPSO, to solve the nonlinear model of the forward kinematics. The proposed DEMPSO takes the best advantage of the convergence rate of MPSO and the global optimization of DE. A comparison study between the DEMPSO and the other optimization algorithms such as the DE algorithm, PSO algorithm, and MPSO algorithm is performed to obtain the numerical solution of the forward kinematics of a 3-RPS parallel manipulator.The forward kinematicmodel of the 3-RPS parallel manipulator has been developed and it is essentially a nonlinear algebraic equation which is dependent on the structure of the mechanism. A constraint equation based on the assembly relationship is utilized to express the position and orientation of the manipulator. Five configurations with different positions and orientations are used as an example to illustrate the effectiveness of the proposed DEMPSO for solving the kinematic problem of parallel manipulators. And the comparison study results of DEMPSO and the other optimization algorithms also show that DEMPSO can provide a better performance regarding the convergence rate and global searching properties.


Introduction
Differential evolution (DE) is a heuristic and straightforward strategy with the prominent features of global optimization and only a few control parameters [1,2].Particle swarm optimization (PSO) is a group theory based algorithm that was inspired by fish schools, bird flocks, and others.The disadvantage of PSO is that the individuals are easily influenced by the best particle and best position so it may only get the local optimum [3,4].The control parameters of PSO can be modified according to the specific optimization problems and applications [5][6][7].This paper presents a new method integrated with differential evolution (DE) and modified particle swarm optimization (PSO).In particular, this strategy aims to combine the advantages of DE and the modified PSO together and then apply the hybrid algorithm to the numerical solution of a parallel manipulator.
Parallel robots have been a hot research topic for many years due to their superior performance such as high response speed, high stiffness, high payload/weight ratio, low inertia, and good dynamic performance [8][9][10].This paper focuses on a spatial parallel manipulator with 3 DOFs which was developed by Lee and Shah [11].The 3-RPS parallel manipulator has three legs and each branch is a serial kinematic chain [12].To obtain the position and orientation of the moving platform, it is necessary to define the forward kinematics of the parallel manipulator based on the length of the branches [13].It should be noted that forward kinematics of parallel manipulators is more complicated than that of serial ones, and vice versa [14][15][16].
Analysis of kinematics can be divided into two approaches: analytical methods and numerical methods [17,18].In numerical methods, the forward kinematic solution is found by solving a nonlinear global optimization problem to find the numerical solution [19].Many numerical calculation methods for solving nonlinear equations have been utilized in kinematic problems.Newton's iteration method, together with its improvements, is a common method that is very efficient as regards convergence speed.However, Newton's iteration method is an arduous procedure which is sensitive to initial values and involves a large number of calculation steps [8].Compared to PSO, the differential evolution (DE) algorithm has received much more attention due to its capability of global optimization [20,21].
The nonlinearity and multiple solution properties of the forward kinematics of a parallel manipulator make the analytical method more difficult and sophisticated than the numerical one.The numerical solution of the forward kinematics can be obtained using optimization methods such as DE and PSO or other hybrid optimization methods [22,23].In this paper, some modern intelligent optimization methods will be utilized and compared with each other.A timesaving hybrid strategy combined by differential evolution and modified particle swarm optimization is developed for the numerical solution of the forward kinematics of a 3-DOF parallel manipulator.

A Hybrid Strategy of Differential Evolution and Particle Swarm Optimization
The differential evolution (DE) optimization algorithm is a simulation of the biological evolution process.It is capable of handling nondifferentiable, nonlinear, and multimodal objective functions.To start an optimization process, an initial population must be randomly generated within a predefined bound, and then a new population in the next generation is generated through mutation, crossover, and selection operations.Particle swarm optimization (PSO) is a computational algorithm that optimizes a problem by iteratively improving a candidate solution with regard to a given measure requirement.The movements of the particles mimic the movement of organisms in a bird flock or fish school and are guided by their own best known position in the search space as well as the entire swarm's best known position.
Modified particle swarm optimization (MPSO) has the user-defined constant parameters ,  1 , and  2 which have a great impact on the optimization performance.The parameter  is utilized to adjust the velocity, the parameter  1 is utilized to adjust best(), which is the best position achieved so far by every individual, and the parameter  2 is utilized to adjust best(), which is the best value obtained so far by any particle in the population.In order to improve the performance of PSO, time-varying acceleration coefficients and time-varying inertia weight can be utilized.The inertia weight can provide a balance between the local search and global search during the optimization process: where  1 and  2 are the initial and the final inertia weight, respectively, Iter is the current iteration number, and Iter max is the maximum number of iterations.By increasing the number of iterations, the weights of best() and best() can have different convergence rates: where  max and  min are the maximum and minimum acceleration coefficient of  1 and  2 , respectively.The hybrid strategy of DE and MPSO (DEMPSO) is the new strategy.A key merit of DE algorithm is the efficient global optimization.Furthermore, the diversity of the entire population can be always maintained during the whole evolution process, which can prevent the individuals from falling into a local optimum.PSO, on the other hand, has the advantage of fast convergence speed.The individual with the best history and the best individual among the entire iteration are saved to obtain the lowest fitness values.
Combining the advantages of DE and PSO, a new hybrid DEMPSO strategy is proposed which aims to achieve both fast convergence speed and efficient global optimization.Since the population of PSO easily falls into a local optimum, the proposed DEMPSO method uses the DE algorithm to reduce the search space first, and then the obtained populations are taken over by the MPSO as an initial population to get a fast convergence rate to the final global optimum.The hybrid algorithm can obtain the global minimum value based on the fitness function, which is built for the numerical solution for forward kinematics of a parallel manipulator.The procedure of the DEMPSO algorithm is illustrated as follows.
(1) Population Initialization.The individual , with the population number NP, is randomly generated to form an initial population in a -dimensional space.All the individuals should be generated within the bounds of the solution space.The initial individuals are generated randomly in the range of the search space.And the associated velocities of all particles in the population are generated randomly in the dimension space.Therefore, the initial individuals and the initial velocity can be expressed as follows: where 1 ≤  ≤ Np, 1 ≤  ≤ , [ min ,  max ] is the range of the search space, and rand(0, 1) is a random number chosen between 0 and 1.  individuals from the previous population, the mutant individual   ( + 1) can be generated as the following equation: where  is a differential weight between 0 and 1.It is a zoom factor to control the amplification of the mutation operation. 1 ,  2 , and  3 are random integers that have been selected from 1 to NP and  1 ,  2 ,  3 , and  are not the same as each other.
The crossover operation aims to construct a new population  , ( + 1) which is chosen from the current individuals and mutant individuals in order to increase the diversity of the generated individuals: where rand(0, 1) is a random number chosen from 0 to 1,  rand is an integer chosen from 1 to  randomly, and Cr is a crossover parameter that is randomly chosen from 0 to 1.
In the selection operation, the crossover vector   (+1) is compared to the target vector   () by evaluating the fitness function value based on a greedy criterion, and the vector with a smaller fitness value is selected as the next generation vector: Update the global best part with the minimum fitness value (best) and the personal-best part (best).Let the best value be  1 and perform a comparison with the stopping tolerance value  1 .If  1 is less than  1 , the iteration of DE has finished.All the population and positions will continue to the next loop of MPSO.
Let the best value of MPSO be  2 and perform a comparison with fitness value  2 .If  2 is less than  2 , the iteration of MPSO has finished.
The initial population is generated by the DE algorithm, and the stopping criterion of DE is set as the fitness value  1 less than a user-defined stopping tolerance value  1 which is dependent on the specific kinematics of a parallel manipulator.When the fitness value  1 is less than  1 , the DE population will be taken over by the MPSO algorithm.The new velocity and new location of the population are updated in every generation until the fitness value  2 becomes less than the bound condition  2 satisfied.
In order to depict clearly the population moving process, the position and difference vector distribution of the population for the DE-based algorithm and MPSO-based algorithm are shown in Figures 1-4.
The initial and final distributions of the DE-based population are shown in Figures 1(a

Forward Kinematics of a Parallel Manipulator
A parallel manipulator with 3 DOFs was proposed by Fang and Huang [12], which has been widely used in airplane simulators, walking machines, and others.The 3-RPS parallel robot is composed of a base platform, three legs, and a moving platform, as shown in Figure 5.Each leg is a serial chain consisting of a revolute () joint, a prismatic () joint, and a spherical () joint.The manipulator has three degrees of freedom: two rotations are about the -axis and -axis and one translation is along the -axis.The  joints are driven by linear actuators so that the moving platform can achieve the required position and orientation.
The global coordinate - is built at the center of the base platform.The orientation of the -axis is from point  to point  1 , and the orientation of the -axis is parallel to the line   →  2  3 .The  joints are evenly distributed around the base platform as an equilateral triangle.The moving coordinate  1 - 1  1  1 is built at the center of the moving platform.The orientation of the  1 -axis is from point  1 to point  1 , and the orientation of the  1 -axis is parallel to the line   →  2  3 .The  joints are distributed as  joints.For simplicity and without loss of generality, all coordination systems abide by the righthand rule.The geometric parameters of the manipulator are the radius   of the base platform and the radius   of the moving platform.
Let  and  denote the rotation matrix and position vector which move from the global coordinate system to the moving coordinates, respectively.Then, the typical kinematic chain can be denoted as a mathematical formula: where   →     is a vector from point   to point   .The vectors   →  1   and   →   belong to the moving coordinates and the global coordinates, respectively. is -- Euler rotation transformation matrix and  is position transformation vector.
where  = sin  and  = cos .
The position vectors of points   and   with respect to the global coordinate system and the moving coordinates can be expressed as follows: A constraint equation, based on the assembly relationship where the revolute joint axis is perpendicular to the prismatic joint axis, can be written as follows: where   is the axis of the revolute joint and its coordinate values are shown in Table 1.
Table 1: Coordinate values of each rotation axis.
The length of each link   →     , that is, the inverse kinematics of the manipulator, can be calculated as a closed chain as follows: Given a set of lengths of the prismatic joints, the forward kinematics is to get the position and orientation of the moving platform.The numerical forward kinematic solutions of the 3-RPS parallel manipulator are a nonlinear algebraic equation.There are three rotations and three translations in the transformation matrix, but only two rotations and one translation are left in the forward kinematics since there are three extra constraints equations.Based on the specific structure of the parallel manipulator, the constraint equations can be obtained as follows: Substituting ( 14) into ( 13), the inverse kinematics of ( 13) can be simplified as For the parallel manipulator, the analytical inverse kinematic solution of the above equation is straightforward.The nominal leg length   can be obtained easily based on the assumed real pose   ,   , and    .However, given   , the analytical solution for the simulated pose   ,   , and    becomes very complicated and it may have multiple solutions.The given   is obtained based on the real pose   ,   , and    .So, the forward kinematics based on the given   is to let the simulated pose   ,   , and    infinitely approach the real pose   ,   , and    .The simulated pose converges to the real pose with the convergence of the algorithm to the global minimum.The numerical solution of this problem can be solved by minimizing the difference between the given length   and the predicted length   calculated from (15) to find a set of optimized   ,   , and    .The fitness function based on the least squares method can be written as where   is a known leg length which can be acquired from the linear actuator and   (  ,   ,    ) is used to calculate the predicted leg length during the optimization process.

Case Simulation and Results
For the manipulator studied in this work, the task of the simulation is to obtain the end-effector pose when the length of the legs is already known.In the simulation, the geometric parameters of the manipulator are   = 274 mm and   = 158 mm.The workspace of the moving platform of the manipulator is given in Table 2.
For a specific pose selected in the workspace, for instance,   = 5 ∘ ,   = 12 ∘ , and    = 517 mm, through an inverse calculated as  1 = 499.0178mm,  2 = 557.7314mm, and  3 = 534.3032mm.On the contrary, if these three-leg lengths have been obtained from linear actuators, then the numerical optimization task is to search for an optimal combination of   ,   , and    to minimize the fitness function.In our first simulation, the DE-, PSO-, and MPSO-based optimization algorithms will be employed to solve this numerical problem.The aim is to investigate the performance of each algorithm and find a possible solution with the characteristics of fast convergence rate and global optimization.The simulations were implemented using Matlab R2012b on a computer with an Intel5 Core6 i7-4510U CPU @ 2.00 GHz and 7.71 GB RAM.During simulation, the classical DE algorithm DE/rand/bin with the control parameters of  = 0.85 and Cr = 1 is chosen; the PSO control parameters are chosen as  1 = 2,  2 = 2, and  = 0.9.For the control parameters of MPSO,  1 was set to gradually decrease from 2.5 to 0.5 and  2 was set to gradually increase from 0.5 to 2.5.The inertia weight factor  was set in two ways: (1) the inverse way (here, we called it MPSO 1 , where the control parameter  was set to gradually decrease from 0.9 to 0.6) and (2) the direct way (here, we called it MPSO 2 , where the control parameter  was set to gradually increase from 0.6 to 0.9).
Using the above parameters and given the same population number of 30 and the same stopping criterion of 1 −08 , the simulation results of the DE-, PSO-, and MPSO-based algorithms with different iterations and computation times are listed in Table 3. From the simulation results, it can be seen that the computation time of the DE-based algorithm is less than of other algorithms, but it takes more iterations to converge; on the other hand, the MPSO 1 algorithm has the fastest convergence rate with only 560 iterations, but the computation time is a little greater than in the DE algorithm.
Figure 6 illustrates the logarithm-based fitness function values of DE, PSO, and MPSO with respect to the generations.It can be seen that the convergence rate of the DE-based algorithm declines gradually.The fitness value of PSO and MPSO 1 drops very fast at the beginning, but the decline becomes gentler after a number of iterations.The fitness value of MPSO 2 has not got any changes before 2000 generations but it suddenly converged after that period; this is a very interesting characteristic which would be utilized.In our proposed hybrid method, that is, DEMPSO, the DE algorithm part is employed to bypass the steady-state part of MPSO 2 , and the MPSO 2 part is used to obtain a fast convergence rate.
For the proposed DEMPSO algorithm, besides the control parameter selection, one important issue is to decide the break fitness value  1 for the DE algorithm since this value will influence the total computation time after MPSO 2 takes over the optimization process.kinematics with DEMPSO, DEPSO, DE, PSO, and MPSO are listed in Table 5.The logarithm-based fitness function values with respect to iterations are plotted in Figure 7.It can be clearly seen that DEMPSO has great advantage not only as regards convergence speed but also as regards the number of iterations for solving the forward kinematic problem of the parallel manipulator.From Figure 7, it is also shown that the proposed DEMPSO has successfully bypassed the steady state of MPSO 2 and inherited its steepest descent properties.
To validate the effectiveness of the proposed DEMPSO algorithm, in our second simulation, we randomly select five poses in the workspace and calculate the relevant leg lengths through inverse kinematics.DEMPSO was employed to search for the optimum pose of the 3-RPS moving platform for the given leg lengths.Table 6 shows the final results for the five different pose situations of the 3-RPS parallel manipulator.From the table, it can be seen that the searched pose value has approached the real pose value with a very small error value (≈1 − 5) when the termination fitness value  2 is set as 1 − 8.The computation time is almost the same for different pose situations.

Conclusions
In this paper, a hybrid strategy combined with DE and MPSO, termed DEMPSO, is developed to get the numerical solution of parallel manipulator forward kinematics.The proposed hybrid method benefits from the efficient global optimization of DE and the fast convergence rate of MPSO; meanwhile, it avoids the possible local optimization of MPSO.Using this method, the search bounds can be narrowed by the DE-based algorithm subtly; afterwards, the MPSO, with its fast rate of convergence, can obtain the global optimization in this narrowed search space.

( 2 )
Iteration Loop of DE.Let individual   () denote the mutation operation at time .By randomly choosing three

Figure 1 :
Figure 1: Position of the population of DE.(a) At the beginning of the simulation; (b) on convergence.

Figure 2 :Figure 3 :Figure 4 : 3 Figure 5 :
Figure 2: Difference vector distribution of DE.(a) At the beginning of the simulation; (b) on convergence.

Figure 6 :
Figure 6: Logarithm of fitness function values with DE, PSO, and MPSO.

Table 2 :
Workspace of the moving platform.

Table 3 :
Simulation results of forward kinematics with DE, PSO, and MPSO.
Table 4 presents the DEMPSO simulation results of the forward kinematics with different break fitness values of DE.For different break fitness values  1 of DE and the same stopping fitness value  2 of MPSO 2 , the function ran 30 times to get average results of the total iterations of DE and MPSO 2 , the computation time of DE at break point  1 , and the total computation time of DEMPSO at terminal point  2 .From the table, it can be seen that the optimization will spend the least amount of time when the fitness value  1 is equal to 70.By selecting the fitness value  1 as a break point of DEMPSO and DEPSO, the comparison results of forward

Table 4 :
Simulation results of forward kinematics with DEMPSO for different fitness values of DE.

Table 5 :
Comparison results of forward kinematics with DEMPSO, DEPSO, DE, and PSO.

Table 6 :
Simulation results for different situations with DEMPSO.