MAS Mobile Robots Mapping 1
MAS Mobile Robots Mapping 1
Bonn-Rhein-Sieg
Mobile Robots
Mapping I
University of applied Sciences
Bonn-Rhein-Sieg
Last Lecture
Last week's main topics
Kinematic models of whole vehicles
wheel constraints revisited
- only fixed and steered standard wheels impose real constraints
full vehicle description
- all sliding constraints are combined into one matrix equation
- all rolling constraints are combined into one matrix equation
- equations solved either for position change or for wheel speeds
vehicle characteristics
mobility
- immediately achievable velocities
maneuverability
- ability to achieve different poses
2
University of applied Sciences
Bonn-Rhein-Sieg
Today's Lecture
Today's topics:
Introduction to Mapping building maps from sonar
Types of Maps data
Metric maps using sonars to estimate
- Grid maps obstacles
Topological maps a sonar sensor model
Sensor maps building an occupancy grid
Map representation map from sonar data
Grid based
Tree based
Other methods
3
University of applied Sciences
Bonn-Rhein-Sieg
Types of maps
4
University of applied Sciences
Bonn-Rhein-Sieg
Types of maps
Metric maps
Describe distances, sizes, shapes
Topological maps
Landmark based
Describe pathways, connectivity of landmarks
Sensor maps
Special kind of landmark-based maps
Tailored to specific perception of a robot
Can be combined with metric or topological maps
5
University of applied Sciences
Bonn-Rhein-Sieg
Usefulness of maps
Depend on the user
Depend on the task at hand
6
+
University of applied Sciences
Bonn-Rhein-Sieg
7
+
University of applied Sciences
Bonn-Rhein-Sieg
Metric maps
Focuses
On the position of objects
On the geometric shape of the world
Enables
To predict measurement
To obtain relations (sizes, distances) of arbitrary objects in the
map
Defined by its content, not the storage of the content
Can be grid based
Can be mathematical description
Can be tree
many more possibilities (drawing )
8
University of applied Sciences
Bonn-Rhein-Sieg
Topological map
Focuses on
Connection between places
- Which other place is directly reachable?
Sparse representation of the environment
Enables
Efficient path planning using graph-based algorithms
Direct encoding of distances or path costs
Two-fold representation
Connections (arcs or edges)
Description of places or landmarks (nodes)
- Required for localization
9
University of applied Sciences
Bonn-Rhein-Sieg
Map representation
(Sigwart Chapter 5.5)
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.5.2
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.5.2
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.5.2
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.5.2
Courtesy of S. Thrun
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.5.2
Topological Decomposition
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.5.2
node
Connectivity
(arch)
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.5.2
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.5.3
State-of-the-Art: Current Challenges in Map
Representation
Real world is dynamic
Perception is still a major challenge
Error prone
Extraction of useful information difficult
nodes)
Sensor fusion
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.8
SLAM
The Simultaneous Localization and Mapping
Problem
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.8
Map Building:
How to Establish a Map
3. Basic Requirements of a Map:
1. By Hand a way to incorporate newly sensed
information into the existing world
model
information and procedures for
estimating the robots position
information to do path planning and
other navigation task (e.g. obstacle
2. Automatically: Map Building avoidance)
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.8
Map Building:
The Problems
1. Map Maintaining: Keeping track 2. Representation and
of changes in the environment Reduction of Uncertainty
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.8.1
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.8.1
Map Representation
M is a set of n probabilistic feature locations z
Each feature is represented by the covariance matrix t and an
associated credibility factor ct
a and b define the learning and forgetting rate and ns and nu are
the number of matched and unobserved predictions up to time k,
respectively.
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.8.1
Autonomous Map Building
Stochastic Map Technique
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.8.2
R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 5 5.8.2
Dynamic Environments
Dynamical changes require continuous mapping
R. Siegwart, I. Nourbakhsh
University of applied Sciences
Bonn-Rhein-Sieg
That's all
on basic mapping
Next:
Example: sonar maps
29
University of applied Sciences
Bonn-Rhein-Sieg
30
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
The task
use low resolution sonar sensors
cone width ~30, ~ +/- 5 cm distance error, 0.3 5 m range
on a moving robot
to build a high resolution map
resolution approximately distance error
The problem
30 at 5 m yields 250 cm uncertainty
31
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
32
+
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
Problem of motion
Robot moves
Two measurements of same obstacle are different d'
how to find matching observation d
Obstacles seem to move in local reference
frame
Sensed at t +1 Sensed at t +1
Sensed at t
Sensed at t
t+1
t+1
t t
33
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
d'
Problem of motion d
Robot really moves
Two measurements of same obstacle are different
how to find matching observation
Obstacles seemingly move in local reference
frame
Need to keep track of obstacles
Kalman filter, but now tracks obstacles, not robot
- Here u is inverse robot motion
1st Alternative: transform previous estimate into new frame
- Allows direct update of estimate
2nd Alternative: keep all calculations in global reference frame
- Requires (precise) global localization
34
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
ut
35
+
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
Common problems
What is measured and estimated?
Direct pose estimate works well only for localizable landmarks
What is the pose of a wall?
Same for averaging raw sensor data.
How to deal with occurring and disappearing landmarks?
Need to match readings at t+1 with landmarks from step t
How to deal with data association (or assignment) problem?
- If in view of more then one sensors, used best-matching sensor
- If no match is found, or new value dj is outside 3 , start new estimation
- Over time more estimations than sensors evolve, requiring match step for
each measurement
- One sensor may update more than one estimation
36
University of applied Sciences
Bonn-Rhein-Sieg
37
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
Better:
Use full angular range for
occupied estimate (grey)
Whole area between sensor and
range estimate is know to be free
38
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
39
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
40
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
41
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
42
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
43
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
44
University of applied Sciences
Bonn-Rhein-Sieg
occupied free
wall wall
45
University of applied Sciences
Bonn-Rhein-Sieg
Summary I
R distance measured
A point P( x, y) is error of distance
free space if R / 2 opening angle of sonar cone
, polar coordinates of P
with probability p E = f E , wrt. sonar sensor
occupied space if [ R , R ] / 2
with probability p O = f O ,
46
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
R distance measured
Estimating high resolution maps error of distance
Probability function has two opening angle of sonar cone
, polar coordinates of P
components wrt. sonar sensor
{
2
Ea angular probability E a , =
1
2
if
2
0 else
Er distance probability
{
2
1
R
if R
E r R , , = 2
1
R
if R R
0 else
47
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
Probability for empty space
p E =E r ( R , ) E a ( , ) if [ R , R+ ]
Probability for occupied space
pO =E r R , E a , if [ R , R ]
Calculated here:
Confidence that a given (random)
point is free or occupied, based
on a single sonar measurement.
Note: pE pO
This is not a real probability.
Neither PE nor PO integrate to 1.
R
48
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
49
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
51
+
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
52
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
Update map
Map computed from free space set and occupied space set
Encodes free, unknown and occupied areas
Map X , Y [1,1]
Map() < 0 free space, probability Map X , Y
Map() > 0 occupied, probability Map ( X, Y )
{
Occ t ( X , Y ) if Occt ( X , Y )> Emp t ( X , Y )
Map t ( X , Y )= Emp t ( X , Y ) if Occt ( X , Y )< Emp t ( X , Y )
0 unknown
53
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
54
University of applied Sciences
Bonn-Rhein-Sieg
Sonar maps
55
University of applied Sciences
Bonn-Rhein-Sieg
That's all
56