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:
The following tables summarize the valid combinations, as implemented so far:
See: mrpt::maps::CMetricMaps::insertObservation()
Observations | Maps |
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 | |
mrpt::obs::CObservationBeaconRanges | mrpt::maps::CBeaconMap (see RO-SLAM) |
mrpt::obs::CObservationBearingRange | |
mrpt::obs::CObservationGasSensors | mrpt::maps::CGasConcentrationGridMap2D |
mrpt::obs::CObservationGPS | |
mrpt::obs::CObservationImage | mrpt::maps::CLandmarksMap (Extract SIFT feats) |
mrpt::obs::CObservationIMU | |
mrpt::obs::CObservationOdometry | |
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 | |
mrpt::obs::CObservationRGBD360 | |
mrpt::obs::CObservationRobotPose | |
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 | |
mrpt::obs::CObservationWirelessPower | mrpt::maps::CWirelessPowerGridMap2D |
See: mrpt::maps::CMetricMaps::computeObservationLikelihood()