2011-06-05 14:45:39 +00:00
|
|
|
|
|
|
|
|
SET(SRC_FILES
|
2019-08-14 12:09:56 -04:00
|
|
|
Rtabmap.cpp
|
|
|
|
|
RtabmapThread.cpp
|
|
|
|
|
|
|
|
|
|
Statistics.cpp
|
|
|
|
|
|
|
|
|
|
Memory.cpp
|
|
|
|
|
|
|
|
|
|
DBDriver.cpp
|
|
|
|
|
DBDriverSqlite3.cpp
|
|
|
|
|
DBReader.cpp
|
|
|
|
|
|
|
|
|
|
Recovery.cpp
|
|
|
|
|
|
2024-04-14 19:06:04 -07:00
|
|
|
SensorCapture.cpp
|
|
|
|
|
SensorCaptureThread.cpp
|
|
|
|
|
|
2011-06-05 14:45:39 +00:00
|
|
|
Camera.cpp
|
2015-04-04 11:29:14 -04:00
|
|
|
CameraModel.cpp
|
2013-02-04 16:38:00 +00:00
|
|
|
|
2018-10-01 19:33:56 -04:00
|
|
|
camera/CameraFreenect.cpp
|
|
|
|
|
camera/CameraFreenect2.cpp
|
|
|
|
|
camera/CameraImages.cpp
|
|
|
|
|
camera/CameraK4W2.cpp
|
2019-07-10 12:34:13 -04:00
|
|
|
camera/CameraK4A.cpp
|
2018-10-01 19:33:56 -04:00
|
|
|
camera/CameraOpenni.cpp
|
|
|
|
|
camera/CameraOpenNI2.cpp
|
|
|
|
|
camera/CameraOpenNICV.cpp
|
|
|
|
|
camera/CameraRealSense.cpp
|
|
|
|
|
camera/CameraRealSense2.cpp
|
|
|
|
|
camera/CameraRGBDImages.cpp
|
|
|
|
|
camera/CameraStereoDC1394.cpp
|
|
|
|
|
camera/CameraStereoFlyCapture2.cpp
|
|
|
|
|
camera/CameraStereoImages.cpp
|
|
|
|
|
camera/CameraStereoVideo.cpp
|
|
|
|
|
camera/CameraStereoZed.cpp
|
2021-02-28 10:31:18 -05:00
|
|
|
camera/CameraStereoZedOC.cpp
|
2019-08-14 12:09:56 -04:00
|
|
|
camera/CameraStereoTara.cpp
|
2018-10-01 19:33:56 -04:00
|
|
|
camera/CameraVideo.cpp
|
2020-04-30 00:57:47 -04:00
|
|
|
camera/CameraMyntEye.cpp
|
2021-03-07 12:27:21 -05:00
|
|
|
camera/CameraDepthAI.cpp
|
2024-05-23 20:51:13 +08:00
|
|
|
camera/CameraSeerSense.cpp
|
2025-10-07 10:22:16 -07:00
|
|
|
camera/CameraOrbbecSDK.cpp
|
2018-10-01 19:33:56 -04:00
|
|
|
|
2011-06-05 14:45:39 +00:00
|
|
|
EpipolarGeometry.cpp
|
2019-08-14 12:09:56 -04:00
|
|
|
VisualWord.cpp
|
|
|
|
|
VWDictionary.cpp
|
|
|
|
|
BayesFilter.cpp
|
|
|
|
|
Parameters.cpp
|
2011-06-05 14:45:39 +00:00
|
|
|
Signature.cpp
|
2019-08-14 12:09:56 -04:00
|
|
|
Features2d.cpp
|
|
|
|
|
Transform.cpp
|
|
|
|
|
GeodeticCoords.cpp
|
|
|
|
|
|
|
|
|
|
util2d.cpp
|
|
|
|
|
|
|
|
|
|
util3d.cpp
|
|
|
|
|
util3d_filtering.cpp
|
|
|
|
|
util3d_mapping.cpp
|
|
|
|
|
util3d_transforms.cpp
|
|
|
|
|
util3d_registration.cpp
|
|
|
|
|
util3d_surface.cpp
|
|
|
|
|
util3d_features.cpp
|
|
|
|
|
util3d_correspondences.cpp
|
|
|
|
|
util3d_motion_estimation.cpp
|
|
|
|
|
|
2024-12-16 10:35:05 +08:00
|
|
|
rvl_codec.cpp
|
|
|
|
|
|
2019-08-14 12:09:56 -04:00
|
|
|
SensorData.cpp
|
|
|
|
|
Graph.cpp
|
|
|
|
|
Compression.cpp
|
|
|
|
|
Link.cpp
|
|
|
|
|
LaserScan.cpp
|
|
|
|
|
|
|
|
|
|
Optimizer.cpp
|
|
|
|
|
optimizer/OptimizerTORO.cpp
|
|
|
|
|
optimizer/OptimizerG2O.cpp
|
|
|
|
|
optimizer/OptimizerGTSAM.cpp
|
|
|
|
|
optimizer/OptimizerCVSBA.cpp
|
2019-08-17 03:55:04 -04:00
|
|
|
optimizer/OptimizerCeres.cpp
|
2019-08-14 12:09:56 -04:00
|
|
|
|
|
|
|
|
Registration.cpp
|
|
|
|
|
RegistrationIcp.cpp
|
|
|
|
|
RegistrationVis.cpp
|
|
|
|
|
|
|
|
|
|
Odometry.cpp
|
|
|
|
|
OdometryThread.cpp
|
2025-04-14 09:52:41 -07:00
|
|
|
OdometryInfo.cpp
|
2019-08-14 12:09:56 -04:00
|
|
|
odometry/OdometryF2M.cpp
|
|
|
|
|
odometry/OdometryMono.cpp
|
|
|
|
|
odometry/OdometryF2F.cpp
|
|
|
|
|
odometry/OdometryFovis.cpp
|
|
|
|
|
odometry/OdometryViso2.cpp
|
|
|
|
|
odometry/OdometryDVO.cpp
|
|
|
|
|
odometry/OdometryOkvis.cpp
|
2023-11-19 01:05:52 -08:00
|
|
|
odometry/OdometryORBSLAM2.cpp
|
|
|
|
|
odometry/OdometryORBSLAM3.cpp
|
2019-08-14 12:09:56 -04:00
|
|
|
odometry/OdometryLOAM.cpp
|
2021-09-09 17:38:54 -04:00
|
|
|
odometry/OdometryFLOAM.cpp
|
Add LIO-SAM as an odometry strategy (#1684)
* Added liosam odometry integration
* Add kXYZIRT scan format with per-point ring channel for LIO-SAM integration
Introduce PointXYZIRT point type and kXYZIRT LaserScan format (x,y,z,
intensity,ring,time) so that ring indices survive the scan pipeline.
Update OdometryLIOSAM to require kXYZIRT and properly split ring/time
into the parallel buffers LIO-SAM expects. Extend deskewing to preserve
ring data and disable base-class deskew in OdometryLIOSAM since LIO-SAM
handles it internally.
* Address PR review: config file, deferred init, and GUI panel for LIO-SAM
- Add OdomLIOSAM/ConfigPath parameter to load LIO-SAM settings from a
YAML file. When set, individual params are ignored. Extrinsics from
sensor local transforms always override config file values.
- Defer LioSamCore initialization until both IMU and lidar local
transforms are available, computing T_lidar_imu from sensor data.
IMU samples are buffered and replayed after init.
- Fix deferred init for scan-only messages that arrive after IMU
local transform is already cached.
- Add LIO-SAM entry to odometry strategy combo box (index 14) with
full PreferencesDialog panel including config path browse button
and all parameter widgets.
* OdometryLIOSAM: propagate deskewed scan to SensorData
Capture the deskewed cloud produced by LIO-SAM's image projection
stage and replace the raw scan on SensorData with it, so loop closure
registration and other downstream stages operate on the motion-
compensated points instead of the raw pre-deskew input.
* Minor updates for rtabmap_ros
---------
Co-authored-by: matlabbe <matlabbe@gmail.com>
2026-04-12 20:06:44 -05:00
|
|
|
odometry/OdometryLIOSAM.cpp
|
2019-08-14 12:09:56 -04:00
|
|
|
odometry/OdometryMSCKF.cpp
|
2025-09-14 19:29:28 -07:00
|
|
|
odometry/OdometryVINSFusion.cpp
|
2021-03-28 23:51:02 -04:00
|
|
|
odometry/OdometryOpenVINS.cpp
|
2021-11-13 19:45:57 -05:00
|
|
|
odometry/OdometryOpen3D.cpp
|
2025-10-03 11:49:21 -07:00
|
|
|
odometry/OdometryCuVSLAM.cpp
|
2019-08-14 12:09:56 -04:00
|
|
|
|
2021-03-09 16:00:41 -05:00
|
|
|
IMU.cpp
|
2019-08-14 12:09:56 -04:00
|
|
|
IMUThread.cpp
|
|
|
|
|
IMUFilter.cpp
|
|
|
|
|
imufilter/ComplementaryFilter.cpp
|
|
|
|
|
|
|
|
|
|
Stereo.cpp
|
|
|
|
|
StereoDense.cpp
|
|
|
|
|
StereoCameraModel.cpp
|
|
|
|
|
stereo/StereoBM.cpp
|
|
|
|
|
stereo/StereoSGBM.cpp
|
|
|
|
|
|
2023-12-17 22:44:11 -08:00
|
|
|
GlobalMap.cpp
|
|
|
|
|
LocalGridMaker.cpp
|
|
|
|
|
LocalGrid.cpp
|
|
|
|
|
global_map/OccupancyGrid.cpp
|
|
|
|
|
global_map/CloudMap.cpp
|
2019-08-14 12:09:56 -04:00
|
|
|
|
|
|
|
|
MarkerDetector.cpp
|
|
|
|
|
|
2024-04-07 15:48:16 -07:00
|
|
|
GlobalDescriptorExtractor.cpp
|
|
|
|
|
|
2019-08-14 12:09:56 -04:00
|
|
|
GainCompensator.cpp
|
|
|
|
|
|
|
|
|
|
rtflann/ext/lz4.c
|
|
|
|
|
rtflann/ext/lz4hc.c
|
|
|
|
|
FlannIndex.cpp
|
|
|
|
|
|
|
|
|
|
#clams stuff
|
|
|
|
|
clams/discrete_depth_distortion_model_helpers.cpp
|
|
|
|
|
clams/discrete_depth_distortion_model.cpp
|
|
|
|
|
clams/frame_projector.cpp
|
|
|
|
|
clams/slam_calibrator.cpp
|
|
|
|
|
|
|
|
|
|
opencv/ORBextractor.cc
|
2020-05-19 15:01:50 -04:00
|
|
|
opencv/solvepnp.cpp
|
|
|
|
|
opencv/five-point.cpp
|
2011-06-05 14:45:39 +00:00
|
|
|
)
|
|
|
|
|
|
2024-05-12 19:13:05 -07:00
|
|
|
IF(PCL_VERSION VERSION_GREATER_EQUAL "1.8")
|
|
|
|
|
SET(SRC_FILES
|
|
|
|
|
${SRC_FILES}
|
|
|
|
|
lidar/LidarVLP16.cpp
|
|
|
|
|
)
|
|
|
|
|
ENDIF(PCL_VERSION VERSION_GREATER_EQUAL "1.8")
|
|
|
|
|
|
2016-03-08 12:31:32 -05:00
|
|
|
IF(OpenCV_VERSION_MAJOR EQUAL 2)
|
|
|
|
|
SET(SRC_FILES
|
|
|
|
|
${SRC_FILES}
|
|
|
|
|
opencv/Orb.cpp
|
|
|
|
|
)
|
|
|
|
|
ENDIF(OpenCV_VERSION_MAJOR EQUAL 2)
|
|
|
|
|
|
2017-11-06 00:19:12 -05:00
|
|
|
# to get includes in visual studio
|
|
|
|
|
IF(MSVC)
|
|
|
|
|
FILE(GLOB HEADERS
|
|
|
|
|
../include/${PROJECT_PREFIX}/core/*.h
|
|
|
|
|
)
|
|
|
|
|
SET(SRC_FILES ${SRC_FILES} ${HEADERS})
|
|
|
|
|
ENDIF(MSVC)
|
|
|
|
|
|
2011-06-05 14:45:39 +00:00
|
|
|
SET(INCLUDE_DIRS
|
2013-12-11 00:12:44 +00:00
|
|
|
${ZLIB_INCLUDE_DIRS}
|
2011-06-05 14:45:39 +00:00
|
|
|
)
|
|
|
|
|
|
2023-02-12 16:18:01 -08:00
|
|
|
SET(PUBLIC_INCLUDE_DIRS
|
|
|
|
|
${OpenCV_INCLUDE_DIRS}
|
|
|
|
|
${PCL_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
|
2014-06-04 20:24:54 +00:00
|
|
|
SET(LIBRARIES
|
2023-02-12 16:18:01 -08:00
|
|
|
${ZLIB_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Issue that qhull dependency uses optimized and debug keywords,
|
|
|
|
|
# which are converted to \$<\$<NOT:\$<CONFIG:DEBUG>> and \$<\$<CONFIG:DEBUG>
|
|
|
|
|
# in RTABMap_coreTargets.cmake (not sure why?!).
|
|
|
|
|
list(REMOVE_ITEM PCL_LIBRARIES "debug" "optimized")
|
|
|
|
|
SET(PUBLIC_LIBRARIES
|
|
|
|
|
${OpenCV_LIBS}
|
|
|
|
|
${PCL_LIBRARIES}
|
2014-06-04 20:24:54 +00:00
|
|
|
)
|
|
|
|
|
|
2024-03-23 14:34:54 -07:00
|
|
|
IF(SQLite3_FOUND)
|
2018-09-05 14:22:34 -04:00
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
2024-03-23 14:34:54 -07:00
|
|
|
${SQLite3_INCLUDE_DIRS}
|
2018-09-05 14:22:34 -04:00
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
2024-03-23 14:34:54 -07:00
|
|
|
${SQLite3_LIBRARIES}
|
2018-09-05 14:22:34 -04:00
|
|
|
)
|
|
|
|
|
ELSE()
|
|
|
|
|
SET(SRC_FILES
|
|
|
|
|
${SRC_FILES}
|
|
|
|
|
sqlite3/sqlite3.c
|
|
|
|
|
)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/sqlite3
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
ENDIF()
|
|
|
|
|
|
2020-04-16 17:59:45 -04:00
|
|
|
IF(TORCH_FOUND)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${TORCH_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
SET(SRC_FILES
|
|
|
|
|
${SRC_FILES}
|
|
|
|
|
superpoint_torch/SuperPoint.cc
|
|
|
|
|
)
|
2025-11-07 17:22:35 -08:00
|
|
|
SET(INCLUDE_DIRS
|
2020-04-16 17:59:45 -04:00
|
|
|
${TORCH_INCLUDE_DIRS}
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/superpoint_torch
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
)
|
2025-11-07 17:22:35 -08:00
|
|
|
IF(WITH_PYTHON AND Python3_FOUND)
|
|
|
|
|
SET(SRC_FILES
|
|
|
|
|
${SRC_FILES}
|
|
|
|
|
superpoint_rpautrat/SuperpointRpautrat.cpp
|
|
|
|
|
)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/superpoint_rpautrat
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(WITH_PYTHON AND Python3_FOUND)
|
2020-04-16 17:59:45 -04:00
|
|
|
ENDIF(TORCH_FOUND)
|
|
|
|
|
|
2021-11-15 18:00:17 -05:00
|
|
|
IF(WITH_PYTHON AND Python3_FOUND)
|
2023-06-17 15:46:44 -07:00
|
|
|
SET(PUBLIC_LIBRARIES
|
|
|
|
|
${PUBLIC_LIBRARIES}
|
2020-05-09 21:13:41 -04:00
|
|
|
Python3::Python
|
2022-02-15 01:28:38 -05:00
|
|
|
Python3::NumPy
|
2023-10-01 09:07:15 -07:00
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
2023-09-17 01:19:59 -07:00
|
|
|
pybind11::embed
|
2020-05-09 21:13:41 -04:00
|
|
|
)
|
|
|
|
|
SET(SRC_FILES
|
|
|
|
|
${SRC_FILES}
|
2021-01-17 01:56:27 -05:00
|
|
|
python/PythonInterface.cpp
|
|
|
|
|
python/PyMatcher.cpp
|
|
|
|
|
python/PyDetector.cpp
|
2024-04-07 15:48:16 -07:00
|
|
|
python/PyDescriptor.cpp
|
2020-05-09 21:13:41 -04:00
|
|
|
)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${TORCH_INCLUDE_DIRS}
|
2021-01-17 01:56:27 -05:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/python
|
2020-05-09 21:13:41 -04:00
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
)
|
2021-11-20 16:36:54 -05:00
|
|
|
ENDIF(WITH_PYTHON AND Python3_FOUND)
|
2020-05-09 21:13:41 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-04 20:24:54 +00:00
|
|
|
IF(Freenect_FOUND)
|
2014-06-17 01:45:52 +00:00
|
|
|
IF(Freenect_DASH_INCLUDES)
|
|
|
|
|
ADD_DEFINITIONS("-DFREENECT_DASH_INCLUDES")
|
|
|
|
|
ENDIF(Freenect_DASH_INCLUDES)
|
2014-06-04 20:24:54 +00:00
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${Freenect_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${Freenect_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(Freenect_FOUND)
|
|
|
|
|
|
2014-06-13 23:44:38 +00:00
|
|
|
IF(OpenNI2_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${OpenNI2_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${OpenNI2_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(OpenNI2_FOUND)
|
|
|
|
|
|
2015-04-02 16:33:35 -04:00
|
|
|
IF(freenect2_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${freenect2_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${freenect2_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(freenect2_FOUND)
|
|
|
|
|
|
2017-11-06 00:19:12 -05:00
|
|
|
IF(KinectSDK2_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${KinectSDK2_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${KinectSDK2_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(KinectSDK2_FOUND)
|
|
|
|
|
|
2019-07-10 12:34:13 -04:00
|
|
|
IF(k4a_FOUND)
|
2023-02-12 16:18:01 -08:00
|
|
|
SET(PUBLIC_INCLUDE_DIRS
|
|
|
|
|
${PUBLIC_INCLUDE_DIRS}
|
2019-07-10 12:34:13 -04:00
|
|
|
${k4a_INCLUDE_DIRS}
|
2019-07-09 20:48:09 -04:00
|
|
|
)
|
2019-07-10 12:34:13 -04:00
|
|
|
IF(WIN32)
|
2023-02-12 16:18:01 -08:00
|
|
|
SET(PUBLIC_LIBRARIES
|
|
|
|
|
${PUBLIC_LIBRARIES}
|
2019-07-10 12:34:13 -04:00
|
|
|
${k4a_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ELSE()
|
2023-02-12 16:18:01 -08:00
|
|
|
SET(PUBLIC_LIBRARIES
|
|
|
|
|
${PUBLIC_LIBRARIES}
|
2019-07-10 12:34:13 -04:00
|
|
|
k4a::k4a
|
|
|
|
|
k4a::k4arecord
|
|
|
|
|
)
|
|
|
|
|
ENDIF()
|
|
|
|
|
ENDIF(k4a_FOUND)
|
2019-07-09 20:48:09 -04:00
|
|
|
|
2016-07-26 18:39:34 -04:00
|
|
|
IF(RealSense_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${RealSense_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${RealSense_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(RealSense_FOUND)
|
|
|
|
|
|
2018-06-15 12:24:00 -04:00
|
|
|
IF(realsense2_FOUND)
|
2023-02-12 16:18:01 -08:00
|
|
|
SET(PUBLIC_INCLUDE_DIRS
|
|
|
|
|
${PUBLIC_INCLUDE_DIRS}
|
2018-06-15 12:24:00 -04:00
|
|
|
${realsense2_INCLUDE_DIRS}
|
|
|
|
|
)
|
2018-07-10 13:09:52 -04:00
|
|
|
IF(WIN32)
|
2023-02-12 16:18:01 -08:00
|
|
|
SET(PUBLIC_LIBRARIES
|
|
|
|
|
${PUBLIC_LIBRARIES}
|
2018-07-10 13:09:52 -04:00
|
|
|
${RealSense2_LIBRARIES}
|
|
|
|
|
)
|
2020-07-02 12:54:43 -04:00
|
|
|
ELSEIF(APPLE)
|
2023-02-12 16:18:01 -08:00
|
|
|
SET(PUBLIC_LIBRARIES
|
|
|
|
|
${PUBLIC_LIBRARIES}
|
2020-07-02 12:54:43 -04:00
|
|
|
${realsense2_LIBRARIES}
|
|
|
|
|
)
|
2018-07-10 13:09:52 -04:00
|
|
|
ELSE()
|
2023-02-12 16:18:01 -08:00
|
|
|
SET(PUBLIC_LIBRARIES
|
|
|
|
|
${PUBLIC_LIBRARIES}
|
2019-07-26 14:03:32 -04:00
|
|
|
realsense2::realsense2 # target
|
2018-07-10 13:09:52 -04:00
|
|
|
)
|
|
|
|
|
ENDIF()
|
2018-06-15 12:24:00 -04:00
|
|
|
ENDIF(realsense2_FOUND)
|
|
|
|
|
|
2015-04-03 15:13:05 -04:00
|
|
|
IF(DC1394_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${DC1394_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${DC1394_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(DC1394_FOUND)
|
|
|
|
|
|
2015-04-07 12:00:10 -04:00
|
|
|
IF(FlyCapture2_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${FlyCapture2_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${FlyCapture2_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(FlyCapture2_FOUND)
|
|
|
|
|
|
2020-04-30 00:57:47 -04:00
|
|
|
IF(mynteye_FOUND)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
mynteye # target
|
|
|
|
|
)
|
|
|
|
|
ENDIF(mynteye_FOUND)
|
|
|
|
|
|
2021-03-07 12:27:21 -05:00
|
|
|
IF(depthai_FOUND)
|
2023-03-13 03:10:16 -07:00
|
|
|
SET(PUBLIC_LIBRARIES
|
|
|
|
|
${PUBLIC_LIBRARIES}
|
2021-07-28 14:19:30 -04:00
|
|
|
depthai::core
|
2021-03-07 12:27:21 -05:00
|
|
|
)
|
|
|
|
|
ENDIF(depthai_FOUND)
|
|
|
|
|
|
2024-05-23 20:51:13 +08:00
|
|
|
IF(xvsdk_FOUND)
|
|
|
|
|
SET(PUBLIC_LIBRARIES
|
|
|
|
|
${PUBLIC_LIBRARIES}
|
2024-05-24 23:12:16 +08:00
|
|
|
${xvsdk_LIBRARIES}
|
2024-05-23 20:51:13 +08:00
|
|
|
)
|
|
|
|
|
ENDIF(xvsdk_FOUND)
|
|
|
|
|
|
2025-10-07 10:22:16 -07:00
|
|
|
IF(OrbbecSDK_FOUND)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
ob::OrbbecSDK
|
|
|
|
|
)
|
|
|
|
|
ENDIF(OrbbecSDK_FOUND)
|
|
|
|
|
|
2021-06-08 00:06:49 -04:00
|
|
|
IF(TARGET OpenMP::OpenMP_CXX)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
OpenMP::OpenMP_CXX
|
|
|
|
|
)
|
|
|
|
|
ENDIF(TARGET OpenMP::OpenMP_CXX)
|
|
|
|
|
|
2016-03-01 14:25:00 -05:00
|
|
|
IF(WITH_TORO)
|
|
|
|
|
SET(SRC_FILES
|
|
|
|
|
${SRC_FILES}
|
2018-10-01 19:33:56 -04:00
|
|
|
optimizer/toro3d/posegraph3.cpp
|
|
|
|
|
optimizer/toro3d/treeoptimizer3_iteration.cpp
|
|
|
|
|
optimizer/toro3d/treeoptimizer3.cpp
|
2016-03-01 14:25:00 -05:00
|
|
|
|
2018-10-01 19:33:56 -04:00
|
|
|
optimizer/toro3d/posegraph2.cpp
|
|
|
|
|
optimizer/toro3d/treeoptimizer2.cpp
|
2016-03-01 14:25:00 -05:00
|
|
|
)
|
|
|
|
|
ENDIF(WITH_TORO)
|
|
|
|
|
|
2015-03-12 17:00:56 -04:00
|
|
|
IF(G2O_FOUND)
|
2021-03-02 18:17:09 +00:00
|
|
|
IF(g2o_FOUND)
|
2022-01-03 16:05:11 -05:00
|
|
|
SET(LIBRARIES ${LIBRARIES}
|
2021-03-02 18:17:09 +00:00
|
|
|
g2o::core
|
|
|
|
|
g2o::solver_eigen
|
|
|
|
|
g2o::solver_pcg
|
|
|
|
|
g2o::types_slam2d
|
|
|
|
|
g2o::types_slam3d
|
2022-01-03 16:05:11 -05:00
|
|
|
g2o::types_sba)
|
2022-01-02 23:30:55 -05:00
|
|
|
IF(TARGET g2o::solver_csparse)
|
2022-01-03 16:05:11 -05:00
|
|
|
SET(LIBRARIES ${LIBRARIES}
|
|
|
|
|
g2o::solver_csparse
|
|
|
|
|
g2o::csparse_extension)
|
2022-01-02 23:30:55 -05:00
|
|
|
ENDIF(TARGET g2o::solver_csparse)
|
|
|
|
|
IF(TARGET g2o::solver_cholmod)
|
2023-02-12 16:18:01 -08:00
|
|
|
SET(LIBRARIES ${LIBRARIES}
|
2022-01-03 16:05:11 -05:00
|
|
|
g2o::solver_cholmod)
|
|
|
|
|
ENDIF(TARGET g2o::solver_cholmod)
|
2021-03-02 18:17:09 +00:00
|
|
|
ELSE()
|
|
|
|
|
SET(INCLUDE_DIRS
|
2015-03-12 17:00:56 -04:00
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${G2O_INCLUDE_DIRS}
|
2021-03-02 18:17:09 +00:00
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
2015-03-12 17:00:56 -04:00
|
|
|
${LIBRARIES}
|
|
|
|
|
${G2O_LIBRARIES}
|
2021-03-02 18:17:09 +00:00
|
|
|
)
|
|
|
|
|
ENDIF()
|
2016-03-01 14:25:00 -05:00
|
|
|
IF(WITH_VERTIGO)
|
2022-01-03 16:05:11 -05:00
|
|
|
SET(SRC_FILES ${SRC_FILES}
|
2018-10-01 19:33:56 -04:00
|
|
|
optimizer/vertigo/g2o/edge_se2Switchable.cpp
|
|
|
|
|
optimizer/vertigo/g2o/edge_se3Switchable.cpp
|
|
|
|
|
optimizer/vertigo/g2o/edge_switchPrior.cpp
|
|
|
|
|
optimizer/vertigo/g2o/types_g2o_robust.cpp
|
|
|
|
|
optimizer/vertigo/g2o/vertex_switchLinear.cpp
|
2016-03-01 14:25:00 -05:00
|
|
|
)
|
|
|
|
|
ENDIF(WITH_VERTIGO)
|
2015-03-12 17:00:56 -04:00
|
|
|
ENDIF(G2O_FOUND)
|
|
|
|
|
|
2015-08-12 20:59:21 -04:00
|
|
|
IF(cvsba_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${cvsba_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${cvsba_LIBS}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(cvsba_FOUND)
|
|
|
|
|
|
2022-09-27 23:35:13 +00:00
|
|
|
IF(CERES_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${CERES_INCLUDE_DIRS}
|
2019-08-17 03:55:04 -04:00
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
2022-09-27 23:35:13 +00:00
|
|
|
${LIBRARIES}
|
|
|
|
|
${CERES_LIBRARIES}
|
2019-08-17 03:55:04 -04:00
|
|
|
)
|
2022-09-27 23:35:13 +00:00
|
|
|
ENDIF(CERES_FOUND)
|
2019-08-17 03:55:04 -04:00
|
|
|
|
2023-02-03 17:25:38 -08:00
|
|
|
IF(MRPT_FOUND)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${MRPT_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(MRPT_FOUND)
|
|
|
|
|
|
2017-08-22 16:20:49 -04:00
|
|
|
IF(libpointmatcher_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${libpointmatcher_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${libpointmatcher_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(libpointmatcher_FOUND)
|
|
|
|
|
|
2021-03-27 15:11:20 -04:00
|
|
|
IF(CCCoreLib_FOUND)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
CCCoreLib::CCCoreLib
|
|
|
|
|
)
|
|
|
|
|
ENDIF(CCCoreLib_FOUND)
|
|
|
|
|
|
2021-11-13 19:45:57 -05:00
|
|
|
IF(Open3D_FOUND)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
Open3D::Open3D
|
|
|
|
|
)
|
|
|
|
|
ENDIF(Open3D_FOUND)
|
|
|
|
|
|
2019-08-14 12:09:56 -04:00
|
|
|
IF(FastCV_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${FastCV_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${FastCV_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(FastCV_FOUND)
|
|
|
|
|
|
2026-05-26 17:43:34 -07:00
|
|
|
IF(apriltag_FOUND)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
apriltag::apriltag
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(apriltag_FOUND)
|
|
|
|
|
|
2022-07-20 15:20:14 -04:00
|
|
|
IF(opengv_FOUND)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
opengv
|
|
|
|
|
)
|
|
|
|
|
ENDIF(opengv_FOUND)
|
|
|
|
|
|
2021-01-14 15:49:18 -05:00
|
|
|
IF(PDAL_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${PDAL_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${PDAL_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
SET(SRC_FILES
|
|
|
|
|
${SRC_FILES}
|
|
|
|
|
PDALWriter.cpp
|
|
|
|
|
)
|
|
|
|
|
IF(PDAL_VERSION VERSION_LESS "1.7")
|
|
|
|
|
add_definitions("-DRTABMAP_PDAL_16")
|
|
|
|
|
ENDIF(PDAL_VERSION VERSION_LESS "1.7")
|
|
|
|
|
ENDIF(PDAL_FOUND)
|
|
|
|
|
|
2024-10-06 17:16:22 -07:00
|
|
|
IF(libLAS_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${libLAS_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${libLAS_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
SET(SRC_FILES
|
|
|
|
|
${SRC_FILES}
|
|
|
|
|
LASWriter.cpp
|
|
|
|
|
)
|
|
|
|
|
ENDIF(libLAS_FOUND)
|
|
|
|
|
|
|
|
|
|
|
2024-09-13 14:22:54 -07:00
|
|
|
IF(CudaSift_FOUND)
|
|
|
|
|
#target
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
cudasift
|
|
|
|
|
)
|
|
|
|
|
ENDIF(CudaSift_FOUND)
|
|
|
|
|
|
2021-01-14 15:49:18 -05:00
|
|
|
|
2018-06-28 11:10:46 -04:00
|
|
|
IF(loam_velodyne_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${loam_velodyne_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${loam_velodyne_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(loam_velodyne_FOUND)
|
|
|
|
|
|
2021-09-09 17:38:54 -04:00
|
|
|
IF(floam_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${floam_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${floam_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(floam_FOUND)
|
|
|
|
|
|
Add LIO-SAM as an odometry strategy (#1684)
* Added liosam odometry integration
* Add kXYZIRT scan format with per-point ring channel for LIO-SAM integration
Introduce PointXYZIRT point type and kXYZIRT LaserScan format (x,y,z,
intensity,ring,time) so that ring indices survive the scan pipeline.
Update OdometryLIOSAM to require kXYZIRT and properly split ring/time
into the parallel buffers LIO-SAM expects. Extend deskewing to preserve
ring data and disable base-class deskew in OdometryLIOSAM since LIO-SAM
handles it internally.
* Address PR review: config file, deferred init, and GUI panel for LIO-SAM
- Add OdomLIOSAM/ConfigPath parameter to load LIO-SAM settings from a
YAML file. When set, individual params are ignored. Extrinsics from
sensor local transforms always override config file values.
- Defer LioSamCore initialization until both IMU and lidar local
transforms are available, computing T_lidar_imu from sensor data.
IMU samples are buffered and replayed after init.
- Fix deferred init for scan-only messages that arrive after IMU
local transform is already cached.
- Add LIO-SAM entry to odometry strategy combo box (index 14) with
full PreferencesDialog panel including config path browse button
and all parameter widgets.
* OdometryLIOSAM: propagate deskewed scan to SensorData
Capture the deskewed cloud produced by LIO-SAM's image projection
stage and replace the raw scan on SensorData with it, so loop closure
registration and other downstream stages operate on the motion-
compensated points instead of the raw pre-deskew input.
* Minor updates for rtabmap_ros
---------
Co-authored-by: matlabbe <matlabbe@gmail.com>
2026-04-12 20:06:44 -05:00
|
|
|
IF(lio_sam_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${lio_sam_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
link_directories(${lio_sam_LIBRARY_DIRS})
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
lio_sam_core
|
|
|
|
|
)
|
|
|
|
|
ENDIF(lio_sam_FOUND)
|
|
|
|
|
|
2016-05-31 19:09:49 -04:00
|
|
|
IF(ZED_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${ZED_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${ZED_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
IF(CUDA_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${CUDA_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${CUDA_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(CUDA_FOUND)
|
|
|
|
|
ENDIF(ZED_FOUND)
|
|
|
|
|
|
2021-02-28 10:31:18 -05:00
|
|
|
IF(ZEDOC_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${ZEDOC_INCLUDE_DIRS}
|
|
|
|
|
${HIDAPI_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${ZEDOC_LIBRARIES}
|
|
|
|
|
${HIDAPI_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(ZEDOC_FOUND)
|
|
|
|
|
|
2020-04-18 16:03:09 -04:00
|
|
|
IF(octomap_FOUND)
|
2023-03-18 14:36:30 -07:00
|
|
|
IF(TARGET octomap)
|
|
|
|
|
SET(PUBLIC_LIBRARIES
|
|
|
|
|
${PUBLIC_LIBRARIES}
|
|
|
|
|
octomap
|
|
|
|
|
)
|
|
|
|
|
ELSE()
|
|
|
|
|
SET(PUBLIC_INCLUDE_DIRS
|
|
|
|
|
${PUBLIC_INCLUDE_DIRS}
|
|
|
|
|
${OCTOMAP_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(PUBLIC_LIBRARIES
|
|
|
|
|
${PUBLIC_LIBRARIES}
|
|
|
|
|
${OCTOMAP_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF()
|
2016-06-28 19:00:44 -04:00
|
|
|
SET(SRC_FILES
|
|
|
|
|
${SRC_FILES}
|
2023-12-17 22:44:11 -08:00
|
|
|
global_map/OctoMap.cpp
|
2016-06-28 19:00:44 -04:00
|
|
|
)
|
2020-04-18 16:03:09 -04:00
|
|
|
ENDIF(octomap_FOUND)
|
2016-06-28 19:00:44 -04:00
|
|
|
|
2023-12-17 22:44:11 -08:00
|
|
|
IF(grid_map_core_FOUND)
|
2024-12-08 09:58:37 -08:00
|
|
|
IF(TARGET grid_map_core::grid_map_core)
|
2024-10-08 20:01:38 -07:00
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
2024-12-08 09:58:37 -08:00
|
|
|
grid_map_core::grid_map_core
|
2023-12-17 22:44:11 -08:00
|
|
|
)
|
|
|
|
|
ELSE()
|
2024-10-08 20:01:38 -07:00
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
2023-12-17 22:44:11 -08:00
|
|
|
${grid_map_core_INCLUDE_DIRS}
|
|
|
|
|
)
|
2024-10-08 20:01:38 -07:00
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
2023-12-17 22:44:11 -08:00
|
|
|
${grid_map_core_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF()
|
|
|
|
|
SET(SRC_FILES
|
|
|
|
|
${SRC_FILES}
|
|
|
|
|
global_map/GridMap.cpp
|
|
|
|
|
)
|
|
|
|
|
ENDIF(grid_map_core_FOUND)
|
|
|
|
|
|
2019-10-28 21:16:02 -04:00
|
|
|
IF(AliceVision_FOUND)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
aliceVision_mesh
|
|
|
|
|
aliceVision_sfmDataIO)
|
|
|
|
|
ENDIF(AliceVision_FOUND)
|
|
|
|
|
|
2017-05-30 09:27:31 -04:00
|
|
|
IF(libfovis_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${libfovis_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${libfovis_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(libfovis_FOUND)
|
|
|
|
|
|
2017-05-30 14:03:46 -04:00
|
|
|
IF(libviso2_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${libviso2_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${libviso2_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(libviso2_FOUND)
|
|
|
|
|
|
2017-05-31 20:57:24 -04:00
|
|
|
IF(dvo_core_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
${dvo_core_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
${dvo_core_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(dvo_core_FOUND)
|
|
|
|
|
|
2018-03-07 19:43:30 -05:00
|
|
|
IF(okvis_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${OKVIS_INCLUDE_DIRS}
|
|
|
|
|
${BRISK_INCLUDE_DIRS}
|
|
|
|
|
${OPENGV_INCLUDE_DIRS}
|
|
|
|
|
${CERES_INCLUDE_DIRS}
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${OKVIS_LIBRARIES}
|
|
|
|
|
${BRISK_LIBRARIES}
|
|
|
|
|
${OPENGV_LIBRARIES}
|
|
|
|
|
${CERES_LIBRARIES}
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(okvis_FOUND)
|
|
|
|
|
|
2018-07-14 20:40:44 -04:00
|
|
|
IF(msckf_vio_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${msckf_vio_INCLUDE_DIRS}
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${msckf_vio_LIBRARIES}
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(msckf_vio_FOUND)
|
|
|
|
|
|
2019-03-18 20:45:34 -04:00
|
|
|
IF(vins_FOUND)
|
|
|
|
|
SET(INCLUDE_DIRS
|
|
|
|
|
${vins_INCLUDE_DIRS}
|
|
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${vins_LIBRARIES}
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
ENDIF(vins_FOUND)
|
|
|
|
|
|
2026-06-13 16:20:37 -07:00
|
|
|
IF(OpenVINS_FOUND)
|
2021-03-28 23:51:02 -04:00
|
|
|
SET(INCLUDE_DIRS
|
2026-06-13 16:20:37 -07:00
|
|
|
${OpenVINS_INCLUDE_DIRS}
|
2021-03-28 23:51:02 -04:00
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
2026-06-13 16:20:37 -07:00
|
|
|
${OpenVINS_LIBRARIES}
|
2021-03-28 23:51:02 -04:00
|
|
|
${LIBRARIES}
|
|
|
|
|
)
|
2026-06-13 16:20:37 -07:00
|
|
|
ENDIF(OpenVINS_FOUND)
|
2021-03-28 23:51:02 -04:00
|
|
|
|
2021-03-09 16:00:41 -05:00
|
|
|
IF(ORB_SLAM_FOUND)
|
2017-06-05 19:04:23 -04:00
|
|
|
SET(INCLUDE_DIRS
|
2021-03-09 16:00:41 -05:00
|
|
|
${ORB_SLAM_INCLUDE_DIRS} #before so that g2o includes are taken from ORB_SLAM directory before the official g2o one
|
2017-06-05 19:04:23 -04:00
|
|
|
${INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
SET(LIBRARIES
|
2021-03-09 16:00:41 -05:00
|
|
|
${ORB_SLAM_LIBRARIES}
|
2017-06-05 19:04:23 -04:00
|
|
|
${LIBRARIES}
|
|
|
|
|
)
|
2021-03-09 16:00:41 -05:00
|
|
|
ENDIF(ORB_SLAM_FOUND)
|
2017-06-05 19:04:23 -04:00
|
|
|
|
2025-10-03 11:49:21 -07:00
|
|
|
IF(CUVSLAM_FOUND)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
|
|
|
|
cuvslam::cuvslam
|
|
|
|
|
)
|
|
|
|
|
ENDIF(CUVSLAM_FOUND)
|
|
|
|
|
|
2018-03-28 11:04:18 -04:00
|
|
|
IF(GTSAM_FOUND)
|
|
|
|
|
SET(LIBRARIES
|
|
|
|
|
${LIBRARIES}
|
2026-03-15 14:57:27 -07:00
|
|
|
gtsam
|
2018-03-28 11:04:18 -04:00
|
|
|
)
|
|
|
|
|
ENDIF(GTSAM_FOUND)
|
|
|
|
|
|
2019-05-07 18:57:53 -04:00
|
|
|
IF(WITH_MADGWICK)
|
|
|
|
|
SET(SRC_FILES
|
|
|
|
|
${SRC_FILES}
|
|
|
|
|
imufilter/MadgwickFilter.cpp
|
|
|
|
|
)
|
|
|
|
|
ENDIF(WITH_MADGWICK)
|
|
|
|
|
|
2012-03-03 01:46:30 +00:00
|
|
|
####################################
|
2011-06-05 14:45:39 +00:00
|
|
|
# Generate resources files
|
2012-03-03 01:46:30 +00:00
|
|
|
####################################
|
2014-07-26 04:36:00 +00:00
|
|
|
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/resources/DatabaseSchema.sql.in ${CMAKE_CURRENT_SOURCE_DIR}/resources/DatabaseSchema.sql)
|
|
|
|
|
|
2020-12-03 15:45:40 -05:00
|
|
|
SET(RESOURCES
|
2012-12-11 18:05:05 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/DatabaseSchema.sql
|
2025-09-03 16:55:54 -07:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/backward_compatibility/DatabaseSchema_0_22_0.sql
|
2025-06-01 14:14:29 -07:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/backward_compatibility/DatabaseSchema_0_20_0.sql
|
2020-12-03 15:45:40 -05:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/backward_compatibility/DatabaseSchema_0_18_3.sql
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/backward_compatibility/DatabaseSchema_0_18_0.sql
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/backward_compatibility/DatabaseSchema_0_17_0.sql
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/backward_compatibility/DatabaseSchema_0_16_2.sql
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/backward_compatibility/DatabaseSchema_0_16_1.sql
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/backward_compatibility/DatabaseSchema_0_16_0.sql
|
2012-03-03 01:46:30 +00:00
|
|
|
)
|
|
|
|
|
|
2025-11-07 17:22:35 -08:00
|
|
|
IF(TORCH_FOUND AND WITH_PYTHON AND Python3_FOUND)
|
|
|
|
|
SET(RESOURCES
|
|
|
|
|
${RESOURCES}
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/superpoint_rpautrat/superpoint_to_torchscript.py
|
|
|
|
|
)
|
|
|
|
|
ENDIF()
|
|
|
|
|
|
2020-12-03 15:45:40 -05:00
|
|
|
foreach(arg ${RESOURCES})
|
|
|
|
|
get_filename_component(filename ${arg} NAME)
|
|
|
|
|
string(REPLACE "." "_" output ${filename})
|
|
|
|
|
set(RESOURCES_HEADERS "${RESOURCES_HEADERS}" "${CMAKE_CURRENT_BINARY_DIR}/${output}.h")
|
2023-09-16 14:26:17 -07:00
|
|
|
set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/${output}.h" PROPERTY SKIP_AUTOGEN ON)
|
2020-12-03 15:45:40 -05:00
|
|
|
endforeach(arg ${RESOURCES})
|
2012-12-11 18:05:05 +00:00
|
|
|
|
2021-01-17 01:56:27 -05:00
|
|
|
#MESSAGE(STATUS "RESOURCES = ${RESOURCES}")
|
|
|
|
|
#MESSAGE(STATUS "RESOURCES_HEADERS = ${RESOURCES_HEADERS}")
|
2012-12-11 18:05:05 +00:00
|
|
|
|
2022-09-04 19:18:14 +02:00
|
|
|
ADD_CUSTOM_COMMAND(
|
|
|
|
|
OUTPUT ${RESOURCES_HEADERS}
|
|
|
|
|
COMMAND res_tool -n rtabmap -p ${CMAKE_CURRENT_BINARY_DIR} ${RESOURCES}
|
|
|
|
|
COMMENT "[Creating resources]"
|
|
|
|
|
DEPENDS ${RESOURCES}
|
|
|
|
|
)
|
2012-03-03 01:46:30 +00:00
|
|
|
|
|
|
|
|
####################################
|
|
|
|
|
# Generate resources files END
|
|
|
|
|
####################################
|
|
|
|
|
|
2013-12-11 00:12:44 +00:00
|
|
|
add_definitions(${PCL_DEFINITIONS})
|
|
|
|
|
|
2011-06-05 14:45:39 +00:00
|
|
|
# Add binary that is built from the source file "main.cpp".
|
|
|
|
|
# The extension is automatically found.
|
2013-12-11 00:12:44 +00:00
|
|
|
ADD_LIBRARY(rtabmap_core ${SRC_FILES} ${RESOURCES_HEADERS})
|
2023-02-22 23:07:30 -08:00
|
|
|
ADD_LIBRARY(rtabmap::core ALIAS rtabmap_core)
|
2023-02-12 16:18:01 -08:00
|
|
|
|
|
|
|
|
generate_export_header(rtabmap_core
|
|
|
|
|
DEPRECATED_MACRO_NAME RTABMAP_DEPRECATED)
|
|
|
|
|
|
|
|
|
|
target_include_directories(rtabmap_core PUBLIC
|
2025-09-13 15:58:40 -07:00
|
|
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_SOURCE_DIR}/../include;${CMAKE_CURRENT_BINARY_DIR};${CMAKE_CURRENT_BINARY_DIR}/include>"
|
|
|
|
|
"$<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR}>")
|
|
|
|
|
|
Adding doc and tests (#1492)
* added doc and tests for util2d.h
* updated cmake-ros ci
* Added util3d.h doc and tests
* util3d_transforms.h: Added doc and tests
* util3d_filtering.h: started doc and test
* util3d_filtering.h: more tests and doc
* Added more doc/tests
* finished util3d_filtering doc and tests
* added test for util2d::depthBleedingFiltering
* Added util3d_registration tests
* Added util3d_features.h doc/tests
* added doc/tests for util3d_correspondences.h
* added doc/gtest for util3d_mapping.h (missing hpp functions)
* finished testing util3d_mapping.hpp
* Added util3d_motion_estimation.h tests (2D->3D done)
* finished util3d_motion_estimation.h tests
* minimal util3d_surface.h
* Added Transform and VisualWord tests
* Added doc for CameraModel and StereoCameraModel
* Added more logs in ros ci
* Passing tests on fical
* improved all devcontainer
* added devcontainer kilted, fixed source setup.bash, removed ldconfig in ros-cmake workflow
* cleanup
* source ros
* Added utilite tests
* Added testing to appveyor, github actions cancellable on re-commit on same branch
* appveyor testing without all targets
* appveyor: specifying ALL_BUILD target
* Fixed Util2dTest.NMSImageBoundsRespected test
* Fixing PCL Indices error on old pcl
* Added VWDictionary tests and doc. Fixed LSH not working (fix from https://github.com/flann-lib/flann/pull/472
* fixing some appveyor CI errors, added test to check dictionary serialization against all type
* Added StereoDense, StereoBM and StereoSGBM doc and tests
* Added Stereo tests
* Added CameraModel and StereoCameraModel tests
* Added doc and test for Statistics
* Added doc/tests for Signature
* Added doc/test for SensorEvent, added doc for SensorCaptureInfo
* Added doc to SensorData
* Added SensorData tests
* Added SensorCapture and SensorCaptureThread doc and tests
* fixed sensordata test
* updated SSC test and doc
* Added doc and tests for BayesFilter class
* Enabled testing on mac, updated windows testing like on linux
* added test_link
* fixed unresolved on windows
* fixed ThreadHandle error on macos ci
* Added GPS and GeodeticCoords tests
* Added tests for compression
* Added Odometry tests (base class only)
* Added DBDriver tests
* Added coverage report
* uniformized test names
* fixing concurancy and coverage ci
* dont built tools, examples and app for coverage build
* fixed report tool rebuilt without qt compilation error
* updated coverage option
* updated coverage config
* added doc CI job
* fixing windows and mac ci errors
* Added DBDriverSqlite3 tests
* Added IMU tests
* Added Graph tests
* fixing flaky macos test
* Added IMUThread and IMUFilter tests
* Added Landmarks tests
* Added LASWriter tests
* fixing seed flaky test
* fixing flaky macos timing tests
* Added LocalGrid tests
* Added LocalGridMaker tests
* fixing ci errors
* Added GlobalMap tests
* Added doc for EnvSensor
* Added Features2D tests
* Added Registration tests
* Added RegistrationVis tests
* Added doc for Rtabmap and Memory classes
* Added Memory and Rtabmap tests
* making some tests less flaky
* lcov 1.14 support
* updated compatible tool arguments
* Added integration tests (RGB-D, Stereo, Lidar2d, Lidar3d)
* More octomap checks
* Refactored how/when python interpretor is created to simplify library usage
* Added python tests
* fixed some flaky tests
* suppressed some third party related warnings
* fixed ceres tests
* more flaky fixes
* Fixing tests without libpointmatcher
* Added RANSAC rejection filter to PCL ICP
* fixing multi platform flakiness
* Added test to detect regression
* Fixing windows pcl link error
* fixed some macos flakiness
* bigger 2D2D registration error on opencv 4.6.0
* flakiness
* fixing flaky tests on windows and mac
* flaky thread test on slow mac VM
* windows slow test
* fixing more ci erros
* fxing temp dir on windows
* Added Optimizer tests and discovered some bugs (fixed)
* fixing flaky tests in mac and windows
* Added Optimizer doc
* Added GTSAM BA, updated Ceres to use g2o ba parameters. Renamed g2o's ba related parameters to Optimizer group and used by both gtsam and ceres.
* fixing build without gtsam
* fixing home dir
* fixing python ci isssues
* Added multicam ba tests
* Added Ceres multicam BA support
* Aligned BundleAdjustment parameters with Optimizer/Strategy to avoid confusion in the code
* Added BA integration test
* Added robust graph optimization integration test
* Added loop3it test
* Added stereo20Hz test
* Added smartfactor gtsam
* Fixed bugged check and warn if python didn't return any descriptors
* Fixing gtsam version build issues
* fixing tilt on windows ci
* loosing ceres integration test for ci
* mac ci flakiness
* updating missing param in gui
* updating test bound for mac
* added appearance-based tests, set min gftt quality to quality level
* testing more stuff
* improving features2d tests
* ci flakiness
* fixing flaky ci
* ci fixes
* flaky fixes
* Added RegistrationIcp tests
* Added icp integration test with real-worl corridor like env
* intermediate nodes
* fixing enum
* Updated test to catch #1714
* Fixed 2d corridor failing on pcl
* flaky pnp test
* flaky brisk test
* Set rtabmap_integration test as long
* updating loop closure test
* flaky ci tests
* TEsting roundtrip g2o/toro save/load
* loosing test bound
* fixed cuda capable checks
* flaky tests
* Debugging test hanging
* more debugging stuff
* updating limit
* windows: disabled cuda on ci to avoid incompatible driver issue. Fixing a bad test mem allocation
* trying fixing cuda hanging issue
* fixing ci flakyness
* flaky tests
* Updated BOW flaky tests by checking min precision/recall instead of recall@100precision. Fixed signature test
* CameraModel::load() test initRectificationMap param
* test dbdriver load dictionary idsOnly
* Memory: test keepLinkedInDb param
* added dummyDictionary tests
* test intermediate nodes count
* Added MarkerDetector tests
* reverted breaking change of UMutex and USemaphore
* Features2d: fixed compiltion warnings with clang about override
* clang warnings
* fixing test build with pcl 1.8
* g2o and gtsam build errors on android
* opencv5 test fixes
* disabled testing for ios and android builds
* normalized endline characters for easier diff
* added LF CRLF rule
* bump 0.23.10. fixing doc version
* Publish rtabmap website doc from ci
* fixing MSCVC build error
* macos icp flaky test
* fixing ceres macos test bound
* ficing more flaky tests
* fixing opencv5 related test errors. Also fixed an actual bug in ENU_WGS84ToGeocentric_WGS84()
* added comment about mrpt change
* removed rosdoc2 (will add it for rtabmap_ros later)
* fixing website style
* updated download links
* locally deployable website with api
* sweep doxygen issues
* improved/revised doxygen main pages
* removed examples empty page
* Updated doxygen style
* more concise doxygen groups
* added api link on main readme
* fixing utilite test error
* fixing CommonFilteringGroundNormalsUp test
* updated precisionRecall test bounds for Freak and brief descriptors
* fixing scale check in ba tests
* disabled tests on windows cuda build (missing dlls amd runner cannot test cuda anyway)
* ceres: missing suitesparse dep in windows ci
* adjusting recall thr for fast/freak
* ficing more flaky tests
* fixing flaky tests
* disabled coverage in ros ci
* Enable integration tests for ros ci jobs
* loosing up some threshold for failing tests
* trigger cache
* fixing test data in ros ci. Updated flaky test for mac
* slaking some test limit
* Fixed rtabmap-detectMoreLoopClosures inverted output value
* loosing up sift recall on mac
* optimizer re-ordered distribution for reproducible results (mac g2o)
* macos dump test crash log
* combining all tests to save time on shared library reload. Also fixed Logs with missing arguments.
* Added ENABLE_FORMAT_ERRORS cmake option
* do test only one time
* fixed all format warnings
* format security android build errors
* less verbose tests
* updated ImuUThread test
* fixed a log
* Fixed libpointmatcher 2d normals eigen issue
* Fixing libpointmatcher conversion issues
* fixing libpointmatcher test on windows ci
* cleanup comments, relax some test thr
* disabled sequoia-intel ci build (too flaky, would need extensive testing directly on that machine)
2026-08-06 13:32:20 -07:00
|
|
|
target_include_directories(rtabmap_core SYSTEM PUBLIC
|
2025-09-13 15:58:40 -07:00
|
|
|
"$<BUILD_INTERFACE:${PUBLIC_INCLUDE_DIRS};${INCLUDE_DIRS}>"
|
|
|
|
|
"$<INSTALL_INTERFACE:${PUBLIC_INCLUDE_DIRS}>")
|
Adding doc and tests (#1492)
* added doc and tests for util2d.h
* updated cmake-ros ci
* Added util3d.h doc and tests
* util3d_transforms.h: Added doc and tests
* util3d_filtering.h: started doc and test
* util3d_filtering.h: more tests and doc
* Added more doc/tests
* finished util3d_filtering doc and tests
* added test for util2d::depthBleedingFiltering
* Added util3d_registration tests
* Added util3d_features.h doc/tests
* added doc/tests for util3d_correspondences.h
* added doc/gtest for util3d_mapping.h (missing hpp functions)
* finished testing util3d_mapping.hpp
* Added util3d_motion_estimation.h tests (2D->3D done)
* finished util3d_motion_estimation.h tests
* minimal util3d_surface.h
* Added Transform and VisualWord tests
* Added doc for CameraModel and StereoCameraModel
* Added more logs in ros ci
* Passing tests on fical
* improved all devcontainer
* added devcontainer kilted, fixed source setup.bash, removed ldconfig in ros-cmake workflow
* cleanup
* source ros
* Added utilite tests
* Added testing to appveyor, github actions cancellable on re-commit on same branch
* appveyor testing without all targets
* appveyor: specifying ALL_BUILD target
* Fixed Util2dTest.NMSImageBoundsRespected test
* Fixing PCL Indices error on old pcl
* Added VWDictionary tests and doc. Fixed LSH not working (fix from https://github.com/flann-lib/flann/pull/472
* fixing some appveyor CI errors, added test to check dictionary serialization against all type
* Added StereoDense, StereoBM and StereoSGBM doc and tests
* Added Stereo tests
* Added CameraModel and StereoCameraModel tests
* Added doc and test for Statistics
* Added doc/tests for Signature
* Added doc/test for SensorEvent, added doc for SensorCaptureInfo
* Added doc to SensorData
* Added SensorData tests
* Added SensorCapture and SensorCaptureThread doc and tests
* fixed sensordata test
* updated SSC test and doc
* Added doc and tests for BayesFilter class
* Enabled testing on mac, updated windows testing like on linux
* added test_link
* fixed unresolved on windows
* fixed ThreadHandle error on macos ci
* Added GPS and GeodeticCoords tests
* Added tests for compression
* Added Odometry tests (base class only)
* Added DBDriver tests
* Added coverage report
* uniformized test names
* fixing concurancy and coverage ci
* dont built tools, examples and app for coverage build
* fixed report tool rebuilt without qt compilation error
* updated coverage option
* updated coverage config
* added doc CI job
* fixing windows and mac ci errors
* Added DBDriverSqlite3 tests
* Added IMU tests
* Added Graph tests
* fixing flaky macos test
* Added IMUThread and IMUFilter tests
* Added Landmarks tests
* Added LASWriter tests
* fixing seed flaky test
* fixing flaky macos timing tests
* Added LocalGrid tests
* Added LocalGridMaker tests
* fixing ci errors
* Added GlobalMap tests
* Added doc for EnvSensor
* Added Features2D tests
* Added Registration tests
* Added RegistrationVis tests
* Added doc for Rtabmap and Memory classes
* Added Memory and Rtabmap tests
* making some tests less flaky
* lcov 1.14 support
* updated compatible tool arguments
* Added integration tests (RGB-D, Stereo, Lidar2d, Lidar3d)
* More octomap checks
* Refactored how/when python interpretor is created to simplify library usage
* Added python tests
* fixed some flaky tests
* suppressed some third party related warnings
* fixed ceres tests
* more flaky fixes
* Fixing tests without libpointmatcher
* Added RANSAC rejection filter to PCL ICP
* fixing multi platform flakiness
* Added test to detect regression
* Fixing windows pcl link error
* fixed some macos flakiness
* bigger 2D2D registration error on opencv 4.6.0
* flakiness
* fixing flaky tests on windows and mac
* flaky thread test on slow mac VM
* windows slow test
* fixing more ci erros
* fxing temp dir on windows
* Added Optimizer tests and discovered some bugs (fixed)
* fixing flaky tests in mac and windows
* Added Optimizer doc
* Added GTSAM BA, updated Ceres to use g2o ba parameters. Renamed g2o's ba related parameters to Optimizer group and used by both gtsam and ceres.
* fixing build without gtsam
* fixing home dir
* fixing python ci isssues
* Added multicam ba tests
* Added Ceres multicam BA support
* Aligned BundleAdjustment parameters with Optimizer/Strategy to avoid confusion in the code
* Added BA integration test
* Added robust graph optimization integration test
* Added loop3it test
* Added stereo20Hz test
* Added smartfactor gtsam
* Fixed bugged check and warn if python didn't return any descriptors
* Fixing gtsam version build issues
* fixing tilt on windows ci
* loosing ceres integration test for ci
* mac ci flakiness
* updating missing param in gui
* updating test bound for mac
* added appearance-based tests, set min gftt quality to quality level
* testing more stuff
* improving features2d tests
* ci flakiness
* fixing flaky ci
* ci fixes
* flaky fixes
* Added RegistrationIcp tests
* Added icp integration test with real-worl corridor like env
* intermediate nodes
* fixing enum
* Updated test to catch #1714
* Fixed 2d corridor failing on pcl
* flaky pnp test
* flaky brisk test
* Set rtabmap_integration test as long
* updating loop closure test
* flaky ci tests
* TEsting roundtrip g2o/toro save/load
* loosing test bound
* fixed cuda capable checks
* flaky tests
* Debugging test hanging
* more debugging stuff
* updating limit
* windows: disabled cuda on ci to avoid incompatible driver issue. Fixing a bad test mem allocation
* trying fixing cuda hanging issue
* fixing ci flakyness
* flaky tests
* Updated BOW flaky tests by checking min precision/recall instead of recall@100precision. Fixed signature test
* CameraModel::load() test initRectificationMap param
* test dbdriver load dictionary idsOnly
* Memory: test keepLinkedInDb param
* added dummyDictionary tests
* test intermediate nodes count
* Added MarkerDetector tests
* reverted breaking change of UMutex and USemaphore
* Features2d: fixed compiltion warnings with clang about override
* clang warnings
* fixing test build with pcl 1.8
* g2o and gtsam build errors on android
* opencv5 test fixes
* disabled testing for ios and android builds
* normalized endline characters for easier diff
* added LF CRLF rule
* bump 0.23.10. fixing doc version
* Publish rtabmap website doc from ci
* fixing MSCVC build error
* macos icp flaky test
* fixing ceres macos test bound
* ficing more flaky tests
* fixing opencv5 related test errors. Also fixed an actual bug in ENU_WGS84ToGeocentric_WGS84()
* added comment about mrpt change
* removed rosdoc2 (will add it for rtabmap_ros later)
* fixing website style
* updated download links
* locally deployable website with api
* sweep doxygen issues
* improved/revised doxygen main pages
* removed examples empty page
* Updated doxygen style
* more concise doxygen groups
* added api link on main readme
* fixing utilite test error
* fixing CommonFilteringGroundNormalsUp test
* updated precisionRecall test bounds for Freak and brief descriptors
* fixing scale check in ba tests
* disabled tests on windows cuda build (missing dlls amd runner cannot test cuda anyway)
* ceres: missing suitesparse dep in windows ci
* adjusting recall thr for fast/freak
* ficing more flaky tests
* fixing flaky tests
* disabled coverage in ros ci
* Enable integration tests for ros ci jobs
* loosing up some threshold for failing tests
* trigger cache
* fixing test data in ros ci. Updated flaky test for mac
* slaking some test limit
* Fixed rtabmap-detectMoreLoopClosures inverted output value
* loosing up sift recall on mac
* optimizer re-ordered distribution for reproducible results (mac g2o)
* macos dump test crash log
* combining all tests to save time on shared library reload. Also fixed Logs with missing arguments.
* Added ENABLE_FORMAT_ERRORS cmake option
* do test only one time
* fixed all format warnings
* format security android build errors
* less verbose tests
* updated ImuUThread test
* fixed a log
* Fixed libpointmatcher 2d normals eigen issue
* Fixing libpointmatcher conversion issues
* fixing libpointmatcher test on windows ci
* cleanup comments, relax some test thr
* disabled sequoia-intel ci build (too flaky, would need extensive testing directly on that machine)
2026-08-06 13:32:20 -07:00
|
|
|
|
|
|
|
|
# GCC 12 false positives from PCL/Eigen template instantiations (SSE codepath
|
|
|
|
|
# unaligned-loads 16 bytes from a 3-element Eigen vector). Eigen knows the
|
|
|
|
|
# over-read is safe; GCC 12 doesn't. Fixed in GCC 13. PCL itself doesn't
|
|
|
|
|
# trigger this in its own build because the offending code is in templated
|
|
|
|
|
# headers and only fires in downstream TUs. Same scope/approach as
|
|
|
|
|
# pybind11 PR #5355.
|
|
|
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU"
|
|
|
|
|
AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 12
|
|
|
|
|
AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13)
|
|
|
|
|
target_compile_options(rtabmap_core PRIVATE -Wno-array-bounds -Wno-stringop-overread)
|
|
|
|
|
|
|
|
|
|
# GCC 12 -Wuse-after-free false positive on the vendored TORO library's
|
|
|
|
|
# reference-counted DMatrix destructor: when multiple ~DMatrix<double>()
|
|
|
|
|
# inline at the same closing brace, GCC's cross-call flow analysis can't
|
|
|
|
|
# prove the freed and re-read 'shares' pointers belong to different
|
|
|
|
|
# objects. Scope to the TORO sources only.
|
|
|
|
|
if(WITH_TORO)
|
|
|
|
|
set_source_files_properties(
|
|
|
|
|
optimizer/toro3d/posegraph3.cpp
|
|
|
|
|
optimizer/toro3d/treeoptimizer3_iteration.cpp
|
|
|
|
|
optimizer/toro3d/treeoptimizer3.cpp
|
|
|
|
|
optimizer/toro3d/posegraph2.cpp
|
|
|
|
|
optimizer/toro3d/treeoptimizer2.cpp
|
|
|
|
|
PROPERTIES COMPILE_OPTIONS "-Wno-use-after-free")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
# GCC 12 -Wmaybe-uninitialized false positive: Eigen's SSE codepath
|
|
|
|
|
# _mm_loadu_pd's an uninitialized-by-design Eigen::Matrix<double,3,3>
|
|
|
|
|
# inside g2o::SBACam. GCC follows the SIMD load through and flags it as
|
|
|
|
|
# potentially uninitialized; Eigen relies on the caller to assign before
|
|
|
|
|
# reading. Only OptimizerG2O.cpp instantiates SBACam.
|
|
|
|
|
if(G2O_FOUND)
|
|
|
|
|
set_source_files_properties(
|
|
|
|
|
optimizer/OptimizerG2O.cpp
|
|
|
|
|
PROPERTIES COMPILE_OPTIONS "-Wno-maybe-uninitialized")
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
TARGET_LINK_LIBRARIES(rtabmap_core
|
2023-02-12 16:18:01 -08:00
|
|
|
PUBLIC
|
|
|
|
|
rtabmap_utilite
|
|
|
|
|
${PUBLIC_LIBRARIES}
|
|
|
|
|
PRIVATE
|
|
|
|
|
${LIBRARIES})
|
2011-06-05 14:45:39 +00:00
|
|
|
|
2014-12-09 20:17:03 -05:00
|
|
|
SET_TARGET_PROPERTIES(
|
|
|
|
|
rtabmap_core
|
|
|
|
|
PROPERTIES
|
|
|
|
|
VERSION ${RTABMAP_VERSION}
|
|
|
|
|
SOVERSION ${RTABMAP_MAJOR_VERSION}.${RTABMAP_MINOR_VERSION}
|
2023-02-22 23:07:30 -08:00
|
|
|
EXPORT_NAME "core"
|
2014-12-09 20:17:03 -05:00
|
|
|
)
|
|
|
|
|
|
2023-02-12 16:18:01 -08:00
|
|
|
INSTALL(TARGETS rtabmap_core EXPORT rtabmap_coreTargets
|
2014-12-17 17:28:21 +01:00
|
|
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT runtime
|
|
|
|
|
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel
|
|
|
|
|
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel)
|
2023-02-12 16:18:01 -08:00
|
|
|
|
|
|
|
|
configure_file(
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/rtabmap_core_export.h
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/include/${PROJECT_PREFIX}/core/rtabmap_core_export.h
|
|
|
|
|
COPYONLY)
|
|
|
|
|
|
|
|
|
|
install(
|
|
|
|
|
DIRECTORY
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../include/${PROJECT_PREFIX}
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/include/${PROJECT_PREFIX}
|
|
|
|
|
DESTINATION
|
|
|
|
|
${INSTALL_INCLUDE_DIR}
|
|
|
|
|
COMPONENT
|
|
|
|
|
devel
|
|
|
|
|
FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
export(EXPORT rtabmap_coreTargets
|
|
|
|
|
FILE "${CMAKE_CURRENT_BINARY_DIR}/../../${PROJECT_NAME}_coreTargets.cmake"
|
2023-02-22 23:07:30 -08:00
|
|
|
NAMESPACE rtabmap::
|
2023-02-12 16:18:01 -08:00
|
|
|
)
|
2011-06-05 14:45:39 +00:00
|
|
|
|
2023-02-12 16:18:01 -08:00
|
|
|
install(EXPORT rtabmap_coreTargets
|
|
|
|
|
FILE
|
|
|
|
|
${PROJECT_NAME}_coreTargets.cmake
|
|
|
|
|
DESTINATION
|
|
|
|
|
${INSTALL_CMAKE_DIR}
|
2023-02-22 23:07:30 -08:00
|
|
|
NAMESPACE rtabmap::
|
2023-02-12 16:18:01 -08:00
|
|
|
COMPONENT
|
|
|
|
|
devel
|
|
|
|
|
)
|
|
|
|
|
|