# LIGO **Repository Path**: youxia23/LIGO ## Basic Information - **Project Name**: LIGO - **Description**: No description available - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-15 - **Last Updated**: 2025-10-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LIGO **LIGO: Tightly Coupled LiDAR-Inertial-GNSS Odometry based on a Hierarchy Fusion Framework for Global Localization with Real-time Mapping** Code, paper, video are coming soon...... instruction for using will be detailed soon Our paper is published on [TRO](https://github.com/Joanna-HE/LIGO./blob/main/paper/LIGO_A_Tightly_Coupled_LiDAR-Inertial-GNSS_Odometry_Based_on_a_Hierarchy_Fusion_Framework_for_Global_Localization_With_Real-Time_Mapping.pdf) Our datasets are uploaded on [Google Drive](https://drive.google.com/drive/folders/1hNwl8u8Pg-SqKh2N808XFixj6PjPf091?usp=sharing) # Developers: The codes of this repo are contributed by: [Dongjiao He (贺东娇)](https://github.com/Joanna-HE) # Properties **LIGO is a multi-sensor fusion framework that maximizes the complementary properties of both LiDAR and GNSS systems**. This package achieves the following properties: 1. Competitive accuracy in trajectory estimation across large-scale scenarios. 2. Robustness to malfunctions of either GNSS or LiDAR sensors, enabling seamless handling of added or lost sensor signals during operation. 3. High-output-frequency odometry. 4. Capability of providing globally referenced pose estimations in both indoor and outdoor environments, suitable for ground vehicles and uncrewed aerial vehicles (UAVs). 5. No requirement for GNSS observations to be obtained exactly at the beginning or end time of LiDAR scans. 6. Robustness to large outliers and high noise levels in GNSS observations. # Hardware setups for self-collected datasets ## Setup
Platform: DJI Matrice 300 Onboard computer: DJI Manifold 2-c 256G, CPU: Intel i7-8550U LiDAR: Livox Mid360 and Livox Avia IMU: Built-in IMU of Livox LiDAR GNSS receiver: u-blox C099-F9P-2 GNSS antenna: B4QA4GGGB ## Recording rates LiDAR: 10Hz IMU: 200Hz GNSS: 10Hz RTK: 10Hz ## Recording software: Operating system: Ubuntu 20.04 IMU and LiDAR driver: Livox driver GNSS driver: [ublox driver](https://github.com/Joanna-HE/ublox_driver) ## ROS topics recorded IMU: /livox/imu LiDAR: /livox/lidar RAW GNSS: /ublox_driver/range_meas GNSS EPHEM: /ublox_driver/ephem and /ublox_driver/glo_ephem IONO PARAMETER: /ublox_driver/iono_params Onboard pos solution of ublox: /ublox_driver/receiver_pvt and /ublox_driver/receiver_lla PPS time info: /ublox_driver/time_pulse_info ## Time synchronization PPS: Livox LiDARs can receive pps and gprmc given by the GNSS receiver The time difference between LiDAR and IMU is zero, and between LiDAR and GNSS message is 18.0 s ## RTK solution Please follow the *Differential GNSS* section shown in [ublox driver](https://github.com/Joanna-HE/ublox_driver) to get the differential GNSS solution online or offline. The self-collected datasets get the online RTK solution which are saved in the topic '/ublox_driver/receiver_pvt', the value of the 'carr_soln' as 1 and 'diff_soln' as 2 indicates the fix RTK solution. # Build ## Prerequisites We test LIGO on ubuntu 20.04 with ROS noetic, and C++17 compiler & Eigen 3 & GTSAM 4 & opencv 4.2.0 & pcl 1.10 ### Install Boost using command sudo apt-get install libboost-all-dev ### Install [Livox Driver](https://github.com/Livox-SDK/livox_ros_driver) ### Install [gnss_comm](https://github.com/HKUST-Aerial-Robotics/gnss_comm) with its [instuction](https://github.com/HKUST-Aerial-Robotics/gnss_comm#2-build-gnss_comm-library) ## Make ### clone the code to catkin_ws workspace ``` cd ~/catkin_ws/src/ git clone https://github.com/Joanna-HE/LIGO..git ``` ### compile the package ``` cd ~/catkin_ws/ source /PATH/TO/LIVOX_DRIVER/DEVEL/.setup.bash source /PATH/TO/GNSS_COMM/DEVEL/.setup.bash catkin_make source ~/catkin_ws/devel/setup.bash ``` # Demo **Performance on a sequence with severe LiDAR degeneracy**