Title: Simultaneous Localization and Mapping
1Simultaneous Localization and Mapping
Presented by Lihan He Apr. 21, 2006
2Outline
- Introduction
- SLAM using Kalman filter
- SLAM using particle filter
- Particle filter
- SLAM by particle filter
- My work searching problem
3Introduction SLAM
SLAM Simultaneous Localization and Mapping
A robot is exploring an unknown, static
environment.
- Given
- The robots controls
- Observations of nearby features
The controls and observations are both noisy.
- Estimate
- Location of the robot -- localization
- where I am ?
- Detail map of the environment mapping
- What does the world look like?
4Introduction SLAM
Markov assumption
State transition Observation function
5Introduction SLAM
Method Sequentially estimate the probability
distribution p(xt) and update the map.
Prior p(x0)
6Introduction SLAM
Map representations
1. Landmark-based map representation
Track the positions of a fixed number of
predetermined sparse landmarks. Observation
estimated distance from each landmark.
2. Grid-based map representation
Map is represented by a fine spatial grid, each
grid square is either occupied or empty.
Observation estimated distance from an
obstacle using a laser range finder.
7Introduction SLAM
Methods
The robots trajectory estimate is a tracking
problem
1. Parametric method Kalman filter
Sequentially update µt and St
2. Sample-based method particle filter
Represent the distribution of robot location xt
(and map mt) by a large amount of simulated
samples.
Resample xt (and mt) at each time step
8Introduction SLAM
Why is SLAM a hard problem?
Robot location and map are both unknown.
- The small error will quickly accumulated over
time steps. - The errors come from inaccurate measurement of
actual robot motion (noisy action) and the
distance from obstacle/landmark (noisy
observation).
When the robot closes a physical loop in the
environment, serious misalignment errors could
happen.
9SLAM Kalman filter
Update equation
Assume Prior p(x0) is a normal
distribution Observation function p(ox) is a
normal distribution
Then Posterior p(x1), , p(xt) are all normally
distributed. Mean µt and covariance matrix St
can be derived analytically. Sequentially update
µt and St for each time step t
10SLAM Kalman filter
11SLAM Kalman filter
The hidden state for landmark-based SLAM
Map with N landmarks (32N)-dimentional Gaussian
State vector xt can be grown as new landmarks are
discovered.
12SLAM particle filter
Update equation
13SLAM particle filter
14SLAM particle filter
15SLAM particle filter
16SLAM particle filter
17SLAM particle filter
State transition probability
Observation probability
18SLAM particle filter
- Lots of work on SLAM using particle filter are
focused on - Reducing the cumulative error
- Fast SLAM (online)
- Way to organize the data structure (saving robot
path and map). - Maintain single map cumulative error
- Multiple maps memory and computation time
- In Parrs paper
- Use ancestry tree to record particle history
- Each particle has its own map (multiple maps)
- Use observation tree for each grid square (cell)
to record the map corresponding to each particle. - Update ancestry tree and observation tree at each
iteration. - Cell occupancy is represented by a probabilistic
approach.
19SLAM particle filter
20Searching problem
Assumption
- The agent doesnt have map, doesnt know the
underlying model, doesnt know where the target
is. - Agent has 2 sensors
- Camera tell agent occupied or empty cells in
4 orientations, noisy sensor. - Acoustic sensor find the orientation of the
target, effective only within certain distance. - Noisy observation, noisy action.
21Searching problem
- Similar to SLAM
- To find the target, agent need build map and
estimate its location.
- Differences from SLAM
- Rough map is enough an accurate map is not
necessary. - Objective is to find the target. Robot need to
actively select actions to find the target as
soon as possible.
22Searching problem
- Model
- Environment is represented by a rough grid
- Each grid square (state) is either occupied or
empty. - The agent moves between the empty grid squares.
- Actions walk to any one of the 4 directions, or
stay. Could fail in walking with certain
probability. - Observations observe 4 orientations of its
neighbor grid squares occupied or empty.
Could make a wrong observation with certain
probability. - State, action and observation are all discrete.
23Searching problem
In each step, the agent updates its location and
map
- Belief state the agent believes which state it
is currently in. It is a distribution over all
the states in the current map. - The map The agent thinks what the environment
is . - For each state (grid square), a 2-dimentional
Dirichlet distribution is used to represent the
probability of empty and occupied. - The hyperparameters of Dirichlet distribution are
updated based on current observation and belief
state.
24Searching problem
25Searching problem
Map update (Dirichlet distribution)
26Searching problem
Belief state update
aup
aright
Map representation update
aright
aup
27Searching problem
Choose actions
Each state is assigned a reward R(s) according to
following rules
Less explored grids have higher reward.
Try to walk to the empty grid square.
Consider neighbor of s with priority.
x
x