cartographer icon indicating copy to clipboard operation
cartographer copied to clipboard

Questions regarding hits, misses, lookup tables, value conversion tables

Open jo-jstrm opened this issue 3 years ago • 0 comments

First of all, thank you very much for providing such a great piece of software!

Background

As part of a research project, I am extending the 2d probability grid and submap with additional information. Therefore, I must change, among others, the ProbabilityGridRangeDataInserter2d and the ProbabilityGrid. So far I have mapped the whole scan matching and data insertion into the grid as sequence diagrams. Currently, I get the new data as far as the ProbabilityGridRangeDataInserter, where I now want to adapt Insert()and everything related. I would say I have a good overview over the inner workings of cartographer. Thanks to my diagrams, I see where the members in question (see below) are used, but I do not quite understand the meaning of some of them.

Questions

What I do not understand is:

1.) What is the conceptual purpose of the ValueConversionTables in Submap2d and the ProbabilityGrid? I see in the code comment that they map from int to float, but I do not understand the layout of ValueConversionTables.bounds_to_lookup_table_ and its purpose.

2.) Could you shed some light on the higher-level meaning of those conversion tables? Why do we need such a mapping from int to float? I think I will not need the conversion tables for storing new and different data, but still want to understand their meaning.

Related to that, I am not completely sure what the purpose of the hit_table_ and miss_table_ combined with ApplyLookupTable() in the ProbabilityGridRangeDataInserter is. As I currently understand it, the lookup tables store odds for points (hits and misses) and can be accessed with the same indexes as the correspondence_cost_cells of the Grid2d. The correspondence cost cells are combined with hit and miss tables by calling ApplyLookupTable().

3.) Is this simply the probability update that is described in the paper (section IV. B)? 3.1) If not, what exactly do the the correspondence_cost_cells store?

jo-jstrm avatar Jan 05 '22 11:01 jo-jstrm