Dynamic analysis and control of a Stewart Platform kinematics, dynamics

Embed Size (px)

Citation preview

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    1/27

    Dynamic Analysis and Control of a

    Stewart Platform Manipu lator

    G. Lebret,

    K.

    Liu,' and

    F.

    L. Lewis

    Automat ion

    &

    Robot ics Research Inst i tute

    The University

    of

    Texas at A rl ington

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

    ness and accuracy approach that of a machine tool yet its workspace dexterity ap-

    proaches 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-by-

    step 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 de-

    signed

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

    ing 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

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    2/27

    630

    Jou rnal of

    Robot ic

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

    search, interest focuses on configuration offers the following significant advan-

    tages when applied as a manufacturing manipulator:

    (1)

    Major components of

    actuation forces are usually additive; (2) actuator position errors are not addi-

    tive.

    The Stewart platform manipulator appears simple and refined to the point of

    elegance. However, the same closed kinematics that provide mechanical stiff-

    ness also present an extremely difficult theoretical problem for forward kine-

    matics analysis. This problem has blocked the development of a practical con-

    trol 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 re-

    search 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 Fich-

    ter,3 he 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 time-

    consuming nature of this procedure, it is impossible to compute the kinematic

    solutions on-line. In Waldron et aL4 and Nanua et aI.,s similar efforts have been

    made. Instead of solving 30 equations, a 24th-order polynomial4or a 16th-order

    polynomial5 in a single variable must be solved. Not to mention the computa-

    tional complexity involved in solving such high-order polynomials, the multiple

    solutions alone (there may exist up to 64 solutions) make this a difficult ap-

    proach 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 kine-

    matics analysis approach but also a relatively simpler approach to deal with the

    Jacobian matrix and singularities.

    In Liu et aL6 and this article interest focuses on the Stewart platform config-

    uration, which consists of

    a

    semiregular hexagonal lower platform, an equilat-

    eral triangular upper platform, and six identical linear actuators as shown in

    Figure

    1.

    The detailed forward and inverse kinematics are in Liu et aL6 In 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 manufactur-

    ing 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

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    3/27

    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*.9 how 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 formula-

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

    cient 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)] eads 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 de-

    scription 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 out-

    put such as combined assembly pressing are also possible. Therefore, in section

    4 the potential applicationsof the Stewart platform in the manufacturing indus-

    try 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

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    4/27

    632 Journal of Robot ic 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 cumber-

    some and powerful.

    The Stewart-platform-based manipulator (SPBM) as 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-manip-

    ulator-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)nd potential energy

    P)

    s a function of

    the generalized coordinate q :

    (1)

    P = P q)

    where P(q) E

    53

    (2)

    1

    K

    =

    K q,Q) =

    2 QTM(q)Q

    where

    q E

    3

    and M

    E R n x n

    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:

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    5/27

    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 R n ) s

    not

    so

    easy to express.

    2.1.

    Corio l is

    and Centrifugal Term V(q,a)

    Using the Christoffel symbols

    [Cu&(q);

    ee ref.

    121, V(q,q)

    can be obtained by

    v(q,qIk=

    e (eC,qi)C

    fork = 1,

    . . . ,

    6

    j i

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

    scription of Koditschek" is also interesting:

    where

    V,,,(q,q)

    is an

    n x n )

    matrix that can be expressed by

    Here,

    U

    s a matrix obtained from M(q) and 4 by the following relation, where

    @ represents the Kronecker product:

    with

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    6/27

    634

    Journal

    of

    Robotic Systems-1 993

    Remark

    1

    The equivalence of the two descriptions can be understood from the rela-

    tions

    The skew-symmetric property 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 -

    UL

    is a skew-symmetric matrix.

    2.2. Frames and Coo rdinates Asso ciated with the Robot

    In our study, we will use the following notations to modelize the parallel

    robot. Referring to Figure 1, fix an inertial frame X, ,Z) at the center

    0)

    f

    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

    Figure2. Physical

    dimensions

    Y

    of

    base

    and top.

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    7/27

    Lebret,

    Liu, and

    Lewis: Stewart

    Platform Dynam ics Analysis

    635

    1

    unity

    approach vector

    Y

    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

    fram e 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 m easured in the

    right-handed sense. We will denote R x ( a ) , R y ( p ) , and R , ( y ) the three matrices

    that represent these basic rotations.

    1

    R , ( y ) =

    P 0 SP

    -sp

    0 cp

    c y

    - s y

    0

    0 0 1

    (13)

    This definition of orientation not only gives

    us

    a clear physical meaning but

    also avoids violating the o ne-to-one relationship between the system configura-

    tion

    and the value of Xpp0,hich may cause the Jacobian matrix to lose its rank

    even if the system is not in a singular position (see ref.

    10).

    Thu s, the position and orientation of the upp er platform is specified by the

    Cartesian coordinates

    XP- ,

    [ p x , p ~ , p z , a , p , y I ~ .

    Other notations will be introduced in the text. Just note that to make clearer

    t h e reading we will differentiate a vector from

    a

    scalar by adding an arrow and

    will denote the scalar product of two vec tors u and v either by u *

    v'

    o r iTv u

    will be the module of 6).

    3.

    DYNA MIC EQUATIONS OF THE STEWART PLATFORM

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

    robots. It app ears here in the fact that the dynam ic equations are less difficult to

    obtain in the Cartesian spa ce than in the joint space. Thus, o ne see ks the

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    8/27

    636

    Jou rnai 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 coordi-

    nates q by the Cartesian coordinates X,,-()nd as a consequence replace the

    torque

    T

    by the force

    J

    * X,,-,)T. T = V; fiA

    ,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

    in-

    verse 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. Kin etic and Poten tial Energies

    3.1.1. Kinetic and Potential Energies

    of

    the Upper Platform

    The characteristics of the upper platform (up) are

    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) an be di-

    vided into two terms:

    Let

    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:

    us develop the last expression.

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

    O(,,,f)

    = 0 Iy 0

    .

    Given the definition of the angles a, p and y , the

    [ I

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    9/27

    Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

    angular velocity fiUp fi)of the upper platform is

    or

    CP 0

    S P

    - s p

    0

    cp

    fiup(ff,

    = ([

    0 1 0

    :

    , j +

    0 0 0

    , :

    :]

    0 0 0

    637

    (17)

    + ['

    C a

    -saI[:

    3

    :

    (18)

    Sa

    ca

    0 0 1

    In the moving frame,

    it

    is defined by

    f iup mf) = R, y)TRx a)rRy P)r

    iup fi).

    Thus,

    we obtain

    1

    Kupbt ) = 5

    ci

    IxC2y

    + f y S 2 y 1,

    - y ) C a C y S y

    0

    0

    -1zS2a

    I Z

    ( f x - f y ) C a C y S y C 2 a ( l x S 2 y + ZyC2y) + fzS*a

    - f z s 2 a ]

    [i]

    [

    [

    (19)

    Finally, we can write the total kinetic energy o f the upper platform in a compact

    form as follows:

    Result 1

    or

    K,, =

    2

    m u

    0

    0

    0 m ,

    0

    0 0

    m ,

    0 0 0

    0 0 0

    0 0 0

    Potential energy of the upper platform

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    10/27

    638 Journal of

    Robot ic

    Systems-1993

    Result

    2

    Pup

    = mu

    p z

    = [0 0

    mug 0

    O]Xp-o

    (21)

    where

    g

    is the gravity

    3.1.2.

    Kinet ic and Potent ial 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 form ulation.

    As

    a simplified yet still accurate model, we

    will consider that each leg can be represen ted by a m oving point (its cen ter 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.

    No te the following specification of a leg (Legi

    i = 1, . . . ,

    6) The ce nter 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 he distance B,Gli.On the contrary, the

    moving part of each ac tuato r is uniform. Its center

    of

    mass Gzi is in its middle.

    Let us denote 12 and

    m2

    the length and m ass, respectively, of this second part.

    Denote by

    i

    the unitary vector that gives the direction of a leg (I;i

    =

    m,/

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

    Figure

    4. Leg

    of

    the

    Stewart platform.

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    11/27

    Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis

    639

    To obtain the kinetic and potential energies of a leg (Legi

    =

    1 , .

    . . ,

    6) we

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

    Gi :

    The velocity vG, f the center of mass G ; is then

    1

    i

    +

    1)/2

    if

    i

    is odd

    where

    = i / 2

    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 v, *

    Ci)CJT VC

    - (vq GJC;)

    =

    0; thus, after some calculations one

    obtains

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    12/27

    640

    Let

    us

    denote

    hi =

    (-

    +

    L;

    mI

    +

    m2

    Then:

    Result 3

    Journal

    of Robotic Systems-1

    993

    1)/2 if i is odd

    (29)

    if i

    is even

    where

    Remark 2. One can also write

    Remember that

    is

    the vector that gives the direction of the leg

    i.

    Thus, if

    qT

    s the velocity of the end of the leg,

    * ; t i j

    corresponds to the speed of the

    elongation of the leg, that

    is =

    dL;/dt. As a consequence, K L , can be

    divided into two parts with a physical meaning as follows:

    The kinetic energy due to the rotation around the f ix 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

    r

    hi 0

    0

    0 hi 0

    0

    0

    hi

    (33)

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    13/27

    Lebret, Liu, and Lewis: Stewart Platform Dynamic s Analysis

    w

    Hence

    -

    hi

    +

    h,

    0

    0 hj + hz

    0 0

    -

    where

    and

    K =

    k l O O O

    O k 2 O O

    O O k 3 O

    0

    0

    hi + h2

    h3 +

    h4

    0 0

    0 h3 + h,

    0

    0 0 h3

    +

    h,

    T

    K

    h5

    + h6

    0

    0

    with

    1

    0

    0

    h5 +

    h,

    64 1

    (34)

    (35)

    [ k i = hi- (

    m 2

    ) 2

    ml + m2

    Let us now introduce the Jacobians J I and J (see Appendix A

    or

    ref.

    10.

    for

    details). One can write

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    14/27

    642

    - -

    h i 0 0 0 0 0

    O h 2 0 0 0 0

    O O h J O O O

    and K2

    = ( m2 2

    0 0

    0

    hq

    0

    0 mi + m2

    0 0

    0

    0

    hs

    0

    -

    0 0 0 0 h 6

    Jou rnal of Robotic

    Systems-1 993

    1 0 0 0 0 0

    0 1 0 0 0 0

    0 0 1 0 0 0

    0 0 0 1 0 0

    I

    0 0 0 1 0

    Thus, one finally obtains:

    Result

    4

    561 =

    where

    ~ o o o o o

    ]

    (40)

    h . =

    (-+

    '

    Li ml + m2

    Potential energy of the legs

    j

    =

    i

    t

    1)/2

    j

    = i / 2

    if

    i

    is odd

    if

    i

    is

    even

    Z7;

    =

    pz + 2

    mj.fi)

    nd

    One can finally write:

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    15/27

    Lebret, Liu, and Lewis: Stewart Platform Dyn amics Analysis

    643

    Result 5

    with

    Remark

    4.

    mj(,f,

    s given by the geometry of the platform.

    3.2. Dynamic Equations

    of eq.

    (14),

    i.e.,

    We now have to calculate the terms

    M(Xp-,,),Vfn(Xp-o,

    p - J , and

    G(Xp-,,)

    M(Xp-,,)Xp-,, V f n ( X P - ,p - JX P - , )+ G(X,-,) = 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,,

    mbp,nd

    G,,

    (see Appendix B), it is impossible to obtain explicitly

    MLegs, VmLlsr

    nd

    G L ~ ~ ~ .ven 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, nd

    G,,

    See Appendix B.

    3.2.2. Terms MLegs,mLwa,nd GLegs

    diagonal matrix. Thus

    From (381, we know that M L e g s

    =

    ml

    +

    m2)[JT[kU - J ~ K J I I J 2 l , here is a

    9 9

    6 i = l , .

    . .

    , 6

    m = l n = l

    p = l

    j = 1 , . . . , 6

    MLegsij =

    2 C [ J2mi M m n

    - 2

    J l p r n K p p J l p n ) J z n j ]

    {

    (43)

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    16/27

    644

    Journal of Robot ic Systems 1

    993

    Now,

    from relation (6) of Section 2, we have

    So, we have

    to

    calculate a mLegsij)laXp-o k))

    or

    i, j , k =

    1,

    . .

    . ,

    :

    d J ~ ~ i / a X ~ - ~ k ) )r aJ2nj/aXp-o k,) re not difficult to obtain from the expres-

    W m n

    f

    0 only i f m = n. In this case , if one takes i = 1 for

    1

    5 , i = 3 for

    sion of J2 given in Appendix A.

    4 5 6,

    and

    i

    =

    5 f o r 7

    n

    5

    9

    aJlpn/aXp-dk,) r aJlpmlaXp-dk))an be calculated from the expression

    of

    J I

    given in Appendix A:

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    17/27

    Lebret, Liu, and Lewis: Stewart Platform Dyn amics Analysis

    645

    Note that to get

    (46),

    (47), and

    (48)

    we need the expression of (aLnlaXp-o(k))or

    n k = I , . ,

    .

    ,

    6. These terms can be obtained from

    J I

    and JZ by

    The other terms

    ( m l , m2, q. ,,,f)...)

    re either information available from the

    geometry of the robot or ( a ( p ) r 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 L ~ ~ ~n the algorithm. Indeed,

    one can see from the following expression of GLegs(Xp- ) hat we need

    the expressions of

    (dL2;- tlaXp-,,(k)), (aLzJaX,-,,(k)), 1

    /Lit-

    I), 1 lLij)y

    and

    ( a z T p x p - o ( k ) ) :

    where

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    18/27

    646

    Journal of Robotic

    Systems-1

    993

    3.3.

    Summary

    of

    the Calculat ion

    of

    the Dynamics and Algor i thm

    To obtain the dynamic equations, we use a combination of direct and step-

    by-step Lagrangian formulations: direct formulation for the platform and step-

    by-step formulation for the legs.

    The expressions for Mu,, V, ,, and G,, are explicitly given in Appendix B.

    The algorithm for computing MLegs, VmLCEvnd G L ~ ~ ~re summarized below.

    Algorithm

    for

    the computation of the terms M L ~ ~ ~ ,mkp,,nd GLegs

    1. Compute the inverse kinematics (see Appendix A for the theoretical ex-

    pression)-This gives the length of the legs: L ; , i

    =

    1 , . . . , 6 . Note that

    it also includes (see Appendix

    A

    the calculation of the termsm.(p)p = 1 ,

    .

    . . 3), and

    ZT, ,

    j = 1 ,

    . .

    . 3).

    2.

    Compute the

    Jacobian

    J I

    (see Appendix

    A

    for the theoretical expres-

    sion)-This needs the results of the previous step ( L i , 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 and

    06

    [see relations (35) and (36)l-This needs

    the values of

    Li i

    = 1,

    . .

    .

    ,

    6).

    5 . Compute the JacobianJ = J I 2to obtain dLn/aXp-o k))=

    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~~ ,nd

    ( d J ~ , , ~ / d X ~ - ~ ~ , k ~ )

    o calculate the other tensor defined by

    (d(mLegs; j) /dXp-o(k))relations (461, (47), (48), and (4511.

    -

    7. Compute the Chrisroeffeelsymbols Cijk with relation (6).

    8. Compute the coefficients MLegs, V,, and GLegs [see relations 43),

    9,

    and

    SO)].

    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

    dedicated to 6 and 7, that is, for the computations of VmLIEI.n fact, these last

    steps will probably not be necessary.

    As

    pointed out by Reboulet and Bertho-

    mieu* or Nguyen and P ~ o r a n , ~or 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 . ~owever, our contribution here is result 4, which

    gives a compact expression of the inertia matrix MLegs n 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,14 where 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 pro-

    posed in the next section.

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    19/27

    Lebret, Liu, and Lewis: Stewart Platform Dynam ics Analysis

    647

    4. STIFFNESS CONTROL OF A STEWART

    PLATFORM-BA SED MANIPULA TOR

    In this section, we

    will

    discuss the applications of a Stewart-platform-based

    manipulator (SPBM)

    in

    manufacturing industry.

    As

    an example, we will con-

    sider 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 introduc-

    ing 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 coordinat-

    ing 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 reduc-

    ing

    the shock

    or

    vibration during the milling actions, yielding a smoother

    mill-

    ing 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 pro-

    posed 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,, o ,y o ) .

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    20/27

    648

    Journal of

    Robotic

    Systems-1993

    (xo~~@zo* so~7d

    Figure 5.

    Base frame and task frame.

    Let

    R (a , , P o ,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

    e l ,

    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

    O 3

    sin 8, sin O2

    cos e3-

    cos

    sin

    f13

    cos

    82

    sin

    O3

    sin

    el

    sin 62 sin

    O3

    + cos

    8,

    cos O 3

    -sin

    02

    sin 0, cos

    tI2

    cos

    e l

    sin

    e2

    sin

    e3 -

    sin

    61

    cos

    83 =

    [ne

    Og ael

    cos

    e l

    sin z cos O3

    +

    sin 8, sin

    e3

    cos

    e l

    cos

    e2

    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

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    21/27

    Lebret, Liu, and Lewis: Stewart Platform Dynamics Analysis 649

    space

    e l , 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,

    a n y

    position/orientation changes in

    task space can be transformed to the base space using

    X l

    where

    Jh E R h x 6

    s 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 l epresents 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 mecha-

    nism can be used

    to

    solve our problem.

    A n

    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

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    22/27

    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

    F, =

    k , o o o o d

    0

    kt 0 0 0 0

    O O k O O O

    0 0 0

    k, 0

    0

    0

    0

    0

    0

    k, 0

    0 0

    0

    0

    0

    k ,

    -

    x - o

    Y - Y u

    z

    -

    u

    0

    0

    :

    =

    K, 1 58)

    X (x,

    , o ,

    zo)

    is a vector of the commanded, nominal contact position in task

    space,

    x T

    =

    (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 posi-

    tiodorientation trajectories Xp-ond Xp-o.s long as the cutter

    is

    in contact

    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.

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    23/27

    Lebret,

    Liu,

    and Lewis: Stewart Platform Dyn amics Analysis 651

    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,) =

    2

    . pT-oMXp-,,

    + ["i

    I T K ,

    [ ,1

    (61)

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

    57)

    yieldsi6

    [ (I ]} [:] , [ ' 1

    (62)

    F

    -

    G(X,-,)

    - Jh'K,

    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 R6x6 s a diagnonal, positive, constant matrix, then

    The result of 64) an 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-

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    24/27

    652

    Journal of Robotic Systems-1 993

    synthesized by

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

    x d 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 dy-

    namic 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 proto-

    type 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-008

    nd Le Ministitre Franais des M air es Etrangtres Francaises, Programme

    Lavoisier.

    APPENDIX A: INVERSE K INEMATICS AND JA COBIANS6*10

    Inverse Klnematlcs

    Li

    =

    F(X,-,)

    F o r i =

    1 , .

    . .

    , 6

    Li = BiTj =

    OTj -

    OBi

    where

    OBi

    the norm of m) s given by the geometry of the base and

    where

    j

    =

    i

    +

    1)/2 if

    i

    is odd

    if i

    is even

    i t2

    and

    G T J ~

    s given by the geometry of the platform.

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    25/27

    Lebret, Liu, and Lewis: Stewart Platform Dynam ics Analysis

    653

    Jacoblans

    E

    L

    j

    with

    where

    where

    1)/2 if i is odd

    if i is even

    and

    platform and if

    u =

    v1 -v3 V2

    -u2] then S u) =

    [

    i2

    .v3

    And,

    13

    is the identity

    matrix of order 3.

    Explicit expressions for

    J1

    and

    Jz

    are given in Liu et

    d.Io

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    26/27

    654

    Journal of Robotic

    Systems-1 993

    APPENDIX

    B:

    UPPER PLATFORM DYNA MICS 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.

  • 7/23/2019 Dynamic analysis and control of a Stewart Platform kinematics, dynamics

    27/27

    Lebret, Liu, and Lewis: Stewart Platfor m Dynam ics Analysis 655

    2 .

    3 .

    4 .

    5 .

    6 .

    7 .

    8 .

    9 .

    10.

    I I .

    12.

    13.

    14.

    15.

    16.

    17.

    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,

    354-

    360 (1988).

    E. F. Fitch er, A S tewa rt platform-based manipulator: G enera l theory an d practi-

    cal construction, Int. J of Robotics Research, 157-182 (1986)

    K. J . Waldron, M. Raghavan, and

    B.

    Roth, Kinematics of a hybrid series-parallel

    manipulation systems, J of Dynamic S ystem s, Measurement, and Con trol,

    111,

    P. Nanua, K . J. Waldron, and V. M urthy, D irect kinematics solution of a Stewart

    platform,

    IEEE Trans. on Robotics and Automation, 6, 438-444 (1990).

    K. Liu, M. Fitzgerald, and

    F.

    L. Lewis, (1991 a) Some Issue s about Modeling of

    the Stewart Platform Manipulator, Proc. Second Int. Symposium on Implicit and

    Robust Systems, Warsaw, Poland, pp.

    131-135.

    J. P. M erlet, Les Robots Paralleles, Herm es, 1990.

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

    C. C.

    Nguyen and

    F.

    J.

    Poo ran, Dynam ic analysis of a

    6

    DOF

    CKCM robot end-

    effector for dual-arm telerobot systems,

    Robotics and Autonomous Systems,

    K. Liu, F. L . Lewis, G. Lebr et, and D. T aylor, The singularities and dynam ics of

    a Ste war t platform m anipulator,

    J of Intelligent Robotic Syste ms.

    D .

    Koditschek, Natural motion for robot arms,

    Proc. of the 23rd Conf,

    on

    Decision and Control, Las Vegas, NV, 733-735 (1984).

    21 1-221 (1989).

    377-394 (1989).

    M. Spong, and M. Vidyasagar; Robot Dynamics and Control, Wiley, New York,

    1989.

    J. J. Slotine and W. Li, Adaptive manipulator control: a case study, IEEE

    Trans. on Automatic Control 33,

    995-1003 (1988).

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

    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.

    F. L. L ewis , C. T. Abdallah, and D. M. D aws on, Control of Robot Manipulators,

    New York: Macmillan, 1993.

    J .

    J. Craig, Introduction to Robotics, Addison-Wesley, Reading, MA, 1989.