2-Lecture_kin1 [Compatibility Mode]

download 2-Lecture_kin1 [Compatibility Mode]

of 43

Transcript of 2-Lecture_kin1 [Compatibility Mode]

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    1/43

    Robotics

    A robot consists of:

    Links

    Joints Number of joints specify the degrees of freedom

    Problems of interest to control a robot are:

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    2/43

    1-Forward Kinematics

    Given angles of both joints

    Find the coordinates of Point A & B

    In the base frame (common frame)

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    3/43

    1-Forward Kinematics

    Position and orientation matrix (POSE)

    Establish a systematic approach to findpose by using homogeneous

    transformation

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    4/43

    2- Inverse Kinematics

    Given 1 and 2 we know the coordinates

    of A (Forward kinematics) Now given the coordinates of B find 1 and

    2 (Inverse Kinematics)

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    5/43

    2- Inverse Kinematics

    Solution is difficult

    Not unique

    May not exist

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    6/43

    3- Velocity Kinematics

    Find the velocity of each joint given the

    velocity of the tool Systematic approach to find the Jacobian

    matrix is called cross-product form

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    7/43

    4- Path Planning & Trajectory

    Generation Path planning trajectory generation

    trajectory tracking

    Define path then define time position-timetrajectory then follow it.

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    8/43

    5-Vision

    Use camera to give feedback on robot

    position

    Use camera to give position of externalobjects

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    9/43

    6- Dynamics

    Robots are mechanical objects on motion

    Need to find differential equations to

    define the model Equations are usually non-linear

    Use Lagrangian dynamics

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    10/43

    7- Position Control

    Tracking problem

    Disturbance Rejection problem

    Using Feed forward control and thesecond method of Lypanove.

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    11/43

    8-Force Control

    May be used insteadof position control

    Avoids uncertainty in the position

    Ensures constant normal forcs along thetrajectory

    Use Hybrid control and impedance control

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    12/43

    Kinematics: Pose (position and

    orientation) of a Rigid Body

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    13/43

    You want to put your hand on the cup

    Suppose your eyes tell you where the

    mug is and its orientation in the robot

    base frame(big assumption)

    In order to put your hand on the object,

    you want to align the coordinate frame

    of your hand w/ that of the object

    This kind of problem makes

    representation of pose important...

    Why are we studying pose?

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    14/43

    Representing Position:

    Vectors

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    15/43

    Representing Position: vectors

    x

    y

    p

    5

    2

    2

    5p (column vector)

    25p (row vector)

    x

    y

    z

    25

    2

    p

    p

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    16/43

    Representing Position: vectors

    Vectors are a way to transformbetween two different reference

    frames w/ the same orientation

    The prefix superscript denotes the

    reference frame in which the vector

    should be understood

    2

    5pb

    0

    0pp

    Same point, two different

    reference frames

    p

    5

    2

    b

    px

    bx

    by

    py

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    17/43

    Representing Position: vectors

    Note that I am denoting the axes as

    orthogonalunit basis vectors

    bxA vector of length one pointing

    in the direction of the base

    frame xaxis

    yaxisby

    py pframe y axis

    This means perpendicular

    p

    5

    2

    b

    px

    bx

    by

    py

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    18/43

    What is this unit vector you speak of?

    22

    yx aaa Vectorlength/magnitude:

    a

    1 aDefinition of unit vector:

    y

    x

    a

    a

    aThese are the elements ofa:

    5

    2

    xb

    yb

    22

    yx aa

    aa

    You can turn a into a unit vector of

    the same direction this way:

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    19/43

    yyxx bababa

    )cos(ba

    And what does orthogonal mean?

    Unit vectors are orthogonal iff(if and

    only if) the dot product is zero:

    xp is orthogonal to iff

    First, define the dot product:

    0ba when: 0a0b

    0cos

    or,

    or, a

    b

    xp

    yp

    yp 0 yx pp

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    20/43

    A couple of other random things

    bbb yxp 25

    5

    2

    b xb

    yb

    x

    y

    zx

    y

    z

    right-handed

    coordinate frame

    left-handed

    coordinate frame

    Vectors are elements of nR

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    21/43

    The importance of differencing two vectors

    err

    b

    eff

    b

    object

    b xxx

    The effneeds to make a Cartesian

    displacement of this much to reach the

    object

    object

    bx

    err

    bxeff

    bx

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    22/43

    The importance of differencing two vectors

    errb

    effb

    objectb xxx

    bbx

    by

    eff

    effx

    effy

    objectobjectx

    objecty

    err

    The effneeds to make a Cartesian displacement

    of this much to reach the object

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    23/43

    Representing Orientation: Rotation

    Matrices

    The reference frame of the hand and

    the object have different orientations

    We want to represent and difference

    orientations just like we did for

    positions

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    24/43

    333231

    232221

    131211

    aaa

    aaa

    aaa

    A

    332313

    322212

    312111

    aaa

    aaa

    aaaT

    A

    333231

    232221

    131211

    aaa

    aaa

    aaa

    2

    5p 25Tp

    Before we go there review of matrix

    transpose

    TTT BABA Important property:

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    25/43

    2221

    1211

    aa

    aaA

    2221

    1211

    bb

    bbB

    and matrix multiplication

    2222122121221121

    2212121121121111

    2221

    1211

    2221

    1211

    babababa

    babababa

    bb

    bb

    aa

    aaAB

    bab

    baabababa T

    y

    x

    yxyyxx

    Can represent dot product as a matrix multiply:

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    26/43

    Same point - different reference frames

    xa

    p

    5

    2

    ya yb

    xb

    8.3

    8.3

    2

    5pa

    8.3

    8.3pb

    for the moment, assumethat there is no difference

    in position

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    27/43

    a

    b

    )cos()cos( bbabal

    yyxx bababa

    )cos(ba

    Another important use of the dot product:

    projection

    l

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    28/43

    p

    5

    2

    8.3

    8.3

    B-frames xaxis written

    in A frame

    B-frames yaxis writtenin A frame

    Same point - different reference frames

    xa

    ya

    b

    ax

    b

    a

    y

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    29/43

    xba

    ba pppx cos

    xa

    pa

    5

    2

    ya

    8.3

    8.3

    b

    ax

    B-frames xaxis written

    in A frame

    b

    a

    y B-frames yaxis writtenin A frame

    Same point - different reference frames

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    30/43

    pxp aba

    x

    b

    5

    2

    8.3

    8.3

    B-frames xaxis written

    in A frame

    B-frames yaxis writtenin A frame

    pyp aba

    y

    b

    Same point - different reference frames

    xa

    pa

    ya

    b

    ax

    b

    a

    y

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    31/43

    pxp ABA

    x

    B

    pyp

    A

    B

    A

    y

    B

    xA

    p

    5

    2

    yA

    8.3

    8.3

    B

    Ax

    B

    Ay

    py

    x

    py

    px

    py

    px

    pA

    T

    B

    A

    T

    B

    A

    AT

    B

    A

    AT

    B

    A

    A

    B

    A

    A

    B

    A

    B

    Rotation matrix

    pRp AT

    B

    AB

    py

    xp A

    T

    B

    A

    T

    B

    AB

    Same point - different reference frames

    2*1 2*1

    2*2

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    32/43

    pRp AT

    B

    AB py

    xp A

    T

    B

    A

    T

    B

    AB

    The rotation matrix

    By the same reasoning:

    From last page:

    pRp BT

    A

    BA py

    xp B

    T

    A

    B

    T

    A

    BA

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    33/43

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    34/43

    The rotation matrix

    p

    ya

    b

    ax

    b

    ay

    p

    a

    by

    xb

    yb

    BABABA yxR

    T

    A

    B

    T

    A

    B

    B

    A

    y

    xR

    a

    bx

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    35/43

    Example 1: rotation matrix

    xa

    ya

    xb

    yb

    cossin

    sincosb

    a

    b

    a

    b

    a yxR

    sin

    cosb

    ax

    cos

    sinb

    ay

    cossin

    sincosa

    bR

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    36/43

    Example 2: rotation matrix

    yA

    zA

    xA

    45

    zB

    xB

    yB

    B

    A

    B

    A

    B

    A

    B

    A zyxR

    2

    1

    21

    21

    21

    001

    0

    0BA

    R

    21

    21

    2

    1

    2

    1

    0

    0100

    B

    AR

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    37/43

    Example 3: rotation matrix

    ax

    ay

    az

    bzbx

    by

    cs

    ssccs

    scscc

    ss

    csccs

    ccscc

    Rca

    002

    2

    2

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    38/43

    Rotations about x, y, z

    100

    0cossin0sincos

    zR

    cos0sin010

    sin0cos

    yR

    cossin0

    sincos0

    001

    xR

    These rotation matrices encode the basis vectors of the

    after-rotation reference frame in terms of the before-

    rotation reference frame

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    39/43

    Remember those double-angle formulas

    sincoscossinsin

    sinsincoscoscos

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    40/43

    Example 1: composition of rotation matrices

    C

    B

    B

    A

    C

    A RRR

    p

    ya

    xb

    yb

    xa

    yc

    xc

    12

    21212121

    21212121

    22

    22

    11

    11

    cossin

    sincos

    cossin

    sincos

    ssccsccs

    csscssccRca

    1212

    1212

    cs

    sc

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    41/43

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    42/43

    Example 2: composition of rotation matrices

    ax

    ay

    az

    bx

    cx

    csssccs

    scscc

    cs

    sc

    cs

    sc

    RRR cb

    b

    a

    c

    a

    00010

    0

    1000

    0

  • 8/6/2019 2-Lecture_kin1 [Compatibility Mode]

    43/43

    Recap of rotation matrices

    T

    a

    b

    Ta

    b

    B

    A

    B

    A

    B

    A

    y

    xyxR

    baT

    ab

    ab RRR

    1