Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Osx fix #45

Open
wants to merge 67 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
9c78e7b
Update table of contents
jian-dong May 11, 2024
a80994d
Update SDK to v1.10.5
jian-dong May 11, 2024
69a99ca
Update README
jian-dong May 11, 2024
ae814c5
Update README
jian-dong May 11, 2024
fe06e19
chore: Fix pipeline stop condition in OBCameraNode
jian-dong May 13, 2024
31d34e3
bump to v1.5.3
jian-dong May 13, 2024
ed67c56
Update README && Added README_CN
jian-dong May 13, 2024
cb60b4b
chore: Update device_preset option in README
jian-dong May 14, 2024
123a26e
chore: Update device_preset option in README
jian-dong May 14, 2024
7264da0
Fixed of table of content
jian-dong May 14, 2024
ad16447
Fixed camera name
jian-dong May 14, 2024
4b45466
Change OrbbecSDK to Orbbec SDK
jian-dong May 14, 2024
8e9dbd4
add README bring forward launch params
jian-dong May 14, 2024
dc50bb7
Update README : Fixed typo
jian-dong May 14, 2024
73f4236
Fixed serious bug
jian-dong May 14, 2024
0b09a81
set enable_d2c_viewer default false
jian-dong May 14, 2024
fa77df0
chore: Refactor OBCameraNode to improve depth frame processing
jian-dong May 14, 2024
3242031
bump to v1.5.4
jian-dong May 14, 2024
25cf0c7
Update default params
jian-dong May 15, 2024
11314e8
Add more debug log
jian-dong May 15, 2024
982790a
Update README
jian-dong May 15, 2024
2713dd4
Update Docs
jian-dong May 17, 2024
52c4bd0
fixed crash
jian-dong May 22, 2024
c67f3ad
bump to v1.5.5
jian-dong May 22, 2024
93ae5b6
Remove glog deps
jian-dong May 23, 2024
445a41e
diable ir by default
jian-dong May 29, 2024
3c7dc23
update README
jian-dong May 29, 2024
71dfabb
chore: Update camera driver to enumerate network device based on conf…
jian-dong May 29, 2024
6ae1695
chore: Add USB3.0/3.1/3.2 connection check for Femto Bolt devices
jian-dong May 29, 2024
d2b5ea6
Update SDK to v1.10.7
jian-dong May 30, 2024
022499f
Bump to v1.5.6
jian-dong May 30, 2024
a0ae2d0
Update XL config
jian-dong May 30, 2024
42709c4
fixed pid to lower case
jian-dong Jun 4, 2024
f7d78c9
Add color hdr params
jian-dong Jun 4, 2024
e03eb66
Update SDK to v1.10.8
jian-dong Jun 5, 2024
8319cb1
Bump to v1.5.7
jian-dong Jun 5, 2024
d97b338
Update SDK config
jian-dong Jun 5, 2024
6e31bce
fixed blot config
jian-dong Jun 6, 2024
155deba
Fixed Wrong drop frame set
jian-dong Jun 11, 2024
cfcef08
chore: Update soft filter parameters in launch file and ros_setup.cpp
jian-dong Jun 13, 2024
63ecc92
Add laser energy level param
jian-dong Jun 13, 2024
70f9cbf
chore: Update README
jian-dong Jun 18, 2024
b52a38a
chore: Fixed blot imu issue
jian-dong Jun 20, 2024
1b3f1d3
chore: Remove unused blank
jian-dong Jun 20, 2024
16afaeb
chore: Add LDP switch
jian-dong Jun 20, 2024
d0222c3
Update: Fixed the issue of point cloud distortion in femto bolt
jian-dong Jun 22, 2024
86ab046
chore: Update version to 1.5.8
jian-dong Jun 22, 2024
2fb9147
chore: disable enable_hardware_d2d by default
jian-dong Jun 24, 2024
a155e94
Fix null check for xy_tables_ in OBCameraNode
jian-dong Jul 3, 2024
242a5fe
Fix extrinsic rotation matrix
jian-dong Jul 3, 2024
c587b26
Update SDK to v1.10.9
jian-dong Jul 8, 2024
c3019f6
chore: enable depth scale by default
jian-dong Jul 9, 2024
54e3436
chore: Add FEMTO_MEGA_PID constant
jian-dong Jul 10, 2024
f996db6
chore: Add get_ldp_measure_distance service
jian-dong Jul 10, 2024
222560d
add sdk version pub
jian-dong Jul 12, 2024
33d25bd
publish static tf by default
jian-dong Jul 13, 2024
375a671
chore: Update FAQ
jian-dong Jul 18, 2024
4c13c15
Update SDK lib to version 1.10.11
jian-dong Jul 19, 2024
0e3c945
Update CMake
jian-dong Jul 23, 2024
7985a29
chore: Enable HDR merge filter in OBCameraNode setupDevices() method
jian-dong Jul 24, 2024
4b5172e
chore: Update IR camera exposure time unit to microseconds
jian-dong Jul 24, 2024
df0789d
bump to v1.5.11
jian-dong Aug 7, 2024
c51a647
chore: update SDK
jian-dong Aug 9, 2024
964e747
Update CMakeLists.txt
manuaatitya Aug 20, 2024
10e4862
Create test
manuaatitya Aug 20, 2024
ed196ce
Added osx assets
manuaatitya Aug 20, 2024
3f9f129
Delete SDK/lib/osx/test
manuaatitya Aug 20, 2024
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
72 changes: 56 additions & 16 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,47 @@ cmake_minimum_required(VERSION 3.0.2)
project(orbbec_camera)

# Compiler settings
if(APPLE)
SET (CMAKE_CXX_COMPILER "/usr/bin/clang++")
endif(APPLE)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -O3")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -O3")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fPIC -g3")
set(CMAKE_BUILD_TYPE "Release")


option(ENABLE_SANITIZER "Enable sanitizer options" OFF)

if (ENABLE_SANITIZER)
set(SANITIZER_FLAGS "-fsanitize=address -static-libasan ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SANITIZER_FLAGS}")

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${SANITIZER_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${SANITIZER_FLAGS}")
endif()

# Options
option(USE_RK_HW_DECODER "Use Rockchip hardware decoder" OFF)
option(USE_NV_HW_DECODER "Use Nvidia hardware decoder" OFF)
# Detect machine type
execute_process(COMMAND uname -m OUTPUT_VARIABLE MACHINES)
execute_process(COMMAND getconf LONG_BIT OUTPUT_VARIABLE MACHINES_BIT)
if ((${MACHINES} MATCHES "x86_64") AND (${MACHINES_BIT} MATCHES "64"))
if(APPLE)
set(HOST_PLATFORM "osx")
else()
if ((${MACHINES} MATCHES "x86_64") AND (${MACHINES_BIT} MATCHES "64"))
set(HOST_PLATFORM "x64")
elseif (${MACHINES} MATCHES "arm")
elseif (${MACHINES} MATCHES "arm" AND (${MACHINES_BIT} MATCHES "32"))
set(HOST_PLATFORM "arm32")
elseif ((${MACHINES} MATCHES "aarch64") AND (${MACHINES_BIT} MATCHES "64"))
elseif ((${MACHINES} MATCHES "aarch64" OR ${MACHINES} MATCHES "arm" ) AND (${MACHINES_BIT} MATCHES "64"))
set(HOST_PLATFORM "arm64")
elseif ((${MACHINES} MATCHES "aarch64") AND (${MACHINES_BIT} MATCHES "32"))
elseif ((${MACHINES} MATCHES "aarch64") AND (${MACHINES_BIT} MATCHES "32"))
set(HOST_PLATFORM "arm32")
endif ()
endif ()
endif(APPLE)

# Paths
set(ORBBEC_LIBS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/SDK/lib/${HOST_PLATFORM})
Expand Down Expand Up @@ -77,7 +96,16 @@ find_package(Eigen3 REQUIRED)
find_package(Boost REQUIRED)
find_package(PkgConfig REQUIRED)
find_package(Threads REQUIRED)
pkg_search_module(GLOG REQUIRED libglog)
find_package(Boost COMPONENTS filesystem system REQUIRED)
# check if boost was found
if(Boost_FOUND)
message(STATUS "Boost found!")
message(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
message(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}")
else()
message(FATAL_ERROR "Boost not found!")
endif()

# Additional dependencies based on options
if (USE_RK_HW_DECODER)
pkg_search_module(RK_MPP REQUIRED rockchip_mpp)
Expand Down Expand Up @@ -179,15 +207,27 @@ if (USE_NV_HW_DECODER)
endif ()

# Link libraries
set(COMMON_LINK_LIBRARIES
${catkin_LIBRARIES}
${OpenCV_LIBS}
${GLOG_LIBRARIES}
-lOrbbecSDK
-L${ORBBEC_LIBS_DIR}
Threads::Threads
-lrt
)
if(APPLE)
# rt is not required for MacOs
set(COMMON_LINK_LIBRARIES
${catkin_LIBRARIES}
${OpenCV_LIBS}
${Boost_LIBRARIES}
-lOrbbecSDK
-L${ORBBEC_LIBS_DIR}
Threads::Threads
)
else()
set(COMMON_LINK_LIBRARIES
${catkin_LIBRARIES}
${OpenCV_LIBS}
${Boost_LIBRARIES}
-lOrbbecSDK
-L${ORBBEC_LIBS_DIR}
Threads::Threads
-lrt
)
endif(APPLE)

if (USE_RK_HW_DECODER)
list(APPEND COMMON_LINK_LIBRARIES
Expand All @@ -203,7 +243,7 @@ endif ()

# Add libraries
add_library(${PROJECT_NAME} ${SOURCE_FILES})
target_link_libraries(${PROJECT_NAME} ${COMMON_LINK_LIBRARIES})
target_link_libraries(${PROJECT_NAME} PRIVATE ${COMMON_LINK_LIBRARIES})
target_include_directories(${PROJECT_NAME} PUBLIC ${COMMON_INCLUDE_DIRS})

add_library(${PROJECT_NAME}_nodelet ${SOURCE_FILES} src/ros_nodelet.cpp)
Expand Down
Loading