Skip to content

Error State Kalman Filter based Loosely-Coupled Lidar-IMU Odometry

License

Notifications You must be signed in to change notification settings

LimHaeryong/ESKF_LIO

Repository files navigation

ESKF-LIO

This repository contains Loosely coupled Lidar-IMU Odometry based on Error-State Kalman Filter.

The implementation of ESKF is based on Quaternion kinematics for the error-state Kalman filter.

Key Features:

  • Utilizes a Voxel Grid based on a hash table to store local map points.
  • Uses a Voxelized GICP for Registration.

Installation

Dependencies

  • Ubuntu 22.04
  • ROS2(humble)
  • Open3d
  • Yaml-cpp
  • Eigen3
  • OpenMP

Download HILTI-OXFORD Dataset

Hilti-SLAM-Challenge-2022

Convert rosbag1 to rosbag2

rosbags-convert exp21_outside_building.bag

Clone the repository

cd /your/workspace/src
git clone https://github.com/LimHaeryong/ESKF_LIO.git

Modify rosbag path

  • modify launch/eskf_lio.launch.py
    play_rosbag = ExecuteProcess(
        cmd=['ros2', 'bag', 'play', 'change/to/your/rosbag/path']
    )

Colcon Build

cd /your/workspace
colcon build
source ./install/local_setup.bash

How to run

  • Odometry

It generates the odometry information, including the point cloud map (map_cloud.pcd) and trajectory data (trajectory.json), which will be created in the "resources" directory.

ros2 launch eskf_lio eskf_lio.launch.py 
  • Visualize Map Cloud
ros2 run eskf_lio eskf_lio_visualize_map_cloud

Result

About

Error State Kalman Filter based Loosely-Coupled Lidar-IMU Odometry

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published