All Projects → rsasaki0109 → li_slam_ros2

rsasaki0109 / li_slam_ros2

Licence: BSD-2-Clause license
ROS2 package of tightly-coupled lidar inertial ndt/gicp slam

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to li slam ros2

pcl localization ros2
ROS2 package of 3D LIDAR-based Localization using PCL (Not SLAM)
Stars: ✭ 74 (-53.75%)
Mutual labels:  lidar, ndt, ros2, gicp
ndt map
SLAM package using NDT registration library of Autoware with loop-closure detection (odometry based) referenced from lego_loam.
Stars: ✭ 115 (-28.12%)
Mutual labels:  slam, ndt, loop-closure
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+1072.5%)
Mutual labels:  lidar, slam, ros2
ndtpso slam
ROS package for NDT-PSO, a 2D Laser scan matching algorithm for SLAM
Stars: ✭ 32 (-80%)
Mutual labels:  lidar, slam, ndt
Interactive slam
Interactive Map Correction for 3D Graph SLAM
Stars: ✭ 372 (+132.5%)
Mutual labels:  lidar, slam
Sc Lego Loam
LiDAR SLAM: Scan Context + LeGO-LOAM
Stars: ✭ 332 (+107.5%)
Mutual labels:  lidar, slam
Mola
A Modular Optimization framework for Localization and mApping (MOLA)
Stars: ✭ 206 (+28.75%)
Mutual labels:  lidar, slam
Pyicp Slam
Full-python LiDAR SLAM using ICP and Scan Context
Stars: ✭ 155 (-3.12%)
Mutual labels:  lidar, slam
direct lidar odometry
Direct LiDAR Odometry: Fast Localization with Dense Point Clouds
Stars: ✭ 202 (+26.25%)
Mutual labels:  lidar, slam
Loam noted
loam code noted in Chinese(loam中文注解版)
Stars: ✭ 455 (+184.38%)
Mutual labels:  lidar, slam
Staticmapping
Use LiDAR to map the static world
Stars: ✭ 191 (+19.38%)
Mutual labels:  lidar, slam
Overlapnet
OverlapNet - Loop Closing for 3D LiDAR-based SLAM (chen2020rss)
Stars: ✭ 299 (+86.88%)
Mutual labels:  lidar, slam
UrbanLoco
UrbanLoco: A Full Sensor Suite Dataset for Mapping and Localization in Urban Scenes
Stars: ✭ 147 (-8.12%)
Mutual labels:  lidar, slam
Semantic suma
SuMa++: Efficient LiDAR-based Semantic SLAM (Chen et al IROS 2019)
Stars: ✭ 431 (+169.38%)
Mutual labels:  lidar, slam
awesome-lidar
😎 Awesome LIDAR list. The list includes LIDAR manufacturers, datasets, point cloud-processing algorithms, point cloud frameworks and simulators.
Stars: ✭ 217 (+35.63%)
Mutual labels:  lidar, slam
A Loam
Advanced implementation of LOAM
Stars: ✭ 869 (+443.13%)
Mutual labels:  lidar, slam
Lego Loam
LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain
Stars: ✭ 1,138 (+611.25%)
Mutual labels:  lidar, slam
Loam velodyne
Laser Odometry and Mapping (Loam) is a realtime method for state estimation and mapping using a 3D lidar.
Stars: ✭ 1,135 (+609.38%)
Mutual labels:  lidar, slam
Urbannavdataset
UrbanNav: an Open-Sourcing Localization Data Collected in Asian Urban Canyons, Including Tokyo and Hong Kong
Stars: ✭ 79 (-50.62%)
Mutual labels:  lidar, slam
SLAM Qt
My small SLAM simulator to study "SLAM for dummies"
Stars: ✭ 47 (-70.62%)
Mutual labels:  lidar, slam

li_slam_ros2

foxy

This package is a combination of lidarslam_ros2 and the LIO-SAM IMU composite method.

See LIO-SAM for IMU composites, otherwise see lidarslam_ros2.

  • Walking dataset(casual_walk.bag)

Yellow path: path without loop closure, Green path: modified path, Red: map

Reference(From the LIO-SAM paper)
https://github.com/TixiaoShan/LIO-SAM/blob/master/config/doc/paper.pdf

  • Campus dataset (large) demo(big_loop.bag)

Yellow path: path without loop closure, Red: map (the 10x10 grids in size of 10m × 10m)

Green path: modified path with loop closure, Red: map

requirement to build

You need ndt_omp_ros2 and gtsam for scan-matcher

clone

cd ~/ros2_ws/src
git clone --recursive https://github.com/rsasaki0109/li_slam_ros2

gtsam install

sudo add-apt-repository ppa:borglab/gtsam-release-4.0
sudo apt update
sudo apt install libgtsam-dev libgtsam-unstable-dev

build

cd ~/ros2_ws
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

Walking dataset demo(casual_walk.bag)

The optimization pipeline in Lidar Inertial SLAM were taken from LIO-SAM.

(Note: See the LIO-SAM repository for detailed settings regarding IMU.
The other thing to note is that the speed will diverge if the voxel_grid_size is large.

demo data(ROS1) in LIO-SAM
https://github.com/TixiaoShan/LIO-SAM
The Velodyne VLP-16 was used in this data.

rviz2 -d src/li_slam_ros2/scanmatcher/rviz/lio.rviz 
ros2 launch scanmatcher lio.launch.py
ros2 bag play -s rosbag_v2 walking_dataset.bag 

Green arrow: pose, Yellow path: path, Green path: path by imu

Yellow path: path without loop closure, Green path: modified path, Red: map

rosgraph

pose_graph.g2o and map.pcd are saved in loop closing or using the following service call.

ros2 service call /map_save std_srvs/Empty

Campus dataset (large) demo(big_loop.bag)

rviz2 -d src/li_slam_ros2/scanmatcher/rviz/lio_bigloop.rviz 
ros2 launch scanmatcher lio_bigloop.launch.py
ros2 bag play -s rosbag_v2 big_loop.bag 

Yellow path: path without loop closure, Red: map (the 10x10 grids in size of 10m × 10m)

Green path: modified path with loop closure, Red: map

Used Libraries

  • Eigen
  • PCL(BSD3)
  • g2o(BSD2 except a part)
  • ndt_omp (BSD2)
  • gtsam(BSD2)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].