This is an implementation of SLAM using CUDA to accelerate processing. The current implementation focuses on identifying planes in the environment.
The program is run from the command line, and has the following syntax:
./cart-slam <path-to-config>
or
./cart-slam <path-to-source-config> <path-to-modules-config>
Some sample configurations are provided in the config
-folder.
Use CMake to build the project. The following libraries are required:
- OpenCV
- CUDA
Command:
cmake -S . -B build
Optionally you can use -DCMAKE_CXX_COMPILER=<your compiler>
and -DCMAKE_CUDA_COMPILER=<your CUDA compiler>
to specify which compilers to use. A useful flag for debugging is -DCMAKE_BUILD_TYPE=Debug
.
Available options are
ENBALE_TIMING
(default:OFF
): Enable generation of timingcsv
files totimings
-folder.ENABLE_SAVE_SAMPLES
(default:OFF
): Enable saving of samples to disk insamples
-folder.ENABLE_RECORD_SAMPLES
(default:OFF
): Enable recording of samples to disk insamples
-folder.
These can be set using -D<option>=<value>
when running CMake.
The ZedSDK is intended for Ubuntu. To get it working on Manjaro, you need to modify the installed CMake file (found at /usr/local/zed/zed-config.cmake
).
Change the line:
set(LIB_PATH_64 "/usr/lib/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/")
to
set(LIB_PATH_64 "/usr/lib/")
Optionally also add the following line to suppress the warning spam about policy CMP0153:
cmake_policy(SET CMP0153 OLD)