03 Locomotion

Embed Size (px)

Citation preview

  • 8/12/2019 03 Locomotion

    1/24

    1

    Wheeled Locomotion

    Introduction toMobile Robotics

    Wolfram Burgard, Cyrill Stachniss, Maren

    Bennewitz, Diego Tipaldi, Luciano Spinello

  • 8/12/2019 03 Locomotion

    2/24

    2

    Locomotion of Wheeled Robots

    Locomotion (Oxford Dict.):Power of motion from place to place

    ! Differential drive (AmigoBot, Pioneer 2-DX)! Car drive (Ackerman steering)! Synchronous drive (B21)! XR4000! Mecanum wheels

    y

    roll

    z motion

    x

    y

    we also allow wheels torotate around the z axis

  • 8/12/2019 03 Locomotion

    3/24

    3

    Instantaneous Center of Curvature

    ICC

    ! For rolling motion to occur, each wheel has tomove along its y-axis

  • 8/12/2019 03 Locomotion

    4/24

    4

    Differential Drive

    R

    ICC !

    (x,y)

    y

    l /2

    " x

    v l

    v r

    ! ( R + l / 2) = v r

    ! ( R ! l / 2) = v l

    R =l

    2

    (v l + v r )

    (v r ! v l )

    ! =v r ! v l

    l

    v =v r + v l

    2

    ]cos,sin[ICC ! ! R y R x +"=

  • 8/12/2019 03 Locomotion

    5/24

    5

    Differential Drive: Forward Kinematics

    ICC

    R

    P(t)

    P(t+ #t)

    !!!

    "

    #

    $$$

    %

    &+

    !!!

    "

    #

    $$$

    %

    &''

    !!!

    "

    #

    $$$

    %

    & '=

    !!!

    "

    #

    $$$

    %

    &

    t

    y x

    t t t t

    y x

    y

    x

    y

    x

    () *

    () () () ()

    *

    ICCICC

    ICCICC

    100

    0)cos()sin(0)sin()cos(

    '

    ''

    ')'()(

    ')]'(sin[)'()(

    ')]'(cos[)'()(

    0

    0

    0

    ! !

    !

    =

    =

    =

    t

    t

    t

    dt t t

    dt t t vt y

    dt t t vt x

    " #

    #

    #

  • 8/12/2019 03 Locomotion

    6/24

    6

    Differential Drive: Forward Kinematics

    ICC

    R

    P(t)

    P(t+ #t)

    !!!

    "

    #

    $$$

    %

    &+

    !!!

    "

    #

    $$$

    %

    &''

    !!!

    "

    #

    $$$

    %

    & '=

    !!!

    "

    #

    $$$

    %

    &

    t

    y x

    t t t t

    y x

    y

    x

    y

    x

    () *

    () () () ()

    *

    ICCICC

    ICCICC

    100

    0)cos()sin(0)sin()cos(

    '

    ''

    ')]'()'([1

    )(

    ')]'(sin[)]'()'([21

    )(

    ')]'(cos[)]'()'([21)(

    0

    0

    0

    !

    !

    !

    "=

    +=

    +=

    t

    l r

    t

    l r

    t l r

    dt t vt vl

    t

    dt t t vt vt y

    dt t t vt vt x

    #

    #

    #

  • 8/12/2019 03 Locomotion

    7/247

    !

    " "

    tan

    ]cos,sin[ICC

    d R

    R y R x

    =

    +#=Ackermann Drive

    R

    ICC

    (x,y)

    y

    l /2

    " x

    v l

    v r l vv

    vv

    vvl R

    vl R

    vl R

    l r

    l r

    r l

    l

    r

    !=

    !+

    =

    =!

    =+

    "

    "

    "

    )(

    )(

    2

    )2/(

    )2/(! $

    d

    $

  • 8/12/2019 03 Locomotion

    8/248

    Synchronous Drive

    "

    y

    x

    v(t)

    ! ( ) t ')'()(

    ')]'(sin[)'()(

    ')]'(cos[)'()(

    0

    0

    0

    !

    !

    !

    =

    =

    =

    t

    t

    t

    dt t t

    dt t t vt y

    dt t t vt x

    " #

    #

    #

  • 8/12/2019 03 Locomotion

    9/249

    XR4000 Drive

    "

    y

    x

    vi(t) ! i(t)

    ')'()(

    ')]'(sin[)'()(

    ')]'(cos[)'()(

    0

    0

    0

    !

    !

    !

    =

    =

    =

    t

    t

    t

    dt t t

    dt t t vt y

    dt t t vt x

    " #

    #

    #

    ICC

  • 8/12/2019 03 Locomotion

    10/2410

    XR4000

    [courtesy by Oliver Brock & Oussama Khatib]

  • 8/12/2019 03 Locomotion

    11/2411

    Mecanum Wheels

    4

    4

    4

    4

    3210

    3210

    3210

    3210

    / )vvvv( v

    / )vvvv( v / )vvvv( v

    / )vvvv( v

    error

    x

    y

    +!!=

    !!+=

    !+!=

    +++=

    "

  • 8/12/2019 03 Locomotion

    12/2412

    Example: Priamos (Karlsruhe)

  • 8/12/2019 03 Locomotion

    13/2413

    Example

  • 8/12/2019 03 Locomotion

    14/24

    14

    Example: KUKA youBot

  • 8/12/2019 03 Locomotion

    15/24

    15

    Example: Segway Omni

  • 8/12/2019 03 Locomotion

    16/24

    16

    Tracked Vehicles

  • 8/12/2019 03 Locomotion

    17/24

    17

    Other Robots: OmniTread

    [courtesy by Johann Borenstein]

  • 8/12/2019 03 Locomotion

    18/24

    18

    Other Robots: Humanoids

  • 8/12/2019 03 Locomotion

    19/24

    19

    Non-Holonomic Constraints!

    Non-holonomic constraints limit the possibleincremental movements within theconfiguration space of the robot.

    ! Robots with differential drive or synchro-drive move on a circular trajectory andcannot move sideways.

    ! XR-4000 or Mecanum-wheeled robots canmove sideways (they have no non-holonomic constraints).

  • 8/12/2019 03 Locomotion

    20/24

  • 8/12/2019 03 Locomotion

    21/24

    21

    Drives with Non-HolonomicConstraints

    ! Synchro-drive! Differential drive! Ackermann drive

  • 8/12/2019 03 Locomotion

    22/24

    22

    Drives without Non-HolonomicConstraints

    ! XR4000 drive! Mecanum wheels

  • 8/12/2019 03 Locomotion

    23/24

    23

    Dead Reckoning and Odometry!

    Estimating the motion based on the issuedcontrols/wheel encoder readings! Integrated over time

  • 8/12/2019 03 Locomotion

    24/24

    24

    Summary!

    Introduced different types of drives forwheeled robots! Math to describe the motion of the basic

    drives given the speed of the wheels! Non-holonomic Constraints! Odometry and dead reckoning