mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 17:40:23 +08:00
GridMap integration (#1180)
* GridMap integration * Removed GridGlobal/FullUpdate parameter. Bump version 0.21.3. Mvoed specialized global map classes under global_map sub dir. Renamed Map -> GlobalMap. * UI: Added elevation map visualization * Added LocalGridCache class to share cache between global maps * Fixed OctoMap nans. DbViewer: Added frontiers visualization. * convenient functions for ros * Small fix * fixed build without GridMap * CI disabled fail-fast * CI updated checkout action to v4
This commit is contained in:
@@ -186,6 +186,14 @@ public:
|
||||
float opacity);
|
||||
void removeOccupancyGridMap();
|
||||
|
||||
bool addElevationMap(
|
||||
const cv::Mat & map32FC1,
|
||||
float resolution, // cell size
|
||||
float xMin,
|
||||
float yMin,
|
||||
float opacity);
|
||||
void removeElevationMap();
|
||||
|
||||
void updateCameraTargetPosition(
|
||||
const Transform & pose);
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
#include <rtabmap/core/Link.h>
|
||||
#include <rtabmap/core/Signature.h>
|
||||
#include <rtabmap/core/GlobalMap.h>
|
||||
|
||||
class Ui_DatabaseViewer;
|
||||
class QGraphicsScene;
|
||||
@@ -93,6 +94,7 @@ private Q_SLOTS:
|
||||
void selectObstacleColor();
|
||||
void selectGroundColor();
|
||||
void selectEmptyColor();
|
||||
void selectFrontierColor();
|
||||
void editDepthImage();
|
||||
void generateGraph();
|
||||
void editSaved2DMap();
|
||||
@@ -226,12 +228,10 @@ private:
|
||||
std::multimap<int, rtabmap::Link> linksRefined_;
|
||||
std::multimap<int, rtabmap::Link> linksAdded_;
|
||||
std::multimap<int, rtabmap::Link> linksRemoved_;
|
||||
std::map<int, std::pair<std::pair<cv::Mat, cv::Mat>, cv::Mat> > localMaps_; // < <ground, obstacles>, empty>
|
||||
std::map<int, std::pair<float, cv::Point3f> > localMapsInfo_; // <cell size, viewpoint>
|
||||
std::map<int, std::pair<std::pair<cv::Mat, cv::Mat>, cv::Mat> > generatedLocalMaps_; // < <ground, obstacles>, empty>
|
||||
std::map<int, std::pair<float, cv::Point3f> > generatedLocalMapsInfo_; // <cell size, viewpoint>
|
||||
std::map<int, LaserScan> modifiedLaserScans_;
|
||||
std::vector<double> odomMaxInf_;
|
||||
LocalGridCache localMaps_;
|
||||
LocalGridCache generatedLocalMaps_;
|
||||
OctoMap * octomap_;
|
||||
ExportCloudsDialog * exportDialog_;
|
||||
QDialog * editDepthDialog_;
|
||||
|
||||
@@ -39,6 +39,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#include "rtabmap/core/OdometryEvent.h"
|
||||
#include "rtabmap/core/CameraInfo.h"
|
||||
#include "rtabmap/core/Optimizer.h"
|
||||
#include "rtabmap/core/GlobalMap.h"
|
||||
#include "rtabmap/gui/PreferencesDialog.h"
|
||||
|
||||
#include <pcl/point_cloud.h>
|
||||
@@ -75,6 +76,7 @@ class PostProcessingDialog;
|
||||
class DepthCalibrationDialog;
|
||||
class DataRecorder;
|
||||
class OctoMap;
|
||||
class GridMap;
|
||||
class MultiSessionLocWidget;
|
||||
|
||||
class RTABMAP_GUI_EXPORT MainWindow : public QMainWindow, public UEventsHandler
|
||||
@@ -388,11 +390,13 @@ private:
|
||||
std::pair<int, std::pair<std::pair<pcl::PointCloud<pcl::PointXYZRGB>::Ptr, pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr>, pcl::IndicesPtr> > _previousCloud; // used for subtraction
|
||||
std::map<int, float> _cachedWordsCount;
|
||||
std::map<int, float> _cachedLocalizationsCount;
|
||||
rtabmap::LocalGridCache _cachedLocalMaps;
|
||||
|
||||
std::map<int, LaserScan> _createdScans;
|
||||
|
||||
rtabmap::OccupancyGrid * _occupancyGrid;
|
||||
rtabmap::OctoMap * _octomap;
|
||||
rtabmap::GridMap * _elevationMap;
|
||||
|
||||
std::map<int, pcl::PointCloud<pcl::PointXYZRGB>::Ptr> _createdFeatures;
|
||||
|
||||
|
||||
@@ -227,6 +227,7 @@ public:
|
||||
double getSubtractFilteringAngle() const;
|
||||
|
||||
bool getGridMapShown() const;
|
||||
int getElevationMapShown() const;
|
||||
int getGridMapSensor() const;
|
||||
bool projMapFrame() const;
|
||||
double projMaxGroundAngle() const;
|
||||
|
||||
Reference in New Issue
Block a user