# point_lio_unilidar
**Repository Path**: gitama2015/point_lio_unilidar
## Basic Information
- **Project Name**: point_lio_unilidar
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: GPL-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-04-26
- **Last Updated**: 2024-04-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# point_lio_unilidar
## Introduction
This repository adapts the state-of-the-art lidar inertial odometry algorithm, `Point-LIO`, for use with our lidar, `Unitree Lidar L1`.
`Unitree Lidar L1` is a low-cost large-FOV 3D lidar, which possesses these features:
- large field of view (360° × 90°)
- non-repetitive scanning
- low cost (only $349)
- suitable for applications in low-speed mobile robots
If you want to learn more about our lidar, you can refer to the official website for details.
-
`Point-LIO` is a robust and high-bandwidth lidar inertial odometry (LIO) with the capability to provide accurate, high-frequency odometry and reliable mapping under severe vibrations and aggressive motions. If you need further information about the `Point-LIO` algorithm, you can refer to their official website and paper:
-
- [Point‐LIO: Robust High‐Bandwidth Light Detection and Ranging Inertial Odometry](https://onlinelibrary.wiley.com/doi/epdf/10.1002/aisy.202200459)

## Video Demo
[](https://oss-global-cdn.unitree.com/static/c0bd0ac7d1e147e7a7eaf909f1fc214f.mp4 "SLAM based on Unitree 4D LiDAR L1")
## Prerequisites
### Ubuntu and ROS
We tested our code on Ubuntu20.04 with [ROS noetic](http://wiki.ros.org/noetic/Installation/Ubuntu). Ubuntu18.04 and lower versions have problems of environments to support the Point-LIO, try to avoid using Point-LIO in those systems.
You can refer to the official website to install ROS noetic:
-
Additional ROS package is required:
```
sudo apt-get install ros-xxx-pcl-conversions
```
### 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
```
### unitree_lidar_ros
You should download and build [unitree_lidar_ros](https://github.com/unitreerobotics/unilidar_sdk/tree/main/unitree_lidar_ros/src/unitree_lidar_ros) follwing these steps:
```
git clone https://github.com/unitreerobotics/unilidar_sdk.git
cd unilidar_sdk/unitree_lidar_ros
catkin_make
```
## Build
Clone this repository and run `catkin_make`:
```
mkdir -p catkin_point_lio_unilidar/src
cd catkin_point_lio_unilidar/src
git clone https://github.com/unitreerobotics/point_lio_unilidar.git
cd ..
catkin_make
```
## Run
### Run with Unilidar
Firstly, you should connect our lidar to your PC serial port, and supply power for the lidar with a 12V charger.
Besides, to ensure proper initialization of the IMU, it is advisable to keep the lidar in a stationary state during the initial few seconds of algorithm execution.
Run `unilidar`:
```
cd unilidar_sdk/unitree_lidar_ros
source devel/setup.bash
roslaunch unitree_lidar_ros run_without_rviz.launch
```
Run `Point-LIO`:
```
cd catkin_unilidar_point_lio
source devel/setup.bash
roslaunch point_lio_unilidar mapping_unilidar.launch
```
After completion of the run, all cached pointcloud map will be saved to the following path:
```
catkin_point_lio_unilidar/src/point_lio_unilidar/PCD/scans.pcd
```
You can use the `pcl_viewer` tool to view this pcd file:
```
pcl_viewer scans.pcd
```
### Run with dataset
If you don't have our lidar for now, you can download our dataset recorded with our lidar and run testify this algorithm with it.
The download address is here:
- [unilidar-2023-09-22-12-42-04.bag - Download](https://oss-global-cdn.unitree.com/static/unilidar-2023-09-22-12-42-04.zip)
Run `Point-LIO`:
```
cd catkin_point_lio_unilidar
source devel/setup.bash
roslaunch point_lio_unilidar mapping_unilidar.launch
```
Play the dataset you downloaded:
```
rosbag play unilidar-2023-09-22-12-42-04.bag
```
After completion of the run, all cached pointcloud map will be saved to the following path:
```
catkin_point_lio_unilidar/src/point_lio_unilidarPCD/scans.pcd
```
You can use the `pcl_viewer` tool to view this pcd file:
```
pcl_viewer scans.pcd
```
## Version History
### v1.0.0 (2023.09.22)
- Adapt `Point-LIO` for `Unitree Lidar L1`
- Upload codes and dataset
### v1.0.1 (2023.10.08)
- Add video demo
### v1.0.2 (2023.11.03)
- Update launch file in `README.md`