1 CMPUT 412 Autonomous Map Building Csaba Szepesvári University of Alberta TexPoint fonts used in...

22
1 CMPUT 412 Autonomous Map Building Csaba Szepesvári University of Alberta
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    1

Transcript of 1 CMPUT 412 Autonomous Map Building Csaba Szepesvári University of Alberta TexPoint fonts used in...

1

CMPUT 412Autonomous Map Building

Csaba SzepesváriUniversity of Alberta

2

Autonomous Map Building

Starting from an arbitrary initial point, a mobile robot should be able to

autonomously explore the environment with its on board sensors,

gain knowledge about it, interpret the scene,

build an appropriate map and localize itself relative to this map.

SLAMThe Simultaneous Localization and Mapping Problem

3

How to Establish a Map? Methods

By hand Learning

Why learn? Spare cost Keep map up-to-date Specialize to robot’s perceptual caps

What map to learn? Uses of a map? Localization Navigation/planning Updateable

What is a good map? Metric correctness Topological correctness Perceptual correctness

Map alone is not enough!

4

The Challenges1. Changes in the environment

e.g. disappearing

cupboard

Represent posterior over presence of objects in the map!

2. Chicken-egg-problem

position of robot position of wall

position of wall position of robot

Posterior over maps!

?

5

Map Building – Main Idea Localization:

P( Xt=x | Y1,A1, …, At-1,Yt ) = ? x: Possible position Xt: Robot’s position at time t At: Action at time t Yt: percept at time t “posterior over states”

Position from observations pdfs over positions!

Inferring a map from observations? pdfs over maps!

M0: Map randomly drawn at step 0! P( M0 = m | Y1,A1, …, At-1,Yt ) = ? Dynamic maps:

Mt+1 ~ p(.|Mt)

P( Mt = m | Y1,A1, …, At-1,Yt ) = ?

6

How to Build Maps? M0: Map randomly drawn at step 0! P( M0 = m | Y1,A1, …, At-1,Yt ) = ? Dynamic maps:

Mt+1 ~ p(.|Mt)

P( Mt = m | Y1,A1, …, At-1,Yt ) = ? How to get the posterior?

BAYES RULE; H_t = Y1,A1, …, At-1,Yt

P( Mt=m|Ht)

~ P(At-1,Yt|Mt=m,Ht-1) P(Mt=m|Ht-1)

¼ P(Yt|Mt=m,Xt-1) xm’P(Mt=m|Mt-1=m’)P(Mt-1=m’|Ht-1)

Too many maps! HEURISTICS:

store likely maps only [and/or] compression

7

Map BuildingLocalization: Action update:

bt’ = Act(bt-1) Perception update:

bt = See(bt’,Yt,M)

1. Map and action update:1. mt’ =Evol(mt-1)

2. bt’ = Act(bt-1)

2. Perception update:1. (bt,,mt) = Consensus(bt’,Yt,mt’)

8

m = (Á1; : : : ;Ám)

Ái = (xi ;zi ;§ i ;ci )

A Semi-Parametric Representation..

xi – location of feature

zi – mean observation

§i – covariance

ci – confidence

9

Particle Filtering – Localization Belief representation ¼ “particle cloud” Particle position hypothesis Survival of the fittest Particle deprivation (histories are not well represented)

ParticleFilter(Xt-1(1),..,Xt-1(N))1. For i=1 to N do

1. Action update: // “proposing”Xt’(i) ~ Act(.|Xt-1(i))

2. Perc. Update: // “filtering”wt(i) = p( Yt| Xt’(i))

2. For i=1 to N do // “resampling”

1. Draw It ~ wt(.)

2. Put Xt’ in Cloud

3. Return (Cloud)

10

Example – Laser Scanning

11

FastSLAM – PF for SLAM

ParticleFilter((Mt-1(i),Xt-1(i)); i=1.., N)

1. For i=1 to N do1. Xt’(i) = Act(.|Xt-1(i))

2. wt(i) = P(Yt|Xt’(i),Mt-1(i))

3. Mt’(i) = Learn(Yt,Xt’(i),Mt-1(i))

2. For i=1 to N do1. Draw J with probability / wt(.)

2. Add (Mt’(J),Xt(J)) to Cloud

3. Return (Cloud)

12

Example

map of particle 1 map of particle 3

map of particle 2

3 particles

13

Problem Each map is quite big in case of grid maps Since each particle maintains its own map Therefore, one needs to keep the number

of particles small

Solution:Compute better proposal distributions!

Idea:Improve the pose estimate before applying the particle filter

14

Motion Model for Scan Matching

Raw OdometryScan Matching

15

When to Resample?

Resampling is dangerous “Effective number of samples”:

How much variation in weights.. Only re-sample when neff drops below

a given threshold (n/2)

16

Typical Evolution of neff

visiting new areas closing the

first loop

second loop closure

visiting known areas

17

Intel Lab 15 particles

four times faster than real-timeP4, 2.8GHz

5cm resolution during scan matching

1cm resolution in final map

18

Intel Lab

15 particles

Compared to FastSLAM with Scan-Matching, the particles are propagated closer to the true distribution

19

Intel Lab

20

Outdoor Campus Map 30 particles

250x250m2

1.75 km (odometry)

20cm resolution during scan matching

30cm resolution in final map

30 particles

250x250m2

1.088 miles (odometry)

20cm resolution during scan matching

30cm resolution in final map

21

Dynamic Environments

Changes require continuous mapping Need for better perception!

?

22

Summary SLAM Probabilistic Approach Particle Filters FastSLAM Still many open problems!

Dynamic Environments Exploration?