mirror of
https://github.com/introlab/rtabmap.git
synced 2026-10-12 21:09:50 +08:00
Merge branch 'master' into reduce_graph_orphan_nodes
This commit is contained in:
@@ -38,7 +38,7 @@ jobs:
|
|||||||
- name: Install Brew Dependencies
|
- name: Install Brew Dependencies
|
||||||
run: |
|
run: |
|
||||||
# Update brew and install from Brewfile if present, or specific packages
|
# Update brew and install from Brewfile if present, or specific packages
|
||||||
brew install pcl opencv octomap pdal yaml-cpp librealsense libfreenect libusb zlib libomp suite-sparse ceres-solver
|
brew install pcl opencv@4 octomap pdal yaml-cpp librealsense libfreenect libusb zlib libomp suite-sparse ceres-solver
|
||||||
|
|
||||||
- name: Install Source Dependencies
|
- name: Install Source Dependencies
|
||||||
# Build (and per-dependency cache) the source-only deps not available from
|
# Build (and per-dependency cache) the source-only deps not available from
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ This project is supported by [IntRoLab - Intelligent / Interactive / Integrated
|
|||||||
<td><a href="http://build.ros.org/job/Nbin_ufv8_uFv8__rtabmap__ubuntu_focal_arm64__binary/"><img src="http://build.ros.org/buildStatus/icon?job=Nbin_ufv8_uFv8__rtabmap__ubuntu_focal_arm64__binary" alt="Build Status"/></td>
|
<td><a href="http://build.ros.org/job/Nbin_ufv8_uFv8__rtabmap__ubuntu_focal_arm64__binary/"><img src="http://build.ros.org/buildStatus/icon?job=Nbin_ufv8_uFv8__rtabmap__ubuntu_focal_arm64__binary" alt="Build Status"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="4">ROS 2</td>
|
<td rowspan="5">ROS 2</td>
|
||||||
<td>Humble</td>
|
<td>Humble</td>
|
||||||
<td><a href="http://build.ros2.org/job/Hbin_uJ64__rtabmap__ubuntu_jammy_amd64__binary/"><img src="http://build.ros2.org/buildStatus/icon?job=Hbin_uJ64__rtabmap__ubuntu_jammy_amd64__binary" alt="Build Status"/></td>
|
<td><a href="http://build.ros2.org/job/Hbin_uJ64__rtabmap__ubuntu_jammy_amd64__binary/"><img src="http://build.ros2.org/buildStatus/icon?job=Hbin_uJ64__rtabmap__ubuntu_jammy_amd64__binary" alt="Build Status"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -68,6 +68,10 @@ This project is supported by [IntRoLab - Intelligent / Interactive / Integrated
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Kilted</td>
|
<td>Kilted</td>
|
||||||
|
<td><a href="http://build.ros2.org/job/Lbin_uR64__rtabmap__ubuntu_resolute_amd64__binary/"><img src="http://build.ros2.org/buildStatus/icon?job=Lbin_uR64__rtabmap__ubuntu_resolute_amd64__binary" alt="Build Status"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Lyrical</td>
|
||||||
<td><a href="http://build.ros2.org/job/Kbin_uN64__rtabmap__ubuntu_noble_amd64__binary/"><img src="http://build.ros2.org/buildStatus/icon?job=Kbin_uN64__rtabmap__ubuntu_noble_amd64__binary" alt="Build Status"/></td>
|
<td><a href="http://build.ros2.org/job/Kbin_uN64__rtabmap__ubuntu_noble_amd64__binary/"><img src="http://build.ros2.org/buildStatus/icon?job=Kbin_uN64__rtabmap__ubuntu_noble_amd64__binary" alt="Build Status"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -31,9 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include <rtabmap/utilite/UConversion.h>
|
#include <rtabmap/utilite/UConversion.h>
|
||||||
#include <rtabmap/core/Compression.h>
|
#include <rtabmap/core/Compression.h>
|
||||||
#include <rtabmap/core/Version.h>
|
#include <rtabmap/core/Version.h>
|
||||||
#ifdef WIN32
|
|
||||||
#include <rtabmap/core/Parameters.h>
|
#include <rtabmap/core/Parameters.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "rtflann/flann.hpp"
|
#include "rtflann/flann.hpp"
|
||||||
#include <boost/crc.hpp>
|
#include <boost/crc.hpp>
|
||||||
@@ -179,8 +177,8 @@ std::vector<unsigned char> FlannIndex::serializeIndex(bool computeChecksum) cons
|
|||||||
|
|
||||||
indexData.resize(bytes_written+headerSizeBytes);
|
indexData.resize(bytes_written+headerSizeBytes);
|
||||||
indexData.shrink_to_fit();
|
indexData.shrink_to_fit();
|
||||||
int rebalancingFactorAsInt;
|
int rebalancingFactorAsInt; // Deprecated
|
||||||
memcpy(&rebalancingFactorAsInt, &rebalancingFactor_, sizeof(rebalancingFactor_));
|
memcpy(&rebalancingFactorAsInt, &rebalancingFactor_, sizeof(rebalancingFactor_)); // Deprecated
|
||||||
int crcValueAsInt;
|
int crcValueAsInt;
|
||||||
memcpy(&crcValueAsInt, &crcValue, sizeof(crcValue));
|
memcpy(&crcValueAsInt, &crcValue, sizeof(crcValue));
|
||||||
int header[FLANN_INDEX_HEADER_SIZE] = {
|
int header[FLANN_INDEX_HEADER_SIZE] = {
|
||||||
@@ -188,7 +186,7 @@ std::vector<unsigned char> FlannIndex::serializeIndex(bool computeChecksum) cons
|
|||||||
algorithm_, // 3,
|
algorithm_, // 3,
|
||||||
featuresDim_, // 4,
|
featuresDim_, // 4,
|
||||||
useDistanceL1_?1:0, // 5,
|
useDistanceL1_?1:0, // 5,
|
||||||
rebalancingFactorAsInt, // 6,
|
rebalancingFactorAsInt, // 6, Deprecated
|
||||||
dataRows, // 7,
|
dataRows, // 7,
|
||||||
dataCols, // 8,
|
dataCols, // 8,
|
||||||
dataType, // 9,
|
dataType, // 9,
|
||||||
@@ -199,7 +197,7 @@ std::vector<unsigned char> FlannIndex::serializeIndex(bool computeChecksum) cons
|
|||||||
header[3],
|
header[3],
|
||||||
header[4],
|
header[4],
|
||||||
header[5],
|
header[5],
|
||||||
rebalancingFactor_,
|
rebalancingFactor_, // Deprecated
|
||||||
header[7], header[8], header[9], crcValueAsInt,
|
header[7], header[8], header[9], crcValueAsInt,
|
||||||
header[11]);
|
header[11]);
|
||||||
memcpy(indexData.data(), header, headerSizeBytes);
|
memcpy(indexData.data(), header, headerSizeBytes);
|
||||||
@@ -405,8 +403,8 @@ bool FlannIndex::loadIndex(
|
|||||||
int savedAlgorithm = header[3];
|
int savedAlgorithm = header[3];
|
||||||
int savedDim = header[4];
|
int savedDim = header[4];
|
||||||
bool savedDistanceL1 = header[5]==1;
|
bool savedDistanceL1 = header[5]==1;
|
||||||
float savedRebalancingFactor;
|
float savedRebalancingFactor; // Deprecated
|
||||||
memcpy(&savedRebalancingFactor, &header[6], sizeof(header[6]));
|
memcpy(&savedRebalancingFactor, &header[6], sizeof(header[6])); // Deprecated
|
||||||
int savedRows = header[7];
|
int savedRows = header[7];
|
||||||
int savedCols = header[8];
|
int savedCols = header[8];
|
||||||
int savedType = header[9];
|
int savedType = header[9];
|
||||||
@@ -414,12 +412,13 @@ bool FlannIndex::loadIndex(
|
|||||||
memcpy(&savedCrc, &header[10], sizeof(header[10]));
|
memcpy(&savedCrc, &header[10], sizeof(header[10]));
|
||||||
int savedIndexSize = header[11];
|
int savedIndexSize = header[11];
|
||||||
|
|
||||||
UDEBUG("Header: \"%d.%d.%d\" alg=%d dim=%d L1=%d factor=%f data(%dx%d type=%d, crc=%X) %d",
|
UDEBUG("Header: \"%d.%d.%d\" alg=%d dim=%d L1=%d factor=%f (deprecated, using %f instead) data(%dx%d type=%d, crc=%X) index size = %d bytes",
|
||||||
header[0],header[1],header[2],
|
header[0],header[1],header[2],
|
||||||
header[3],
|
header[3],
|
||||||
header[4],
|
header[4],
|
||||||
header[5],
|
header[5],
|
||||||
savedRebalancingFactor,
|
savedRebalancingFactor, // Deprecated
|
||||||
|
rebalancingFactor,
|
||||||
header[7], header[8], header[9], savedCrc,
|
header[7], header[8], header[9], savedCrc,
|
||||||
header[11]);
|
header[11]);
|
||||||
|
|
||||||
@@ -441,12 +440,6 @@ bool FlannIndex::loadIndex(
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(savedRebalancingFactor != rebalancingFactor) {
|
|
||||||
if(error) {
|
|
||||||
*error = uFormat("Serialized \"rebalancing factor\" (%f) doesn't match the expected one (%f).", savedRebalancingFactor, rebalancingFactor);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if(savedRows != features.rows) {
|
if(savedRows != features.rows) {
|
||||||
if(error) {
|
if(error) {
|
||||||
*error = uFormat("Serialized feature count (%d) doesn't match the expected one (%d).", savedRows, features.rows);
|
*error = uFormat("Serialized feature count (%d) doesn't match the expected one (%d).", savedRows, features.rows);
|
||||||
|
|||||||
Reference in New Issue
Block a user