mirror of
https://github.com/introlab/rtabmap.git
synced 2026-10-05 17:47:49 +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:
+10
-10
@@ -60,9 +60,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#include "rtabmap/core/optimizer/OptimizerG2O.h"
|
||||
#include <pcl/io/pcd_io.h>
|
||||
#include <pcl/common/common.h>
|
||||
#include <rtabmap/core/OccupancyGrid.h>
|
||||
#include <rtabmap/core/MarkerDetector.h>
|
||||
#include <opencv2/imgproc/types_c.h>
|
||||
#include <rtabmap/core/LocalGridMaker.h>
|
||||
|
||||
namespace rtabmap {
|
||||
|
||||
@@ -153,7 +153,7 @@ Memory::Memory(const ParametersMap & parameters) :
|
||||
}
|
||||
_registrationIcpMulti = new RegistrationIcp(paramsMulti);
|
||||
|
||||
_occupancy = new OccupancyGrid(parameters);
|
||||
_localMapMaker = new LocalGridMaker(parameters);
|
||||
_markerDetector = new MarkerDetector(parameters);
|
||||
this->parseParameters(parameters);
|
||||
}
|
||||
@@ -545,7 +545,7 @@ Memory::~Memory()
|
||||
delete _registrationPipeline;
|
||||
delete _registrationIcpMulti;
|
||||
delete _registrationVis;
|
||||
delete _occupancy;
|
||||
delete _localMapMaker;
|
||||
}
|
||||
|
||||
void Memory::parseParameters(const ParametersMap & parameters)
|
||||
@@ -749,9 +749,9 @@ void Memory::parseParameters(const ParametersMap & parameters)
|
||||
}
|
||||
}
|
||||
|
||||
if(_occupancy)
|
||||
if(_localMapMaker)
|
||||
{
|
||||
_occupancy->parseParameters(params);
|
||||
_localMapMaker->parseParameters(params);
|
||||
}
|
||||
|
||||
if(_markerDetector)
|
||||
@@ -3706,7 +3706,7 @@ unsigned long Memory::getMemoryUsed() const
|
||||
memoryUsage += sizeof(Feature2D) + _feature2D->getParameters().size()*(sizeof(std::string)*2+sizeof(ParametersMap::iterator)) + sizeof(ParametersMap);
|
||||
memoryUsage += sizeof(Registration);
|
||||
memoryUsage += sizeof(RegistrationIcp);
|
||||
memoryUsage += _occupancy->getMemoryUsed();
|
||||
memoryUsage += sizeof(LocalGridMaker);
|
||||
memoryUsage += sizeof(MarkerDetector);
|
||||
memoryUsage += sizeof(DBDriver);
|
||||
|
||||
@@ -5842,14 +5842,14 @@ Signature * Memory::createSignature(const SensorData & inputData, const Transfor
|
||||
// Occupancy grid map stuff
|
||||
if(_createOccupancyGrid && !isIntermediateNode)
|
||||
{
|
||||
if( (_occupancy->isGridFromDepth() && !data.depthOrRightRaw().empty()) ||
|
||||
(!_occupancy->isGridFromDepth() && !data.laserScanRaw().empty()))
|
||||
if( (_localMapMaker->isGridFromDepth() && !data.depthOrRightRaw().empty()) ||
|
||||
(!_localMapMaker->isGridFromDepth() && !data.laserScanRaw().empty()))
|
||||
{
|
||||
cv::Mat ground, obstacles, empty;
|
||||
float cellSize = 0.0f;
|
||||
cv::Point3f viewPoint(0,0,0);
|
||||
_occupancy->createLocalMap(*s, ground, obstacles, empty, viewPoint);
|
||||
cellSize = _occupancy->getCellSize();
|
||||
_localMapMaker->createLocalMap(*s, ground, obstacles, empty, viewPoint);
|
||||
cellSize = _localMapMaker->getCellSize();
|
||||
s->sensorData().setOccupancyGrid(ground, obstacles, empty, cellSize, viewPoint);
|
||||
|
||||
t = timer.ticks();
|
||||
|
||||
Reference in New Issue
Block a user