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 Waegli June 29, 2007
19
Embed
Offline Simultaneous Localization and Mapping (SLAM) … · – Odometer data – Range measurements • Scan matching impossible – “Random” measurements in corners – Data
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
60°4cm
Obj
ectiv
es
1/2
Test Environment Test Environment -- Centimeter range labyrinthCentimeter range labyrinth
– 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
( )ˆk
SLAM
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
• 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
• 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