This repository implements a gravity-aligned RANSAC-based plane segmentation algorithm that integrates IMU data to improve plane fitting performance. The key idea is to guide the RANSAC plane hypothesis generation using the gravity direction estimated from an IMU, which stabilizes and accelerates convergence in real-world applications like SLAM or robotics.
The red part is the segmented plane.
- Plane segmentation from 3D point clouds using RANSAC
- Gravity direction estimation from IMU data
- Accelerated plane hypothesis generation using gravity alignment
- Robust to noise and partial surfaces
- No dependency on ROS – implemented with Eigen, STL, and PCL
- C++14 or later
- Eigen3
Install Eigen on Ubuntu:
sudo apt install libeigen3-dev
mkdir build
cd build
cmake ..
make -j
- This repo has an example script for realsense camera.
- The example script segments the Z-plane
cd build
./tests/test_z_plane