**4. Results**

32 Serial and Parallel Robot Manipulators – Kinematics, Dynamics, Control and Optimization

where *Ma* , *Na* and *Ka* are the inertia matrix, viscous damping coefficient matrix and gain matrix of the actuator, respectively. Also, *sJ* and *Jm* are the mass moment of inertia of the ball-screw and motor, *<sup>s</sup> b* and *bm* are the viscous damping coefficient of the ball-screw and

The electrical dynamics of the actuator can be described by the following equations.

*di V L Ri K dt* 

where *Kt* , *L* , *R* and *Kb* are the torque constant, the rotor inductance, terminal resistance and back-emf constant of the actuators, respectively. *V* and *i* are the motor voltage and motor

> 2 *m*

Since the dynamics of the platform is derived in the moving platform coordinates (Cartesian space, *Xp<sup>o</sup>* ), Equation 52 can be generally expressed in Cartesian space as the follows.

The terms in the equation above are obtained from joint space terms and the Jacobian

( ) ( ) *A A <sup>T</sup> Mc aA X K J MX M J <sup>p</sup> o aA*

( ) ( ) *B B <sup>T</sup> Mc aB X K J MX M J <sup>p</sup> o aB*

( ) (,) *A A <sup>T</sup> N X K J NX X N J M J c aA <sup>p</sup> <sup>o</sup> <sup>p</sup> o aA aA*

( ) (,) *B B <sup>T</sup> N X K J NX X N J M J c aB <sup>p</sup> <sup>o</sup> <sup>p</sup> o aB aB*

( ) ( ) *A A <sup>T</sup> G X K J GX c aA <sup>p</sup> <sup>o</sup>*

( ) ( ) *B B <sup>T</sup> G X K J GX c aB <sup>p</sup> <sup>o</sup>*

Figure 5 shows the simulation block diagram of the Stewart Platform manipulator including the actuator dynamics (Equation 56, 57, 58 and 59). In order to model the platform dynamics

without using forward kinematics, the block diagram is developed below.

*n L p* 

*b m*

*m t K i* (56)

(58)

*mc c c <sup>M</sup>* () () () *XX N XX G X* (59)

(60)

(61)

(64)

(65)

(62)

(63)

(57)

*<sup>m</sup>* and *F* are the vectors of

motor, *p* and *n* are the pitch of the ball-screw and the gear ratio.

current , respectively. The angular velocity of the motor is given as

matrix.

motor torques and the forces applied by the actuators.

### **4.1 Experimental setup and simulation blocks**

Figure 6 shows the Stewart Platform manipulator used in the experiments. It is constructed from two main bodies (top and base plates), six linear motors, controller, space mouse, accelerometer, gyroscope, force/torque sensor, power supply, emergency stop circuit and interface board as shown in the figure. Inverse kinematics and control algorithm of SP are embedded in MATLAB/Simulink module. Moreover, controller board like the space DS1103owning real-time interface implementation software to generate and then download the real time code to specific space board is used, and it is fully programmable from MATLAB/Simulink environment. Thus, it is possible for the user to observe the real process and collect the data from encoders for each leg while the experiment is in progress.

Fig. 6. SP manipulator used in experiments

To demonstrate the effectiveness and the validation of the two dynamic models of the SP manipulator including the actuator dynamics, experimental tests are performed on the manipulator.

The first Simulink model ("*Desired"* block) as shown in Figure 7 is used for the inverse kinematic solution for a given *T X PPP po x y z* . Thus, the reference lengths of the legs are obtained from this block. Figure 8 shows the forward dynamics Simulink block (Jacobian matrix and its derivative, motor torques, the position and velocity of the moving platform, etc.). Figure 9 shows the developed Simulink model for the actual lengths of the legs. This block is designed using the following equation.

$$
\ddot{L}\_i = \dot{f}\,\dot{X}\_{P-O} + f\,\ddot{X}\_{P-O} \tag{66}
$$

Dynamic Modeling and Simulation of Stewart Platform 35

Xpdot

Xpdotdot

Jacobian

Ldotdot

Stewart\_Platform\_Dynamics

Jacobiandot

Accelarations of Legs

To examine trajectory tracking performance of the SP dynamic model, a Simulink model

2 Ldot

1 s Integrator1

1 s Integrator

V(Volt) L act\_lengths

1 L

In the figure, the reference lengths of the legs are limited between -25 mm and 25 mm with saturation block. The*"Stewart\_Platform\_Dynamics"* block computes the dynamic equations of

The attachment points *GTi* and *Bi* on the moving and base platform, respectively are given

X 0.0641 0.0641 0.0278 -0.0919 -0.0919 0.0278 Y -0.0691 0.0691 0.0901 0.0209 -0.0209 -0.0901 Z 0 0 0 0 0 0

x 0.1451 0.1451 -0.0544 -0.0906 -0.0906 -0.0544 y -0.0209 0.0209 0.1361 0.1152 -0.1152 -0.1361 z 0 0 0 0 0 0

*GT*<sup>1</sup> (m) *GT*<sup>2</sup> (m) *GT*<sup>3</sup> (m) *GT*<sup>4</sup> (m) *GT*<sup>5</sup> (m) *GT*<sup>6</sup> (m)

*B*<sup>1</sup> (m) *B*<sup>2</sup> (m) *B*<sup>3</sup> (m) *B*<sup>4</sup> (m) *B*<sup>5</sup> (m) *B*<sup>6</sup> (m)

Fig. 9. The leg Simulink model, "*LengthofLegs"*block

1 s Integrator2

Fig. 10. Simulink model of the SP manipulator

Saturation

Table 1. Attachment point on the moving platform

Table 2. Attachment point on the base platform

the SP manipulator and outputs the actual lengths of the legs.

des\_lengths

shown in Figure 10 is developed.

[DIFJAC]

[Jacobian]

1 Xp\_dot\_dot

in Table 1 and Table 2.

len Leg Trajectory

Fig. 7. Inverse kinematic solution Simulink model, "*Leg\_Trajectory"*block

Fig. 8. The Simulink model of the forward dynamics, "*Stewart\_Platform\_Dynamics''* block

To demonstrate the effectiveness and the validation of the two dynamic models of the SP manipulator including the actuator dynamics, experimental tests are performed on the

The first Simulink model ("*Desired"* block) as shown in Figure 7 is used for the inverse

of the legs are obtained from this block. Figure 8 shows the forward dynamics Simulink block (Jacobian matrix and its derivative, motor torques, the position and velocity of the moving platform, etc.). Figure 9 shows the developed Simulink model for the actual lengths

Li=ai-bi

Gain Rotation

leg v ec

nom len

[pos\_platform] [vel\_platform]

MATLAB Function Forward\_Dynamic\_with\_Motors

leg\_length' nominal leg length

du/dt Derivative

 . Thus, the reference lengths

*X PPP po x y z*

pos\_base' pos\_base

Matrix Multiply Product

of the legs. This block is designed using the following equation.

body\_pts body\_pts

Horiz Cat

Create desired position matrix

V(v olt)

Ldot

Matrix Fixed XYZ

[alfbetgam] Goto4

Fig. 7. Inverse kinematic solution Simulink model, "*Leg\_Trajectory"*block

Required\_Paramerameters

Subsystem

Fig. 8. The Simulink model of the forward dynamics, "*Stewart\_Platform\_Dynamics''* block

*T*

*L JX JX i PO PO* (66)

leg len

Unit\_Vec\_Lengths(u)

Compute vector of leg lengths

Leg\_Vectors

U( : ) Reshape

Xp\_dot\_dot

LengthsofLegs

1000

1 len

[Legs\_Vectors]

1 L

L

Ldot

[unit\_vec\_lengths]

manipulator.

Xang Yang Zang Xpos Ypos Zpos Desired

> 1 V(Volt)

kinematic solution for a given

Fig. 9. The leg Simulink model, "*LengthofLegs"*block

To examine trajectory tracking performance of the SP dynamic model, a Simulink model shown in Figure 10 is developed.

Fig. 10. Simulink model of the SP manipulator

In the figure, the reference lengths of the legs are limited between -25 mm and 25 mm with saturation block. The*"Stewart\_Platform\_Dynamics"* block computes the dynamic equations of the SP manipulator and outputs the actual lengths of the legs.

The attachment points *GTi* and *Bi* on the moving and base platform, respectively are given in Table 1 and Table 2.


Table 1. Attachment point on the moving platform


Table 2. Attachment point on the base platform

Dynamic Modeling and Simulation of Stewart Platform 37

() 0 *t*

 *t t* () 0

() 0 *t* (67)

0 0.5 1 1.5 2

The Sixth Leg

0 0.5 1 1.5 2

The Third Leg


Ref. Robot Sim-A Sim-B



0

5

Length (mm)

10

15

20


0

5

Length (mm)

10

15

20

*x t*() 0

*y t*() 0

Jacobian *AJ* (Sim-A) and *BJ* (Sim-B).

The First Leg

0 0.5 1 1.5 2

The Fourth Leg

0 0.5 1 1.5 2




0

5

Length (mm)

10

15

20


0

Length (mm)

5

10

15

the first experiment

*z t*( ) 0.25 10sin( ) 

Figure 11 shows the reference lengths of the legs, the actual lengths from the encoder and the lengths predicted by the dynamic equations of the SP manipulator with two different

The Second Leg

0 0.5 1 1.5 2

Time (s)

The Fifth Leg



0

5

Length (mm)

10

15

20

Fig. 11. Comparison of simulation results (red and blue) and experimental results (black) for

0 0.5 1 1.5 2

Time (s)

Response of two dynamic simulation models (Sim-A and Sim-B) is almost same. But, it is observed that the *Sim-A* shows better performance than the *Sim-B* for this trajectory. Also,

The second experiment, both translational and rotational motion along all axes (x,y,z) was applied to the SP system. The trajectory is defined in Equation 68. The experimental and

simulation and experimental results are very close to each other.



0

Length (mm)

5

10

15

simulation results for this trajectory are shown in Figure 12.


Also, the system constants are given in Table 3.

#### Table 3. SP constants

The constants of the motor used in the SP manipulator are given in Table 4.


Table 4. SP motor constants

#### **4.2 Dynamic simulations and experimental results**

In this subsection, the effectiveness and the validation of the dynamic models of the SP manipulator with the actuator dynamics were investigated. In order to compare the experimental results with the simulation results, three trajectory tracking experiments were conducted. Also, the dynamic models obtained with two different Jacobian matrices ( *AJ* and *BJ* ) are examined. In all experiments, SP was worked in open-loop. In the first experiments, the translation motion along z-axis was applied to the SP system.

**Parameter Value** 

*mup* 1.1324 (Kg)

*m*<sup>1</sup> 0.4279 (Kg) *m*<sup>2</sup> 0.1228 (Kg) <sup>1</sup>*l* 0.22 (m) <sup>2</sup>*l* 0.05 (m)

*pr* 0.18867975191 (m)

*base r* 0.29326616983 (m)

The constants of the motor used in the SP manipulator are given in Table 4.

**Parameter Value** 

( ) *mf I* <sup>2</sup> 0.0025 0 0

 

*R* 7.10 (ohm) *L* 265e-6 (H) *Kb* 2.730e-3 (V/rpm) *Kt* 26.10e-3 (Nm/A) *n* 1 (Rad/rad) *Jm* 0.58e-6 (Kg.m²) *sJ* 0.002091e-3 (Kg.m²) *bm* 0.0016430e-3 (N.s/rad) *<sup>s</sup> b* 0.11796e-3 (N.s/rad) *P* 0.001 (m)

In this subsection, the effectiveness and the validation of the dynamic models of the SP manipulator with the actuator dynamics were investigated. In order to compare the experimental results with the simulation results, three trajectory tracking experiments were conducted. Also, the dynamic models obtained with two different Jacobian matrices ( *AJ* and *BJ* ) are examined. In all experiments, SP was worked in open-loop. In the first experiments,

0 0.0025 0 . 0 0 0.005

*Kg m*

Also, the system constants are given in Table 3.

Table 3. SP constants

Table 4. SP motor constants

**4.2 Dynamic simulations and experimental results** 

the translation motion along z-axis was applied to the SP system.

$$\begin{array}{ll} \mathbf{x}(t) = \mathbf{0} & \mathbf{z}(t) = \mathbf{0} \\\\ y(t) = \mathbf{0} & \beta(t) = \mathbf{0} \\\\ z(t) = 0.25 + 10\sin(\pi t) & \gamma(t) = \mathbf{0} \end{array} \tag{67}$$

Figure 11 shows the reference lengths of the legs, the actual lengths from the encoder and the lengths predicted by the dynamic equations of the SP manipulator with two different Jacobian *AJ* (Sim-A) and *BJ* (Sim-B).

Fig. 11. Comparison of simulation results (red and blue) and experimental results (black) for the first experiment

Response of two dynamic simulation models (Sim-A and Sim-B) is almost same. But, it is observed that the *Sim-A* shows better performance than the *Sim-B* for this trajectory. Also, simulation and experimental results are very close to each other.

The second experiment, both translational and rotational motion along all axes (x,y,z) was applied to the SP system. The trajectory is defined in Equation 68. The experimental and simulation results for this trajectory are shown in Figure 12.

Dynamic Modeling and Simulation of Stewart Platform 39

Figure 13 illustrates the results obtained from dynamic models and experimental results for this trajectory. In accordance with the results shown in Figure 13, the relative small deviations between the models and the experimental data are occurred. However, the

The Second Leg

Fig. 13. Comparison of simulation results (red and blue) and experimental results (black) for

0 0.5 1 1.5 2

Time (s)

0 0.5 1 1.5 2

0 0.5 1 1.5 2

The Sixth Leg

0 0.5 1 1.5 2

The Third Leg


Ref. Robot Sim-A Sim-B

> -15 -10 -5 0 5 10 15

Length (mm)

Length (mm)

Time (s)

The Fifth Leg

The errors between simulation and experimental results were computed for all experiments.

123456

(70)

<sup>1</sup> () () () () () ()

*E ei ei ei ei ei ei*

where 1 6 *ei ei* ( )... ( ) are the trajectory errors of *i*th sample obtained from difference between the

Table 5 gives the cost function values obtained from the two different dynamic models. The two dynamic models of the SP manipulator using *AJ* and *BJ* exhibit very good performance in terms of model accuracy. Performance of the dynamic model using *AJ* is

the third experiment

0 0.5 1 1.5 2

The Fourth Leg

0 0.5 1 1.5 2

The First Leg




0

Length (mm)

5

10

15

Length (mm)

better than which of other model.

The cost function for the modeling error is defined as

1

experimental and the simulation results and *N* is the number of sample.

*i*

*N*

*N*

obtained dynamic models can track the high frequency reference trajectory.





Length (mm)

0

5

10

Length (mm)

Fig. 12. Comparison of simulation results (red and blue) and experimental results (black) for the second experiment

$$x(t) = 5\sin(\pi t) \qquad\qquad\qquad a(t) = 10\cos(2\pi t)$$

$$y(t) = 5\cos(\pi t) \qquad\qquad\qquad\qquad \beta(t) = 10\sin(2\pi t) \tag{68}$$

$$z(t) = 0.25 + \sin(\pi t) \qquad\qquad\qquad\qquad\qquad \gamma(t) = 10\cos(2\pi t)$$

As can be shown in the figure, the dynamic model (red) has better performance compared to other (blue). There is good match between the simulation and experimental results. In the last experiment, the fast translational and rotational motion along all axes (x,y,z) was conducted. The trajectory is given below.

$$\begin{array}{ll} \alpha(t) = 10 \sin(2\pi t) & \alpha(t) = 5 \cos(4\pi t) \\\\ y(t) = 10 \cos(3\pi t) & \beta(t) = 5 \sin(5\pi t) \\\\ z(t) = 0.25 + 3 \sin(\pi t) & \gamma(t) = 5 \cos(3\pi t) \end{array} \tag{69}$$

The Second Leg

0 0.5 1 1.5 2

Time (s)

The Fifth Leg

Fig. 12. Comparison of simulation results (red and blue) and experimental results (black) for

0 0.5 1 1.5 2

Time (s)

*y*( ) 5cos( ) *tt t t*

*t*

As can be shown in the figure, the dynamic model (red) has better performance compared to

In the last experiment, the fast translational and rotational motion along all axes (x,y,z) was

*t*

*y*( ) 10 cos(3 ) *t t tt*

*t*

 


Length (mm)

 

> 

> >

 

 

( ) 5cos(4 ) *t t*

( ) 5cos(3 ) *t t*

( ) 10sin(2 ) (68)

0 0.5 1 1.5 2

The Sixth Leg

0 0.5 1 1.5 2

The Third Leg


Ref. Robot Sim-A Sim-B

Length (mm)

( ) 5sin(5 ) (69)

( ) 10 cos(2 ) *t t*

( ) 10 cos(2 ) *t t*

*z t*( ) 0.25 sin( ) 

other (blue). There is good match between the simulation and experimental results.

*z t*( ) 0.25 3sin( ) 

*xt t* ( ) 5sin( ) 

*x t*( ) 10sin(2 )

conducted. The trajectory is given below.



0

Length (mm)

10

20



0

10

Length (mm)

20

30

the second experiment

0 0.5 1 1.5 2

0 0.5 1 1.5 2

The Fourth Leg

The First Leg




0

10

Length (mm)

20

30

Length (mm)

Figure 13 illustrates the results obtained from dynamic models and experimental results for this trajectory. In accordance with the results shown in Figure 13, the relative small deviations between the models and the experimental data are occurred. However, the obtained dynamic models can track the high frequency reference trajectory.

Fig. 13. Comparison of simulation results (red and blue) and experimental results (black) for the third experiment

The errors between simulation and experimental results were computed for all experiments. The cost function for the modeling error is defined as

$$E = \frac{1}{N} \sum\_{i=1}^{N} |e\_1(i)| + |e\_2(i)| + |e\_3(i)| + |e\_4(i)| + |e\_5(i)| + |e\_6(i)|\tag{70}$$

where 1 6 *ei ei* ( )... ( ) are the trajectory errors of *i*th sample obtained from difference between the experimental and the simulation results and *N* is the number of sample.

Table 5 gives the cost function values obtained from the two different dynamic models. The two dynamic models of the SP manipulator using *AJ* and *BJ* exhibit very good performance in terms of model accuracy. Performance of the dynamic model using *AJ* is

Dynamic Modeling and Simulation of Stewart Platform 41

Gallardo, J.; Rico, J.M.; Frisoli, A.; Checcacci, D.; Bergamasco, M. (2003). Dynamics of

Geike, T. & McPhee J. (2003). Inverse dynamic analysis of parallel manipulators with full

Gregório, R. & Parenti-Castelli, V. (2004). Dynamics of a Class of Parallel Wrists. *Journal of* 

Guo, H. & Li, H. (2006). Dynamic analysis and simulation of a six degree of freedom Stewart

Harib , K.; Srinivasan, K. (2003). Kinematic and dynamic analysis of Stewart platform-based

Khalil W, Ibrahim O. (2007). General solution for the dynamic modelling of parallel robots.*J* 

Lebret G.; Liu K.; Lewis F. L. (1993). Dynamic analysis and control of a Stewart platform

Lee, K & Shah, D.K. (1988). Dynamical Analysis of a Three-Degrees-of-Freedom In-Parallel

Liu, K.; Lewis, F. L.; Lebret, G.; Taylor, D. (1993). The singularities and dynamics of a

Liu, M.J.; Li, C.X.; Li, C.N., 2000. Dynamics analysis of the Gough-Stewart platform

Meng, Q.; Zhang, T.; He, J-F.; Song, J-Y.; Han, J-W.(2010). Dynamic modeling of a 6-degree-

Merlet, J. P. (2004). Solving the forward kinematics of a Gough-type parallel manipulator

Reboulet, C. & Berthomieu, T. (1991). Dynamic Models of a Six Degree of Freedom Parallel

Riebe, S. & Ulbrich, H. (2003). Modelling and online computation of the dynamics of a parallel kinematic with six degrees-of-freedom. *Arch ApplMech*, 72, pp. (817–29) Staicu, S. & Zhang, D. (2008). A novel dynamic modelling approach for parallel mechanisms

Stewart, D. (1965). A Platform with Six Degrees of Freedom, *Proceedings of the Institute of* 

Tsai L-W. (2000). Solving the inverse dynamics of Stewart–Gough manipulator by the

Wang, J. & Gosselin, C. (1998). A New Approach for the Dynamic Analysis of Parallel

of-freedom Stewart platform driven by a permanent magnet synchronous motor. *Journal of Zhejiang University-SCIENCE C (Computers & Electronics)*, 11(10), pp. (751-

with internal analysis. *International Journal of Robotics Research*, 23(3), pp. ( 221–

Manipulators. *Proceedings of the IEEE International Conference on Robotics and* 

Actuated Manipulator. *IEEE Journal of Robotics and Automation*, 4(3). Lin, J. & Chen, C.W. (2008). Computer-aided-symbolic dynamic modeling for Stewart-

Stewart platform manipulator. *J. Intell. Robot*. Syst., 8, pp. (287–308)

manipulator. *IEEE Trans. Robot. Automat*., 16 (1), pp. (94-98)

mobility. *Mechanism andMachine Theory*, 38, pp. (549–562)

machine tool structures, *Robotica*, 21(5), pp. (541–554)

manipulator. *Journal of Robotic System*, 10, pp. (629-655)

platform manipulator.*Robitica*, 27 (3), pp. (331-341)

Merlet, J.P. (1999). *Parallel Robots*, Kluwer Academic Publishers.

analysis. *Robot ComputIntegrManufact*, 24, pp. (167–172)

principle of virtual work. *J Mech Des*, 122, pp. (3–9)

*Mechanical Engineering*, Vol. 180, Part 1, No. 5, pp. (371-386)

Manipulators. *Multibody System Dynamics*, 2, pp. (317-334)

*Automation*, pp. (1153-1157)

C: *Journal of Mechanical Engineering Science*, Vol. 220, pp. (61-72)

*Mechanical Design*, Vol. 126, pp. (436-441)

*Intell Robot Systems,* 49, pp. (19-37)

pp. (1113–1131)

761)

235)

parallel manipulators by means of screw theory. *Mechanism and Machine Theory*, 38,

platform manipulator. Proceedings of the Institution of Mechanical Engineers, Part


Table 5. The cost function values for the two different dynamic models
