0.11.10: Database update with occupancy grid and laser scan info. Added class LaserScanInfo and OccupancyGrid (incremental 2d grid map). Gui: 2d grid and octomap are udpated using occupancy grids saved in nodes.

This commit is contained in:
matlabbe
2016-08-21 19:33:01 -04:00
parent af02e02978
commit 013eba1d58
49 changed files with 3376 additions and 1259 deletions

View File

@@ -50,6 +50,7 @@ class CameraThread;
class OdometryThread;
class CloudViewer;
class LoopClosureViewer;
class OccupancyGrid;
}
class QGraphicsScene;
@@ -238,12 +239,6 @@ private:
const std::map<int, Transform> & groundTruths,
bool verboseProgress = false);
std::pair<pcl::PointCloud<pcl::PointXYZRGB>::Ptr, pcl::IndicesPtr> createAndAddCloudToMap(int nodeId, const Transform & pose, int mapId);
void createAndAddProjectionMap(
const pcl::PointCloud<pcl::PointXYZRGB>::Ptr & cloud,
const pcl::IndicesPtr & indices,
int nodeId,
const Transform & pose,
bool updateOctomap = false);
void createAndAddScanToMap(int nodeId, const Transform & pose, int mapId);
void createAndAddFeaturesToMap(int nodeId, const Transform & pose, int mapId);
Transform alignPosesToGroundTruth(std::map<int, Transform> & poses, const std::map<int, Transform> & groundTruth);
@@ -299,9 +294,11 @@ 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, cv::Mat> _createdScans;
std::map<int, std::pair<cv::Mat, cv::Mat> > _projectionLocalMaps; // <ground, obstacles>
std::map<int, std::pair<cv::Mat, cv::Mat> > _gridLocalMaps; // <ground, obstacles>
std::map<int, cv::Point3f> _gridViewPoints;
long _cachedGridsMemoryUsage;
rtabmap::OccupancyGrid * _occupancyGrid;
rtabmap::OctoMap * _octomap;
std::map<int, pcl::PointCloud<pcl::PointXYZRGB>::Ptr> _createdFeatures;

View File

@@ -154,7 +154,9 @@ public:
double getMapNoiseRadius() const;
int getMapNoiseMinNeighbors() const;
bool isCloudsShown(int index) const; // 0=map, 1=odom
bool isOctomapUpdated() const;
bool isOctomapShown() const;
bool isOctomap2dGrid() const;
int getOctomapTreeDepth() const;
bool isOctomapGroundAnObstacle() const;
int getCloudDecimation(int index) const; // 0=map, 1=odom
@@ -184,6 +186,7 @@ public:
bool getGridMapShown() const;
double getGridMapResolution() const;;
bool isGridMapEroded() const;
bool isGridMapIncremental() const;
double getGridMapFootprintRadius() const;
bool isGridMapFrom3DCloud() const;
bool projMapFrame() const;