28#ifndef ODOMETRYINFO_H_
29#define ODOMETRYINFO_H_
31#include <rtabmap/core/rtabmap_core_export.h>
33#include "rtabmap/core/Transform.h"
34#include "rtabmap/core/RegistrationInfo.h"
35#include "rtabmap/core/CameraModel.h"
36#include "rtabmap/core/LaserScan.h"
37#if CV_MAJOR_VERSION < 5
38#include <opencv2/features2d/features2d.hpp>
40#include <opencv2/features.hpp>
109 std::multimap<int, cv::KeyPoint>
words;
Represents 2D or 3D laser scan data with support for multiple point data formats.
What one Odometry iteration produced, beyond the pose.
std::vector< cv::Point2f > newCorners
Where those corners were found in the current frame (F2F).
LaserScan localScanMap
Local scan map in the odometry frame (F2M).
RegistrationInfo reg
Registration result: matches, inliers, covariance, ICP indicators and timings.
std::vector< cv::Point2f > refCorners
Corners of the reference frame (F2F).
std::map< int, cv::Point3f > localMap
Local feature map in the odometry frame, by word id (F2M).
double interval
Time since the previous processed frame (s); the divisor for velocities.
std::map< std::string, float > statistics(const Transform &pose=Transform())
Formats the content as the Odometry/... statistics.
int localBundleConstraints
Feature observations kept by the last local bundle adjustment.
int localMapSize
Number of 3D points in the local feature map (F2M).
int localKeyFrames
Number of key frames forming the local map (F2M).
std::vector< int > cornerInliers
Indices in refCorners / newCorners kept as inliers (F2F).
float distanceTravelled
Distance travelled since the odometry was last reset (m).
int features
Number of features extracted in the current frame.
double gravityRollError
Absolute roll difference between the estimated pose and the IMU gravity (rad).
int localBundleMaxKeyFramesForInlier
Highest number of key frames observing a same inlier.
double stamp
Stamp of the processed frame.
Transform guess
Motion guess given to the front-end (from the velocity model, an external pose or an IMU).
float timeEstimation
Time spent estimating the motion (s).
float timeDeskewing
Time spent deskewing the laser scan (s).
double gravityPitchError
Absolute pitch difference between the estimated pose and the IMU gravity (rad).
bool keyFrameAdded
True if this frame became a key frame of the local map.
int localBundleOutliers
Features rejected by the last local bundle adjustment.
bool lost
True when the motion could not be estimated on this frame (transform is then null).
std::map< int, std::vector< CameraModel > > localBundleModels
Camera models of localBundlePoses.
float timeParticleFiltering
Time spent in the particle filter (s), when enabled.
std::vector< int > localBundleOutliersPerCam
Outliers of the last local bundle adjustment, per camera.
Transform transformGroundTruth
Ground truth motion since the previous frame, when the data provides it.
OdometryInfo copyWithoutData() const
A copy without the heavy members (features, local map, scan).
std::multimap< int, cv::KeyPoint > words
Keypoints of the current frame, by word id (F2M).
std::map< int, Transform > localBundlePoses
Key frame poses optimized by the local bundle adjustment.
Transform transformFiltered
transform after Kalman or particle filtering, when enabled.
int localScanMapSize
Number of points in the local scan map (F2M).
float localBundleAvgInlierDistance
Average distance of the bundle adjustment inliers (m).
int type
Odometry strategy that produced this, see Parameters::kOdomStrategy().
Transform transform
Motion since the previous frame, null when lost.
int memoryUsage
Process memory used (MB), only with Parameters::kRtabmapPublishRAMUsage().
float localBundleTime
Time spent in the local bundle adjustment (s).
Statistics and diagnostics returned by Registration.