Optimal Forward Kinematics Modeling of Stewart Manipulator Using ...

15 downloads 0 Views 380KB Size Report
... to different accuracy in modeling the forward kinematics of Stewart manipulator. ...... Michigan Press; 1975. [21] Goldberg D, David E. The design of innovation:.
JJMIE

Volume 3, Number 4, December 2009 ISSN 1995-6665 Pages 280 - 293

Jordan Journal of Mechanical and Industrial Engineering

Optimal Forward Kinematics Modeling of Stewart Manipulator Using Genetic Algorithms A. Omran a,*, M. Bayoumi b, A Kassem b, G. El-Bayoumi b a

Department of Aerospace Engineering, Old Dominion University, Norfolk, VA, USA b

Department of Aerospace Engineering, Cairo University, Giza, Egypt

Abstract In this paper, a new technique for modeling the forward kinematics of a Stewart manipulator is presented based on a predicted squared error cost function. Initially, the inverse kinematics model was introduced in detail for seeding the regression points. Genetic algorithms were then employed to search for optimal model structure from a set of candidate regression predictors. The proposed technique provides a significant reduction in the expenses of memory and computation compared to the traditional Taylor series expansion model. Such reduction increases the suitability of the model for a task space control application of the Stewart manipulator. © 2009 Jordan Journal of Mechanical and Industrial Engineering. All rights reserved

Keywords: Stewart Forward Kinematics; Predicted Squared Error; Genetic Algorithm.

1. Introduction

*

Stewart manipulators have been used in numerous industrial applications. Their potential benefits include a high force to weight ratio, accuracy, and rigidity. The Stewart manipulator consists of a moving plate connected to a base plate by six legs. Each leg has an upper part sliding inside a lower part. This gives the upper plate six degrees of freedom: three translational motions (surge, sway, and heave) and three rotational motions (pitch, roll, and yaw). The acceleration forces of this moveable plate can emulate the physical feeling of piloting an aircraft in forward, backward, or turning motions. Such capability makes Stewart manipulators the best candidates for flight simulators. This perspective attracts many researchers to design a controller that can sustain a more realistic motion with minimum error. Two schemes are commonly used to control the Stewart manipulator: joint space control and task space control. The joint space scheme is developed using the information of joint displacement. Each leg of the manipulator is controlled as a single-input singleoutput (SISO) system as shown in Fig. 1-a. The joint space control involves the inverse kinematics model, which has a closed form. Although the joint space control scheme has been given great attention [1-5], it does not achieve high tracking performance because of the nonlinear coupling in the system. Task space control, on the other hand, achieves high performance tracking by counting the system coupling, and it has been widely investigated [6-10]. In this scheme, the framework is multi-input multi-output (MIMO) as *

Corresponding author. [email protected].

shown in Fig. 1-b. Thus, the forward kinematics is involved instead of inverse kinematics. This scheme is exacerbated by the fact that the Stewart manipulator forward kinematics has no closed form solution. For example, Dietmaier showed that there are 40 such possible solutions [11]. Many studies have attempted different approaches to simplify the Stewart manipulator forward kinematics problem. Ilian et al. [8] presented a new closed-form solution of the problem, yet it required three extra sensors. Pratik et al. [7] and Sadjadian et al. [12-13] used the neural network approach. The accuracy of this approach is very sensitive to the structure of the neural network. For example, Sadjadian et al. [13] showed that different structures of neural networks lead to different accuracy in modeling the forward kinematics of Stewart manipulator. Liu et al. [14-15] proposed a numerical algorithm based on fundamental geometric operation with three nonlinear simultaneous algebraic equations, which is impractical for control process. Sadjadian and Taghirad [12] derived a fourth order Taylor series expansion using least square estimation (LSE). This technique has an over parameterization by 774 regression coefficients. Sheng et al. [16] presented a hybrid immune algorithm, genetic algorithm, and fuzzy system method for solving the forward kinematic problem of Stewart manipulator. The produced model is very complicated and has not yet been applied to any simulation or experimental test case. Tarokh [17] proposed an algorithm for solving the forward kinematics of Stewart manipulator. The algorithm consists of two phases: an on-line phase and an off-line phase. A database of the relationship between links and poses is decomposed into cells.

281

© 2009 Jordan Journal of Mechanical and Industrial Engineering. All rights reserved - Volume 3, Number 4 (ISSN 1995-6665)

Figure 1. Comparison between the block diagram of the task space control and the block diagram of the joint space control: X refers to task space displacements and q refers to joint space displacements.

During the online phase, given link lengths, the appropriate cell is identified, and the poses are computed. Chen et al. [18] proposed a nonlinear observer based method to solve the forward kinematics. This observer uses the inverse kinematics as a baseline to update the model. The current research offers an efficient technique for modeling the Stewart manipulator forward kinematics. This technique uses the predicted squared error (PSE) cost function to find an optimal structure for the forward kinematics model by reducing the number of terms in the model without affecting the required accuracy for control applications. Six optimization problems are considered to define the task space coordinates (surge, sway, heave, roll, pitch, and yaw) as functions of joint space coordinates (length of each leg). The candidate modeling predictors were selected from a third order polynomial’s terms in sixdimensions (joint space). Then, the genetic algorithms (GA) was used to search for an optimal structure to minimize PSE cost function using the so-called “Switching Factor”. The results of this research can be used to save the computation and memory costs. This paper is organized as follows: in section two, the description of inverse kinematics enables one to determine the link lengths in terms of desired/specified upper platform position and angular orientations. Section three includes a brief discussion of PSE regression model. Section four presents the use of genetic algorithm to search for optimal model structure. Section five offers the results of the simulation used to examine the proposed technique. Finally, section six is the conclusion.

a) Three-dimensional view

2. Inverse Kinematics Model There are two frames describing the motion of the moving plate: an inertia frame (X, Y, Z) located at the center of the base plate and a body frame (x B , y B , z B ) located at the center of the moving plate with the z B -axis pointing outward. The angle between the local x B -axis of the moving plate and the line of the joint J ui is denoted by β i as shown in Fig. (2).

b) Top view Figure 2. Stewart manipulator.

© 2009 Jordan Journal of Mechanical and Industrial Engineering. All rights reserved - Volume 3, Number 4 (ISSN 1995-6665)

282

The position of the joint J ui in the plate body frame is



B B PJ  X ui ui



 

B T Z ui  [ R u cos β i

B Yui

 

R u sin β i

0]

T

i  1,2,...,6

(1)

In the same manner, an angle α i is defined between the inertia X-axis and the line of the joint J li . The position of the joint J li in the inertia frame is defined as:



I I PJ  X li li



 

I T  [ R l cos  i Z li

I Yli

 

R l sin  i

0]

T

(2)

i  1,2,...,6

The upper plate has a capability for 6-DOF motion (three rotational motions and three translational motions). The rotational motions of the plate are defined by Euler angles in sequence 1-2-3. Thus the transformation from the body frame (x B , y B , z B ) to the inertia frame (X, Y, Z) is given by the Matrix R plate :

R plate 

R zT

ψ  θ  R Ty

R xT

Cψ     S ψ  0

 Sψ

Cθ Cψ    Cθ S ψ   Sθ 

Cψ 0

S θ  1 0  0  0 C 0 Cθ  0 S

0  C θ 0  0 1 -S θ

0 1

S S θ Cψ  C S ψ S S θ S ψ  C Cψ S C θ

where C refers to angle cosine and S refers to angle sine. The angles ψ, θ, and φ are Euler angles. In addition to the rotation, one should consider the translation vector I as: T plate

I Tplate 

 x(t)   y(t)  z(t)  h   

(4)



  

YuiI

Z uiI



T

I  R plate PJBui  Tplate

       

(3)

Each leg has three degrees of freedom: two rotational and one translational motion. Thus a spherical joint is employed to connect the upper part of each leg by the movable plate while the lower part is connected to the base plate by a universal joint as shown in Fig. (3). The length I vector of the ith leg Li can then be computed from Eq. (2) and (5) as:

I I I L i  PJ - PJ ui li

where h is the initial height of the upper plate’s center. The trajectory of the upper plate’s center is defined by x(t) , y(t) , and z(t) . The position of the joint J ui in inertial frame (X, Y, Z) is then calculated as:

PJIui  X uiI

0    S  C  C S θ Cψ  S S ψ   C S θ S ψ  S Cψ   C Cθ 

i  1,2,...,6

By substituting Eq. (3) and Eq. (4) in Eq. (5), and I considering the square value of vector Li in Eq. (6), the relationship between the joint space variables and task space variables can be summarized as (Equation. 7):

(5)

 

   

   

2 2 L i  C θ C ψ R u cos β i  S Sθ C ψ  C S ψ R u sin β i  xt   R l cos  i  2 C θ S ψ R u cos β i  S Sθ S ψ  C C ψ R u sin β i  y t   R l sin  i  2  Sθ R u cos β i  S C θ R u sin β i  z t   h

 

(6)

(7)



where i = 1, 2, …, 6. Based on Eq. (7), the inverse kinematics has a closed form. On the other hand, it is “difficult” to develop any closed form for the forward kinematics.

283

© 2009 Jordan Journal of Mechanical and Industrial Engineering. All rights reserved - Volume 3, Number 4 (ISSN 1995-6665)

Figure 3. Leg mechanism of Stewart manipulator.

3. Regression Model and Predicted Squared Error If

an

N-dimensional



responses Y  y 1 y 2 linear combinations

Q  q1

q2  q K 

vector

of

independent

 y N  is modeled in terms of T

of K , then:

modeling

predictors

Y   1 q1   2 q 2     K q K  ε  Qγ  ε

(8)

where γ   1  2   K  is an K-dimensional constant model vector to be determined, and ε denotes the N-dimensional modeling residual vector. Each

qi

is an N-

dimensional vector function depending on the independent variables. In conventional least square estimation (LSE), the optimization goal is to minimize the sum of square errors between the estimated and measured values by defining a scalar function J.

N 2 T T J    i  ε ε  Y  Qγ  Y  Qγ  i 1

(9)

By minimizing J, the regression coefficients are calculated by:

 

T 1 T γ Q Q Q Y

(10)

Although LSE minimizes the error between the measured and estimated data, this method cannot ensure an optimal regression structure. Thus, considering many regression predictors sometimes leads to over parameterization and noisy model. Many methodologies have been proposed to search for the optimal regression structure; such as, backward elimination, stepwise, and others. One of the most efficient techniques to find the minimum number of predictors with minimum error is the predicted squared error (PSE). This technique has an optimization problem because the structure of the model should be chosen to minimize F PSE defined by [19]:

2J K 2 FPSE    max N N

(11)

2

The constant  max is the prior upper-bound estimate of the square error between future data and the model. The F PSE function depends on the mean squared fit error J/N and a term proportional to the number of terms in the 2 model. Thus  max is considered as the residual variance estimate for a constant model structure equal to the mean of the measured response values by:

2

1 N 2  yi  yi N i 1

where

yi

 max 





is the mean value of vector Y.

(12)

© 2009 Jordan Journal of Mechanical and Industrial Engineering. All rights reserved - Volume 3, Number 4 (ISSN 1995-6665)

on survival of the fittest (highest performance index). In this way, the reproduction process guides the search for the best individuals (high performance index). After the individuals are selected, the crossover process is then used to swap between two chromosomes by specific probabilistic decision. The crossover process generates offspring carrying mixed information from swapped parents (chromosomes). Mutation is the mechanism to prevent the algorithm from local optimal points by adding some degree of randomness. The process is performed by alternation of the gene from zero to one or from one to zero with the mutation point determined uniformly at random. The mutation rate should be consider carefully since the higher mutation rate means more number of generations are required for algorithm convergence and a low mutation rate may lead to a convergence for a local minimum. The algorithm maintains a constant size of generation by selecting the fittest chromosomes from parents and offsprings. The algorithm iteratively operates to converge for schema matches by some tolerance. Further description of genetic algorithms can be found in Goldberg [21-22]. In the current research, the optimization procedure is developed by using a switching factor SF. This factor SF  sf 1 sf 2  sf K is a K-dimensional vector. Each element (sf k ) of this vector is a binary bit to disable or enable the vector q i as revealed by:

4. Optimization Procedure for Modeling the Forward Kinematics Genetic algorithm (GA) is now considered as one of the most popular optimization and search techniques. The first obvious application for the algorithm was traced back to 1962 when Holland introduced the algorithm in his work studying adaptive systems [20]. The algorithm then received an enormous exploration by Goldberg [21]. The main advantages of GA are its global optimization performance and the ease of distributing its calculations among several processors or computers as it operates on the population of solutions that can be evaluated concurrently. It is a very simple method, generally applicable, not inclined to local optimization problems that arise in a multimodal search space, and no needs for special mathematical treatment. Moreover the algorithm is more applicable for the discontinuous problem, as in the case of the present study, unlike the conventional gradientbased searching algorithms. Basically, genetic algorithm works based on the mechanism of natural selection and evolutionary genetics. The algorithm starts by coding the variables to binary strings (chromosomes). Every chromosome has n genes. The gene is a binary bit by value zero or one. Three main operations control the procedure of the GA: reproduction, crossover, and mutation. Reproduction is processing to select the parent from a generation. The process is based

SF 



1

1

0

0

1



 q1,1 q 2,1 q3,1 q q 2, 2 q3, 2 Q   1,2     q q q  1, N 2, N 3, N



qi 1,1

qi ,1

qi 1,1



q K 1,1



qi 1, 2

qi , 2

qi 1, 2



q K 1, 2

If a set of N data

y

x

1

x2

x

1



0



0





q K ,1 

q K ,2 

(13)

          qi 1, N qi , N qi 1, N  q K 1, N q K , N  

If the value of this bit is “1”, the equivalent predictor vector q i is then counted in the structure of the regression model; if the value is “0”, q i is omitted. Searching for the optimal SF or optimal structure model is a discontinued optimization problem. The main reason to use the GA in the current problem is that the most conventional optimization techniques depend on slope or curvature of the response surface which is not available in the current problem. The procedure can be summarized as: 1. Generate a binary vector SF. 2. Construct the Q matrix from Eq. (13). 3. Compute the regression constant model vector γ using LSE in Eq. (10). 4. Compute the F PSE cost function in Eq. (11). An example is listed here to clear the idea behind the switching factor:

x1

x2  x N 

T

 xN 

T

is collected.

and

284

Assume, there are five functions considered to be candidates for modeling y = f(x), these functions are compile in a vector Q as

 Q  1 x 2 

cosx  log x 

1  x  1  2

(14)

In this example, there are 32 = 25 possibilities to build the regression model. The proposed switching factor SF is used to code these possibilities. Thus, the switching factor is a 5-dimensional vector. Each element is either “1” or “0”. If the SF = [1 0 1 0 0], then the first and third candidates are only passed to the LSE or the selected regression structure is y = γ 1 +γ 2 cos(x). Based on this regression structure the coefficients γ 1 and γ 2 are computed and the PSE cost function is evaluated as a function of number of terms K = 2 and the error between the estimated and the measured vector y . Then, GA to qualify the performance of each SF, where 32 possibilities are available to construct the structure of the regression model for minimum F PSE , repeats this procedure. Note: the model is based on the assumption that manipulator has a rigid links or no uncertainty source.

285

© 2009 Jordan Journal of Mechanical and Industrial Engineering. All rights reserved - Volume 3, Number 4 (ISSN 1995-6665)

5. Simulation Results and Discussion The proposed scheme is applied to the Stewart platform with parameters given in Table.1 . A population of 15000 samples was seeded from the inverse kinematics model. The regression predictors were generated from a third order polynomial in the sense that any analytical function can be expanded in polynomial form. Each term of this polynomial is a six-dimensional function given by:

i 6 j 6 qi   Li i and  ji  3 i  1, 2,  , 6 i 1 i 1

(15)

where j i = 1, 2, and 3 is a power index. The number of predictors generated by Eq. (15) is 84. Six optimization problems are then addressed to model the translational {x(t), y(t), z(t)} and rotational {φ(t), θ(t), ψ(t)} motions in terms of joint space variables {L i (t), i= 1,2, …, 6}. Genetic algorithms then propagate the search for optimal SF for each motion. Since 284 possible structures are assigned to be candidates for the optimization search, the length of each chromosome is coded by 84 bits. For the six optimization problems, the mutation rate is 20%. Each generation has a fixed population size 20 or no generation overlap. The optimization code was run many times with different starting guess (initial solution) and it converges to the same solution every time. The algorithm is highly convergent for all the optimization problems. The average number of generations for convergence is 3500. The resultant optimal regression structure is listed in Appendix. A. Table 1. Manipulator parameters used in the simulation. Variable Lu Ll Ru Rl

Description

Length of upper leg Length of lower leg Radius of the movable plate Radius of base plate

Value

Unit

0.95

m

0.95

m

0.4

m

1

m



Joint angles of [-50 , 50, 70, 170, -170, deg base plate -70]



Joint angles of [-2, 2, 118, 122 -122 upper plate -118]

 

deg

Table 2 shows the computational expenses of the model listed in Appendix A. The computational expense of each expression is computed as the number of terms and the number of multiplication operations. For example, the yaw expression has 30 terms: 21 cubic/tri-linear terms, 8 quadratic/bi-linear terms, and one linear term. The total number of the multiplication in this expression is 80 (21x3+ 8x2+1) operations. For the full Taylor expansion [12], the total number of terms is 84: 56 cubic/tri-linear terms, 21 quadratic/bi-linear terms, 6 linear terms, and 1 constant term. The total number of multiplication is then 216 operations. Such comparison proves that the proposed technique has the capability to deliver an optimal forward kinematics model for Stewart manipulator. Herein, the

optimality is defined in terms of saving memory and computation expenses. The yaw motion example indicates that there is 65% saving in term of terms and 63% saving in number of multiplications. This example is the worst in the overall model (see Table. 2). Table 2. Computational expenses of the proposed model in the form of number of terms and number of multiplications for each expression Surge Sway

Heave

Roll

Pitch

Yaw

Number of terms

24

24

25

26

22

30

Number of multiplications

62

66

67

65

48

80

Two tracks are selected to test the model adequacy. The first track is a smooth movement from an initial point {x = 10 cm, y = -10 cm, z = -8 cm, φ = 10 deg, θ = -10 deg, and ψ = -10 deg} to a final point {x = -10 cm, y = 10 cm, z = 8 cm, φ = -10 deg, θ = 10 deg, and ψ = 10 deg}. The time horizon of this track is 20 sec. This track is assigned to have zero velocities and accelerations for the initial and final points. After the track is generated, the inverse kinematics is then used to find the equivalent joint displacements {L i (t), i = 1,2, …, 6} as shown in Fig. (4). The second track is a sinusoidal movement. The task displacement amplitudes of these sinusoidal waves are Ax = 15 cm, A y = 15 cm, A z =10 cm, A φ = 10 deg, A θ = 10 deg, and A ψ = 5 deg. The resultant joint displacements of the second track are shown in Fig. (5). The two tracks have been selected to cover a wide range of displacements and velocities inside the workspace of the manipulator. The task space displacements {x(t), y(t), z(t), φ(t), θ(t), and ψ(t)} for the first and second tracks are now reproduced by the model listed in Appendix A. Figures (6) and (7) show a comparison between the original track and the simulation results using the proposed model. Figure (8) shows the variation of the percentage error for the two tracks with time. The results indicate that the percentage error is within ± 4%. The pitch motion has the worst error signal in the first track while the roll motion has the worst error signal in the second track. However, both of them are still inside the acceptable level of the error (less than 5%). The influence of the amplitude and the frequency variations on the error signal for the second track is shown in figure (9). The simulation results show that the roll motion has the highest maximum error for all amplitudes and frequencies. The percentage of the maximum error (ME) for position and velocity roll motion is used as an indicator for the error. There is insignificant variation of ME % with frequency. Such result is expected since the model is a kinematic one. the model delivers the task space displacements as functions of the joint space displacements without any derivatives (see Appendix A). Increasing the amplitude increases the percentage of the maximum error with a quadratic shape. Table (3) summarizes the statistics of errors from the approximate model in the two test cases. MSE is the mean squared error. ME is the maximum error during the track. The accuracy of the model is tested for both position and velocity since the accuracy in the velocity should be considered for a controller designing purpose (PD controller). The maximum position error in the first track

286

© 2009 Jordan Journal of Mechanical and Industrial Engineering. All rights reserved - Volume 3, Number 4 (ISSN 1995-6665)

for sway motion is 0.28 cm and for the pitch motion is 0.41 deg. On the other hand, the maximum velocity error that appeared in sway motion is 0.23 cm/s and in the pitch motion is 0.34 deg/sec. This is sufficiently adequate for building and designing a task space control for the Stewart manipulator. Moreover, the model has a simple computational manipulation. The authors previously developed the workspace for the same manipulator parameters in reference [4]. The workspace indicates that the heave motion limits are 50 cm

downward and 65 cm upward, if all the rest of motions have zero values. A new trajectory operating close to these boundaries (singularity-nearby) is generated in Fig. 10-a. This test case investigates the singularity-nearby performance. Figure 10-b shows that the accuracy level is within the accepted range, however as the manipulator heads to the limit values as the error increases. All these observations emphasize the applicability of the proposed model to be imbedded in the control loop more efficiently than other approaches.

Table 3. Statistical Comparison between the first and the second tracks: MSE refers to the mean squared error during the track and ME refers to the maximum error during the track Position MSE

Velocity MSE

Position ME

Velocity ME

Track 1

Track 2

Track 1

Track 2

Track 1

Track 2

Track 1

Track 2

Surge

1.03 cm2

0.81 cm2

0.04 cm2/s2

0.05 cm2/s2

0.13 cm

0.17 cm

0.09 cm/s

0.08 cm/s

Sway

1.12 cm2

1.45 cm2

0.15 cm2/s2

0.52 cm2/s2

0.28 cm

0.27 cm

0.04 cm/s

0.23 cm/s

Heave

1.25 cm2

0.86 cm2

0.22 cm2/s2

0.56 cm2/s2

0.11 cm

0.04 cm

0.03 cm/s

0.20 cm/s

Roll

0.21 deg2

1.09 deg2

0.19 deg2/s2

0.78 deg2/s2

0.11 deg

0.39 deg

0.11 deg/s

0.28 deg/s

Pitch

2.06 deg2

2.00 deg2

0.96 deg2/s2

1.89 deg2/s2

0.41 deg

0.33 deg

0.12 deg/s

0.34 deg/s

Yaw

1.05 deg2

0.46 deg2

0.45 deg2/s2

0.32 deg2/s2

0.30 deg

0.14 deg

0.06 deg/s

0.13 deg/s

Figure 4. The time history of the joint displacements for the first track.

287

© 2009 Jordan Journal of Mechanical and Industrial Engineering. All rights reserved - Volume 3, Number 4 (ISSN 1995-6665)

Figure 5. The time history of the joint space displacements for the second track. 10

10

Exact Model Proposed Model

5 y(cm)

x(cm)

5

0

-5

0 Exact Model Proposed Model

-5

-10 0

5

10 Time(sec)

15

-10

20

0

5

10 Time(sec)

15

20

b) Sway motion of the first track

a) Surge motion of the first track 8

10

6 4

5

Exact Model Proposed Model

 (deg)

z(cm)

2 0

0

-2 -4

-5

Exact Model Proposed Model

-6 -8 0

5

10

15

Time(sec)

c) Heave motion of the first track

Figure 6. continues next page…..

20

-10

0

5

10 Time(sec)

d) Roll motion of the first track

15

20

© 2009 Jordan Journal of Mechanical and Industrial Engineering. All rights reserved - Volume 3, Number 4 (ISSN 1995-6665)

10

10

Exact Model Proposed Model 5

5  (deg)

 (deg)

288

0

0

-5

-5 Exact Model Proposed Model

-10 0

5

10 Time(sec)

15

-10 0

20

5

10 Time(sec)

15

20

f) Yaw motion of the first track

e) Pitch motion of the first track

Figure 6. Comparison between the exact model and the results from the proposed approximate model for the first track: smooth motion between two different points. 15

15

Exact Model Proposed Model

10

10 5 y (cm)

x (cm)

5 0

0

-5

-5

-10

-10

-15 0

5

10 Time(sec)

15

Exact Model Proposed Model

-15 0

20

a) Surge motion of the second track

5

10 Time(sec)

15

20

b) Sway motion of the second track 10

10

Exact Model Proposed Model 5

 (deg)

z (cm)

5

0

0

-5

-5 Exact Model Proposed Model -10

0

5

10 Time(sec)

c) Heave motion of the second track

Figure 7. continues next page…

15

20

-10 0

5

10 Time(sec)

15

d) Roll motion of the second track

20

289

© 2009 Jordan Journal of Mechanical and Industrial Engineering. All rights reserved - Volume 3, Number 4 (ISSN 1995-6665)

10

6

Exact Model Proposed Model

4

5

 (deg)

 (deg)

2

0

0

-2

-5 Exact Model Proposed Model

-4

-10

-6

0

5

10 Time(sec)

15

20

0

2

4

6

8

10 12 Time(sec)

14

16

18

20

f) Yaw motion of the second track

e) Pitch motion of the second track

Figure 7. Comparison between the exact model and the results from the proposed approximate model for the second track: sinusoidal motion with frequency 0.5 rad/s. 4

4

3

3

Surge

Heave

Roll

Pitch

Yaw

2 Percentage of Error (%)

Percentage of Error (%)

2

Sway

1 0 -1 -2

1 0 -1 -2

-3 -3

-4 Surge -5

0

2

4

Sway 6

Heave 8

Roll

10 12 Time (sec)

a) First track

Pitch 14

16

Yaw 18

20

-4

0

2

4

6

8

10 12 Time (sec)

14

16

18

b) Second track

Figure 8. The variation of the error between the exact and the proposed approximate model .

a) Position Error

b) Velocity Error

Figure 9. The variation of the percentage maximum error (ME) for the roll motion and velocity with amplitude and frequency.

20

290

© 2009 Jordan Journal of Mechanical and Industrial Engineering. All rights reserved - Volume 3, Number 4 (ISSN 1995-6665)

1.8

50

1.7

40 Li , i=1,2,3, . . .,6

30

1.5

20

1.4

10

z(cm)

Length of Leg (m)

1.6

1.3

0

1.2

-10

1.1

-20

1

-30

0.9

0

2

4

6

Exact Model Proposed Model

8

10 12 Time (sec)

14

16

18

20

a) Joint displacements

-40

0

2

4

6

8

10 12 Time(sec)

14

16

18

20

b) Heave motion

Figure 10. The performance of the proposed model in the singularity-nearby vicinity.

6. Conclusion In this paper, we propose a new procedure to model the Stewart manipulator forward kinematics. The modeling procedure is based on predicted squared error cost function. This cost function is a trade-off between a minimum error and a minimum number of terms in the regression model. To demonstrate the technique feasibility, a simulation by numerical example has been developed. 284 candidate regression structures were selected to model the forward kinematics. The structures’ predictors were generated from a third order polynomial in a sixdimensional space. Using a genetic algorithm as a global optimization technique has successfully solved the six optimization problems. In this way, a simple structure of forward kinematics for the Stewart manipulator was developed. The model has the capability to reduce the computational expense by at least 65% from the traditional Taylor expansion previously investigated. Such reduction increases the suitability for the model in the real time control. Thus, most of previous in literature models seek the computational expenses, which restrict their practical ability. The model was tested by two generic tracks providing high precision results with maximum percentage error less than 5%. All these observations emphasize that the proposed model is quite applicable for a task space control. References [1] I. Nag, W. Chong, “High speed tracking control of stewart platform manipulator via enhanced sliding mode control”. IEEE International Conference on Robotics & Automation, Leuven, Belgium, 1998, 2716-2721. [2] C. Fang, C. Hung-Hsiang, L. Chin-Teng, “Fuzzy control of a six-degree motion platform with stability analysis”. IEEE SMC Conference, Vol.11, 1999, 325-330. [3] Y. Su, Y. Duan, C. Zheng, Y. Zhang, G. Chen, J. Mi, “Disturbance-rejection high-precision motion control of a Stewart platform,” IEEE transactions on control systems technology, Vol. 12, 2004, 364-374. [4] A. Omran, G. El-Bayoumi, M. Bayoumi, A. Kassem, "Genetic algorithm-based optimal control for a 6-DOF non redundant stewart manipulator". International Journal of

Mechanical Systems Science and Engineering, Vol. 2, No. 2, 2008, 73-79. [5] A. Omran, A. Kassem, G. El-Bayoumi, M. Bayoumi, "Mission-based optimal control of stewart manipulator". Aircraft Engineering and Aerospace Technology Journal, Vol. 81, No. 3, 2009, 226-233. [6] P. Nanua, W. Kenneth, M. Vasudeva, “Direct kinematics solution of a stewart platform”. IEEE Trans. Robot. Automat. Vol. 6, 1990, 438–444. [7] J. Pratikh, Y. Sarah, “A hybrid strategy to solve the forward kinematics problem in parallel manipulators”. IEEE Trans. Robot. Automat. Vol. 21, 2005, 18–25. [8] [8] B. Ilian, R. Jeha, K. Sung-Gaun, L. Sun-Kyu, “A closedform solution to the direct kinematics of nearly general parallel manipulators with optimally located three linear extra sensors”. IEEE Trans. Robot. Automat, Vol. 17, 2001, 148– 156. [9] D. Li, S. Salcudean, “Modeling, simulation, and control of a hydraulic stewart platform”. IEEE Int. Conf on Robotics and Automation, Albuquerque, 1997, 3360-3366. [10] S. Fu, Y. Yao, “Comments on “A Newton-Euler formulation for the inverse dynamics of the stewart platform Mech. Mach. Theory, Vol. 8, 2006, 1-3. manipulator,” [11] P. Dietmaier, “The Stewart–Gough platform of general geometry can have 40 real postures”. In Advances in Robot Kinematics: Analysis and Control, J. Lenarcic and M. L. Hust, Eds. Norwell, MA: Kluwer, 1998, 7–16. [12] H. Sadjadian, H. Taghirad, “Comparison of different methods for computing the forward kinematics of a redundant parallel manipulator”. Journal of Intelligent and Robotic Systems, Vol. 44, No. 3, 2005, 225-246. [13] H. Sadjadian, H. Taghirad, A. Fatehi, “Neural networks approaches for computing the forward kinematics of a redundant parallel manipulator”. International Journal of Computational Intelligence, Vol. 2, No. 1, 2006, 40-47. [14] K. Liu, M. Fitzgerald, F. Lewis, "Kinematic analysis of a Stewart platform manipulator". IEEE Trans. Industrial Electronics, Vol. 40, No. 2, 1993, 282-293. [15] K. Liu, F. Lewis, F., M. Fitzgerald, "Solution of nonlinear kinematics of a parallel-link constrained Stewart platform manipulator". Circuits, Systems, and Signal Proc., Special Issue on "Implicit and Robust Systems”, Vol. 13, No. 2 1994, 167-183.

291

© 2009 Jordan Journal of Mechanical and Industrial Engineering. All rights reserved - Volume 3, Number 4 (ISSN 1995-6665)

[16] L. Sheng , L. Wan-long, D. Yan-Chun, F. Liang, “Forward kinematics of the Stewart platform using hybrid immune genetic algorithm". Proceedings of the IEEE: International Conference on Mechatronics and Automation, 2006, 22302235.

[19] Barron R. Predicted squared error: A criterion for automatic model selection. Self-Organization Methods in Modeling arrow, S.J., ED., Marcel Dekker, Inc., New York; 1984.

[17] M. Tarokh, "Real time forward kinematics solution for general Stewart manipulator". IEEE International Conference on Robotics and Automation, 2007, 901-906.

[21] Goldberg D, David E. The

[18] S. Chen, C. Huang, L. Fu, “Applying a nonlinear observer to solve forward kinematics of a Stewart platform”. 17th IEEE International Conference on Control Applications, 2008, 1183-1188.

[20] Holland J. Adaptation in natural and artificial systems. The University of Michigan Press; 1975.

design of innovation: lessons from and for competent genetic algorithms. Boston, MA: Kluwer Academic Publishers; 2002.

[22] J. John, “Optimization of control parameters for genetic algorithms". IEEE Trans on System, Man, and Cybernetics, Vol. 16, No. 1, 1986, 566-574.

APPENDIX A: Resultant Model x L1 , L2 , L3 , L4 , L5 , L6   0.229L 3 L26  0.049L 4 L26  0.167L 22 L6  0.341L 1 L26  0.048L 1 L4  0.233L 21 L3  0.303 L3 L6  0.281L 23 L6  0.357L 1 L23  0.317L 1 L2  0.074L 22 L3  0.032L 1 L6  0.003L 2 L24 + 0.046L 24 L5  0.014L 2 L4 L5  0.003L 32 + 0.534L 1 L2 L6  0 .003 L2 L6  0.049L 1 L2 L5 + 0.063L 6 + 0.089L 36  0.0719L 5 + 0.044L 23  0.047L 1 L3 L4 y L1 , L2 , L3 , L4 , L5 , L6  

0.345L2 L4 + 0.006L1 L22 + 0.125L23 L4 + 0.459L1 L6 + 0.282L21 L3 + 0.143L5 L26 + 0.381L5 L6 + 0.309L1 L2 L5  0.685L1 L4 + 0.051L1 L24  0.316L6 + 0.076L35  0.005L4 L5 L6  0.256L2 L5 L6  0.454L1 L2 L3 + 0.362L1 L2 L6  0.187L2 L4 L6 + 0.175L2 L3 L5  0.545L1 L5 L6 + 0.194L1 L2 L4  0.049L31  0.194L21 L2  0.104L34  0.124L33 z L1 , L2 , L3 , L4 , L5 , L6  

 1.210  0.175L2 L24 - 0.151L22 L4  0.405L24 L6  0.065L3 L26  0.407L2 L25 + 0.072L23 L4 + 0.282L3 L6 + 0.002L34  0.413L4 L5  0.229L23 L6  0.076L1 L26  0.294L1 L25 + 0.049L4 L26  0.222L2 L26 + 0.505L25 L6  0.252L2 L3 L6 + 0.290L2 L6  0.436L5 L26 + 0.739L1 L2 L5  0.352L21 L2  0.106L1 L4 L5  0.039L1 L3 L6 + 0.212L21 + 0.025L24

 L 1 , L 2 , L 3 , L 4 , L 5 , L 6    0.187L 24 L 6  0.125L 21 L 5 + 0.741L 4 L 26 + 0.582L 21 L 6  0.204L 22 L 3  0.048L 2 L 26  0.435L 3 L 5 + 1.46L 3 L 4  0.293L 3 L 26 + 0.040L 1 L 26  0.374L 1 L 23  1.893L 1 L 6  0.013L 2 L 25  0.088L 21 L 4 + 0.170L 4 L 25 - 0.267L 4 L 5 L 6  0.289L 3 L 5 L 6  0.541L 3 L 4 L 5 + 0.278L 2 L 3 L 5  0.563L 1 L 4 L 6  0.434L 1 L 4 L 5 + 0.863L 1 L 3 L 6 + 1.433L  0.216L

2 1

 0.027L

3 6

 1.298L

4

 L1 , L2 , L3 , L4 , L5 , L6   0.119L2 L26 + 0.201L2 L5 - 0.093L4 L26 - 0.068L1 L25 - 0.006L5 L6  0.328L22 L3 + 0.027L4 L25 + -0.843L1 L24 - 0.155L1 L22 - 0.268L3 L4 - 0.201L1 L3  1.445L1 L4 - 0.982L2 L3 + +0.135L25 L6 - 1.063L6 + 2.091L5 + 0.564L1 L3 L4 - 0.538L25 - 1.131L1 - 0.088L23  0.616L24 - 0.083L2 L3 L5

 L1 , L2 , L3 , L4 , L5 , L6   - 0.398L2 L23 + 0.249L2 L4 + 0.199L21 L3 + 0.042L2 L24 - 0.065L21 L5 - 1.252L1 L22  0.928L2 L6  0.267L21 + 0.160L34 - 0.598L1 L3 - 0.102L2 L5 + 0.513L1 L26 + 1.400L21 L2  0.212L1 L2 L4 - 0.767L21 L6 - 0.454L1 L24  0.545L32  0.162L24 - 0.089L21 L4 - 0.506L1 L2 - 0.406L5 L6 + 0.525L2 L4 L5  0.336 L22 L6 - 0.150L4 L25 + 0.113L25 L6 - 0.556L + 0.350L3 L21 - 0.505L2 L4 L6 + 0.264L2 L3 L6 - 0.439L1 L5 L6

2

Suggest Documents