Particle Filters in Robotics, Sebastian Thrun

************************************************************************************

1) Introduction

1970's

model based approaches

doesn't account for uncertainty

assumes model is perfect

1980's

reactive techniques

i.e. behaviour based (Brooks)

generate control from sensor measurements

assumes sensors are perfect

mid 1990's

techniques that assume imperfect models and sensors

probabilistic robotics

integrates imperrfect models and sensors thru prob laws

such as Bayes rule

at all levels of perception and decision making

particle filters

easy: robot localization

harder problems

SLAM

variable number of dimensions

FastSLAM

can handle > 100,000 dimensions in real time

tracking

people moving near a robot

caveats

will always be wrong

false independence assumptions

lack state variables that systematically affect

sensor and actuator noise

? want state to affect noise?

must work in real time - pf's computationally expensiv

vanialla (exponential-time) pf's

2) Particle filters

approximate techniqes for calculationg posteriors

in partially observable (?) controllable (?) Markov chains (?)

with discrete time

state is not observable - measure with zt

zt = stochastic (?) projection of true state xt

Bayes filters compute posterior recursively

if states, control, measurements all discrete

Markov chain = hidden Markov models (HMM)

then Bayes equation (1) can be implemented exactly

pf's are applied to continuous state spaces

closed form solns for (1) are usually unknown

if p(x0) is gaussian, and motion/measurement models are linear

then (1) = Kalman filter

if nonlinear, can use linearize with 1st order taylor -> ekf

unscented filters

better linear model thru non-random sampling

still rely on gaussian-linear approximation

advantages to pf's

can be applied to any model

that can be formulated using a Markov chain

anytime

comp time can be changed w number of particles,

depending on resources

easy to implement

don't have to linearize

don't need closed form soln's of conditional p(xt|ut,xt-1)

disadvantage

d-dim state space --> exponentially many particles in d

best in low-dim spaces

conditional independences allow for higher dim apps (?)

3) Particle Filters in Low Dimensional Spaces

classical example: robot localization

state = x,y,theta

position tracking - if error is small at all times (?)

more general: global localization

localizing robot under global uncertainty

fig 1a - distribution over entire world

robot could be anywhere

kidnapped robot problem

well-localized robot is tele-ported to other location wo being told

i.e. - robo-cup - judge picking up and moving robot

multi-robot localization (observing each other)

fig 1 - global localization

a) global uncertainty

b) bimodal uncertainty - after going down symmetric corridor

c) unimodal uncertanity - after going into unique room

three figures represent successive posteriors (1)

each particle = x,y,theta

pf's for localization ==> Monte Carlo localization (MCL)

motivated by condensation aglorithm - popular in computer vision

more successful than parametric techniques such as KF's

aibo soccer robot - only 50 particles - limited computation

recent research

problem: next-state probability p(xt|ut,xt-1) sometimes insufficient

kidnapped robot

sensor accuracy much better than control accuracy (?)

hybrid sampling

subset of samples generated according to measurement model

? how different from general pf?

figure 3: compares standard and mixture MCL's

unmodeled environmental state

- artificially inflate unc to accomodate systematic noise

- filters for preprocessing sensor data

ex: range sensors corrupted by people

clustering particles

diff resampling rates for diff clusters

empirically increases robustness to errs in map used in loc

stratified (?) sampling techniqes

to increase variance in sampling step (?)

multi-robot

? are all these methods addressing problem with next-state

probability?

4) Particle Filters in High Dimensional Spaces

number of particles scales exponentially with state dimension

similar problem with vanilla HMM's

? aren't plain pf's = vanilla HMM's?

SLAM

errors in robot localization

-> systematic errors in feature localization

absence of initial map makes it impossible

to localize robot during mapping

using MCL algorithms

? more possible with KF?

data association problem:

if two features observed at diff times are same feature

space of all maps (?) is hundreds of thousdands dimensional

dimension of map unknown at beginning

ekf's address all of these problems except data association

assume statice environment - features not moving

time-invariant feature locations

time-variant robot pose

(2) integral only involves robot pose, not map

main problems

1) complexity = O(N^2) -even wo data assoc problem

scaling issues:

can't manage > 1000 features in rt

research into:

heirarchical map representations

maps decomposed recursively

into submaps

still O(N^2), but constant smaller

2) cannot incorporate negative information

false negatives

when failing to see a feature

that was expected

neg info leads to non-gaussian posteriors

3) no soln to data assoc problem

max likelihood estimator

thresholding outliers

new features placed on provisional list

problem: false positives

-> catastrophic erros

Rao-Blackwellized pf's

significantly more efficient than ekf for slam

1) O(MlogN)

M can be constant in case of bounded uncertaintly

SLAM ekf's only work with bounded uncertainty anyway

2) can deal with neg info

3) exp results, not proven, say better at data assoc

assume, first, no data assoc problem

independence property ( ?)

(not exploited by EKF soln's)

knowledge of robot path

-> feature locations cond indep (3)

fig 4 - shaded region is robot path

leads to (4) - more efficient version of (2)

estimates post on robot paths x^t

rather than xt

p(x^t|z^t,u^t)

each particle = posterior over entire path

p(yn|x^t,z^t)

feature posteriors

in FastSLAM

one EKF for each feature, dim = 2

pf's for robot paths

as in MCL for localization

feature ekfs exact, robot pose pfs approximate

O(NM)

N = number of features, M = num particles

because of (3), conditional independence

in FastSLAM, exploit fact that robot can only

observe finite number of features at any

point in time

features in tree structures (?)

becomes O(MlogN)

data assoc

since FastSLAM has an EKF for each feature,

can keep multiple hypotheses,

instead of just keeping best one

can incorporate neg information

by modifying importance factors

of indiv particles (?)

ekf more computationally expensive

question: (?) for FastSLAM, why can't you just use 3d ekf

for robot pose, and have no pf's?

fig 5 - FastSLAM with outdoor tree detection w lasers

fig 6 - lazy version of FastSLAM

each particle uses max likelihood data assoc

? particle for robot pose or feature?

feature locations calculated in a lazy way

for the mose likely particle only

? again, particles for robot pose

or feature?

point estimates for features (no variance)

similar to FastSLAM

pf's for estimates over robot paths

very good for indoor mapping

tracking

moving features

tracking people, service robotics

1) factored pf

features associated with indep pfs

using maximum likelihood

2) maps to detect people

differences between previous map

similar to SLAM

simultaneous localization of robots and people

similar to FastSLAM - exploits indep property

5) Discussion

tradicionally, pfs mostly used for low-dim localization problems

recently, higher dim problems

hybrid representations that exploit structure

conditional independences

further research: control

above only looks at perception

robot needs to do the right thing