Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

MRPT

Toolkit C++ completo per robotica mobile, SLAM e navigazione basata su sensori

Licenza

BSD-3-Clause

Panoramica

Il Mobile Robot Programming Toolkit (MRPT) è una raccolta completa di librerie C++ per la robotica mobile, con strumenti per SLAM, visione artificiale, stima del moto, evitamento degli ostacoli e interfacce verso i sensori. Con oltre 12 anni di sviluppo, MRPT offre implementazioni ottimizzate di filtri a particelle, SLAM basato su grafi, filtri di Kalman e algoritmi di navigazione, insieme a driver per sensori LiDAR, telecamere e GPS. Include strumenti con interfaccia grafica per la visualizzazione dei dataset, la costruzione di mappe e il funzionamento del robot in tempo reale.

Il Mobile Robot Programming Toolkit (MRPT) è una suite completa di librerie C++ open source pensata per ricercatori e sviluppatori che lavorano nella robotica mobile e nella visione artificiale. Fornisce implementazioni pronte all'uso di algoritmi SLAM, trasformazioni spaziali 2D e 3D, operazioni sui gruppi di Lie SE(2)/SE(3), funzioni di densità di probabilità su pose e mappe, e strumenti di inferenza bayesiana tra cui filtri di Kalman e filtri a particelle.

Oltre alle librerie di base, MRPT include applicazioni autonome con interfaccia grafica per compiti robotici comuni come la calibrazione delle telecamere, l'ispezione dei log grezzi dei sensori e la visualizzazione delle mappe in tempo reale. Il toolkit supporta subito un'ampia gamma di sensori e di rappresentazioni delle mappe, il che lo rende pratico sia per la prototipazione di ricerca sia per i sistemi in esercizio.

Con oltre 12 anni di sviluppo attivo, MRPT è distribuito tramite pacchetti Ubuntu/Debian, PPA per le build notturne, installer per Windows e pacchetti ROS/ROS2. È la base del framework SLAM modulare MOLA ed è stato citato in centinaia di pubblicazioni accademiche nella comunità della robotica mobile.

Perché è importante

MRPT è una delle librerie open source di robotica mobile con la storia più lunga, e offre un framework C++ unificato che copre l'intero stack, dai driver dei sensori agli algoritmi SLAM. Oltre 12 anni di sviluppo continuo e l'integrazione nel framework SLAM modulare MOLA ne fanno uno strumento fondamentale nella robotica mobile accademica e applicata.

Il problema che risolve

Ricercatori e sviluppatori di robotica mobile hanno bisogno di una libreria coerente e ben collaudata che copra la gestione dei sensori a basso livello, le trasformazioni spaziali, l'inferenza probabilistica e pipeline SLAM complete. MRPT elimina la necessità di mettere insieme librerie eterogenee offrendo tutte queste funzionalità in un unico framework C++ con licenza BSD e integrazione con ROS.

Punti chiave

  • Fornisce diverse implementazioni SLAM complete, tra cui approcci basati su filtro a particelle e su filtro di Kalman esteso (EKF)
  • Include rappresentazioni dei gruppi di Lie SE(2)/SE(3), filtri di Kalman e filtri a particelle per la stima bayesiana dello stato
  • Include applicazioni con interfaccia grafica per la calibrazione delle telecamere, l'ispezione dei dataset e la visualizzazione
  • Disponibile come pacchetti ROS 1 e ROS 2 e come pacchetti di sistema Ubuntu/Debian
  • È alla base del framework SLAM modulare MOLA per applicazioni di mappatura su larga scala

A chi si rivolge

  • Ricercatori di robotica mobile che hanno bisogno di implementazioni SLAM di qualità da produzione
  • Sviluppatori di veicoli autonomi che necessitano di librerie per la fusione dei sensori e la localizzazione
  • Dottorandi e studenti magistrali che studiano robotica probabilistica e visione artificiale
  • Sviluppatori ROS che cercano primitive robotiche C++ ben integrate

Limiti

  • Una codebase grande e monolitica con molti moduli interdipendenti può allungare i tempi di build
  • Orientato principalmente alla robotica mobile: non è pensato per la manipolazione o la locomozione con gambe
  • La documentazione abbraccia molti anni di sviluppo, il che può rendere più difficile trovare le buone pratiche attuali
  • Esistono binding Python, ma il C++ resta l'interfaccia principale e più completa

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.