MRPT
Umfassendes C++-Toolkit für mobile Robotik, SLAM und sensorbasierte Navigation
Lizenz
BSD-3-Clause
Überblick
Das Mobile Robot Programming Toolkit (MRPT) ist eine umfassende C++-Bibliothekssammlung für mobile Robotik mit Werkzeugen für SLAM, Computer Vision, Bewegungsschätzung, Hindernisvermeidung und Sensor-Schnittstellen. Mit über 12 Jahren Entwicklung bietet MRPT optimierte Implementierungen von Partikelfiltern, graphbasiertem SLAM, Kalman-Filtern und Navigationsalgorithmen sowie Sensor-Treiber für LIDAR, Kameras und GPS. Es enthält GUI-Werkzeuge zur Dataset-Visualisierung, Kartenerstellung und Echtzeit-Roboterbedienung.
Das Mobile Robot Programming Toolkit (MRPT) ist eine umfassende Open-Source-C++-Bibliothekssuite für Forschende und Entwickelnde im Bereich mobiler Robotik und Computer Vision. Es bietet einsatzbereite Implementierungen von SLAM-Algorithmen, 2D- und 3D-Raumtransformationen, SE(2)/SE(3)-Lie-Gruppenoperationen, Wahrscheinlichkeitsdichtefunktionen über Posen und Karten sowie Bayes-Inferenz-Werkzeuge einschließlich Kalman- und Partikelfiltern.
Neben seinen Kernbibliotheken liefert MRPT eigenständige GUI-Anwendungen für gängige Robotikaufgaben wie Kamerakalibrierung, Rohsensor-Loginspektion und Echtzeit-Kartenvisualisierung. Das Toolkit unterstützt von Haus aus eine breite Palette von Sensoren und Kartenrepräsentationen — für Forschungsprototypen ebenso wie für eingesetzte Systeme.
Mit über 12 Jahren aktiver Entwicklung wird MRPT über Ubuntu/Debian-Pakete, PPAs für Nightly-Builds, Windows-Installer und ROS/ROS-2-Pakete verteilt. Es bildet die Grundlage für das modulare SLAM-Framework MOLA und wurde in hunderten akademischen Publikationen der mobilen Robotik zitiert.
Warum es wichtig ist
MRPT ist eine der am längsten gepflegten Open-Source-Bibliotheken für mobile Robotik und bietet ein einheitliches C++-Framework, das den gesamten Stack von Sensor-Treibern bis zu SLAM-Algorithmen abdeckt. Über 12 Jahre kontinuierlicher Entwicklung und die Integration in das modulare MOLA-SLAM-Framework machen es zu einem grundlegenden Werkzeug in akademischer und angewandter mobiler Robotik.
Welches Problem es löst
Forschende und Entwickelnde im Bereich mobiler Robotik benötigen eine konsistente, gut getestete Bibliothek, die von Low-Level-Sensorhandling über Raumtransformationen und probabilistische Inferenz bis zu vollständigen SLAM-Pipelines reicht. MRPT erspart das Zusammenstückeln unterschiedlicher Bibliotheken, indem es all diese Fähigkeiten unter einem einzigen BSD-lizenzierten C++-Framework mit ROS-Integration bereitstellt.
Wichtigste Punkte
- Bietet mehrere vollständige SLAM-Implementierungen, einschließlich Partikelfilter- und EKF-Ansätze
- Enthält SE(2)/SE(3)-Lie-Gruppen-Repräsentationen, Kalman- und Partikelfilter für Bayes-Zustandsschätzung
- Liefert GUI-Anwendungen für Kamerakalibrierung, Datensatzinspektion und Visualisierung
- Verfügbar als ROS-1- und ROS-2-Pakete sowie Ubuntu/Debian-Systempakete
- Antrieb für das modulare MOLA-SLAM-Framework für großräumige Kartierungsanwendungen
Für wen
- Forschende in mobiler Robotik mit Bedarf an produktionsreifen SLAM-Implementierungen
- Entwickelnde autonomer Fahrzeuge mit Anforderung an Sensorfusions- und Lokalisierungsbibliotheken
- Promovierende, die probabilistische Robotik und Computer Vision untersuchen
- ROS-Entwickelnde, die gut integrierte C++-Robotik-Primitive suchen
Einschränkungen
- Große monolithische Codebasis mit vielen voneinander abhängigen Modulen kann Build-Zeiten verlängern
- Primär auf mobile Robotik fokussiert — nicht für Manipulation oder Beinroboter konzipiert
- Dokumentation umspannt viele Entwicklungsjahre, was das Auffinden aktueller Best Practices erschweren kann
- Python-Bindings existieren, aber C++ bleibt die primäre und vollständigste Schnittstelle