Lecture12 PDF
Lecture12 PDF
"Position"
Localization Cognition
Global Map
Summary
?
"Position"
Localization Cognition
Global Map
Locomotion and
Kinematics
?
Three wheels
Six wheels
.
y
.
q
.
x
"Position"
Localization Cognition
Global Map
Sensors and
Perception
?
Places / Situations
A specific room, a meeting situation, …
•Functional / Contextual
Servicing / Reasoning Relationships of Objects
• imposed
Objects • learned
Compressing Information
• spatial / temporal/semantic
Doors, Humans, Coke bottle, car , …
Navigation •Models
• imposed
Raw Data • learned
Vision, Laser, Sound, Smell, …
© R. Siegwart, M. Chli, M. Rufli, D. Scaramuzza, ETH Zurich - ASL
12 - Summery
10
Classification of Sensors
What:
Proprioceptive sensors
• measure values internally to the system (robot),
• e.g. motor speed, wheel load, heading of the robot, battery status
Exteroceptive sensors
• information from the robots environment
• distances to objects, intensity of the ambient light, unique features.
How:
Passive sensors
• Measure energy coming from the environment
Active sensors
• emit their proper energy and measure the reaction
• better performance, but some influence on environment
"Position"
Localization Cognition
Global Map
Perception / Robot
Vision
?
blur circle L
Blur Circle
f of radius R
z e
z f
© R. Siegwart, M. Chli, M. Rufli, D. Scaramuzza, ETH Zurich - ASL
15 12 - Summery
Perspective Projection
Project a 3D world point in pixel coordinates in
the image plane Pc , Pw
Zw
1. Project 3D point in camera-frame Pc to local
image plane coords p. Xw
Yw
2. Convert local image plane point p to pixel
coordinates (u,v). f
matrix of intrinsic parameters: K
Zc
3. Generalize projection, for any 3D point in the
world-frame Pw into pixel coordinates p Xc
projection matrix: K[R|T] [R|T]
Yc
Extrinsic Parameters
Camera calibration:
Use point correspondences to find the elements of the Projection Matrix
Decompose this matrix to get K, R, and T.
Stereo Vision
Depth estimation for the simplified case where both cameras are
identical and are aligned on the horizontal axis
Z • Disparity
P ( X P , YP , Z P )
• General stereo: triangulation for
constructing disparity maps and scene
reconstruction
• Optical Flow
ul ur
f
Cl Cr X
b
P ( x, y, z )
C1 E1 E2 C2
epipoles
© R. Siegwart, M. Chli, M. Rufli, D. Scaramuzza, ETH Zurich - ASL
17 Lec.12
12 - Summery
17
Sxy
1D/2D Correlation and its uses in: ( x, y)
SIFT keypoints
Methodology:
Detect salient regions by using a Difference of
Gaussians pyramid
Describe keypoints using local intensity gradients
SIFT:
high-quality, distinctive features.
computationally demanding usually not suited to real-time applications.
A combination of the Harris detector + image patches for description could be a more
suitable alternative.
Object recognition
Q: Is this Book present in the Scene?
• Extract keypoints in both images
(e.g. SIFT)
• Look for corresponding matches
• Most of the Book’s keypoints are
present in the Scene
… …
Xi System Yi
Xn Ym
"Position"
Localization Cognition
Global Map
Localization
?
?
position
Position Update
(Estimation?)
Encoder Prediction of
matched
Position
(e.g. odometry) observations
YES
Perception
Perception
beacons or landmarks
Observation
• Probabilistic Map Based Localization
© R. Siegwart, M. Chli, M. Rufli, D. Scaramuzza, ETH Zurich - ASL
12 - Summery
24
Belief Representation
a) Continuous map
with single hypothesis
probability distribution
b) Continuous map
with multiple hypotheses
probability distribution
c) Discretized map
with probability distribution
d) Discretized topological
map with probability
distribution
p( zt | xt )
Perception update
bel ( xt ) p( zt | xt )bel ( xt )
Action update
p( zt | xt )
p( zt | xt )
Perception update
bel ( xt ) p( zt | xt )bel ( xt )
Action update
p( zt | xt )
p( zt | xt )
Perception update
bel ( xt ) p( zt | xt )bel ( xt )
Action update
p( zt | xt )
p( zt | xt )
Perception update
bel ( xt ) p( zt | xt )bel ( xt )
Action update
p( zt | xt )
"Position"
Localization Cognition
Global Map
SLAM
?
m0 m1 m2 m3 m4 m5 m6 m7 m8
x0 x1 x2 x3 . . .
Robot poses
u0 u1 u2 u3
Control inputs © R. Siegwart, M. Chli, M. Rufli, D. Scaramuzza, ETH Zurich - ASL
38 Lec.12
12 - Summery
38
SLAM Approaches
m0 m1 m2 m3 m4 m5 m6 m7 m8
Filtering (e.g. MonoSLAM)
Eliminate past poses
Summarize all experience with respect
x0 x1 x2 x3 to the last post via a state vector and
covariance matrix
SLAM methods
xt Pxx Pxm1 .. Pxmn-1
EKF SLAM: m P P .. P
yt 1 , P m1 x m1 m1 m1 m n -1
state vector stacks robot parameters ... yt
.. .. .. ..
and feature parameters
n -1
m mn-1x
P Pmn-1m1 .. Pmn-1mn-1
As the robot moves and makes measurements
yt and Pyt are updated using the standard EKF equations
Scales badly with the number of features sparsify the covariance matrix
GraphSLAM
Interprets SLAM as a network of springs, imposing constraints between robot
poses and feature-locations
Solution = state of minimal energy of this network
"Position"
Localization Cognition
Global Map
Cognition / Planning
?
First step:
Transformation of the map into a representation useful for planning
This step is planner-dependent
Second step:
Plan a path on the transformed map
Third step:
Send motion commands to controller
This step is planner-dependent (e.g. Model based feed forward, path following)
Graph Search
Methods
Breath First
Depth First
Dijkstra
A* and variants
D* and variants
...
Discriminators
f(n) = g(n) + ε h(n)
g(n‘) = g(n) + c(n,n‘)
A A A A A A A
B C D B C D B C D B C D B C D B C D B C D
E E F E F G E F G E F G E F G
G H G H F I G H F I
D I
A A A A A A A
B C D B C D B C D B C D B C D B C D B C D
E F G E F G E F G E F G E F G E F G E F G
G H F I G H F I G H F I G H F I G H F I G H F I G H F I
D I K D I K C H D I K C H L D I K C H L D I K C H L D I K C H L D I K C H L
A A L A L L A L L A
First path found!
= optimal
A A
B C D B C D
B
E F G E F G
E
G H F I G H F I
D I K C H L D I K C H L K
A L L A K A L L A
A=initial C F H
L
G
D I L=goal
Exam
Oral, 30 minutes
Example:
All terrain demining in 3.2.3 Wheel kinematic constraints 5.2.4 Odometric position
unstructured environments of the 5 wheel types, pro/cons of estimation and error model for a
wheel types differential drive robot and their
use in Markov and EKF
localization
© R. Siegwart, M. Chli, M. Rufli, D. Scaramuzza, ETH Zurich - ASL