Abstract

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 kinematic model 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.

1. 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 [57]. 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 [810]. 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 [1416].

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 time-saving 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.

2. 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 , , and which have a great impact on the optimization performance. The parameter is utilized to adjust the velocity, the parameter is utilized to adjust , which is the best position achieved so far by every individual, and the parameter is utilized to adjust , 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 and are the initial and the final inertia weight, respectively, Iter is the current iteration number, and is the maximum number of iterations.

By increasing the number of iterations, the weights of and can have different convergence rates:where and are the maximum and minimum acceleration coefficient of and , 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 , , is the range of the search space, and is a random number chosen between 0 and 1.

(2) Iteration Loop of DE. Let individual denote the mutation operation at time . By randomly choosing three individuals from the previous population, the mutant individual 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. , , and are random integers that have been selected from 1 to NP and , , , and are not the same as each other.

The crossover operation aims to construct a new population which is chosen from the current individuals and mutant individuals in order to increase the diversity of the generated individuals:where is a random number chosen from 0 to 1, 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 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 and the personal-best part . Let the value be and perform a comparison with the stopping tolerance value . If is less than , the iteration of DE has finished. All the population and positions will continue to the next loop of MPSO.

(3) Iteration Loop of MPSO. Set the time-varying parameters , , and as the MPSO defined. Renew the individual velocity as follows:where the constant parameters , , and are defined and is a number randomly chosen between 0 and 1.

The new individuals are generated as follows:

Let the best value of MPSO be and perform a comparison with fitness value . If is less than , 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 less than a user-defined stopping tolerance value which is dependent on the specific kinematics of a parallel manipulator. When the fitness value is less than , 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 becomes less than the bound condition 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 14.

The initial and final distributions of the DE-based population are shown in Figures 1(a) and 1(b), respectively. The position of individuals of the DE-based algorithm has converged to 10−4. The initial and final distributions of the MPSO-based population are shown in Figures 3(a) and 3(b), respectively. The position of individuals of the MPSO-based algorithm has converged to 10−3.

The individuals of the MPSO-based algorithm are not gathered in a small space like the individuals of the DE-based algorithm. Based on the fitness value, the best individual of the MPSO-based algorithm will be chosen at every generation, and the algorithm will converge when the best individual meets the fitness value set before.

The initial and final difference vector distributions of the DE-based algorithm are shown in Figures 2(a) and 2(b), respectively. The initial difference vector distribution of the MPSO-based algorithm shown in Figure 4(a) is similar to that of the DE-based algorithm. Comparison of the final difference vector of the MPSO-based algorithm, shown in Figure 4(b), with that of the DE-based algorithm, shown in Figure 2(b), indicates that the population of the MPSO-based algorithm stops the iteration without convergence of all the individuals, while the individuals of the DE-based algorithm converge to a small space as the global optimization.

3. 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 , and the orientation of the -axis is parallel to the line . The joints are evenly distributed around the base platform as an equilateral triangle. The moving coordinate is built at the center of the moving platform. The orientation of the -axis is from point to point , and the orientation of the -axis is parallel to the line . The joints are distributed as joints. For simplicity and without loss of generality, all coordination systems abide by the right-hand 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 and belong to the moving coordinates and the global coordinates, respectively. is Euler rotation transformation matrix and is position transformation vector.where and .

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.

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 aswhere 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.

4. 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 = 499.0178 mm, = 557.7314 mm, and = 534.3032 mm. 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 Intel® Core™ 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 , , and . For the control parameters of MPSO, was set to gradually decrease from 2.5 to 0.5 and was set to gradually increase from 0.5 to 2.5. The inertia weight factor was set in two ways: the inverse way (here, we called it MPSO1, where the control parameter ω was set to gradually decrease from 0.9 to 0.6) and the direct way (here, we called it MPSO2, 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 , 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 MPSO1 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 MPSO1 drops very fast at the beginning, but the decline becomes gentler after a number of iterations. The fitness value of MPSO2 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 MPSO2, and the MPSO2 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 for the DE algorithm since this value will influence the total computation time after MPSO2 takes over the optimization process. Table 4 presents the DEMPSO simulation results of the forward kinematics with different break fitness values of DE. For different break fitness values of DE and the same stopping fitness value of MPSO2, the function ran 30 times to get average results of the total iterations of DE and MPSO2, the computation time of DE at break point , and the total computation time of DEMPSO at terminal point . From the table, it can be seen that the optimization will spend the least amount of time when the fitness value is equal to 70.

By selecting the fitness value as a break point of DEMPSO and DEPSO, the comparison results of forward 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 MPSO2 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) when the termination fitness value is set as 1. The computation time is almost the same for different pose situations.

5. 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.

To validate the proposed hybrid optimization method, a 3-RPS parallel manipulator was used as an example to numerically solve the nonlinear forward kinematics. In order to get the position and orientation of the moving platform of the manipulator, the algorithms are utilized to solve the constructed fitness function. The comparison study of the proposed DEMPSO algorithm and the DE, PSO, and MPSO algorithms showed that DEMPSO can obtain the best performance for the numerical solution of parallel manipulator forward kinematics. Regarding the general case of nondifferentiable, nonlinear, and multimodal objective functions, further benchmark simulation should be carried out to verify the universality of the proposed hybrid DEMPSO algorithm.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this article.