Offline Simultaneous Localization and Mapping (SLAM) using Miniature Robots Objectives SLAM approaches SLAM for ALICE EKF for Navigation Mapping and Network Modeling Test results Philipp Schaer and Adrian Waegli June 29, 2007
ALICE -ROBOT 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 Objectives 60 4cm 20mm 1/2 22mm
Test Environment - Centimeter range labyrinth Objectives 2/2
General SLAM Approaches Localization Kalman filter (EKF, UKF) Particle filter IA methods (Fuzzy logic, neural networks ) Mapping Grid maps Feature recognition / scan matches Tree-based network optimizers General SLAM Approaches
SLAM for ALICE EKF for navigation 3 approaches for mapping: Grid mapping Boundary detection based on range measurements Network reconstruction SLAM for ALICE 1/7
EKF for Navigation SLAM for ALICE 2/7
System Process Model x y θ y l r k+ 1 k k l r k+ 1 k k k+ 1 = x d + d + 2 = y d + d + 2 dl dr = θk + D D d l θ sinθ d r cosθ x Functional model: Stochastic model: P Q ww σ 2 x 2 = σ y 2 σ θ 2 σ dl = 2 σ dr dl + dr 1 0 cosθ 2 dl + dr F = 0 1 sinθ 2 0 0 1 sinθ sinθ 2 2 cosθ cosθ Γ = 2 2 1 1 D D SLAM for ALICE 3/7
Measurement Model ( ˆk ) h x y 0.5 x = y θ SLAM x 1 = y θ = 0.4 SLAM 0 θ = 1320 x k= y 0.5 k H pos H dir 1 0 0 = 0 1 0 = [ 0 0 1] R pos R dir 2 σ x = 2 σ y 2 = σ θ θslam = 90 θ = 110 k SLAM for ALICE 0 x 4/7 0 1 2
Grid Modeling Shape recognition (PCA) SLAM for ALICE 5/7
Environment Modeling Robots programmed with follow & avoidance behavior Online calibration of the wheel data not feasible y SLAM for ALICE l x 6/7
Network Modeling Estimate network nodes and segments Appropriate for Labyrinth mapping Poor IR sensor performance (unusable for Navigation) Map matching for navigation SLAM for ALICE 7/7
Test Setup 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 Test Results 1/6
Raw odometry Data / Calibration issues 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 Length of one data block Max. possible speed (40mm/s Test Results 2/6 Left Uncorrected tick = right data tick Left tick Corrected = 0.98* data right tick
Raw sensor Data Raw IR sensor data: Conversion of ADC value into range value Computation of target coordinates (georeferencing) Feature detection edges, walls x t (i),y t (i) α sensor γ(i) Test Results r(i) left xi X i cos( λ i ) sin( λ i ) r sin( front α ) * sensor = + a sensor + ri yi Yi sin( λi) cos( λi) cos( α sensor ) right for sensor = left,front,right,back back y a sensor x x c (i),y c (i) 3/6
Grid Modelling (Occupancy Grid Map) 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 Test Results 4/6
Boundary Detection 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 Results Problem: position uncertainty still growing Track Estimated std Left scan Right scan 5/6
Network Modelling Approach 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 Results Position uncertainty reduced Track Estimated std new / matched network point New / matched network segment 6/6
Conclusion 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 Conclusion 1/2
Outlook 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 Turn 1 Left Straight Right Back Conclusion Turn 2 L S R B L S R B L S R B L S R B plr ( ) = 45% Trajectory Network guesses pls ( ) = 35% pll ( ) = 15% plb ( ) = 5% 2/2