mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-12 20:49:50 +08:00
Updated OdomInfo msg
This commit is contained in:
+22
-31
@@ -1,46 +1,36 @@
|
|||||||
|
|
||||||
Header header
|
Header header
|
||||||
|
|
||||||
#class rtabmap::OdometryInfo
|
|
||||||
#{
|
|
||||||
# bool lost;
|
|
||||||
# int matches;
|
|
||||||
# int inliers;
|
|
||||||
# float varianceLin;
|
|
||||||
# float varianceAng;
|
|
||||||
# int features;
|
|
||||||
# int localMapSize;
|
|
||||||
# float time;
|
|
||||||
#
|
|
||||||
# int type; // 0=BOW, 1=Optical Flow, 2=ICP
|
|
||||||
#
|
|
||||||
# // BOW odometry
|
|
||||||
# std::multimap<int, cv::KeyPoint> words;
|
|
||||||
# std::vector<int> wordMatches;
|
|
||||||
# std::vector<int> wordInliers;
|
|
||||||
#
|
|
||||||
# // Optical Flow odometry
|
|
||||||
# std::vector<cv::Point2f> refCorners;
|
|
||||||
# std::vector<cv::Point2f> newCorners;
|
|
||||||
# std::vector<int> cornerInliers;
|
|
||||||
#}
|
|
||||||
|
|
||||||
bool lost
|
bool lost
|
||||||
int32 matches
|
int32 matches
|
||||||
int32 inliers
|
int32 inliers
|
||||||
|
float32 icpInliersRatio
|
||||||
float32 varianceLin
|
float32 varianceLin
|
||||||
float32 varianceAng
|
float32 varianceAng
|
||||||
int32 features
|
int32 features
|
||||||
int32 localMapSize
|
int32 localMapSize
|
||||||
int32 localScanMapSize
|
int32 localScanMapSize
|
||||||
|
int32 localKeyFrames
|
||||||
|
int32 localBundleOutliers
|
||||||
|
int32 localBundleConstraints
|
||||||
|
float32 localBundleTime
|
||||||
|
bool keyFrameAdded
|
||||||
float32 timeEstimation
|
float32 timeEstimation
|
||||||
float32 timeParticleFiltering
|
float32 timeParticleFiltering
|
||||||
float32 stamp
|
float32 stamp
|
||||||
float32 interval
|
float32 interval
|
||||||
float32 distanceTravelled
|
float32 distanceTravelled
|
||||||
|
|
||||||
|
geometry_msgs/Transform transform
|
||||||
|
geometry_msgs/Transform transformFiltered
|
||||||
|
|
||||||
|
# 0=F2M, 1=F2F
|
||||||
int32 type
|
int32 type
|
||||||
|
|
||||||
|
# F2M odometry
|
||||||
|
# std::multimap<int, cv::KeyPoint> words;
|
||||||
|
# std::vector<int> wordMatches;
|
||||||
|
# std::vector<int> wordInliers;
|
||||||
int32[] wordsKeys
|
int32[] wordsKeys
|
||||||
KeyPoint[] wordsValues
|
KeyPoint[] wordsValues
|
||||||
int32[] wordMatches
|
int32[] wordMatches
|
||||||
@@ -48,14 +38,15 @@ int32[] wordInliers
|
|||||||
int32[] localMapKeys
|
int32[] localMapKeys
|
||||||
Point3f[] localMapValues
|
Point3f[] localMapValues
|
||||||
|
|
||||||
Point2f[] refCorners
|
|
||||||
Point2f[] newCorners
|
|
||||||
int32[] cornerInliers
|
|
||||||
|
|
||||||
geometry_msgs/Transform transform
|
|
||||||
geometry_msgs/Transform transformFiltered
|
|
||||||
|
|
||||||
# compressed local scan map data
|
# compressed local scan map data
|
||||||
# use rtabmap::util3d::uncompressData() from "rtabmap/core/util3d.h"
|
# use rtabmap::util3d::uncompressData() from "rtabmap/core/util3d.h"
|
||||||
uint8[] localScanMap
|
uint8[] localScanMap
|
||||||
|
|
||||||
|
# F2F odometry
|
||||||
|
# std::vector<cv::Point2f> refCorners;
|
||||||
|
# std::vector<cv::Point2f> newCorners;
|
||||||
|
# std::vector<int> cornerInliers;
|
||||||
|
Point2f[] refCorners
|
||||||
|
Point2f[] newCorners
|
||||||
|
int32[] cornerInliers
|
||||||
|
|
||||||
|
|||||||
+20
-8
@@ -874,13 +874,19 @@ rtabmap::OdometryInfo odomInfoFromROS(const rtabmap_ros::OdomInfo & msg)
|
|||||||
rtabmap::OdometryInfo info;
|
rtabmap::OdometryInfo info;
|
||||||
info.lost = msg.lost;
|
info.lost = msg.lost;
|
||||||
info.matches = msg.matches;
|
info.matches = msg.matches;
|
||||||
info.features = msg.features;
|
|
||||||
info.inliers = msg.inliers;
|
info.inliers = msg.inliers;
|
||||||
info.localMapSize = msg.localMapSize;
|
info.icpInliersRatio = msg.icpInliersRatio;
|
||||||
info.localScanMapSize = msg.localScanMapSize;
|
|
||||||
info.timeEstimation = msg.timeEstimation;
|
|
||||||
info.varianceLin = msg.varianceLin;
|
info.varianceLin = msg.varianceLin;
|
||||||
info.varianceAng = msg.varianceAng;
|
info.varianceAng = msg.varianceAng;
|
||||||
|
info.features = msg.features;
|
||||||
|
info.localMapSize = msg.localMapSize;
|
||||||
|
info.localScanMapSize = msg.localScanMapSize;
|
||||||
|
info.localKeyFrames = msg.localKeyFrames;
|
||||||
|
info.localBundleOutliers = msg.localBundleOutliers;
|
||||||
|
info.localBundleConstraints = msg.localBundleConstraints;
|
||||||
|
info.localBundleTime = msg.localBundleTime;
|
||||||
|
info.keyFrameAdded = msg.keyFrameAdded;
|
||||||
|
info.timeEstimation = msg.timeEstimation;
|
||||||
info.timeParticleFiltering = msg.timeParticleFiltering;
|
info.timeParticleFiltering = msg.timeParticleFiltering;
|
||||||
info.stamp = msg.stamp;
|
info.stamp = msg.stamp;
|
||||||
info.interval = msg.interval;
|
info.interval = msg.interval;
|
||||||
@@ -919,13 +925,19 @@ void odomInfoToROS(const rtabmap::OdometryInfo & info, rtabmap_ros::OdomInfo & m
|
|||||||
{
|
{
|
||||||
msg.lost = info.lost;
|
msg.lost = info.lost;
|
||||||
msg.matches = info.matches;
|
msg.matches = info.matches;
|
||||||
msg.features = info.features;
|
|
||||||
msg.inliers = info.inliers;
|
msg.inliers = info.inliers;
|
||||||
msg.localMapSize = info.localMapSize;
|
msg.icpInliersRatio = info.icpInliersRatio;
|
||||||
msg.localScanMapSize = info.localScanMapSize;
|
|
||||||
msg.timeEstimation = info.timeEstimation;
|
|
||||||
msg.varianceLin = info.varianceLin;
|
msg.varianceLin = info.varianceLin;
|
||||||
msg.varianceAng = info.varianceAng;
|
msg.varianceAng = info.varianceAng;
|
||||||
|
msg.features = info.features;
|
||||||
|
msg.localMapSize = info.localMapSize;
|
||||||
|
msg.localScanMapSize = info.localScanMapSize;
|
||||||
|
msg.localKeyFrames = info.localKeyFrames;
|
||||||
|
msg.localBundleOutliers = info.localBundleOutliers;
|
||||||
|
msg.localBundleConstraints = info.localBundleConstraints;
|
||||||
|
msg.localBundleTime = info.localBundleTime;
|
||||||
|
msg.keyFrameAdded = info.keyFrameAdded;
|
||||||
|
msg.timeEstimation = info.timeEstimation;
|
||||||
msg.timeParticleFiltering = info.timeParticleFiltering;
|
msg.timeParticleFiltering = info.timeParticleFiltering;
|
||||||
msg.stamp = info.stamp;
|
msg.stamp = info.stamp;
|
||||||
msg.interval = info.interval;
|
msg.interval = info.interval;
|
||||||
|
|||||||
Reference in New Issue
Block a user