How livox-sdk/livox_ros_driver2 works
Livox ROS Driver 2 connects Livox LiDAR devices to ROS 1 or ROS 2 and publishes point-cloud and IMU data. The principal flow is launch/configuration into driver startup, LiDAR setup and packet handling, then ROS message publication; supported output formats and mixed-device scenarios are documented in the README. The excerpts show publisher and message-output behavior, while some startup and callback wiring is known only from the SOURCE INDEX, so uncertain runtime links are omitted.
Main entry points: livox_ros_driver2.cpp Driver entry · lds_lidar.cpp LiDAR lifecycle · lddc.cpp ROS data converter · launch_ROS2 Launch examples
Components 16
Startup and configuration
- Launch examples
launch_ROS2 - Driver entry
src/livox_ros_driver2.cpp - Driver node
src/driver_node.cpp - LiDAR config parser
src/parse_cfg_file/parse_livox_lidar_cfg.cpp
LiDAR acquisition
- LiDAR lifecycle
src/lds_lidar.cpp - Device callbacks
src/call_back/livox_lidar_callback.cpp - Common callbacks
src/call_back/lidar_common_callback.cpp - Data source base
src/lds.cpp
Packet processing
- Point cloud handler
src/comm/pub_handler.cpp - Packet queues
src/comm
ROS publication
- ROS data converter
src/lddc.cpp - Point cloud topics
- IMU topics
Other components
- ROS operator
- Livox LiDAR
- ROS runtime
Connections 16
- ROS operator → Launch examples: selects
- Launch examples → Driver entry: starts
- Driver entry → Driver node: initializes
src/livox_ros_driver2.cpp - Driver entry → LiDAR lifecycle: initializes
src/livox_ros_driver2.cpp - LiDAR lifecycle → LiDAR config parser: parses
src/lds_lidar.cpp - LiDAR lifecycle → Device callbacks: registers
- LiDAR lifecycle → Common callbacks: registers
- Livox LiDAR → Device callbacks: sends events
- Livox LiDAR → Point cloud handler: sends packets
- Point cloud handler → Packet queues: processes packets
src/comm/pub_handler.cpp - Driver entry → ROS data converter: initializes
src/livox_ros_driver2.cpp - ROS data converter → Data source base: registers source
src/lddc.cpp - ROS data converter → Point cloud topics: publishes
src/lddc.cpp - ROS data converter → IMU topics: publishes
src/lddc.cpp - Point cloud topics → ROS runtime: uses topics
- IMU topics → ROS runtime: uses topics