course material students)

Upload: tunisian-mentalist

Post on 08-Apr-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 Course Material Students)

    1/46

    Universit deUniversit deUniversit deUniversit de SfaxSfaxSfaxSfax

    Ecole NationaledIngnieurs de Sfax

    National EngineeringSchool of Sfax

    ROBOTIQUE

    Document prpar

    par

    Professeur Slim Choura

  • 8/7/2019 Course Material Students)

    2/46

    1

    OUTLINE OF ROBOT DESIGN

    Consider a two-link robot as shown below:

    Attached to the end of the manipulator is a tool, such as cutting tool.

    Suppose we wish to move the manipulator from its home position A to position B from which

    point the robot is to follow the contour of the surface S at constant velocity while maintaining

    a prescribed force F normal to the surface. The robot will cut or grind the surface according to

    a prescribed specification.

    Problem 1: Forward Kinematics

    Describe both the position of the tool and the locations A and B with respect to a common

    coordinate system. The angles 21 and will be measured directly using internal sensors

    (or encoders) located at joints 1 and 2.

    Problem 2: Inverse Kinematics

    Given the joint angles, the end-effector coordinatesx andy can be determined. The problem

    of inverse kinematics consists of determining the joint angles in terms ofx andy. Since the

    forward kinematics equations are nonlinear there could be:

    x

    y

    joint 1

    joint 2

    1

    2

    A

    B

    S

  • 8/7/2019 Course Material Students)

    3/46

    2

    a- one solution

    b- two or more solutions

    c- no solution

    Problem 3: Velocity Kinematics

    In order to follow a contour at constant velocity, or at any prescribed velocity, we must know

    the relationship between the velocity of the tool and the joint velocities. This relationship is of

    the form:

    JR

    ==

    y

    x 1

    2

    =

    whereJis known as the Jacobian of the manipulator. This implies:

    RJ -1 =

    The values 21 nd a at whichJis singular correspond to the singular configurations of the

    manipulator.

    Examples:

    (a) (b)

    02 = =2

    position

    position

    Position

    cannot be

    reached

  • 8/7/2019 Course Material Students)

    4/46

    3

    For many applications it is important to plan manipulator motions in such a way that singular

    configurations are avoided.

    Problem 4: Dynamics

    To control the position we must know how much force to exert on it to cause it to move.

    Techniques based onLagrangian dynamics are used to derive the equations of motion of the

    manipulator.

    Problem 5: Position Control

    The motion control problem consists of the tracking and disturbance rejection problem, which

    is the problem of determining the control inputs (torques) necessary to follow, or track, a

    desired trajectory that has been planned for the manipulator. While simultaneously rejecting

    disturbances due to unmodeled dynamic effects such as friction and noise.

  • 8/7/2019 Course Material Students)

    5/46

    4

    FORWARD KINEMATICS THE DENAVIT-

    HARTENBERG REPRESENTATION

    A study of the geometry of motion is essential in manipulator design and control in order to

    obtain a mapping between the end-effector location (position and orientation) and the motion

    of manipulator links as well as the mapping between the end effector velocity and the speed

    of the manipulator links. The final goal is to use these mappings to relate the end-effector

    motion to joint displacements (generalized coordinates) and velocities.

    1. Kinematic Chains:Suppose a robot has (n+1) links numbered from 0 to n starting from the base of the robot,

    which is taken as a link 0. The joints are numbered from 1 to n, and the ith

    joint is the point in

    space where links ( )1i and i are connected. The ith joint variable is denoted by iq . In the

    case of revolute joint, iq is the joint angle of rotation and in the case of prismatic joint, iq is

    the joint displacement. Next, a coordinate frame is attached rigidly to each link. To be

    specific, we attach an inertial frame to the base and call it frame 0. Then we choose frames 1

    through n such that frame i is rigidly attached to linki.

    Illustration: elbow manipulator

  • 8/7/2019 Course Material Students)

    6/46

    5

    2. Denavit-Hartenberg Representation A commonly used convention for selecting frames of reference in robotic applications is the

    Denavit-Hartenberg, or D-H convention which is based on the homogeneous transformation.

    Each homogeneous transformation is represented as a product of four basic transformations.

    iiii ,xa,xd,z,zi

    RotTranTranRot +++=A

    =

    1000

    0cossin0

    0sincos0

    0001

    1000

    0100

    0010

    001

    1000

    100

    0010

    0001

    1000

    0100

    00cossin

    00sincos

    ii

    ii

    i

    i

    ii

    iia

    d

    1000

    cossin0

    sinsin-coscoscossin

    cossinsincossincos

    =

    iii

    iiiiiii

    iiiiiii

    d

    a

    a

    (*)

    where the four quantities iii da ,, and i are parameters of linki and joint i called

    ia : length of the link

    i : angle

    i : twist angle

    id : offset

    Since iA is a function of one variable, three of the above parameters are constant for a given

    link, while the fourth parameter, i for a revolute joint and id for a prismatic joint, is the

    joint variable.

    iA can be rewritten as:

    =

    10

    ii

    i

    pRA

    iR : relative rotation of frame i with respect to frame ( )1i

    ip : position vector of the origin of frame i with respect to frame ( )1i expressed in frame

    ( )1

    i

  • 8/7/2019 Course Material Students)

    7/46

    6

    Procedure of the D-H Convention

    Step 1: Locate and label the joint axes ...,,, 120 nzzz .

    Step 2: Establish the base frame. Set the origin anywhere on the -0z axis. The 0x and 0y axes

    are chosen conveniently to form a right-hand frame.

    For 1-n...,2,1,i = perform steps 3 to 5.

    Step 3: Locate the origin iO where the common normal to iz and 1iz intersects iz . If iz

    intersects 1iz locate iO at this intersection. If iz and 1iz are parallel, locate iO at

    joint i .

    Step 4: Establish ix along the common normal between 1iz and iz through iO , or in the

    direction normal to the 1iz - iz plane if 1iz and iz intersect.

    Step 5: Establish iy to complete the right-hand frame.

    Step 6: Establish the end-effector frame nnnn zyxO . Assuming the nth

    joint is revolute, set

    akn = along the direction 1nz . Establish the origin conveniently along nz , preferably

    at the center of the gripper or at the tip of any tool that the manipulator may be

    carrying. Set sjn = in the direction of the gripper closure and set nin = as as . If the

    tool is not a simple gripper set nx and ny conveniently to form a right-hand frame.

    Step 7: Create a table of link parameters iii da ,, and i .

    ia : distance along ix from iO to the intersection of ix and 1iz axes.

  • 8/7/2019 Course Material Students)

    8/46

    7

    id : distance along 1iz from 1iO to the intersection of the ix and 1iz axes. id is a

    variable if joint i is prismatic.

    i : the angle between 1iz and iz measured about ix .

    i : the angle between 1ix and ix measured about 1iz . i is a variable if joint i is

    revolute.

    Step 8: Form the homogeneous transformation matrices iA by substituting the above

    parameters in (*).

    Step 9: Form

    nn ...AAAAT 3210 =

    which gives the position and orientation of the tool frame expressed in base

    coordinates.

  • 8/7/2019 Course Material Students)

    9/46

    8

    Example 1: Planar elbow manipulator

    0z and 1z are normal to the page.

    Link ia i id i

    1 1a 0 0 *1

    2 2a 0 0*

    2

    =

    =

    1000

    0100

    sin0cossin

    cos0sincos

    1000

    0100

    sin0cossin

    cos0sincos

    2222

    2222

    21111

    1111

    1

    a

    a

    a

    a

    AA

    ( ) ( ) ( )( ) ( ) ( )

    1 2 1 2 1 1 2 1 2

    1 2 1 2 1 2 1 1 2 1 20 1 0 1 2

    0cos sin cos cos

    0sin cos sin sin

    0 0 1 0

    0 0 0 1

    a a

    a a

    + + + + + + + +

    = = =

    T A T A A

    Notice that the first rows of the last columns of 20T are the x and y components of the

    origin 2O in the base frame:

    ( * ) variable

  • 8/7/2019 Course Material Students)

    10/46

    9

    ( )1 1 2 1 2cos cos x a a = + +

    ( )1 1 2 1 2sin sin y a a = + +

    Example 2: Three-link cylindrical robot

    Linkia i id i

    1

    2

    3

    =

    =

    =

    1000

    100

    0010

    0001

    1000

    01-0

    0100

    0001

    1000

    10000cossin

    00sincos

    3

    3

    2

    2

    1

    11

    11

    1

    dddAAA

    1 1 3 1

    3 1 1 3 10 1 2 3

    1 2

    0cos sin sin

    0sin cos cos

    0 1 0

    0 0 0 1

    d

    d

    d d

    = = +

    T A A A

    0z 1z

    2z

    2z 3z

    0y

    1y

    2y 3y

    1x

    2x 3x

    0z

    1z

    O0

    O1

    O2 O3

    1d

    2d

    3d

  • 8/7/2019 Course Material Students)

    11/46

    10

    Example 3: Spherical wrist

    Linkia i id i

    4

    5

    6

    =

    =

    =

    1000

    100

    00cossin

    00sincos

    1000

    0010

    0cos0sin

    0sin0cos

    1000

    0010

    0cos0sin

    0sin0cos

    6

    66

    66

    655

    55

    544

    44

    4

    d

    AAA

    1000

    ccsscs

    ssssccscsscscsscsccssccssccc

    10

    6556565

    654546465464654

    654546465464654

    63

    63

    65463

    ++

    =

    ==

    d

    d

    ddR

    AAAT

    where ii cosc = and ii sins =

    4x

    5z

    Oa

    3z

    4z

  • 8/7/2019 Course Material Students)

    12/46

    11

    Example 4: Cylindrical manipulator with spherical wrist

    Suppose we attach a spherical wrist to the cylindrical manipulator of Example 2 as shown

    below. Note that axis of rotation of joint 4 is parallel to2

    z and thus coincides with the axis3

    z

    of Example 2. Thus

    =

    ++

    +

    ==

    1000

    1000

    ccsscs

    ssssccscsscscs

    scsccssccssccc

    1000

    010

    cc0s

    ss0c

    333231

    232221

    131211

    6556565

    654546465464654

    654546465464654

    21

    1311

    1311

    63

    30

    60

    z

    y

    x

    drrr

    drrr

    drrr

    d

    d

    d

    dd

    d

    d

    TTT

    651641654111 cssssccccc +=r 5154113 csscc =r

    651641654121 cscssscccs +=r 5154123 ccscs +=r

    6465431 scccs =r 5433 ss=r

    651641654112 ssscscsccc =r 316516541 sdcsscc dddx =

    651641654122 ssccsssccs +=r 316516541 cccscs ddddy ++=

    6465432 ccscs=

    r 21654ss ddddz++=

    s

    n

    3d

    1

    2d 4

    5

    6

    a

  • 8/7/2019 Course Material Students)

    13/46

    12

    Example 5: Stanford manipulator

    Linkia i id i

    12

    3

    4

    5

    6

    1000

    100

    0010

    0001

    1000

    010

    0c0s

    0s0c

    1000

    0010

    0c

    0s

    0s0c

    3

    3

    2

    22

    22

    211

    11

    1

    =

    =

    =

    ddAAA

    =

    =

    =

    1000

    100

    00cs

    00sc

    1000

    0010

    0c0s

    0s0c

    1000

    0010

    0c0s

    0s0c

    6

    66

    66

    655

    55

    544

    44

    4

    d

    AAA

    65432160 AAAAAAT =

  • 8/7/2019 Course Material Students)

    14/46

    13

    Example 6: SCARA manipulator

    Linkia i id i

    1

    2

    3

    4

    1000

    100

    00cs

    00sc

    1000

    100

    0010

    0001

    1000

    0100

    s0cs

    c0sc

    1000

    0000

    s0cs

    c0sc

    4

    44

    44

    4

    3

    32222

    2222

    21111

    1111

    1

    =

    =

    =

    =

    dd

    a

    a

    a

    a

    AAAA

    +

    +++

    ==

    1000

    100

    ss0ccsssccs

    cc0csscsscc

    43

    12211412412412412

    12211412412412412

    432140

    dd

    aa

    aa

    AAAAT

  • 8/7/2019 Course Material Students)

    15/46

    14

    INVERSE KINEMATICS

    Objective: Find the joint variables in terms of the end-effector position and orientation.

    Given a 44 homogeneous transformation matrix:

    1 =

    0R dH

    with R is the rotation matrix, find (one or all) solutions of the equation

    ( )0 1 2 n, , ...,n

    q q q =T H (1)

    where

    ( )0 1 2 n 1 2 n, , ...,n q q q =T A A ... A

    Equation (1) results in 12 nonlinear equations in n-unknown variables, which can be

    written as

    ( )1 2 n, , ...,ij ijq q q h=T 1, 2, 3i = 1, 2, 3, 4j =

    Example: Stanford Manipulator (see previous chapter)

    Suppose that the proposed position and orientation of the final frame is given as:

    11 12 13

    21 22 236

    0

    31 32 33

    0 0 0 1

    x

    y

    z

    r r r d

    r r r d

    r r r d

    =

    T

    To find the corresponding variables 654321 and,,,,, d we must solve the following

    simultaneous set of nonlinear trigonometric equations:

  • 8/7/2019 Course Material Students)

    16/46

    15

    ( ) ( )11 1 2 4 5 6 4 6 2 5 6 1 4 5 6 4 6r c c c c c s s s s c s s c c c s = +

    ( ) ( )21 1 2 4 5 6 4 6 2 5 6 1 4 5 6 4 6r s c c c c s s s s c c s c c c s = + +

    ( )31 2 4 5 6 4 6 2 5 6r s c c c s s c s c=

    ( ) ( )12 1 2 4 5 6 4 6 2 5 6 1 4 5 6 4 6r c c c c s s s s s s s s c s c c = + + +

    ( ) ( )22 1 2 4 5 6 4 6 2 5 6 1 4 5 6 4 6r s c c c s s s s s s c s c s c c = + + + +

    ( )32 2 4 5 6 4 6 2 5 6r s c c s s c c s s= + +

    ( )13 1 2 4 5 2 5 1 4 5r c c c s s c s s s= +

    ( )23 1 2 4 5 2 5 1 4 5r s c c s s c c s s= + +

    33 2 4 5 2 5r s c s c c= +

    ( )1 2 3 1 2 6 1 2 4 5 1 5 2 1 4 5xd c s d s d d c c c s c c s s s s= +

    ( )1 2 3 1 2 6 1 4 5 2 4 1 5 5 1 2yd s s d c d d c s s c c s s c s s= + + + +

    ( )2 3 6 2 5 4 2 5zd c d d c c c s s= +

    which are too difficult to solve directly in closed form and which may or may not have a

    solution.

    Kinematic Decoupling

    Suppose that there are exactly six degrees-of-freedom and that the last three joint axes

    intersect at a point O (see Example 3 on page 10). We express (1) as two sets of

    equations representing the rotational and positional equations.

    ( )60 1 2 3 4 5 6, , , , ,q q q q q q =R R

    ( )60 1 2 3 4 5 6, , , , ,q q q q q q =d d

    where R and d are the given position and orientation of the tool frame.

    Assumption of a spherical wrist means that the axes 4z , 5z and 6z intersect at O and

    hence the origin O4 and O5 assigned by the D-H convention will always be at the wrist

    center O coinciding with O3. This assumption assures that the motion of the final three

    links about these axes will not change the position ofO. In such a case, the position of the

    wrist center is thus a function of only the first three joint variables.

  • 8/7/2019 Course Material Students)

    17/46

    16

    Since the origin of the tool frame O6 in the frame 0000 zyxO is just

    6 6d =O O Rk

    =

    1

    0

    0

    k unit vector along the axis of rotation

    Let cp denote the vector from the origin of the base frame to the wrist center. Thus, in

    order to have the end-effector of the robot at the point d with the orientation of the end-

    effector given by ( )ijr=R , it is necessary and sufficient that wrist center O be located the

    point

    6c d= p d Rk (2)

    and let the orientation of frame 6666 zyxO with respect to the base be given by R . If the

    components of the end-effector position d and wrist center cp are denoted, respectively,

    by xd , yd and zd , and xp , yp and zp , then (2) becomes

    +

    =

    =

    32

    21321

    21321

    336

    236

    136

    dc

    dcdssdsdsc

    rddrddrdd

    ppp

    z

    y

    x

    z

    y

    x

    (3)

    Using (3), we may find the values of the first three joint variables 1 , 2 and 3d which

    determine 30R . Then

    O

    d6

    k

    O6

    6

    0 =d d

    0

    c

    c=d p

    y0

    z0

    z4

    z5

    x0

  • 8/7/2019 Course Material Students)

    18/46

    17

    =3 6

    0 3R R R

    ( ) ( )1T

    = =6 3 33 0 0R R R R R (4)

    The final three angles can be found from (4) using Euler angles:

    0 0c s c s0c s

    0 0s c 0 1 0 s c

    0s c0 0 1 0 0 1

    c c c s s c c s s c c s

    s c c c s s c s c c

    =

    = + +

    6

    3R

    s s

    s c s s c

    Summary

    For this class of manipulators the determination of the inverse kinematics can be

    summarized by the following algorithm.

    Step 1: Find 1q , 2q and 3q such that the wrist center cp is located at

    6c d= p d Rk

    Step 2: Using the joint variables determined in Step 1, evaluate 30R .

    Step 3: Find a set of Euler angles corresponding to the rotation matrix

    ( ) ( )1 T

    = =6 3 3

    3 0 0R R R R R

    Inverse Position: A Geometric Approach

    a- Spherical Manipulator:Consider the inverse position kinetics for a three degree of freedom spherical

    manipulator.

  • 8/7/2019 Course Material Students)

    19/46

    18

    It can be seen from geometry that

    1arctan

    y

    x

    p

    p =

    provided that xp and yp are not both zero. If 0=xp and 0=yp , the manipulator is at its

    singular configuration

    2 arctans

    r =

    where

    2 2 2

    x yr p p= + and 1zs p d=

    We also have

    ( )2

    2 23 2d a r s+ = +

    ( )22 2 2 23 2 1 2 x y zd r s a p p p d a= + = + +

  • 8/7/2019 Course Material Students)

    20/46

    19

    b- SCARA Manipulator:

    12 4 12 4 12 4 12 4 1 1 2 12

    4 12 4 12 4 12 4 12 4 1 1 2 120

    3 4

    0c c s s c s s c c c

    0s c c s s s c c s s

    0 0 1 1

    0 0 0 1

    a a

    a a

    d d

    + + +

    + = =

    0

    R dT

    00

    0 0 1

    c s

    R s c

    =

    121 2 4

    11

    arctanr

    r = + =

    From the above figure,

    r

    r2

    2

    1arctan

    =

    2 2 2 2

    1 2

    1 22

    x yd d a a

    ra a

    + =

    2 21

    1 2 2

    arctan arctany

    x

    d a sd a a c

    = +

    Then 124 1 2 1 2

    11

    arctanr

    r = + = +

    Finally

    43 ddd z +=

  • 8/7/2019 Course Material Students)

    21/46

    20

    VELOCITY KINEMATICS

    Derivation of the Jacobian:

    Consider an n-link manipulator with joint variables nqqq ...,, 21 . Let

    ( )( ) ( )0 0

    0

    1

    n n

    n

    = 0

    R q d qT q (1)

    Denote the transformation from the end-effector frame to the base frame, where

    ( )1 2, , ...,T

    nq q q=q

    is the vector of joint variables. q , ( )0nR q and ( )0

    nd q are all functions of time.

    Objective: Relate the linear and angular velocity of the end-effector to the vector of joint

    velocities ( )tq .

    Let n0 denote the angular velocity of the end-effector, and let

    = n n

    0 0V d

    denote the linear velocity of the end-effector. We seek expressions of the form

    = n

    0 VV J q

    = n

    0 J q

    whereV

    and

    are n3 matrices. The above two equations can be rewritten as:

    n

    =

    n

    0

    0n

    0

    Vq

    where n

    =

    V

    0J is called theManipulator Jacobian orJacobian for short. 0n is n6

    matrix where n is the number if links.

  • 8/7/2019 Course Material Students)

    22/46

    21

    Angular Velocity :

    If the ith

    joint is revolute, then the ith

    joint variable iq equals i and the axis of rotation

    is the 1iz -axis. Thus, the angular velocity of linki expressed in the frame i -1 is given by:

    iq=

    i

    i -1 k

    If the ith

    joint is prismatic 0=i 1-i . Therefore, the overall angular velocity of the end-

    effector, n0 in the base frame is determined as:

    1 11 1 2 2 0 0 1

    1

    ...

    n

    nn n i i i

    i

    q q q q

    =

    = + + + =

    n0 k R k R k z

    where 11 0

    i

    i

    =z R k denotes the unit vector k of frame i 1 expressed in the orientation of

    the base frame, and where i is equal to 1 if joint i is revolute and 0 if joint i is

    prismatic.

    0

    0

    1

    = =

    0z k

    Thus,

    1 1 2 2 .... n nz = J z z

    Linear Velocity:

    The linear velocity of the end-effector is just n0d . By chain rule of differentiation:

    00

    1

    n nn

    i

    ii

    q

    q=

    =

    dd

    Thus, the ith

    column of VJ is justi

    n

    q

    0d . We shall consider two cases:

    Case 1: Joint i is prismatic:

    10

    jR is independent of ii dq = for allj and

    iRkd iiiiii ad 11 +=

    If all joints are fixed but the ith we have that

  • 8/7/2019 Course Material Students)

    23/46

    22

    1 1

    0 0 1 0 1

    n i i i

    i i i id d

    = = = d R d R k z

    Thus,

    01

    n

    i

    iq

    =

    dz

    Case 2: Joint i is revolute:

    Let ko denote the vector 0kd from the origin O0 to the origin Ok from any k, and write

    1 1

    0 0 0 1

    n i i n

    i

    = +d d R d

    or, in the new notation,

    1

    1 0 1i n

    n i i

    =O O R d

    Note that both 10id and 10

    iR are constant if only the ith

    joint is actuated. Therefore,

    1

    0 0 1

    n i n

    i

    = d R d

    Since the motion of linki is a rotation iq about 1iz we have

    1 1

    n n

    i i iq

    = d k d

    Thus,

    ( )10 0 1 n i n

    i iq

    = d R k d

    1 1

    0 0 1

    i i n

    i iq

    = R k R d

    ( )1 1i i n iq = z O O

  • 8/7/2019 Course Material Students)

    24/46

    23

    Thus,

    ( )0

    1 1

    n

    i n iiq

    =

    d

    z O O

    and the upper half of the JacobianV

    is given by

    1 2 1

    ...n n

    V V V V V

    = J J J J

    where the ith

    columniV

    is

    ( )1 1

    1

    (revolute joint)

    (prismatic joint)

    i n i

    i

    =

    =

    i

    i

    V

    V

    J z O O

    J z

    Finally

    1 2 1...

    n n = J J J J

    ( )1 1

    1

    1

    (if is revolute)

    (if is prismatic )

    i n i

    i

    i

    i

    i

    =

    =

    0

    i

    i

    z O OJ

    z

    zJ

  • 8/7/2019 Course Material Students)

    25/46

    24

    Examples :

    (i) Three-link planar manipulator:

    Suppose we wish to compute the linear velocity V and the angular velocity of the

    center of link 2 as shown:

    0

    1 2 3

    0

    n

    n

    =

    VJ J q

    ReplacenO by cO . Thus,

    ( )1 0 0c= z O O

    ( )2 1 1c= z O O

    3 = 0J (link 2 is not affected by the motion of link 3)

    (ii) Two-link planar manipulator:

  • 8/7/2019 Course Material Students)

    26/46

    25

    ( )( ) ( ) ( )

    ( )0 2 0 1 2 1 0

    0 1

    = =

    z O O z O O V O

    q J q qz z

    0

    0

    0

    0

    =

    O

    1 1

    1 1 1

    0

    a c

    a s

    =

    O

    1 1 2 12

    2 1 1 2 12

    0

    a c a c

    a s a s

    +

    = +

    O 0 1

    0

    0

    1

    =

    z z

    Thus,

    ( ) 2 121 1 2 12

    1 1 2 12 2 12

    0 0

    0 00 0

    1 1

    a sa s a s

    a c a c a c

    + + =

    J

    (iii) SCARA manipulator:

    Since joints 1, 2 and 4 are revolute and joint 3 is prismatic, and since 34 oo is parallel to

    3z then,

    ( ) ( ) 20 4 0 1 4 1

    0 1 3

    =

    0

    0i

    zz O O z O OJ

    z z z

    1 1

    1 1 1

    0

    a c

    a s

    =

    O

    1 1 2 12

    2 1 1 2 12

    0

    a c a c

    a s a s

    +

    = +

    O

    1 1 2 12

    4 1 1 2 12

    3 4

    a c a c

    a s a s

    d d

    +

    = +

    O

    Similarly,

    0 1= =z z k and 2 3= = z z k

    ( ) 2 121 1 2 12

    1 1 2 12 2 12

    0 0

    0 0

    0 0 1 0

    0 0 0 0

    0 0 0 0

    1 1 0 1

    a sa s a s

    a c a c a c

    + +

    =

    J

  • 8/7/2019 Course Material Students)

    27/46

    26

    Singularities:

    The n6 Jacobian ( )qJ defines a mapping

    ( )= X J q q

    between the vector q of joint velocities and the vector ( ),T

    =X V of the end-effector

    velocities. Infinitesimally, this defines a linear transformation

    ( )d d=X J q q

    between the differentials qd and Xd . Singularities occur when the rank of ( )q

    decreases ( ( )det = 0J q ). Identifying manipulator singularities is important for several

    reasons:

    1. Singularities represent configurations from which certain directions of motionmay be unattainable.

    2. At singularities, bounded gripper velocities may correspond to unbounded jointvelocities.

    3. At singularities, bounded gripper forces and torques may correspond tounbounded joint torques.

    4. Singularities usually correspond to points of maximum reach of the manipulator.5. Singularities correspond to points in the manipulator workspace that may be

    unreachable under small perturbations of the link parameters, such as length,

    offset, etc.

    6. Near singularities, there will not exist a unique solution to the inverse kinematicsproblem. In such cases, there may be no solution or there may be infinitely many

    solutions.

    Example :

    Consider the two-dimensional system of equations,

  • 8/7/2019 Course Material Students)

    28/46

    27

    ( )1 1

    0 0

    d d d

    = =

    X J q q q

    that corresponds to the two equations:

    1 2dx dq dq= +

    0dy =

    rank(J) = 1. Note that for any values of 1dq and 2dq , there is no change in the value of

    dy . Thus any vector Xd having a nonzero second component represents an unattainable

    direction of instantaneous motion.

    Decoupling of Singularities :

    Suppose that 6=n , that is, the manipulator consists of a 3-DOF arm with a 3-DOF

    spherical wrist. A configuration q is singular if and only if:

    ( )det 0=J q

    Let us partition the Jacobian J into 33 blocks as:

    11 12

    21 22

    P O

    = =

    J

    J J J J

    Since the final three joints are always revolute

    ( ) ( ) ( )3 6 3 4 6 4 5 6 5

    3 4 5

    O

    =

    z O O z O O z O OJ

    z z z

    Since the wrist axes intersect at a common point O, if we choose the coordinate frames so

    that

    3 4 5 6= = = =O O O O O

    then 0J becomes

    3 4 5

    O

    =

    0 0 0J

    z z z

    and the ith column of iJ of PJ is

  • 8/7/2019 Course Material Students)

    29/46

    28

    ( )1 1

    1

    if joint is revolutei i

    i

    i

    i

    =

    z O OJ

    z

    1 if joint is prismaticii

    i

    = 0

    zJ

    In this case, the Jacobian matrix has the form:

    11

    21 22

    =

    0JJ

    J

    11 22det det det= J J

    11J and 22J are 33 matrices. 11J has an ith column ( )1 1i i z O O if joint i is

    revolute and 1iz if joint i is prismatic, while

    22 3 4 5 = z z z

    Therefore, the set of singular configurations of the manipulator is the union of the set of

    arm configuration satisfying 0det 11 =J and the set of wrist configurations satisfying

    22det 0=

    J .

    (i) Wrist singularities :22 3 4 5

    det det 0 = = J z z z

    This implies that 543 and, zzz are linearly dependent. This happens when 53 andzz are

    collinear

    This is the only singularity of the spherical wrist and is unavoidable without imposing

    mechanical limits on the wrist design to restrict its motion in such a way the 53 andzz are

    prevented from lining up.

  • 8/7/2019 Course Material Students)

    30/46

    29

    (ii) Elbow manipulator singularities :

    Consider the three link articulated manipulator with coordinate frames attached as shown

    above. It can be shown that

    2 1 2 3 1 23 2 2 1 3 23 1 3 1 23

    11 2 1 2 3 1 23 2 2 1 3 1 23 3 1 23

    2 2 3 23 3 23

    s c s c s c s c c s

    c c c c s s s s s s

    0 c c s

    a a a a a

    a a a a a

    a a a

    = + +

    J

    ( )11 2 3 3 2 2 3 23det a a s a c a c = +J

    Singular configurations 3 3

    2 2 3 23

    0 0 or

    0

    s

    a c a c

    = =

    + =

    First configuration : elbow is fully extended or fully retracted.

  • 8/7/2019 Course Material Students)

    31/46

    30

    Second configuration : wrist center intersects the axis of the base rotation 0z

    (iii) Spherical manipulator singularities :

    This manipulator is in a singular configuration when the wrist center intersects0

    z , as

    shown below.

  • 8/7/2019 Course Material Students)

    32/46

    31

    (iv) SCARA manipulator singularities :

    =

    100

    0

    0

    42

    31

    11

    J

    1 1 1 2 12

    2 1 1 2 12

    2 1 12

    4 1 12

    a s a s

    a c a c

    a s

    a c

    =

    = +

    =

    =

    11 1 4 2 3det 0 0 = =J

    It can be shown that this reduces to ,00 22 ==s

    Inverse Velocity and Acceleration

    Inverse velocity and acceleration relationships are conceptually simpler that inverse

    position. Recall that

    ( )= X J q q (2)

    This implies

    ( )1= q J q X

    Differentiating (2) yields the acceleration equations

    ( ) ( )d

    dt= +

    X J q q J q q

    This implies

    ( )1=q J q b ( )d

    dt=

    b X J q q

    Provided that ( )det 0J q

  • 8/7/2019 Course Material Students)

    33/46

    32

    DYNAMICS OF MANIPULATORS

    Kinetic and Potential Energy

    Suppose an object consists of a continuum of particles, and let denote the density of

    mass of the object. The mass of the object is expresses by:

    ( ), ,B

    m x y z dxdydz=

    where B denotes the region of the 3-dimensional space occupied by the body.

    The kinetic energy of the object is given by:

    ( ) ( ) ( )

    ( ) ( )

    T

    T

    1, , , , , ,

    2

    1, , , ,

    2

    B

    B

    K x y z x y z x y z dxdydz

    x y z x y z dm

    =

    =

    V V

    V V

    ( ) ( )T1

    , , , ,

    2 B

    x y z x y z dm=

    V V

    dm is the infinitesimal mass of the particle located at the coordinates ( ), ,x y z .

    We define the coordinate vector of the center of mass as

    1C

    B

    dmm

    = r r

    where r is the coordinate vector of a point on the body.

    Now, suppose we attach a coordinate frame rigidly to the center of mass, with its origin at

    the center of mass. The velocity of any point on the body is obtained from:

    C= + V V r

    which corresponds to the velocity with respect to an inertial frame expressed with respect

    to an inertial frame.

  • 8/7/2019 Course Material Students)

    34/46

    33

    Let R denote the rotation matrix that transforms free vectors from the moving frame to

    the inertial frame. Thus, the velocity of a particle located at r , expressed with respect to

    the moving frame equals,

    ( ) ( ) ( )T T T TC C+ = + R V r R V R R r

    The kinetic energy is computed using any type of coordinate frame. Here, it will be

    computed using the moving frame.

    Now, we can express the vector cross product as a matrix multiplying a vector as follows:

    ( )C= +V V S r

    where

    ( )3 2

    3 1

    2 1

    0

    0

    0

    =

    S

    is a skew-symmetric matrix

    ( ) ( )T

    = S S

    The kinetic energy becomes:

    ( ) ( )

    ( ) ( ) ( ) ( )

    ( ) ( ) ( ) ( )

    ( ) ( )

    T

    T T T T T T

    T T T T T T

    0 0

    T T T

    1

    2

    1 1 1 12 2 2 2

    1 1 1 1

    2 2 2 2

    1 1

    2 2

    C C

    B

    C C C C

    B B B B

    C C C C

    B B B

    C C

    B

    K dm

    dm dm dm dm

    m dm dm dm

    m dm

    = + +

    = + + +

    = + + +

    = +

    V S r V S r

    V V V S r r S V r S S r

    V V V S r r S V r S S r

    V V r S S r

    for any two vectors a and b

    T TTr=a b ab (*)

  • 8/7/2019 Course Material Students)

    35/46

    34

    Using (*) in K

    ( ) ( )T T1 1

    Tr2 2C C

    K m = +

    V V S JS

    where J is a 33 matrix defined by

    2

    T 2

    2

    B

    x dm xydm xzdm

    dm xydm y dm yzdm

    xzdm yzdm z dm

    = =

    J r r

    It can be further shown that

    T T1 1

    2 2C C

    K m= +V V I

    where I is the 33 inertia matrix defined as:

    ( )

    ( )

    ( )

    2 2

    2 2

    2 2

    y z dm xydm xzdm

    xydm x z dm yzdm

    xzdm yzdm x y dm

    +

    = +

    +

    I

    Now consider a manipulator consisting of n links. Since the joint variables are indeed

    the generalized coordinates, it follows that, for appropriate Jacobian matrices (iCV

    J and

    ( )i

    we have that

    ( )= Ci

    Ci VV J q q ( ) ( )Ti=

    ii

    R q J q q

    where ( )TiR q takes care of the fact that the angular velocity must be expressed in the

    frame attached to the link.

  • 8/7/2019 Course Material Students)

    36/46

    35

    Suppose that the mass of link i is im and that the inertia matrix of link i , evaluated

    around a coordinate frame parallel to frame i but whose origin is at the center of mass

    equals iI . Thus, the overall kinetic energy of the manipulator equals

    ( ) ( ) ( ) ( ) ( ) ( )T T T T

    1

    1

    2

    n

    i i i

    i

    K m I

    =

    = + Ci Ci i iiV V q J q J q J q R q R q J q q

    In other words,

    ( )T1

    2

    K= q D q q

    ( )D q is a symmetric positive definite matrix that is in general configuration dependent.

    Now consider the potential energy term. In the case of rigid dynamics, the only source of

    potential energy is gravity. Hence, the overall potential energy is

    T T T

    C

    B B

    V dm dm m= = = g r g r g r

    Equations of Motion

    The kinetic energy is assumed to be a quadratic function of the vector q of the form

    ( ) ( )T

    1 1

    1 1

    2 2

    n n

    ij i j

    i j

    K d q q

    = =

    = = q q D q q

    and ( )V V= q which is independent of q .

    Euler-Lagrange equations for such a system can be derived as follows:

    ( ) ( )1 1

    1

    2

    n n

    ij i j

    i j

    L K V d q q V

    = =

    = = q q

    The equations of motion

    ( )1 1 1

    1

    2

    n n n

    kj ij

    kj j i j k

    i k k j i j

    d d Vd q q q

    q q q

    = = =

    + =

    q 1, ... ,k n=

  • 8/7/2019 Course Material Students)

    37/46

    36

    It can also be written as:

    ( ) ( )1 1 1

    n n n

    kj j ijk i j k k

    j i j

    d q c q q

    = = =

    + + = q q 1, ... ,k n=

    where

    1

    2

    kj ijkiijk

    i j k

    d ddc

    q q q

    = +

    ( )kk

    V

    q

    =

    q

    or in matrix form:

    ( ) ( ) ( ),+ + = D q q C q q q g q

    where

    ( )1 1

    1

    2

    n n

    kj ijkikj ijk i i

    i j ki i

    d ddc c q q

    q q q= =

    = = +

    q

    Example: Two-link revolute joint arm:

    1m

    2m

    2l

    1l

    2Cl

    1Cl

    x

    y

    1

    2

  • 8/7/2019 Course Material Students)

    38/46

    37

    11 =

    CC V

    V J q

    1

    1 1

    1

    1

    0sin

    0cos

    0 0

    C

    C

    l q

    l q

    =

    CVJ

    similarly,

    22 =

    CC V

    V J q

    ( ) ( )

    ( ) ( )2 2

    2 2 2

    1 1 1 2 1 2

    1 1 1 2 1 2

    sin sin sin

    cos cos cos

    0 0

    C C

    C C

    l q l q q l q q

    l q l q q l q q

    + + = + + +

    CVJ

    Hence, the transnational part of the kinetic energy is

    { }1 1 2 2

    T T T T T

    1 1 1 2 2 2 1 2

    1 1 1

    2 2 2C C C C

    m m m m+ = + C C C C V V V V

    V V V V q J J J J q

    It is clear that

    1 1q= k ( )2 1 2q q= + k

    Since i is aligned with ik the triple productT

    i i i I reduces simply to ( )iI33 times the

    square of the magnitude of the angular velocity. Let

    ( )33 iiI I=

    Hence the rotational kinetic energy of the overall system becomes:

    T

    1 2

    1 0 1 11

    0 0 1 12I I

    +

    q q

    Thus, ( )1 1 2 2

    T T 1 2 2

    1 2

    2 2

    I I I m m

    I I

    += + +

    C C C C V V V V

    D q J J J J

    It can be shown that

    ( )1 2 2

    2 2 2

    11 1 2 1 1 2 1 22 cosC C Cd m l m l l l l q I I = + + + + +

  • 8/7/2019 Course Material Students)

    39/46

    38

    ( )2 2

    2

    12 21 2 1 2 2cosC Cd d m l l l q I = = + +

    2

    2

    22 2 2Cd m l I = +

    11111

    1

    10

    2

    dc

    q

    = =

    2

    11121 211 2 1 2

    2

    1sin

    2 Cd

    c c m l l q hq

    = = = =

    12 22221

    2 1

    1

    2

    d dc h

    q q

    = =

    21 11112

    1 2

    1

    2

    d dc h

    q q

    = =

    22122 212

    1

    10

    2

    dc c

    q

    = = =

    22222

    2

    10

    2

    dc

    q

    = =

    Next, for the potential energy

    ( ) ( )1 2

    1 2 1 2 1 1 2 1 2sin sin

    C CV V V m l m l g q m l g q q= + = + + +

    Hence,

    ( ) ( )1 2

    1 1 2 1 1 2 1 2

    1

    cos cosC C

    Vm l m l g q m l g q q

    q

    = = + +

    ( )2

    2 2 1 2

    2

    cosC

    Vm l g q q

    q

    = = +

    The final equations of motion are:

    2

    11 1 12 2 121 1 2 211 1 2 221 2 1 1d q d q c q q c q q c q + + + + + =

    2

    21 1 22 2 112 1 2 2d q d q c q + + + =

    In this case

    2 1 2

    10

    hq hq hq

    hq

    +=

    C

  • 8/7/2019 Course Material Students)

    40/46

    39

    CONTROL OF MANIPULATORS

    The problem of controlling robot manipulators is the problem of determining the time

    history of joint inputs required to cause the end-effector to execute a commanded input.

    The joint inputs may be joint forces and torques, or they may be inputs to the actuators,

    for example, voltage inputs to the motors depending on the model used for controller

    design. The commanded motion is typically specified either as a sequence of end-effector

    positions and orientations, or as a continuous path.

    The dynamic equations of a robot manipulator form a complex, nonlinear and multi-

    variable system. Therefore, we treat the robot control problem in the context of nonlinear

    and multi-variable control. This approach allows us to provide more rigorous analysis of

    the performance of control systems, and also allows us to design robust nonlinear control

    laws that guarantee global stability and tracking of arbitrary trajectories.

    PD Control

    We have seen that the equations of motion of a robot manipulator are in given in the

    following matrix form:

    ( ) ( ) ( ),+ + = D q q C q q q q (1)

    where ( )qD is the nn inertia matrix and ( ), C q q and ( )q are defined as

    ( )1 1

    1

    2

    n n

    kj ijkikj ijk i i

    i j ki i

    d ddc c q q

    q q q= =

    = = +

    q

    k

    k

    V

    q

    =

    The input vector is suggested to take the following form:

    = P D K q K q (2)

  • 8/7/2019 Course Material Students)

    41/46

    40

    where = dq q q is the error between the desired joint displacements dq and the actual

    joint displacements q andP

    K andD

    K are diagonal matrices of (positive) proportional

    and derivatives gains, respectively.

    We first show that, in the absence of gravity, that is, if ( )q is zero in (1), the PD control

    law (2) achieves asymptotic tracking of the desired joint positions. We consider the

    Lyapunov function candidate:

    ( )T T1 1

    2 2P

    V= q D q q q K q (3)

    The first term in (3) is the kinetic energy of the robot and the second term accounts for

    the proportional feedbackP

    K q . Vrepresents the total kinetic energy that would result if

    the joint actuators were to be replaced by springs with stiffnesses represented by PK and

    with equilibrium positions at dq . Thus V is a positive function except at the goal

    =d

    q q and =q 0 , at which point Vis zero.

    The idea is to show that along any motion of the robot, the function V is decreasing to

    zero. This will imply that the robot is moving toward the desired goal configuration.

    To show this, we note that dq is constant, the time derivative ofVis given by:

    ( ) ( )T T T1

    2PV= +

    q D q q q D q q q K q (4)

    Solving ( ) q q in (1) with ( ) q equals to zero and substituting the resulting expression

    into (4) yields:

    ( )( ) ( )T T T1

    ,2

    PV= + q C q q q q D q q q K q

    ( ) ( ) ( )T T1

    2 ,2

    P = +

    q K q q D q C q q q

    ( )T P= q K q

  • 8/7/2019 Course Material Students)

    42/46

    41

    where in the last equality we have used the fact that the 2 C is skew symmetric.

    Substituting the PD control law for into the above yields

    T 0D

    V = q K q

    The above analysis shows that Vis decreasing as long as q is nonzero. This, by itself is

    not enough to prove the desired result since it is conceivable that the manipulator can

    reach a position where =q 0 but dq q . To show that this cannot happen we use

    LaSalles Theorem:

    Given the system

    ( )f=x x (*)

    Suppose a Lyapunov function candidate V is found such that, along solution

    trajectories

    0V

    Then (*) is asymptotically stable if V does not vanish identically along any

    solution of(*) other than the null solution, that is, (*) is asymptotically stable

    if the only solution of(*) satisfying

    0V =

    is the null solution.

    Now, for the manipulator is hands:

    Suppose 0V , then (5) implies that q 0 and hence q 0 . From the equations of

    motion with PD control

    ( ) ( ), P D+ =

    q q C q q q K q K q

    We must then have:

    P= 0 K q

    which implies that =q 0 and =q 0 . LaSalles theorem implies that the system is

    asymptotically stable.

  • 8/7/2019 Course Material Students)

    43/46

    42

    In case there are gravitational terms present in (1) then the PD control alone cannot

    guarantee asymptotic stability and tracking. In practice there will be a steady state error

    of offset.

    In this case,

    ( )( )T PV = q q K q

    Assuming that the closed loop system is stable, the robot configuration q that is achieved

    will satisfy:

    ( ) ( )dP =K q q q (6)

    The physical interpretation of (6) is that the configuration q must be such that the motor

    generates a steady state holding torque ( )dP K q q sufficient to balance the

    gravitational torque ( ) q .

    In order to remove this steady state error, we can modify the PD control law as:

    ( )= + P D K q K q q (7)

    The modified control law (7) in effect cancels the effect of the gravitational terms and we

    achieve the same equation (5).

    Inverse Dynamics

    We now consider the application of more complex nonlinear control techniques for

    trajectory tracking of rigid manipulators.

    Consider the dynamics of an n-link robot in matrix form:

    ( ) ( ) ( ),+ + = D q q C q q q q (8)

    for simplicity, we write the above equation as:

    ( ) ( ),+ = M q q h q q (9)

  • 8/7/2019 Course Material Students)

    44/46

    43

    where =M D and = +h Cq . The idea of inverse dynamics is to seek a nonlinear

    feedback control law:

    ( ),= f q q (10)

    which, when substituted into (9) results in a linear closed-loop system. In this case, it is

    chosen as (called the inverse dynamics control):

    ( ) ( ),= + M q v h q q (11)

    Then, since the inertia matrix is invertible the combined system (9)-(11) reduces to:

    =q v (double integrator system) (12)

    The new term v represents a new input to the system which is yet to be chosen. Note that

    (12) represents n uncoupled double integrators. We propose that v be of the following

    form:

    0 1= +v K q K q r (13)

    where 0K and 1K are diagonal matrices with diagonal elements consisting of position

    and velocity gains, respectively. The closed loop system is then the linear system:

    1 0+ + = q K q K q r (14)

    Now given a desired trajectory

    ( ) ( )( ),d dt t t q q

    If one chooses the reference input ( )tr as:

    ( ) ( ) ( ) ( )1 0d d dt t t t = + + r q K q K q (15)

    then the tracking error:

    ( ) dt = e q q satisfies (16)

    ( ) ( ) ( )1 0t t t+ + = e K e K e 0 (17)

    An obvious choice of the gain matrices 0K and 1K is

    { }2 2 20 1 2diag , ,..., n =K

  • 8/7/2019 Course Material Students)

    45/46

    44

    { }1 1 1 2 2diag 2 ,2 , ... ,2 n n =K

    which results in a closed-loop system which is globally decoupled, with each joint

    response equal to the response of an underdamped linear second order system with

    natural frequency i and damping ratio i .

    Implementation and Robustness Issues

    Practical implementation of the inverse dynamics control laws requires that the

    parameters in the dynamic model of the system be known precisely and also that the

    complete equations of motion be computable in real time, typically 60-100 Hz. The

    above requirements are difficult to satisfy in practice. In any physical system there is a

    degree of uncertainty regarding the values of various parameters. In the case of a system

    as complicated as a robot, this is particularly true, especially if the robot is carrying

    known loads. Practically speaking there will be always inexact cancellation of the

    nonlinearities in the system due to this uncertainty and also due to computational round-

    off, etc. Therefore, it is much reasonable to suppose that, instead of (9), the nonlinear

    control law is actually of the form:

    ( ) ( ) ,= + M q v h q q (18)

    where M and h represent nominal or computed versions ofM and h , respectively. The

    uncertainty or modeling error, represented by

    ( ) ( ) = :M M q M q

    ( ) ( ) , , = : h h q q h q q

    is then due to the problem of parameter uncertainties, etc.

    With the nonlinear control law (18), and dropping arguments for simplicity, the system

    becomes:

    + = +M q h Mv h (19)

  • 8/7/2019 Course Material Students)

    46/46

    Thus q can be expressed by:

    1 1 = + q M Mv M h

    ( )1 1 = + + q v M M I v M h (20)

    where = h h h . Defining

    1 = E M M I (21)

    and setting

    ( ) ( )1 0d d d

    = v q K q q K q q (22)

    We can write the above equation for the error d= e q q as:

    1 0+ + = e K e K e (23)

    where , hereafter called the uncertainty, is given by the expression

    1= + Ev M h

    ( )1

    1 0

    d = +

    E q K e K e M h (24)

    Notice that the system (23) is still a coupled nonlinear system since is a nonlinear

    function of e . Therefore, it is not obvious that the system (24) is stable now can one

    simply raise the gain sufficiently high in (24) and claim stability since the nonlinear

    function also depends on v , given by (22), and hence may increase with larger gains.