diff --git a/rtabmap_conversions/CMakeLists.txt b/rtabmap_conversions/CMakeLists.txt index 10aeff68..11b82f62 100644 --- a/rtabmap_conversions/CMakeLists.txt +++ b/rtabmap_conversions/CMakeLists.txt @@ -29,7 +29,7 @@ find_package(tf2 REQUIRED) find_package(tf2_eigen REQUIRED) find_package(tf2_geometry_msgs REQUIRED) -find_package(RTABMap 0.23.4 REQUIRED) +find_package(RTABMap 0.23.5 REQUIRED) include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/include diff --git a/rtabmap_slam/src/CoreWrapper.cpp b/rtabmap_slam/src/CoreWrapper.cpp index 6c302c22..c2e7d08f 100644 --- a/rtabmap_slam/src/CoreWrapper.cpp +++ b/rtabmap_slam/src/CoreWrapper.cpp @@ -2431,8 +2431,8 @@ void CoreWrapper::process( if(rtabmap_.getMemory() == 0 || filteredPoses.size() == 0 || rtabmap_.getMemory()->getLastSignatureId() != filteredPoses.rbegin()->first || - rtabmap_.getMemory()->getLastWorkingSignature() == 0 || - rtabmap_.getMemory()->getLastWorkingSignature()->sensorData().gridCellSize() == 0 || + rtabmap_.getMemory()->getLastWorkingSignature(true) == 0 || + rtabmap_.getMemory()->getLastWorkingSignature(true)->sensorData().gridCellSize() == 0 || (!mapsManager_.getLocalMapMaker()->isGridFromDepth() && data.laserScanRaw().is2d())) // 2d laser scan would fill empty space for latest data { SensorData tmpData = data; @@ -3845,9 +3845,9 @@ void CoreWrapper::getNodeDataCallback( req->grid?"true":"false", req->user_data?"true":"false"); - if(req->ids.empty() && rtabmap_.getMemory() && rtabmap_.getMemory()->getLastWorkingSignature()) + if(req->ids.empty() && rtabmap_.getMemory() && rtabmap_.getMemory()->getLastWorkingSignature(true)) { - req->ids.push_back(rtabmap_.getMemory()->getLastWorkingSignature()->id()); + req->ids.push_back(rtabmap_.getMemory()->getLastWorkingSignature(true)->id()); } for(size_t i=0; iids.size(); ++i) { @@ -3885,6 +3885,8 @@ void CoreWrapper::getMapDataCallback( !req->graph_only, !req->graph_only, !req->graph_only, + !req->graph_only, + !req->graph_only, !req->graph_only); mapToOdomMutex_.lock(); @@ -3911,13 +3913,15 @@ void CoreWrapper::getMapData2Callback( const std::shared_ptr req, std::shared_ptr res) { - RCLCPP_INFO(get_logger(), "rtabmap: Getting map (global=%s optimized=%s with_images=%s with_scans=%s with_user_data=%s with_grids=%s)...", + RCLCPP_INFO(get_logger(), "rtabmap: Getting map (global=%s optimized=%s with_images=%s with_scans=%s with_user_data=%s with_grids=%s with_words=%s with_global_descriptors=%s)...", req->global_map?"true":"false", req->optimized?"true":"false", req->with_images?"true":"false", req->with_scans?"true":"false", req->with_user_data?"true":"false", - req->with_grids?"true":"false"); + req->with_grids?"true":"false", + req->with_words?"true":"false", + req->with_global_descriptors?"true":"false"); std::map signatures; std::map poses; std::multimap constraints;