Skip to content

A robust algorithm for point cloud registration, using Graduated Non-Convexity and a Geman-McClure robust loss function to handle high outlier rates.

Notifications You must be signed in to change notification settings

iit-DLSLab/SANDRO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SANDRO: A Robust Solver with a Splitting Strategy for Point Cloud Registration

Overview

SANDRO (Splitting strategy for point cloud Alignment using Non-convex anD Robust Optimization) is a novel algorithm for point cloud registration. It integrates an Iteratively Reweighted Least Squares (IRLS) framework with a Graduated Non-Convexity (GNC) approach and a Geman-McClure robust loss function to handle high outlier rates and skewed outlier distributions.

A key feature of SANDRO is its splitting strategy, which partitions the point cloud into smaller subsets to reduce bias from symmetrical outliers and improve convergence. This technique allows SANDRO to handle complex registration problems that often cause failures in traditional methods.

Unlike traditional methods that struggle with point cloud symmetries and high outlier rates, SANDRO achieves superior accuracy and robustness.

[Paper] [arXiv]

๐Ÿ”” Updates

  • [12/2025] Install instructions and demo now available!

  • [05/2025] The paper has been accepted to ICRA 2025

๐Ÿ”ง Installation

SANDRO depends on Open3D, which includes native (C++/OpenGL) components. For this reason, Conda is the recommended installation method.

Recommended Installation (Conda)

1. Clone the repository

git clone https://github.com/iit-DLSLab/SANDRO.git
cd SANDRO

2. Create and activate the Conda environment

conda env create -f environment.yml
conda activate sandro

๐Ÿ“– Example: Open3D dataset

python3 demo.py

๐Ÿ“Œ Citation

If you use SANDRO in your research, please cite:

@INPROCEEDINGS{adlerstein2025sandro,
  author={Adlerstein, Michael and Virgolino Soares, Joรฃo Carlos and Bratta, Angelo and Semini, Claudio},
  booktitle={2025 IEEE International Conference on Robotics and Automation (ICRA)}, 
  title={SANDRO: A Robust Solver with a Splitting Strategy for Point Cloud Registration}, 
  year={2025},
  pages={11112-11118},
  doi={10.1109/ICRA55743.2025.11128360}
}

Maintainer

This repository is maintained by Joรฃo Soares.

About

A robust algorithm for point cloud registration, using Graduated Non-Convexity and a Geman-McClure robust loss function to handle high outlier rates.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages