{"id":13436321,"url":"https://github.com/gaoxiang12/faster-lio","last_synced_at":"2025-05-14T16:12:19.035Z","repository":{"id":37934688,"uuid":"460299103","full_name":"gaoxiang12/faster-lio","owner":"gaoxiang12","description":"Faster-LIO: Lightweight Tightly Coupled Lidar-inertial Odometry using Parallel Sparse Incremental Voxels","archived":false,"fork":false,"pushed_at":"2025-02-17T08:29:14.000Z","size":39016,"stargazers_count":1197,"open_issues_count":49,"forks_count":291,"subscribers_count":22,"default_branch":"main","last_synced_at":"2025-04-14T02:57:50.344Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gaoxiang12.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-17T05:49:35.000Z","updated_at":"2025-04-11T05:01:55.000Z","dependencies_parsed_at":"2024-10-15T01:40:43.775Z","dependency_job_id":"a888b710-6021-424e-afe8-eeced63a1cac","html_url":"https://github.com/gaoxiang12/faster-lio","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaoxiang12%2Ffaster-lio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaoxiang12%2Ffaster-lio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaoxiang12%2Ffaster-lio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaoxiang12%2Ffaster-lio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gaoxiang12","download_url":"https://codeload.github.com/gaoxiang12/faster-lio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254179905,"owners_count":22027884,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:00:46.700Z","updated_at":"2025-05-14T16:12:18.993Z","avatar_url":"https://github.com/gaoxiang12.png","language":"C++","funding_links":[],"categories":["C++","5 Localization and SLAM"],"sub_categories":["3.4 High Performance Inference"],"readme":"## FasterLIO\n\nThis is the code repository of FasterLIO by Chunge Bai, Tao Xiang, Yajie Chen, Haoqian Wang, Fang Zhang and Xiang Gao.\n\nFaster-LIO is a light-weight Lidar-inertial odometry for lidar pose tracking and point cloud mapping. It is developed on\nthe base of [FastLIO2](https://github.com/hku-mars/FAST_LIO) and provides about 1.5-2x speed increase. It achieves\nalmost 1k-2k hz for solid-state lidars and over 100 hz for a typical 32 lines spinning lidar. Please refer to [our paper](./doc/faster-lio.pdf)\nfor more details.\n\nBelow is the FPS tested with avia and velodyne 32 spinning lidar from FastLIO2 and [NCLT](http://robots.engin.umich.edu/nclt/), where \"AMD\" is tested with  AMD R7 5800X and \"Intel\" tested with Intel Xeon Gold 5218.\n\n\u003cdiv  align=\"center\"\u003e  \n\u003cimg src=\"https://github.com/gaoxiang12/faster-lio/blob/main/doc/fps-fasterlio.png\" width = \"1080\" align=center /\u003e\n\u003c/div\u003e\n\n\u003cdiv  align=\"center\"\u003e  \n\u003cimg src=\"https://github.com/gaoxiang12/faster-lio/blob/main/doc/faster-lio-nclt.png\" width = \"1080\" align=center /\u003e\n\u003c/div\u003e\n\n# Quick Start\n## Docker \n```bash\ngit clone \ncd faster-lio/docker\ndocker-compose build\ndocker-compose up\n```  \nBefore entering `docker-compose up` command, you should enter `xhost +local:docker` in the local terminal to enable docker to communicate with Xserver on the host.  \n\nupdate `bag` file path in `.env`, then run.\n```bash\ncatkin_make\nsource devel/setup.bash\nroslaunch faster_lio mapping_avia.launch\n```\nOpen another terminal, then play `bag` file.\n\n### issue\n`QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'` \n\n**Don't worry, it can run normally**. you can run `source /etc/profile\u0026\u0026 source /opt/ros/noetic/setup.bash \u0026\u0026 source devel/setup.bash`, then `run roslaunch xxx`\n\n\n## Dependency\n\nFasterLIO is tested in Ubuntu 18.04 and Ubuntu 20.04. Please install the following libraries before compilation.\n\n1. ROS (melodic or noetic)\n2. glog: ```sudo apt-get install libgoogle-glog-dev```\n3. eigen: ```sudo apt-get install libeigen3-dev```\n4. pcl: ```sudo apt-get install libpcl-dev```\n5. yaml-cpp: ```sudo apt-get install libyaml-cpp-dev```\n\n## Compile\n\nFasterLIO can be compiled by plain cmake or catkin_make. In Ubuntu 20.04, the compile step is relatively simple.\n\n1. Plain cmake \n\nUse the following commands to build FasterLIO:\n\n```bin/bash\nmkdir build\ncd build\ncmake .. -DCMAKE_BUILD_TYPE=Release\nmake -j4\n```\n\nNote: iVox type should be specified by cmake at compile time. By default we will use linear iVox.\nUse ```cmake .. -DWITH_IVOX_NODE_TYPE_PHC=ON``` to build the FasterLIO with PHC iVox.\n\n2. catkin_make\n\nClone this repository to your catkin workspace, e.g., ~/catkin_ws/src, then use catkin_make instead of the above cmake\ncommands. You can also specify the iVox type in catkin_make parameters.\n\nAfter the compilation, you will get the a libfaster_lio.so and two executable files. If you choose plain cmake build,\nthey will be located in ./build/devel/lib/faster_lio. If you use catkin_make, you could run them with rosrun and\nroslaunch.\n\n3. Compile in Ubuntu 18.04 or earlier\n\nSince FasterLIO use cpp 17 as its standard (which requires a higher version of g++), you should upgrade the compiler and\nuse the earlier tbb library provided in the thirdparty of this repo. Please follow the steps here:\n\n- Upgrade the g++ compiler to 9.0 or higher by:\n\n```bash\nsudo add-apt-repository ppa:ubuntu-toolchain-r/test\nsudo apt update\nsudo apt install gcc-9\ncd /usr/bin\nsudo rm gcc g++\nsudo ln -s gcc-9 gcc\nsudo ln -s g++-9 g++\n```\n\n- unzip the tbb library in the thirdparty:\n\n```bash\ncd thirdparty\ntar -xvf tbb2018_20170726oss_lin.tgz\n```\n\n- specify the tbb directory in the cmake stage:\n\n```bash\ncd ../build\ncmake .. -DCUSTOM_TBB_DIR=`pwd`/../thirdparty/tbb2018_20170726oss\n```\n\nThen just build FasterLIO with make.\n\n## Prepare the datasets\n\nDownload the avia/nclt bags in your computer:\n\n- [avia bags](https://drive.google.com/drive/folders/1YL5MQVYgAM8oAWUm7e3OGXZBPKkanmY1?usp=sharing)\n- [nclt bags](https://drive.google.com/drive/folders/1VBK5idI1oyW0GC_I_Hxh63aqam3nocNK)\n\nThe link of the dataset is outdated.  Please use the NCLT bags in SAD datasets: \nBaiduYun: https://pan.baidu.com/s/1ELOcF1UTKdfiKBAaXnE8sQ?pwd=feky access code: feky\nOneDrive：https://1drv.ms/u/s!AgNFVSzSYXMahcEZejoUwCaHRcactQ?e=YsOYy2\n\n## Run FasterLIO\n\nFasterLIO can be called like a plain binary program. It can run in offline mode or online mode like any ros program.\n\n- Offline mode\n\nCall run_mapping_offline with parameters to specify the bag file and the config file like:\n\n```bash\n./build/devel/lib/faster_lio/run_mapping_offline --bag_file your_avia_bag_file --config_file ./config/avia.yaml\n```\n\nfor avia. For NCLT, just run:\n\n```bash\n./build/devel/lib/faster_lio/run_mapping_offline --bag_file your_nclt_bag_file --config_file ./config/velodyne.yaml\n```\n\nPlease replace \"your avia bag file\" with the path in your computer. FasterLIO will print the FPS and time usage when it\nquits:\n\n```shell\nI0216 17:16:05.286536 26492 run_mapping_offline.cc:89] Faster LIO average FPS: 1884.6\nI0216 17:16:05.286549 26492 run_mapping_offline.cc:91] save trajectory to: ./src/fast_lio2/Log/faster_lio/20120615.tum\nI0216 17:16:05.286706 26492 utils.h:52] \u003e\u003e\u003e ===== Printing run time =====\nI0216 17:16:05.286711 26492 utils.h:54] \u003e [     IVox Add Points ] average time usage: 0.0147311 ms , called times: 6373\nI0216 17:16:05.286721 26492 utils.h:54] \u003e [     Incremental Mapping ] average time usage: 0.0271787 ms , called times: 6373\nI0216 17:16:05.286731 26492 utils.h:54] \u003e [     ObsModel (IEKF Build Jacobian) ] average time usage: 0.00745852 ms , called times: 25040\nI0216 17:16:05.286752 26492 utils.h:54] \u003e [     ObsModel (Lidar Match) ] average time usage: 0.0298004 ms , called times: 25040\nI0216 17:16:05.286775 26492 utils.h:54] \u003e [ Downsample PointCloud ] average time usage: 0.0224052 ms , called times: 6373\nI0216 17:16:05.286784 26492 utils.h:54] \u003e [ IEKF Solve and Update ] average time usage: 0.342008 ms , called times: 6373\nI0216 17:16:05.286792 26492 utils.h:54] \u003e [ Laser Mapping Single Run ] average time usage: 0.530618 ms , called times: 6387\nI0216 17:16:05.286800 26492 utils.h:54] \u003e [ Preprocess (Livox) ] average time usage: 0.0267813 ms , called times: 6387\nI0216 17:16:05.286808 26492 utils.h:54] \u003e [ Undistort Pcl ] average time usage: 0.0810455 ms , called times: 6375\nI0216 17:16:05.286816 26492 utils.h:59] \u003e\u003e\u003e ===== Printing run time end =====\n```\n\nPoint clouds will be saved to PCD/scans.pcd by default. \n\n- Online mode \n \nOnline mode could be launched through rosrun/roslaunch/directly call. We use roslaunch as an example:\n\n1. Launch faster-lio: ```roslaunch faster_lio mapping_avia.launch``` This will give you a rviz window.\n2. Play the bags using ```rosbag play your bag file``` to see the online outputs.\n\n# Acknowledgements\n\n- We thank the authors of [FastLIO2](https://github.com/hku-mars/FAST_LIO), LOAM for their great jobs.\n- Please cite our work if you are using FasterLIO in academic work. Bibtex is provided here (early-access version):\n\n```\n@ARTICLE{9718203,  \nauthor={Bai, Chunge and Xiao, Tao and Chen, Yajie and Wang, Haoqian and Zhang, Fang and Gao, Xiang},  \njournal={IEEE Robotics and Automation Letters},   \ntitle={Faster-LIO: Lightweight Tightly Coupled Lidar-Inertial Odometry Using Parallel Sparse Incremental Voxels},   \nyear={2022},  \nvolume={7},  \nnumber={2},  \npages={4861-4868},  \ndoi={10.1109/LRA.2022.3152830}}\n```\n\n\n- This work is supported by Idriver+ Technologies Co. Ltd.\n\n# Known Issues\n\n- iVox is somehow sensitive to the voxel size. Please enlarge the voxel size if FasterLIO is not stable in your\n  application.\n- set -march=native in cmake may cause a core dump in the PCL point cloud deconstruction step (Ubuntu 20.04, gcc 11, AMD\n  5800X)(Ubuntu 18.04, gcc 9, i7-10750H), see\n  https://stackoverflow.com/questions/61278204/segmentation-fault-when-deallocating-pclpointcloudpclpointxyzptr\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaoxiang12%2Ffaster-lio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgaoxiang12%2Ffaster-lio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaoxiang12%2Ffaster-lio/lists"}