File: maps-observations.md

package info (click to toggle)
mrpt 1%3A2.5.8%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 87,448 kB
  • sloc: cpp: 551,662; ansic: 38,702; xml: 3,914; python: 2,547; sh: 404; makefile: 237
file content (125 lines) | stat: -rw-r--r-- 4,838 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
\page maps_observations Maps and observations compatibility matrices

There exists many kinds of metric maps and observations in MRPT, but some operations
involving a map and an observation (for example "inserting" an observation in a map to update it)
only make sense for a small subset of map-observation combinations.

See:

- List of all observations: see derived classes from mrpt::obs::CObservation
- List of all metric maps: see derived classes from mrpt::maps::CMetricMap

The following tables summarize the valid combinations, as implemented so far:

# Valid implementations of insertObservation()

List of observations and the metric maps in which mrpt::maps::CMetricMaps::insertObservation() is 
implemented for them:

- mrpt::obs::CObservation2DRangeScan
  - mrpt::maps::CColouredOctoMap
  - mrpt::maps::CHeightGridMap2D
  - mrpt::maps::CHeightGridMap2D_MRF
  - mrpt::maps::COccupancyGridMap2D
  - mrpt::maps::COctoMap
  - mrpt::maps::CPointsMap (any derived map)
- mrpt::obs::CObservation3DRangeScan
  - mrpt::maps::CColouredOctoMap
  - mrpt::maps::COctoMap
  - mrpt::maps::CPointsMap (any derived map)
- mrpt::obs::CObservation6DFeatures
  - (none)
- mrpt::obs::CObservationBeaconRanges
  - mrpt::maps::CBeaconMap (see [RO-SLAM](http://www.mrpt.org/tutorials/slam-algorithms/rangeonly_slam/))                                                                                         |
- mrpt::obs::CObservationBearingRange
  - (none)
- mrpt::obs::CObservationGasSensors
  - mrpt::maps::CGasConcentrationGridMap2D
- mrpt::obs::CObservationGPS
  - (none)
- mrpt::obs::CObservationImage
  - mrpt::maps::CLandmarksMap (Extract SIFT feats)
- mrpt::obs::CObservationIMU
  - (none)
- mrpt::obs::CObservationOdometry
  - (none)
- mrpt::obs::CObservationPointCloud
  - mrpt::maps::CPointsMap (any derived map) 
- mrpt::obs::CObservationRange
  - mrpt::maps::CPointsMap (any derived map)
  - mrpt::maps::COccupancyGridMap2D 
- mrpt::obs::CObservationReflectivity
  - mrpt::maps::CReflectivityGridMap2D  
- mrpt::obs::CObservationRFID
  - (none)
- mrpt::obs::CObservationRGBD360
  - (none)
- mrpt::obs::CObservationRobotPose
  - (none)
- mrpt::obs::CObservationStereoImages
  - mrpt::maps::CLandmarksMap (Extract SIFT feats)  
- mrpt::obs::CObservationStereoImagesFeatures
  - mrpt::maps::CLandmarksMap (Append/fuse landmarks) 
- mrpt::obs::CObservationVelodyneScan
  - mrpt::maps::CPointsMap (any derived map), mrpt::maps::CHeightGridMap2D, mrpt::maps::CHeightGridMap2D_MRF                                                                                      |
- mrpt::obs::CObservationWindSensor
  - (none)
- mrpt::obs::CObservationWirelessPower
  - mrpt::maps::CWirelessPowerGridMap2D 

# Valid implementations of computeObservationLikelihood()

Next follows the list of observations and the metric maps in which mrpt::maps::CMetricMaps::computeObservationLikelihood() is 
implemented for them. That means that, for example, particle filter algorithms can use 
those observations to localize a robot in the corresponding map, fusing the information from many sources if several 
observation-map pairs are valid for a given robot.

- mrpt::obs::CObservation2DRangeScan
  - mrpt::maps::CColouredOctoMap
  - mrpt::maps::CPointsMap (any derived map)
  - mrpt::maps::COccupancyGridMap2D
  - mrpt::maps::COctoMap
  - mrpt::maps::CLandmarksMap
- mrpt::obs::CObservation3DRangeScan
  - mrpt::maps::CColouredOctoMap and mrpt::maps::COctoMap (must have pointcloud)
- mrpt::obs::CObservation6DFeatures
  - (none)
- mrpt::obs::CObservationBeaconRanges
  - mrpt::maps::CBeaconMap (Used for SLAM)
  - mrpt::maps::CLandmarksMap (Used for localization-only)
- mrpt::obs::CObservationBearingRange
  - (none, but check out the EKF-SLAM algorithms)
- mrpt::obs::CObservationGasSensors
  - (none...check?)
- mrpt::obs::CObservationGPS
  - mrpt::maps::CLandmarksMap (NMEA GGA datum)
- mrpt::obs::CObservationImage
  - (none)
- mrpt::obs::CObservationIMU
  - (none)
- mrpt::obs::CObservationOdometry
  - (none, but it is explicitly used by most SLAM algorithms)
- mrpt::obs::CObservationPointCloud
  - mrpt::maps::CPointsMap (any derived map)
  - mrpt::maps::CColouredOctoMap & mrpt::maps::COctoMap
- mrpt::obs::CObservationRange
  - (none)
- mrpt::obs::CObservationReflectivity
  - mrpt::maps::CReflectivityGridMap2D
- mrpt::obs::CObservationRFID
  - (none)
- mrpt::obs::CObservationRGBD360
  - (none)
- mrpt::obs::CObservationRobotPose
  - mrpt::maps::CLandmarksMap
- mrpt::obs::CObservationStereoImages
  - mrpt::maps::CLandmarksMap (Convert to SIFT features)
- mrpt::obs::CObservationStereoImagesFeatures
  - (none)
- mrpt::obs::CObservationVelodyneScan
  - mrpt::maps::CPointsMap (any derived map)
  - mrpt::maps::CColouredOctoMap & mrpt::maps::COctoMap
- mrpt::obs::CObservationWindSensor
  - (none)
- mrpt::obs::CObservationWirelessPower
  - (none)