rtabmap icon indicating copy to clipboard operation
rtabmap copied to clipboard

Ouster SDK integration

Open matlabbe opened this issue 1 year ago • 1 comments

  • [ ] Live LiDAR on Linux (not tested, sensor needed)
  • [x] OSF on Linux
  • [x] PCAP on Linux
  • [ ] Live LiDAR on Windows (not tested, sensor needed)
  • [x] OSF on Windows
  • [ ] PCAP on Windows (fails to get packets, automatically returns end of file?)
  • [ ] Live LiDAR on Mac OS X (not tested, sensor needed)
  • [ ] OSF on Mac OS X(not tested)
  • [ ] PCAP on Mac OS X(not tested)

Install https://github.com/ouster-lidar/ouster-sdk

Verify rtabmap is detecting it at the end of cmake output:

--  LiDAR Drivers:
--   With Velodyne VLP16       = YES
--   With Ouster SDK 20231031  = YES            <------

Ouster sample data to try on: https://static.ouster.dev/sensor-docs/#sample-data

Integrated to tools:

  • rtabmap-lidarMapping
  • rtabmap-lidarViewer (may crash on Ubuntu 22.04 with default system PCL/VTK, known issue here)

Integrated to standalone UI: 2024-08-18_21-25 image

Peek 2024-08-18 21-02

Presets for convenience to use indoor or outdoor: image

matlabbe avatar Aug 18 '24 01:08 matlabbe

On Windows, use OusterSDK DLL version: https://github.com/ouster-lidar/ouster-sdk/pull/608 to avoid "silent crash" (in this function) with the static library (still not sure what is causing this, rtabmap includes a bunch of dependencies that may clash with the static library).

For convenience, apply this patch:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9994531..4986fc6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,7 +13,7 @@ include(DefaultBuildType)
 include(VcpkgEnv)

 # ==== Project Name ====
-project(ouster_example VERSION 20231031)
+project(OusterSDK VERSION 20231031)

so that OusterSDK library installed in Program Files can be detected automatically with cmake, otherwise we need to do:

cmake -DOusterSDK_DIR="C:/Program Files (x86)/ouster_example/lib/cmake/OusterSDK ..

Well, if C:\Program Files (x86)\OusterSDK\bin is on the PATH, that may work even if we don't change project name (not tested).

matlabbe avatar Sep 01 '24 00:09 matlabbe