Click here to load reader

Offline Simultaneous Localization and Mapping (SLAM) … · – Odometer data – Range measurements • Scan matching impossible – “Random” measurements in corners – Data

  • View
    222

  • Download
    0

Embed Size (px)

Text of Offline Simultaneous Localization and Mapping (SLAM) … · – Odometer data – Range...

  • Offline Simultaneous Localization and Offline Simultaneous Localization and Mapping (SLAM) using Miniature Robots Mapping (SLAM) using Miniature Robots

    Objectives SLAM approaches SLAM for ALICE

    EKF for Navigation Mapping and Network Modeling

    Test results

    Philipp Schaer and Adrian WaegliJune 29, 2007

  • ALICE ALICE --ROBOTROBOT

    Alice As cheap and small as possible 2 SWATCH motors with wheels and tires (max speed: 40mm/s) 4 active IR proximity sensors (reflection measurement) Microcontroller with 8Kwords Flash program memory Radio communication module

    22mm

    20m

    m

    604cm

    Obj

    ectiv

    es

    1/2

  • Test Environment Test Environment -- Centimeter range labyrinthCentimeter range labyrinth

    Obj

    ectiv

    es

    2/2

  • General SLAM ApproachesGeneral SLAM Approaches

    Localization Kalman filter (EKF, UKF) Particle filter IA methods (Fuzzy logic, neural

    networks)

    Gen

    eral

    SLA

    M A

    ppro

    ache

    sMapping Grid maps Feature recognition / scan

    matches Tree-based network optimizers

  • SLAM for ALICESLAM for ALICE

    EKF for navigation 3 approaches for mapping:

    Grid mapping Boundary detection based on range measurements Network reconstruction

    SLA

    M fo

    r ALI

    CE

    1/7

  • EKF for NavigationEKF for Navigation

    SLA

    M fo

    r ALI

    CE

    2/7

  • System Process Model System Process Model

    1

    1

    1

    sin2

    cos2

    rk k k

    rk k k

    rk k

    d dx x

    d dy y

    d dD

    +

    +

    +

    += +

    += +

    = +

    l

    l

    l

    1 0 cos2

    0 1 sin2

    0 0 1

    r

    r

    d d

    d d

    +

    + =

    F

    l

    l

    2

    2

    2

    x

    y

    =

    P

    2

    2d

    dr

    =

    wwQ l

    sin sin2 2

    cos cos2 21 1D D

    =

    Functional model:

    Stochastic model:

    x

    y

    dl

    rdD

    SLA

    M fo

    r ALI

    CE

    3/7

  • Measurement Model Measurement Model

    0

    320SLAM

    k

    =

    =

    10.4

    10.5

    SLAM

    k

    xy

    xy

    =

    =

    1 0 00 1 0

    =

    posH

    [ ]0 0 1=dirH

    ( )kSLAM

    xh x y

    =

    2

    2x

    y

    =

    posR

    2 = dirR

    90

    110SLAM

    k

    =

    =

    x

    y0.5

    0

    0 1 2

    SLA

    M fo

    r ALI

    CE

    4/7

  • Grid ModelingGrid Modeling

    Shape recognition (PCA)

    SLA

    M fo

    r ALI

    CE

    5/7

  • l

    Environment ModelingEnvironment Modeling

    Robots programmed with follow & avoidance behavior Online calibration of the wheel data not feasible

    SLA

    M fo

    r ALI

    CE

    6/7x

    y

  • Estimate network nodes and segments Appropriate for Labyrinth mapping Poor IR sensor performance (unusable for Navigation) Map matching for navigation

    Network ModelingNetwork Modeling

    SLA

    M fo

    r ALI

    CE

    7/7

  • Test SetupTest Setup

    Test

    Res

    ults

    Construction of Labyrinth environment 3 Runs of ca 2min with 3 different robots Robots programmed with follow &

    avoidance behavior Odometry and range data transmission

    every 15 sec by wireless communication Decoding of HEX-data SLAM implemented in MATLAB

    1/6

  • RawRaw odometryodometry Data / Calibration issuesData / Calibration issues

    Test

    Res

    ults

    Odometry data: Registered ticks on left and right wheel conversion of ticks into distance Calibration: tick conversion values are not exactly known Transmission errors in data packages need to correct and cut data

    2/6Left tick = right tick Left tick = 0.98* right tick

    Max

    . pos

    sibl

    e sp

    eed

    (40m

    m/s

    Length of one data block

    Uncorrected data Corrected data

  • x

    y

    RawRaw sensorsensor DataData

    Raw IR sensor data: Conversion of ADC value into range value Computation of target coordinates (georeferencing) Feature detection edges, walls

    Test

    Res

    ults

    3/6

    xc(i),yc(i)

    sensor

    (i)

    xt(i),yt(i)

    asensorcos( ) sin( ) sin( )

    *sin( ) cos( ) cos( )

    i i sensori

    i i sesenso

    i

    orr

    i n

    i

    i s

    xa

    Xr

    Yy

    = + +

    r

    for sensor = left,front,right,back

    r(i)

    leftfront rightback

  • GridGrid ModellingModelling ((OccupancyOccupancy GridGrid MapMap))

    Test

    Res

    ults

    4/6

    Map robot position and georeferenced target directly on grid Labyrinth reconstruction requires feature recognition Feature recognition difficult because of the quality of the

    Odometer data Range measurements

    Scan matching impossible Random measurements in corners Data gaps

  • BoundaryBoundary DetectionDetection

    Edges are not directly observable Fit lines by least squares while

    robot in follow wall behavior Evaluate turn rate and identify type

    of turn: Left turn (90) Right turn (90) U-turn (180)

    Attitude update after each turn Test

    Res

    ults

    5/6Problem: position uncertainty still growingTrack

    Estimated std

    Left scan

    Right scan

  • Network Network ModellingModelling ApproachApproach

    Localization: It is sufficient to know in which corridor robot is

    Mapping: Construct topological network of the environment

    Identify known network points position update possible

    Attitude update after each turn

    Test

    Res

    ults

    6/6Position uncertainty reduced

    Track

    Estimated std

    new / matched network point

    New / matched network segment

  • ConclusionConclusion

    Grid estimation approach not applicable: Feature recognition and scan matching almost impossible

    Boundary detection possible, but cumbersome: Implicit boundary detection by follow wall behavior (robots runs on straight

    line) Poor quality of georeferencing in turns Difficult to implement position updates

    Network estimation seems to be the most appropriate method for labyrinth mapping for the given sensors: More robust in turns Easier topology recognition Loop closure at every matched network point Map matching along line segments

    Con

    clus

    ion

    1/2

  • OutlookOutlook

    After several passes through the same network, fewer assumptions might be required: Store and verify topological beliefs Direction and position updates later, but no assumption with respect

    to the network angles necessary

    Con

    clus

    ion

    2/2( ) 45%p LR =

    Left Straight Right BackTurn 1

    Turn 2 L S R B L S R B L S R B L S R B

    ( ) 15%p LL =( ) 35%p LS = ( ) 5%p LB =Trajectory Network guesses