Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef ODOMETRYINFO_H_
00029 #define ODOMETRYINFO_H_
00030
00031 #include <map>
00032 #include "rtabmap/core/Transform.h"
00033 #include <opencv2/features2d/features2d.hpp>
00034
00035 namespace rtabmap {
00036
00037 class OdometryInfo
00038 {
00039 public:
00040 OdometryInfo() :
00041 lost(true),
00042 matches(0),
00043 inliers(0),
00044 icpInliersRatio(0.0f),
00045 variance(0.0f),
00046 features(0),
00047 localMapSize(0),
00048 localScanMapSize(0),
00049 timeEstimation(0.0f),
00050 timeParticleFiltering(0.0f),
00051 stamp(0),
00052 interval(0),
00053 distanceTravelled(0.0f),
00054 type(0)
00055 {}
00056
00057 OdometryInfo copyWithoutData() const
00058 {
00059 OdometryInfo output;
00060 output.lost = lost;
00061 output.matches = matches;
00062 output.inliers = inliers;
00063 output.icpInliersRatio = icpInliersRatio;
00064 output.variance = variance;
00065 output.features = features;
00066 output.localMapSize = localMapSize;
00067 output.localScanMapSize = localScanMapSize;
00068 output.timeEstimation = timeEstimation;
00069 output.timeParticleFiltering = timeParticleFiltering;
00070 output.stamp = stamp;
00071 output.transform = transform;
00072 output.transformFiltered = transformFiltered;
00073 output.transformGroundTruth = transformGroundTruth;
00074 output.distanceTravelled = distanceTravelled;
00075 return output;
00076 }
00077
00078 bool lost;
00079 int matches;
00080 int inliers;
00081 float icpInliersRatio;
00082 float variance;
00083 int features;
00084 int localMapSize;
00085 int localScanMapSize;
00086 float timeEstimation;
00087 float timeParticleFiltering;
00088 double stamp;
00089 double interval;
00090 Transform transform;
00091 Transform transformFiltered;
00092 Transform transformGroundTruth;
00093 float distanceTravelled;
00094
00095 int type;
00096
00097
00098 std::multimap<int, cv::KeyPoint> words;
00099 std::vector<int> wordMatches;
00100 std::vector<int> wordInliers;
00101 std::map<int, cv::Point3f> localMap;
00102 cv::Mat localScanMap;
00103
00104
00105 std::vector<cv::Point2f> refCorners;
00106 std::vector<cv::Point2f> newCorners;
00107 std::vector<int> cornerInliers;
00108 };
00109
00110 }
00111
00112 #endif