# Modified PSO Method for Robust Control of   3RPS Parallel Manipulators

Authors: Tung-Sheng Zhan; Chih-Cheng Kao
Journal: Mathematical Problems in Engineering
 (2010)

---

## Abstract

We propose an effective method to design a modified particle swarm optimization (MPSO) singularity control method for a fully parallel robot manipulator. By adopting MPSO to obtain simple and effective estimated damping values, the result automatically adjusts the damping value around a singular point and greatly improves the accuracy of system responses. This method works by damping accelerations of the end effector, so that accelerations along the degenerated directions are zero at a singular point. These velocities, however, may not be zero in some situations, in which case, fluctuations will be encountered around a singular point. To overcome this drawback, we propose a control scheme that uses both damped acceleration and damped velocity, called the hybrid damped resolved-acceleration control (HDRAC) scheme. The MPSO optimization method can immediately provide optimal damping factors when used in an online application. Our proposed approach offers such superior features as easy implementation, stable convergence characteristics, and good computational efficiency. The main advantage of the HDRAC with MPSO in the 3RPS parallel manipulator control system is that it is not necessary for the system to plan its path for avoiding the singular point; thus, the workspace can be improved. Illustrative examples are provided to show the effectiveness of this HDRAC in practical applications, and experimental results verifying the utility of the proposed control scheme are presented.


---

## Body

## 1. Introduction

Parallel robotics offers the advantages of heavy load capacity, high rigidity, and low inertia. The triaxial RPS parallel manipulator,  which is equipped with revolute joints on the base platform and spherical joints on the moving platform, has been widely applied to electronic gaming machines, virtual reality movies, simulations of aircraft and vehicles, and so on. In their research on 3RPS parallel robotics, Lee and Shah [1] used loop closure equations to deduce kinematic equations for the relationship between link lengths and the position of the moving platform. In a separate study, they also deduced the dynamic equations that included the drive forces and reacting forces of 3RPS parallel robotics in the case  of inverse dynamics [2, 3]. Following their work, Fang and Huang [4] simplified the mathematic models and established the relationship among three input-output variables.  Li and Xu  [5, 6] deal with the kinematic characteristics in terms of workspace and dexterity vary with differences in the arrangement of actuators are investigated in detail.Generally, there are three types of singularity of parallel mechanisms, that is, inverse, direct, and combined singularities. In this study, we deal with the direct kinematic singularities. Therefore, the author divided the procedure of finding “direct kinematic singularities” of 3RPS platform mechanism. In horizontal position of the moving platform, to begin with, he assumed the direction of the moving platform and determined its horizontal position at this moment, that is, its projection on the fixed base. Then, since the direction of the moving platform has been assumed, also, a moving platform remaining in this direction can only translate vertically, it is possible to locate the limiting position while this direction has always been kept; this is the boundary of workspace, which makes the determinant of Jacobian matrix equal to zero and thus is the “direct kinematic singularities”.There may exist singular configurations emerging from the motions of mechanisms, and resolved-rate control and resolved-acceleration control [7–9] are the two general approaches used to control robots. In the neighborhood of singularities, very high speeds are required to produce even small changes in the position or orientation of the end effector. In this paper, singular value decomposition (SVD) is used in order to show that fluctuations around the singular point are due to unnecessary nonzero end-effector velocities along the degenerated directions when the manipulator is at a singularity. This paper proposes a hybrid damped resolved-acceleration control (HDRAC) scheme, which considers both damped acceleration and velocity as a way to remove these unnecessary velocities.Particle swarm optimization (PSO) is a stochastic population-based optimization approach and was first published by Kennedy and Eberhart in 1995 [10, 11]. PSO has been shown to be an efficient, roust, and simple optimization algorithm. Most studies of the PSO are empirical with only a few theoretical analyses that concentrate on understanding particle trajectories. A large amount of research has been proposed to improve the performance of PSO. From these studies, much effort has been invested to obtain a better understanding of its convergence properties. These studies concentrated mostly on a better understanding of the basic PSO control parameters, namely, the acceleration coefficients, inertia weight, velocity clamping, and swarm size [12–14]. In this paper, a modified PSO algorithm is proposed to improve the searching ability and prevent from being trapped in a local optimum. The main difference of the MPSO from the PSO is its fitness function which considers the “distance” to avoid converging to a local optimum. From these empirical studies, it can be concluded that the MPSO is sensitive to control parameter choices, specifically the inertia weight, acceleration coefficients, and velocity clamping [15]. However, wrong initialization of these parameters may lead to divergent or cyclic behavior.In this study, singular value decomposition (SVD) is used to show that the abovementioned fluctuation is due to unnecessary nonzero end-effector velocities along the degenerated directions when the manipulator is at a singularity. The hybrid damped resolved-acceleration control scheme (HDRAC), which considers both damped acceleration and velocity, is proposed to remove these unnecessary velocities. Numerical simulations and the results of experiments are compared in order to demonstrate the applicability and effectiveness of the proposed algorithms at a singularity for a 3RPS parallel manipulator.


## 2. Singularity Analysis of the 3RPS Parallel Manipulator

As shown in Figure1, one end of the 3RPS parallel manipulator is a moving platform and the other end is a fixed base. The moving platform is connected to the fixed base by three limbs via three spherical joints (B1, B2, and B3) and three revolute joints (A1, A2, and A3). Each limb consists of two links connected in a series by a prismatic joint. Figure 2 shows that the origin P of the coordinate system [xyz]T is located at the mass center of the base moving platform. The Cartesian coordinate vector [XYZαβγ]T  denotes the fixed coordinates, where [XYZ]T and [αβγ]T  denote, respectively, the vectors of position and orientation. The fixed and moving platforms of the 3 RPS are circles with radius a and b, respectively. The distance between the three spherical joints on the moving platform is w.Figure 1
The 3RPS parallel manipulator.Figure 2
Coordinate systems for the 3RPS manipulator.


### 2.1. Dynamics of the 3PRS Parallel Manipulator

Let us focus on the mass centerOi of the ith link, as shown in Figure 2. There are three components of the weight force of the moving platform that act on the ith link as Fpixi, Fpiyi, and Fpizi. The weight force of the ith link is Wi, the acting force of the separately excited DC servomotor on the revolution parts is F1motori, and the acting force on each vertical leg is F2motori. The 3RPS parallel manipulator dynamic motion of the links and moving platform is described by using Newton-Euler equations, which are formulated by separately considering the free-body diagrams of the links and the moving platform [16–19]. Through reduction and incorporation, we can calculate the acting force on each vertical leg by using the following force equation for the moving vertical leg [19]:(2.1)F2motori=Fpixi+RiTWlix,
where(2.2)Ri=[cos⁡ϕcos⁡ψcos⁡θ-sin⁡ϕsin⁡ψ-cos⁡ϕcos⁡θsin⁡ψ-sin⁡ϕcos⁡ψcos⁡ϕsin⁡θsin⁡ϕcos⁡ψcos⁡θ+cos⁡ϕsin⁡ψ-sin⁡ψcos⁡θsin⁡ϕ+cos⁡ψcos⁡ϕsin⁡ϕsin⁡θ-sin⁡θcos⁡ψsin⁡θsin⁡ψcos⁡θ],Wli is the weight of the ith link, Fpixi=D-1Q, and matrices D and Q are given in Appendix A.With regard to the revolution parts, we have the equation for the first motor as follows:(2.3)la1i̇a1+ra1ia1=VT-kb1ω,τ=Kt1ia1,
where Kt1 is the torque coefficient, Kb1 is the back emf of the motor, la1 is the armature inductance, ra1 is the armature resistance, VT is the terminal voltage, ω is the rotor speed, and ia1 is the armature current.


### 2.2. Deduction of Direct Kinetic Singularities

In this section, we adopt a method [16–19] to formulate the direct singular position of the 3RPS parallel manipulator. The distance between any two points of B1, B2, and B3 is always w, which gives us the following relationships:
(2.4)f1=(B1B2¯)2-w2=0,f2=(B2B3¯)2-w2=0,f3=(B3B1¯)2-w2=0.
By differentiating (2.4) with respect to time, and writing them in matrix form, we get(2.5){df1dtdf2dtdf3dt}=[a11a1200a22a23a310a33]{θ̇1θ̇2θ̇3}+[b11b1200b22b23b310b33]{ḋ1ḋ2ḋ3}=A{θ̇1θ̇2θ̇3}+B{ḋ1ḋ2ḋ3}={000},
where matrix A and B are given in Appendix B.If the lengths of the three limbs are represented bydi(i=1,2,3) and the link’s length is divided into two components, which are parallel and normal to the base and represented by dip and din, respectively, then we have
(2.6)(d1p,d2p,d3p)=(d1cos⁡θ1,d2cos⁡θ2,d3cos⁡θ3),(d1n,d2n,d3n)=(d1sin⁡θ1,d2sin⁡θ2,d3sin⁡θ3),
where θ1, θ2, and θ3 are the rotating angles of the revolute joint on the first, second, and third limbs, respectively.This study begins with projecting the moving platform onto the fixed base, where the projections ofB1, B2, and B3  are represented by B1′, B2′, and B3′, respectively. The length A1B1′ is d1p=d1cos(180-θ1), and the lengths OB1′, OB1′, and OB3′  are represented by e1, e2, and e3, respectively, which gives us(2.7)(e1,e2,e3)=(d1p+1,d2p+1,d3p+1).
For convenience of calculation, another coordinate system (h1,h2,h3) is defined as follows [19]:(2.8)(h1,h2,h3)=(d3n-d2n,d1n-d3n,d2n-d1n).
We must note that this manipulator is capable of translating upward or downward without changing the direction of the moving platform. The approach proposed here is to start by assuming the direction of the moving platform, which is d2n-d1n, d3n-d2n, d1n-d3n, and equating (2.6) and (2.7) with (2.4) to solve the position of the three spherical joints, e1, e2, and e3. The elevation of the moving platform can be represented by the levels of three spherical joints, as follows:(2.9)dave=(d1n+d2n+d3n)3.
We then need to find a value for d1n+d2n+d3n that makes the determinant of matrix A equal to zero. We have det(A)=a11a22a33+a12a23a31, while using(2.10)(d1n,d2n,d3n)=dave+(h2-h3,h3-h1,h1-h2)3,
and this determinant is a cubic function of dave. Calling this function F(dave), our purpose is then to find dave, such that [19]
(2.11)F(dave)=det⁡(A)=Ω1dave3+Ω2dave2+Ω3dave+Ω4=0,
where the coefficients are given in Appendix C. The process of finding a solution begins with assuming (h1,h2,h3)   values, and obtaining (e1,e2,e3) values and coefficients of the cubic polynomial equation, so that finally the roots of dave that satisfy det(A)=0 can be found.


## 2.1. Dynamics of the 3PRS Parallel Manipulator

Let us focus on the mass centerOi of the ith link, as shown in Figure 2. There are three components of the weight force of the moving platform that act on the ith link as Fpixi, Fpiyi, and Fpizi. The weight force of the ith link is Wi, the acting force of the separately excited DC servomotor on the revolution parts is F1motori, and the acting force on each vertical leg is F2motori. The 3RPS parallel manipulator dynamic motion of the links and moving platform is described by using Newton-Euler equations, which are formulated by separately considering the free-body diagrams of the links and the moving platform [16–19]. Through reduction and incorporation, we can calculate the acting force on each vertical leg by using the following force equation for the moving vertical leg [19]:(2.1)F2motori=Fpixi+RiTWlix,
where(2.2)Ri=[cos⁡ϕcos⁡ψcos⁡θ-sin⁡ϕsin⁡ψ-cos⁡ϕcos⁡θsin⁡ψ-sin⁡ϕcos⁡ψcos⁡ϕsin⁡θsin⁡ϕcos⁡ψcos⁡θ+cos⁡ϕsin⁡ψ-sin⁡ψcos⁡θsin⁡ϕ+cos⁡ψcos⁡ϕsin⁡ϕsin⁡θ-sin⁡θcos⁡ψsin⁡θsin⁡ψcos⁡θ],Wli is the weight of the ith link, Fpixi=D-1Q, and matrices D and Q are given in Appendix A.With regard to the revolution parts, we have the equation for the first motor as follows:(2.3)la1i̇a1+ra1ia1=VT-kb1ω,τ=Kt1ia1,
where Kt1 is the torque coefficient, Kb1 is the back emf of the motor, la1 is the armature inductance, ra1 is the armature resistance, VT is the terminal voltage, ω is the rotor speed, and ia1 is the armature current.


## 2.2. Deduction of Direct Kinetic Singularities

In this section, we adopt a method [16–19] to formulate the direct singular position of the 3RPS parallel manipulator. The distance between any two points of B1, B2, and B3 is always w, which gives us the following relationships:
(2.4)f1=(B1B2¯)2-w2=0,f2=(B2B3¯)2-w2=0,f3=(B3B1¯)2-w2=0.
By differentiating (2.4) with respect to time, and writing them in matrix form, we get(2.5){df1dtdf2dtdf3dt}=[a11a1200a22a23a310a33]{θ̇1θ̇2θ̇3}+[b11b1200b22b23b310b33]{ḋ1ḋ2ḋ3}=A{θ̇1θ̇2θ̇3}+B{ḋ1ḋ2ḋ3}={000},
where matrix A and B are given in Appendix B.If the lengths of the three limbs are represented bydi(i=1,2,3) and the link’s length is divided into two components, which are parallel and normal to the base and represented by dip and din, respectively, then we have
(2.6)(d1p,d2p,d3p)=(d1cos⁡θ1,d2cos⁡θ2,d3cos⁡θ3),(d1n,d2n,d3n)=(d1sin⁡θ1,d2sin⁡θ2,d3sin⁡θ3),
where θ1, θ2, and θ3 are the rotating angles of the revolute joint on the first, second, and third limbs, respectively.This study begins with projecting the moving platform onto the fixed base, where the projections ofB1, B2, and B3  are represented by B1′, B2′, and B3′, respectively. The length A1B1′ is d1p=d1cos(180-θ1), and the lengths OB1′, OB1′, and OB3′  are represented by e1, e2, and e3, respectively, which gives us(2.7)(e1,e2,e3)=(d1p+1,d2p+1,d3p+1).
For convenience of calculation, another coordinate system (h1,h2,h3) is defined as follows [19]:(2.8)(h1,h2,h3)=(d3n-d2n,d1n-d3n,d2n-d1n).
We must note that this manipulator is capable of translating upward or downward without changing the direction of the moving platform. The approach proposed here is to start by assuming the direction of the moving platform, which is d2n-d1n, d3n-d2n, d1n-d3n, and equating (2.6) and (2.7) with (2.4) to solve the position of the three spherical joints, e1, e2, and e3. The elevation of the moving platform can be represented by the levels of three spherical joints, as follows:(2.9)dave=(d1n+d2n+d3n)3.
We then need to find a value for d1n+d2n+d3n that makes the determinant of matrix A equal to zero. We have det(A)=a11a22a33+a12a23a31, while using(2.10)(d1n,d2n,d3n)=dave+(h2-h3,h3-h1,h1-h2)3,
and this determinant is a cubic function of dave. Calling this function F(dave), our purpose is then to find dave, such that [19]
(2.11)F(dave)=det⁡(A)=Ω1dave3+Ω2dave2+Ω3dave+Ω4=0,
where the coefficients are given in Appendix C. The process of finding a solution begins with assuming (h1,h2,h3)   values, and obtaining (e1,e2,e3) values and coefficients of the cubic polynomial equation, so that finally the roots of dave that satisfy det(A)=0 can be found.


## 3. Optimization Method: Modifying Particle Swarm Optimization

### 3.1. Particle Swarm Optimization

Birds (particles) flocking optimizes a certain objective function  in a PSO system. Each agent knows its best value so far (pbest) and its position. This information is an analogy of personal experiences of each agent. Moreover, each agent knows the best value so far in the group (gbest) among pbests. This information is an analogy of knowledge of how the other agents around them have performed. The PSO concept [10, 11] consists of changing the velocity of each particle toward its pbest and gbest locations. In the PSO, each particle moves to a new position according to new velocity and the previous positions of the particle. This is compared with the best position generated by previous particles in the fitness function, and the best one is kept; so each particle accelerates in the direction of not only the local best solution but also the global best position. If a particle discovers a new probable solution, other particles will move closer to it to explore the region more completely in the process.In general, there are three attributes, current positionxj, current velocity vj, and past best position pbestj, for particles in the search space to present their features. Each particle in the swarm is iteratively updated according to the aforementioned attributes. For example, [10–14], the jth particle is represented as xj=(xj,1,xj,2,…,xj,g) in the g-dimensional space. The best previous position of thejth particle is recorded and represented as pbestj=(pbestj,1,pbestj,2,…,pbestj,g). The index of best particle among all particles in the group is represented by the gbestg. The rate of the position change (velocity) for particle j is represented as vj=(vj,1,vj,2,…,vj,g). The modified velocity and position of each particle can be calculated using the current velocity and distance from pbestj,g to gbestj,g as shown in the following formulas [14]:(3.1)vj,g(t+1)=w⋅vj,g(t)+c1Rand()⋅(pbestj,g(t)-xj,g(t))+c2Rand*()⋅(gbestj,g(t)-xj,g(t)),xj,g(t+1)=xj,g(t)+vj,g(t+1),j=1,2,…,n;g=1,2,…,m,
where n is the number of particles in a group; m is the number of members in a particle; t is the pointer of iterations (generations); vj,g(t) is the velocity of the particle j at iteration t, Vgmin≤vj,g(t)≤Vgmax; w  is the inertia weighting factor; c1, c2 are the acceleration constants; Rand(), Rand*() are random numbers between 0 and 1; xj,g(t) is the current position of particle j at iteration t; pbestj is the pbest of particle j; gbestg is the gbest of the group g.In the above procedures, the parameterVgmax determines the resolution or fitness, with which regions are searched between the present position and the target position. If  Vgmax is too high, particles might fly past good solutions. If  Vgmax is too low, particles may not explore sufficiently beyond local solutions.The constantsc1 and c2 represent the weighting of the stochastic acceleration terms that pull each particle toward pbest and gbest positions. Low values allow particles to roam far from the target regions before being tugged back. On the other hand, high values result in an abrupt movement toward or past target regions.Suitable selection of inertia weighting factorw provides a balance between global and local explorations, thus requiring less iteration on average to find a sufficiently optimal solution. As originally developed, w often decreases linearly from about 0.9 to 0.4 during a run. In general, the inertia weighting factor w is set according to the following equation [11, 12]:(3.2)w=wmax⁡-wmax⁡-wmin⁡itermax⁡×iter,
where itermax is the maximum number of iterations (generations), and iter is the current number of iterations.


### 3.2. Modified Particle Swarm Optimization

The main point of the MPSO differs from the PSO to consider the “distance” in its fitness function to avoid converging to a local optimum. Assign a rank (i.e., the number place1,2,3,…,etc.) REk to the calculated error of each new individual, vk, k=1,…,PS, PS is the population size. A combined population with 2×PS individuals is formed. Unlike previously developed statistic methods, the concept of “distance” is added to the fitness function to prevent from being trapped in a local minimum. The fitness score of the kth individual is modified by [20, 21](3.3)Fk=REk+ρ×RDk,k=1,…,2×PS,
where ρ is an adaptive decay scale, ρmax is set as 0.7, and ρmin is set as 0.005 in this paper. RDk is the rank of Dk assigned to the kth individual, where Dk is the distance from the individual to the current best solution vector and is given by(3.4)Dk=‖vk-vbest‖,
where vk is the vector of the kth individual in the combined population, and vbest is the current best solution vector.An adaptive scheme is defined as [20](3.5)ρΔ=R×(ρmax⁡-ρmin⁡)gmax⁡,ρ(g+1)={ρ(g)-ρΔ,Fmin⁡(g)=Fmin⁡(g-1),ρ(g),Fmin⁡(g)<Fmin⁡(g-1),ρ(g+1)=ρmin⁡ifρ(g)-ρΔ<ρmin⁡,
where ρΔ is the step size; Fmin is the minimum value of fitness functions; R is the regulating scale and is set as 1.25 in this paper, and gmax is the maximum allowable number of iterations.Individuals will be ranked ascending according to their fitness scores by a sorting algorithm. The PS individuals are transcribed along with their fitness for the next generation. If the new population does not include the current best solution, the best solution must be replaced with the last individual in the new population. In addition, a gradually decreased decay scale can satisfy a successive statistic searching process by first using the diversification (biggerρ) to explore more regions and then the intensification (smaller ρ) to exploit the neighborhood of an elite solution. The current best solution (point A) for a minimum fitness problem as shown in the Figure 3 may not reach the global optimum [20, 21], and there are three electable solutions. Generally, solutions with slightly better fitness (point C or B) prevailed, so the solution was trapped into the valley prematurely. The more attractive solution (point G) is relatively far away from point A, but it nears the global optimal. To prevent prematurity, point G with slightly worse fitness than C, it needs a higher rank to be selected. That is, a higher RDk is awarded to a longer Dk.Figure 3
The concept of distances.Stopping Criteria
Stopping criteria is given in the following order:(1)
maximum allowable number of iterations reached.(2)
number of iterations reached without improving the current best solution.Figure 4 shows the flow chart of the proposed algorithm.Figure 4
The flow chart of the MPSO.


## 3.1. Particle Swarm Optimization

Birds (particles) flocking optimizes a certain objective function  in a PSO system. Each agent knows its best value so far (pbest) and its position. This information is an analogy of personal experiences of each agent. Moreover, each agent knows the best value so far in the group (gbest) among pbests. This information is an analogy of knowledge of how the other agents around them have performed. The PSO concept [10, 11] consists of changing the velocity of each particle toward its pbest and gbest locations. In the PSO, each particle moves to a new position according to new velocity and the previous positions of the particle. This is compared with the best position generated by previous particles in the fitness function, and the best one is kept; so each particle accelerates in the direction of not only the local best solution but also the global best position. If a particle discovers a new probable solution, other particles will move closer to it to explore the region more completely in the process.In general, there are three attributes, current positionxj, current velocity vj, and past best position pbestj, for particles in the search space to present their features. Each particle in the swarm is iteratively updated according to the aforementioned attributes. For example, [10–14], the jth particle is represented as xj=(xj,1,xj,2,…,xj,g) in the g-dimensional space. The best previous position of thejth particle is recorded and represented as pbestj=(pbestj,1,pbestj,2,…,pbestj,g). The index of best particle among all particles in the group is represented by the gbestg. The rate of the position change (velocity) for particle j is represented as vj=(vj,1,vj,2,…,vj,g). The modified velocity and position of each particle can be calculated using the current velocity and distance from pbestj,g to gbestj,g as shown in the following formulas [14]:(3.1)vj,g(t+1)=w⋅vj,g(t)+c1Rand()⋅(pbestj,g(t)-xj,g(t))+c2Rand*()⋅(gbestj,g(t)-xj,g(t)),xj,g(t+1)=xj,g(t)+vj,g(t+1),j=1,2,…,n;g=1,2,…,m,
where n is the number of particles in a group; m is the number of members in a particle; t is the pointer of iterations (generations); vj,g(t) is the velocity of the particle j at iteration t, Vgmin≤vj,g(t)≤Vgmax; w  is the inertia weighting factor; c1, c2 are the acceleration constants; Rand(), Rand*() are random numbers between 0 and 1; xj,g(t) is the current position of particle j at iteration t; pbestj is the pbest of particle j; gbestg is the gbest of the group g.In the above procedures, the parameterVgmax determines the resolution or fitness, with which regions are searched between the present position and the target position. If  Vgmax is too high, particles might fly past good solutions. If  Vgmax is too low, particles may not explore sufficiently beyond local solutions.The constantsc1 and c2 represent the weighting of the stochastic acceleration terms that pull each particle toward pbest and gbest positions. Low values allow particles to roam far from the target regions before being tugged back. On the other hand, high values result in an abrupt movement toward or past target regions.Suitable selection of inertia weighting factorw provides a balance between global and local explorations, thus requiring less iteration on average to find a sufficiently optimal solution. As originally developed, w often decreases linearly from about 0.9 to 0.4 during a run. In general, the inertia weighting factor w is set according to the following equation [11, 12]:(3.2)w=wmax⁡-wmax⁡-wmin⁡itermax⁡×iter,
where itermax is the maximum number of iterations (generations), and iter is the current number of iterations.


## 3.2. Modified Particle Swarm Optimization

The main point of the MPSO differs from the PSO to consider the “distance” in its fitness function to avoid converging to a local optimum. Assign a rank (i.e., the number place1,2,3,…,etc.) REk to the calculated error of each new individual, vk, k=1,…,PS, PS is the population size. A combined population with 2×PS individuals is formed. Unlike previously developed statistic methods, the concept of “distance” is added to the fitness function to prevent from being trapped in a local minimum. The fitness score of the kth individual is modified by [20, 21](3.3)Fk=REk+ρ×RDk,k=1,…,2×PS,
where ρ is an adaptive decay scale, ρmax is set as 0.7, and ρmin is set as 0.005 in this paper. RDk is the rank of Dk assigned to the kth individual, where Dk is the distance from the individual to the current best solution vector and is given by(3.4)Dk=‖vk-vbest‖,
where vk is the vector of the kth individual in the combined population, and vbest is the current best solution vector.An adaptive scheme is defined as [20](3.5)ρΔ=R×(ρmax⁡-ρmin⁡)gmax⁡,ρ(g+1)={ρ(g)-ρΔ,Fmin⁡(g)=Fmin⁡(g-1),ρ(g),Fmin⁡(g)<Fmin⁡(g-1),ρ(g+1)=ρmin⁡ifρ(g)-ρΔ<ρmin⁡,
where ρΔ is the step size; Fmin is the minimum value of fitness functions; R is the regulating scale and is set as 1.25 in this paper, and gmax is the maximum allowable number of iterations.Individuals will be ranked ascending according to their fitness scores by a sorting algorithm. The PS individuals are transcribed along with their fitness for the next generation. If the new population does not include the current best solution, the best solution must be replaced with the last individual in the new population. In addition, a gradually decreased decay scale can satisfy a successive statistic searching process by first using the diversification (biggerρ) to explore more regions and then the intensification (smaller ρ) to exploit the neighborhood of an elite solution. The current best solution (point A) for a minimum fitness problem as shown in the Figure 3 may not reach the global optimum [20, 21], and there are three electable solutions. Generally, solutions with slightly better fitness (point C or B) prevailed, so the solution was trapped into the valley prematurely. The more attractive solution (point G) is relatively far away from point A, but it nears the global optimal. To prevent prematurity, point G with slightly worse fitness than C, it needs a higher rank to be selected. That is, a higher RDk is awarded to a longer Dk.Figure 3
The concept of distances.Stopping Criteria
Stopping criteria is given in the following order:(1)
maximum allowable number of iterations reached.(2)
number of iterations reached without improving the current best solution.Figure 4 shows the flow chart of the proposed algorithm.Figure 4
The flow chart of the MPSO.


## 4. Singularity Control Scheme

### 4.1. Resolved-Acceleration Control

The relationship between the velocities of the mass centerP of the moving platform and the joint velocity q̇ for parallel manipulators can be represented as(4.1)ẋ≡[ṙω]=Jq̇,q=[XYZαβγ],q̇=dqdt=[vXvYvZωαωβωγ],
where ṙ and ω are the linear and angular velocities, respectively. The Cartesian coordinate vector q=(X,Y,Z,α,β,γ)T with six variables is chosen to describe the position and orientation of the moving base, that is, q̇ is the velocity and J is the Jacobian matrix. Differentiating (4.1) gives(4.2)a≡[r̈α]=Jq̈+J̇q̇,
where r̈ and α are the linear and angular accelerations, respectively.Now, by expanding (2.1)-(2.3), we can obtain the dynamic equation of the manipulator in the matrix form of(4.3)τ=M(q)q̈+N(q̇,q)+G(q)=M(q)q̈+f(q̇,q),
where M(q) is the inertia matrix of the manipulator, N(q̇,q) contains the Coriolis and centrifugal force/torque components, G(q) contains the gravity force/torque components, and τ is the vector of actuator forces. The second-order nonlinear coupled dynamic equation (4.3) can be linearized by inputting the inverse dynamics as follows:(4.4)τ=M(q)q̈d+f(q̇,q),
where q̈d is the vector of the desired accelerations, so that q̈=q̈d.The resolved-acceleration control scheme [19] is(4.5a)q̈d=J-1(ad-J̇q̇)=J-1ad*,
with
(4.5b)ad=[r̈dαd]+KD[ṙd-ṙωd-ω]+KP[εrεe],ad*=(ad-J̇q̇),where KD and KP are gain matrices, subscript d denotes the desired value, εr=εd-r is the positional error, and εe is the orientation error. Unfortunately, this control scheme (4.5a) breaks down when J-1 does not exist, which occurs at a singular configuration.


### 4.2. Damped Least-Square Method

In this section, the damped least-square method for  the inverse problem of (4.1) is applied to solve the following optimization problem [19]:(4.6)min⁡q̇ρ⁡(‖Jq̇ρ-ẋ‖2+ρ2‖q̇ρ‖2),
where ρ is the damping factor. The solution of (4.6) is(4.7)q̇ρ=Jρ*ẋ,
where(4.8)Jρ*=(JTJ+ρ2I)-1JT,
which always exists for ρ≠0. This solution is a compromise between the residual error, Jq̇-ẋ, and the velocity q̇ of the point P.Singular value decomposition (SVD) can provide insight into the singularities of the inverse Jacobian [19, 22, 23]. This study deals with nonredundant manipulators, and there are two orthogonal matrices U=[u1⋯u6] and V=[v1⋯v6], such that(4.9)J=UΣVT=∑i=16σiuiviT,
where Σ=diag[σ1,…,σ6] and σi are the singular values of J. The vectors ui and vi are the ith left and the ith right singular vectors, respectively. Substituting (4.9) into (4.8) gives(4.10)Jρ*=VΣρ*UT=∑i=16σiσi2+ρ2viuiT,
where Σρ*=diag[σ1/(σ12+ρ2),…,σ6/(σ62+ρ2)]. When the manipulator is far away from a singular point (i.e., σi≫ρ), we have σi/(σi2+ρ2)≈1/σi, which implies that Jρ*≈J-1. When the manipulator is near a singular point, it can be seen from (4.10) that the solutions for the velocity q̇ have finite values.


### 4.3. The Hybrid Damped Resolved-Acceleration Control Scheme

In this paper, we propose a hybrid damped resolved-acceleration control scheme (HDRAC) that restricts velocity as well as acceleration. The HDRAC is used to solve the following optimization problem:(4.11)min⁡q̈hd⁡(‖Jq̈hd-ad*‖2+ρ2‖q̈hd+ρhdq̇‖2),
where ad* is defined in (4.2), ρ is the damping factor, and ρhd is an additional damping factor which is dependent on the smallest singular value of the Jacobian matrix. The joint acceleration commands q̈hd have to minimize (4.11). When the manipulator is far away from the singular point, there is no unnecessary joint velocity, so ρhd will be zero. If the manipulator is at a singular point, the unnecessary joint velocity will have to be removed by joint acceleration commands, so ρhd must be specified. The redundant components of the joint acceleration commands q̈hd will be equal to the unnecessary components of q̇ multiplied by ρhd to minimize (4.11).Equation (4.11) can be rewritten as(4.12)min⁡q̈hd⁡‖[JρI6]q̈hd-[ad*ρρhdq̇]‖2,
where I6 denotes a 6×6 identity matrix. In order to obtain the solutions for this optimization problem in a closed form, the discrete-time technique will be used. With discrete-time control, the back difference is always used to approximate the derivative, so that(4.13)q̈hd(k)=1Δt(q̇hd(k)-q̇hd(k-1)),
where Δt is the sampling time. Through reduction and incorporation, the solution of the optimization problem is [19](4.14)q̈hd≡q̈da+q̈hdc=Jρ*ad*-ρhdρ2(JTJ+ρ2I6)-1q̇.
Meanwhile, we have denoted the second term as q̈hdc.The SVD theory can be reformulated as(4.15)q̈hdc=ρhd[∑i=16-ρ2σi2+ρ2(viTq̇)vi].
The size of the deceleration region of the HDRAC can be adjusted by a linear function ρhd, which is chosen as(4.16)ρhd={1Δt(1-σmin⁡δhd),for0≤σmin⁡<δhd,0,forσmin⁡≥δhd,
where σmin is the smallest singular value or singular parameter [19] of the Jacobian matrix. δhd is a user-defined threshold value that represents the deceleration region. Unnecessary joint velocities will be partially removed when σmin is in this region and wholly removed at the next sampling interval when ρhd=1/Δt. Note that the maximum value of ρhd is 1/Δt. If the manipulator is at a singular point of σi≫ρ>0,  i=1,…,k, and j=k+1,…,6, then (4.15) can be reduced to(4.17)q̈hdc≈-1Δt∑i=k+16(viTq̇)vi.We will next prove that this term removes unnecessary joint velocities at the next sampling interval. Multiplying both sides of (4.13) by viviT yields(4.18)1Δt(viTq̇hd)vi=(viTq̈hd)vi+1Δt(viTq̇)vi.
By using an ideal computed-torque scheme, we force joint velocity vi (i.e., viTq̇) along the degenerated direction to zero at the next sampling interval. The joint acceleration command along vi (i.e., the product of viTq̈hd) should then be (-1/Δt)(viTq̇), which follows from (4.18). This implies that (4.17) will remove unnecessary joint velocities along all degenerated directions vi, i=k+1,…,6. According to (4.18), the desired joint velocities along vi, i=1,…,k are also decreased by the amount of ΔtviTq̈hd (or [ρ2/(σi2+ρ2)]viTq̇). Note that the maximum coefficient of (viTq̇)vi in (4.15) is -1/Δt when σi=0.


## 4.1. Resolved-Acceleration Control

The relationship between the velocities of the mass centerP of the moving platform and the joint velocity q̇ for parallel manipulators can be represented as(4.1)ẋ≡[ṙω]=Jq̇,q=[XYZαβγ],q̇=dqdt=[vXvYvZωαωβωγ],
where ṙ and ω are the linear and angular velocities, respectively. The Cartesian coordinate vector q=(X,Y,Z,α,β,γ)T with six variables is chosen to describe the position and orientation of the moving base, that is, q̇ is the velocity and J is the Jacobian matrix. Differentiating (4.1) gives(4.2)a≡[r̈α]=Jq̈+J̇q̇,
where r̈ and α are the linear and angular accelerations, respectively.Now, by expanding (2.1)-(2.3), we can obtain the dynamic equation of the manipulator in the matrix form of(4.3)τ=M(q)q̈+N(q̇,q)+G(q)=M(q)q̈+f(q̇,q),
where M(q) is the inertia matrix of the manipulator, N(q̇,q) contains the Coriolis and centrifugal force/torque components, G(q) contains the gravity force/torque components, and τ is the vector of actuator forces. The second-order nonlinear coupled dynamic equation (4.3) can be linearized by inputting the inverse dynamics as follows:(4.4)τ=M(q)q̈d+f(q̇,q),
where q̈d is the vector of the desired accelerations, so that q̈=q̈d.The resolved-acceleration control scheme [19] is(4.5a)q̈d=J-1(ad-J̇q̇)=J-1ad*,
with
(4.5b)ad=[r̈dαd]+KD[ṙd-ṙωd-ω]+KP[εrεe],ad*=(ad-J̇q̇),where KD and KP are gain matrices, subscript d denotes the desired value, εr=εd-r is the positional error, and εe is the orientation error. Unfortunately, this control scheme (4.5a) breaks down when J-1 does not exist, which occurs at a singular configuration.


## 4.2. Damped Least-Square Method

In this section, the damped least-square method for  the inverse problem of (4.1) is applied to solve the following optimization problem [19]:(4.6)min⁡q̇ρ⁡(‖Jq̇ρ-ẋ‖2+ρ2‖q̇ρ‖2),
where ρ is the damping factor. The solution of (4.6) is(4.7)q̇ρ=Jρ*ẋ,
where(4.8)Jρ*=(JTJ+ρ2I)-1JT,
which always exists for ρ≠0. This solution is a compromise between the residual error, Jq̇-ẋ, and the velocity q̇ of the point P.Singular value decomposition (SVD) can provide insight into the singularities of the inverse Jacobian [19, 22, 23]. This study deals with nonredundant manipulators, and there are two orthogonal matrices U=[u1⋯u6] and V=[v1⋯v6], such that(4.9)J=UΣVT=∑i=16σiuiviT,
where Σ=diag[σ1,…,σ6] and σi are the singular values of J. The vectors ui and vi are the ith left and the ith right singular vectors, respectively. Substituting (4.9) into (4.8) gives(4.10)Jρ*=VΣρ*UT=∑i=16σiσi2+ρ2viuiT,
where Σρ*=diag[σ1/(σ12+ρ2),…,σ6/(σ62+ρ2)]. When the manipulator is far away from a singular point (i.e., σi≫ρ), we have σi/(σi2+ρ2)≈1/σi, which implies that Jρ*≈J-1. When the manipulator is near a singular point, it can be seen from (4.10) that the solutions for the velocity q̇ have finite values.


## 4.3. The Hybrid Damped Resolved-Acceleration Control Scheme

In this paper, we propose a hybrid damped resolved-acceleration control scheme (HDRAC) that restricts velocity as well as acceleration. The HDRAC is used to solve the following optimization problem:(4.11)min⁡q̈hd⁡(‖Jq̈hd-ad*‖2+ρ2‖q̈hd+ρhdq̇‖2),
where ad* is defined in (4.2), ρ is the damping factor, and ρhd is an additional damping factor which is dependent on the smallest singular value of the Jacobian matrix. The joint acceleration commands q̈hd have to minimize (4.11). When the manipulator is far away from the singular point, there is no unnecessary joint velocity, so ρhd will be zero. If the manipulator is at a singular point, the unnecessary joint velocity will have to be removed by joint acceleration commands, so ρhd must be specified. The redundant components of the joint acceleration commands q̈hd will be equal to the unnecessary components of q̇ multiplied by ρhd to minimize (4.11).Equation (4.11) can be rewritten as(4.12)min⁡q̈hd⁡‖[JρI6]q̈hd-[ad*ρρhdq̇]‖2,
where I6 denotes a 6×6 identity matrix. In order to obtain the solutions for this optimization problem in a closed form, the discrete-time technique will be used. With discrete-time control, the back difference is always used to approximate the derivative, so that(4.13)q̈hd(k)=1Δt(q̇hd(k)-q̇hd(k-1)),
where Δt is the sampling time. Through reduction and incorporation, the solution of the optimization problem is [19](4.14)q̈hd≡q̈da+q̈hdc=Jρ*ad*-ρhdρ2(JTJ+ρ2I6)-1q̇.
Meanwhile, we have denoted the second term as q̈hdc.The SVD theory can be reformulated as(4.15)q̈hdc=ρhd[∑i=16-ρ2σi2+ρ2(viTq̇)vi].
The size of the deceleration region of the HDRAC can be adjusted by a linear function ρhd, which is chosen as(4.16)ρhd={1Δt(1-σmin⁡δhd),for0≤σmin⁡<δhd,0,forσmin⁡≥δhd,
where σmin is the smallest singular value or singular parameter [19] of the Jacobian matrix. δhd is a user-defined threshold value that represents the deceleration region. Unnecessary joint velocities will be partially removed when σmin is in this region and wholly removed at the next sampling interval when ρhd=1/Δt. Note that the maximum value of ρhd is 1/Δt. If the manipulator is at a singular point of σi≫ρ>0,  i=1,…,k, and j=k+1,…,6, then (4.15) can be reduced to(4.17)q̈hdc≈-1Δt∑i=k+16(viTq̇)vi.We will next prove that this term removes unnecessary joint velocities at the next sampling interval. Multiplying both sides of (4.13) by viviT yields(4.18)1Δt(viTq̇hd)vi=(viTq̈hd)vi+1Δt(viTq̇)vi.
By using an ideal computed-torque scheme, we force joint velocity vi (i.e., viTq̇) along the degenerated direction to zero at the next sampling interval. The joint acceleration command along vi (i.e., the product of viTq̈hd) should then be (-1/Δt)(viTq̇), which follows from (4.18). This implies that (4.17) will remove unnecessary joint velocities along all degenerated directions vi, i=k+1,…,6. According to (4.18), the desired joint velocities along vi, i=1,…,k are also decreased by the amount of ΔtviTq̈hd (or [ρ2/(σi2+ρ2)]viTq̇). Note that the maximum coefficient of (viTq̇)vi in (4.15) is -1/Δt when σi=0.


## 5. Stability Analysis

In this section, we will show that the HDRAC is asymptotically stable and discuss its convergent property. Let the orientation error beεe=f(θe)ue, where ue and θe are the rotational axis and the angle between the current orientation and the desired orientation, respectively, and f(θe)=θe for very small values of θe.Suppose thatρ>0 when the manipulator is at a singular point. A sufficient condition for the global asymptotic convergence of the HDRAC in the whole workspace of the manipulator in a situation, where r̈d=ṙd=0 and αd=ωd=0, is that KD is a positive-definite matrix and(5.1)KP=[kprI300kpeI3],
where kpr and kpe are positive. The equilibrium is at the point where q̇=0. Let a Lyapunov function be [24](5.2)L(q,q̇)=12kprεrTεr+kpeE+12q̇T(JTJ+ρ2I6)q̇,
where εr=rd-r and E=∫0θef(ϕ)dϕ=(1/2)θe2, for f(ϕ)=ϕ. Clearly, L(q,q̇)≥0. It is recognized that θ̇e=ue(ωd-ω). Differentiating E with respect to time, we obtain(5.3)Ė=∂E∂θeθ̇e=εe(ωd-ω).
Evaluating ∂L/∂t in terms of the solutions of (5.2) yields(5.4)∂L∂t=kprεrT(ṙd-ṙ)+kpef(θe)ueT(ωd-ω)+q̇T(JTJ+ρ2I6)q̈+q̇TJ̇TJq̇.
If the ideal computed-torque control is used, q̈=q̈hd, (4.14) can be substituted into (5.4), which gives us [24](5.5)∂L∂t=kprεrTṙd+kpeεeTωd+q̇TJT[r̈dαd]+q̇TJTKD([ṙdωd]-Jq̇)-ρhdρ2q̇Tq̇.
If r̈d=ṙd=0 and αd=ωd=0, then(5.6)∂L∂t=-q̇TJTKDJq̇-ρhdρ2q̇Tq̇.
Since KD is a positive-definite matrix, ∂L/∂t≤0 for all q̇, and ∂L/∂t=0 only for q̇=0. Combining the above results and L(q,q̇)≥0, it is shown by the Lyapunov theorem that q̇ is asymptotically stable, and the equilibrium point is q̇=0. However, for the proposed control scheme, ∂L/∂t has an additional term (-ρhdρ2q̇Tq̇) more than that of the HDRAC, to ensure that ∂L/∂t is zero only for q̇=0, that is, the equilibrium point is q̇=0.


## 6. Numerical Simulations and Experimental Results

The purpose of inverse dynamics analysis is to determine the required torque of the separately-excited DC servomotor for a given motion trajectory of the moving platform. The method [19] is adopted to analyze the 3RPS parallel manipulator dynamics of the links and moving platform by using Newton-Euler equations of motion, which are formulated by considering the free-body diagrams of the links and moving platform separately.Let us focus on the mass centerOi of the ith link as shown in Figure 5, whereFpixi, Fpiyi, and Fpizi are three components of the weight force of the moving platform acting on the ith link, Wi is the weight force of the ith link, F1motori is the acting force of the separately-excited DC servomotor on the revolution parts, and the F2motori is the acting force on each vertical leg. Each link is placed along the Xi axis; therefore, its inertia tensor about Xi, Yi and Zi is a diagonal matrix with diagonal elements Iixx,Iiyy, and Iizz. The angular momentum [19] of the ith link is(6.1)Hi=(Iixxωix)ii+(Iiyyωiy)ji+(Iizzωiz)ki.
The rate change of Hi is given by(6.2)Ḣi=(Ḣi)xyzi+ωi×Hi.
It follows from Figures 2 and 5 that the external moment about the mass center Oi of the ith link is given by(6.3)∑MOi=rpii×Fpii,
where rpii is the vector from Oi to Bi with respect to the link frame with unit vector [iijiki].Figure 5
Free-body diagram of acting forces on theith link.The equations of rotational motion of theith link can be obtained by equating the rate of change of Hi with the external moment. By equating (6.2) with (6.3), we obtain(6.4)(Iizzωizωiy-Iiyyωiyωiz)+İixxωix+Iixxω̇ix=(rpiyiFpizi-rpiziFpiyi),-(Iizzωizωix-Iixxωixωiz)+İiyyωiy+Iiyyω̇iy=-(rpixiFpizi-rpiziFpixi),(Iiyyωiyωix-Iixxωixωiy)+İizzωiz+Iizω̇iz=(rpixiFpiyi-rpiyiFpixi).
Since İixx=İiyy=İizz=0, Fpixi passing through the mass center Oi do not generate torques, and rpii only has values in the Xi-axis and couples with the separately-excited DC motor; the above equations (6.4) can be simplified as follows:
(6.5)rpixiFpizi=Iizzωizωix-Iixxωixωiz-Iiyyω̇iy+Jm1ω̇iy+Bm1ωiy-KT1ia1-KT2ia2,rpixiFpiyi=Iiyyωiyωix-Iixxωixωiy+Iizzω̇iz+Jm1ω̇iz+Bm1ωiz-KT1ia1-KT2ia2,
where Jm1 is the moment of inertia; Bm1 is the damped coefficient; KT1 and KT2 are the torque constants; ia1 and ia2 are the armature currents.We now process to find the total force acting on the mass centerOi as follows:(6.6)Fpiyi={Iiyyωiyωix-Iixxωixωiy+Iizzω̇iz+Jm1ω̇iz+Bm1ωiz-KT1ia1-KT2ia2}rpixi,Fpizi={Iizzωizωix-Iixxωixωiz-Iiyyω̇iy+Jm1ω̇iy+Bm1ωiy-KT1ia1-KT2ia2}rpixi.
Once the force terms Fpiyi and Fpizi have been obtained in (6.6) of link motion, one should take into consideration the force term Fpixi. The angular momentum [19] of the moving platform is described by(6.7)Hp=(Ipxxωpx)ip+(Ipyyωpy)jp+(Ipzzωpz)kp,
where Ipxx, Ipyy, and Ipzz are, respectively, the mass moments of inertia of the moving platform about the X, Y, and Z axes. The rate change of angular momentum is(6.8)Ḣp=(Ḣp)xyzp+ωp×Hp.
The total torque acting on mass center P of the moving platform is given by(6.9)∑MP=∑i=13Pip×Fpip,
where PiP is the vector from P to Bi, i=1,2,3.


### 6.1. Numerical Simulations

In this section, numerical simulations are offered to demonstrate the applicability and effectiveness of the proposed algorithms of the 3RPS manipulator platform. The physical model is shown in Figure6. The moving platform of the manipulator is a circle with radius b=22.08cm, and the distance between any two of the three spherical joints on the moving platform is w=36.16cm. The fixed base is an inscribed triangle within a circle with radius a=41.72cm. In the physical model, the constraints of the lengths d1, d2, and d3 are ±10 cm, and the revolution angles θ1, θ2, and θ3 are ±20°. A program has been written in order to calculate the singular point. It was found that when d1=0.0717 cm, d2=9.7488 cm, and d3=0.0771 cm, and θ1=19.9834°, θ2=0.2438°, and θ3=19.9074°, then one singular point exists in the workspace. That is, the center coordinate of the moving platform with respect to the fixed base is (1.6144, −2.7933, 0.0308), and the unit is cm. In this study, point P is required to move at a constant speed from the starting point (0, 0, 0), to then pass through the singular point (1.6144, −2.7933, 0.0308), and then it arrives at its final point (5, −5, 5).Figure 6
Physical model of the 3RPS parallel manipulator.In this study, the HDRAC scheme is used to solve the damping factorsρ by means of the MPSO optimization method. Damping factors ρ are not fixed values and are used to damp the accelerations of point P when the manipulator is in the neighborhood of singularities. The dependence of the damping factors on the accelerations can change. For on-line applications, the optimization method can immediately provide optimal damping factors.Figures7(a)–7(f) show numerical simulations of the trajectories and velocities along the X-axis, Y-axis, and Z-axis for the controller incorporating HDRAC with fixed damping values, and for the controller incorporating HDRAC with MPSO. For the controller incorporating HDRAC with MPSO, when the manipulator is near the singular point, the system functions are more smooth and there is no fluctuation.Numerical simulations for the controller incorporating HDRAC with fixed damping values and the controller incorporating HDRAC with MPSO. (a) Translation responses along theX-axis. (b) Velocities along the X-axis. (c) Translation responses along the Y-axis. (d) Velocities along the Y-axis. (e) Translation responses along the Z-axis. (f) Velocities along the Z-axis.
(a)(b)(c)(d)(e)(f)


### 6.2. Experimental Setup

In order to demonstrate the proposed control rules, PC-based experimental equipment was devised. The parallel manipulator was coupled with a DC motor. The translation position was measured by a sensor. A photo of the experimental equipment is shown in Figure6. In general, such parallel robotic is controlled by hydraulic servo, that is, to control the extension or retraction of the limb through driving with hydraulic system. Limiter sensor or measuring tools are generally installed on the link of the limb to enable accurate changes in its length when controlling positions; the characteristic of position limiter sensor is shown in the Table 1. The controller is based on a PC with Pentium-586 CPU. In order to measure the angle, angular speed, position, and velocity of the manipulator, the interface device was implemented by the motion control card PCI-7344. The graphical software of Simulink and the control software LABVIEW were used to implement the proposed control rule. At the same time, this software also determines the linear converts between the physical scales and measured voltages from sensors.Table 1
The characteristic of position limiter sensor.
Static platform error due to arm position sensor errors (mm),this error represents the vector conversion error from jointcoordinates to the platform reference coordinatesTranslation (mm)1 (max)Rotation (deg)1.5 (max)Linear position static accuracy (mm)± 3RepeatabilityTranslation (mm)0.15 (max)Rotation (deg)0.2 (max)ResolutionTranslation (mm)0.1Rotation (deg)0.15A block diagram of the overall system with the controller incorporating HDRAC with MPSO and acceleration feedback is illustrated in Figure8. The experimental instrument of the 3RPS parallel manipulator was divided into three parts: an actuator, parallel manipulator, and controller. The actuator part consisted of a  DC motor  and a driver. The parameters of the DC motor were Kt=0.21 Nm/A, Jm=0.000037 Nms2, Bm=0.000013 Nms/rad, la=2.4 mH, and ra=4.8 Ω.Figure 8
Block diagram of the controller incorporating HDRAC with MPSO and acceleration feedback.


### 6.3. Experimental Results

Figures9(a)–9(f) show the experimental result of trajectory and velocity along the X-axis, Y-axis, and Z-axis with the DARAC controller that was obtained by using the 3RPS parallel manipulator, in which the end effector passed through a singular point. The DARAC controller functioned, such that joint acceleration along the degenerated direction was damped when the end effector was close to the singular point. It was found that when the manipulator approached the singular point, the system was unstable for the DARAC controller and displayed great fluctuations.Experimental results for the controller incorporating DARAC with fixed damping values. (a) Translation responses along theX-axis. (b) Velocities along the X-axis. (c) Translation responses along the Y-axis. (d) Velocities along the Y-axis. (e) Translation responses along the Z-axis. (f) Velocities along the Z-axis.
(a)(b)(c)(d)(e)(f)Figures10(a)–10(f) show the experimental result of trajectory and velocity along the X-axis, Y-axis, and Z-axis for the controller incorporating HDRAC with fixed damping values and for the controller incorporating HDRAC with MPSO. It was found that, by using the controller incorporating HDRAC with MPSO, a very good performance could be achieved under the same conditions and that the system was generally stable and had very slight fluctuations. These experimental results demonstrate that the HDRAC overcomes the problem of fluctuation when the manipulator arrives at the singular point. It also proves that the proposed controller incorporating HDRAC with MPSO has great robustness.Experimental results for the controller incorporating HDRAC with fixed damping values and the controller incorporating HDRAC with MPSO. (a) Translation responses along theX-axis. (b) Velocities along the X-axis. (c) Translation responses along the Y-axis. (d) Velocities along the Y-axis. (e) Translation responses along the Z-axis. (f) Velocities along the Z-axis.
(a)(b)(c)(d)(e)(f)


## 6.1. Numerical Simulations

In this section, numerical simulations are offered to demonstrate the applicability and effectiveness of the proposed algorithms of the 3RPS manipulator platform. The physical model is shown in Figure6. The moving platform of the manipulator is a circle with radius b=22.08cm, and the distance between any two of the three spherical joints on the moving platform is w=36.16cm. The fixed base is an inscribed triangle within a circle with radius a=41.72cm. In the physical model, the constraints of the lengths d1, d2, and d3 are ±10 cm, and the revolution angles θ1, θ2, and θ3 are ±20°. A program has been written in order to calculate the singular point. It was found that when d1=0.0717 cm, d2=9.7488 cm, and d3=0.0771 cm, and θ1=19.9834°, θ2=0.2438°, and θ3=19.9074°, then one singular point exists in the workspace. That is, the center coordinate of the moving platform with respect to the fixed base is (1.6144, −2.7933, 0.0308), and the unit is cm. In this study, point P is required to move at a constant speed from the starting point (0, 0, 0), to then pass through the singular point (1.6144, −2.7933, 0.0308), and then it arrives at its final point (5, −5, 5).Figure 6
Physical model of the 3RPS parallel manipulator.In this study, the HDRAC scheme is used to solve the damping factorsρ by means of the MPSO optimization method. Damping factors ρ are not fixed values and are used to damp the accelerations of point P when the manipulator is in the neighborhood of singularities. The dependence of the damping factors on the accelerations can change. For on-line applications, the optimization method can immediately provide optimal damping factors.Figures7(a)–7(f) show numerical simulations of the trajectories and velocities along the X-axis, Y-axis, and Z-axis for the controller incorporating HDRAC with fixed damping values, and for the controller incorporating HDRAC with MPSO. For the controller incorporating HDRAC with MPSO, when the manipulator is near the singular point, the system functions are more smooth and there is no fluctuation.Numerical simulations for the controller incorporating HDRAC with fixed damping values and the controller incorporating HDRAC with MPSO. (a) Translation responses along theX-axis. (b) Velocities along the X-axis. (c) Translation responses along the Y-axis. (d) Velocities along the Y-axis. (e) Translation responses along the Z-axis. (f) Velocities along the Z-axis.
(a)(b)(c)(d)(e)(f)


## 6.2. Experimental Setup

In order to demonstrate the proposed control rules, PC-based experimental equipment was devised. The parallel manipulator was coupled with a DC motor. The translation position was measured by a sensor. A photo of the experimental equipment is shown in Figure6. In general, such parallel robotic is controlled by hydraulic servo, that is, to control the extension or retraction of the limb through driving with hydraulic system. Limiter sensor or measuring tools are generally installed on the link of the limb to enable accurate changes in its length when controlling positions; the characteristic of position limiter sensor is shown in the Table 1. The controller is based on a PC with Pentium-586 CPU. In order to measure the angle, angular speed, position, and velocity of the manipulator, the interface device was implemented by the motion control card PCI-7344. The graphical software of Simulink and the control software LABVIEW were used to implement the proposed control rule. At the same time, this software also determines the linear converts between the physical scales and measured voltages from sensors.Table 1
The characteristic of position limiter sensor.
Static platform error due to arm position sensor errors (mm),this error represents the vector conversion error from jointcoordinates to the platform reference coordinatesTranslation (mm)1 (max)Rotation (deg)1.5 (max)Linear position static accuracy (mm)± 3RepeatabilityTranslation (mm)0.15 (max)Rotation (deg)0.2 (max)ResolutionTranslation (mm)0.1Rotation (deg)0.15A block diagram of the overall system with the controller incorporating HDRAC with MPSO and acceleration feedback is illustrated in Figure8. The experimental instrument of the 3RPS parallel manipulator was divided into three parts: an actuator, parallel manipulator, and controller. The actuator part consisted of a  DC motor  and a driver. The parameters of the DC motor were Kt=0.21 Nm/A, Jm=0.000037 Nms2, Bm=0.000013 Nms/rad, la=2.4 mH, and ra=4.8 Ω.Figure 8
Block diagram of the controller incorporating HDRAC with MPSO and acceleration feedback.


## 6.3. Experimental Results

Figures9(a)–9(f) show the experimental result of trajectory and velocity along the X-axis, Y-axis, and Z-axis with the DARAC controller that was obtained by using the 3RPS parallel manipulator, in which the end effector passed through a singular point. The DARAC controller functioned, such that joint acceleration along the degenerated direction was damped when the end effector was close to the singular point. It was found that when the manipulator approached the singular point, the system was unstable for the DARAC controller and displayed great fluctuations.Experimental results for the controller incorporating DARAC with fixed damping values. (a) Translation responses along theX-axis. (b) Velocities along the X-axis. (c) Translation responses along the Y-axis. (d) Velocities along the Y-axis. (e) Translation responses along the Z-axis. (f) Velocities along the Z-axis.
(a)(b)(c)(d)(e)(f)Figures10(a)–10(f) show the experimental result of trajectory and velocity along the X-axis, Y-axis, and Z-axis for the controller incorporating HDRAC with fixed damping values and for the controller incorporating HDRAC with MPSO. It was found that, by using the controller incorporating HDRAC with MPSO, a very good performance could be achieved under the same conditions and that the system was generally stable and had very slight fluctuations. These experimental results demonstrate that the HDRAC overcomes the problem of fluctuation when the manipulator arrives at the singular point. It also proves that the proposed controller incorporating HDRAC with MPSO has great robustness.Experimental results for the controller incorporating HDRAC with fixed damping values and the controller incorporating HDRAC with MPSO. (a) Translation responses along theX-axis. (b) Velocities along the X-axis. (c) Translation responses along the Y-axis. (d) Velocities along the Y-axis. (e) Translation responses along the Z-axis. (f) Velocities along the Z-axis.
(a)(b)(c)(d)(e)(f)


## 7. Conclusion

This paper proposes a simple HDRAC scheme with an MPSO method, which has the merits of offering a high-quality solution and better computation efficiency in the neighborhood of a singular point. The proposed method directly damps velocities and accelerations, such that unnecessary joint velocities are removed at a singular point. The proposed HDRAC scheme with MPSO control is asymptotically stable and remedies the problem of fluctuation.In this study, HDRAC with MPSO is used to solve the damping factorsρ by the optimization method. The damping factors ρ are not fixed values for on-line applications, and the optimization method can immediately   provide optimal damping factors. Because it shortens the detection processes, the MPSO method can satisfactorily predict optimal damping values.Comparisons between our numerical simulations and experimental results showed that the proposed method offers greater stability and efficiency and solves the problems of instability and fluctuation more easily and quickly. The main advantage of using a controller incorporating HDRAC with MPSO is that the 3RPS parallel manipulator control system does not need to plan its path to avoid any singular point, because the controller will command the manipulator to move near the singular point with minimum trajectory errors. Moreover, in comparison with a controller incorporating HDRAC with fixed damping values, the proposed approach makes it easier and simpler to improve the performance of the motion in the neighborhood of singular points.



---

*Source: 302430-2010-12-02.xml*