How hku-mars/r3live works
R3LIVE fuses LiDAR, inertial, and camera measurements for real-time state estimation and RGB map reconstruction. The documented online workflow combines a geometric LiDAR-inertial map with visual-inertial texture/color mapping, and supports saving maps. A separate offline utility reconstructs and textures meshes for 3D applications. The README establishes the two odometry subsystems and their roles; sampled source excerpts are partial, so internal call wiring beyond those documented relationships is left out.
Main entry points: r3live.cpp R3LIVE Runtime · r3live_lio.cpp LiDAR-Inertial Odometry · r3live_vio.cpp Visual-Inertial Odometry · rgbmap_tracker.cpp RGB Map Tracker
Components 17
Online Estimation
- R3LIVE Runtime
r3live/src/r3live.cpp - LiDAR-Inertial Odometry
r3live/src/r3live_lio.cpp - Visual-Inertial Odometry
r3live/src/r3live_vio.cpp
RGB Mapping
- RGB Map Tracker
r3live/src/rgb_map/rgbmap_tracker.cpp - Image Frames
r3live/src/rgb_map/image_frame.cpp - RGB Point Cloud
r3live/src/rgb_map/pointcloud_rgbd.cpp - RGB Geometric Map
r3live/src/rgb_map/pointcloud_rgbd.cpp - Map Recorder
r3live/src/rgb_map/offline_map_recorder.cpp
Offline Meshing
- Saved Map
- Mesh Reconstruction
r3live/src/r3live_reconstruct_mesh.cpp - Mesh Builder
r3live/src/meshing/build_mesh.hpp - Textured Mesh
r3live/src/meshing/MVS/Mesh.cpp
Sensor Processing
- IMU Processing
r3live/src/loam/IMU_Processing.cpp - LiDAR Front End
r3live/src/loam/LiDAR_front_end.cpp - Optical Flow
r3live/src/optical_flow/lkpyramid.cpp
Other components
- Operator
- Sensor Streams
Connections 17
- Sensor Streams → R3LIVE Runtime: supply measurements
- R3LIVE Runtime → LiDAR-Inertial Odometry: runs LIO
- R3LIVE Runtime → Visual-Inertial Odometry: runs VIO
- LiDAR-Inertial Odometry → IMU Processing: processes inertial data
- Visual-Inertial Odometry → Optical Flow: tracks image motion
- Visual-Inertial Odometry → RGB Map Tracker: updates visual map
- RGB Map Tracker → Image Frames: uses frames
- RGB Map Tracker → RGB Point Cloud: updates point colors
- LiDAR-Inertial Odometry → RGB Geometric Map: builds geometry
- RGB Point Cloud → RGB Geometric Map: contributes RGB points
- Operator → Map Recorder: requests map save
- Map Recorder → RGB Geometric Map: records map
- Map Recorder → Saved Map: writes map
- Operator → Mesh Reconstruction: starts reconstruction
- Saved Map → Mesh Reconstruction: provides map
- Mesh Reconstruction → Mesh Builder: builds mesh
- Mesh Builder → Textured Mesh: produces mesh