No version for distro humble showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Robomaster-2024-XDU-IRobot-哨兵导航仓库
Checkout URI https://github.com/irobot-algorithm/sentry_navigation.git
VCS Type git
VCS Version main
Last Updated 2025-03-19
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics navigation
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

This is a modified version of LOAM which is original algorithm is described in the following paper: J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time. Robotics: Science and Systems Conference (RSS). Berkeley, CA, July 2014.

Additional Links

No additional links.

Maintainers

  • claydergc

Authors

  • Dongjiao He

Point-LIO

1. Introduction

<img src="https://github.com/hku-mars/Point-LIO/raw/master/image/toc4.png" width = 75% >
<font color=#a0a0a0 size=2>The framework and key points of the Point-LIO.</font>

New features:

  1. would not fly under degeneration.
  2. high odometry output frequency, 4k-8kHz.
  3. robust to IMU saturation and severe vibration, and other aggressive motions (75 rad/s in our test).
  4. no motion distortion.
  5. computationally efficient, robust, versatile on public datasets with general motions.
  6. As an odometry, Point-LIO could be used in various autonomous tasks, such as trajectory planning, control, and perception, especially in cases involving very fast ego-motions (e.g., in the presence of severe vibration and high angular or linear velocity) or requiring high-rate odometry output and mapping (e.g., for high-rate feedback control and perception).

Important notes:

A. Please make sure the IMU and LiDAR are Synchronized, that’s important.

B. Please obtain the saturation values of your used IMU (i.e., accelerator and gyroscope), and the units of the accelerator of your used IMU, then modify the .yaml file according to those settings, including values of ‘satu_acc’, ‘satu_gyro’, ‘acc_norm’. That’s improtant.

C. The warning message “Failed to find match for field ‘time’.” means the timestamps of each LiDAR points are missed in the rosbag file. That is important because Point-LIO processes at the sampling time of each LiDAR point.

D. We recommend to set the extrinsic_est_en to false if the extrinsic is given. As for the extrinsic initiallization, please refer to our recent work: Robust and Online LiDAR-inertial Initialization.

E. If a high odometry output frequency without downsample is required, set

``` as true. Then the warning message of tf "TF_REPEATED_DATA" will pop up in the terminal window, because the time interval between two publish odometery is too small. The following command could be used to suppress this warning to a smaller frequency:

in your catkin_ws/src,

git clone --branch throttle-tf-repeated-data-error git@github.com:BadgerTechnologies/geometry2.git

Then rebuild, source setup.bash, run and then it should be reduced down to once every 10 seconds. If 10 seconds is still too much log output then change the ros::Duration(10.0) to 10000 seconds or whatever you like.

F. If you want to use Point-LIO without imu, set the "imu_en" as false, and provide a predefined value of gavity in "gravity_init" as true as possible in the yaml file, and keep the "use_imu_as_input" as 0.

## **1.1. Developers:**
The codes of this repo are contributed by:
[Dongjiao He (贺东娇)](https://github.com/Joanna-HE) and [Wei Xu (徐威)](https://github.com/XW-HKU)


## **1.2. Related paper**
Our paper is published on Advanced Intelligent Systems(AIS). [Point-LIO](https://onlinelibrary.wiley.com/doi/epdf/10.1002/aisy.202200459), DOI: 10.1002/aisy.202200459


## **1.3. Related video**
Our accompany video is available on **YouTube**.
<div align="center">
    <a href="https://youtu.be/oS83xUs42Uw" target="_blank"><img src="https://github.com/hku-mars/Point-LIO/raw/master/image/final.png" width=60% /></a>
</div>

## 2. What can Point-LIO do?
### 2.1 Simultaneous LiDAR localization and mapping (SLAM) without motion distortion

### 2.2 Produce high odometry output frequence and high bandwidth

### 2.3 SLAM with aggressive motions even the IMU is saturated

# **3. Prerequisites**

## **3.1 Ubuntu and [ROS](https://www.ros.org/)**
We tested our code on Ubuntu20.04 with noetic. Ubuntu18.04 and lower versions have problems of environments to support the Point-LIO, try to avoid using Point-LIO in those systems. Additional ROS package is required:

sudo apt-get install ros-xxx-pcl-conversions


## **3.2 Eigen**
Following the official [Eigen installation](eigen.tuxfamily.org/index.php?title=Main_Page), or directly install Eigen by:

sudo apt-get install libeigen3-dev


## **3.3 livox_ros_driver2**
Follow [livox_ros_driver2 Installation](https://github.com/Livox-SDK/livox_ros_driver2).

*Remarks:*
- Since the Point-LIO supports Livox serials LiDAR, so the **livox_ros_driver2** must be installed and **sourced** before run any Point-LIO luanch file.
- How to source? The easiest way is add the line 
``` source $Licox_ros_driver_dir$/devel/setup.bash 
``` to the end of file 
``` ~/.bashrc 
```, where 
``` $Licox_ros_driver_dir$ 
``` is the directory of the livox ros driver workspace (should be the 
``` ws_livox 
``` directory if you completely followed the livox official document).

## 4. Build
Clone the repository and catkin_make:


cd ~/$A_ROS_DIR$/src
git clone https://github.com/hku-mars/Point-LIO.git
cd Point-LIO
git submodule update --init
cd ../..
catkin_make
source devel/setup.bash
- Remember to source the livox_ros_driver2 before build (follow 3.3 **livox_ros_driver2**)
- If you want to use a custom build of PCL, add the following line to ~/.bashrc

```export PCL_ROOT={CUSTOM_PCL_PATH}

5. Directly run

5.1 For Avia

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged point_lio at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Robomaster-2024-XDU-IRobot-哨兵导航仓库
Checkout URI https://github.com/irobot-algorithm/sentry_navigation.git
VCS Type git
VCS Version main
Last Updated 2025-03-19
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics navigation
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

This is a modified version of LOAM which is original algorithm is described in the following paper: J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time. Robotics: Science and Systems Conference (RSS). Berkeley, CA, July 2014.

Additional Links

No additional links.

Maintainers

  • claydergc

Authors

  • Dongjiao He

Point-LIO

1. Introduction

<img src="https://github.com/hku-mars/Point-LIO/raw/master/image/toc4.png" width = 75% >
<font color=#a0a0a0 size=2>The framework and key points of the Point-LIO.</font>

New features:

  1. would not fly under degeneration.
  2. high odometry output frequency, 4k-8kHz.
  3. robust to IMU saturation and severe vibration, and other aggressive motions (75 rad/s in our test).
  4. no motion distortion.
  5. computationally efficient, robust, versatile on public datasets with general motions.
  6. As an odometry, Point-LIO could be used in various autonomous tasks, such as trajectory planning, control, and perception, especially in cases involving very fast ego-motions (e.g., in the presence of severe vibration and high angular or linear velocity) or requiring high-rate odometry output and mapping (e.g., for high-rate feedback control and perception).

Important notes:

A. Please make sure the IMU and LiDAR are Synchronized, that’s important.

B. Please obtain the saturation values of your used IMU (i.e., accelerator and gyroscope), and the units of the accelerator of your used IMU, then modify the .yaml file according to those settings, including values of ‘satu_acc’, ‘satu_gyro’, ‘acc_norm’. That’s improtant.

C. The warning message “Failed to find match for field ‘time’.” means the timestamps of each LiDAR points are missed in the rosbag file. That is important because Point-LIO processes at the sampling time of each LiDAR point.

D. We recommend to set the extrinsic_est_en to false if the extrinsic is given. As for the extrinsic initiallization, please refer to our recent work: Robust and Online LiDAR-inertial Initialization.

E. If a high odometry output frequency without downsample is required, set

``` as true. Then the warning message of tf "TF_REPEATED_DATA" will pop up in the terminal window, because the time interval between two publish odometery is too small. The following command could be used to suppress this warning to a smaller frequency:

in your catkin_ws/src,

git clone --branch throttle-tf-repeated-data-error git@github.com:BadgerTechnologies/geometry2.git

Then rebuild, source setup.bash, run and then it should be reduced down to once every 10 seconds. If 10 seconds is still too much log output then change the ros::Duration(10.0) to 10000 seconds or whatever you like.

F. If you want to use Point-LIO without imu, set the "imu_en" as false, and provide a predefined value of gavity in "gravity_init" as true as possible in the yaml file, and keep the "use_imu_as_input" as 0.

## **1.1. Developers:**
The codes of this repo are contributed by:
[Dongjiao He (贺东娇)](https://github.com/Joanna-HE) and [Wei Xu (徐威)](https://github.com/XW-HKU)


## **1.2. Related paper**
Our paper is published on Advanced Intelligent Systems(AIS). [Point-LIO](https://onlinelibrary.wiley.com/doi/epdf/10.1002/aisy.202200459), DOI: 10.1002/aisy.202200459


## **1.3. Related video**
Our accompany video is available on **YouTube**.
<div align="center">
    <a href="https://youtu.be/oS83xUs42Uw" target="_blank"><img src="https://github.com/hku-mars/Point-LIO/raw/master/image/final.png" width=60% /></a>
</div>

## 2. What can Point-LIO do?
### 2.1 Simultaneous LiDAR localization and mapping (SLAM) without motion distortion

### 2.2 Produce high odometry output frequence and high bandwidth

### 2.3 SLAM with aggressive motions even the IMU is saturated

# **3. Prerequisites**

## **3.1 Ubuntu and [ROS](https://www.ros.org/)**
We tested our code on Ubuntu20.04 with noetic. Ubuntu18.04 and lower versions have problems of environments to support the Point-LIO, try to avoid using Point-LIO in those systems. Additional ROS package is required:

sudo apt-get install ros-xxx-pcl-conversions


## **3.2 Eigen**
Following the official [Eigen installation](eigen.tuxfamily.org/index.php?title=Main_Page), or directly install Eigen by:

sudo apt-get install libeigen3-dev


## **3.3 livox_ros_driver2**
Follow [livox_ros_driver2 Installation](https://github.com/Livox-SDK/livox_ros_driver2).

*Remarks:*
- Since the Point-LIO supports Livox serials LiDAR, so the **livox_ros_driver2** must be installed and **sourced** before run any Point-LIO luanch file.
- How to source? The easiest way is add the line 
``` source $Licox_ros_driver_dir$/devel/setup.bash 
``` to the end of file 
``` ~/.bashrc 
```, where 
``` $Licox_ros_driver_dir$ 
``` is the directory of the livox ros driver workspace (should be the 
``` ws_livox 
``` directory if you completely followed the livox official document).

## 4. Build
Clone the repository and catkin_make:


cd ~/$A_ROS_DIR$/src
git clone https://github.com/hku-mars/Point-LIO.git
cd Point-LIO
git submodule update --init
cd ../..
catkin_make
source devel/setup.bash
- Remember to source the livox_ros_driver2 before build (follow 3.3 **livox_ros_driver2**)
- If you want to use a custom build of PCL, add the following line to ~/.bashrc

```export PCL_ROOT={CUSTOM_PCL_PATH}

5. Directly run

5.1 For Avia

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged point_lio at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Robomaster-2024-XDU-IRobot-哨兵导航仓库
Checkout URI https://github.com/irobot-algorithm/sentry_navigation.git
VCS Type git
VCS Version main
Last Updated 2025-03-19
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics navigation
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

This is a modified version of LOAM which is original algorithm is described in the following paper: J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time. Robotics: Science and Systems Conference (RSS). Berkeley, CA, July 2014.

Additional Links

No additional links.

Maintainers

  • claydergc

Authors

  • Dongjiao He

Point-LIO

1. Introduction

<img src="https://github.com/hku-mars/Point-LIO/raw/master/image/toc4.png" width = 75% >
<font color=#a0a0a0 size=2>The framework and key points of the Point-LIO.</font>

New features:

  1. would not fly under degeneration.
  2. high odometry output frequency, 4k-8kHz.
  3. robust to IMU saturation and severe vibration, and other aggressive motions (75 rad/s in our test).
  4. no motion distortion.
  5. computationally efficient, robust, versatile on public datasets with general motions.
  6. As an odometry, Point-LIO could be used in various autonomous tasks, such as trajectory planning, control, and perception, especially in cases involving very fast ego-motions (e.g., in the presence of severe vibration and high angular or linear velocity) or requiring high-rate odometry output and mapping (e.g., for high-rate feedback control and perception).

Important notes:

A. Please make sure the IMU and LiDAR are Synchronized, that’s important.

B. Please obtain the saturation values of your used IMU (i.e., accelerator and gyroscope), and the units of the accelerator of your used IMU, then modify the .yaml file according to those settings, including values of ‘satu_acc’, ‘satu_gyro’, ‘acc_norm’. That’s improtant.

C. The warning message “Failed to find match for field ‘time’.” means the timestamps of each LiDAR points are missed in the rosbag file. That is important because Point-LIO processes at the sampling time of each LiDAR point.

D. We recommend to set the extrinsic_est_en to false if the extrinsic is given. As for the extrinsic initiallization, please refer to our recent work: Robust and Online LiDAR-inertial Initialization.

E. If a high odometry output frequency without downsample is required, set

``` as true. Then the warning message of tf "TF_REPEATED_DATA" will pop up in the terminal window, because the time interval between two publish odometery is too small. The following command could be used to suppress this warning to a smaller frequency:

in your catkin_ws/src,

git clone --branch throttle-tf-repeated-data-error git@github.com:BadgerTechnologies/geometry2.git

Then rebuild, source setup.bash, run and then it should be reduced down to once every 10 seconds. If 10 seconds is still too much log output then change the ros::Duration(10.0) to 10000 seconds or whatever you like.

F. If you want to use Point-LIO without imu, set the "imu_en" as false, and provide a predefined value of gavity in "gravity_init" as true as possible in the yaml file, and keep the "use_imu_as_input" as 0.

## **1.1. Developers:**
The codes of this repo are contributed by:
[Dongjiao He (贺东娇)](https://github.com/Joanna-HE) and [Wei Xu (徐威)](https://github.com/XW-HKU)


## **1.2. Related paper**
Our paper is published on Advanced Intelligent Systems(AIS). [Point-LIO](https://onlinelibrary.wiley.com/doi/epdf/10.1002/aisy.202200459), DOI: 10.1002/aisy.202200459


## **1.3. Related video**
Our accompany video is available on **YouTube**.
<div align="center">
    <a href="https://youtu.be/oS83xUs42Uw" target="_blank"><img src="https://github.com/hku-mars/Point-LIO/raw/master/image/final.png" width=60% /></a>
</div>

## 2. What can Point-LIO do?
### 2.1 Simultaneous LiDAR localization and mapping (SLAM) without motion distortion

### 2.2 Produce high odometry output frequence and high bandwidth

### 2.3 SLAM with aggressive motions even the IMU is saturated

# **3. Prerequisites**

## **3.1 Ubuntu and [ROS](https://www.ros.org/)**
We tested our code on Ubuntu20.04 with noetic. Ubuntu18.04 and lower versions have problems of environments to support the Point-LIO, try to avoid using Point-LIO in those systems. Additional ROS package is required:

sudo apt-get install ros-xxx-pcl-conversions


## **3.2 Eigen**
Following the official [Eigen installation](eigen.tuxfamily.org/index.php?title=Main_Page), or directly install Eigen by:

sudo apt-get install libeigen3-dev


## **3.3 livox_ros_driver2**
Follow [livox_ros_driver2 Installation](https://github.com/Livox-SDK/livox_ros_driver2).

*Remarks:*
- Since the Point-LIO supports Livox serials LiDAR, so the **livox_ros_driver2** must be installed and **sourced** before run any Point-LIO luanch file.
- How to source? The easiest way is add the line 
``` source $Licox_ros_driver_dir$/devel/setup.bash 
``` to the end of file 
``` ~/.bashrc 
```, where 
``` $Licox_ros_driver_dir$ 
``` is the directory of the livox ros driver workspace (should be the 
``` ws_livox 
``` directory if you completely followed the livox official document).

## 4. Build
Clone the repository and catkin_make:


cd ~/$A_ROS_DIR$/src
git clone https://github.com/hku-mars/Point-LIO.git
cd Point-LIO
git submodule update --init
cd ../..
catkin_make
source devel/setup.bash
- Remember to source the livox_ros_driver2 before build (follow 3.3 **livox_ros_driver2**)
- If you want to use a custom build of PCL, add the following line to ~/.bashrc

```export PCL_ROOT={CUSTOM_PCL_PATH}

5. Directly run

5.1 For Avia

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged point_lio at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Robomaster-2024-XDU-IRobot-哨兵导航仓库
Checkout URI https://github.com/irobot-algorithm/sentry_navigation.git
VCS Type git
VCS Version main
Last Updated 2025-03-19
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics navigation
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

This is a modified version of LOAM which is original algorithm is described in the following paper: J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time. Robotics: Science and Systems Conference (RSS). Berkeley, CA, July 2014.

Additional Links

No additional links.

Maintainers

  • claydergc

Authors

  • Dongjiao He

Point-LIO

1. Introduction

<img src="https://github.com/hku-mars/Point-LIO/raw/master/image/toc4.png" width = 75% >
<font color=#a0a0a0 size=2>The framework and key points of the Point-LIO.</font>

New features:

  1. would not fly under degeneration.
  2. high odometry output frequency, 4k-8kHz.
  3. robust to IMU saturation and severe vibration, and other aggressive motions (75 rad/s in our test).
  4. no motion distortion.
  5. computationally efficient, robust, versatile on public datasets with general motions.
  6. As an odometry, Point-LIO could be used in various autonomous tasks, such as trajectory planning, control, and perception, especially in cases involving very fast ego-motions (e.g., in the presence of severe vibration and high angular or linear velocity) or requiring high-rate odometry output and mapping (e.g., for high-rate feedback control and perception).

Important notes:

A. Please make sure the IMU and LiDAR are Synchronized, that’s important.

B. Please obtain the saturation values of your used IMU (i.e., accelerator and gyroscope), and the units of the accelerator of your used IMU, then modify the .yaml file according to those settings, including values of ‘satu_acc’, ‘satu_gyro’, ‘acc_norm’. That’s improtant.

C. The warning message “Failed to find match for field ‘time’.” means the timestamps of each LiDAR points are missed in the rosbag file. That is important because Point-LIO processes at the sampling time of each LiDAR point.

D. We recommend to set the extrinsic_est_en to false if the extrinsic is given. As for the extrinsic initiallization, please refer to our recent work: Robust and Online LiDAR-inertial Initialization.

E. If a high odometry output frequency without downsample is required, set

``` as true. Then the warning message of tf "TF_REPEATED_DATA" will pop up in the terminal window, because the time interval between two publish odometery is too small. The following command could be used to suppress this warning to a smaller frequency:

in your catkin_ws/src,

git clone --branch throttle-tf-repeated-data-error git@github.com:BadgerTechnologies/geometry2.git

Then rebuild, source setup.bash, run and then it should be reduced down to once every 10 seconds. If 10 seconds is still too much log output then change the ros::Duration(10.0) to 10000 seconds or whatever you like.

F. If you want to use Point-LIO without imu, set the "imu_en" as false, and provide a predefined value of gavity in "gravity_init" as true as possible in the yaml file, and keep the "use_imu_as_input" as 0.

## **1.1. Developers:**
The codes of this repo are contributed by:
[Dongjiao He (贺东娇)](https://github.com/Joanna-HE) and [Wei Xu (徐威)](https://github.com/XW-HKU)


## **1.2. Related paper**
Our paper is published on Advanced Intelligent Systems(AIS). [Point-LIO](https://onlinelibrary.wiley.com/doi/epdf/10.1002/aisy.202200459), DOI: 10.1002/aisy.202200459


## **1.3. Related video**
Our accompany video is available on **YouTube**.
<div align="center">
    <a href="https://youtu.be/oS83xUs42Uw" target="_blank"><img src="https://github.com/hku-mars/Point-LIO/raw/master/image/final.png" width=60% /></a>
</div>

## 2. What can Point-LIO do?
### 2.1 Simultaneous LiDAR localization and mapping (SLAM) without motion distortion

### 2.2 Produce high odometry output frequence and high bandwidth

### 2.3 SLAM with aggressive motions even the IMU is saturated

# **3. Prerequisites**

## **3.1 Ubuntu and [ROS](https://www.ros.org/)**
We tested our code on Ubuntu20.04 with noetic. Ubuntu18.04 and lower versions have problems of environments to support the Point-LIO, try to avoid using Point-LIO in those systems. Additional ROS package is required:

sudo apt-get install ros-xxx-pcl-conversions


## **3.2 Eigen**
Following the official [Eigen installation](eigen.tuxfamily.org/index.php?title=Main_Page), or directly install Eigen by:

sudo apt-get install libeigen3-dev


## **3.3 livox_ros_driver2**
Follow [livox_ros_driver2 Installation](https://github.com/Livox-SDK/livox_ros_driver2).

*Remarks:*
- Since the Point-LIO supports Livox serials LiDAR, so the **livox_ros_driver2** must be installed and **sourced** before run any Point-LIO luanch file.
- How to source? The easiest way is add the line 
``` source $Licox_ros_driver_dir$/devel/setup.bash 
``` to the end of file 
``` ~/.bashrc 
```, where 
``` $Licox_ros_driver_dir$ 
``` is the directory of the livox ros driver workspace (should be the 
``` ws_livox 
``` directory if you completely followed the livox official document).

## 4. Build
Clone the repository and catkin_make:


cd ~/$A_ROS_DIR$/src
git clone https://github.com/hku-mars/Point-LIO.git
cd Point-LIO
git submodule update --init
cd ../..
catkin_make
source devel/setup.bash
- Remember to source the livox_ros_driver2 before build (follow 3.3 **livox_ros_driver2**)
- If you want to use a custom build of PCL, add the following line to ~/.bashrc

```export PCL_ROOT={CUSTOM_PCL_PATH}

5. Directly run

5.1 For Avia

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged point_lio at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Robomaster-2024-XDU-IRobot-哨兵导航仓库
Checkout URI https://github.com/irobot-algorithm/sentry_navigation.git
VCS Type git
VCS Version main
Last Updated 2025-03-19
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics navigation
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

This is a modified version of LOAM which is original algorithm is described in the following paper: J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time. Robotics: Science and Systems Conference (RSS). Berkeley, CA, July 2014.

Additional Links

No additional links.

Maintainers

  • claydergc

Authors

  • Dongjiao He

Point-LIO

1. Introduction

<img src="https://github.com/hku-mars/Point-LIO/raw/master/image/toc4.png" width = 75% >
<font color=#a0a0a0 size=2>The framework and key points of the Point-LIO.</font>

New features:

  1. would not fly under degeneration.
  2. high odometry output frequency, 4k-8kHz.
  3. robust to IMU saturation and severe vibration, and other aggressive motions (75 rad/s in our test).
  4. no motion distortion.
  5. computationally efficient, robust, versatile on public datasets with general motions.
  6. As an odometry, Point-LIO could be used in various autonomous tasks, such as trajectory planning, control, and perception, especially in cases involving very fast ego-motions (e.g., in the presence of severe vibration and high angular or linear velocity) or requiring high-rate odometry output and mapping (e.g., for high-rate feedback control and perception).

Important notes:

A. Please make sure the IMU and LiDAR are Synchronized, that’s important.

B. Please obtain the saturation values of your used IMU (i.e., accelerator and gyroscope), and the units of the accelerator of your used IMU, then modify the .yaml file according to those settings, including values of ‘satu_acc’, ‘satu_gyro’, ‘acc_norm’. That’s improtant.

C. The warning message “Failed to find match for field ‘time’.” means the timestamps of each LiDAR points are missed in the rosbag file. That is important because Point-LIO processes at the sampling time of each LiDAR point.

D. We recommend to set the extrinsic_est_en to false if the extrinsic is given. As for the extrinsic initiallization, please refer to our recent work: Robust and Online LiDAR-inertial Initialization.

E. If a high odometry output frequency without downsample is required, set

``` as true. Then the warning message of tf "TF_REPEATED_DATA" will pop up in the terminal window, because the time interval between two publish odometery is too small. The following command could be used to suppress this warning to a smaller frequency:

in your catkin_ws/src,

git clone --branch throttle-tf-repeated-data-error git@github.com:BadgerTechnologies/geometry2.git

Then rebuild, source setup.bash, run and then it should be reduced down to once every 10 seconds. If 10 seconds is still too much log output then change the ros::Duration(10.0) to 10000 seconds or whatever you like.

F. If you want to use Point-LIO without imu, set the "imu_en" as false, and provide a predefined value of gavity in "gravity_init" as true as possible in the yaml file, and keep the "use_imu_as_input" as 0.

## **1.1. Developers:**
The codes of this repo are contributed by:
[Dongjiao He (贺东娇)](https://github.com/Joanna-HE) and [Wei Xu (徐威)](https://github.com/XW-HKU)


## **1.2. Related paper**
Our paper is published on Advanced Intelligent Systems(AIS). [Point-LIO](https://onlinelibrary.wiley.com/doi/epdf/10.1002/aisy.202200459), DOI: 10.1002/aisy.202200459


## **1.3. Related video**
Our accompany video is available on **YouTube**.
<div align="center">
    <a href="https://youtu.be/oS83xUs42Uw" target="_blank"><img src="https://github.com/hku-mars/Point-LIO/raw/master/image/final.png" width=60% /></a>
</div>

## 2. What can Point-LIO do?
### 2.1 Simultaneous LiDAR localization and mapping (SLAM) without motion distortion

### 2.2 Produce high odometry output frequence and high bandwidth

### 2.3 SLAM with aggressive motions even the IMU is saturated

# **3. Prerequisites**

## **3.1 Ubuntu and [ROS](https://www.ros.org/)**
We tested our code on Ubuntu20.04 with noetic. Ubuntu18.04 and lower versions have problems of environments to support the Point-LIO, try to avoid using Point-LIO in those systems. Additional ROS package is required:

sudo apt-get install ros-xxx-pcl-conversions


## **3.2 Eigen**
Following the official [Eigen installation](eigen.tuxfamily.org/index.php?title=Main_Page), or directly install Eigen by:

sudo apt-get install libeigen3-dev


## **3.3 livox_ros_driver2**
Follow [livox_ros_driver2 Installation](https://github.com/Livox-SDK/livox_ros_driver2).

*Remarks:*
- Since the Point-LIO supports Livox serials LiDAR, so the **livox_ros_driver2** must be installed and **sourced** before run any Point-LIO luanch file.
- How to source? The easiest way is add the line 
``` source $Licox_ros_driver_dir$/devel/setup.bash 
``` to the end of file 
``` ~/.bashrc 
```, where 
``` $Licox_ros_driver_dir$ 
``` is the directory of the livox ros driver workspace (should be the 
``` ws_livox 
``` directory if you completely followed the livox official document).

## 4. Build
Clone the repository and catkin_make:


cd ~/$A_ROS_DIR$/src
git clone https://github.com/hku-mars/Point-LIO.git
cd Point-LIO
git submodule update --init
cd ../..
catkin_make
source devel/setup.bash
- Remember to source the livox_ros_driver2 before build (follow 3.3 **livox_ros_driver2**)
- If you want to use a custom build of PCL, add the following line to ~/.bashrc

```export PCL_ROOT={CUSTOM_PCL_PATH}

5. Directly run

5.1 For Avia

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged point_lio at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Robomaster-2024-XDU-IRobot-哨兵导航仓库
Checkout URI https://github.com/irobot-algorithm/sentry_navigation.git
VCS Type git
VCS Version main
Last Updated 2025-03-19
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics navigation
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

This is a modified version of LOAM which is original algorithm is described in the following paper: J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time. Robotics: Science and Systems Conference (RSS). Berkeley, CA, July 2014.

Additional Links

No additional links.

Maintainers

  • claydergc

Authors

  • Dongjiao He

Point-LIO

1. Introduction

<img src="https://github.com/hku-mars/Point-LIO/raw/master/image/toc4.png" width = 75% >
<font color=#a0a0a0 size=2>The framework and key points of the Point-LIO.</font>

New features:

  1. would not fly under degeneration.
  2. high odometry output frequency, 4k-8kHz.
  3. robust to IMU saturation and severe vibration, and other aggressive motions (75 rad/s in our test).
  4. no motion distortion.
  5. computationally efficient, robust, versatile on public datasets with general motions.
  6. As an odometry, Point-LIO could be used in various autonomous tasks, such as trajectory planning, control, and perception, especially in cases involving very fast ego-motions (e.g., in the presence of severe vibration and high angular or linear velocity) or requiring high-rate odometry output and mapping (e.g., for high-rate feedback control and perception).

Important notes:

A. Please make sure the IMU and LiDAR are Synchronized, that’s important.

B. Please obtain the saturation values of your used IMU (i.e., accelerator and gyroscope), and the units of the accelerator of your used IMU, then modify the .yaml file according to those settings, including values of ‘satu_acc’, ‘satu_gyro’, ‘acc_norm’. That’s improtant.

C. The warning message “Failed to find match for field ‘time’.” means the timestamps of each LiDAR points are missed in the rosbag file. That is important because Point-LIO processes at the sampling time of each LiDAR point.

D. We recommend to set the extrinsic_est_en to false if the extrinsic is given. As for the extrinsic initiallization, please refer to our recent work: Robust and Online LiDAR-inertial Initialization.

E. If a high odometry output frequency without downsample is required, set

``` as true. Then the warning message of tf "TF_REPEATED_DATA" will pop up in the terminal window, because the time interval between two publish odometery is too small. The following command could be used to suppress this warning to a smaller frequency:

in your catkin_ws/src,

git clone --branch throttle-tf-repeated-data-error git@github.com:BadgerTechnologies/geometry2.git

Then rebuild, source setup.bash, run and then it should be reduced down to once every 10 seconds. If 10 seconds is still too much log output then change the ros::Duration(10.0) to 10000 seconds or whatever you like.

F. If you want to use Point-LIO without imu, set the "imu_en" as false, and provide a predefined value of gavity in "gravity_init" as true as possible in the yaml file, and keep the "use_imu_as_input" as 0.

## **1.1. Developers:**
The codes of this repo are contributed by:
[Dongjiao He (贺东娇)](https://github.com/Joanna-HE) and [Wei Xu (徐威)](https://github.com/XW-HKU)


## **1.2. Related paper**
Our paper is published on Advanced Intelligent Systems(AIS). [Point-LIO](https://onlinelibrary.wiley.com/doi/epdf/10.1002/aisy.202200459), DOI: 10.1002/aisy.202200459


## **1.3. Related video**
Our accompany video is available on **YouTube**.
<div align="center">
    <a href="https://youtu.be/oS83xUs42Uw" target="_blank"><img src="https://github.com/hku-mars/Point-LIO/raw/master/image/final.png" width=60% /></a>
</div>

## 2. What can Point-LIO do?
### 2.1 Simultaneous LiDAR localization and mapping (SLAM) without motion distortion

### 2.2 Produce high odometry output frequence and high bandwidth

### 2.3 SLAM with aggressive motions even the IMU is saturated

# **3. Prerequisites**

## **3.1 Ubuntu and [ROS](https://www.ros.org/)**
We tested our code on Ubuntu20.04 with noetic. Ubuntu18.04 and lower versions have problems of environments to support the Point-LIO, try to avoid using Point-LIO in those systems. Additional ROS package is required:

sudo apt-get install ros-xxx-pcl-conversions


## **3.2 Eigen**
Following the official [Eigen installation](eigen.tuxfamily.org/index.php?title=Main_Page), or directly install Eigen by:

sudo apt-get install libeigen3-dev


## **3.3 livox_ros_driver2**
Follow [livox_ros_driver2 Installation](https://github.com/Livox-SDK/livox_ros_driver2).

*Remarks:*
- Since the Point-LIO supports Livox serials LiDAR, so the **livox_ros_driver2** must be installed and **sourced** before run any Point-LIO luanch file.
- How to source? The easiest way is add the line 
``` source $Licox_ros_driver_dir$/devel/setup.bash 
``` to the end of file 
``` ~/.bashrc 
```, where 
``` $Licox_ros_driver_dir$ 
``` is the directory of the livox ros driver workspace (should be the 
``` ws_livox 
``` directory if you completely followed the livox official document).

## 4. Build
Clone the repository and catkin_make:


cd ~/$A_ROS_DIR$/src
git clone https://github.com/hku-mars/Point-LIO.git
cd Point-LIO
git submodule update --init
cd ../..
catkin_make
source devel/setup.bash
- Remember to source the livox_ros_driver2 before build (follow 3.3 **livox_ros_driver2**)
- If you want to use a custom build of PCL, add the following line to ~/.bashrc

```export PCL_ROOT={CUSTOM_PCL_PATH}

5. Directly run

5.1 For Avia

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged point_lio at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Robomaster-2024-XDU-IRobot-哨兵导航仓库
Checkout URI https://github.com/irobot-algorithm/sentry_navigation.git
VCS Type git
VCS Version main
Last Updated 2025-03-19
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics navigation
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

This is a modified version of LOAM which is original algorithm is described in the following paper: J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time. Robotics: Science and Systems Conference (RSS). Berkeley, CA, July 2014.

Additional Links

No additional links.

Maintainers

  • claydergc

Authors

  • Dongjiao He

Point-LIO

1. Introduction

<img src="https://github.com/hku-mars/Point-LIO/raw/master/image/toc4.png" width = 75% >
<font color=#a0a0a0 size=2>The framework and key points of the Point-LIO.</font>

New features:

  1. would not fly under degeneration.
  2. high odometry output frequency, 4k-8kHz.
  3. robust to IMU saturation and severe vibration, and other aggressive motions (75 rad/s in our test).
  4. no motion distortion.
  5. computationally efficient, robust, versatile on public datasets with general motions.
  6. As an odometry, Point-LIO could be used in various autonomous tasks, such as trajectory planning, control, and perception, especially in cases involving very fast ego-motions (e.g., in the presence of severe vibration and high angular or linear velocity) or requiring high-rate odometry output and mapping (e.g., for high-rate feedback control and perception).

Important notes:

A. Please make sure the IMU and LiDAR are Synchronized, that’s important.

B. Please obtain the saturation values of your used IMU (i.e., accelerator and gyroscope), and the units of the accelerator of your used IMU, then modify the .yaml file according to those settings, including values of ‘satu_acc’, ‘satu_gyro’, ‘acc_norm’. That’s improtant.

C. The warning message “Failed to find match for field ‘time’.” means the timestamps of each LiDAR points are missed in the rosbag file. That is important because Point-LIO processes at the sampling time of each LiDAR point.

D. We recommend to set the extrinsic_est_en to false if the extrinsic is given. As for the extrinsic initiallization, please refer to our recent work: Robust and Online LiDAR-inertial Initialization.

E. If a high odometry output frequency without downsample is required, set

``` as true. Then the warning message of tf "TF_REPEATED_DATA" will pop up in the terminal window, because the time interval between two publish odometery is too small. The following command could be used to suppress this warning to a smaller frequency:

in your catkin_ws/src,

git clone --branch throttle-tf-repeated-data-error git@github.com:BadgerTechnologies/geometry2.git

Then rebuild, source setup.bash, run and then it should be reduced down to once every 10 seconds. If 10 seconds is still too much log output then change the ros::Duration(10.0) to 10000 seconds or whatever you like.

F. If you want to use Point-LIO without imu, set the "imu_en" as false, and provide a predefined value of gavity in "gravity_init" as true as possible in the yaml file, and keep the "use_imu_as_input" as 0.

## **1.1. Developers:**
The codes of this repo are contributed by:
[Dongjiao He (贺东娇)](https://github.com/Joanna-HE) and [Wei Xu (徐威)](https://github.com/XW-HKU)


## **1.2. Related paper**
Our paper is published on Advanced Intelligent Systems(AIS). [Point-LIO](https://onlinelibrary.wiley.com/doi/epdf/10.1002/aisy.202200459), DOI: 10.1002/aisy.202200459


## **1.3. Related video**
Our accompany video is available on **YouTube**.
<div align="center">
    <a href="https://youtu.be/oS83xUs42Uw" target="_blank"><img src="https://github.com/hku-mars/Point-LIO/raw/master/image/final.png" width=60% /></a>
</div>

## 2. What can Point-LIO do?
### 2.1 Simultaneous LiDAR localization and mapping (SLAM) without motion distortion

### 2.2 Produce high odometry output frequence and high bandwidth

### 2.3 SLAM with aggressive motions even the IMU is saturated

# **3. Prerequisites**

## **3.1 Ubuntu and [ROS](https://www.ros.org/)**
We tested our code on Ubuntu20.04 with noetic. Ubuntu18.04 and lower versions have problems of environments to support the Point-LIO, try to avoid using Point-LIO in those systems. Additional ROS package is required:

sudo apt-get install ros-xxx-pcl-conversions


## **3.2 Eigen**
Following the official [Eigen installation](eigen.tuxfamily.org/index.php?title=Main_Page), or directly install Eigen by:

sudo apt-get install libeigen3-dev


## **3.3 livox_ros_driver2**
Follow [livox_ros_driver2 Installation](https://github.com/Livox-SDK/livox_ros_driver2).

*Remarks:*
- Since the Point-LIO supports Livox serials LiDAR, so the **livox_ros_driver2** must be installed and **sourced** before run any Point-LIO luanch file.
- How to source? The easiest way is add the line 
``` source $Licox_ros_driver_dir$/devel/setup.bash 
``` to the end of file 
``` ~/.bashrc 
```, where 
``` $Licox_ros_driver_dir$ 
``` is the directory of the livox ros driver workspace (should be the 
``` ws_livox 
``` directory if you completely followed the livox official document).

## 4. Build
Clone the repository and catkin_make:


cd ~/$A_ROS_DIR$/src
git clone https://github.com/hku-mars/Point-LIO.git
cd Point-LIO
git submodule update --init
cd ../..
catkin_make
source devel/setup.bash
- Remember to source the livox_ros_driver2 before build (follow 3.3 **livox_ros_driver2**)
- If you want to use a custom build of PCL, add the following line to ~/.bashrc

```export PCL_ROOT={CUSTOM_PCL_PATH}

5. Directly run

5.1 For Avia

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged point_lio at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Robomaster-2024-XDU-IRobot-哨兵导航仓库
Checkout URI https://github.com/irobot-algorithm/sentry_navigation.git
VCS Type git
VCS Version main
Last Updated 2025-03-19
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics navigation
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

This is a modified version of LOAM which is original algorithm is described in the following paper: J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time. Robotics: Science and Systems Conference (RSS). Berkeley, CA, July 2014.

Additional Links

No additional links.

Maintainers

  • claydergc

Authors

  • Dongjiao He

Point-LIO

1. Introduction

<img src="https://github.com/hku-mars/Point-LIO/raw/master/image/toc4.png" width = 75% >
<font color=#a0a0a0 size=2>The framework and key points of the Point-LIO.</font>

New features:

  1. would not fly under degeneration.
  2. high odometry output frequency, 4k-8kHz.
  3. robust to IMU saturation and severe vibration, and other aggressive motions (75 rad/s in our test).
  4. no motion distortion.
  5. computationally efficient, robust, versatile on public datasets with general motions.
  6. As an odometry, Point-LIO could be used in various autonomous tasks, such as trajectory planning, control, and perception, especially in cases involving very fast ego-motions (e.g., in the presence of severe vibration and high angular or linear velocity) or requiring high-rate odometry output and mapping (e.g., for high-rate feedback control and perception).

Important notes:

A. Please make sure the IMU and LiDAR are Synchronized, that’s important.

B. Please obtain the saturation values of your used IMU (i.e., accelerator and gyroscope), and the units of the accelerator of your used IMU, then modify the .yaml file according to those settings, including values of ‘satu_acc’, ‘satu_gyro’, ‘acc_norm’. That’s improtant.

C. The warning message “Failed to find match for field ‘time’.” means the timestamps of each LiDAR points are missed in the rosbag file. That is important because Point-LIO processes at the sampling time of each LiDAR point.

D. We recommend to set the extrinsic_est_en to false if the extrinsic is given. As for the extrinsic initiallization, please refer to our recent work: Robust and Online LiDAR-inertial Initialization.

E. If a high odometry output frequency without downsample is required, set

``` as true. Then the warning message of tf "TF_REPEATED_DATA" will pop up in the terminal window, because the time interval between two publish odometery is too small. The following command could be used to suppress this warning to a smaller frequency:

in your catkin_ws/src,

git clone --branch throttle-tf-repeated-data-error git@github.com:BadgerTechnologies/geometry2.git

Then rebuild, source setup.bash, run and then it should be reduced down to once every 10 seconds. If 10 seconds is still too much log output then change the ros::Duration(10.0) to 10000 seconds or whatever you like.

F. If you want to use Point-LIO without imu, set the "imu_en" as false, and provide a predefined value of gavity in "gravity_init" as true as possible in the yaml file, and keep the "use_imu_as_input" as 0.

## **1.1. Developers:**
The codes of this repo are contributed by:
[Dongjiao He (贺东娇)](https://github.com/Joanna-HE) and [Wei Xu (徐威)](https://github.com/XW-HKU)


## **1.2. Related paper**
Our paper is published on Advanced Intelligent Systems(AIS). [Point-LIO](https://onlinelibrary.wiley.com/doi/epdf/10.1002/aisy.202200459), DOI: 10.1002/aisy.202200459


## **1.3. Related video**
Our accompany video is available on **YouTube**.
<div align="center">
    <a href="https://youtu.be/oS83xUs42Uw" target="_blank"><img src="https://github.com/hku-mars/Point-LIO/raw/master/image/final.png" width=60% /></a>
</div>

## 2. What can Point-LIO do?
### 2.1 Simultaneous LiDAR localization and mapping (SLAM) without motion distortion

### 2.2 Produce high odometry output frequence and high bandwidth

### 2.3 SLAM with aggressive motions even the IMU is saturated

# **3. Prerequisites**

## **3.1 Ubuntu and [ROS](https://www.ros.org/)**
We tested our code on Ubuntu20.04 with noetic. Ubuntu18.04 and lower versions have problems of environments to support the Point-LIO, try to avoid using Point-LIO in those systems. Additional ROS package is required:

sudo apt-get install ros-xxx-pcl-conversions


## **3.2 Eigen**
Following the official [Eigen installation](eigen.tuxfamily.org/index.php?title=Main_Page), or directly install Eigen by:

sudo apt-get install libeigen3-dev


## **3.3 livox_ros_driver2**
Follow [livox_ros_driver2 Installation](https://github.com/Livox-SDK/livox_ros_driver2).

*Remarks:*
- Since the Point-LIO supports Livox serials LiDAR, so the **livox_ros_driver2** must be installed and **sourced** before run any Point-LIO luanch file.
- How to source? The easiest way is add the line 
``` source $Licox_ros_driver_dir$/devel/setup.bash 
``` to the end of file 
``` ~/.bashrc 
```, where 
``` $Licox_ros_driver_dir$ 
``` is the directory of the livox ros driver workspace (should be the 
``` ws_livox 
``` directory if you completely followed the livox official document).

## 4. Build
Clone the repository and catkin_make:


cd ~/$A_ROS_DIR$/src
git clone https://github.com/hku-mars/Point-LIO.git
cd Point-LIO
git submodule update --init
cd ../..
catkin_make
source devel/setup.bash
- Remember to source the livox_ros_driver2 before build (follow 3.3 **livox_ros_driver2**)
- If you want to use a custom build of PCL, add the following line to ~/.bashrc

```export PCL_ROOT={CUSTOM_PCL_PATH}

5. Directly run

5.1 For Avia

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged point_lio at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Robomaster-2024-XDU-IRobot-哨兵导航仓库
Checkout URI https://github.com/irobot-algorithm/sentry_navigation.git
VCS Type git
VCS Version main
Last Updated 2025-03-19
Dev Status UNKNOWN
Released UNRELEASED
Tags robotics navigation
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

This is a modified version of LOAM which is original algorithm is described in the following paper: J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time. Robotics: Science and Systems Conference (RSS). Berkeley, CA, July 2014.

Additional Links

No additional links.

Maintainers

  • claydergc

Authors

  • Dongjiao He

Point-LIO

1. Introduction

<img src="https://github.com/hku-mars/Point-LIO/raw/master/image/toc4.png" width = 75% >
<font color=#a0a0a0 size=2>The framework and key points of the Point-LIO.</font>

New features:

  1. would not fly under degeneration.
  2. high odometry output frequency, 4k-8kHz.
  3. robust to IMU saturation and severe vibration, and other aggressive motions (75 rad/s in our test).
  4. no motion distortion.
  5. computationally efficient, robust, versatile on public datasets with general motions.
  6. As an odometry, Point-LIO could be used in various autonomous tasks, such as trajectory planning, control, and perception, especially in cases involving very fast ego-motions (e.g., in the presence of severe vibration and high angular or linear velocity) or requiring high-rate odometry output and mapping (e.g., for high-rate feedback control and perception).

Important notes:

A. Please make sure the IMU and LiDAR are Synchronized, that’s important.

B. Please obtain the saturation values of your used IMU (i.e., accelerator and gyroscope), and the units of the accelerator of your used IMU, then modify the .yaml file according to those settings, including values of ‘satu_acc’, ‘satu_gyro’, ‘acc_norm’. That’s improtant.

C. The warning message “Failed to find match for field ‘time’.” means the timestamps of each LiDAR points are missed in the rosbag file. That is important because Point-LIO processes at the sampling time of each LiDAR point.

D. We recommend to set the extrinsic_est_en to false if the extrinsic is given. As for the extrinsic initiallization, please refer to our recent work: Robust and Online LiDAR-inertial Initialization.

E. If a high odometry output frequency without downsample is required, set

``` as true. Then the warning message of tf "TF_REPEATED_DATA" will pop up in the terminal window, because the time interval between two publish odometery is too small. The following command could be used to suppress this warning to a smaller frequency:

in your catkin_ws/src,

git clone --branch throttle-tf-repeated-data-error git@github.com:BadgerTechnologies/geometry2.git

Then rebuild, source setup.bash, run and then it should be reduced down to once every 10 seconds. If 10 seconds is still too much log output then change the ros::Duration(10.0) to 10000 seconds or whatever you like.

F. If you want to use Point-LIO without imu, set the "imu_en" as false, and provide a predefined value of gavity in "gravity_init" as true as possible in the yaml file, and keep the "use_imu_as_input" as 0.

## **1.1. Developers:**
The codes of this repo are contributed by:
[Dongjiao He (贺东娇)](https://github.com/Joanna-HE) and [Wei Xu (徐威)](https://github.com/XW-HKU)


## **1.2. Related paper**
Our paper is published on Advanced Intelligent Systems(AIS). [Point-LIO](https://onlinelibrary.wiley.com/doi/epdf/10.1002/aisy.202200459), DOI: 10.1002/aisy.202200459


## **1.3. Related video**
Our accompany video is available on **YouTube**.
<div align="center">
    <a href="https://youtu.be/oS83xUs42Uw" target="_blank"><img src="https://github.com/hku-mars/Point-LIO/raw/master/image/final.png" width=60% /></a>
</div>

## 2. What can Point-LIO do?
### 2.1 Simultaneous LiDAR localization and mapping (SLAM) without motion distortion

### 2.2 Produce high odometry output frequence and high bandwidth

### 2.3 SLAM with aggressive motions even the IMU is saturated

# **3. Prerequisites**

## **3.1 Ubuntu and [ROS](https://www.ros.org/)**
We tested our code on Ubuntu20.04 with noetic. Ubuntu18.04 and lower versions have problems of environments to support the Point-LIO, try to avoid using Point-LIO in those systems. Additional ROS package is required:

sudo apt-get install ros-xxx-pcl-conversions


## **3.2 Eigen**
Following the official [Eigen installation](eigen.tuxfamily.org/index.php?title=Main_Page), or directly install Eigen by:

sudo apt-get install libeigen3-dev


## **3.3 livox_ros_driver2**
Follow [livox_ros_driver2 Installation](https://github.com/Livox-SDK/livox_ros_driver2).

*Remarks:*
- Since the Point-LIO supports Livox serials LiDAR, so the **livox_ros_driver2** must be installed and **sourced** before run any Point-LIO luanch file.
- How to source? The easiest way is add the line 
``` source $Licox_ros_driver_dir$/devel/setup.bash 
``` to the end of file 
``` ~/.bashrc 
```, where 
``` $Licox_ros_driver_dir$ 
``` is the directory of the livox ros driver workspace (should be the 
``` ws_livox 
``` directory if you completely followed the livox official document).

## 4. Build
Clone the repository and catkin_make:


cd ~/$A_ROS_DIR$/src
git clone https://github.com/hku-mars/Point-LIO.git
cd Point-LIO
git submodule update --init
cd ../..
catkin_make
source devel/setup.bash
- Remember to source the livox_ros_driver2 before build (follow 3.3 **livox_ros_driver2**)
- If you want to use a custom build of PCL, add the following line to ~/.bashrc

```export PCL_ROOT={CUSTOM_PCL_PATH}

5. Directly run

5.1 For Avia

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged point_lio at Robotics Stack Exchange