MOLA
Framework modular em C++/ROS 2 para odometria LiDAR, SLAM e localização
Licença
- core: GPL 3.0
- some packages: BSD 3-Clause
Licenciamento misto: os módulos principais são GPL-3.0 e alguns pacotes são BSD-3-Clause. Os termos de licença de cada pacote constam nos respectivos arquivos package.xml.
Visão geral
MOLA (Modular Optimization framework for Localization and mApping) é um framework moderno em C++ e ROS 2 para construir pipelines configuráveis de odometria LiDAR, odometria LiDAR-inercial (LIO) e SLAM. Sua arquitetura modular permite que pesquisadores e engenheiros troquem componentes — de filtros de nuvem de pontos a detectores de fechamento de loop — sem reescrever todo o pipeline. MOLA suporta múltiplos modos de operação, incluindo mapeamento, apenas localização e SLAM completo, com capacidades nativas de georreferenciamento para implantação no mundo real.
MOLA é um sistema modular para Localização e Mapeamento construído em torno de pipelines configuráveis definidos em YAML. Em vez de fornecer uma solução SLAM monolítica única, MOLA permite compor pipelines a partir de módulos intercambiáveis: motores de odometria LiDAR, estimadores de estado, filtros de nuvem de pontos, detectores de fechamento de loop e representações de mapa. O framework inclui mola_lidar_odometry para processamento de LiDAR 3D, mp2p_icp para registro e filtragem de nuvens de pontos, e mola_state_estimation para fusão de sensores. Ele se integra nativamente com ROS 2 (Humble, Jazzy, Rolling) e também pode ser executado de forma independente. Casos de uso demonstrados incluem SLAM automotivo (KITTI), inventário florestal, mapeamento interno com mochila, mapeamento aéreo com drones e documentação de estufas.
Por que importa
A maioria dos sistemas SLAM é fortemente acoplada — alterar um componente significa reestruturar todo o sistema. MOLA quebra esse padrão com um design verdadeiramente modular, onde cada componente (odometria, ICP, fechamento de loop, formato de mapa) pode ser configurado ou substituído independentemente via arquivos YAML. Isso o torna prático tanto para pesquisa (testar rapidamente novos algoritmos em um pipeline real) quanto para produção (trocar componentes para corresponder a configurações específicas de sensores). Publicado no The International Journal of Robotics Research (2025), ele representa uma abordagem madura e academicamente validada para o problema de SLAM.
Problema que resolve
Frameworks SLAM existentes são tipicamente monolíticos — pesquisadores que desejam testar um novo algoritmo de fechamento de loop ou filtro de nuvem de pontos precisam fazer fork de toda a base de código e modificar componentes internos fortemente acoplados. MOLA fornece interfaces limpas entre os estágios do pipeline para que componentes individuais possam ser desenvolvidos, testados e substituídos independentemente.
Pontos principais
- Pipelines modulares configurados por YAML — troque odometria LiDAR, ICP, fechamento de loop e componentes de mapa sem alterar código
- Suporte nativo a ROS 2 (Humble, Jazzy, Rolling) além de operação independente
- Suporta odometria LiDAR, odometria LiDAR-inercial, SLAM completo e modos apenas de localização
- Georreferenciamento integrado para sistemas de coordenadas do mundo real
- Publicado no IJRR 2025 com benchmarks abrangentes em comparação com o estado da arte
Para quem é
- Pesquisadores de robótica trabalhando com SLAM e localização
- Engenheiros de robótica de campo implantando navegação baseada em LiDAR
- Desenvolvedores de veículos autônomos que precisam de pipelines de odometria configuráveis
- Profissionais de levantamento e mapeamento usando plataformas LiDAR móveis
Limitações
- Focado em LiDAR — sem suporte nativo a SLAM visual (pipelines apenas com câmera)
- Base de código em C++ requer familiaridade com sistemas de build CMake/colcon
- A documentação pressupõe conhecimento de ROS 2
- Licenciamento misto GPL-3.0/BSD-3-Clause pode complicar o uso comercial dos módulos GPL