63
Chapter 3 Manipulator Kinematics Forward kinematics Inverse Kinematics Manipulator Jacobian Redundant and Parallel Manipulators Summer School-Math. Methods in [email protected] 13-31 July 2009 Chapter 3 Manipulator Kinematics 1 Lecture Notes for A Mathematical Introduction to Robotic Manipulation By Z.X. Li and Y.Q. Wu # * Dept. of ECE, Hong Kong University of Science & Technology # School of ME, Shanghai Jiaotong University 23 July 2009

LectureNotes for AMathematicalIntroductionto ...summerschool2009.robotik-bs.de/downloads/lecture_notes/summer... · Example:SCARA manipulator. g. st (ý) = ... kinematics Inverse

Embed Size (px)

Citation preview

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    Summer School-Math. Methods in [email protected] 13-31 July 2009

    Chapter 3 Manipulator Kinematics

    1

    Lecture Notes

    for

    AMathematical Introduction to

    Robotic Manipulation

    By

    Z.X. Li and Y.Q. Wu#

    Dept. of ECE, Hong Kong University of Science & Technology#School of ME, Shanghai Jiaotong University

    23 July 2009

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    Summer School-Math. Methods in [email protected] 13-31 July 2009

    Chapter 3 Manipulator Kinematics

    2

    Main Concepts

    1 Forward kinematics

    2 Inverse Kinematics

    3 Manipulator Jacobian

    4 Redundant and Parallel Manipulators

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    3

    Adept Cobra i600x y

    z

    x y

    z

    Lower Pair Joints: Forward kinematics:

    Revolute: S1 SO(2)Prismatic: R T(1) Link 0: Stationary(Base)

    Link 1: First movable linkLink n: End-eector attached

    adept.aviMedia File (video/avi)

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    4

    Joint space:

    Revolute joint: S1, i S1 or i [ , ]Prismatic joint: R

    Joint Space: Q S1 S1no. of R joint

    R Rno. of P joint

    Adept Q S1 S1 S1 RElbow Q = 6 S1 S1

    6

    Reference (nominal) joint cong: = (0, 0, . . . , 0) QReference (nominal) end-eector cong: gst(0) SE(3)Arbitrary cong.: gst(), or gst : Q SE(3)

    gst()

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    5

    Classical Approach:gst(1 , 2) = gst(1) gl1l2 gl2tProblem:

    A coordinate frame for each link

    e product of exponentials formula:Consider Fig 3.2 again.

    TL2

    L1

    2

    1

    S

    Figure 3.2: A two degree of freedom manipulator

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    6

    Step 1: Rotating about 2 by 22 = [ 2 q22 ]gst(2) = e22 gst(0)

    Step 2: Rotating about 1 by 11 = [ 1 q11 ]gst(1, 2) = e11 e22 gst(0)

    oset (0, 0) (0, 2) (1 , 2)

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    7

    What if another route is taken?

    (0, 0) (1 , 0) (1 , 2)Step 1: Rotating about 1 by 1

    1 = [ 1 q11 ]gst(1) = e11 gst(0)

    Step 2: Rotating about 2 by 2Let e11 = [ R1 p10 1 ]

    2 = R1 2q2 = p1 + R1 q2

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    8

    2=[ 2 q22 ] =[ R12RT1 (p1 + R1q2)R12

    ]= [ R1 p1R10 R1 ] [ 2 q22 ] = Ade 1 1 2 2 = e11 2 e11

    gst(1, 2) = e22 e11 gst(0)= ee 1 1 22 e1 1 e11 gst(0)= e11 e22 e11 e11 gst(0)= e11 e22 gst(0)Independent of the route taken

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    9

    Procedure for forward kinematic map:Identify a nominal cong.:

    = (10 , . . . , n0) = 0, gst(0) gst(10 , . . . , n0)Simplication of forward kinematics mapping:

    Revolute joint: i = [ qii ]Choose qi s.t. i is simple.

    Prismatic joint: i = [ vi0 ]Write gst() = e11 . . . enn gst(0) (product of exponential map-

    ping)

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    10

    Example: SCARA manipulator

    gst(0) =

    I [ 0l1 + l2l0]

    0 1

    1 = 2 = 3 = [ 00

    1]

    x

    z

    y

    1

    l1

    2

    l0

    l2

    3

    4

    q3q2

    T

    Sq1

    q1 = [ 001] , q2 = [ 0l1

    1] , q3 = [ 0l1 + l2

    0]

    1 =

    000001

    , 2 =

    l100001

    , 3 =

    l1 + l200001

    , 4 = [ v40 ] =

    001000

    ,

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    11

    gst() = e11 e22 e33 e44 gst(0) = [ R() p()0 1 ]e11 =

    c1 s1 0 0s1 c1 0 00 0 1 00 0 0 1

    , e22 =

    c2 s2 0 l1s2s2 c2 0 l1s20 0 1 00 0 0 1

    ,

    e33 =c3 s3 0 (l1s2)s3s3 c3 0 (l1s2)v30 0 1 00 0 0 1

    , e44 =

    I [ 00

    4]

    0 1

    gst() =

    c123 s123 0 l1s1 l2s12s123 c123 0 l1c1 + l2c120 0 1 l0 + 40 0 0 1

    in which, c123 = cos(1 + 2 + 3)

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    12

    Example: Elbow manipulator

    gst(0) =

    I [ 0l1 + l2l0]

    0 1

    q1

    5

    q2

    2 3

    1 4

    l1 l26

    l0

    T

    S

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    13

    1 =

    [ 001] [ 00

    l0]

    [ 001]

    =

    000001

    ,

    2 =

    [ 100] [ 00

    l0]

    [ 100]

    =

    0l00100

    , 3 =

    0l0l1100

    ,

    4 =

    l1 + l200001

    , 5 =

    0l0l1 + l2100

    , 6 =

    l000010

    gst(1 , . . . 6) = e11 . . . e66 gst(0) = [ R() p()0 1 ]

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    14

    p() = s1(l2c2 + l2c23)c1(l1c2 + l2c23)l0 l1s2 l2s23

    ,R() = [rij]in which, r11 = c6(c1c4 s1c23s4) + s6(s1s23c5 + s1c23c4s5 + c1s4s5)

    r12 = c5(s1c23c4 + c1s4) + s1s23s5r13 = c6(c5s1s23 (c23c4s1 + c1s4)s5) + (c1c4 c23s1s4)s6r21 = c6(c4s1 + c1c23s4) (c1c5s23 + (c1c23c4 s1s4)s5)s6r22 = c5(c1c23c4 s1s4) c1s23s5r23 = c6(c1c5s23 + (c1c23c4 s1s4)s5) + (c4s1 + c1c23s4)s6r31 = (c6s23s4) (c23c5 c4s23s5)s6r32 = (c4c5s23) c23s5r33 = c6(c23c5 c4s23s5) s23s4s6

    Simplify forward Kinematics Map:

    Choose base frame or ref. Cong. s.t. gst(0) = I

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    15

    Manipulator Workspace:W = {gst() Q} SE(3)

    Reachable Workspace:

    WR = {p() Q} R3Dextrous Workspace:

    WD = {p R2R SO(3), , gst() = (p,R)}

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.1 Forward kinematicsChapter 3 Manipulator Kinematics

    16

    Example: A planar serial 3-bar linkage

    (a) Workspace calculation:g = (x, y, )x = l1c1 + l2c12 + l3c123y = l1s1 + l2s12 + l3s123 = 1 + 2 + 3

    (b) Construction of Workspace:

    (c) Reachable Workspace:

    (d) Dextrous Workspace:

    (a) (b)

    (c) (d)

    l3

    1

    l2

    3

    l1

    l1 l2 l3

    2l3 2l3

    2

    Manipulators maximum workspace (Paden):Elbow manipulator and its kinematics inverse.

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    17

    Given g SE(3), nd Q s.t.gst() = g , where gst Q SE(3)

    Example: A planar example

    l2

    l1

    2

    1

    (x, y)

    B

    r2

    1

    (x, y)

    x

    y

    (a) (b)

    x = l1 cos 1 + l2 cos (1 + 2)y = l1 sin 1 + l2 sin (1 + 2)Given (x, y), solve for (1 , 2)

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    18

    Review:Polar Coordinates: (r, ), r =x2 + y2Law of cosines:

    2 = , = cos1 l21+l22r22l1 l2Flip solution: +

    1 = atan2(y, x) , = cos1 r2 + l21 l222l1r

    Hight Lights:

    Subproblems

    Each has zero, one or two solutions!

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    19

    Paden-Kahan Subproblems:

    Subproblem 1: Rotation about a single axis

    Let be a zero-pitch twist, with unitmagnitude and twopoints p, q R3 . Find s.t. ep = q

    u

    v

    (b)

    r

    q

    p

    v

    u

    (a)

    Solution: Let r l, dene u = p r, v = q r, er = r

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    20

    Also,

    ep = q e (p r)u

    = q rv

    [ e 0 1

    ] [ u0 ] = [ v0 ]

    eu = v { wTu = wTvu2 = v2

    u

    v

    (b)

    r

    q

    p

    v

    u

    (a)

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    21

    u = (I T)u, v = (I T)ve solution exists only if { u2 = v2

    Tu = TvIf u 0, then

    u v = sin uvu v = cos uv

    = atan2(T(u v), uTv)If u = 0, Innite number of solutions!

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    22

    Subproblem 2: Rotation about two subsequent axes

    let 1 and 2 be two zero-pitch, unit magnitude twists, with

    intersecting axes, and p, q R3. nd 1 and 2 s.t. e11e22p = q.

    r

    p

    c

    q

    2

    1

    2

    1

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    23

    Solution: If two axes of 1 and 2 coincide, then we get:Subproblem 1: 1 + 2 = If the two axes are not parallel, 1 2 0, then, let c satisfy:

    e22p = c = e11qSet r l1 l2

    e22 p ru

    = c rz

    = e11 (q r)v

    , e22u = z = e11v

    { T2 u = T2 zT1 v = T1 z , u

    2 = z2 = v2As 1,2 and 1 2 are linearly independent,

    z = 1 + 2 + (1 2) z2 = 2 + 2 + 2T1 2 + 21 22

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    24

    T2 u = T2 1 + T1 v = + T1 2

    = (T1 2)T2 uT1 v(T1 2)21 = (T1 2)T1 vT2 u(T1 2)21

    z2 = u2 2 = u2 2 2 2T1 21 22 ()() has zero, one or two solution(s):

    Given z c { e22p = ce11p = c

    for 1 and 2

    1 Two solutions when the two circles intersect.

    2 One solution when they are tangent

    3 Zero solution when they do not intersect

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    25

    Subproblem 3: Rotation to a given point

    Given a zero-pitch twist , with unit magnitude and p, q R3, nd s.t. q ep = Dene: u = p r, v = q r, v eu2 = 2

    u = u Tuv = v Tv

    r

    u

    v

    q

    p

    T (pq)

    v

    u

    eu

    0

    u = u + Tu, v = v + Tv, 2 = 2 T(p q)2

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    26

    (v + Tv) e(u + Tu)2 = 2v eu + T(v u)

    T(qp)2 = 2

    v eu2 = 2 T(p q)2 = 2,0 = atan2(T(u v), uTv), = 0 u2 + v2 2u v cos = 2, = 0 cos1 u + v 2

    2u v ()Zero, one or two solutions!

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    27

    Solving inverse kinematics using subproblems:

    Technique 1: Eliminate the dependence on a joint

    ep = p, if p l. Given e11e22e33 = g,select p l3 , p l1 or l2 , then

    gp = e11e22pTechnique 2: subtract a common point

    e11e22e33 = g , q l1 l

    2

    e11e22e33p q = gp qe33p q = gp q

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    28

    Example: Elbow manipulator

    52 3

    1 4

    l0

    l1 l26

    pbqw

    S

    gst() = e11e22e33e44e55e66gst(0) = gd e11e22e33e44e55e66 = gd g1st (0) = g1

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    29

    Step 1: Solve for 3

    Let e11 . . . e66q = g1 q e11e22e33q = g1 q

    Subtract pb from g1q:

    e11e22(e33q pb) = g1q pb e33q pb Subproblem 3

    Step 2: Given 3, solve for 1 , 2

    e11e22(e33q) = g1q, Subproblem 2 1 , 2

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    30

    Step 3: Given 1, 2, 3, solve 4, 5

    e44e55e66 = e33e22e11g1g2

    let p l6 , p l4 or l5 , e44e55p = g2p,Subproblem 2 4 and 5.

    Step 4: Given (1, . . . , 5), solve for 6e66 = (e11 . . . e55)1 g1 g3Let p l6 e66p = g3 p = q Subproblem 1Maximum of solutions: 8

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    31

    Example: Inverse Kinematics of SCARA

    x

    z

    y

    1

    l1

    2

    l0

    l2

    3

    4

    q3q2

    T

    Sq1

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    32

    gst() = e11 . . . e44gst(0) =c s 0 xs c 0 y0 0 1 z0 0 0 1

    gd ,

    p =0001

    p() = [ l1s1 l2s12l1c1 + l2c12

    l0 + 4 ] = [xyz] 4 = z l0

    e11e22e33 = gdg1st (0)e44 g1

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.2 Inverse KinematicsChapter 3 Manipulator Kinematics

    33

    Let p l3 , q l1 e11e22p = g1p,e11(e22p q) = g1p q,

    e22p q = Subproblem 3 to get 2 e11(e22p) = g1p 1 Subproblem 1 to get 1 e33 = e22e11gdg1st (0)e44 g2e33p = g2p, p l3

    ere are a maximum of two solutions!

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    34

    Given gst Q SE(3), (t) = (1(t) . . . n(t))T e11 . . . enngst(0)and (t) = (1(t) . . . n(t))T ,

    What is the velocity of the tool frame?

    Vsst = gst()g1st () =ni=1

    (gsti

    i)g1st ()= n

    i=1

    (gsti

    g1st ())i Vsst =ni=1

    (gsti

    g1st ()) i= [(gst

    1g1st ()) , . . . , (gstn g1st ())]

    Jsst()R6n

    1n

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    35

    gst() = e11 . . . enngst(0)gst1

    g1st () = (1e11 . . . enngst(0))(gst())1 = 1(gst1

    g1st ()) = 1gst2

    g1st () = (e11 2e22 . . . enngst(0))(gst())1= e11 2e22 . . . enngst(0)g1st () = e11 2e11 2

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    36

    (gst2

    g1st ()) = Ade 1 1 2 = 2

    (gsti

    g1st ()) = Ade 1 1 ...e i1 i1 i i Jsst() = [1, 2, . . . , n]

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    37

    Interpretation of i:i is only aected by 1 . . . i1e twist associated with joint i, at the present conguration.

    Body jacobian:

    Vbst = Jbst() Jbst() = [1 . . . n1, n]

    i = Ad1e i+1 i+1 ...e n n gst(0)iJoint twist written with respect to the body frame at the current con-

    guration!

    Jsst() = Adgst() Jbst()If Jsst is invertible, (t) = (Jsst())1 Vsst(t)

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    38

    Given g(t), how to nd (t)?1) Vsst = g(t)g1(t)2) { (t) = (Jsst())1Vsst(t)

    (0) = 0 (t)

    Example: Jacobian for a SCARA manipulator

    q1 = [ 000] , q2 = [ l1s1l1c1

    0] , q3 = [ l1s1 l2s12l1c1 + l2c12

    0] ,

    1 = 2 = 3 = [0 0 1]T1 = [ 1 q11 ] = [ 0 0 0 0 0 0 ]T2 = [ 2 q22 ] = [ l1c1 l1s1 0 0 0 0 ]T3 = [ 3 q33 ] = [ l1c1 + l2c12 l1s1 + l2s12 0 0 0 1 ]T

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    39

    S

    T

    l1

    l2

    1

    23

    4

    l0

    4 = [ v40 ] = [ 0 0 1 0 0 0 ]T

    Jsst() =

    0 l1c1 l1c1 + l1c12 00 l1s1 l1s1 + l1s12 00 0 0 10 0 0 00 0 0 01 1 1 0

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    40

    Example: Jacobian of Stanford arm

    1

    2

    l0

    q1

    45

    6

    3

    l1

    S

    qw

    q1 = q2 = [ 00l0], 1 = [ 00

    1] 2 = [ c1s10 ]

    1 = [ 1 q11 ] = [ 0 0 0 0 0 1 ]2 = [ 2 q22 ] = [ l0s1 = l0c1 0 c1 s1 0 ]

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    41

    3 =ez1 ex2 [ 00

    1]

    0

    = [s1c2 c1c2 s2 0 0 0]T = [ v30 ]

    q = [ 00l0] + ez1 ex2 [ 0l1 + 3

    0] =(l1 + 3)s1c2(l1 + 3)c1c2l0 (l1 + 3)s2

    4 = ez1 ex2 [ 00

    1] = [ s1s2c1s2c2 ]

    5 = ez1 ex2 ez4 [ 100] = [ c1c4 + s1c2s4s1c4 c1c2s4s2s4 ]

    6 = ez1 ex2 ez4 ex5 [ 010] = [ c5(s1c2c4) + s1s2s5c5(c1c2c4 s1s4) c1s2s5s2c4c5 c2s5 ]

    Jsst = [ 0 2 q1 v3 5 q 5 q 6 q1 2 0 4 5 6 ]

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    42

    End-eector force:

    Ft = [ forcetorque ]W =

    t2

    t1Vbst Ftdt = t2

    t1 dt = t2

    t1T(Jbst())T Ftdt

    = (Jbst)TFt = (Jsst)TFsGiven Ft , what is required to balance that force?

    If we apply a set of joint torques, what is the resulting

    end-eector wrench?

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    43

    Structural force:Structural force: that produces no work on admissible velocity

    space Vb

    Fb Vb = 0,Vb ImJbst() Fb (ImJbst) Review:

    A Rmn ,(ImA) = kerAT(kerA) = ImAT

    (ImJbst) = ker(Jbst)T , = (Jbst)TFb 0,Fb ker(Jbst)T

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    44

    Example: SCARA manipulator

    TFN1

    FN2S

    4

    3

    2

    1

    (Jsst())T =

    0 0 0 0 0 1l1c1 l1s1 0 0 0 1

    l1c1 + l1c12 l1s1 + l1s12 0 0 0 10 0 1 0 0 0

    ker((Jsst())T): spanned by

    FN1 = [ 0 0 0 1 0 0 ]FN2 = [ 0 0 0 0 1 0 ]

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    45

    Singularities:

    is called a singular conguration if there 0 s.t. Vsst = Jsst() =0

    or...A singularity cong. is a point at which Jsst drops rank.Consequence: (n = 6)

    1 Cant move in certain directions.

    2 Large joint motion is required.

    3 Large structural force.

    4 Cant apply end-eector force in certain direction force!

    Singularities for 6R-manipulators:

    Jsst = [ 1 q1 2 q2 . . . 6 q61 2 . . . 6 ]

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    46

    Case 1: Two collinear revolute joints

    J() is singular if there exists two joints1 = [ 1 q11 ] , 2 = [ 2 q22 ]

    s.t.

    1 e axes are parallel,1 = 22 e axes are collinear,i (q1 q2) = 0, i = 1, 2

    Proof :

    Elementary row or column operation do not change rank of J()J() = [ 1 q1 2 q2 1 2 ] R6n 1=2

    J() [ 1 q1 2 (q2 q1) 1 0 ]

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    47Case 2: Parallel coplanar revolute joint axes

    J()is singular if there exists two joints s.t.1 e axes are parallel,i = j, i, j = 1, 2, 32 e axes are coplanar, i.e. there exists a plane with normal n

    s.t. nTi = 0, nT(qi qj) = 0, i, j = 1, 2, 3

    3

    q2

    2

    1

    x

    y

    q3

    z

    y2

    y3

    q1

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    48

    Proof :

    Using change of frame J AdgJ and assume

    J() = [ 1 q1 2 (q2 q1) 1 2 ] ,

    AdgJ() =

    0 y2 y3 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1

    Linearly independent

    Examples are such as the Elbowmanipulator in its reference cong.

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    49

    Case 3: Four intersecting revolute joints axes

    J() is singular if there exists four concurrent revolute joints withintersection point q s.t.:

    i (qi q) = 0, i = 1, . . . , 4Proof :

    Choose the frame origin at q,

    p = qi, i = 1, . . . , 4

    J() = [ 0 0 0 0 1 2 3 4 ]

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    50

    Manipulability:

    xy

    = J()l1

    l2

    l31

    2

    3

    Singular value decomposition:Given A Rn Rm, assume: n m and rank(A) = r n, then

    A = UVT = [u1 un] [ 1 2 n]

    vT1

    vTn

    where U Rmn, V Rnn, Rnn, 1 r > r+1 = =n = 0 and U

    TU = VTV = VVT = Inn.Moreover, Im(A) = {u1 , . . . , ur} and ker(A) = {vr+1 , . . . , vn}.

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.3 Manipulator JacobianChapter 3 Manipulator Kinematics

    51

    Review: Basic facts of a linear transformationRn= Im(AT) ker(A)

    Rm= Im(A) ker(AT)

    rank(A) = dim(Im(A))Im(A) = {u1 , . . . , ur}ker(A) = {vr+1, . . . , vn}Im(AT) = (kerA) = {v1 , . . . , vr}ker(AT) = (Im(A)) = {ur+1 , . . . , um}

    (need to span {u1 , . . . , un} to a full orhogonal set {u1 , . . . , um})

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics

    52

    Redundant manipulator:No. of joints > Dimension of Task Space.

    E.g.No. of joints = 3, Task space R2(dim = 2)No. of joints = 7, Task space SE(3)(dim = 6).

    Purpose of Redundancy:

    1. Avoid obstacles

    2. Optimize some cost criteria.

    gst() = e11 . . . e66gst(0),Jst() = [ 1 2 . . . n ] , n > p, p = 3, 6

    Inverse Kinematis:

    gst((t)) = gd Qs = { Qgst() = gd} self motion manifoldTQs { TQJsst() = 0} Internal motion

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics

    53

    Given Vst = Jst() = Jst()JT(JJT)1 Moore-Penrose generalized inverse

    Vst

    { l1c1 + l2c12 + l3c123 = xl1s1 + l2s12 + l3s123 = yJ =

    p

    = [ l1s1 l2s12 l3s123 l2s12 l3s123 l3s123l1c1 + l2c12 + l3c123 l2c12 + l3c123 l3c123 ] ,

    vN = [ l2l3s3l2l3s3 l1l3s23l1l2s3 + l1l3s23 ]

    (x, y)

    3 2

    1

    1

    2

    3

    VN

    (a) (b)

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics

    54

    Robot d.o.f mass load Repeatability loadmass

    Adept 3 4 205 25 0.025 0.122Epson H803N-MZ 4 96 8 0.02 0.0833

    GMF A-600 4 120 6 0.02 0.05Pana Robo HR50 4 52 5 0.02 0.096

    Puma RS84 4 130 5 0.02 0.0384Sankyo Skilam SR-3C 4 120 6 0.02 0.05

    Sony SRX-3CH 4 64 2 0.02 0.0625TABLE 1.1.Characteristics of industrial manipulators (SCARA type,

    mass of the robot and load capacity in kg, repeatability in mm, ac-

    cording to the manufacturers notice).

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics

    55

    Robot mass load Repeatability loadmass

    Acma SR 400 430 10 0.1 0.0232Acma YR500 590 30 0.2 0.0508ABB IRB L6 145 6 0.2 0.0414ABB IRB 2000 370 10 0.1 0.027CM T3646 1500 22 0.25 0.0147CM T3786 2885 90 0.25 0.0312

    GMF Arc Mate 120 5 0.2 0.0417GMF S 10 200 10 0.1 0.05

    Hitachi M6100 405 6 0.2 0.0148Hitachi M6100 410 10 0.1 0.0243Kuka IR 163/65 1700 60 0.5 0.0353Kuka IR 363/15 290 8 0.1 0.0276

    Puma 550 63 4 0.1 0.0634Puma 762 590 20 0.2 0.0338

    TABLE 1.2.Characteristics of industrial manipulators (spherical

    type, mass of the robot and load capacity in kg, repeatability in

    mm, according to the manufacturers notice).

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics

    56

    Parallel Manipulator:

    Delta manipulator Stewart manipulator

    delta.aviMedia File (video/avi)

    stewart.aviMedia File (video/avi)

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics

    57

    Structure equation:

    gst() = e1111 . . . e1n1 1n1 gst(0)= e2121 . . . e2n2 2n2 gst(0)= ek1k1 . . . eknk knk gst(0)E = {(11 , . . . , 1n1 , . . . , k1 , . . . , knk)} (free cfg. space)Q = { Egst() = g1st(1) = gkst(k)} (actual cfg. space)

    Computation of dimension of Q: (DOF)

    Greublers formula:F = 6N g

    i=1

    (6 fi) = 6(N g) +gi=1

    fi

    g =No. of joints, fi =DOF of the ith joint, N = No. of links

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics

    58

    Using the above equation to the manipulator shown in the gure:

    g = 9ft = 1N = 7 F = 3(7 9) + 9i=1

    1 = 3(2) + 9 = 3 Parametrization of Q (the process ofdesignating active joints):

    Velocity Relation: Vsst = J1s 1 = J2s 2 = = Jks k

    [ J1 Jk]

    1

    k

    = [ I

    I]Vsst

    J = I VsstJa a + Jp p = I Vsst

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics

    59

    Im(Js1): Allowed velocity by chain 1Im(Js1) Im(Jsk): Allowed velocity

    g: Rank of structure equationg = dimki=1Im(Ji())Denition: Conguration Space Singularity

    A point Q s.t.the structure equation drops rank.

    J1(1)1 J2(2)2 = 0J1(1)1 J3(3)3 = 0J1(1)k Jk(k)k = 0

    J1(1) J2(2)J1(1) 0 J3(3) J1(1) . . . Jk(k)

    12k

    = 0

    J() = 0

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics

    60

    Howmany constraint equations?: p(k 1)E.g.

    k = 1, p = 3 3k = 3, p = 3 6k = 6, p = 6 6 5 = 30

    n = DOF, dimQ = dimQn

    No. of independent constrainsDenition: Conguration Space Singularity

    A point Q s.t. rank(J()) drops below its full rank. Example: 4-bar mechanism

    r l1 sin 11 + r cos (11 + 12) = x = r l2 sin 21 r cos 21 + 22l1 cos 11 + r sin (11 + 12) = y = h + l2 cos 21 r sin (21 + 22)

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics

    61

    11 + 12 = = 21 + 22[ l1 cos 11 r sin 11 r sin 12 l2 cos 21 + r sin 21 r sin 22l1 sin 11 + r cos 12 r cos 12 l2 sin 21 + r cos 22 r cos 22

    1 1 1 1 ] = 0

    (a) Singular configuration

    active joint

    (b) Uncertainty configuration

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics

    62

    An alternative method:

    l1 cos 1 + l2 cos 2 l3 cos 3 l4 = 0l1 sin 1 + l2 sin 2 l3 sin 3 = 0

    Q = (1 , 2 ,3)l1

    l2

    l3

    l4

    1

    2

    3

    [ l1 sin 1 l2 sin 2 l3 sin 3l1 cos 1 l2 cos 2 l3 cos 3 ]J()

    123

    = 0

    J() drop rank!{ 1 2 = , or 02 3 = , or 01 3 = , or 0

  • Chapter 3ManipulatorKinematics

    Forwardkinematics

    InverseKinematics

    ManipulatorJacobian

    Redundantand ParallelManipulators

    3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics

    63

    If J() is of normal rank, the conguration space of the system is:Q = f 1(0), where f = 0 is the close loop constraint

    How to parameterizeQ by active joints: a,p

    J1()a + J2()p = 0Actuator singularity if rank J2() < normal rank of J2().

    Chapter 3 Manipulator KinematicsForward kinematicsInverse KinematicsManipulator JacobianRedundant and Parallel Manipulators