MOLA
Framework modulare C++/ROS 2 per odometria LiDAR, SLAM e localizzazione
Licenza
- core: GPL 3.0
- some packages: BSD 3-Clause
Licenza mista: i moduli principali sono GPL-3.0, alcuni pacchetti sono BSD-3-Clause. Controllare i singoli file package.xml per i termini di licenza di ciascun pacchetto.
Panoramica
MOLA (Modular Optimization framework for Localization and mApping) è un moderno framework C++ e ROS 2 per costruire pipeline configurabili di odometria LiDAR, odometria LiDAR-inerziale (LIO) e SLAM. La sua architettura modulare consente a ricercatori e ingegneri di sostituire componenti, dai filtri per nuvole di punti ai rilevatori di chiusura dei loop, senza riscrivere l'intera pipeline. MOLA supporta più modalità operative, tra cui mappatura, sola localizzazione e SLAM completo, con capacità native di georeferenziazione per l'impiego nel mondo reale.
MOLA è un sistema modulare di localizzazione e mappatura costruito attorno a pipeline configurabili definite in YAML. Invece di offrire un'unica soluzione SLAM monolitica, MOLA permette di comporre pipeline a partire da moduli intercambiabili: motori di odometria LiDAR, stimatori dello stato, filtri per nuvole di punti, rilevatori di chiusura dei loop e rappresentazioni delle mappe. Il framework include mola_lidar_odometry per l'elaborazione LiDAR 3D, mp2p_icp per la registrazione e il filtraggio delle nuvole di punti e mola_state_estimation per la fusione dei sensori. Si integra nativamente con ROS 2 (Humble, Jazzy, Rolling) e può anche funzionare in modo autonomo. I casi d'uso dimostrati includono SLAM automobilistico (KITTI), inventario forestale, mappatura di interni con zaino, mappatura aerea da drone e documentazione di serre.
Perché è importante
La maggior parte dei sistemi SLAM è strettamente accoppiata: cambiare un componente significa riprogettare l'intero sistema. MOLA rompe questo schema con un design davvero modulare, in cui ogni componente (odometria, ICP, chiusura dei loop, formato della mappa) può essere configurato o sostituito in modo indipendente tramite file YAML. Questo lo rende pratico sia per la ricerca (testare rapidamente nuovi algoritmi in una pipeline reale) sia per la produzione (sostituire componenti per adattarsi a specifiche configurazioni di sensori). Pubblicato su The International Journal of Robotics Research (2025), rappresenta un approccio maturo e convalidato accademicamente al problema dello SLAM.
Il problema che risolve
I framework SLAM esistenti sono in genere monolitici: i ricercatori che vogliono testare un nuovo algoritmo di chiusura dei loop o un filtro per nuvole di punti devono fare il fork dell'intera base di codice e aggirare componenti interni strettamente accoppiati. MOLA fornisce interfacce pulite tra le fasi della pipeline, così i singoli componenti possono essere sviluppati, testati e sostituiti in modo indipendente.
Punti chiave
- Pipeline modulari configurate in YAML: si sostituiscono odometria LiDAR, ICP, chiusura dei loop e componenti della mappa senza modificare il codice
- Supporto nativo per ROS 2 (Humble, Jazzy, Rolling) oltre al funzionamento autonomo
- Supporta le modalità di odometria LiDAR, odometria LiDAR-inerziale, SLAM completo e sola localizzazione
- Georeferenziazione integrata per sistemi di coordinate del mondo reale
- Pubblicato su IJRR 2025 con benchmark completi rispetto allo stato dell'arte
A chi si rivolge
- Ricercatori di robotica che lavorano su SLAM e localizzazione
- Ingegneri di robotica sul campo che mettono in funzione la navigazione basata su LiDAR
- Sviluppatori di veicoli autonomi che necessitano di pipeline di odometria configurabili
- Professionisti del rilievo e della mappatura che usano piattaforme LiDAR mobili
Limiti
- Incentrato sul LiDAR: nessun supporto nativo per lo SLAM visivo (pipeline solo con telecamera)
- La base di codice C++ richiede familiarità con i sistemi di build CMake/colcon
- La documentazione presuppone la conoscenza di ROS 2
- La licenza mista GPL-3.0/BSD-3-Clause può complicare l'uso commerciale dei moduli GPL