mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-04 00:37:46 +08:00
MapsManager: Don't ignore latest signature (-1) if the grid is created from 2D laser scans (so that empty space can be filled for the latest data)
This commit is contained in:
@@ -73,7 +73,8 @@ public:
|
|||||||
float & yMin,
|
float & yMin,
|
||||||
float & gridCellSize);
|
float & gridCellSize);
|
||||||
|
|
||||||
rtabmap::OctoMap * getOctomap() const {return octomap_;}
|
const rtabmap::OctoMap * getOctomap() const {return octomap_;}
|
||||||
|
const rtabmap::OccupancyGrid * getOccupancyGrid() const {return occupancyGrid_;}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// mapping stuff
|
// mapping stuff
|
||||||
|
|||||||
+3
-1
@@ -53,6 +53,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include <rtabmap/core/Memory.h>
|
#include <rtabmap/core/Memory.h>
|
||||||
#include <rtabmap/core/OdometryEvent.h>
|
#include <rtabmap/core/OdometryEvent.h>
|
||||||
#include <rtabmap/core/Version.h>
|
#include <rtabmap/core/Version.h>
|
||||||
|
#include <rtabmap/core/OccupancyGrid.h>
|
||||||
|
|
||||||
#ifdef WITH_OCTOMAP_ROS
|
#ifdef WITH_OCTOMAP_ROS
|
||||||
#ifdef RTABMAP_OCTOMAP
|
#ifdef RTABMAP_OCTOMAP
|
||||||
@@ -1140,7 +1141,8 @@ void CoreWrapper::process(
|
|||||||
filteredPoses.size() == 0 ||
|
filteredPoses.size() == 0 ||
|
||||||
rtabmap_.getMemory()->getLastSignatureId() != filteredPoses.rbegin()->first ||
|
rtabmap_.getMemory()->getLastSignatureId() != filteredPoses.rbegin()->first ||
|
||||||
rtabmap_.getMemory()->getLastWorkingSignature() == 0 ||
|
rtabmap_.getMemory()->getLastWorkingSignature() == 0 ||
|
||||||
rtabmap_.getMemory()->getLastWorkingSignature()->sensorData().gridCellSize() == 0)
|
rtabmap_.getMemory()->getLastWorkingSignature()->sensorData().gridCellSize() == 0 ||
|
||||||
|
(!mapsManager_.getOccupancyGrid()->isGridFromDepth() && data.laserScanRaw().channels() == 2)) // 2d laser scan would fill empty space for latest data
|
||||||
{
|
{
|
||||||
SensorData tmpData = data;
|
SensorData tmpData = data;
|
||||||
tmpData.setId(-1);
|
tmpData.setId(-1);
|
||||||
|
|||||||
Reference in New Issue
Block a user