robotique 3

Upload: youssri-ben-moussa

Post on 14-Apr-2018

244 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 robotique 3

    1/33

    117

    4

    Robot Kinematics:Forward and Inverse Kinematics

    Serdar Kucuk and Zafer Bingul

    1. Introduction

    Kinematics studies the motion of bodies without consideration of the forces ormoments that cause the motion. Robot kinematics refers the analytical study ofthe motion of a robot manipulator. Formulating the suitable kinematics mod-els for a robot mechanism is very crucial for analyzing the behaviour of indus-trial manipulators. There are mainly two different spaces used in kinematicsmodelling of manipulators namely, Cartesian space and Quaternion space. Thetransformation between two Cartesian coordinate systems can be decomposedinto a rotation and a translation. There are many ways to represent rotation,including the following: Euler angles, Gibbs vector, Cayley-Klein parameters,

    Pauli spin matrices, axis and angle, orthonormal matrices, and Hamilton 'squaternions. Of these representations, homogenous transformations based on4x4 real matrices (orthonormal matrices) have been used most often in robot-ics. Denavit & Hartenberg (1955) showed that a general transformation be-tween two joints requires four parameters. These parameters known as theDenavit-Hartenberg (DH) parameters have become the standard for describingrobot kinematics. Although quaternions constitute an elegant representationfor rotation, they have not been used as much as homogenous transformationsby the robotics community. Dual quaternion can present rotation and transla-tion in a compact form of transformation vector, simultaneously. While the

    orientation of a body is represented nine elements in homogenous transforma-tions, the dual quaternions reduce the number of elements to four. It offersconsiderable advantage in terms of computational robustness and storage effi-ciency for dealing with the kinematics of robot chains (Funda et al., 1990).The robot kinematics can be divided into forward kinematics and inversekinematics. Forward kinematics problem is straightforward and there is nocomplexity deriving the equations. Hence, there is always a forward kinemat-ics solution of a manipulator. Inverse kinematics is a much more difficult prob-lem than forward kinematics. The solution of the inverse kinematics problemis computationally expansive and generally takes a very long time in the real

    time control of manipulators. Singularities and nonlinearities that make the

    Source: Industrial-Robotics-Theory-Modelling-Control, ISBN 3-86611-285-8, pp. 964, ARS/plV, Germany, December 2006, Edited by: Sam Cubero

    O

    penAccessDatabasewww.i-techonline.com

  • 7/30/2019 robotique 3

    2/33

    118 Industrial Robotics: Theory, Modelling and Control

    problem more difficult to solve. Hence, only for a very small class of kinemati-cally simple manipulators (manipulators with Euler wrist) have complete ana-

    lytical solutions (Kucuk & Bingul, 2004). The relationship between forwardand inverse kinematics is illustrated in Figure 1.

    Tn

    1Forward kinematics

    Inverse kinematics

    Cartesian

    space

    Joint

    space

    2

    n

    0.

    Figure 10. The schematic representation of forward and inverse kinematics.

    Two main solution techniques for the inverse kinematics problem are analyti-cal and numerical methods. In the first type, the joint variables are solved ana-lytically according to given configuration data. In the second type of solution,the joint variables are obtained based on the numerical techniques. In thischapter, the analytical solution of the manipulators is examined rather thennumerical solution.There are two approaches in analytical method: geometric and algebraic solu-tions. Geometric approach is applied to the simple robot structures, such as 2-DOF planar manipulator or less DOF manipulator with parallel joint axes. Forthe manipulators with more links and whose arms extend into 3 dimensions ormore the geometry gets much more tedious. In this case, algebraic approach ismore beneficial for the inverse kinematics solution.There are some difficulties to solve the inverse kinematics problem when thekinematics equations are coupled, and multiple solutions and singularities ex-ist. Mathematical solutions for inverse kinematics problem may not alwayscorrespond to the physical solutions and method of its solution depends on therobot structure.This chapter is organized in the following manner. In the first section, the for-ward and inverse kinematics transformations for an open kinematics chain aredescribed based on the homogenous transformation. Secondly, geometric andalgebraic approaches are given with explanatory examples. Thirdly, the prob-lems in the inverse kinematics are explained with the illustrative examples. Fi-nally, the forward and inverse kinematics transformations are derived basedon the quaternion modeling convention.

  • 7/30/2019 robotique 3

    3/33

    Robot Kinematics: Forward and Inverse Kinematics 119

    2. Homogenous Transformation Modelling Convention

    2.1. Forward Kinematics

    A manipulator is composed of serial links which are affixed to each other revo-lute or prismatic joints from the base frame through the end-effector. Calculat-ing the position and orientation of the end-effector in terms of the joint vari-ables is called as forward kinematics. In order to have forward kinematics for arobot mechanism in a systematic manner, one should use a suitable kinematicsmodel. Denavit-Hartenberg method that uses four parameters is the mostcommon method for describing the robot kinematics. These parameters a i-1,

    1i , di and i are the link length, link twist, link offset and joint angle, respec-tively. A coordinate frame is attached to each joint to determine DH parame-ters. Zi axis of the coordinate frame is pointing along the rotary or sliding di-rection of the joints. Figure 2 shows the coordinate frame assignment for ageneral manipulator.

    1i

    Link i-1

    Yi-1Zi-1

    Xi-1

    ai-1

    di

    YiZi

    Xi

    i

    Link i

    ai

    Yi+1

    Zi+1

    Xi+1

    Figure 2. Coordinate frame assignment for a general manipulator.

    As shown in Figure 2, the distance from Zi-1 to Zi measured along Xi-1 is as-signed as ai-1, the angle between Zi-1 and Zi measured along Xi is assigned as

    i-1, the distance from Xi-1 to Xi measured along Zi is assigned as di and the an-

    gle between Xi-1 to Xi measured about Zi is assigned as i (Craig, 1989).

    The general transformation matrix T1i i for a single link can be obtained as fol-

    lows.

  • 7/30/2019 robotique 3

    4/33

    120 Industrial Robotics: Theory, Modelling and Control

    ( ) ( ) ( ) ( )iiiz1ix1ix

    1i

    idQRaDRT =

    =

    1000

    d100

    0010

    0001

    1000

    0100

    00cs

    00sc

    1000

    0100

    0010

    a001

    1000

    0cs0

    0sc0

    0001

    i

    ii

    ii1i

    1i1i

    1i1i

    =

    1000

    dccscss

    dsscccs

    a0sc

    i1i1i1ii1ii

    i1i1i1ii1ii

    1iii

    (1)

    where Rx and Rz present rotation, Dx and Qi denote translation, and ci and

    si are the short hands of cosi and sini, respectively. The forward kinematicsof the end-effector with respect to the base frame is determined by multiplying

    all of the T1i i matrices.

    T...TTT1n

    n

    1

    2

    0

    1

    base

    effector_end

    = (2)

    An alternative representation of Tbaseeffector_end can be written as

    =

    1000

    prrr

    prrr

    prrr

    Tz333231

    y232221

    x131211

    base

    effectorend(3)

    where rkjs represent the rotational elements of transformation matrix (k andj=1, 2 and 3). px, py and pz denote the elements of the position vector. For a sixjointed manipulator, the position and orientation of the end-effector with re-spect to the base is given by

    )q(T)q(T)q(T)q(T)q(T)q(TT6

    5

    65

    4

    54

    3

    43

    2

    32

    1

    21

    0

    1

    0

    6= (4)

    where qi is the joint variable (revolute or prismatic joint) for joint i, (i=1, 2, ..

    .6).

  • 7/30/2019 robotique 3

    5/33

    Robot Kinematics: Forward and Inverse Kinematics 121

    Example 1.As an example, consider a 6-DOF manipulator (Stanford Manipulator) whose

    rigid body and coordinate frame assignment are illustrated in Figure 3. Notethat the manipulator has an Euler wrist whose three axes intersect at a com-mon point. The first (RRP) and last three (RRR) joints are spherical in shape. Pand R denote prismatic and revolute joints, respectively. The DH parameterscorresponding to this manipulator are shown in Table 1.

    z0,1

    y2

    x2

    z2

    z0

    y0

    d3

    y3

    z3

    x3

    1

    2

    x0

    z1

    y1

    x1

    h1

    d2

    4

    5

    6

    z4

    x4

    y4

    z5

    x5

    y5 z6

    x6

    y6

    Figure 3. Rigid body and coordinate frame assignment for the Stanford Manipulator.

    i i i-1 ai-1 di

    1 1 0 0 h1

    2 2 90 0 d2

    3 0 -90 0 d34 4 0 0 0

    5 5 90 0 0

    6 6 -90 0 0

    Table 1. DH parameters for the Stanford Manipulator.

  • 7/30/2019 robotique 3

    6/33

    122 Industrial Robotics: Theory, Modelling and Control

    It is straightforward to compute each of the link transformation matrices usingequation 1, as follows.

    =

    1000

    h100

    00cs

    00sc

    T1

    11

    11

    0

    1

    (5)

    =

    1000

    00cs

    d100

    00sc

    T22

    2

    22

    1

    2

    (6)

    =

    1000

    0010

    d100

    0001

    T32

    3

    (7)

    =

    1000

    0100

    00cs

    00sc

    T44

    44

    3

    4

    (8)

    =

    1000

    00cs

    0100

    00sc

    T55

    55

    4

    5

    (9)

    =

    1000

    00cs

    0100

    00sc

    T66

    66

    5

    6

    (10)

    The forward kinematics of the Stanford Manipulator can be determined in the

    form of equation 3 multiplying all of the T1i i matrices, where i=1,2, , 6. In

    this case, T06 is given by

  • 7/30/2019 robotique 3

    7/33

    Robot Kinematics: Forward and Inverse Kinematics 123

    =

    1000

    prrr

    prrr

    prrr

    Tz333231

    y232221

    x131211

    06 (11)

    where

    )ssc)cccss(c(c)sccsc(sr 521421415642114611 ++=

    )sccsc(c)ssc)cccss(c(sr 421146521421415612 ++=

    25142141513 scc)cccss(sr =

    )sss)sccsc(c(c)ssccc(sr 521142415641241621 ++=

    )sss)sccsc(c(s)ssccc(cr 521142415641241622 +=

    21514241523 ssc)sccsc(sr +=

    64225452631 sss)sccsc(cr +=

    42625452632 ssc)sccsc(sr +=

    5245233 sscccr =

    21312x scdsdp =

    21312y ssdcdp =

    231zcdhp +=

    2.1.1 Verification of Mathematical model

    In order to check the accuracy of the mathematical model of the Stanford Ma-nipulator shown in Figure 3, the following steps should be taken. The generalposition vector in equation 11 should be compared with the zero position vec-tor in Figure 4.

  • 7/30/2019 robotique 3

    8/33

    124 Industrial Robotics: Theory, Modelling and Control

    z0,1

    h1

    d2

    d3

    +z 0

    +y0

    +x0 -x0

    -y0

    Figure 4. Zero position for the Stanford Manipulator.

    The general position vector of the Stanford Manipulator is given by

    +

    =

    231

    21312

    21312

    z

    y

    x

    cdh

    ssdcd

    scdsd

    p

    p

    p

    (12)

    In order to obtain the zero position in terms of link parameters, lets set

    1=2=0 in equation 12.

    +

    =

    +

    =

    31

    2

    31

    32

    32

    z

    y

    x

    dh

    d

    0

    )0(cdh

    )0(s)0(sd)0(cd

    )0(s)0(cd)0(sd

    p

    p

    p

    o

    ooo

    ooo

    (13)

    All of the coordinate frames in Figure 3 are removed except the base which isthe reference coordinate frame for determining the link parameters in zero po-sition as in Figure 4. Since there is not any link parameters observed in the di-rection of +x0 and -x0 in Figure 4, px=0. There is only d2 parameter in y0 direc-tion so py equals -d2. The parameters h1 and d3 are the +z0 direction, so pzequals h1+d3. In this case, the zero position vector of Stanford Manipulator are

    obtained as following

  • 7/30/2019 robotique 3

    9/33

    Robot Kinematics: Forward and Inverse Kinematics 125

    +

    =

    31

    2

    z

    y

    x

    dh

    d

    0

    p

    p

    p

    (14)

    It is explained above that the results of the position vector in equation 13 areidentical to those obtained by equation 14. Hence, it can be said that themathematical model of the Stanford Manipulator is driven correctly.

    2.2. Inverse Kinematics

    The inverse kinematics problem of the serial manipulators has been studiedfor many decades. It is needed in the control of manipulators. Solving the in-verse kinematics is computationally expansive and generally takes a very longtime in the real time control of manipulators. Tasks to be performed by a ma-nipulator are in the Cartesian space, whereas actuators work in joint space.Cartesian space includes orientation matrix and position vector. However,

    joint space is represented by joint angles. The conversion of the position andorientation of a manipulator end-effector from Cartesian space to joint space is

    called as inverse kinematics problem. There are two solutions approachesnamely, geometric and algebraic used for deriving the inverse kinematics solu-tion, analytically. Lets start with geometric approach.

    2.2.1 Geometric Solution Approach

    Geometric solution approach is based on decomposing the spatial geometry ofthe manipulator into several plane geometry problems.It is applied to the sim-ple robot structures, such as, 2-DOF planer manipulator whose joints are both

    revolute and link lengths are l1 and l2 shown in Figure 5a. Consider Figure 5bin order to derive the kinematics equations for the planar manipulator.

    The components of the point P (px and py) are determined as follows.

  • 7/30/2019 robotique 3

    10/33

    126 Industrial Robotics: Theory, Modelling and Control

    l1

    1

    2

    l2

    X

    Y P

    (a)

    Y

    2

    1

    1l1

    l2

    Xl1cos1 l2cos (1+ 2)

    l1sin1

    l2sin(1+ 2)

    P

    (b)

    Figure 5. a) Planer manipulator; b) Solving the inverse kinematics based on trigo-nometry.

    12211xclclp += (15)

    12211yslslp += (16)

    where 212112 ssccc = and 212112 sccss += . The solution of 2 can be

    computed from summation of squaring both equations 15 and 16.

    1212112

    22

    21

    22

    1

    2

    xccll2clclp ++=

    1212112

    22

    21

    22

    1

    2

    yssll2slslp ++=

    )sscc(ll2)sc(l)sc(lpp1211212112

    2

    12

    22

    21

    2

    1

    22

    1

    2

    y

    2

    x+++++=+

  • 7/30/2019 robotique 3

    11/33

    Robot Kinematics: Forward and Inverse Kinematics 127

    Since 1sc 12

    1

    2=+ , the equation given above is simplified as follows.

    ])sccs[s]sscc[c(ll2llpp 21211212112122

    21

    2y

    2x ++++=+

    )ssccsssccc(ll2llpp21121

    2

    21121

    2

    21

    2

    2

    2

    1

    2

    y

    2

    x++++=+

    ])sc[c(ll2llpp1

    2

    1

    2

    221

    2

    2

    2

    1

    2

    y

    2

    x+++=+

    221

    2

    2

    2

    1

    2

    y

    2

    xcll2llpp ++=+

    and so

    21

    2

    2

    2

    1

    2

    y

    2

    x

    2ll2

    llpp

    c

    +

    = (17)

    Since, 1sc i2

    i

    2=+ (i =1,2,3,), 2s is obtained as

    2

    21

    2

    2

    2

    1

    2

    y

    2

    x

    2ll2

    llpp1s

    += (18)

    Finally, two possible solutions for 2 can be written as

    +

    +=

    21

    2

    2

    2

    1

    2

    y

    2

    x

    2

    21

    2

    2

    2

    1

    2

    y

    2

    x

    2ll2

    llpp,

    ll2

    llpp12tanA (19)

    Lets first, multiply each side of equation 15 by 1c and equation 16 by 1s and

    add the resulting equations in order to find the solution of 1 in terms of link

    parameters and the known variable 2 .

    211221

    2

    21

    2

    1x1 ssclcclclpc +=

    211221

    2

    21

    2

    1y1scslcslslps ++=

    )sc(cl)sc(lpspc1

    2

    1

    2

    221

    2

    1

    2

    1y1x1+++=+

    The simplified equation obtained as follows.

    221y1x1cllpspc +=+ (20)

    In this step, multiply both sides of equation 15 by 1s and equation 16 by 1c

    and then adding the resulting equations produce

  • 7/30/2019 robotique 3

    12/33

    128 Industrial Robotics: Theory, Modelling and Control

    21

    2

    22112111x1sslccslcslps +=

    21

    2

    22112111y1sclcsclcslpc ++=

    )sc(slpcps1

    2

    1

    2

    22y1x1+=+

    The simplified equation is given by

    22y1x1slpcps =+ (21)

    Now, multiply each side of equation 20 by xp and equation 21 by yp and add

    the resulting equations in order to obtain 1c .

    )cll(pppspc221xyx1

    2

    x1+=+

    22y

    2

    y1yx1slppcpps =+

    22y221x

    2

    y

    2

    x1slp)cll(p)pp(c ++=+

    and so

    2

    y

    2

    x

    22y221x1

    pp

    slp)cll(pc

    +

    ++

    = (22)

    1s is obtained as

    2

    2

    y

    2

    x

    22y221x

    1pp

    slp)cll(p1s

    +

    ++= (23)

    As a result, two possible solutions for 1

    can be written

    +

    ++

    +

    ++=

    2

    y

    2

    x

    22y221x

    2

    2

    y

    2

    x

    22y221x

    1pp

    slp)cll(p,

    pp

    slp)cll(p12tanA (24)

    Although the planar manipulator has a very simple structure, as can be seen,its inverse kinematics solution based on geometric approach is very cumber-some.

  • 7/30/2019 robotique 3

    13/33

    Robot Kinematics: Forward and Inverse Kinematics 129

    2.2.2 Algebraic Solution Approach

    For the manipulators with more links and whose arm extends into 3 dimen-

    sions the geometry gets much more tedious. Hence, algebraic approach is cho-sen for the inverse kinematics solution. Recall the equation 4 to find the in-verse kinematics solution for a six-axis manipulator.

    )q(T)q(T)q(T)q(T)q(T)q(T

    1000

    prrr

    prrr

    prrr

    T6

    5

    65

    4

    54

    3

    43

    2

    32

    1

    21

    0

    1

    z333231

    y232221

    x131211

    0

    6=

    =

    To find the inverse kinematics solution for the first joint ( 1q ) as a function of

    the known elements of Tbaseeffectorend , the link transformation inverses are premul-

    tiplied as follows.

    [ ] [ ] )q(T)q(T)q(T)q(T)q(T)q(T)q(TT)q(T6

    5

    65

    4

    54

    3

    43

    2

    32

    1

    21

    0

    1

    1

    1

    0

    1

    0

    6

    1

    1

    0

    1

    =

    where [ ] I)q(T)q(T 1011

    1

    0

    1 =

    , I is identity matrix. In this case the above equation

    is given by

    [ ] )q(T)q(T)q(T)q(T)q(TT)q(T6

    5

    65

    4

    54

    3

    43

    2

    32

    1

    2

    0

    6

    1

    1

    0

    1=

    (25)

    To find the other variables, the following equations are obtained as a similarmanner.

    [ ] )q(T)q(T)q(T)q(TT)q(T)q(T6

    5

    65

    4

    54

    3

    43

    2

    3

    0

    6

    1

    2

    1

    21

    0

    1=

    (26)

    [ ] )q(T)q(T)q(TT)q(T)q(T)q(T6

    5

    65

    4

    54

    3

    4

    0

    6

    1

    3

    2

    32

    1

    21

    0

    1=

    (27)

    [ ] )q(T)q(TT)q(T)q(T)q(T)q(T6

    5

    65

    4

    5

    0

    6

    1

    4

    3

    43

    2

    32

    1

    21

    0

    1=

    (28)

    [ ] )q(TT)q(T)q(T)q(T)q(T)q(T6

    5

    6

    0

    6

    1

    5

    4

    54

    3

    43

    2

    32

    1

    21

    0

    1=

    (29)

    There are 12 simultaneous set of nonlinear equations to be solved. The onlyunknown on the left hand side of equation 18 is q1. The 12 nonlinear matrixelements of right hand side are either zero, constant or functions of q2through q6. If the elements on the left hand side which are the function of q1

    are equated with the elements on the right hand side, then the joint variable q1

  • 7/30/2019 robotique 3

    14/33

    130 Industrial Robotics: Theory, Modelling and Control

    can be solved as functions of r11,r12, r33, px, py, pz and the fixed link parame-ters. Once q1 is found, then the other joint variables are solved by the same

    way as before. There is no necessity that the first equation will produce q1 andthe second q2 etc. To find suitable equation for the solution of the inverse kine-matics problem, any equation defined above (equations 25-29) can be usedarbitrarily. Some trigonometric equations used in the solution of inverse kine-matics problem are given in Table 2.

    .

    Equations Solutions

    1 ccosbsina =+ c,cba2tanA)b,a(2tanA 222 += m

    2 0cosbsina =+ )a,b(2tanA = or )a,b(2tanA =

    3 acos = and bsin = ( )a,b2tanA=

    4 acos = a,a12tanA 2= m

    5 asin = ( )2a1,a2tanA = m

    Table 2. Some trigonometric equations and solutions used in inverse kinematics

    Example 2.

    As an example to describe the algebraic solution approach, get back the in-verse kinematics for the planar manipulator. The coordinate frame assignmentis depicted in Figure 6 and DH parameters are given by Table 3.

    i i i-1 ai-1 di

    1 1 0 0 0

    2 2 0 l1 0

    3 0 0 l2 0

    Table 3. DH parameters for the planar manipulator.

  • 7/30/2019 robotique 3

    15/33

    Robot Kinematics: Forward and Inverse Kinematics 131

    l1

    1

    2

    l2

    X0,1

    Y0,1

    Z0,1

    X2

    Y2

    Z2

    X3

    Y3

    Z3

    Figure 6. Coordinate frame assignment for the planar manipulator.

    The link transformation matrices are given by

    =

    1000

    010000cs

    00sc

    T 11

    11

    0

    1(30)

    =

    1000

    0100

    00cs

    l0sc

    T22

    122

    1

    2

    (31)

    =

    1000

    0100

    0010

    l001

    T

    2

    2

    3

    (32)

    Let us use the equation 4 to solve the inverse kinematics of the 2-DOF manipu-

    lator.

  • 7/30/2019 robotique 3

    16/33

    132 Industrial Robotics: Theory, Modelling and Control

    TTT

    1000

    prrr

    prrr

    prrr

    T 23

    1

    2

    0

    1

    z333231

    y232221

    x131211

    0

    3=

    = (33)

    Multiply each side of equation 33 by 101T

    TTTTTT 23

    1

    2

    0

    1

    10

    1

    0

    3

    10

    1

    = (34)

    where

    =

    1000

    PRRT 1

    0T0

    1

    T0

    110

    1(35)

    In equation 35, T01 R and 10 P denote the transpose of rotation and position vec-

    tor of T01 , respectively. Since, ITT0

    1

    10

    1 = , equation 34 can be rewritten as fol-

    lows.

    TTTT 23

    1

    2

    0

    3

    10

    1=

    (36)

    Substituting the link transformation matrices into equation 36 yields

    =

    1000

    0100

    0010

    l001

    1000

    0100

    00cs

    l0sc

    1000

    prrr

    prrr

    prrr

    1000

    0100

    00cs

    00sc2

    22

    122

    z333231

    y232221

    x131211

    11

    11

    (37)

    +

    =

    +

    +

    1000

    0...

    sl...

    lcl...

    1000

    p...

    pcps...

    pspc...

    22

    122

    z

    y1x1

    y1x1

    Squaring the (1,4) and (2,4) matrix elements of each side in equation 37

  • 7/30/2019 robotique 3

    17/33

    Robot Kinematics: Forward and Inverse Kinematics 133

    2

    12212

    22

    211yx

    2

    y1

    22

    x1

    2 lcll2clscpp2pspc ++=++

    2

    22

    211yx

    2

    y1

    22

    x1

    2

    slscpp2pcps=+

    and then adding the resulting equations above gives

    2

    12212

    2

    2

    22

    21

    2

    1

    22

    y1

    2

    1

    22

    xlcll2)sc(l)cs(p)sc(p +++=+++

    2

    1221

    2

    2

    2

    y

    2

    xlcll2lpp ++=+

    21

    2

    2

    2

    1

    2

    y

    2

    x

    2ll2

    llppc

    +=

    Finally, two possible solutions for 2 are computed as follows using the fourth

    trigonometric equation in Table 2.

    +

    +=

    21

    2

    2

    2

    1

    2

    y

    2

    x

    2

    21

    2

    2

    2

    1

    2

    y

    2

    x

    2ll2

    llpp,

    ll2

    llpp12tanA m (38)

    Now the second joint variable 2 is known. The first joint variable 1 can be

    determined equating the (1,4) elements of each side in equation 37 as follows.

    122y1x1lclpspc +=+ (39)

    Using the first trigonometric equation in Table 2 produces two potential solu-tions.

    )lcl,)lcl(pp(2tanA)p,p(2tanA122

    2

    122x

    2

    yxy1+++= m (40)

    Example 3.

    As another example for algebraic solution approach, consider the six-axis Stan-ford Manipulator again. The link transformation matrices were previously de-veloped. Equation 26 can be employed in order to develop equation 41. Theinverse kinematics problem can be decoupled into inverse position and orien-tation kinematics. The inboard joint variables (first three joints) can be solvedusing the position vectors of both sides in equation 41.

    [ ] TTTTTTT 56

    4

    5

    3

    4

    2

    3

    0

    6

    11

    2

    0

    1

    =

    (41)

  • 7/30/2019 robotique 3

    18/33

    134 Industrial Robotics: Theory, Modelling and Control

    =

    ++

    ++

    1000

    0...

    d...

    0...

    1000

    dpcps...

    )hp(c)pspc(s...

    )hp(s)pspc(c...

    3

    2y1x1

    1z2y1x12

    1z2y1x12

    The revolute joint variables 1 and 2 are obtained equating the (3,4) and (1,4)

    elements of each side in equation 41 and using the first and second trigono-metric equations in Table 2, respectively.

    )d,dpp(2tanA)p,p(2tanA2

    2

    2

    2

    y

    2

    xyx1+= (42)

    )hp,pspc(2tanA 1zy1x12 ++= (43)

    The prismatic joint variable 3d is extracted from the (2,4) elements of each side

    in equation 41 as follows.

    )hp(c)pspc(sd1z2y1x123

    ++= (44)

    The last three joint variables may be found using the elements of rotation ma-

    trices of each side in equation 41. The rotation matrices are given by

    =

    ++

    1000

    .ss..

    .csssc

    .sc..

    1000

    .crsr..

    .ssrscrcred

    .scrccrsr..

    54

    56556

    54

    123113

    21232113233

    12232113233

    (45)

    where 21212111231 ssrscrcrd = and 21222112232 ssrscrcre = . The

    revolute joint variables 5 is determined equating the (2,3) elements of both

    sides in equation 45 and using the fourth trigonometric equation in Table 2, asfollows.

    ( )21232113233

    2

    212321132335ssrscrcr,)ssrscrcr(12tanA = (46)

    Extracting 4cos and 4sin from (1,3) and (3,3), 6cos and 6sin from (2,1)

    and (2,2) elements of each side in equation 45 and using the third trigonomet-

  • 7/30/2019 robotique 3

    19/33

    Robot Kinematics: Forward and Inverse Kinematics 135

    ric equation in Table 2, 4 and 6 revolute joint variables can be computed, re-

    spectively.

    ++

    =

    5

    12232113233

    5

    123113

    4s

    scrccrsr,

    s

    crsr2tanA (47)

    =

    5

    21212111231

    5

    21222112232

    6s

    ssrscrcr,

    s

    ssrscrcr2tanA (48)

    2.2.3 Some Drawbacks for the Solution of the Inverse Kinematics Problem

    Although solution of the forward kinematics problem is steady forward, thesolution of the inverse kinematics problem strictly depend on the robot struc-tures. Here are some difficulties that should be taken in account while drivingthe inverse kinematics.The structure of the six-axis manipulators having Euler wrist allows for thedecoupling of the position and orientation kinematics. The geometric featurethat generates this decoupling is the intersection of the last tree joint axes.Hence, their inverse kinematics problems are quite simple. On the other hand,since the orientation and position of some 6 DOF manipulators having offset

    wrist (whose three axes does not intersect at a common point) are coupled,such manipulators do not produce suitable equations for the analytical solu-tion. In this case, numerical methods are employed to obtain the solution of theinverse kinematics problem.

    Consider the example 3 for describing the singularity. As long as o05 ando1805 , 4 and 6 can be solved. A singularity of the mechanism exists

    when o05 = ando1805 = . In this case, the manipulator loses one or more de-

    grees of freedom. Hence, joint angles, 4 and 6 make the same motion of the

    last link of the manipulator.

    The inverse kinematics solution for a manipulator whose structure comprisesof revolute joints generally produces multiple solutions. Each solution shouldbe checked in order to determine whether or not they bring the end-effector tothe desired poison. Suppose the planar manipulator illustrated in Figure 5,with the link lengths l1=10 and l2=5 in some units. Use the inverse kinematicssolutions given in equations 38 and 40 to find the joint angles which bring theend-effector at the following position (px,py)=(12.99, 2.5). Substituting l1=10,l2=5 and (px,py)=(12.99, 2.5) values into equation 38 yields

  • 7/30/2019 robotique 3

    20/33

    136 Industrial Robotics: Theory, Modelling and Control

    +

    +=

    5102

    5105.299.12,

    5102

    5105.299.1212tanA

    22222

    2222

    2m

    ( )4999.0,)4999.0(12tanA 2= m (49)( ) omm 604999.0,866.02tanA ==

    As can be seen from equation 49, 2 has two solutions, corresponding to the

    positive (+60) and negative (-60) sign choices. Since )cos()cos( = , one

    ( 2 =60) of above two solutions can be employed to find the numeric values of

    the first joint as follows.

    m)99.12,5.2(2tanA1=

    )10)60(c5,)10)60(c5(99.125.2(2tanA 222 +++ (50)

    1.199.10 m=

    Clearly, the planar manipulator has four different mathematical solutionsgiven by

    }60,301.199.10{S211

    oo

    +==+== (51)

    }60,301.199.10{S212

    oo

    ==+== (52)

    }60,20.81.199.10{S213

    oo

    +==== (53)

    }60,20.81.199.10{S214

    oo

    ==== (54)

    As a result, these four sets of link angle values given by equations 51 through

    54 solve the inverse kinematics problem for the planar manipulator. Figure 7illustrates the particular positions for the planar manipulator in each of abovesolutions.

  • 7/30/2019 robotique 3

    21/33

    Robot Kinematics: Forward and Inverse Kinematics 137

    1=30

    2=60

    Y

    X

    l1

    l2

    1=30, 2=60

    (12.99, 2.5)1=30

    2=-60

    Y

    X

    l1 l2

    1=30, 2=-60

    (a) (b)

    (12.99, 2.5)

    1=-8.2

    2=60

    Y

    Xl1

    l2

    1= -8.2, 2=60

    1=-8.2

    2=-60

    Y

    X

    l1

    l2

    1= -8.2, 2=-60

    (c) (d)

    Figure 7. Four particular positions for the planar manipulator.

    Although there are four different inverse kinematics solutions for the planarmanipulator, only two (Figure 7b and 6c) of these bring the end-effector to thedesired position of (px, py)=(12.99, 2.5).Mathematical solutions for inverse kinematics problem may not always corre-spond to physical solutions. Another words, there are physical link restrictions

    for any real manipulator. Therefore, each set of link angle values should be

  • 7/30/2019 robotique 3

    22/33

    138 Industrial Robotics: Theory, Modelling and Control

    checked in order to determine whether or not they are identical with the

    physical link limits. Suppose, 2 =180, the second link is folded completely

    back onto first link as shown in Figure 8. One can readily verify that this jointvalue is not physically attained by the planar manipulator.

    2=180

    1

    l2

    l1

    Figure 8. The second link is folded completely back onto the first link when 2 =180.

    3. Quaternion Modelling Convention

    Formulating the suitable mathematical model and deriving the efficient algo-rithm for a robot kinematics mechanism are very crucial for analyzing the be-havior of serial manipulators. Generally, homogenous transformation basedon 4x4 real matrices is used for the robot kinematics. Although such matricesare implemented to the robot kinematics readily, they include in redundantelements (such matrices are composed of 16 elements of which four are com-pletely trivial) that cause numerical problems in robot kinematics and also in-crease cost of algorithms (Funda et al., 1990). Quaternion-vector pairs are used

    as an alternative method for driving the robot kinematics of serial manipula-tor. The successive screw displacements in this method provide a very com-pact formulation for the kinematics equations and also reduce the number ofequations obtained in each goal position, according to the matrix counterparts.Since (Hamilton, 2004)s introduction of quaternions, they have been used inmany applications, such as, classical and quantum mechanics, aerospace, geo-metric analysis, and robotics. While (Salamin, 1979) presented advantages ofquaternions and matrices as rotational operators, the first application of theformer in the kinematics was considered by (Kotelnikov, 1895). Later, generalproperties of quaternions as rotational operators were studied by (Pervin &

    Webb, 1982) who also presented quaternion formulation of moving geometric

  • 7/30/2019 robotique 3

    23/33

    Robot Kinematics: Forward and Inverse Kinematics 139

    objects. (Gu & Luh, 1987) used quaternions for computing the Jacobians for ro-bot kinematics and dynamics. (Funda et al., 1990) compared quaternions with

    homogenous transforms in terms of computational efficiency. (Kim & Kumar,1990) used quaternions for the solution of direct and inverse kinematics of a 6-DOF manipulator. (Caccavale & Siciliano, 2001) used quaternions for kine-matic control of a redundant space manipulator mounted on a free-floatingspace-craft. (Rueda et al., 2002) presented a new technique for the robot cali-bration based on the quaternion-vector pairs.

    3.1. Quaternion Formulation

    A quaternion q is the sum of scalar (s) and three dimensional vectors (v). Otherwords, it is a quadrinomial expression, with a real angle and an axis of rota-tion n = ix + jy + kz, where i, j and k are imaginary numbers. It may be ex-pressed as a quadruple q = (, x, y, z) or as a scalar and a vector q = (, u),where u= x, y, z. In this chapter it will be denoted as,

    ]k,k,k)2/sin(),2/[cos(]v,s[qzyx>

  • 7/30/2019 robotique 3

    24/33

    140 Industrial Robotics: Theory, Modelling and Control

    2

    1rrr

    s332211+++

    = (58)

    s4

    rrx 2332

    = (59)

    s4

    rry 3113

    = (60)

    s4

    rrz 1221

    = (61)

    Although unit quaternions are very suitable for defining the orientation of arigid body, they do not contain any information about its position in the 3Dspace. The way to represent both rotation and translation in a single transfor-mation vector is to use dual quaternions. The transformation vector using dualquaternions for a revolute joint is

    >< represents unit identity quaternion. Quaternion multiplica-

    tion is vital to combining the rotations. Let, ]v,s[q 111 = and ]v,s[q 222 = denotetwo unit quaternions. In this case, multiplication process is shown as

    ]vvvsvs,vvss[qq211221212121

    ++= (64)

    where (.), ( ) and ( ) are dot product, cross product and quaternion multipli-cation, respectively. In the same manner, the quaternion multiplication of twopoint vector transformations is denoted as,

    1

    1

    12121221121 pqpq,qq)p,q()p,q(QQ+==

    (65)

  • 7/30/2019 robotique 3

    25/33

    Robot Kinematics: Forward and Inverse Kinematics 141

    where, ).pv(v2)pv(s2pqpq 21121121

    121 ++= A unit quaternion inverse

    requires only negating its vector part, i.e.

    ]v,s[]v,s[q 1 == (66)

    Finally, an equivalent expression for the inverse of a quaternion-vector paircan be written as,

    )q*p*q,q(Q 111 = (67)

    where ))].p(v(v2))p(v(s2[pq*p*q1

    ++=

    3.2 Forward Kinematics

    Based on the quaternion modeling convention, the forward kinematics vectortransformation for an open kinematics chain can be derived as follows: Con-sider the Stanford Manipulator once more as illustrated in Figure 9. A coordi-nate frame is affixed to the base of the manipulator arbitrarily and the z-axis ofthe frame is assigned for pointing along the rotation axis of first joint. This

    frame does not move and, is considered as the reference coordinate frame. Theposition and the orientation vectors of all other joints are assigned in terms ofthis frame. Lets find orientation vectors. Since the z-axis of the reference coor-dinate frame is the unit line vector along the rotation axis of the first joint, thequaternion vector that represents the orientation is expressed as

    ]1,0,0sin,[cosq111

    >

  • 7/30/2019 robotique 3

    26/33

    142 Industrial Robotics: Theory, Modelling and Control

    z0,1

    h1

    d2

    d3

    Unit line vector

    of the first joint

    Z

    1

    2

    X

    Y

    4,6

    5

    Figure 9. The coordinate frame and unit line vectors for the Stanford Manipulator.

    ]0,1,0sin,[cosq222

    >

  • 7/30/2019 robotique 3

    27/33

    Robot Kinematics: Forward and Inverse Kinematics 143

    >>=

  • 7/30/2019 robotique 3

    28/33

    144 Industrial Robotics: Theory, Modelling and Control

    ( )>+=

  • 7/30/2019 robotique 3

    29/33

    Robot Kinematics: Forward and Inverse Kinematics 145

    )h,d,0],1,0,0s,c([Q1211

    1

    1>

  • 7/30/2019 robotique 3

    30/33

    146 Industrial Robotics: Theory, Modelling and Control

    43241221 MsMcM = ,

    44242222 MsMcM = , 41243223 MsMcM = and

    42244224 MsMcM += .

    )M,M,M],M,M,M,M([MQM 17161514131211211 >

  • 7/30/2019 robotique 3

    31/33

    Robot Kinematics: Forward and Inverse Kinematics 147

    )0,0,0],N,N,N,N([NQN444342413

    1

    34>

  • 7/30/2019 robotique 3

    32/33

    148 Industrial Robotics: Theory, Modelling and Control

    4. References

    Denavit, J. & Hartenberg, R. S. (1955). A kinematic notation for lower-pairmechanisms based on matrices. Journal of Applied Mechanics, Vol., 1(June 1955) pp. 215-221

    Funda, J.; Taylor, R. H. & Paul, R.P. (1990). On homogeneous transorms, qua-ternions, and computational efficiency. IEEE Trans.Robot. Automat., Vol.,6 (June 1990) pp. 382388

    Kucuk, S. & Bingul, Z. (2004). The Inverse Kinematics Solutions of IndustrialRobot Manipulators, IEEE Conferance on Mechatronics, pp. 274-279, Tur-key, June 2004, Istanbul

    Craig, J. J. (1989). Introduction to Robotics Mechanics and Control, USA:Addision-

    Wesley Publishing CompanyHamilton, W. R. (1869). Elements of quaternions, Vol., I & II, Newyork ChelseaSalamin, E. (1979).Application of quaternions to computation with rotations. Tech.,

    AI Lab, Stanford Univ., 1979Kotelnikov, A. P. (1895). Screw calculus and some of its applications to geometry

    and mechanics. Annals of the Imperial University of Kazan.Pervin, E. & Webb, J. A. (1983). Quaternions for computer vision and robotics,

    In conference on computer vision and pattern recognition. pp 382-383,Washington, D.C.

    Gu, Y.L. & Luh, J. (1987). Dual-number transformation and its application to

    robotics. IEEE J. Robot. Automat. Vol., 3, pp. 615-623Kim, J. H. & Kumar, V. R. (1990). Kinematics of robot manipulators via line

    transformations.J. Robot. Syst., Vol., 7, No., 4, pp. 649674Caccavale, F. & Siciliano, B. (2001). Quaternion-based kinematic control of re-

    dundant spacecraft/ manipulator systems, In proceedings of the 2001IEEE international conference on robotics and automation, pp. 435-440

    Rueda, M. A. P.; Lara, A. L. ; Marinero, J. C. F.; Urrecho, J. D. & Sanchez, J.L.G.(2002). Manipulator kinematic error model in a calibration processthrough quaternion-vector pairs, In proceedings of the 2002 IEEE interna-tional conference on robotics and automation, pp. 135-140

  • 7/30/2019 robotique 3

    33/33

    Industrial Robotics: Theory, Modelling and Control

    Edited by Sam Cubero

    ISBN 3-86611-285-8Hard cover, 964 pages

    Publisher Pro Literatur Verlag, Germany / ARS, Austria

    Published online 01, December, 2006

    Published in print edition December, 2006

    InTech Europe

    University Campus STeP Ri

    Slavka Krautzeka 83/A51000 Rijeka, Croatia

    Phone: +385 (51) 770 447

    Fax: +385 (51) 686 166

    www.intechopen.com

    InTech China

    Unit 405, Office Block, Hotel Equatorial Shanghai

    No.65, Yan An Road (West), Shanghai, 200040, China

    Phone: +86-21-62489820

    Fax: +86-21-62489821

    This book covers a wide range of topics relating to advanced industrial robotics, sensors and automation

    technologies. Although being highly technical and complex in nature, the papers presented in this book

    represent some of the latest cutting edge technologies and advancements in industrial robotics technology.

    This book covers topics such as networking, properties of manipulators, forward and inverse robot arm

    kinematics, motion path-planning, machine vision and many other practical topics too numerous to list here.

    The authors and editor of this book wish to inspire people, especially young ones, to get involved with robotic

    and mechatronic engineering technology and to develop new and exciting practical applications, perhaps using

    the ideas and concepts presented herein.

    How to reference

    In order to correctly reference this scholarly work, feel free to copy and paste the following:

    Serdar Kucuk and Zafer Bingul (2006). Robot Kinematics: Forward and Inverse Kinematics, Industrial

    Robotics: Theory, Modelling and Control, Sam Cubero (Ed.), ISBN: 3-86611-285-8, InTech, Available from:

    http://www.intechopen.com/books/industrial_robotics_theory_modelling_and_control/robot_kinematics__forwar

    d_and_inverse_kinematics