You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a ROS2 device driver for Livox 3D LiDAR sensors (MID360, HAP). It targets **ROS2 Humble or later**. The codebase also retains partial ROS1 compatibility gated behind `#ifdef BUILDING_ROS1` preprocessor guards. But only every work on the ROS2 code.
6
+
7
+
## Build and Test
8
+
9
+
```bash
10
+
# From the workspace root (/ros2_ws)
11
+
colcon build
12
+
13
+
```
14
+
15
+
## Architecture
16
+
17
+
-**`src/driver_node.*`** — ROS2 node entry point, lifecycle management
18
+
-**`src/lddc.*`** — Lidar Data Distribution Center; routes point cloud and IMU data to ROS publishers
19
+
-**`src/lds_lidar.*` / `src/lds.*`** — Lidar Device Scheduler; manages sensor connections and data pipelines
20
+
-**`src/comm/`** — Low-level communication utilities: queues, semaphores, caching, and the central `PubHandler`
21
+
-**`src/call_back/`** — SDK callback handlers for incoming lidar/IMU frames
22
+
-**`src/parse_cfg_file/`** — JSON config file parsing (uses RapidJSON from `3rdparty/`)
23
+
-**`src/include/`** — Shared headers; `ros_headers.h` abstracts ROS1/ROS2 includes
-**ROS abstraction**: Use the wrappers in `src/include/ros_headers.h` rather than including ROS headers directly; guard any ROS1-specific code with `#ifdef BUILDING_ROS1`
33
+
-**JSON parsing**: Use the bundled RapidJSON library in `3rdparty/rapidjson/`
34
+
-**License header**: All new source files must include the MIT license block present in existing files
0 commit comments