Robotics and Computer-Integrated Manufacturing 28 (2012) 147–153
Contents lists available at SciVerse ScienceDirect
Robotics and Computer-Integrated Manufacturing journal homepage: www.elsevier.com/locate/rcim
Obstacle avoidance control of redundant robots using variants of particle swarm optimization Goh Shyh Chyan, S.G. Ponnambalam n School of Engineering, Monash University, Sunway Campus, 46150 Bandar Sunway, Malaysia
a r t i c l e i n f o
abstract
Article history: Received 4 May 2011 Accepted 1 August 2011 Available online 10 September 2011
Four variants of Particle Swarm Optimization (PSO) are proposed to solve the obstacle avoidance control problem of redundant robots. The study involved simulating the performance of a 5 degree-offreedom (DOF) robot manipulator in an environment with static obstacle. The robot manipulator is required to move from one position to a desired goal position with minimum error while avoiding collision with obstacles in the workspace. The four variants of PSO are namely PSO-W, PSO-C, qPSO-W and qPSO-C where the latter two algorithms are hybrid version of the first two. The hybrid PSO is created by incorporating quadratic approximation operator (QA) alongside velocity update routine in updating particles’ position. The computational results reveal that PSO-W yields better performance in terms of faster convergence and accuracy. & 2011 Elsevier Ltd. All rights reserved.
Keywords: Particle swarm optimization Redundant robot Hybridization Obstacle avoidance
1. Introduction In performing repetitive tasks for industrial robot manipulator such as arc welding, it is crucial that the robot’s end-effector is able to reach the desired points with minimal error to produce output with acceptable quality. Also, the robot must be capable of avoiding operational singularities and avoiding collision with obstacles that exist in its environment. It is common to place other robot manipulator or machines together to save valuable floor space. One solution to achieve all three objectives simultaneously is to adapt kinematic redundancy [1–4,6,7]. A redundant robot manipulator has extra degree of freedom (DOF) than required to reach a certain point in the workspace. These additional DOF allow the robot to perform task with higher flexibility along with the ability to avoid collision with obstacles and robot operation singularities. The control of such robot manipulator can be implemented in the Cartesian space or joint space. Cartesian space mapping problem can be viewed as inverse kinematics problem where one has to develop the complex solution of pseudo-inverse Jacobian matrix to solve for joint angle value for each joint in order for the end-effector to reach the desired point in workspace. In contrast, joint space can be regarded as forward kinematics problem where the end-effector position is a function of joint angle values of the robot manipulator. A number of works have
n
Corresponding author. Tel.: þ60 3 55146203; fax: þ 60 3 55146207. E-mail addresses:
[email protected] (G. Shyh Chyan),
[email protected] (S.G. Ponnambalam). 0736-5845/$ - see front matter & 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.rcim.2011.08.001
been conducted in solving the robot manipulator problem similar or identical to the problem stated above with robot kinematics redundancy. Kim and Lee [1] incorporated Fuzzy Logic to resolve motion rate control (RMRC) with appropriate fuzzy rules, membership functions and reasoning methods to solve for joint angle values. The effect of such hybrid algorithm solved the mapping problem between the two spaces with reduced complexity as the solution does not require solving the inverse kinematics or pseudo-inverse of Jacobian matrix. Beheshti and Tehrani [2] introduced the Adaptive Fuzzy Logic (AFL) incorporating obstacle avoidance feature in their solution of inverse kinematics of robot manipulators. The fuzzy rule base has been extended to include the detection of obstacles and the obstacles were modeled as disks in planar space and convex volumes in 3D space. Nearchou [3] proposed a modified Genetic Algorithm (mGA) to determine the solution set of joint angles in the free space. The solution was initially generated randomly and improved over generations to finally arrive at the near optimal solution. The GA was applied in two levels where the first level will determine the ‘‘best’’ solution achieved and the second level introduces additional small changes to the solution found in the previous level until convergence. Zhang and Wang [4] addressed a kinematically redundant manipulator with obstacle avoidance ability on dual neural network. The obstacle avoidance was realized by utilizing dynamically updated inequality constraints instead of equality constraints. The recurrent dual neural network was developed based on inequalitybased QP formulation to solve for critical points of manipulator and its joint velocities. Also, velocity smoothing technique was
148
G. Shyh Chyan, S.G. Ponnambalam / Robotics and Computer-Integrated Manufacturing 28 (2012) 147–153
introduced by incorporating improved dual neural network (IDNN), which has the characteristic of lower structural complexity. Eberhart and Kennedy [5] reported that particle swarm optimization could yield significant improvement in solving trajectory planning problem (TPP). Huang et al. [6] proposed a Simplex Algorithm (SA) based PSO and compared it against An Algorithm. In their work, SA-PSO was proved to produce more accurate solution and displayed the capability of SA in preventing the PSO from being trapped in local optima. Guo et al. [7] introduced Quantum-PSO (QPSO) in 2010 to design a collision-free trajectory for planar redundant manipulator. In QPSO, the particles were to move in a quantum style and initialized using chaotic sequence instead of usual random sequence. They compared QPSO with GA and ascertained that QPSO converges faster than GA without losing accuracy of solution. In this paper, further exploration in utilizing PSO is realized by hybridization of QA with PSO in which, the hybridization is performed on PSO-W (PSO with inertia weight) and PSO-C (PSO with constriction factor) to create two hybrid algorithms namely qPSO-W and qPSO-C. All four PSOs are tested in each of the situations i.e. (i) free-space, (ii) one obstacle and (iii) two obstacles environment in simulation to determine the best PSO in solving for redundant robot problem. Ergo, the paper is organized as follows. Section 2 describes the problem statement raised in this paper. Next, Section 3 introduces the basics of PSO and this knowledge is expanded in forming PSO-W, PSO-C and subsequently the hybrids qPSOs. In Section 4, the simulation result is presented and then analyzed in Section 5. Finally, Section 6 concludes the finding of this paper.
2. Problem statement In Fig. 1, a five DOF planar robot is shown where it is placed in workspace with an obstacle. The robot end-effector is required to move from starting point to a desired end point while avoiding collision with the obstacle. The movement of the end-effector is achieved by appropriate rotation of respective link joints (i.e. y1, y2,y,y5). To position the end-effector accurately, information on the environment (e.g. shape and vertices of the obstacle, starting and ending point, etc.) is to be acquired beforehand. Therefore the problem is defined as: to determine a collision-free configuration of a
5 DOF redundant robot manipulator, which allows the robot end-effector to travel from an initial point to the desired goal point with minimal error (greatest accuracy). The obstacle(s) are static and presented as polygon in which a closed loop of straight lines is formed. Each link on the robot manipulator measures 5 units in length and is allowed to have a rotation between 1501 and 1501.
3. PSO and variants 3.1. Standard PSO PSO is an optimization method that utilizes swarm intelligences in solving problems. It mimics the social behavior of bird flock and fish schools when they search for food [5]. It is very different from evolutionary algorithms, in which various operators are applied to the population yielding next generation with higher fitness value (better solution). In other words, the population evolves itself until it converges to the optimal solution in evolutionary algorithm. In PSO, each particle is searching for the optimal solution therefore they are moving with a certain velocity. Each particle also remembers the best result achieved so far (personal best) and exchanges information with other particles to determine the best particle (global best) among the swarm. At each time step, a particle has to move to a new position by adjusting its velocity. The particle would tend to move towards its historical best position and the best position recorded by the swarm. Hence, the velocity is actually comprised of the following three components: (i) the current velocity, (ii) weighted random portion in the direction of its personal best and (iii) weighted random portion in the direction of global best. The new position is merely the sum of current position with the new velocity. In short, let the solution space to be D-dimensional, then the i-th particle in the swarm is Xi ¼(xi1, xi2,y,xiD)T; the velocity vector is Vi ¼(vi1, vi2,y,viD)T; the historical best position of the i-th particle is Pi ¼(pi1, pi2,y,piD)T. The best particle is recognized by fixing g as the index of the above expressions. Standard PSO is only governed by the following two equations: vid ¼ vid þc1 r1 ðpid xid Þ þ c2 r2 ðpgd xid Þ
ð1Þ
xid ¼ xid þvid
ð2Þ
In which (1) being velocity update equation and (2) being position update equation. Where d¼1, 2,y,D; i¼1, 2,y,S, where S is the swarm size; c1 and c2 are weight of personal best and weight of global best, respectively; r1 and r2 are random numbers distributed uniformly in [0,1]. Often, vid is truncated to a threshold value Vmax to increase the stability and resolution of search process. 3.2. PSO-W and PSO-C With the concept of standard PSO structure, later exploration leads to the development of inertia weight concept. It is an effort motivated to discard Vmax while increasing search space exploration and exploitation. Later it is found that addition of inertia weight is unable to replace the role of Vmax. However, the introduction of inertia weight enables the use of another parameter to tune the performance of PSO. Hence with inertia weight, (1) then becomes vid ¼ wn vid þ c1 r1 ðpid xid Þ þ c2 r2 ðpgd xid Þ Fig. 1. The five DOF planar robot manipulator configuration in environment with one obstacle.
ð3Þ
where w is the inertia weight. According to Eberhart and Shi [8], the optimal strategy is to set w to 0.9 initially and then reduce it linearly
G. Shyh Chyan, S.G. Ponnambalam / Robotics and Computer-Integrated Manufacturing 28 (2012) 147–153
to 0.4, allowing early exploration before exploiting in the proximity of global optimum later. Also, Clerc [9] introduced a constriction factor, w, which enhances the constraint and control on velocities. w is defined as
w¼
2 pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 92f fðf4Þ9
149
Start
Initialize particles randomly over the search space
ð4Þ
where f ¼c1þc2, f 44, therefore (1) becomes vid ¼ wn ½wn vid þc1 r1 ðpid xid Þ þ c2 r2 ðpgd xid Þ
ð5Þ
Calculate the fitness value of each particle and therefore determine the best particle, Pg. Particles are divided into two subswarms (s1 and s2) s1
s2
3.3. Quadratic approximation particle swarm optimization (qPSO) It was noticed that PSO has weaknesses such as premature convergence, trapped in local optima, low precision and others. In an effort to mitigate these shortcomings, various improvements on PSO have been proposed. In this paper, a hybrid version of PSO, which incorporates quadratic approximation operator is employed. Kusum and Jagdish [10] hybridized PSO with QA operator as second rule for updating particle velocity alongside the usual velocity update Eqs. (3) or (5). They performed standard set of benchmark test on all four algorithms namely PSO-W, PSO-C, qPSO-W and qPSO-C and discovered that the hybrid does improve the overall accuracy of PSO compared to their native versions. QA is an operator, which calculates the point of minima of the quadratic hyper surface passing through three points in a D-dimensional space. In essence: 1. Select three particles R1, R2 and R3 where they are the best particles in the swarm and two random particles. At least two particles should be distinct. 2. Determine the point of minima Rn of the quadratic surface passing through R1, R2 and R3, where 2 2 ðR2 R3 Þf ðR1 Þ þ ðR23 R21 Þf ðR2 Þ þ ðR21 R22 Þf ðR3 Þ ð6Þ Rn ¼ 0:5 ðR2 R3 Þf ðR1 Þ þ ðR3 R1 Þf ðR2 Þ þ ðR1 R2 Þf ðR3 Þ
Calculate the velocity update value for each particle
Are at least two among R1, R2 and R3 are distinct?
Apply the velocity to each particle to place them in new position Obtain R* by QA method
Goal reached? No
Yes End
Fig. 2. Flowchart showing the steps involved in hybrid PSO.
where f(R1), f(R2) and f(R3) are the fitness values of R1, R2 and R3, respectively. This calculation should be performed component-wise to obtain Rn of a particle. The hybrid is formed by splitting the swarm of particles into two subswarms, where particles in one subswarm is evolved by native PSO velocity update Eqs. (3) or (5) and another using QA. The percentage of particles to be updated by QA is known as coefficient of hybridization (CH). Note that if CH is set to zero then the qPSO would be no different from native PSO without any form of hybridization. This concept can be visualized in Fig. 2 as the right hand side branch would diminish if CH is zero. Fig. 3 illustrates the idea of splitting the entire particle swarm to two subswarms (s1 and s2).
3.4. Fitness function It is common in any optimization problem to pursue the minimum or maximum fitness function (fitness value) subjected to certain constraints. In the case of robot manipulator problem, the main objective is to minimize the positional error between the end-effector and goal point. Also, the secondary objective is to satisfy the constraint of collision-free positioning of the robot manipulator. If the robot’s end-effector current position is Posc ¼(xc, yc)T and the goal point is Posf ¼(xf, yf)T, then the
Fig. 3. Swarm of particles is divided into two subswarms where each is updated by PSO and QA.
positional error is defined as qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi Err ¼ ðxc xf Þ þðyc yf Þ
ð7Þ
Considering the ability of robot to avoid collision with obstacle in workspace during movement to goal point, a coefficient coll is introduced and has the property of: ( 1, if collision-free movement coll ¼ ð8Þ 0, otherwise
150
G. Shyh Chyan, S.G. Ponnambalam / Robotics and Computer-Integrated Manufacturing 28 (2012) 147–153
Combining the elements and manipulating the fitness to a scale from 0 (collision) to 1 (perfect match) yields the fitness function (9) fitness ¼
coll 1 þErr
ð9Þ
3.5. Parameter selection It is known that proper selection of parameters such as c1 and c2 in (1) and w in (3) could greatly enhance the performance of PSO. Therefore a light study on parameter selection was performed before utilizing these PSOs in solving the problem in hand. According to Eberhart and Shi, inertia weight coefficient, w in PSO-W should be linearly decreased from 0.9 to 0.4. In this paper, the same strategy is adopted with a slight change where w is decreased for the first 100 iterations only. The motivation is to enhance
exploration of solution space earlier to increase convergence speed. Also, Eberhart and Shi [8] discovered that limiting Vmax to the dynamic range of each particle (on each dimension), Xmax would greatly improve the performance of PSO-C. Hence, Vmax is set to 150 and 150 as limits on both extremes for all PSOs in this paper. As for c1 and c2, a set of trial and error run for PSO-W and PSO-C with different range is performed. The run for both PSOs are identical where the robot manipulator should reach point (10, 10) in free-space with error less than 0.001 in distance. For PSO-W, its performance with c1 and c2 in the range of 0.1–3.0 is investigated. The PSOs are put under test for each combination of c1 and c2 value in the range depicted above and the performance in terms of time to convergence and iterations to convergence is presented as contour map in Figs. 4 and 5, respectively. Brighter (higher) areas indicate better performance of PSO. The run for each combination of c1 and c2 is repeated five times to obtain more reliable results. By inspecting both figures, it is concluded that the optimum c1 and c2 values for PSO-W
Fig. 4. (a) and (b). Upper figure is a contour map relating parameter c1 and c2 to the performance of PSO-W in terms of computation time required for solution to converge; whereas lower figure relates c1 and c2 to number of cycles to convergence. Brighter region indicates better performance for corresponding c1 and c2.
Fig. 5. (a) and (b). Upper figure is a contour map relating parameter c1 and c2 to the performance of PSO-C in terms of computation time required for solution to converge whereas lower figure relates c1 and c2 to number of cycles to convergence. Brighter region indicates better performance for corresponding c1 and c2.
G. Shyh Chyan, S.G. Ponnambalam / Robotics and Computer-Integrated Manufacturing 28 (2012) 147–153
151
Table 1 Effect of CH on qPSO-W. Criteria
CH
Convergence time (s) Cycles to convergence
0.1 0.5206 56.6
0.2 0.4352 47
0.3 0.4202 44.5
0.4 0.5766 57.7
0.5 0.4498 46.1
0.6 0.5118 51.3
0.7 0.5746 60.1
0.8 0.7081 72.6
0.9 1.3968 139.9
0.2 0.9698 101.1
0.3 0.7644 76.4
0.4 1.1979 125.8
0.5 0.7746 76.2
0.6 1.4026 137.7
0.7 1.4691 150
0.8 1.3696 139.3
0.9 1.5317 150
Table 2 Effect of CH on qPSO-C. Criteria
CH
Convergence time (s) Cycles to convergence
0.1 0.8006 89.8
1.2
Max. Fitness
1 0.8 0.6
PSO-C PSO-W
0.4
qPSO-C qPSO-W
0.2 0 0
10
20
30 Generation
40
50
60
Fig. 7. Comparison of PSOs’ performance in terms of convergence speed in obstacle-free environment. qPSOs display higher acceleration in early generation of iteration.
Fig. 6. Robot manipulator configuration in free-space, placing its end-effector at (10, 10).
is 0.7 and 1.0, respectively, while it is 5.8 and 2.8, respectively, for PSO-C. Higher values of c1 and c2 for PSO-C are agreeable with the presence of constriction factor, where it effectively reduces the actual c1 and c2 values when this factor is multiplied with the three coefficients in (5). On the other hand, CH for both qPSO-W and qPSO-C is investigated as well. This is to ensure that the hybridized PSO is able to yield the best performance in solving the robot manipulator problem presented in this paper. Since the optimal value of c1 and c2 for PSO-W and PSO-C is known beforehand, the search for optimum CH value involves freezing c1 and c2 while observing the performance of qPSOs with CH in the range of 0.1–0.9. The result is depicted in Table 1, where the best CH value for qPSO-W is found to be 0.3. qPSO-C opted the same CH value, as Table 2 does not indicate a clear CH value to be employed.
performance of each PSO in solving robot manipulator problem. The three cases are (i) movement in free-space, (ii) environment with one obstacle and (iii) environment with two obstacles. For each case, the robot manipulator’s end-effector starts moving from an initial point (25, 0) to a certain goal point. The maximum number of iteration of PSO is set to 350 to allow each PSO variant to converge with zero error at the end of each run. Other parameters, which have been determined previously are employed, leaving PSOs’ particle number the only parameter left to be disclosed. It is decided that the particle number is to vary with different cases of simulation, i.e. 30 for free-space movement, 40 for one obstacle environment and 50 for two obstacles environment. This would provide PSOs higher possibility to identify the perfect (error-free) solution without utilizing excessive resources during calculation process, which could render the entire search process to be slower. The PSOs are gauged in two aspects: (i) time to converge and (ii) number of iterations to converge. The run for each PSO is repeated 20 times to produce averaged data, hence increasing the reliability of result obtained. Also, the convergence speeds of respective PSO are compared in Figs. 7, 9 and 11, which illustrate the maximum fitness value over the duration of iteration up to 60 cycles.
4. Experimental results 4.1. Movement in free-space This section presents the simulation result of the 5 DOF robot manipulator performed in MATLAB environment. The four variants of PSO: PSO-C, PSO-W, qPSO-C and qPSO-W are tested in three case studies to enable better understanding of the
The robot manipulator’s end-effector is required to reach point (10, 10) from initial point (25, 0). Fig. 6 shows the configuration of the robot in such condition as a computation result of PSO-C
152
G. Shyh Chyan, S.G. Ponnambalam / Robotics and Computer-Integrated Manufacturing 28 (2012) 147–153
Fig. 10. Robot manipulator configuration in environment with two obstacles, placing its end-effector at (15, 15).
1.2
1.2
1
1
0.8
0.8
0.6
Max. Fitness
Max. Fitness
Fig. 8. Robot manipulator configuration in environment with one obstacle, placing its end-effector at (16, 16).
PSO-C PSO-W
0.4
0.6
PSO-C PSO-W
0.4
qPSO-C
qPSO-C
0.2
qPSO-W
0.2
qPSO-W
0
0 0
10
20
30 40 Generation
50
0
60
Fig. 9. Comparison of PSOs’ performance in terms of convergence speed in environment with one obstacle. Non-hybrid PSOs clearly display higher acceleration in early generation of iteration.
(chosen arbitarily). From Table 3, it is evident that qPSO-W outperforms others.
4.2. Movement in free-space The robot manipulator’s end-effector is required to reach point (10, 10) from initial point (25, 0). Fig. 8 shows the configuration of the robot in such condition as a computation result of PSO-C (chosen arbitarily). From Table 4, it turns out that PSO-W outperforms others.
10
20
30 40 Generation
50
60
Fig. 11. Comparison of PSOs’ performance in terms of convergence speed in environment with two obstacles. Both versions of PSO-C display higher acceleration in early generation of iteration.
Table 3 Performance of PSOs in free-space. Criteria
PSO-C
PSO-W
qPSO-C
qPSO-W
Convergence time (s) Cycles to convergence
3.0017 274.8
1.5302 139.90
2.8585 297.65
1.2188 132.75
Table 4 Performance of PSOs in environment with one obstacle. Criteria
PSO-C
PSO-W
qPSO-C
qPSO-W
Convergence time (s) Cycles to convergence
5.6793 244.1
3.493 154.7
6.5193 274.2
3.9828 168.1
4.3. Movement in free-space 5. Discussion The robot manipulator’s end-effector is required to reach point (10, 10) from initial point (25, 0). Fig. 10 shows the configuration of the robot in such condition as a computation result of PSO-C (chosen arbitarily). From Table 5, it is evident that again PSO-W outperforms others.
From Tables 3–5, it is apparent that PSO-Ws exhibit superiority in solving redundant robot problems. They require less time and lesser number of iterations to determine the best (error-free) solution. The strategy of first utilizing a higher inertia weight and
G. Shyh Chyan, S.G. Ponnambalam / Robotics and Computer-Integrated Manufacturing 28 (2012) 147–153
153
less change of velocity per iteration. Again, the hybrids are inferior to their native version.
Table 5 Performance of PSOs in environment with two obstacles. Criteria
PSO-C
PSO-W
qPSO-C
qPSO-W
Convergence time (s) Cycles to convergence
5.0506 278.15
2.8171 154.15
5.5048 298.95
3.3189 178.80
reducing it gradually along the computation is a sound approach compared to keeping static parameters as in the case of PSO-Cs. However, the performance of hybrid PSOs is surprisingly worse than expected. Perhaps the multi-dimensional problem presented in redundant robot problem poses a challenge for the QA operator to function effectively. It indicates that searching point of minima for five components of a function (five DOF hence five components) is ineffective to lead the function to a desired solution. Additionally, the poor performance of hybrids might be caused by division of particles into two subswarms that effectively reduces the number of particles searching in the solution space, as part of them are engaged in mathematical operations that does not involve actively in the search. Also, particles in early iterations of QA operation failed to accelerate towards convergence as the random particles selected are unable to generate usable points of minima. In another attempt to compare PSOs’ performance, three plots of PSO fitness value against iteration are constructed to trace the convergence speed of PSOs in three situations mentioned earlier. All four traces are superimposed on each of the three plots, as shown in Figs. 7, 9 and 11, respectively, to enable comparison to be made easier. From the three figures, it can be seen that there is insufficient information to conclude which PSO is fastest to converge. In freespace environment, the two qPSOs took the lead on the non-hybrid ones. However, in environment with one obstacle, the non-hybrid PSOs in turn took the lead over the hybrids. Finally, both PSO-Cs is ahead of the PSO-Ws in environment with two obstacles. Since the paper is more interested in environment with obstacles, it can be assumed that PSO-C has the fastest initial convergence speed among the rest. However, it is necessary to emphasize that although PSO-C converges quickly in early iterations, it is always PSO-W that first reaches absolute convergence. This reveals that although PSO-C is aggressive and fast, it failed to settle at the best solution with its dynamically unstable nature. In contrast, the slower converging PSO-W manages to settle in with
6. Conclusion The problem of redundant robot manipulator point-to-point movement in environments with obstacle was studied. Unexpectedly, forming hybrid PSOs with QA operator failed to improve the performance of the PSO. However, there is an interesting finding that compensate for the null improvement of hybrid PSOs. It might be beneficial to combine the characteristics of PSO-C and PSO-W in creating a PSO that converges quickly in early iterations and is yet able to settle down once the solution is near optimum. A feasible approach is to utilize PSO-C that is able to morph itself into having a PSO-W-like structure after reaching certain fitness value. It is hoped that this feature would grant the morphing PSO with the strength of both PSOs. References [1] Kim SW, Lee JJ. Resolved motion rate control of redundant robots using an adaptive fuzzy logic. In: Proceedings of the second IEEE international conference on fuzzy systems; 1993. p. 333–8. [2] Beheshti MTH, Tehrani AK. Obstacle avoidance for kinematically redundant robots using an adaptive fuzzy logic algorithm. In: Proceedings of the American control conference, vol. 2; 1999. p. 1371–5. [3] Nearchou AC. Solving the inverse kinematics problem of redundant robots operating in complex environments via a modified genetic algorithm. Mechanism and Machine Theory 1998;33(3):273–92. [4] Zhang YN, Wang J. Obstacle avoidance for kinematically redundant manipulators using a dual neural network. IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics 2004;34(1):752–9. [5] Eberhart RC, Kennedy J. A new optimizer using particle swarm theory. In: Proceedings of the sixth international symposium on micromachine and human science. Nagoya, Japan; 1995. p. 39–43. [6] Huang G, Li DH, Yang J. A research on particle swarm optmization and its application in robot manipulators. In: Proceedings of the IEEE PACIIA; 2008. p. 377381. [7] Guo JC, Wang XJ, Zheng XW. Trajectory planning of redundant robot manipulators using QPSO algorithm. In: Proceedings of eighth WCICA; 2010. p. 403–7. [8] Eberhart RC, Shi y. Comparing inertia weights and constriction factors in particle swarm optimization. Congress on Evolutionary Computing 2000;1:84–8. [9] Clerc M. The swarm and the queen: towards a deterministic and adaptive particle swarm optimization. In: Proceedings of the ICEC. Washington, DC; 1999. p. 1951–7. [10] Kusum D, Jagish CB. Hybridization of particle swarm optimization with quadratic approximation. OPSEARCH 2009;1:3–24.