Introduction to Mobile Robotics Summary Wolfram Burgard, Maren - - PowerPoint PPT Presentation

introduction to mobile robotics summary
SMART_READER_LITE
LIVE PREVIEW

Introduction to Mobile Robotics Summary Wolfram Burgard, Maren - - PowerPoint PPT Presentation

Introduction to Mobile Robotics Summary Wolfram Burgard, Maren Bennewitz, Diego Tipaldi, Luciano Spinello 1 Probabilistic Robotics 2 Probabilistic Robotics Key idea: Explicit representation of uncertainty (using the calculus of


slide-1
SLIDE 1

1

Summary Introduction to Mobile Robotics

Wolfram Burgard, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

slide-2
SLIDE 2

2

Probabilistic Robotics

slide-3
SLIDE 3

3

Probabilistic Robotics

Key idea: Explicit representation of uncertainty

(using the calculus of probability theory)

  • Perception = state estimation
  • Action = utility optimization
slide-4
SLIDE 4

4

Bayes Formula evidence prior likelihood ) ( ) ( ) | ( ) ( ) ( ) | ( ) ( ) | ( ) , ( y P x P x y P y x P x P x y P y P y x P y x P

slide-5
SLIDE 5

5

Simple Example of State Estimation

  • Suppose a robot obtains measurement z
  • What is P(open|z)?
slide-6
SLIDE 6

6

Causal vs. Diagnostic Reasoning

  • P(open|z) is diagnostic.
  • P(z|open) is causal.
  • Often causal knowledge is easier to
  • btain.
  • Bayes rule allows us to use causal

knowledge:

) ( ) ( ) | ( ) | ( z P

  • pen

P

  • pen

z P z

  • pen

P

count frequencies!

slide-7
SLIDE 7

7

1 1 1

) ( ) , | ( ) | (

t t t t t t t

dx x Bel x u x P x z P

Bayes Filters

) , , , | ( ) , , , , | (

1 1 1 1 t t t t t

u z u x P u z u x z P  

Bayes z = observation u = action x = state

) , , , | ( ) (

1 1 t t t t

z u z u x P x Bel 

Markov

) , , , | ( ) | (

1 1 t t t t

u z u x P x z P 

Markov

1 1 1 1 1

) , , , | ( ) , | ( ) | (

t t t t t t t t

dx u z u x P x u x P x z P 

1 1 1 1 1 1 1

) , , , | ( ) , , , , | ( ) | (

t t t t t t t t

dx u z u x P x u z u x P x z P  

Total prob. Markov

1 1 1 1 1 1

) , , , | ( ) , | ( ) | (

t t t t t t t t

dx z z u x P x u x P x z P 

slide-8
SLIDE 8

8

Bayes Filters are Familiar!

  • Kalman filters
  • Particle filters
  • Hidden Markov models
  • Dynamic Bayesian networks

1 1 1

) ( ) , | ( ) | ( ) (

t t t t t t t t

dx x Bel x u x P x z P x Bel

slide-9
SLIDE 9

9

Sensor and Motion Models

) , | ( m x z P ) , ' | ( u x x P

slide-10
SLIDE 10

10

Motion Models

  • Robot motion is inherently uncertain.
  • How can we model this uncertainty?
slide-11
SLIDE 11

11

Probabilistic Motion Models

  • To implement the Bayes Filter, we

need the transition model p(x | x’, u).

  • The term p(x | x’, u) specifies a posterior

probability, that action u carries the robot from x’ to x.

slide-12
SLIDE 12

12

Typical Motion Models

  • In practice, one often finds two types of

motion models:

  • Odometry-based
  • Velocity-based (dead reckoning)
  • Odometry-based models are used when

systems are equipped with wheel encoders.

  • Velocity-based models have to be applied

when no wheel encoders are given.

  • They calculate the new pose based on the

velocities and the time elapsed.

slide-13
SLIDE 13

13

Odometry Model

2 2

) ' ( ) ' ( y y x x

trans

) ' , ' ( atan2

1

x x y y

rot 1 2

'

rot rot

  • Robot moves from to .
  • Odometry information .

, , y x ' , ' , ' y x

trans rot rot

u , ,

2 1 trans 1 rot 2 rot

, , y x ' , ' , ' y x

slide-14
SLIDE 14

14

Sensors for Mobile Robots

  • Contact sensors: Bumpers
  • Internal sensors
  • Accelerometers (spring-mounted masses)
  • Gyroscopes (spinning mass, laser light)
  • Compasses, inclinometers (earth magnetic field, gravity)
  • Proximity sensors
  • Sonar (time of flight)
  • Radar (phase and frequency)
  • Laser range-finders (triangulation, tof, phase)
  • Infrared (intensity)
  • Visual sensors: Cameras
  • Satellite-based sensors: GPS
slide-15
SLIDE 15

15

Beam-based Sensor Model

  • Scan z consists of K measurements.
  • Individual measurements are independent

given the robot position.

} ,..., , {

2 1 K

z z z z

K k k

m x z P m x z P

1

) , | ( ) , | (

slide-16
SLIDE 16

16

Beam-based Proximity Model

Measurement noise

zexp zmax

b z z hit

e b m x z P

2 exp)

( 2 1

2 1 ) , | (

  • therwise

z z m x z P

z

e ) , | (

exp unexp

Unexpected obstacles

zexp zmax

slide-17
SLIDE 17

17

Beam-based Proximity Model

Random measurement Max range

max

1 ) , | ( z m x z P

rand small

z m x z P 1 ) , | (

max

zexp zmax zexp zmax

slide-18
SLIDE 18

18

Resulting Mixture Density

) , | ( ) , | ( ) , | ( ) , | ( ) , | (

rand max unexp hit rand max unexp hit

m x z P m x z P m x z P m x z P m x z P

T

How can we determine the model parameters?

slide-19
SLIDE 19

19

Bayes Filter in Robotics

slide-20
SLIDE 20

20

Bayes Filters in Action

  • Discrete filters
  • Kalman filters
  • Particle filters
slide-21
SLIDE 21

21

Discrete Filter

  • The belief is typically stored in a

histogram / grid representation

  • To update the belief upon sensory

input and to carry out the normalization one has to iterate over all cells of the grid

slide-22
SLIDE 22

22

Piecewise Constant

slide-23
SLIDE 23

23

Kalman Filter

  • Optimal for linear Gaussian systems!
  • Most robotics systems are nonlinear!
  • Polynomial in measurement

dimensionality k and state dimensionality n: O(k2.376 + n2)

slide-24
SLIDE 24

Kalman Filter Algorithm

1. Algorithm Kalman_filter( t-1,

t-1, ut, zt):

2. Prediction: 3. 4. 5. Correction: 6. 7. 8. 9. Return

t, t

mt = Atmt-1 + Btut St = AtSt-1At

T + Qt

Kt = StCt

T(CtStCt T + Rt)-1

mt = mt + Kt(zt -Ctmt) St = (I -KtCt)St

slide-25
SLIDE 25

25

Extended Kalman Filter

  • Approach to handle non-linear models
  • Performs a linearization in each step
  • Not optimal
  • Can diverge if nonlinearities are large!
  • Works surprisingly well even when all

assumptions are violated!

  • Same complexity than the KF
slide-26
SLIDE 26

Particle Filter

  • Basic principle
  • Set of state hypotheses (“particles”)
  • Survival-of-the-fittest
  • Particle filters are a way to efficiently

represent non-Gaussian distribution

26

slide-27
SLIDE 27

Mathematical Description

27

  • Set of weighted samples
  • The samples represent the posterior

State hypothesis Importance weight

slide-28
SLIDE 28

28

Particle Filter Algorithm in Brief

  • Sample the next generation for particles

using the proposal distribution

  • Compute the importance weights :

weight = target distribution / proposal distribution

  • Resampling: “Replace unlikely samples by

more likely ones”

slide-29
SLIDE 29

29

  • We can even use a different distribution g to

generate samples from f

  • By introducing an importance weight w, we can

account for the “differences between g and f ”

  • w = f / g
  • f is often called

target

  • g is often called

proposal

  • Pre-condition:

f(x)>0  g(x)>0

Importance Sampling Principle

slide-30
SLIDE 30

31

draw xit 1 from Bel(xt 1) draw xit from p(xt | xit 1,ut 1) Importance factor for xit:

) | ( ) ( ) , | ( ) ( ) , | ( ) | (

  • n

distributi proposal

  • n

distributi target

1 1 1 1 1 1 t t t t t t t t t t t t i t

x z p x Bel u x x p x Bel u x x p x z p w

1 1 1 1

) ( ) , | ( ) | ( ) (

t t t t t t t t

dx x Bel u x x p x z p x Bel

Particle Filter Algorithm

slide-31
SLIDE 31

32

w2 w3 w1 wn Wn-1

Resampling

w2 w3 w1 wn Wn-1

  • Roulette wheel
  • Binary search, n log n
  • Stochastic universal sampling
  • Systematic resampling
  • Linear time complexity
  • Easy to implement, low variance
slide-32
SLIDE 32

33

MCL Example

slide-33
SLIDE 33

34

Mapping

slide-34
SLIDE 34

Why Mapping?

  • Learning maps is one of the fundamental

problems in mobile robotics

  • Maps allow robots to efficiently carry out

their tasks, allow localization …

  • Successful robot systems rely on maps for

localization, path planning, activity planning etc

35

slide-35
SLIDE 35

Occupancy Grid Maps

  • Discretize the world into equally

spaced cells

  • Each cells stores the probability that

the corresponding area is occupied by an obstacle

  • The cells are assumed to be

conditionally independent

  • If the pose of the robot is know,

mapping is easy

36

slide-36
SLIDE 36

37

Updating Occupancy Grid Maps

  • Update the map cells using the inverse

sensor model

  • Or use the log-odds representation

1 ] [ 1 ] [ 1 ] [ ] [ 1 ] [ 1 ] [ ] [

1 1 , | 1 , | 1 1

xy t xy t xy t xy t t t xy t t t xy t xy t

m Bel m Bel m P m P u z m P u z m P m Bel

1 ] [ ] [

, | log

t t xy t xy t

u z m

  • dds

m B ) ( log :

] [ ] [ xy t xy t

m

  • dds

m B x P x P x

  • dds

1 : ) (

] [

log

xy t

m

  • dds

] [ 1 xy t

m B

slide-37
SLIDE 37

38

Reflection Probability Maps

  • Value of interest: P(reflects(x,y))
  • For every cell count
  • hits(x,y): number of cases where a beam

ended at <x,y>

  • misses(x,y): number of cases where a

beam passed through <x,y> ) , misses( ) , hits( ) , hits( ) (

] [

y x y x y x m Bel

xy

slide-38
SLIDE 38

39

SLAM

slide-39
SLIDE 39

40

Given:

  • The robot’s controls
  • Observations of nearby features

Estimate:

  • Map of features
  • Path of the robot

The SLAM Problem

A robot is exploring an unknown, static environment.

slide-40
SLIDE 40

Chicken-or-Egg

  • SLAM is a chicken-or-egg problem
  • A map is needed for localizing a robot
  • A good pose estimate is needed to build a map
  • Thus, SLAM is regarded as a hard problem

in robotics

  • A variety of different approaches to address

the SLAM problem have been presented

  • Probabilistic methods outperform most
  • ther techniques

41

slide-41
SLIDE 41

42

SLAM:

Simultaneous Localization and Mapping

  • Full SLAM:
  • Online SLAM:

Integrations typically done one at a time

) , | , (

: 1 : 1 : 1 t t t

u z m x p

1 2 1 : 1 : 1 : 1 : 1 : 1

... ) , | , ( ) , | , (

t t t t t t t

dx dx dx u z m x p u z m x p 

Estimates most recent pose and map! Estimates entire path and map!

slide-42
SLIDE 42

43

Why is SLAM a hard problem?

  • In the real world, the mapping between
  • bservations and landmarks is unknown
  • Picking wrong data associations can have

catastrophic consequences

  • Pose error correlates data associations

Robot pose uncertainty

slide-43
SLIDE 43

44

÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ø ö ç ç ç ç ç ç ç ç ç ç è æ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ø ö ç ç ç ç ç ç ç ç ç è æ =

2 2 2 2 2 2 2 1

2 1 2 2 2 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 2 1

, ) , (

N N N N N N N N N N N

l l l l l l yl xl l l l l l l yl xl l l l l l l yl xl l l l y x yl yl yl y y xy xl xl xl x xy x N t t

l l l y x m x Bel s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s q

q q q q q q q q q q q

  • Map with N landmarks:(3+2N)-dimensional

Gaussian

  • Can handle hundreds of dimensions

(E)KF-SLAM

slide-44
SLIDE 44

45

EKF-SLAM

Map Correlation matrix

slide-45
SLIDE 45

46

EKF-SLAM

Map Correlation matrix

slide-46
SLIDE 46

47

EKF-SLAM

Map Correlation matrix

slide-47
SLIDE 47

48

FastSLAM

  • Use a particle filter for map learning
  • Problem: the map is high-dimensional
  • Solution: separate the estimation of

the robot’s trajectory from the one of the map of the environment

  • This is done by means of a

factorization in the SLAM posterior

  • ften called Rao-Blackwellization
slide-48
SLIDE 48

49

Rao-Blackwellization

SLAM posterior Robot path posterior Mapping with known poses

Factorization first introduced by Murphy in 1999

poses map

  • bservations & movements
slide-49
SLIDE 49

50

Rao-Blackwellized Mapping

  • Each particle represents a possible

trajectory of the robot

  • Each particle
  • maintains its own map and
  • updates it upon “mapping with known

poses”

  • Each particle survives with a probability

proportional to the likelihood of the

  • bservations relative to its own map
slide-50
SLIDE 50

51

FastSLAM

  • Rao-Blackwellized particle filtering based on

landmarks

  • Each landmark is represented by a 2x2

Extended Kalman Filter (EKF)

  • Each particle therefore has to maintain M EKFs

Landmark 1 Landmark 2 Landmark M … x, y, Landmark 1 Landmark 2 Landmark M … x, y,

Particle #1

Landmark 1 Landmark 2 Landmark M … x, y,

Particle #2 Particle N

slide-51
SLIDE 51

52

Grid-based FastSLAM

  • Similar ideas can be used to learn grid maps
  • To obtain a practical solution, an efficiently

computable, informed proposal distribution is needed

  • Idea: in the SLAM posterior, the observation

model dominates the motion model (given an accurate sensor)

slide-52
SLIDE 52

53

Proposal Distribution

Approximate this equation by a Gaussian:

Sampled points around the maximum maximum reported by a scan matcher Gaussian approximation Draw next generation of samples

slide-53
SLIDE 53

54

Typical Results

slide-54
SLIDE 54

55

Robot Motion

slide-55
SLIDE 55

56

Robot Motion Planning

Latombe (1991): “…eminently necessary since, by definition, a robot accomplishes tasks by moving in the real world.”

Goals:

  • Collision-free trajectories.
  • Robot should reach the goal location as

fast as possible.

slide-56
SLIDE 56

57

Two Challenges

  • Calculate the optimal path taking

potential uncertainties in the actions into account

  • Quickly generate actions in the case of

unforeseen objects

slide-57
SLIDE 57

58

Classic Two-layered Architecture

Planning Collision Avoidance

sensor data map robot low frequency high frequency sub-goal motion command

slide-58
SLIDE 58

62

Information Gain-based Exploration

  • SLAM is typically passive, because it

consumes incoming sensor data

  • Exploration actively guides the robot to

cover the environment with its sensors

  • Exploration in combination with SLAM:

Acting under pose and map uncertainty

  • Uncertainty should/needs to be taken into

account when selecting an action

  • Key question: Where to move next?
slide-59
SLIDE 59

Mutual Information

  • The mutual information I is given by the

reduction of entropy in the belief action to be carried

  • ut

“uncertainty of the filter” – “uncertainty of the filter after carrying out action a”

slide-60
SLIDE 60

Integrating Over Observations

  • Computing the mutual information requires

to integrate over potential observations potential observation sequences

slide-61
SLIDE 61

67

Summary on Information Gain- based Exploration

  • A decision-theoretic approach to

exploration in the context of RBPF-SLAM

  • The approach utilizes the factorization of

the Rao-Blackwellization to efficiently calculate the expected information gain

  • Reasons about measurements obtained

along the path of the robot

  • Considers a reduced action set consisting
  • f exploration, loop-closing, and place-

revisiting actions

slide-62
SLIDE 62

68

The Exam is Approaching…

  • This lecture gave a short overview over the

most important topics addressed in this course

  • For the exam, you need to know at least the

basic formulas (e.g., Bayes filter, MCL eqs., Rao-Blackwellization, entropy, …)

Good luck for the exam!