Giter Club home page Giter Club logo

ig-lio_sam_lc's Introduction

iG-LIO_SAM_LC

主要工作

  1. iG-LIO进行梳理和结构改写(未完全对齐原REPO)
  2. 参考FASTLIO的实现,添加了重力优化和外参优化
  3. 基于GTSAM和基础ICP匹配,增加了回环线程用于PGO
  4. 添加重定位线程,用于支持基于已知地图的定位功能
  5. 目前暂时支持MID_360的传感器
  6. 改写了并增加了首帧重力对齐,用于应对传感器非水平放置的情况
  7. 完全替换了FASTLIO中的IKFoM_toolkit,使用高斯牛顿法等价替换迭代误差卡尔曼,算法思路更加平铺直叙
  8. 暂时去掉了iG-LIO 中对于TBB的依赖,其实VoxelMap如果使用NEAR_1模式,即便是单线程也很快,后续再考虑多线程加速。

环境说明

系统版本: ubuntu20.04
机器人操作系统: ros1-noetic

编译依赖

  1. livox_ros_driver2
  2. gtsam (noetic版本 可以使用 sudo apt install ros-noetic-gtsam 直接安装,其他版本可能需要独立安装)
  3. pcl
  4. sophus
  5. eigen

1.安装 LIVOX-SDK2

git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd ./Livox-SDK2/
mkdir build
cd build
cmake .. && make -j
sudo make install

2.安装 livox_ros_driver2

mkdir -r ws_livox/src
git clone https://github.com/Livox-SDK/livox_ros_driver2.git ws_livox/src/livox_ros_driver2
cd ws_livox/src/livox_ros_driver2
./build.sh ROS1

3. 安装gtsam(ros noetic 可以直接安装)

sudo apt install ros-noetic-gtsam

4. 安装Sophus

git clone https://github.com/strasdat/Sophus.git
cd Sophus
mkdir build && cd build
cmake .. -DSOPHUS_USE_BASIC_LOGGING=ON
make
sudo make install

新的Sophus依赖fmt,可以在CMakeLists.txt中添加add_compile_definitions(SOPHUS_USE_BASIC_LOGGING)去除,否则会报错

5.安装 iG-LIO_SAM_LC

mkdir -r ws_igli/src
cd ws_iglio/src
git clone https://github.com/liangheming/iG-LIO_SAM_LC.git
cd ..
catkin_make 
source devel/setup.bash

DEMO 数据

链接: https://pan.baidu.com/s/1ZPUwWyHmvpGHuL9TiFrsmA?pwd=k9vx 提取码: k9vx 
--来自百度网盘超级会员v7的分享

启动脚本

  1. 建图线程
roslaunch lio mapping.launch
rosbag play your_bag.bag
  1. 保存地图
rosservice call /save_map "save_path: 'you_pcd_save_path.pcd'
resolution: 0.0"
  1. 定位线程
roslaunch lio localize.launch
rosservice call /slam_reloc "{pcd_path: 'you_pcd_path.pcd', x: 0.0, y: 0.0, z: 0.0, roll: 0.0, pitch: 0.0, yaw: 0.0}" 
rosbag play your_bag.bag

特别感谢

  1. FASTLIO2
  2. iG-LIO
  3. FASTLIO-SAM
  4. FASTLIO-LC

ig-lio_sam_lc's People

Contributors

liangheming avatar lovelyyoshino avatar inif-fish 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.