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.

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 [79] 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 [1214]. 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 Figure 1, 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 (, , and ) and three revolute joints (, , and ). Each limb consists of two links connected in a series by a prismatic joint. Figure 2 shows that the origin of the coordinate system is located at the mass center of the base moving platform. The Cartesian coordinate vector   denotes the fixed coordinates, where and   denote, respectively, the vectors of position and orientation. The fixed and moving platforms of the 3 RPS are circles with radius and , respectively. The distance between the three spherical joints on the moving platform is .

2.1. Dynamics of the 3PRS Parallel Manipulator

Let us focus on the mass center of the th link, as shown in Figure 2. There are three components of the weight force of the moving platform that act on the th link as , , and . The weight force of the th link is , the acting force of the separately excited DC servomotor on the revolution parts is , and the acting force on each vertical leg is . 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 [1619]. 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]: where is the weight of the th link, , and matrices and are given in Appendix A.

With regard to the revolution parts, we have the equation for the first motor as follows: where is the torque coefficient, is the back emf of the motor, is the armature inductance, is the armature resistance, is the terminal voltage, is the rotor speed, and is the armature current.

2.2. Deduction of Direct Kinetic Singularities

In this section, we adopt a method [1619] to formulate the direct singular position of the 3RPS parallel manipulator. The distance between any two points of , , and is always , which gives us the following relationships: By differentiating (2.4) with respect to time, and writing them in matrix form, we get where matrix and are given in Appendix B.

If the lengths of the three limbs are represented by and the link’s length is divided into two components, which are parallel and normal to the base and represented by and , respectively, then we have where , , and 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 of , , and   are represented by , , and , respectively. The length is , and the lengths , , and   are represented by , , and , respectively, which gives us For convenience of calculation, another coordinate system is defined as follows [19]: 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 , , , and equating (2.6) and (2.7) with (2.4) to solve the position of the three spherical joints, , , and . The elevation of the moving platform can be represented by the levels of three spherical joints, as follows: We then need to find a value for that makes the determinant of matrix equal to zero. We have , while using and this determinant is a cubic function of . Calling this function , our purpose is then to find , such that [19] where the coefficients are given in Appendix C. The process of finding a solution begins with assuming    values, and obtaining values and coefficients of the cubic polynomial equation, so that finally the roots of that satisfy 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 position , current velocity , and past best position , 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, [1014], the th particle is represented as in the -dimensional space. The best previous position of theth particle is recorded and represented as . The index of best particle among all particles in the group is represented by the . The rate of the position change (velocity) for particle is represented as . The modified velocity and position of each particle can be calculated using the current velocity and distance from to as shown in the following formulas [14]: where is the number of particles in a group; is the number of members in a particle; is the pointer of iterations (generations); is the velocity of the particle at iteration , ; is the inertia weighting factor; , are the acceleration constants; , are random numbers between 0 and 1; is the current position of particle at iteration ; is the pbest of particle ; is the gbest of the group .

In the above procedures, the parameter determines the resolution or fitness, with which regions are searched between the present position and the target position. If is too high, particles might fly past good solutions. If is too low, particles may not explore sufficiently beyond local solutions.

The constants and 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 factor provides a balance between global and local explorations, thus requiring less iteration on average to find a sufficiently optimal solution. As originally developed, often decreases linearly from about 0.9 to 0.4 during a run. In general, the inertia weighting factor is set according to the following equation [11, 12]: where is the maximum number of iterations (generations), and 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 place .) to the calculated error of each new individual, , , is the population size. A combined population with 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 th individual is modified by [20, 21] where is an adaptive decay scale, is set as 0.7, and is set as 0.005 in this paper. is the rank of assigned to the th individual, where is the distance from the individual to the current best solution vector and is given by where is the vector of the th individual in the combined population, and is the current best solution vector.

An adaptive scheme is defined as [20] where is the step size; is the minimum value of fitness functions; is the regulating scale and is set as 1.25 in this paper, and 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 ) 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 or ) prevailed, so the solution was trapped into the valley prematurely. The more attractive solution (point ) is relatively far away from point , but it nears the global optimal. To prevent prematurity, point with slightly worse fitness than , it needs a higher rank to be selected. That is, a higher is awarded to a longer .

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.

4. Singularity Control Scheme

4.1. Resolved-Acceleration Control

The relationship between the velocities of the mass center of the moving platform and the joint velocity for parallel manipulators can be represented as where and are the linear and angular velocities, respectively. The Cartesian coordinate vector with six variables is chosen to describe the position and orientation of the moving base, that is, is the velocity and is the Jacobian matrix. Differentiating (4.1) gives where 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 where is the inertia matrix of the manipulator, contains the Coriolis and centrifugal force/torque components, 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: where is the vector of the desired accelerations, so that .

The resolved-acceleration control scheme [19] is with where and are gain matrices, subscript denotes the desired value, is the positional error, and is the orientation error. Unfortunately, this control scheme (4.5a) breaks down when 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]: where is the damping factor. The solution of (4.6) is where which always exists for . This solution is a compromise between the residual error, , and the velocity of the point .

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 and , such that where and are the singular values of . The vectors and are the th left and the th right singular vectors, respectively. Substituting (4.9) into (4.8) gives where . When the manipulator is far away from a singular point (i.e., ), we have , which implies that . When the manipulator is near a singular point, it can be seen from (4.10) that the solutions for the velocity 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: where is defined in (4.2), is the damping factor, and is an additional damping factor which is dependent on the smallest singular value of the Jacobian matrix. The joint acceleration commands have to minimize (4.11). When the manipulator is far away from the singular point, there is no unnecessary joint velocity, so 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 must be specified. The redundant components of the joint acceleration commands will be equal to the unnecessary components of multiplied by to minimize (4.11).

Equation (4.11) can be rewritten as where denotes a 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 where is the sampling time. Through reduction and incorporation, the solution of the optimization problem is [19] Meanwhile, we have denoted the second term as .

The SVD theory can be reformulated as The size of the deceleration region of the HDRAC can be adjusted by a linear function , which is chosen as where is the smallest singular value or singular parameter [19] of the Jacobian matrix. is a user-defined threshold value that represents the deceleration region. Unnecessary joint velocities will be partially removed when is in this region and wholly removed at the next sampling interval when . Note that the maximum value of is . If the manipulator is at a singular point of ,  , and , then (4.15) can be reduced to

We will next prove that this term removes unnecessary joint velocities at the next sampling interval. Multiplying both sides of (4.13) by yields By using an ideal computed-torque scheme, we force joint velocity (i.e., ) along the degenerated direction to zero at the next sampling interval. The joint acceleration command along (i.e., the product of ) should then be , which follows from (4.18). This implies that (4.17) will remove unnecessary joint velocities along all degenerated directions , . According to (4.18), the desired joint velocities along , are also decreased by the amount of (or ). Note that the maximum coefficient of in (4.15) is when .

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 , where and are the rotational axis and the angle between the current orientation and the desired orientation, respectively, and for very small values of .

Suppose that 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 and , is that is a positive-definite matrix and where and are positive. The equilibrium is at the point where . Let a Lyapunov function be [24] where and , for . Clearly, . It is recognized that . Differentiating with respect to time, we obtain Evaluating in terms of the solutions of (5.2) yields If the ideal computed-torque control is used, , (4.14) can be substituted into (5.4), which gives us [24] If and , then Since is a positive-definite matrix, for all , and only for . Combining the above results and , it is shown by the Lyapunov theorem that is asymptotically stable, and the equilibrium point is . However, for the proposed control scheme, has an additional term () more than that of the HDRAC, to ensure that is zero only for , that is, the equilibrium point is .

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 center of the th link as shown in Figure 5, where, , and are three components of the weight force of the moving platform acting on the th link, is the weight force of the th link, is the acting force of the separately-excited DC servomotor on the revolution parts, and the is the acting force on each vertical leg. Each link is placed along the axis; therefore, its inertia tensor about , and is a diagonal matrix with diagonal elements ,, and . The angular momentum [19] of the th link is The rate change of is given by It follows from Figures 2 and 5 that the external moment about the mass center of the th link is given by where is the vector from to with respect to the link frame with unit vector .

The equations of rotational motion of the th link can be obtained by equating the rate of change of with the external moment. By equating (6.2) with (6.3), we obtain Since , passing through the mass center do not generate torques, and only has values in the -axis and couples with the separately-excited DC motor; the above equations (6.4) can be simplified as follows: where is the moment of inertia; is the damped coefficient; and are the torque constants; and are the armature currents.

We now process to find the total force acting on the mass center as follows: Once the force terms and have been obtained in (6.6) of link motion, one should take into consideration the force term . The angular momentum [19] of the moving platform is described by where , , and are, respectively, the mass moments of inertia of the moving platform about the , , and axes. The rate change of angular momentum is The total torque acting on mass center of the moving platform is given by where is the vector from to , .

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 Figure 6. The moving platform of the manipulator is a circle with radius , and the distance between any two of the three spherical joints on the moving platform is . The fixed base is an inscribed triangle within a circle with radius . In the physical model, the constraints of the lengths , , and are ±10 cm, and the revolution angles , , and are ±20°. A program has been written in order to calculate the singular point. It was found that when  cm,  cm, and  cm, and , , and , 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 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).

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

Figures 7(a)7(f) show numerical simulations of the trajectories and velocities along the -axis, -axis, and -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.

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 Figure 6. 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.

A block diagram of the overall system with the controller incorporating HDRAC with MPSO and acceleration feedback is illustrated in Figure 8. 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  Nm/A,  Nms2,  Nms/rad,  mH, and .

6.3. Experimental Results

Figures 9(a)9(f) show the experimental result of trajectory and velocity along the -axis, -axis, and -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.

Figures 10(a)10(f) show the experimental result of trajectory and velocity along the -axis, -axis, and -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.

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.

Appendices

A.

The items contained in matrix are as follows: The items contained in matrix are as follows:

B.

The items contained in matrix are as follows: The items contained in matrix are as follows:

C.

The coefficients are as follows: