diff --git a/CMakeLists.txt b/CMakeLists.txt index 3b3e59d9..90cec1c9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,7 +17,7 @@ find_package(octomap_ros) ## System dependencies are found with CMake's conventions # find_package(Boost REQUIRED COMPONENTS system) -find_package(RTABMap 0.10.9 REQUIRED) +find_package(RTABMap 0.10.10 REQUIRED) find_package(OpenCV REQUIRED) diff --git a/package.xml b/package.xml index 8c461a59..e972177b 100644 --- a/package.xml +++ b/package.xml @@ -1,7 +1,7 @@ rtabmap_ros - 0.10.4 + 0.10.10 RTAB-Map's ros-pkg. RTAB-Map is a RGB-D SLAM approach with real-time constraints. Mathieu Labbe Mathieu Labbe diff --git a/src/rviz/InfoDisplay.cpp b/src/rviz/InfoDisplay.cpp index 075a3825..bbe6e052 100644 --- a/src/rviz/InfoDisplay.cpp +++ b/src/rviz/InfoDisplay.cpp @@ -76,8 +76,13 @@ void InfoDisplay::processMessage( const rtabmap_ros::InfoConstPtr& msg ) info_ = ""; } loopTransform_ = rtabmap_ros::transformFromGeometryMsg(msg->loopClosureTransform); + + rtabmap::Statistics stat; + rtabmap_ros::infoFromROS(*msg, stat); + statistics_ = stat.data(); } + this->emitTimeSignal(msg->header.stamp); } @@ -100,6 +105,11 @@ void InfoDisplay::update( float wall_dt, float ros_dt ) } this->setStatusStd(rviz::StatusProperty::Ok, "Global", tr("%1").arg(globalCount_).toStdString()); this->setStatusStd(rviz::StatusProperty::Ok, "Local", tr("%1").arg(localCount_).toStdString()); + + for(std::map::const_iterator iter=statistics_.begin(); iter!=statistics_.end(); ++iter) + { + this->setStatus(rviz::StatusProperty::Ok, iter->first.c_str(), tr("%1").arg(iter->second)); + } } } @@ -111,6 +121,7 @@ void InfoDisplay::reset() info_.clear(); globalCount_ = 0; localCount_ = 0; + statistics_.clear(); } } diff --git a/src/rviz/InfoDisplay.h b/src/rviz/InfoDisplay.h index 0c4c92da..1bd3d00d 100644 --- a/src/rviz/InfoDisplay.h +++ b/src/rviz/InfoDisplay.h @@ -60,6 +60,7 @@ private: QString info_; int globalCount_; int localCount_; + std::map statistics_; rtabmap::Transform loopTransform_; boost::mutex info_mutex_; };