You are on page 1of 27

Dynamic Analysis and Control of a

Stewart Platform Manipulator


G. Lebret, K. Liu,' and F. L. Lewis
Automation & Robotics Research Institute
The University of Texas at Arlington
7300 Jack Newel1 Blvd., S.
Fort Worth, TX 76118
Received May 3, 1992; accepted October 20, 1992

The Stewart platform is a six-axis parallel robot manipulator with a force-to-weight ratio
and positioning accuracy far exceeding that of a conventional serial-link arm. Its stiffness and accuracy approach that of a machine tool yet its workspace dexterity approaches that of a conventional manipulator. In this article, we study the dynamic
equations of the Stewart platform manipulator. Our derivation is closed to that of
Nguyen and Pooran because the dynamics are not explicitly given but are in a step-bystep algorithm. However, we give some insight into the structure and properties of these
equations: We obtain compact expressions of some coefficients. These expressions
should be interesting from a control point of view. A stiffness control scheme is designed for milling application. Some path-planning notions are discussed that take into
account singularity positions and the required task. The objective is to make the milling
station into a semiautonomous robotic tool needing some operator interaction but having some intelligence of its own. It should interface naturally with part delivery and
other higher-level tasks. 0 1993 John Wiley & Sons, Inc.

*Addressee for all correspondence.


Journal of Robotic Systems 10(5), 629-655 (1993).
0 1993 by John Wiley & Sons, Inc.
CCC 0741-2223/93/050629-027

630

Journal of Robotic Systems-1 993

1. INTRODUCTION

The Stewart platform manipulator is a parallel kinematic linkage system that


has major mechanical differences from typical serial link robots. In this research, interest focuses on configuration offers the following significant advantages when applied as a manufacturing manipulator: (1) Major components of
actuation forces are usually additive; (2) actuator position errors are not additive.
The Stewart platform manipulator appears simple and refined to the point of
elegance. However, the same closed kinematics that provide mechanical stiffness also present an extremely difficult theoretical problem for forward kinematics analysis. This problem has blocked the development of a practical control algorithm capable of real-time trajectory generation, a necessity for
application of the manipulator.
Much effort has been devoted to finding an efficient algorithm for giving an
accurate kinematic solution since this kind of platform was proposed by
Stewart' in 1965. In Lee and Shah,2 the kinematic behavior of a three-link,
three-degrees-of-freedom (do0 platform was investigated. Though this research gave the reader a clear geometric background, the 3-dof nature of the
device (two for orientation and one for position) limits its application. In Fichter,3the kinematic behavior of a 6-dof Stewart platform was studied. To solve
for the position of the upper platform in terms of the given link lengths, 30
nonlinear algebraic equations must be solved simultaneously. Due to the timeconsuming nature of this procedure, it is impossible to compute the kinematic
solutions on-line. In Waldron et aL4and Nanua et aI.,s similar efforts have been
made. Instead of solving 30 equations, a 24th-order polynomial4or a 16th-order
polynomial5in a single variable must be solved. Not to mention the computational complexity involved in solving such high-order polynomials, the multiple
solutions alone (there may exist up to 64 solutions) make this a difficult approach to use practically.
Liu et aL6 proposed a simple algorithm that involves solving only three
nonlinear algebraic equations. This algorithm provides not only a simpler kinematics analysis approach but also a relatively simpler approach to deal with the
Jacobian matrix and singularities.
In Liu et aL6and this article interest focuses on the Stewart platform configuration, which consists of a semiregular hexagonal lower platform, an equilateral triangular upper platform, and six identical linear actuators as shown in
Figure 1. The detailed forward and inverse kinematics are in Liu et aL6In this
article, we concentrate our effort upon the dynamics of the Stewart platform
based on our previous work on the kinematics and Jacobian. Then, we present
some potential applications of the Stewart platform manipulator in manufacturing systems.
In general, there exists a duality between parallel robots and serial linkage
robots. For a 6-dof Stewart platform, the complexity of the forward kinematics
has to be compared with that of the direct kinematics of the serial robot and, on
the contrary, inverse kinematics are as easy as the forward kinematics of a

Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

631

Figure 1. Stewart platform geometry.

serial robot arm. The same remark can be made about the study of the direct
and inverse Ja~obian.~,
As far as the dynamics are concerned, some articles*.9show the complexity
of this study. In the first, a Newton-Euler approach is used. In the second, the
Lagrange formulation is used. In this research, we also use Lagrange formulation. However, we are more interested in the structure and properties of the
dynamics. Indeed, our aim here is to give more insight into the different coefficient of the dynamic equations and more precisely into the inertia matrix [M(q)
in (4)j. We will show how it is related to the Jacobians defined in Liu et al.OThe
reason for this development is that a good knowledge of these terms is useful
for the study of adequate control schemes. For example, only a particular
factorization of the Coriolis and centrifugal terms [V(q,$ in (4)]leads to the
well-known skew-symmetric relation used in the proof of the convergence of
several robust and adaptive
In the same way, we hope that the description of the matrix M(q) will allow us to use some concepts like imaginary
robot developed by Gu and Loh.I4 This theory is based on a factorization of
the inertia matrix using Jacobians.
As a manufacturing manipulator, the Stewart platform has great potential to
be applied for the automation of many light machining applications such as
surface finishing, edge finishing, routing, and profile milling. New manipulator
applications to manufacturing processes requiring high-force and -power output such as combined assembly pressing are also possible. Therefore, in section
4 the potential applications of the Stewart platform in the manufacturing industry are discussed. As a special application, we will study the stiffness control in
the milling process.
The milling machine is one of the most important machining tools used in
todays manufacturing industry. It can be used to process either the tools or the
parts. Due to its ability to quickly cut material and accurately follow contours,
the milling machine is used to machine small pieces such as helical gear or

632

Journal of Robotic Systems-1993

large-scale parts such as cylinder heads for an oceangoing freighter. However,


because in general the cutter has only 2 or 3 dof to process a complex work
several configuration adjustments of the cutter, table, and fixture must be made
to let the combination of the movements meet the desired contour. In some
cases, a special fixture must even be designed to meet a specific need.
Another problem in milling is the shock that may occur when teeth on a
cutter make contact with the work. To minimize the effects of shock and give a
smoother cutting action, the cutter holder (the spindle) must be very cumbersome and powerful.
The Stewart-platform-based manipulator (SPBM)has some innate merits
that make it suitable for milling actions. Its link ends are simply supported,
making it far more rigid in proportion to size and weight than any serial link
robot. Furthermore, its links are arranged so that major force components of all
six prismatic joints may add together, yielding a ratio of force-output-to-manipulator-weight more than one order of magnitude greater than most industrial
robots. The closed kinematic chain and parallel linkage structure not only give
the SPBM great rigidity and a high force-to-weight ratio but also provide the
capability of improved accuracy over serial link robots because the parallel link
positioning errors are distributed, not cumulative.

2. NOTATIONS

To introduce the notations, we first briefly summarize the approach used in


Section 3 to derive the dynamic equations, Then, we describe the different
frames and coordinates needed to modelize the robot.
Procedures using the Lagrange formulation are
1. Calculate the kinetic energy (K)and potential energy (P)as a function of
the generalized coordinate q:

1
K = K(q,Q) = 2 QTM(q)Q

where q E 53" and M E Rnxn

(1)

P = P(q)

where P(q) E 53"

(2)

2. Develop the Lagrange equations using

where 7 is the torque or force to apply to the body.


This finally yields the dynamic equations in the standard form:

Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

633

The inertia matrix M(q) is directly given by the expression of the kinetic
energy K(q,$. The gravity term is obtained from the potential energy P(q) by
G(q) = aP(q)/aq. However, the Coriolis and centrifugal term (V(q,$ E Rn)is
not so easy to express.

2.1. Coriolis and Centrifugal Term V(q,a)

Using the Christoffel symbols [Cu&(q);


see ref. 121, V(q,q) can be obtained by

v(q,qIk =

e (e
j

C,qi)C

fork = 1,

. . . ,6

with

This is the most practical expression to compute the Coriolis and centrifugal
term V(q,q) for a numerical application. But, for a theoretical study the description of Koditschek" is also interesting:

where V,,,(q,q) is an ( n x n ) matrix that can be expressed by

Here, U Mis a matrix obtained from M(q) and 4 by the following relation, where
@ represents the Kronecker product:

with

634

Journal of Robotic Systems-1 993

Remark 1
The equivalence of the two descriptions can be understood from the relations

The skew-symmetricproperty commonly used (see refs. 12 and 13) in the


Rroof of the convergence of several control laws is easy to derive from (8):
M - 2V,, = UM - U L is a skew-symmetric matrix.
2.2. Frames and Coordinates Associated with the Robot

In our study, we will use the following notations to modelize the parallel
Y,Z) at the center (0)
of
robot. Referring to Figure 1, fix an inertial frame (X,
the lower platform with the Z-axis pointing vertically upward. Fix another
moving coordinate system (x,y,z) at the center of gravity of the upper platform
with the z-axis normal to the platform, pointing outward. In the sequel, these
two coordinate systems are called the BASE or fixed frame (ff) and the TOP or
moving from (mf). The physical dimensions of the lower and upper platforms
and the coordinates of their vertices in terms of the BASE frame or the TOP
frame are shown in Figure 2.
To specify the configuration of the 6-dof Stewart platform, six independent
position-orientation variables are needed. Denote the location of the origin of

-4

1
X

Figure 2. Physical dimensions of base and top.

635

Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

unity approach vector

Figure 3. Rotation angles.

the TOP frame with respect to the BASE frame [ p x , p y , p z l T .The orientation is
not defined by the standard Euler angles but by rotating the TOP frame first
about the fixed X-axis by a degrees, then about the fixed Y-axis by p degrees,
and finally about the z-axis by y degrees (Fig. 3). All angles are measured in the
right-handed sense. We will denote Rx(a), Ry(p), and R,(y) the three matrices
that represent these basic rotations.
0

CP

0 SP
1 0 R,(y)

cy

-sy

-sp 0 cp

(13)

This definition of orientation not only gives us a clear physical meaning but
also avoids violating the one-to-one relationship between the system configuration and the value of Xpp0,
which may cause the Jacobian matrix to lose its rank
even if the system is not in a singular position (see ref. 10).
Thus, the position and orientation of the upper platform is specified by the
= [px,p~,pz,a,p,yI~.
Cartesian coordinates XP-(,
Other notations will be introduced in the text. Just note that to make clearer
the reading we will differentiate a vector from a scalar by adding an arrow and
(u
will denote the scalar product of two vectors u' and v' either by u' * v' or iTv'
will be the module of 6).
3. DYNAMIC EQUATIONS OF THE STEWART PLATFORM

As noted in Section 1, there exists a duality between serial and parallel


robots. It appears here in the fact that the dynamic equations are less difficult to
obtain in the Cartesian space than in the joint space. Thus, one seeks the

636

Journai of Robotic Systems-1993

equations

M(X,.,-,)X,,-,

+ Vm(Xp-,,X,,-,)Xp-,
+ G(X,-,) = J*(X,,-,)T

(14)

The notations are the same than in eq. (4); we just replace the joint coordiand as a consequence replace the
nates q by the Cartesian coordinates X,,-()
torque T by the force J *(X,,-,)T. T = V; ,fi,A ,f4 ,fs ,fs]*, where is the force
applied in the actuator of the leg Legi. Note that the Jacobian (J) that is
introduced here, and more generally for parallel robots, is the classical inverse Jacobian (of serial robot). This explains why we have here J * and not
J-*, as is the case for serial robots.
In the following, we divide the robot into two subsystems: the upper platform
and the six legs. We compute the kinetic energy and the potential energy for
both of these subsystems and then derive the global dynamic equations.
3.1. Kinetic and Potential Energies
3.1.1. Kinetic and Potential Energies of the Upper Platform

The characteristics of the upper platform (up) are

0
0

mass m u .
tensor of inertia in the moving frame !l(d).
angular velocity in the fixed frame f l u p ( ~ )

Kinetic energy of the upper platform. The kinetic energy (Kup)can be divided into two terms:
0

Translational energy. Energy of the center of mass when one considers


that the entire mass of the platform is concentrated there:

Rotational energy. Energy of the body due to the rotation around its center
of mass:

Let us develop the last expression.


The tensor of inertia O(m has a simple form in the moving frame

O(,,f)

[:I
0

Iy 0 . Given the definition of the angles a, p , and

y , the

637

Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

angular velocity

fiUp(fi)of

the upper platform is


(17)

or

([

fiup(ff,

0 SP

CP

-sp

0 cp

['

: ," ,"j+," ::]


0 0 0

0 Ca

-sa

0 Sa

ca

0 0 0

I[: 3" I!:[)]:


0 0 1

(18)

In the moving frame, it is defined by fiup(mf) = R,(y)TRx(a)rRy(P)r


fiup(fi).Thus,
we obtain
1

Kupbt)

I:[ [
ci

IxC2y

+ fyS2y

( f x - fy)CaCySy

(1, - ly)CaCySy

C2a(lxS2y + ZyC2y) + fzS*a


-1zS2a

0
-fzs2a]

IZ

[i]
(19)

Finally, we can write the total kinetic energy of the upper platform in a compact
form as follows:
Result 1

or
K,, =

2
mu

m,

m,

Potential energy of the upper platform

638

Journal of Robotic Systems-1993

Result 2

Pup= mug p z

= [0 0

mug 0 0 O]Xp-o

(21)

where g is the gravity


3.1.2. Kinetic and Potential Energies of the Six Legs

A precise study of the dynamics of the legs should require a decomposition


into two parts: the fixed part (to the base) and the moving part (see Fig. 1). And,
we should consider them as two bodies with their own inertia. However, this
will lead to a complex formulation. As a simplified yet still accurate model, we
will consider that each leg can be represented by a moving point (its center of
mass Gi) and assume that the mass is concentrated there. This takes into
account the motion of the center of gravity due to the change in leg actuator
length.
Note the following specification of a leg (Legi i = 1, . . . , 6) The center of
mass GI;of the fixed part is not in the middle of the body due to the great mass
of the DC motor (see Fig. 4). Let us denote by lI and rnl the length and the
mass, respectively, of this part and 6 the distance B,Gli.On the contrary, the
moving part of each actuator is uniform. Its center of mass Gzi is in its middle.
Let us denote 12 and m2 the length and mass, respectively, of this second part.
Denote by Ci the unitary vector that gives the direction of a leg (I;i =
Bi7j)-wherej = (i + 1)/2 if i is odd a n d j = i / 2 if i is even). Finally, Li is the
total length of the leg Legi (note that this is a function of the time; its time
derivative will be noted i i ) .

m,/

Figure 4. Leg of the Stewart platform.

Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

639

To obtain the kinetic and potential energies of a leg (Legi i = 1 , . . . , 6) we


need to determine the position and velocity of its center of mass Gi:

The velocity

vG,of the center of mass G; is then

where

+ 1)/2

(i

i/2

if i is odd
if i is even

Note that

Kinetic energy of the legs. Because a leg is just modeled by one point, one
can write

Note that
obtains

((v,

Ci)CJT(VC -

(vq- GJC;)

= 0; thus,

after some calculations one

Journal of Robotic Systems-1 993

640

Let us denote

hi =

(-L;i + mI + m2

Then:
Result 3

1)/2

where

if i is odd
if i is even

(29)

Remark 2. One can also write

Remember that

is the vector that gives the direction of the leg i. Thus, if

qTis the velocity of the end of the leg, *;tij corresponds to the speed of the
= dL;/dt. As a consequence,
elongation of the leg, that is;it:*
divided into two parts with a physical meaning as follows:

KL,

can be

The kinetic energy due to the rotation around the fix point B; of the leg (if
one supposes that the length of the leg is constant), given by

The kinetic energy due to the elongation (or the translation motion) of the
leg (if one supposes that the direction of the leg is constant), given by

Let us now give a compact expression for the kinetic energy of the six legs. For
this, note that one can write

hi

hi 0

0
hi

(33)

64 1

Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

Hence
T

(34)

where

hi

+ h,
0
0

hj

+ hz

hi

+ h2
h3

w=

+ h4
0
0

h3

+ h,

h3

+ h,
h5 +

h6

h5 + h,

(35)
and
k l O O O
O k 2 O O

O O k 3 O

K=

with

1
[ki = hi -

(ml m2
+ m2

)2

Let us now introduce the Jacobians JI and J2 (see Appendix A or ref. 10. for
details). One can write

642

Journal of Robotic Systems-1 993

Thus, one finally obtains:

Result 4

h i 0 0 0 0 0
O h 2 0 0 0 0
561

0 1 0 0 0 0

O O h J O O O
and K2 =
m2 ) 2
0 0 0 hq 0 0
mi + m2

-0

hs

1 0 0 0 0 0

0 0 1 0 0 0

0 0 0 1 0 0
0 0 0 0 1 0-

~ o o o o lo]

0 0 0 0 h 6-

(40)

where
h.=

'

(-+i
Li

ml

+ m2

Potential energy of the legs

Z7; = pz

+ 2 . mj.fi)
and

One can finally write:

j = (i t 1)/2

if i is odd

j = i/2

if i is even

Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

643

Result 5

with

Remark 4.

mj(,f,
is given by the geometry of the platform.

3.2. Dynamic Equations


We now have to calculate the terms M(Xp-,,),Vfn(Xp-o,X p - J , and G(Xp-,,)
of eq. (14), i.e.,
Xp-JXP-,)+ G(X,-,)
M(Xp-,,)Xp-,,+ Vfn(XP-",

JT(Xp-,,)F

More precisely

From the expressions of the kinetic energies of the platform and the legs, we
directly have an expression of the coefficient M(XP-J. Vm(Xp-,, Xp-J will be
obtained from relations ( 5 ) and (6) [or from (8)]. The gravity term G(X,-,) has
to be calculated from the potential energy.
Although it is not difficult to obtain an explicit expression for Mu,,Vmbp,
and
G,, (see Appendix B), it is impossible to obtain explicitly MLegs, VmLlsr
and
G L ~Even
~ ~ with
. a symbolic package like Mathematica, the expressions are too
complicated to obtain! In this case, a step-by-step formulation must be used.
3.2.7. Terms Mu,, Vmup,and G,,

See Appendix B.
3.2.2. Terms MLegs,
VmLwa,
and GLegs

From (381, we know that MLegs = (ml + m2)[JT[kU - J~KJIIJ2l,


where K is a
diagonal matrix. Thus
9

MLegsij

2C

m=l

n=l

[J2mi ( M m n

p=l

JlprnKppJlpn)

Jznj]

i=l,.
j = 1,.

. . ,6
. . ,6

(43)

644

Journal of Robotic Systems-1 993

Now, from relation (6) of Section 2, we have

So, we have to calculate (a(mLegsij)laXp-o(k))


for i, j , k = 1,

. . . , 6:

( d J ~ ~ i / a X ~ -or~ (aJ2nj/aXp-o(k,)
(k))
are not difficult to obtain from the expression of J2 given in Appendix A.
Wmn f 0 only i f m = n. In this case, if one takes i = 1 for 1 In 5 3, i = 3 for
4 In 5 6, and i = 5 f o r 7 9 n 5 9

(aJlpn/aXp-dk,)or (aJlpmlaXp-dk))can be calculated from the expression of


JI given in Appendix A:

Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

645

Note that to get (46), (47), and (48) we need the expression of (aLnlaXp-o(k))
for
n, k = I , . , . , 6. These terms can be obtained from J I and JZ by

q.(,,,f)...)

The other terms ( m l , m2,


are either information available from the
geometry of the robot or ( a ( p )or Ln.J information that has to be computed.
Note that these last terms are intermediate or final results of the computations
of the inverse kinematic that might be included in the algorithm described
hereafter.

3.2.3. Term GLegs


It is necessary to include the computation of G Lin ~the ~algorithm.
~
Indeed,
one can see from the following expression of GLegs(Xp-")that we need
the expressions of (dL2;- tlaXp-,,(k)), (aLzJaX,-,,(k)), (1 /Lit- I), (1 lLij)y and
(azTpxp-o(k)):

where

646

Journal of Robotic Systems-1 993

3.3. Summary of the Calculation of the Dynamics and Algorithm

To obtain the dynamic equations, we use a combination of direct and stepby-step Lagrangian formulations: direct formulation for the platform and stepby-step formulation for the legs.
The expressions for Mu,, V,",, and G,, are explicitly given in Appendix B.
The algorithm for computing MLegs, VmLCEv
and G L are~ summarized
~ ~
below.
Algorithm for the computation of the terms M L ~Vmkp,,
~ ~ , and GLegs
1. Compute the inverse kinematics (see Appendix A for the theoretical expression)-This gives the length of the legs: L ; , i = 1, . . . , 6 . Note that
it also includes (see Appendix A the calculation of the terms
( p = 1,
. . . 3), and ZT,, j = 1, . . . 3).
2. Compute the Jacobian J I (see Appendix A for the theoretical expression)-This needs the results of the previous step (Li, i = 1, . . . 6 and
B i T , , j = 1, . . . 3).
3. Compute the Jacobian J2 (see Appendix A for the theoretical expression).
4. Compute the matrices W and 06 [see relations (35) and (36)l-This needs
the values of Li (i = 1, . . . , 6).
5 . Compute the Jacobian J = J IJ2 to obtain (dLn/aXp-o(k))
n = 1, . . . ,6, k =
1, . . . , 6 [see relation (49)l.
6. Compute the components of the tensors (dJ2mi/dXp-o(k)),(dW,,,,/dXp-o(k)),
(dK,,,,/dXp-o~~$,
and (dJ~,,~/dX~-~~,k~)
to calculate the other tensor defined by
(d(mLegs;j)/dXp-o(k))
[relations (461, (47), (48), and (4511.
7. Compute the Chrisroeffeel symbols Cijk with relation (6).
8. Compute the coefficients MLegs, V,,
and GLegs [see relations (43), (9,
and (SO)].

m.(p)

Remark and Conclusion. Note that steps 1 to 4 are sufficient to obtain MLegs.
Step 5 has to be added to obtain GLegs.But most of the computer time will be
In fact, these last
dedicated to 6 and 7, that is, for the computations of VmLIEI.
steps will probably not be necessary. As pointed out by Reboulet and Berthomieu* or Nguyen and P ~ o r a nfor
, ~ most applications the contribution of the
Coriolis and centrifugal term is small and may usually be neglected.
As a conclusion of this section, we have to say that our study is close to that
of Nguyen and P ~ o r a n However,
.~
our contribution here is result 4, which
gives a compact expression of the inertia matrix MLegsin terms of the Jacobians
JI and J2. The interest of this result is essentially theoretical. Indeed, we think
that such an expression will allow us to develop some special control approach,
similar to the one described in Gu and L0h,14where the matrix of inertia (M)
needs to be written in terms of some Jacobians.
Work in this direction as well as simulation of the dynamic equations will
have to be done to make possible the application in the milling process proposed in the next section.

Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

647

4. STIFFNESS CONTROL OF A STEWART


PLATFORM-BASED MANIPULATOR

In this section, we will discuss the applications of a Stewart-platform-based


manipulator (SPBM) in manufacturing industry. As an example, we will consider a special case-the stiffness control of SPBM in milling process.
As mentioned in Section 1, the milling machine is a popular machine tool that
can be found in any modern machine shop. A typical milling machine consists
of a swivelling (or nonswivelling) table, which is used to hold the parts to be
machined, and a horizontal- or vertical-spindle, which is used to hold the
cutter. Usually, the table (holding the part) is fixed during the milling process.
The spindle (with the cutter) can make 2-D movement. To machine a complex
part, several adjustments of the configuration of the table and spindle must be
made manually. In some cases, a specially designed fixture or attachment may
even be used.
In milling actions, the cutter is required to be in continuous contact with the
part being machined to exert certain cutting forces along certain directions. It is
known that when the teeth on a cutter make contact with the part, shock or
vibration may be experienced.
The deficiencies of the regular milling process may be remedied by introducing an SPBM into the milling system. Its 6 dof including 3 dof in position and 3
dof in orientation and its precise positioning capacity make it fit for coordinating motion control with the cutter to machine a complex part. More important,
its far greater stiffness and high force-to-weight ratio make it suitable for reducing the shock or vibration during the milling actions, yielding a smoother milling path.
In this research, we propose to mount an SPBM on the machine table. The
SPBM base is fixed to the table and its upper platform holds the part being
machined.
From the discussion of Section 3, it can be seen that the dynamics of an
SPBM is complicated. Further, some parts of the dynamics are not understood
well. This makes controller design difficult. Standard control schemes such as
linearization techniques cannot be easily implemented because of a lack of the
complete knowledge of the dynamics.
However, in the milling process we may take advantage of this particular
application (e.g., the motion of an SPBM is not so fast) to design a simplified
controller. In this controller, a simplified model of an SPBM will be used in
which the Coriolis-centrifugal terms are ignored due to the assumption of low
velocities. A possible computed-torque controller for this situation was proposed in Liu et al.
In this research, a good deal of effort has been put into reducing the shock to
a minimum by using stiffness control.
Let (x, y, z) be an orthogonal coordinate system associated with the fixed
task space. Its origin is at the location of (X,, Y,),2,) in terms of the base frame
X - Y - Z and its rotation angles with respect to the base frame are (a,,Po,yo).

648

Journal of Robotic Systems-1993

(xo~~@zo*%so~7d

Figure 5. Base frame and task frame.

Let R(a,, Po, yo) E R3') be the constant rotation matrix from the task space to
the base space (Fig. 5). Then, it is easy to express the transformation from task
space to base space by

Let (el, e2, 03) be the yaw-pitch-roll angles about the x-, y-, and z-axes. Then,
the yaw-pitch-roll matrix in task space can be written as
cos O2 cos O3 sin 8, sin O2 cos e3 - cos
cos 82 sin O3 sin el sin 62 sin O3
-sin 02

sin f13

+ cos 8, cos O3

sin 0, cos tI2


cos el sin ez cos O3

+ sin 8, sin e3

cos el sin e2 sin e3 - sin 61 cos 83 = [ne

cos el cos e2

Og

ael

where no, 0 8 , and a6 represent the normal vector, sliding vector, and approach
vector, respectively. It can be shown that any rotation movement in the task

Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

649

space (el, 02,63) can be transformed to the rotation movement in the base frame
( a , @, y ) by using the "equivalent transformation matrix"

Comparing both sides of (52) term by term gives the rotation angles in base
frame expressed in terms of the rotation movement in task space by

where R j is the ith column of the rotation maxtrix R and (a . b) represents the
dot product of two vectors a and b. Thus, any position/orientation changes in
task space can be transformed to the base space using

XY l

where Jh E Rhx6is the Jacobian between the task space and the reference
(world) frame. We assume that Jh is nonsingular.
To model the situation of contact between the cutter and the environment
(e.g., the part), another term F,.must be added into the dynamic equations (9) to
yield
MX,-,,

+ VJX,

-,,, xp-,,)xp-,,
+ G(x,-,J = F - J ~ F , .

(57)

where F,. E R h x lrepresents a vector of the reaction forces/torques between the


cutter and the environment in task space.
Intuitively. if a mechanism can automatically generate a force that will tend
to return any deflected states to the original, nominal states then that mechanism can be used to solve our problem. An ideal, linear spring will generate a
force that is proportional to the deflection from its nominal position. In this
research, we assume that there are no "twisting" actions occurring in the
cutter and the part; thus, a 3-D linear spring can be used to model the contact

650

Journal of Robotic Systems-1 993

between the cutter and the part. Controlling the variation rate of the forces is
equivalent to controlling the stiffness of the spring. Let F, be

k , o o o o d
0 kt 0 0

F, =

O O k , O

0 0 0 k, 0 0
0

1:

- xo
0 0 Y - Yu
O O z - zu

0 0 k, 0

-0 0 0 0 0 k,

[ 0"1

K,

(58)

XI
= (x, ,y o , zo) is a vector of the commanded, nominal contact position in task
space, xT = (x, y, z) is the tip position of the cutter in task space, and k,
represents the stiffness constant. Figure 6 shows a 1-D spring in the z-direction.
Before the cutter makes contact with the part, only position control is needed
to command the mobile platform (holding the part) to follow the desired posiAs long as the cutter is in contact
tiodorientation trajectories Xp-oand Xp-o.
with the part, stiffness control must be included to force the velocity of the
mobile platform in Cartesian space to go to zero while maintaining the desired
cutting forces Fcd in task space.
Because the contact force is modeled as a 3-D spring as shown in (58). we
may express the desired force in task space as

Figure 6. One-dimensional spring model.

651

Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

where x: = (xd, Y d , z d ) represents a vector of the "virtual" desired tip position


of the cutter in task space. We call it virtual because it only plays a role in
deriving the controller formulation. It will never be reached.
Define a Lyapunov function candidate"

where P,. is the force error defined by F,.d - F,.. Taking into account models (58)
and (59), (60) can be written as
u(X,,-,, , F,) = 21 XpT-oMXp-,,
.

["i [*,
"1
"ITK,

(61)

Differentiating (61) with respect time along with the dynamic eq. (57) yieldsi6

F - G(X,-,)

Jh'K,

[" (I""]} [:] ["'0"1


-

K,

(62)

Note that in (62) we already use the skew-symmetric property of the dynamics
(see Sections 2 and 3). If the generalized control force F is selected as

where K E R6x6is a diagnonal, positive, constant matrix, then

The result of (64)can only guarantee that the Cartesian velocity of the mobile
platform goes to zero and hence the Cartesian acceleration goes to 2er0.I~
However, checking with the closed-loop system may find that at steady state

Because we assumed that the Jacobian Jh is nonsingular; it is easy to infer a


zero solution of F, from (65).
Note that expression (63) only gives us the "generalized" control input in
Cartesian space. To manipulate the linear actuators, this control input must be
transformed to link space. Another problem is that in (63) measurements of
Xp-uand XP-<,are necessary. However, in practice it is difficult to measure the
position and velocity of the mobile platform in Cartesian space; only the information in link space is available. Thus, the position and velocity measurements
must be made in link space; then, they will be transformed to Cartesian space
by forward kinematics and Jacobian. The final control input in link space is then

652

Journal of Robotic Systems-1 993

synthesized by

There is no need to measure positiodvelocity in task space. That is why we call


xd a virtual desired position vector.
5. CONCLUSION

In this article, we study the dynamics of a Stewart platform manipulator and


its potential applications in manufacturing industry. Although the explicit dynamic formulations cannot be obtained due to the high nonlinearities existing in
the kinematics and the strong coupling among the legs, a feasible dynamic
algorithm is proposed. As a special application of the Stewart platform, the
SPBM milling station is discussed. Applying a simple stiffness control, the
mobile platform (the part) not only follows the preplanned position/orientation
trajectories but also maintains desired forces in certain directions. Two prototype Stewart platforms have been built by the Advanced Controls and Sensors
Group at Automation & Robotics Research Institute (ARRI), the University of
Texas at Arlington. A TMS320C30-based real-time control system is being
developed and integrated at ARRI for SPBM control.
This research was supported by Texas Advanced Technology Program under Grant
003656-008and Le Ministitre Franais des Maires Etrangtres Francaises, Programme
Lavoisier.

APPENDIX A: INVERSE KINEMATICS AND JACOBIANS6*10


Inverse Klnematlcs

Li
Fori= 1,.

F(X,-,)

. .,6
Li = BiTj = OTj - OBi

where OBi (the norm of

m)is given by the geometry of the base and

where
j = (i + 1)/2
= it2

if i is odd
if i is even

and G T J is
~ given by the geometry of the platform.

Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

653

Jacoblans

E:

j:
L3

with

where

where
1)/2

if i is odd
if i is even

and

v1
platform and if u = -u2] then S(u) =

[:i2

-v3

V2

And, 13 is the identity

.v3

matrix of order 3.
Explicit expressions for J1 and Jz are given in Liu et d.Io

Journal of Robotic Systems-1 993

654

APPENDIX B: UPPER PLATFORM DYNAMICS TERMS

M,

with

Gup= [O 0 mup 0 0 OI*


References
1. D. Stewart, "A platform with six degrees of freedom," Proc. of the Institute for
Mechanical Engineering, London, 1%5, Vol. 180, pp. 371-386.

Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

655

2. K. M. Lee, and D. K. Shah, Kinematics analysis of a three-degrees-of-freedom


in-parallel actuated manipulator, IEEE J. of Robotics and Automation, 4, 354360 (1988).
3 . E. F. Fitcher, A Stewart platform-based manipulator: General theory and practical construction, Int. J. of Robotics Research, 157-182 (1986)
4. K. J. Waldron, M. Raghavan, and B. Roth, Kinematics of a hybrid series-parallel
manipulation systems, J. of Dynamic Systems, Measurement, and Control, 111,
21 1-221 (1989).
5 . P. Nanua, K. J. Waldron, and V. Murthy, Direct kinematics solution of a Stewart
platform, IEEE Trans. on Robotics and Automation, 6, 438-444 (1990).
6. K. Liu, M. Fitzgerald, and F. L. Lewis, (1991 a) Some Issues about Modeling of
the Stewart Platform Manipulator, Proc. Second Int. Symposium on Implicit and
Robust Systems, Warsaw, Poland, pp. 131-135.
7. J. P. Merlet, Les Robots Paralleles, Hermes, 1990.
8. C. Reboulet and T. Berthomieu, Dynamic models of a six degree of freedom
parallel manipulators, Proc. of the Con5 K A R 91, Pise, Italy, 1153-1 157 (1991).
9. C. C. Nguyen and F. J. Pooran, Dynamic analysis of a 6 DOF CKCM robot endeffector for dual-arm telerobot systems, Robotics and Autonomous Systems,
377-394 (1989).
10. K. Liu, F. L . Lewis, G. Lebret, and D. Taylor, The singularities and dynamics of
a Stewart platform manipulator, J. of Intelligent & Robotic Systems.
I I . D . Koditschek, Natural motion for robot arms, Proc. of the 23rd Conf, on
Decision and Control, Las Vegas, NV, 733-735 (1984).
12. M. Spong, and M. Vidyasagar; Robot Dynamics and Control, Wiley, New York,
1989.
13. J. J. Slotine and W. Li, Adaptive manipulator control: a case study, IEEE
Trans. on Automatic Control 33, 995-1003 (1988).
14. Y. L. Gu and N. K. Loh, A dynamic modeling and control by utilizing an
imaginary robot, IEEE J . of Robotics and Automation, 532-540 (1988).
15. K. Liu, M. Fitzgerald, D. Dawson, and F. L. Lewis, Modeling and control of a
Stewart platform manipulator, Proc. of the Symp. of Control of Systems with
Inexact Dynamic Models, Atlanta, GA, 1991, pp. 83-89.
16. F. L. Lewis, C. T. Abdallah, and D. M. Dawson, Control of Robot Manipulators,
New York: Macmillan, 1993.
17. J. J. Craig, Introduction to Robotics, Addison-Wesley, Reading, MA, 1989.