4_Mapping-1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

Definitions

A Map… …is a data structure that models certain aspects of the


(in Robotics) environment, relevant to the robot or some of its functions

 Abstract/Selective view of the environment


 Compact model by discarding irrelevant information
 Different functions/modules of a robot may rely on different environmental features
 A robot may carry/build/maintain several distinct maps

…is the process of fusing accumulated sensor readings and/or


Mapping… external, a priori known data into a map data structure

Approaches to Mapping:
 Transformation of existing data (floor plans, CAD files, etc.)
 Offline mapping: post-processing of sensor readings collected before operation
(usually under supervision of a human operator)
 Online mapping: building a map from sensor readings gathered during operation
 Hybrid approaches, e. g. starting with a coarse base map, online refinement/
update from sensor reading

1
Which functions (of a robot) make use of maps?

 Localization
Map of… Reference Features/Landmarks
(Resemblance to nautic navigation using unique
features of cost lines)
 Motion Planning, Collision Avoidance
Map of… Obstacles/Free space
Traversal cost
Traversal utility
 Task planning
Map of… Subtasks and their interdependencies
Environment States linked by actions
 Mapping
Structural environment map for guiding the exploration process

Many different types of maps required

2
Interactions between the basic skills of a robot

Mapping with known Pose


Today (passive)
SLAM Mapping
Mapping with
Simultaneous
unknown Pose Localization
Exploration
And Mapping Active Mapping

(passive)
Planning
Localization

[Makarenko et al., 2002]


Active Localization

3
Selected Classification Criteria for Maps

𝑌
Landmarks
Metric Non-metric
Objects
All mapped data is associated with a location in a
𝑋 common metric coordinate system
Terrain Height
Non-topologic Topologic Locations/States
4
Map describes environment states/features 1 1 8
and their transitions/connections

Probabilistic Deterministic
𝝁&𝜮 Map includes uncertainty information, e. g. using (Only 𝒙)
probabilistic descriptions

Exact Approximate
Mapped information is described without
simplifications / approximations

4
Selected Map Types

 Feature Maps
 Point Clouds

 Bitmaps
 Occupancy Grids
 Cost Grids
 Digital Elevation Maps

 Road Maps
 Visibility Graphs
 Voronoi Diagrams

5
Non-volumetric features maps

Feature Maps / Landmarks (2D/3D)


Feature/Landmark = location + attributes attributes
Map
locations
Recognized
!High computational effort! Features/
Typical processing chain Sensor Feature Feature Landmarks
(e.g. Camera) Extraction Matching
 Data reduction 

Metric
Mapped data
Deterministic
Extension with
Uncertainty  SLAM

 Localization

 Collision
Avoidance

 Path Planning

6
Non-volumetric features maps

Point Clouds
Generated from LIDAR (3D), Stereo Camera (3D) or moving Rangefinder (2D)
 Localization via Scan Matching

 Postprocessing Polygonal Object


Point Cloud
Mesh Recognition

Metric
(Usually no
uncertainty)

 Localization

Collision
 Avoidance
(Depends on density)

 Path Planning
7
Binary Maps of Space/Volume

Bitmaps…
…describe a boolean property of the mapped space/volume
 Most common property: Presence of Obstacles
1 obstacle at 𝑖
 Practical implementation as regular grid of cells 𝑐𝑖 𝑐𝑖 =
0 else

Metric
Approximate
Deterministic

𝑐𝑖
 Localization
(scan matching)

Collision
 Avoidance

 Path Planning

8
Binary Maps of Space/Volume

Occupancy Grids… (also: Evidence Grids)


… store the probability that a cell is occupied by an obstacle
 Mapped property is boolean, BUT 𝑐𝑖 ∈ ℝ 𝑐𝑖 = 𝑃 𝑖 is obstacle
 usually generated from range finder data

gray=unexplored area Metric


𝑃 obstacle = 0.5 Approximate
Probabilistic

 Localization
white: 𝑃 obstacle ≈ 0  Collision
Avoidance
 Path Planning
𝑃 obstacle ≈ 1

9
Binary Maps of Space/Volume

Voxel Maps
Voxel = Volume element (resemblance to Pixel = Picture Element)
 3D Extension of Bitmaps/Occupancy grids
 can be generated from LIDAR
 Reduce memory consumption by storing only occupied cells

Hashing Hash ∈ ℕ balanced Tree


Efficient storage: Cell coordinates 𝑖, 𝑗, 𝑘 ∈ ℕ3
function data structure

10
Binary Maps of Space/Volume

Multi-Resolution Grids
Problem of uniform grids: storage complexity
2D Example 3D Example
- 10x10m environment - 10x10x10m environment
- 1cm² resolution - 1cm³ resolution
 106 cells (~MB)  109 cells (~GB)
Observation: Large portions of the environment are uniform  Redundancy
Conclusion: Reduce grid resolution in uniform areas

Usual implementation uses


binary subdivision/aggregation

2D: Quadtree 3D: Octree

(Note: Worst case complexity is increased) © http://kubrix.com


11
Non-binary Maps of Space/Volume

Cost Maps / Cost Grids Occupancy Grids


 Extension of bitmaps
 Cells store cost of traversal 𝑐𝑖 = cost 𝑖 ∈ ℝ ≠ 𝑐𝑖 = 𝑃 𝑖 is obstacle
 Costs may be hand-crafted to influence
path planning behavior, e. g. to increased clearance

Metric
Approximate
Deterministic

 Localization


Collision
Avoidance

 Path Planning
occupied …hard to traverse… …easy to traverse… free
12
Non-binary Maps of Space/Volume

Digital Elevation Maps (DEM)


 Mapped property: terrain height 𝑐𝑖 = height 𝑖 ∈ ℝ
 Grid map
 Memory-efficient 3D representation (2.5D Map)

Metric
Approximate
Deterministic

Localization
 (scan matching)

Collision
 Avoidance

Sea level max. elevation


 Path Planning

13
Maps that capture connectivity

Road maps (for long range path planning)


 Stored as graph

Topologic
Mapped data
Exact
Deterministic

Localization

Collision
 Avoidance

 Path Planning
© Google
14
W6/7
Maps that capture connectivity

Visibility Graphs
 Polygonal (2D) / polyhedral (3D) obstacle description
 Nodes = Obstacle Vertices
 Edges = All non-obstructed straight line connections between vertices
Disadvantage: Robot is very close to obstacles

Topologic
Edges Obstacle Exact
Deterministic
Obstacle

 Localization

Collision
Obstacle  Avoidance
Obstacle

 Path Planning

15
Maps that capture connectivity

Voronoi Diagram
 Graph structure
 Free space is divided into regions
 Region borders maximize distance to obstacles

Voronoi example for solid obstacles

Voronoi Diagram Topologic


from landmarks
Exact
Deterministic

 Localization

Collision
 Avoidance

 Path Planning

16
Summary of Map Types

Mapped Information

non-volumetric Space/Volume
Connectivity Graph
features Property
Voronoi Diag.

Non-
Recognizable Binary Non-Binary
discriminable
Few Quantity Many DEM
Visibility Graph
High Entropy per feature low Non-
Probabilistic
Postprocessing Probabilistic
complex none
of Sensor readings
Occupancy Grid Bitmap Cost Grid
Landmarks Point Cloud Roadmap

Thresholding Thresholding

Useful for… Collision Avoidance


Localization Path Planning
17
Mapping with known Pose

Occupancy Grid Mapping

Incremental map building algorithm that maintains &


updates a probabilistic description of a Bitmap
Inputs:
 Robot poses 𝒙′0 … 𝒙′𝑘 (exact)
 Sensor readings 𝒚′0 … 𝒚′𝑘 Same time base
e. g. Laser Rangefinder data
Output:
 Probabilistic description of a binary obstacle grid map 𝒎 = 𝑚𝑖
1 cell 𝑖 occupied
𝑚𝑖 = 1 ≤ 𝑖 ≤ 𝑊 ⋅ 𝐻 (𝑊=map width, 𝐻=map height)
0 else
i. e. an approximation to the posterior

𝑃 𝒎|𝒙0 , 𝒙1 , … 𝒙𝑘−1 , 𝒙𝑘 , 𝒚0 , 𝒚1 … , 𝒚𝑘−1 , 𝒚𝑘


 A priori map knowledge can be incorporated (e. g. from a floor plan)
 If no initial knowledge is available, initialize with uniform prior

18
Mapping with known Pose

Occupancy Grid Mapping Notation


Random variables Corresponding Events

𝑿𝑘 ∈ 𝒳 ⊆ ℝ𝑁𝑥 (continuous) 𝒙𝑘 ⇔ 𝑿𝑘 = 𝒙′𝑘


Robot pose at timestep 𝑘 Robot pose is 𝒙′𝑘 at timestep 𝑘
𝒀𝑘 ∈ 𝒴 ⊆ ℝ𝑁𝑦 (continuous) 𝒚𝑘 ⇔ 𝒀𝑘 = 𝒚′𝑘
Measurement received at 𝑘 Measurement 𝒚′𝑘 taken at timestep 𝑘
𝑀𝑖 ∈ free, occupied (binary) 𝑚𝑖 ⇔ 𝑀𝑖 = occupied
State of cell 𝑖 cell 𝑖 is occupied
𝑴 ∈ free, occupied 𝑊⋅𝐻 (discrete) 𝒎 ⇔ 𝑴 is a specific binary map
Instance of a (binary) map with 𝑊 ⋅ 𝐻 cells (one out of 2𝑊⋅𝐻 possible binary maps)

How to read 𝑃 𝑚𝑖 |𝒙0 , 𝒙1 , … 𝒙𝑘−1 , 𝒙𝑘 , 𝒚0 , 𝒚1 … , 𝒚𝑘−1 , 𝒚𝑘


 probability that cell 𝑖 is occupied if robot
was at 𝒙′0 and received measurement 𝒚′0 at timestep 0 and
was at 𝒙′1 and received measurement 𝒚′1 at timestep 1 and

was at 𝒙′𝑘−1 and received measurement 𝒚′𝑘−1 at timestep 𝑘 − 1
was at 𝒙′𝑘 and received measurement 𝒚′𝑘 at timestep 𝑘
19
Mapping with known Pose

Cell Independence Assumption

How to represent distribution of 𝑃 𝒎|𝒙0 , 𝒙1 , … 𝒙𝑘−1 , 𝒙𝑘 , 𝒚0 , 𝒚1 … , 𝒚𝑘−1 , 𝒚𝑘 ?


 Bitmap is a discrete random variable:

𝑃 +𝑃 +𝑃 +𝑃 +𝑃 +𝑃 +⋯

…+ 𝑃 +𝑃 +𝑃 +𝑃 +𝑃 +⋯

…+𝑃+𝑃+𝑃+𝑃+𝑃 =1

Number of individual probabilities: 2𝑊⋅𝐻 with 𝑊 ⋅ 𝐻~105


 Approximation by assuming independence of cells
𝑊⋅𝐻

𝑃 𝒎|𝒙0 , … , 𝒙𝑘 , 𝒚0 , … , 𝒚𝑘 ≈ 𝑃(𝑚𝒊 |𝒙0 , … , 𝒙𝑘 , 𝒚0 , … , 𝒚𝑘 )


𝑖=1
20

You might also like