Browse by type

This repo may help to adapt LIO_SAM for your own sensors! It has some changes comparing with the origin system.



new dataset released!
when you download this compressed data, remember to execute the following command
rosbag decompress 20220216_garden_day_ref_compressed.bag
LIO_SAM is only designed for 9-axis IMU, for the following reasons.
Therefore, only minor changes to the original code are required. which can directly use GPS points of good quality for optimization. Finally, we also made some explanations for some common lidars, as well as coordinate system adaptation and extrinsics between lidars and IMUs, such as Hesai.
we add the gps constraint visualization module to help debugging the normal gps(red lines represents for gps constraint).

the same as LIO_SAM.
my previous and current system:
Ubuntu18.04 /PCL1.8/GTSAM4.0.2
Ubuntu20.04/PCL1.10/GTSAM4.1
Whether you are running the sample data provided by me or adapting your own sensor, you can watch the detailed teaching video below.
Video Tutorial:Bilibili、Youtube
Dockerfile is for people who don't want to break their own environment. Running the algorithm in the docker. Recommend!
# please cd the folder which have Dockerfile first, approximately 10mins based on your internet and CPU
docker build -t zhangkin/lio_sam_6axis .
docker run -it --net=host --gpus all --name lio_sam_6axis zhangkin/lio_sam_6axis /bin/zsh
# OR -v to link the folder from your computer into container (your_computer_loc:container_loc)
docker run -it --net=host --gpus all --name lio_sam_6axis -v /home/kin/bag_data:/home/xchu/data/ramlab_dataset zhangkin/lio_sam_6axis /bin/zsh
# in the container
catkin build
source devel/setup.zsh
# with dataset download and linked ==> please see more usage in previous section
roslaunch lio_sam_6axis ouster128_indoors.launch
对于在内地的同学,可以换源dockerhub后,直接拉取:
docker pull zhangkin/lio_sam_6axis
Example screen shot:

when you set useGPS as true, remember to test the params gpsCovThreshold. Just make sure your vehicles are in a good position at the first beginning of the sequence where the status of GNSS is stable encough, or you can not initialize your system successfully!
Gps initialization video
roslaunch lio_sam_6axis run.launch
when you set the useGPS true, you may get the following los. It means that these gps points are used for optimization.
[ INFO] [1651092699.914940274]: curr gps cov: 11.022400, 11.022400 , 176.358400
[ INFO] [1651092700.516013418]: curr gps pose: 13.806815, 7.928380 , 5.147980
[ INFO] [1651092700.516037958]: curr gps cov: 11.022400, 11.022400 , 176.358400
[ INFO] [1651092700.516045476]: curr gps pose: 13.868968, 8.179937 , 4.978980
[ INFO] [1651092700.516052422]: curr gps cov: 11.022400, 11.022400 , 176.358400
when you use the garden_day rosbag, set your bag_path in the LIO-SAM-6AXIS/launch/ouster128_indoors.launch.
roslaunch lio_sam_6axis ouster128_indoors.launch
when you want to test on multi-sequence rosbag with the same set of sensor equipment. You just need to modify the script LIO-SAM-6AXIS/scripts/lio_loop_batch.py.
bag_path_downloadparams. set your rosbag file name(bag_path_list)plat_data_pair_list) source your workspace(source devel/setup.zsh )
run the script
python3 src/LIO-SAM-6AXIS/scripts/lio_loop_batch.py
I will give the map and related example results constructed based on the instance data using LIO_SAM_6AXIS, once the sharing function of Baidu netdisk is normal.
rosservice call /lio_sam_6axis/save_map
campus_result.bag: inlcude 2 topics, the distorted point cloud and the optimzed odometry
odom_tum.txt
optimized_odom_kitti.txt
optimized_odom_tum.txt
pose_graph.g2o: the final pose graph g2o file
globalmap_lidar.pcd: global map in lidar frame.
globalmap_imu.pcd: global map in IMU body frame, but you need to set proper extrinsics.
globalmap_lidar_feature.pcd: edge+planer points map, based on lidar frame.
origin.txt: The origin of the point cloud map, which can be used for prior map-based localization.
optimized_gps_trajectry.kml: KML file for optimized trajectory, you can show it in GoogleMaps.

dropbox or BaiduNetdisk (password: m8g4).
See this doc.
Download the HILTI DATASET.
The config/params_pandar.yaml is prepared for the HILTI sensors kit, so you can run it direcly!
As soon as I have time I will continue to update this repo and release more data.
Thanks to Guoqing Zhang, Jianhao Jiao.
Thanks to LIO_SAM.
$ claude mcp add LIO_SAM_6AXIS \
-- python -m otcore.mcp_server <graph>