Presentation is loading. Please wait.

Presentation is loading. Please wait.

Nice, 17/18 December 2001 Adaptive Grids For Bathymetry Mapping And Navigation Michel Chedid and Maria-João Rendas I3S - MAUVE.

Similar presentations


Presentation on theme: "Nice, 17/18 December 2001 Adaptive Grids For Bathymetry Mapping And Navigation Michel Chedid and Maria-João Rendas I3S - MAUVE."— Presentation transcript:

1 Nice, 17/18 December 2001 Adaptive Grids For Bathymetry Mapping And Navigation Michel Chedid and Maria-João Rendas I3S - MAUVE

2 Nice, 17/18 December 2001 Problem formulation MappingOff-lineOn-lineNavigation Real Time Optimally Adapting Meshes (ROAM) Noiseless data Noisy data Dynamically expand the support Conclusions and future work

3 Nice, 17/18 December 2001 Mapping Given a set of altitude measures h i taken by a robot at positions (x i,y i,d i ), 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) x i,y i didi hihi

4 Nice, 17/18 December 2001 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)

5 Nice, 17/18 December 2001 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.

6 Nice, 17/18 December 2001 Problem: Given an internal map M, which contains uncertain information about the sea-bed depth over an area S, use the current robot’s 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 (x i,y i,z i ) the uncertainty associated to the altitude measures, h i the uncertainty associated to the map M at each point z M (x,y)

7 Nice, 17/18 December 2001 Algorithm originated in the Computer Graphics community for fast visualisation of 3D animated scenes. Triangulation algorithm based on a regular square grid of size (2 n +1)  (2 n +1), 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

8 Nice, 17/18 December 2001

9 First level Second level LT1 RT1 LT2LT3 RT2RT3 LT4LT5 LT4LT5 LT6LT7 LT6 LT7 RT4RT5 RT4RT5 RT6RT7 RT6 RT7 Third level Example: n = 1

10 Nice, 17/18 December 2001 Notation for neighboring triangles: Triangle T Base neighbor Left neighbor Right neighbor Every node has six pointers.

11 Nice, 17/18 December 2001 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:

12 Nice, 17/18 December 2001 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.

13 Nice, 17/18 December 2001 What is an error metric (associated to the triangles)? Example : Geometric error metric e h At the leaf nodes: e h = 0 elsewhere in the tree: e h = max (e h,leftchild, e h,righchild ) + h h

14 Nice, 17/18 December 2001 The triangulation algorithm starts with the complete binary tree of highest depth, and proceeds in two steps: 1.Compute the error metric for the current tree (recursively from the tree leaves) 2.Repeat until no changes are made: at every mergeable diamond if (e h < threshold and e h,baseneighbor < threshold) eliminate the children nodes

15 Nice, 17/18 December 2001 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.

16 Nice, 17/18 December 2001 For noise-free measures 1.Interpolate the data points over a regular grid (using, for instance, linear interpolation). 2.Apply ROAM to obtain a grid adapted to the characteristics of the terrain (concentrate density of points in high variability regions). For noisy measures 1.Define a regular grid at the finest admissible level of representation 2.Recursiely update the grid points using the data set (Recursive Least Squares) 3.Apply ROAM to obtain a variable grid adapted to the geometry of the represented terrain. New error metric

17 Nice, 17/18 December 2001 We use two error metrics: 1. Geometric error: The angle α 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. α

18 Nice, 17/18 December 2001 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

19 Nice, 17/18 December 2001 Trajectory of the robotReconstructed surface (artificial noise with a variance of 1 has been added)

20 Nice, 17/18 December 2001 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

21 Nice, 17/18 December 2001 Modifications of the original ROAM algorithm Split and merge operations New boundaries constraints Merging the smal grids into bigger grids when possible Linking the new triangle binary trees Maintaining ROAM structure

22 Nice, 17/18 December 2001 Trajectory of the robotOn-line reconstructed surface

23 Nice, 17/18 December 2001 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.


Download ppt "Nice, 17/18 December 2001 Adaptive Grids For Bathymetry Mapping And Navigation Michel Chedid and Maria-João Rendas I3S - MAUVE."

Similar presentations


Ads by Google