Giter Club home page Giter Club logo

li_slam_ros2's Introduction

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/lidarslam_ros2

gtsam install

sudo apt-get install libtbb-dev
mkdir ~/workspace && cd ~/workspace
git clone https://github.com/borglab/gtsam
cd gtsam
mkdir -p build && cd build
cmake \
  -DCMAKE_BUILD_TYPE=Release \
  -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF \
  -DGTSAM_USE_SYSTEM_EIGEN=ON \
  -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \
  ..
make -j4 check
sudo make install -j4

build

cd ~/ros2_ws
colcon build

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 casual_walk.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)

li_slam_ros2's People

Contributors

rsasaki0109 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.