Vektorisierung von Raumplänen
Das Projekt implementiert eine halbautomatische Vektorisierung von Raumplänen, um die autonome Navigation von Robotern zu unterstützen.
Ausgangslage
Autonome Roboter spielen in der Gesellschaft eine immer wichtigere Rolle. Obwohl soziale Roboter bereits auf dem Markt verfügbar sind, findet ihre Anwendung in Organisationen bisher nur begrenzt statt, da ihre technische Reife noch nicht ausreichend ist.
Für die autonome Navigation verwendet der Roboter LiDAR Sensoren und Kameras. Mithilfe dieser Sensoren erstellt der Roboter einen Plan der Umgebung und verwendet diesen für die Navigation. Diese Pläne sind jedoch meist unvollständig, da in Gebäuden mit Glaswänden und Glas-fassaden die verwendeten Laser-Distanzmessgeräte durch das Glas hindurchschauen
Zielsetzung
In diesem Projekt wird der Vorgang und die Methoden zur halbautomatischen Vektorisierung von Raumplänen beschrieben und implementiert. Spezielle Herausforderungen hierbei sind: das Entfernen von Bildrauschen, Kombination aus Benutzerinput und des automatisierten Vorgangs, Parametrisierung um verschiedene Raumpläne zu Vektorisieren.
Eingezeichnete Wände
In diesem Bild werden die Aussen- und Innenwände, die der Benutzer eingezeichnet hat, angezeigt.
Detektierte Polygone
Bei der Prozessierung des linken Bildes wurden die obigen Polygone beziehungsweise Räume detektiert.
Post-Processing
Der Benutzer kann nachträglich die verarbeiteten Linien bearbeiten. Er kann diese entfernen oder die Ecken mittels Drag-and-Drop verschieben.
Ergebnisse
Das Projekt hat gezeigt, dass eine halbautomatische Vektorisierung von Raumplänen mithilfe von Algorithmen und Benutzerinteraktion möglich ist. Durch die Kombination von automatisierten Methoden wie Edge Detection, Hough-Transformation und RANSAC sowie benutzerdefinierten Eingaben konnte ein effizienter Workflow entwickelt werden.
- Raumplan kann vom Benutzer geladen, rotiert oder vergrössert werden
- Der Benutzer kann Innen- und Aussenwände mit der Maus in den Raumplan einzeichnen
- Die Zeichnung und das Bild werden prozessiert, um Wände semi-automatisch zu erkennen
- Die prozessierten Linien können als SVG exportiert werden.
- Vorher geladene Bilder können einfach mit der Seitenleiste erneut geladen werden.
Technische Schlüsselbegriffe
- Python-BibliothekenPIL, cv2, numpy
- BildverarbeitungEdge Detection, Contour Detection, Hough-Transformation, RANSAC
- GUI-Entwicklungtkinter, GUI
Team
Tim Hofmann
Riccardo Landolfo
Betreuer
Christoph Stamm