|
This post was updated on .
Hello Mathieu Labbé ! Wishing you a great new year
I am building RTABMap's Core and all its Dependencies from Source as I want to statically link all dependencies into the Core library, I was successful with the following dependencies: External Dependencies: * boost-1.83.0 * eigen-3.4.0 * yaml-cpp-0.6.0 * libnabo-1.0.7 * libpointmatcher-1.4.0 * zlib-1.2.11 * flann-1.9.1 # not flann-1.9.2 used by due to lz4 library building bugs * pcl-1.13.1 * gtsam-4.2.0-ros # Using gtsam for optimization - g2o caused issues * opencv-4.9.0 Where the build arguments for some of the dependencies are as follows: 1) flann-1.9.1 * -D USE_MPI=OFF 2) libpointmatcher-1.4.0 * -D USE_OPEN_MP=OFF 3) PCL * -D WITH_VTK=OFF * -D WITH_OPENGL=OFF * -D WITH_QT=OFF * -D WITH_OPENMP=OFF * -D WITH_LIBUSB=OFF * -D WITH_PNG=OFF * -D WITH_VTK=OFF * -D WITH_PCAP=OFF * -D PCL_ENABLE_MARCH_NATIVE=False * -D PCL_ENABLE_MARCHNATIVE=False * -D PCL_ENABLE_SSE=False And the CMAKELISTS Settings of Core is as such: ####### DEPENDENCIES ####### IF(MOBILE_BUILD) option(WITH_QT "Include Qt support" OFF) ELSE() option(WITH_QT "Include Qt support" OFF) # Turned OFF ENDIF() option(WITH_ORB_OCTREE "Include ORB Octree feature support" ON) option(WITH_TORCH "Include Torch support (SuperPoint)" OFF) option(WITH_PYTHON "Include Python3 support (PyMatcher, PyDetector)" OFF) option(WITH_PYTHON_THREADING "Use more than one Python interpreter." OFF) option(WITH_PDAL "Include PDAL support" ON) option(WITH_FREENECT "Include Freenect support" OFF) # Turned OFF option(WITH_FREENECT2 "Include Freenect2 support" OFF) # Turned OFF option(WITH_K4W2 "Include Kinect for Windows v2 support" OFF) # Turned OFF option(WITH_K4A "Include Kinect for Azure support" OFF) # Turned OFF option(WITH_OPENNI "Include OpenNI support" OFF) # Turned OFF option(WITH_OPENNI2 "Include OpenNI2 support" OFF) # Turned OFF option(WITH_DC1394 "Include dc1394 support" ON) option(WITH_G2O "Include g2o support" ON) option(WITH_GTSAM "Include GTSAM support" ON) option(WITH_TORO "Include TORO support" ON) option(WITH_CERES "Include Ceres support" OFF) option(WITH_MRPT "Include MRPT support" ON) option(WITH_VERTIGO "Include Vertigo support" ON) option(WITH_CVSBA "Include cvsba support" OFF) option(WITH_POINTMATCHER "Include libpointmatcher support" ON) option(WITH_CCCORELIB "Include CCCoreLib support" OFF) option(WITH_OPEN3D "Include Open3D support" OFF) option(WITH_LOAM "Include LOAM support" OFF) option(WITH_FLOAM "Include FLOAM support" OFF) option(WITH_FLYCAPTURE2 "Include FlyCapture2/Triclops support" OFF) # Turned OFF option(WITH_ZED "Include ZED sdk support" OFF) # Turned OFF option(WITH_ZEDOC "Include ZED Open Capture support" OFF) # Turned OFF option(WITH_REALSENSE "Include RealSense support" OFF) # Turned OFF option(WITH_REALSENSE_SLAM "Include RealSenseSlam support" OFF) # Turned OFF option(WITH_REALSENSE2 "Include RealSense support" OFF) # Turned OFF option(WITH_MYNTEYE "Include mynteye-s support" OFF) # Turned OFF option(WITH_DEPTHAI "Include depthai-core support" OFF) option(WITH_XVSDK "Include XVisio SDK support" OFF) option(WITH_OCTOMAP "Include OctoMap support" ON) option(WITH_GRIDMAP "Include GridMap support" ON) option(WITH_CPUTSDF "Include CPUTSDF support" OFF) option(WITH_OPENCHISEL "Include open_chisel support" OFF) option(WITH_ALICE_VISION "Include AliceVision support" OFF) option(WITH_FOVIS "Include FOVIS supp++ort" OFF) option(WITH_VISO2 "Include VISO2 support" OFF) option(WITH_DVO "Include DVO support" OFF) option(WITH_ORB_SLAM "Include ORB_SLAM2 or ORB_SLAM3 support" OFF) option(WITH_OKVIS "Include OKVIS support" OFF) option(WITH_MSCKF_VIO "Include MSCKF_VIO support" OFF) option(WITH_VINS "Include VINS-Fusion support" OFF) option(WITH_OPENVINS "Include OpenVINS support" OFF) option(WITH_MADGWICK "Include Madgwick IMU filtering support" OFF) # Turned OFF option(WITH_FASTCV "Include FastCV support" ON) option(WITH_OPENMP "Include OpenMP support" OFF) # Turned OFF option(WITH_OPENGV "Include OpenGV support" OFF) # Turned OFF IF(MOBILE_BUILD) option(PCL_OMP "With PCL OMP implementations" OFF) ELSE() option(PCL_OMP "With PCL OMP implementations" ON) ENDIF() And the following Build Flags: -DWITH_G2O=OFF -DCMAKE_IGNORE_PREFIX_PATH=/usr/local -DBUILD_TOOLS=OFF -DWITH_GRIDMAP=OFF -DWITH_OCTOMAP=OFF I have managed to run RTABMAP SLAM Node that uses this Compiled Core and an RTABMAP database was generated, which was investigated on a separate Laptop that had RTABMAP ROS installed ![]() This screenshot shows that Visual Features have been extracted. Attached are the Node and .ini file used when mapping mapping.ini rtabmap_slam.yaml When turning off incremental mapping (to get into localization mode and while using init with all Nodes to Working memory) and loading the Database, moving the camera back to the positions seen while mapping does NOT trigger ANY loop closure detections nor trials (logs does not show Loop Closure Rejected) I am wondering on why is that the case ? Which packages are used for Loop Closure detection ? I would also be thankful if you could shed some insights on the use of following libraries and how are they used in RTABMAP ? * PCL * Flann * libpointermatcher * libnabo Assuming that I need only RTABMAP SLAM , can any of the previous libraries be dismissed ? Your assistance is highly appreciated |
| Free forum by Nabble | Edit this page |
