Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
cbf990f
V3 develop ros (#1402)
Serafadam Jul 31, 2025
1b9d003
add changelog
Serafadam Jul 31, 2025
2b4dcc1
remove zip and tar from deps
Serafadam Jul 31, 2025
12987a2
Merge branch 'develop' into kilted
Serafadam Jul 31, 2025
f622983
bump version and add deps
Serafadam Jul 31, 2025
02c8713
deb generation fixed
Serafadam Aug 1, 2025
0415a3f
Merge branch 'develop' into kilted
Serafadam Aug 1, 2025
7b711f0
bump package
Serafadam Aug 1, 2025
5ef42d2
Merge branch 'develop' into kilted
Serafadam Aug 19, 2025
eebbe7c
bump version, add rgbd sync methods
Serafadam Aug 22, 2025
7d3b6ce
Merge branch 'develop' into kilted
Serafadam Sep 1, 2025
0ffadeb
kilted vio wip
Serafadam Sep 3, 2025
38a4261
Merge branch 'develop' into kilted_vio
Serafadam Sep 3, 2025
c5cb621
Merge branch 'develop' into kilted
Serafadam Sep 3, 2025
cbeb690
Merge branch 'develop' into kilted
Serafadam Sep 4, 2025
f3465bd
update dynamic cal cmake configs
Serafadam Sep 4, 2025
0793ad1
Merge branch 'develop' into kilted
Serafadam Sep 9, 2025
8e2b397
disable dcl for now
Serafadam Sep 9, 2025
d109968
Merge branch 'kilted' into kilted_vio
Serafadam Sep 10, 2025
e3de858
kilted vslam
Serafadam Sep 17, 2025
d96b34e
minor updates
Serafadam Sep 26, 2025
a42071f
minor fixes
Serafadam Sep 26, 2025
ec92acc
merge develop
Serafadam Sep 29, 2025
40c95fa
add gfortran to deps
Serafadam Sep 29, 2025
95a60f8
add back rtabmapvio
Serafadam Sep 29, 2025
b75d5eb
try release triplets and remove opencv from rtabmap deps to reduce bu…
Serafadam Sep 29, 2025
5fa8894
Merge branch 'develop' into kilted
Serafadam Sep 30, 2025
e15eefe
Merge branch 'kilted' into kilted_vslam
Serafadam Sep 30, 2025
138d198
minor fixes
Serafadam Sep 30, 2025
b7364e8
bump version
Serafadam Sep 30, 2025
8727e3d
remove unused comment
Serafadam Sep 30, 2025
a62d4ba
cosmetic changes
Serafadam Sep 30, 2025
4a908b2
reformat
Serafadam Oct 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4,637 changes: 4,637 additions & 0 deletions CHANGELOG.rst

Large diffs are not rendered by default.

41 changes: 23 additions & 18 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
cmake_minimum_required(VERSION 3.20)

set(BUILD_SHARED_LIBS ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(FETCHCONTENT_FULLY_DISCONNECTED OFF)

include(cmake/depthaiOptions.cmake)

if(WIN32)
Expand Down Expand Up @@ -122,6 +126,7 @@ set(PROJECT_EXPORT_GROUP "${PROJECT_NAME}Targets")

## Check if cloned or sources
find_package(Git)
find_package(ament_cmake QUIET)
if(GIT_FOUND)
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --show-toplevel
Expand Down Expand Up @@ -233,15 +238,11 @@ set(THIRDPARTY_RTABMAP_LIBRARIES "rtabmap::utilite" CACHE STRING "Optional libra
set(TARGET_RTABMAP_NAME ${PROJECT_NAME}-rtabmap)
set(TARGET_RTABMAP_ALIAS rtabmap)
if(DEPTHAI_RTABMAP_SUPPORT)
if(${RTABMap_FOUND} AND DEPTHAI_HAVE_PCL_SUPPORT)
if(${RTABMap_FOUND})
set(DEPTHAI_HAVE_RTABMAP_SUPPORT ON)
message(STATUC "RTABMAP found. RTABMAP Support enabled")
message(STATUS "RTABMAP found. RTABMAP Support enabled")
else()
if(${RTABMap_FOUND})
message(WARNING "RTABMAP found but depthai does not have PCL support. RTABMAP Support disabled")
else()
message(WARNING "RTABMAP not found. RTABMAP Support disabled")
endif()
message(WARNING "RTABMAP not found. RTABMAP Support disabled")
endif()
endif()

Expand All @@ -254,7 +255,7 @@ set(TARGET_BASALT_ALIAS basalt)
if(DEPTHAI_BASALT_SUPPORT)
if(${basalt_sdk_FOUND})
set(DEPTHAI_HAVE_BASALT_SUPPORT ON)
message(STATUC "Basalt found. Basalt Support enabled")
message(STATUS "Basalt found. Basalt Support enabled")
else()
message(WARNING "Basalt not found. Basalt Support disabled")
endif()
Expand Down Expand Up @@ -355,6 +356,7 @@ set(TARGET_CORE_SOURCES
src/pipeline/datatype/MessageGroup.cpp
src/pipeline/datatype/ThermalConfig.cpp
src/pipeline/datatype/TransformData.cpp
src/pipeline/datatype/MapData.cpp
src/properties/Properties.cpp
src/capabilities/Capabilities.cpp
src/utility/H26xParsers.cpp
Expand Down Expand Up @@ -434,9 +436,9 @@ set(TARGET_PCL_SOURCES src/pcl/PointCloudData.cpp)
set(TARGET_BASALT_SOURCES src/basalt/BasaltVIO.cpp)

set(TARGET_RTABMAP_SOURCES
src/rtabmap/CalibrationHandler.cpp
src/rtabmap/TransformData.cpp
src/rtabmap/RTABMapVIO.cpp src/rtabmap/RTABMapSLAM.cpp
src/rtabmap/RTABMapConversions.cpp
src/rtabmap/RTABMapSLAM.cpp
src/rtabmap/RTABMapVIO.cpp
)

if(DEPTHAI_HAVE_OPENCV_SUPPORT AND DEPTHAI_MERGED_TARGET)
Expand Down Expand Up @@ -565,7 +567,7 @@ endif()

if(DEPTHAI_HAVE_RTABMAP_SUPPORT AND DEPTHAI_MERGED_TARGET)
# Link to rtabmap
target_link_libraries(${TARGET_CORE_NAME} PUBLIC rtabmap::core ${THIRDPARTY_RTABMAP_LIBRARIES})
target_link_libraries(${TARGET_CORE_NAME} PRIVATE rtabmap::core ${THIRDPARTY_RTABMAP_LIBRARIES})

# add compile defs
target_compile_definitions(${TARGET_CORE_NAME} PUBLIC DEPTHAI_TARGET_RTABMAP)
Expand All @@ -575,7 +577,7 @@ endif()

if(DEPTHAI_HAVE_BASALT_SUPPORT AND DEPTHAI_MERGED_TARGET)
# Link to Basalt
target_link_libraries(${TARGET_CORE_NAME} PUBLIC ${THIRDPARTY_BASALT_LIBRARIES})
target_link_libraries(${TARGET_CORE_NAME} PRIVATE ${THIRDPARTY_BASALT_LIBRARIES})

# add compile defs
target_compile_definitions(${TARGET_CORE_NAME} PUBLIC DEPTHAI_TARGET_BASALT)
Expand Down Expand Up @@ -1003,9 +1005,9 @@ if(DEPTHAI_HAVE_RTABMAP_SUPPORT AND NOT DEPTHAI_MERGED_TARGET)
endif()
# Add depthai-rtabmap library and depthai::rtabmap alias
add_library(${TARGET_RTABMAP_NAME}
src/rtabmap/CalibrationHandler.cpp
src/rtabmap/TransformData.cpp
src/rtabmap/RTABMapVIO.cpp src/rtabmap/RTABMapSLAM.cpp
src/rtabmap/RTABMapConversions.cpp
src/rtabmap/RTABMapSLAM.cpp
src/rtabmap/RTABMapVIO.cpp
)
add_library("${PROJECT_NAME}::${TARGET_RTABMAP_ALIAS}" ALIAS ${TARGET_RTABMAP_NAME})
# Specifies name of generated IMPORTED target (set to alias)
Expand All @@ -1015,7 +1017,7 @@ if(DEPTHAI_HAVE_RTABMAP_SUPPORT AND NOT DEPTHAI_MERGED_TARGET)
add_default_flags(${TARGET_RTABMAP_NAME})
add_flag(${TARGET_RTABMAP_NAME} -Wno-switch-enum)
# Link to RTABMap (publically)
target_link_libraries(${TARGET_RTABMAP_NAME} PUBLIC rtabmap::core ${TARGET_OPENCV_NAME} ${TARGET_PCL_NAME} ${THIRDPARTY_RTABMAP_LIBRARIES} PRIVATE spdlog::spdlog)
target_link_libraries(${TARGET_RTABMAP_NAME} PRIVATE rtabmap::core ${TARGET_OPENCV_NAME} ${TARGET_PCL_NAME} ${THIRDPARTY_RTABMAP_LIBRARIES} spdlog::spdlog)

target_include_directories(${TARGET_RTABMAP_NAME} PRIVATE "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src>")
# Add public compile definition indicating that RTABMap support is available
Expand Down Expand Up @@ -1056,7 +1058,7 @@ if(DEPTHAI_HAVE_BASALT_SUPPORT AND NOT DEPTHAI_MERGED_TARGET)
add_flag(${TARGET_BASALT_NAME} -Wno-switch-enum)

# Link to Basalt (publically)
target_link_libraries(${TARGET_BASALT_NAME} PUBLIC ${THIRDPARTY_BASALT_LIBRARIES} ${TARGET_OPENCV_NAME} PRIVATE spdlog::spdlog)
target_link_libraries(${TARGET_BASALT_NAME} PRIVATE ${THIRDPARTY_BASALT_LIBRARIES} ${TARGET_OPENCV_NAME} spdlog::spdlog)
# Add public compile definition indicating that Basalt support is available
set(DEPTHAI_HAVE_BASALT_SUPPORT ON)

Expand Down Expand Up @@ -1298,3 +1300,6 @@ if(DEPTHAI_INSTALL)
)

endif()
if(ament_cmake_FOUND)
ament_package()
endif()
9 changes: 0 additions & 9 deletions cmake/depthaiConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ find_dependency(libnop CONFIG REQUIRED)
find_dependency(XLink CONFIG REQUIRED COMPONENTS XLinkPublic)

set(DEPTHAI_OPENCV_SUPPORT @DEPTHAI_OPENCV_SUPPORT@)
set(DEPTHAI_BASALT_SUPPORT @DEPTHAI_BASALT_SUPPORT@)
set(DEPTHAI_RTABMAP_SUPPORT @DEPTHAI_RTABMAP_SUPPORT@)
set(DEPTHAI_PCL_SUPPORT @DEPTHAI_PCL_SUPPORT@)
set(DEPTHAI_XTENSOR_SUPPORT @DEPTHAI_XTENSOR_SUPPORT@)
set(DEPTHAI_DYNAMIC_CALIBRATION_SUPPORT @DEPTHAI_DYNAMIC_CALIBRATION_SUPPORT@)
Expand All @@ -15,13 +13,6 @@ if(DEPTHAI_OPENCV_SUPPORT)
find_dependency(OpenCV 4 CONFIG REQUIRED)
endif()

if(DEPTHAI_RTABMAP_SUPPORT)
find_dependency(rtabmap CONFIG REQUIRED)
endif()

if(DEPTHAI_BASALT_SUPPORT)
find_dependency(Basalt CONFIG REQUIRED)
endif()

if(DEPTHAI_PCL_SUPPORT)
find_dependency(PCL CONFIG REQUIRED)
Expand Down
29 changes: 18 additions & 11 deletions cmake/depthaiDependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,16 @@ if(NOT CONFIG_MODE OR (CONFIG_MODE AND NOT DEPTHAI_SHARED_LIBS))
find_package(CURL ${_QUIET} CONFIG REQUIRED)
find_package(cpr ${_QUIET} CONFIG REQUIRED)
endif()
if(DEPTHAI_BASALT_SUPPORT)
find_package(basalt-headers ${_QUIET} CONFIG REQUIRED)
find_package(basalt_sdk ${_QUIET} CONFIG REQUIRED)
endif()
if(DEPTHAI_RTABMAP_SUPPORT)
find_package(g2o ${_QUIET} CONFIG REQUIRED)
find_package(Ceres ${_QUIET} CONFIG REQUIRED)
find_package(PCL CONFIG COMPONENTS common)
find_package(RTABMap ${_QUIET} CONFIG REQUIRED COMPONENTS core utilite)
endif()

# Backward
if(DEPTHAI_ENABLE_BACKWARD)
Expand Down Expand Up @@ -169,8 +179,10 @@ set(BUILD_SHARED_LIBS OFF)
set(XLINK_ENABLE_LIBUSB ${DEPTHAI_ENABLE_LIBUSB} CACHE BOOL "Enable libusb" FORCE)
set(XLINK_INSTALL_PUBLIC_ONLY ON CACHE BOOL "Install only public headers" FORCE)
if(DEPTHAI_ENABLE_LIBUSB)
find_package(usb-1.0 ${_QUIET} CONFIG REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(libusb REQUIRED libusb-1.0)
endif()
set(XLINK_LIBUSB_SYSTEM ON)
if(DEPTHAI_XLINK_LOCAL AND (NOT CONFIG_MODE))
add_subdirectory("${DEPTHAI_XLINK_LOCAL}" ${CMAKE_CURRENT_BINARY_DIR}/XLink)
else()
Expand Down Expand Up @@ -202,16 +214,7 @@ endif()
if(DEPTHAI_PCL_SUPPORT)
find_package(PCL CONFIG COMPONENTS common)
endif()
if(DEPTHAI_RTABMAP_SUPPORT)
find_package(RTABMap ${_QUIET} CONFIG REQUIRED COMPONENTS core utilite)
find_package(g2o ${_QUIET} CONFIG REQUIRED)
find_package(Ceres ${_QUIET} CONFIG REQUIRED)
endif()

if(DEPTHAI_BASALT_SUPPORT)
find_package(basalt-headers ${_QUIET} CONFIG REQUIRED)
find_package(basalt_sdk ${_QUIET} CONFIG REQUIRED)
endif()

# include optional dependency cmake
if(DEPTHAI_DEPENDENCY_INCLUDE)
Expand Down Expand Up @@ -289,6 +292,8 @@ if(DEPTHAI_DYNAMIC_CALIBRATION_SUPPORT)
set(DYNAMIC_CALIBRATION_LIB
$<$<CONFIG:Debug>:${DYNAMIC_CALIBRATION_DEBUG_LIB}>
$<$<CONFIG:Release>:${DYNAMIC_CALIBRATION_RELEASE_LIB}>
$<$<CONFIG:RelWithDebInfo>::${DYNAMIC_CALIBRATION_RELEASE_LIB}>
$<$<CONFIG:MinSizeRel>:${DYNAMIC_CALIBRATION_RELEASE_LIB}>
)
else()
set(DYNAMIC_CALIBRATION_LIB ${DYNAMIC_CALIBRATION_RELEASE})
Expand All @@ -310,7 +315,9 @@ if(DEPTHAI_DYNAMIC_CALIBRATION_SUPPORT)
set_target_properties(dynamic_calibration_imported PROPERTIES
IMPORTED_LOCATION_DEBUG "${DYNAMIC_CALIBRATION_RELEASE}"
IMPORTED_LOCATION_RELEASE "${DYNAMIC_CALIBRATION_RELEASE}"
IMPORTED_CONFIGURATIONS "DEBUG;RELEASE"
IMPORTED_LOCATION_RELWITHDEBINFO "${DYNAMIC_CALIBRATION_RELEASE}"
IMPORTED_LOCATION_MINSIZEREL "${DYNAMIC_CALIBRATION_RELEASE}"
IMPORTED_CONFIGURATIONS "DEBUG;RELEASE;RELWITHDEBINFO;MINSIZEREL"
INTERFACE_INCLUDE_DIRECTORIES "${DYNAMIC_CALIBRATION_DIR}/include"
)
endif()
Expand Down
8 changes: 3 additions & 5 deletions cmake/depthaiOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,8 @@ option(DEPTHAI_OPENCV_SUPPORT "Enable optional OpenCV support" ON)
option(DEPTHAI_XTENSOR_SUPPORT "Enable optional xtensor support" ON)
option(DEPTHAI_PCL_SUPPORT "Enable optional PCL support" OFF)

option(DEPTHAI_RTABMAP_SUPPORT "Enable optional RTABMap support" OFF)
option(DEPTHAI_BASALT_SUPPORT "Enable optional Basalt support" OFF)

option(DEPTHAI_DYNAMIC_CALIBRATION_SUPPORT "Enable Dynamic Calibration support" ON)
option(DEPTHAI_RTABMAP_SUPPORT "Enable optional RTABMap support" ON)
option(DEPTHAI_BASALT_SUPPORT "Enable optional Basalt support" ON)

# Build Behaviour
option(DEPTHAI_MERGED_TARGET "Enable merged target build" ON)
Expand All @@ -48,7 +46,7 @@ if(DEPTHAI_VCPKG_INTERNAL_ONLY)
set(USE_EXTERNAL_INTERFACE_LIBS_DEFAULT OFF)
endif()

option(DEPTHAI_JSON_EXTERNAL "Use external nlohmann_json library" ${USE_EXTERNAL_INTERFACE_LIBS_DEFAULT})
option(DEPTHAI_JSON_EXTERNAL "Use external nlohmann_json library" ON)
option(DEPTHAI_LIBNOP_EXTERNAL "Use external libnop library" ${USE_EXTERNAL_INTERFACE_LIBS_DEFAULT})
option(DEPTHAI_XTENSOR_EXTERNAL "Use external xtensor library" ${USE_EXTERNAL_INTERFACE_LIBS_DEFAULT})

Expand Down
10 changes: 5 additions & 5 deletions cmake/depthaiVcpkgFeatures.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ if(NOT DEPTHAI_VCPKG_INTERNAL_ONLY)
list(APPEND VCPKG_MANIFEST_FEATURES "public-deps")
endif()

if(DEPTHAI_RTABMAP_SUPPORT AND NOT DEPTHAI_VCPKG_INTERNAL_ONLY)
if(DEPTHAI_RTABMAP_SUPPORT)
list(APPEND VCPKG_MANIFEST_FEATURES "rtabmap")
endif()

if(DEPTHAI_BASALT_SUPPORT AND NOT DEPTHAI_VCPKG_INTERNAL_ONLY)
if(DEPTHAI_BASALT_SUPPORT)
list(APPEND VCPKG_MANIFEST_FEATURES "basalt")
endif()

Expand All @@ -22,7 +22,7 @@ if(DEPTHAI_OPENCV_SUPPORT AND NOT DEPTHAI_VCPKG_INTERNAL_ONLY AND DEPTHAI_BUILD_
list(APPEND VCPKG_MANIFEST_FEATURES "opencv-gui")
endif()

if(DEPTHAI_PCL_SUPPORT AND NOT DEPTHAI_VCPKG_INTERNAL_ONLY)
if(DEPTHAI_PCL_SUPPORT)
list(APPEND VCPKG_MANIFEST_FEATURES "pcl-support")
endif()

Expand Down Expand Up @@ -62,7 +62,7 @@ if(DEPTHAI_ENABLE_REMOTE_CONNECTION)
list(APPEND VCPKG_MANIFEST_FEATURES "remote-connection-support")
endif()

if(DEPTHAI_ENABLE_LIBUSB)
if(DEPTHAI_ENABLE_LIBUSB AND NOT DEPTHAI_VCPKG_INTERNAL_ONLY)
list(APPEND VCPKG_MANIFEST_FEATURES "usb")
endif()

Expand All @@ -72,4 +72,4 @@ endif()

if(DEPTHAI_BUILD_ZOO_HELPER)
list(APPEND VCPKG_MANIFEST_FEATURES "zoo-helper")
endif()
endif()
5 changes: 1 addition & 4 deletions cmake/ports/basalt-headers/vcpkg.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@
"name": "vcpkg-cmake-config",
"host": true
},
"eigen3",
"sophus",
"cereal",
"fmt"
"cereal"
]
}
3 changes: 1 addition & 2 deletions cmake/ports/basalt/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ vcpkg_from_github(
REPO luxonis/basalt
REF ef61684ca32d0f827981270f780830c5f84c8e85
SHA512 be82d5f8971265178b8ab1f784fecb498963d3d8b641a47c541416dcea34f49e4138b2b191c930a5e1d9ca5b2ebcd1c1872cc0a2bb6bced683e9d44240f6eed3
HEAD_REF depthai
)
HEAD_REF depthai)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
Expand Down
11 changes: 1 addition & 10 deletions cmake/ports/basalt/vcpkg.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,7 @@
"name": "vcpkg-cmake-config",
"host": true
},
{
"name": "opencv4",
"default-features": false,
"features": [
"calib3d",
"highgui"
]
},
"basalt-headers",
"magic-enum",
"tbb"
"sophus"
]
}
44 changes: 0 additions & 44 deletions cmake/ports/rtabmap/vcpkg.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,6 @@
"dependencies": [
"ceres",
"g2o",
{
"name": "opencv",
"default-features": false,
"features": [
"calib3d",
"highgui"
]
},
{
"name": "pcl",
"default-features": false
Expand Down Expand Up @@ -80,42 +72,6 @@
"octomap"
]
},
"opencv-contrib": {
"description": "Use OpenCV with contrib modules (e.g., xfeatures2d, aruco)",
"dependencies": [
{
"name": "opencv",
"default-features": false,
"features": [
"contrib"
]
}
]
},
"opencv-cuda": {
"description": "Use OpenCV with CUDA (accelerated SIFT ad SURF GPU options)",
"dependencies": [
{
"name": "opencv",
"default-features": false,
"features": [
"cuda"
]
}
]
},
"opencv-nonfree": {
"description": "Use OpenCV with nonfree module (surf feature)",
"dependencies": [
{
"name": "opencv",
"default-features": false,
"features": [
"nonfree"
]
}
]
},
"openni2": {
"description": "Build RTAB-Map with OpenNI2 camera driver",
"dependencies": [
Expand Down
Loading