View
32
Download
4
Category
Tags:
Preview:
Citation preview
Robot Navigation Using a Single Camera
Ludovico Orlando Russo
MSc in Mechatronic EngineeringPolitecnico di Torino
Supervisors: Basilio Bona, Luca Carlone, Matteo MatteucciTelecom Italia
October 15th 2013
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 1/13
Outline
1 IntroductionRobot NavigationSLAMThe Chosen Approach
2 Mono-SLAMThe Mono-SLAM AlgorithmThe developed solutionResults
3 Conclusion and Future Works
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 2/13
Introduction Robot Navigation
Navigation
LocalizationMapping
SLAM
Robot Navigation
Capabilities anautonomous robot musthave
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 3/13
Introduction Robot Navigation
Navigation
LocalizationMapping
SLAM
LocalizationAbility of a robot toestablish its position in aknown environment
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 3/13
Introduction Robot Navigation
Navigation
LocalizationMapping
SLAM
Mapping
Ability to build arepresentation of anunknown environment
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 3/13
Introduction Robot Navigation
Navigation
LocalizationMapping
SLAM
SLAMSimultaneous Localizationand Mapping
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 3/13
Introduction SLAM
SLAMClassic
Approaches
VisualApproaches
Dense
Sparse
Semantic
Classic Approaches
Based on Laser ScannersSensors
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 4/13
Introduction SLAM
SLAMClassic
Approaches
VisualApproaches
Dense
Sparse
Semantic
Visual Approaches
Based on visual systemsMonocular cameraDepth-map system
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 4/13
Introduction SLAM
SLAMClassic
Approaches
VisualApproaches
Dense
Sparse
Semantic
Dense Approaches
Build up a dense map! Robustness% Computational power
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 4/13
Introduction SLAM
SLAMClassic
Approaches
VisualApproaches
Dense
Sparse
Semantic
Sparse Approaches
Build up a sparse map% Robustness! Computational power
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 4/13
Introduction SLAM
SLAMClassic
Approaches
VisualApproaches
Dense
Sparse
Semantic
Semantic Approaches
Build up a semantic map! Robustness! Computational power% Very complex
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 4/13
Mono-SLAM The Mono-SLAM Algorithm
Mono-SLAM MonocularCamera
EKFFast
Real Time
GeneralPurposeHW
Sparse Probabilistic VisualSLAM approach [1]
Andrew J Davison et al.“MonoSLAM: Real-timesingle camera SLAM”.In: Pattern Analysisand Machine Intelligence,IEEE Transactions on 29.6(2007)
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 5/13
Mono-SLAM The Mono-SLAM Algorithm
Mono-SLAM MonocularCamera
EKFFast
Real Time
GeneralPurposeHW
Based on a monocularcamera
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 5/13
Mono-SLAM The Mono-SLAM Algorithm
Mono-SLAM MonocularCamera
EKFFast
Real Time
GeneralPurposeHW
Built upon the ExtendedKalman Filter
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 5/13
Mono-SLAM The Mono-SLAM Algorithm
Mono-SLAM MonocularCamera
EKFFast
Real Time
GeneralPurposeHW
Developed to be fast
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 5/13
Mono-SLAM The Mono-SLAM Algorithm
Mono-SLAM MonocularCamera
EKFFast
Real Time
GeneralPurposeHW
Able to meet real timeconstraints
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 5/13
Mono-SLAM The Mono-SLAM Algorithm
Mono-SLAM MonocularCamera
EKFFast
Real Time
GeneralPurposeHW
Does not need dedicatedhardware
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 5/13
Mono-SLAM The Mono-SLAM Algorithm
State of the Mono-SLAMµk =
(xT
k f T1 . . . f T
m)T ← Complete state of the EKF
xk =(rTk qT
k vTk wT
k)T ← 3D camera pose and velocities
f i ← represents each point in the map
yx
z
Ck
f i
y
x
z
W
(rk qk
)
yx
z
Ck+1
(vk wk
)∆t
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 6/13
Mono-SLAM The Mono-SLAM Algorithm
Features Matching
Using information from EKFPatch matching algorithm1-Point RANSAC outlier rejection algorithm
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 7/13
Mono-SLAM The Mono-SLAM Algorithm
Features Matching
Using information from EKFPatch matching algorithm1-Point RANSAC outlier rejection algorithm
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 7/13
Mono-SLAM The Mono-SLAM Algorithm
Features Matching
Using information from EKFPatch matching algorithm1-Point RANSAC outlier rejection algorithm
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 7/13
Mono-SLAM The Mono-SLAM Algorithm
Features Matching
Using information from EKFPatch matching algorithm1-Point RANSAC outlier rejection algorithm
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 7/13
Mono-SLAM The Mono-SLAM Algorithm
Features Matching
Using information from EKFPatch matching algorithm1-Point RANSAC outlier rejection algorithm
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 7/13
Mono-SLAM The Mono-SLAM Algorithm
Features Matching
Using information from EKFPatch matching algorithm1-Point RANSAC outlier rejection algorithm
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 7/13
Mono-SLAM The Mono-SLAM Algorithm
Features Matching
Using information from EKFPatch matching algorithm1-Point RANSAC outlier rejection algorithm
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 7/13
Mono-SLAM The Mono-SLAM Algorithm
Features Matching
Using information from EKFPatch matching algorithm1-Point RANSAC outlier rejection algorithm
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 7/13
Mono-SLAM The developed solution
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 8/13
Mono-SLAM The developed solution
Contribution ROS Imple-mentation
Motion blurhandling
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 9/13
Mono-SLAM The developed solution
Contribution ROS Imple-mentation
Motion blurhandling
Camera
Camera Topic
frameMono-SLAM
Mono-SLAM Topics
Map
Path
Camera Pose
Elaborated Frame
Rviz
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 9/13
Mono-SLAM The developed solution
Contribution ROS Imple-mentation
Motion blurhandling
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 9/13
Mono-SLAM The developed solution
Contribution ROS Imple-mentation
Motion blurhandling
[2] L. O. Russo, G. Airò Farulla, M. Indaco, Rolfo D. Rosa S., and B.Bona. “Blurring prediction in Monocular SLAM”. In: InternationalDesign and Test Symposium, IEEE Conference (2013).
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 9/13
Mono-SLAM The developed solution
Featuresmatching
UpdateEKF Step
PredictionEKF Step
MeasurementsPrediction
BlurPredictionz−1
z−1
z−1
Patcheshandler
Capture andpreprocessCamera
Sk+1Sk
yk|k−1
µk|k
Σk|k
µk|k+1
Σk|k+1
P ′k+1|kP ′k|k−1
fk
yk+1|k
−yk ek
Pk
µk|k
Mono-SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 10/13
Mono-SLAM The developed solution
Featuresmatching
UpdateEKF Step
PredictionEKF Step
MeasurementsPrediction
BlurPredictionz−1
z−1
z−1
Patcheshandler
Capture andpreprocessCamera
Sk+1Sk
yk|k−1
µk|k
Σk|k
µk|k+1
Σk|k+1
P ′k+1|kP ′k|k−1
fk
yk+1|k
−yk ek
Pk
µk|k
Mono-SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 10/13
Mono-SLAM The developed solution
Featuresmatching
UpdateEKF Step
PredictionEKF Step
MeasurementsPrediction
BlurPredictionz−1
z−1
z−1
Patcheshandler
Capture andpreprocessCamera
Sk+1Sk
yk|k−1
µk|k
Σk|k
µk|k+1
Σk|k+1
P ′k+1|kP ′k|k−1
fk
yk+1|k
−yk ek
Pk
µk|k
Mono-SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 10/13
Mono-SLAM The developed solution
Featuresmatching
UpdateEKF Step
PredictionEKF Step
MeasurementsPrediction
BlurPredictionz−1
z−1
z−1
Patcheshandler
Capture andpreprocessCamera
Sk+1Sk
yk|k−1
µk|k
Σk|k
µk|k+1
Σk|k+1
P ′k+1|kP ′k|k−1
fk
yk+1|k
−yk ek
Pk
µk|k
Mono-SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 10/13
Mono-SLAM The developed solution
Featuresmatching
UpdateEKF Step
PredictionEKF Step
MeasurementsPrediction
BlurPredictionz−1
z−1
z−1
Patcheshandler
Capture andpreprocessCamera
Sk+1Sk
yk|k−1
µk|k
Σk|k
µk|k+1
Σk|k+1
P ′k+1|kP ′k|k−1
fk
yk+1|k
−yk ek
Pk
µk|k
Mono-SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 10/13
Mono-SLAM The developed solution
Featuresmatching
UpdateEKF Step
PredictionEKF Step
MeasurementsPrediction
BlurPredictionz−1
z−1
z−1
Patcheshandler
Capture andpreprocessCamera
Sk+1Sk
yk|k−1
µk|k
Σk|k
µk|k+1
Σk|k+1
P ′k+1|kP ′k|k−1
fk
yk+1|k
−yk ek
Pk
µk|k
Mono-SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 10/13
Mono-SLAM The developed solution
Featuresmatching
UpdateEKF Step
PredictionEKF Step
MeasurementsPrediction
BlurPredictionz−1
z−1
z−1
Patcheshandler
Capture andpreprocessCamera
Sk+1Sk
yk|k−1
µk|k
Σk|k
µk|k+1
Σk|k+1
P ′k+1|kP ′k|k−1
fk
yk+1|k
−yk ek
Pk
µk|k
Mono-SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 10/13
Mono-SLAM The developed solution
Featuresmatching
UpdateEKF Step
PredictionEKF Step
MeasurementsPrediction
BlurPredictionz−1
z−1
z−1
Patcheshandler
Capture andpreprocessCamera
Sk+1Sk
yk|k−1
µk|k
Σk|k
µk|k+1
Σk|k+1
P ′k+1|kP ′k|k−1
fk
yk+1|k
−yk ek
Pk
µk|k
Mono-SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 10/13
Mono-SLAM The developed solution
Featuresmatching
UpdateEKF Step
PredictionEKF Step
MeasurementsPrediction
BlurPredictionz−1
z−1
z−1
Patcheshandler
Capture andpreprocessCamera
Sk+1Sk
yk|k−1
µk|k
Σk|k
µk|k+1
Σk|k+1
P ′k+1|kP ′k|k−1
fk
yk+1|k
−yk ek
Pk
µk|k
Mono-SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 10/13
Mono-SLAM The developed solution
Featuresmatching
UpdateEKF Step
PredictionEKF Step
MeasurementsPrediction
BlurPredictionz−1
z−1
z−1
Patcheshandler
Capture andpreprocessCamera
Sk+1Sk
yk|k−1
µk|k
Σk|k
µk|k+1
Σk|k+1
P ′k+1|kP ′k|k−1
fk
yk+1|k
−yk ek
Pk
µk|k
Mono-SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 10/13
Mono-SLAM The developed solution
Featuresmatching
UpdateEKF Step
PredictionEKF Step
MeasurementsPrediction
BlurPredictionz−1
z−1
z−1
Patcheshandler
Capture andpreprocessCamera
Sk+1Sk
yk|k−1
µk|k
Σk|k
µk|k+1
Σk|k+1
P ′k+1|kP ′k|k−1
fk
yk+1|k
−yk ek
Pk
µk|k
Mono-SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 10/13
Mono-SLAM Results
10m
Starting point
Ground TruthMono-SLAM
10m
Starting point
Starting point50m
20m
Starting point
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 11/13
Conclusion and Future Works
Open Issues
RobustnessScale DriftLarge Scale Navigation
Future Works
ImprovementsLoop ClosingMulti Camera SLAMMulti Robot SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 12/13
Conclusion and Future Works
Open Issues
RobustnessScale DriftLarge Scale Navigation
Future Works
ImprovementsLoop ClosingMulti Camera SLAMMulti Robot SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 12/13
Conclusion and Future Works
Open Issues
RobustnessScale DriftLarge Scale Navigation
Future Works
ImprovementsLoop ClosingMulti Camera SLAMMulti Robot SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 12/13
Conclusion and Future Works
Open Issues
RobustnessScale DriftLarge Scale Navigation
Future Works
ImprovementsLoop ClosingMulti Camera SLAMMulti Robot SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 12/13
Conclusion and Future Works
Open Issues
RobustnessScale DriftLarge Scale Navigation
Future Works
ImprovementsLoop ClosingMulti Camera SLAMMulti Robot SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 12/13
Conclusion and Future Works
Open Issues
RobustnessScale DriftLarge Scale Navigation
Future Works
ImprovementsLoop ClosingMulti Camera SLAMMulti Robot SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 12/13
Conclusion and Future Works
Open Issues
RobustnessScale DriftLarge Scale Navigation
Future Works
ImprovementsLoop ClosingMulti Camera SLAMMulti Robot SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 12/13
Conclusion and Future Works
Open Issues
RobustnessScale DriftLarge Scale Navigation
Future Works
ImprovementsLoop ClosingMulti Camera SLAMMulti Robot SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 12/13
Conclusion and Future Works
Open Issues
RobustnessScale DriftLarge Scale Navigation
Future Works
ImprovementsLoop ClosingMulti Camera SLAMMulti Robot SLAM
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 12/13
Conclusion and Future Works
Thank you!
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 13/13
Real Time
15 20 25 30 35 40 45 50 55 60 65 70
20
40
60
number of features
t[m
s]
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 14/13
Blur Handling
2 4 6 8 10 12 14 16 18
1
1.1
1.2
1.3
low speed medium speed high speed
vp [pixel/frame]
r
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 15/13
The 3D Reconstruction Problem
The 3D Reconstruction ProblemExtrapolate 3D information from a set of 2D images
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 16/13
The 3D Reconstruction Problem Stereo Triangulation
Stereo Triangulation
Computing 3D information from a stereo system
V2
V1
pb
f
h
h = bf∆v
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 17/13
The 3D Reconstruction Problem Stereo Triangulation
Stereo Triangulation: Step 1
Select a point on the first image
V2
V1
pb
f
h
h = bf∆v
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 17/13
The 3D Reconstruction Problem Stereo Triangulation
Stereo Triangulation: Step 2
Match the selected point with the second image
V2
V1
pb
f
h
h = bf∆v
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 17/13
The 3D Reconstruction Problem Stereo Triangulation
Stereo Triangulation: Step 3
Triangulate
V2
V1
pb
f
h
h = bf∆v
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 17/13
The 3D Reconstruction Problem Stereo Triangulation
Stereo Triangulation: Uncertainty Propagation
Uncertainty on depth h increases when disparity ∆v decreases, i.e.when depth increases:
δh = bf δv1
∆v2 =δvbf
h2
δh
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 18/13
The 3D Reconstruction Problem Stereo Triangulation
Stereo Triangulation: Uncertainty Propagation
Uncertainty on depth h increases when disparity ∆v decreases, i.e.when depth increases:
δh = bf δv1
∆v2 =δvbf
h2
δh
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 18/13
The 3D Reconstruction Problem Stereo Triangulation
Stereo Triangulation: Uncertainty Propagation
Uncertainty on depth h increases when disparity ∆v decreases, i.e.when depth increases:
δh = bf δv1
∆v2 =δvbf
h2
δh
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 18/13
The 3D Reconstruction Problem Structure from Motion
Structure from MotionComputing 3D information on map and camera path from a video
3 v3y3
y2
2v2
1 v1y1
p
y
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 19/13
The 3D Reconstruction Problem Structure from Motion
Structure from Motion: Step 1
Select a point on the first image
3 v3y3
y2
2v2
1 v1y1
p
y
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 19/13
The 3D Reconstruction Problem Structure from Motion
Structure from Motion: Step 2
Match the selected point with all the others image
3 v3y3
y2
2v2
1 v1y1
p
y
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 19/13
The 3D Reconstruction Problem Structure from Motion
Structure from Motion: Step 3
Compute poses of each camera and triangulate the map
3 v3y3
2v2y2
1 v1y1
p
y
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 19/13
The 3D Reconstruction Problem Structure from Motion
Structure from Motion: Scale LossSfM and similar approach are not able to evaluate the scale of theenvironment
p
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 20/13
The 3D Reconstruction Problem Structure from Motion
Structure from Motion: Scale LossSfM and similar approach are not able to evaluate the scale of theenvironment
p
p∗
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 20/13
The 3D Reconstruction Problem Structure from Motion
Structure from Motion: Scale LossSfM and similar approach are not able to evaluate the scale of theenvironment
p
DimensionlessreformulationEquivalentdimensionlessproblem based onangles
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 20/13
The 3D Reconstruction Problem Structure from Motion
Features Codings: Euclidian Representation
y =(x y z
)T
Simple (3 componets)Unable to represents features with low parallaxPoor Linearity
yx
z
C
p
y
r0
1ρµ(θ, φ)
y
x
z
W
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 21/13
The 3D Reconstruction Problem Structure from Motion
Features Codings: Inverse Depth Representation
y =(rT0 θ φ ρ
)T
More complex (6 components)Able to represents features with low parallax (at infinity)Good linearity
yx
z
C
p
y
r0
1ρµ(θ, φ)
y
x
z
W
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 21/13
The 3D Reconstruction Problem Structure from Motion
Features Codings InverseDepth Init
Points atInfinity
EucledianWellknowndepth
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 22/13
The 3D Reconstruction Problem Structure from Motion
Features Codings InverseDepth Init
Points atInfinity
EucledianWellknowndepth
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 22/13
The 3D Reconstruction Problem Structure from Motion
Features Codings InverseDepth Init
Points atInfinity
EucledianWellknowndepth
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 22/13
The 3D Reconstruction Problem Structure from Motion
Features Codings InverseDepth Init
Points atInfinity
EucledianWellknowndepth
Ludovico Orlando Russo MSc in Mechatronic Engineering October 15th 2013 22/13
Recommended