62
COMP417 Introduction to Robotics and Intelligent Systems Occupancy Grid Mapping With Known Poses

Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

COMP417Introduction to Robotics and Intelligent Systems

Occupancy Grid Mapping With Known Poses

Page 2: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Sonar sensing

Why is sonar sensing limited to between ~12 in. and ~25 feet ?

“The sponge”

Polaroid sonar emitter/receivers

sonar timeline

0a “chirp” is emitted into the environment

75µstypically when reverberations from the initial chirp have stopped

.5sthe transducer goes into “receiving” mode and awaits a signal...

after a short time, the signal will be too weak to be detected

Page 3: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Sonar effects

resolution: time / space

(d) Specular reflections cause walls to disappear

(e) Open corners produce a weak spherical wavefront

(f) Closed corners measure to the corner itself because of multiple reflections --> sonar ray tracing

(a) Sonar providing an accurate range measurement

(b-c) Lateral resolution is not very precise; the closest object in the beam’s cone provides the response

Page 4: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Sonar modelinginitial time response

spatial response

blanking time

accumulated responses

cone width

Page 5: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Sonar Modelingresponse model (Kuc)

sonar reading

obstacle

c = speed of sounda = diameter of sonar elementt = timez = orthogonal distanceα = angle of environment surface

• Models the response, hR,with

α

• Then, add noise to the model to obtain a probability:

p( S | o )

chance that the sonar reading is S, given an obstacle at location o

z =

S

o

Page 6: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Using sonar to create mapsWhat should we conclude if this sonar reads 10 feet?

10 feet

what would a local map look like?

Page 7: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Using sonar to create mapsWhat should we conclude if this sonar reads 10 feet?

10 feet

there is something somewhere around here

there isn’t something here

Local Mapunoccupiedoccupied

Page 8: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Using sonar to create mapsWhat should we conclude if this sonar reads 10 feet?

10 feet

there is something somewhere around here

there isn’t something here

Local Mapunoccupied

occupied

or ...no information

Page 9: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Using sonar to create mapsWhat should we conclude if this sonar reads 10 feet...

10 feet

and how do we add the information that the next sonar reading (as the robot moves) reads 10 feet, too?

10 feet

Page 10: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Combining sensor readings• The key to making accurate maps is combining lots of data.

• But combining these numbers means we have to know what they are !

What should our map contain ?

• small cells

• each represents a bit of the robot’s environment

• larger values => obstacle

• smaller values => free

what is in each cell of this sonar model / map ?

Page 11: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

An example map

units: feetEvidence grid of a tree-lined outdoor path

lighter areas: lower odds of obstacles being present

darker areas: higher odds of obstacles being present

how to combine them?

Page 12: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Several answers to this question have been tried:

It’s a map of occupied cells.

It’s a map of probabilities: p( o | S1..i )

p( o | S1..i )

It’s a map of odds.

The certainty that a cell is occupied, given the sensor readings S1, S2, …, Si

The certainty that a cell is unoccupied, given the sensor readings S1, S2, …, Si

The odds of an event are expressed relative to the complement of that event.

odds( o | S1..i ) = p( o | S1..i )p( o | S1..i )

The odds that a cell is occupied, given the sensor readings S1, S2, …, Si

oxy oxy cell (x,y) is occupied

cell (x,y) is unoccupied

‘83 - ‘88

pre ‘83

What is it a map of ?

probabilities

Page 13: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Pre-midterm recap & terminology review• Pose: the rotation and translation of a robot, or in general its full state configuration

• Odometry: the transformation of the body frame with respect to its initial pose (fixed frame of reference).

• Dynamics model: what is the next state given current state and control?

• Sensor measurement model: what is the expected measurement given the robot’s current state?

Page 14: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

RECAP: Global Mobile Robot Pose Estimationnon-probabilistic case

• Recall, to answer the question: where am I?directly analogous to global vs local function

optimizationA. Globally, assuming I could be “anywhere”.B. Locally, assuming I know I am in a specified region

but want an accurate position fix.

Page 15: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Main ideas• Global localization algorithm: chooses where to move (pick the

sequence of u's for control). • Risk of greedy methods: can do very badly by being drawn away from a

good solution. • "Exponentially bad" in the case of MDL (Minimum Distance

Localization path) • Decision tree: sequence of questions that will discriminate between

alternatives. • Competitive ratio: ratio between optimal solution and what a method of

interest will provide, in the worst case. • Visibility cell: what we see at any given instant using idealized vision. • Hardness of MDL (i.e of localization even with ideal sensing): coming

up with an ideal solution is very hard (intractable, NP-complete, ~exponential).

Page 16: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Connection between methods• Sensors: measure the world

with output depending on position p(z|x) • Probabilistic (Bayes) filter: combine observations and prior

beliefs (i.e. what we expect) to form current belief. • Only assumed a very abstract notion of maps, measurements,

and beliefs: m, z=hm(x), p(x|z,u) • SLAM: • combine current location estimate and measurement model

to infer current position (e.g using Bayes filter) • invert measure model to infer map

• Global localization complexity MDL: select where to go next to most efficiently reduce uncertainty

• Occupancy grid: a specific form of maps that is easy to use

Page 17: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Connection between methods• Sensors: measure the world

with output depending on position p(z|x) • Probabilistic (Bayes) filter: State estimation. • Combine observations and prior beliefs (i.e. what we expect) to form

current belief. • Only assumed a very abstract notion of maps, measurements, and

beliefs: m, z=hm(x), p(x|z,u) • SLAM: • combine current location estimate and measurement model to

infer current position (e.g using Bayes filter) • invert measure model to infer map

• Global localization complexity MDL: select where to go next to most efficiently reduce uncertainty

Upcoming

Page 18: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Perfect models vs. RealityNoise as a

random variable

Dynamics

Page 19: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Perfect models vs. RealityNoise as a

random variable

Dynamics

Sensor Measurements

e.g. GPS (simplified) w and v do not necessarily follow

the same distribution

Page 20: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Perfect models vs. Reality

Dynamics

Sensor Measurements

e.g. GPS (simplified)

probabilistic dynamics model

probabilistic measurement model

Page 21: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Why is mapping a problem?Don’t we have all the information we need to build a map?

• Two main sources of uncertainty:

• accumulating uncertainty in the pose (i.e. position, or dynamics)

Start

Uncertainty in the dynamics compounds into increasing uncertainty in odometry, as time passes.

Page 22: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Why is mapping a problem?Don’t we have all the information we need to build a map?

• Two main sources of uncertainty:

• uncertainty in the pose

• uncertainty in sensor measurements

Page 23: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Why is mapping a problem?Don’t we have all the information we need to build a map?

• Two main sources of uncertainty:

• uncertainty in the pose

• uncertainty in sensor measurements

True value: 300cm

but measurements have noise

LaserSonar

Page 24: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Why is mapping a problem?Don’t we have all the information we need to build a map?

• If we had no uncertainty, i.e. and then mapping would be trivial.

• Today we will assume perfect pose estimation and odometry, but noisy sensor

measurements.

• We are also going to assume a static map, no moving objects

Page 25: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Defining the problem

• The occupancy grid map is a binary random variablewidth = #columns height = #rows of the occupancy grid

Page 26: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Defining the problem

• The occupancy grid map is a binary random variable

• The path of the robot up to time t is a sequence of random variables with

width = #columns height = #rows of the occupancy grid

Odometry coordinates

Page 27: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Defining the problem

• The occupancy grid map is a binary random variable

• The path of the robot up to time t is a sequence of random variables with

• At each time step the robot makes a measurement (sonar/laser). Measurements up to time t are a sequence of random variables with

width = #columns height = #rows of the occupancy grid

K = #beams, or #points in the scan

(range, angle) in the laser’s local

coordinates

Odometry coordinates

Page 28: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

The goal of mapping

• To estimate the probability of any map, given path and measurements ?

Page 29: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

The goal of mapping

• To estimate the probability of any map, given path and measurements ? • This is intractable. E.g. for a 100 x 100 grid there are

possible binary maps.

Page 30: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

The goal of mapping

• To estimate the probability of any map, given path and measurements ? • This is intractable. E.g. for a 100 x 100 grid there are

possible binary maps.

• We can approximate

Approximation ignores all dependencies between map cells, given known info.

Assumes (for tractability) that cells are independent given path and measurements

Page 31: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Why is it an approximation?

Scenario Nearby measurements

Resulting maps when considering cells

independently

Resulting map when considering cells

jointly

Page 32: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Evaluating the occupancy of a map cell

• How do we evaluate ?

If we get a ping, is there something there?

Page 33: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Evaluating the occupancy of a map cell

• How do we evaluate ?Bayes’ Rule

Conditional Bayes’ Rule

Page 34: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Evaluating the occupancy of a map cell

• How do we evaluate ? • Using conditional Bayes’ rule we get Bayes’ Rule

Conditional Bayes’ Rule

Page 35: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Evaluating the occupancy of a map cell

• How do we evaluate ? • Using conditional Bayes’ rule we get

• And we simplify

If C is independent of A given B, then C provides no extra information about A after we know B

Page 36: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Evaluating the occupancy of a map cell

• How do we evaluate ? • Using conditional Bayes’ rule we get

• And we simplifyCurrent measurement only depends on current state and map cell

Current state without current measurement provides no additional information about the occupancy of the map cell

Note the similarity

Page 37: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Evaluating the occupancy of a map cell

• And we simplify:

• Another way to write this:

• Belief at time t-1 was updated to belief at time t based on likelihood of measurement received at time t.

Page 38: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Evaluating the occupancy of a map cell

• And we simplify:

• Another way to write this:So, as long as we can evaluate the measurement likelihood

and the normalization factor

we can do the belief update.

Page 39: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Evaluating the occupancy of a map cell

• And we simplify:

• Another way to write this:So, as long as we can evaluate the measurement likelihood

and the normalization factor

we can do the belief update.

Problem: this is hard to compute. How can we avoid it?

Page 40: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

The log-odds trick for binary random variables

• We showed

• Define the log odds ratio

Page 41: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

The log-odds trick for binary random variables

• We showed (1)

• Define the log odds ratio

• Then (1) becomes

Page 42: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

The log-odds trick for binary random variables

• We showed (1)

• Define the log odds ratio

• Then (1) becomes • We can recover the original belief as

Page 43: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

The log-odds trick for binary random variables

• We showed (1)

• Define the log odds ratio

• Then (1) becomes

So, as long as we can evaluate the log odds ratio for the measurement likelihood:

we can do the belief update.

Page 44: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Log-odds ratio for the measurement likelihood

• We want to compute to do the belief update

• We apply conditional Bayes’ rule again:

Page 45: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Log-odds ratio for the measurement likelihood

• We want to compute

• We apply conditional Bayes’ rule again:

• If we take the log-odds ratio:

• We can simplify further: Knowing the current state provides no information about whether cell is occupied, if there are no observations

Page 46: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Log-odds ratio for the measurement likelihood

• We want to compute

• We apply conditional Bayes’ rule again:

• If we take the log-odds ratio:

• We can simplify further:

Prior probability of cell being occupied. Can choose uniform distribution, for example.

Page 47: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Log-odds ratio for the measurement likelihood

• We want to compute

• We apply conditional Bayes’ rule again:

• If we take the log-odds ratio:

• We can simplify further: Inverse measurement model: what is the likelihood of the map cell being occupied given the current state and current measurement?

Page 48: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Log-odds ratio for the measurement likelihood

• We want to compute but it’s hard

• Instead, we can compute the log-odds ratio of the measurement likelihood in terms of the inverse measurement model:

Inverse measurement model: what is the likelihood of the map cell being occupied given the current state and current measurement?

Page 49: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Inverse sensor measurement model

Given map cell , the robot’s state , and beams

Find index k of sensor beam that is closest in heading to the cell

Page 50: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Inverse sensor measurement model

Given map cell , the robot’s state , and beams

Find index k of sensor beam that is closest in heading to the cell

If the cell is sufficiently closer than // Cell is most likely free

Return that is well below 0.5

Page 51: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Inverse sensor measurement model

Given map cell , the robot’s state , and beams

Find index k of sensor beam that is closest in heading to the cell

If the cell is sufficiently closer than // Cell is most likely free

Return that is well below 0.5

If the cell is sufficiently farther than or out of the field of view // We don’t have enough information to decide whether cell is occupied

Return prior occupation probability

Page 52: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Inverse sensor measurement model

Given map cell , the robot’s state , and beams

Find index k of sensor beam that is closest in heading to the cell

If the cell is sufficiently closer than // Cell is most likely free

Return that is well below 0.5

If the cell is sufficiently farther than or out of the field of view // We don’t have enough information to decide whether cell is occupied

Return prior occupation probability

If the cell is nearly as far as the measurement // Cell is most likely occupied

Return that is well above 0.5

Page 53: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

inverse_sensor_measurement_model( , , ) From Probabilistic Robotics, chapter 9.2

• Let be the center of the cell • Let • Let // Might need to ensure this angle difference is in • The index of the closest-in-heading beam to is • If or

• Return the log odds ratio of the prior occupancy

• If and • Return the log odds ratio of being occupied (corresponding to occupation probability > 0.5)

• If • Return the log odds ratio of being free (corresponding to occupation probability < 0.5)

Example

Cell too far to be "seen"

Page 54: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Recap• We wanted to compute the likelihood of any map based on known states and observations

Page 55: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Recap• We wanted to compute the likelihood of any map based on known path and observations

• To evaluate we had to apply Bayes’ theorem, which revealed a way to recursively update the belief

Very frequent reasoning in probabilistic

robotics

Page 56: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Recap• We wanted to compute the likelihood of any map based on known path and observations

• To evaluate we had to apply Bayes’ theorem, which revealed a way to recursively update the belief

• To avoid evaluating we used the log odds ratio

Can do this for binary random variables

Page 57: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Recap• We wanted to compute the likelihood of any map based on known path and observations

• To evaluate we had to apply Bayes’ theorem, which revealed a way to recursively update the belief

• To avoid evaluating we used the log odds ratio

• Computing the forward measurement model was hard, so we applied Bayes’ rule again, to get an inverse measurement model and an easier-to-compute log-odds ratio:

Page 58: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Occupancy Grid Algorithm• Upon reception of a new laser/sonar/scan measurement • Let the robot’s current state be • Let the previous log-odds ratio of the occupancy belief be the 2D array where i is a row, j is a column

In the beginning we set the prior where the occupancy probability is a design decision.

Page 59: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Occupancy Grid Algorithm• Upon reception of a new laser/sonar/scan measurement • Let the robot’s current state be • Let the previous log-odds ratio of the occupancy belief be the 2D array where i is a row, j is a column

In the beginning we set the prior where the occupancy probability is a design decision.

• For all cells (i,j) in the grid • If the cell (i,j) is in the field of view of the robot’s sensor at state

• Else

• If asked, return the following 2D matrix of occupancy probabilities:

Page 60: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

Results

The maximum likelihood map is obtained by clipping the occupancy grid map at a threshold of 0.5

Page 61: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs
Page 62: Oct26 Occupancy Grid Mapping With Known Posesdudek/417/Oct26_Occupancy_Grid...Polaroid sonar emitter/receivers sonar timeline 0 a “chirp” is emitted into the environment 75µs

What we want to do