Title: Apresenta
1I3S - MAUVE
2Outline
Problem formulation Mapping Off-line On-line Na
vigation Real Time Optimally Adapting Meshes
(ROAM) Noiseless data Noisy data Dynamically
expand the support Conclusions and future work
3Problem Formulation
- Mapping
- Given a set of altitude measures hi taken by a
robot at positions (xi,yi,di), iteratively build
an efficient representation of the observed
sea-bed surface - Problems
- large volume of data (off-line and on-line
mapping) - noisy data (off-line and on-line mapping)
- dynamic definition of the support S (on-line
mapping)
4Off-line Mapping
- Find an efficient representation of a given set
of data points - useful for on-line use of an a priori known map
(limited on-board memory) - fast post-mission visualisation on acquired data
- Two distinct situations
- noise-free data (existing maps)
- noisy data (learned maps)
5On-line Mapping
Recursive update of an internal representation
(of reduced complexity) of a set of (noisy) data
points New problem the support set S is not
known a priori (it depends on the robot
trajectory) the grid that supports the
representation must be dynamically expanded.
6Navigation
- Problem
- Given an internal map M, which contains uncertain
information about the sea-bed depth over an area
S, use the current robots measures to locate the
robot in the map. Goal reset large
dead-reckoning errors, bound navigation errors. - Approaches
- two step procedures (association ? filtering)
- non-linear filters (Gauss mixtures, particular
filtering,...) - Requires characterisation of the uncertainty
associated to - the current estimates of the robot position
(xi,yi,zi) - the uncertainty associated to the altitude
measures, hi - the uncertainty associated to the map M at each
point zM(x,y) -
7ROAM
Real Time Optimally Adapting Meshes
- Algorithm originated in the Computer Graphics
community for fast visualisation of 3D animated
scenes. - Triangulation algorithm based on a regular square
grid of size (2n1)?(2n1), n 0, 1, 2, - that approximates a surface by a series of
triangular facets. - The main advantages of the algorithm are
- it adapts the resolution (size of the triangles)
to the local characteristics of the surface
(minimize the number of triangles that must be
drawn) - ? on-board memory requirements
- pointer structure that enables fast access to
the individual triangles - ? real-time processing of the data
8Example (ROAM)
9Binary Triangle Tree (ROAM)
Example n 1
10Notation (ROAM)
Notation for neighboring triangles
Right neighbor
Left neighbor
Triangle T
Base neighbor
Every node has six pointers.
11Splitting
Splitting is done when a triangle is not a good
enough approximation of the data. It increases
the depth of the tree at that node. Constraint
splitting of some triangles forces split of
other triangles to prevent discontinuities in the
mesh
Example
12Merge
Merge The operation opposit to split where two
smaller triangles are merged to build a bigger
triangle (they represent irrelevant details). It
corresponds to eliminating branches at the lowest
tree level (the eliminated triangles are
leaves). If a triangle and its base neighbor
have been split once, they are said to form a
mergeable diamond.
Using split and merge operations any
triangulation can be obtained from any other
given triangulation.
13Error Metric ( ROAM )
What is an error metric (associated to the
triangles)?
Example Geometric error metric eh At
the leaf nodes eh 0 elsewhere in the tree eh
max (eh,leftchild , eh,righchild ) h
h
14Algorithm (ROAM)
The triangulation algorithm starts with the
complete binary tree of highest depth, and
proceeds in two steps
- Compute the error metric for the current tree
(recursively from the tree leaves) - Repeat until no changes are made
- at every mergeable diamond
- if (eh lt threshold and eh,baseneighborlt
threshold) - eliminate the children nodes
15ROAM for Mapping
- Goal
- data compression (? memory limitations),
- fast access to values (? real-time processing)
- Drawback
- the support of the representation is static, the
algorithm needs to know all input data (over a
complete regular grid) at once.
16ROAM for Off-line Mapping
- For noise-free measures
- Interpolate the data points over a regular grid
(using, for instance, linear interpolation). - Apply ROAM to obtain a grid adapted to the
characteristics of the terrain (concentrate
density of points in high variability regions).
- For noisy measures
- Define a regular grid at the finest admissible
level of representation - Recursiely update the grid points using the data
set (Recursive Least Squares) - Apply ROAM to obtain a variable grid adapted to
the geometry of the represented terrain. - New error metric
-
17Error Metrics
We use two error metrics 1. Geometric error
The angle a between the two children 2.
Statistical error The mean of the variances of
the points that build up the triangle. It
indicates if the triangle is rather stable.
a
18Recursive Least Squares (RLS)
Linear Model z(k) ?T (k)?(k) e(k) k-th
data point
vector of grid points interpolation
operator Update equations ?(k) ?(k-1)
K(k) (z(k) - ?T (k) ?(k-1)) K(k) P(k) ?
(k) P(k) P(k-1) P(k-1) ? (k) ?T
(k)P(k-1)/1 ?T (k)P(k-1) ?T (k) P(k) is the
covariance matrix K(k) is the gain vector
19Mapping Offline (example)
Trajectory of the robot
Reconstructed surface (artificial noise with a
variance of 1 has been added)
20ROAM for On-line Mapping
Problem No a priori knowledge of the surface
support S Solution Dynamic expansion of the
grid
Start with a grid of a fixed size. If the robot
goes outside the grid ? Add a new grid of the
same size and link it to its neighbors
21ROAM for On-line Mapping
Modifications of the original ROAM algorithm
Split and merge operations New boundaries
constraints
Linking the new triangle binary trees
Maintaining ROAM structure
Merging the smal grids into bigger grids when
possible
22Mapping Online (example)
Trajectory of the robot
On-line reconstructed surface
23Conclusions and future work
- Conclusions
- ROAM is efficient and structured
- The off-line version is fully implemented.
- The on-line partially implemented.
- Future work
- Introduce the changes required for the on-line
version. - Evaluate the obtained map from a navigation point
of view.