TL;DR:
In diesem Projekt entsteht eine Simulation, in der ein Hexacopter ohne GPS durch eine virtuelle Lagerhalle fliegt und sie per LiDAR als Punktwolke kartiert. Das System läuft auf einem normalen Laptop mit offener Software und ist so aufgebaut, dass es sich später auf eine echte Drohne übertragen lässt.
Eine Drohne, die in einer Halle ohne GPS-Empfang autonom fliegen soll, muss selbst herausfinden, wo sie ist. Genau dieses Problem löst eine Drohnensimulation mit PX4: Darin fliegt ein Hexacopter durch eine virtuelle Lagerhalle und kartiert sie per LiDAR, ohne dass je echte Hardware abheben muss.
Draußen übernimmt ein Satellitensignal die Lokalisierung. In Innenräumen fällt es weg, und die Drohne muss sich allein an ihrer Umgebung orientieren. Das auf echter Hardware zu entwickeln, ist teuer und riskant: Jeder Absturz kostet Geld und Zeit. In der Simulation lässt sich derselbe Versuch dagegen beliebig oft unter identischen Bedingungen wiederholen, und das ganze System läuft auf einem normalen Laptop.
Ein Hexacopter navigiert per LiDAR-SLAM durch die simulierte Lagerhalle „Jetty World" (Gazebo Harmonic).
Die Simulationsumgebung
Die Umgebung besteht aus drei Programmen, die zusammenarbeiten.
PX4 ist der Autopilot. Er hält die Drohne stabil in der Luft und steuert die sechs Motoren. Entscheidend ist, dass hier dieselbe Software läuft wie später auf einer echten Drohne. Sie merkt nicht, ob ihre Sensordaten aus der Simulation oder von echter Hardware kommen. Dadurch lässt sich das System mit wenig Aufwand auf eine reale Drohne übertragen.
Gazebo ist die simulierte Welt. Es berechnet die Physik, also wie die Drohne auf Schub und Schwerkraft reagiert, und erzeugt die Sensordaten von LiDAR, Lagesensor und Kamera. Diese Daten sind bewusst nicht perfekt. Gazebo mischt ein realistisches Rauschen unter die Messwerte, damit der Test etwas aussagt und nicht an idealisierten Daten scheitert.
ROS 2 verbindet alles. Es führt die eigenen Programme aus und sorgt dafür, dass die Sensordaten dort ankommen, wo sie gebraucht werden.
-

Die Lagerhalle „Jetty World“ in Gazebo. Wände, Regale und Container geben dem LiDAR genug Struktur zum Kartieren.
Wie die Drohne aufgebaut ist
Die simulierte Drohne ist ein Hexacopter, also ein Multikopter mit sechs Rotoren. Sie wiegt zwei Kilogramm und ist einer realen Drohne der Hochschule Offenburg nachgebaut.
Die sechs Rotoren sitzen sternförmig um die Mitte. Drei drehen im Uhrzeigersinn, drei dagegen. Das ist kein Zufall: Jeder drehende Rotor erzeugt ein Gegendrehmoment, und nur wenn sich diese Momente aufheben, dreht sich die Drohne nicht unkontrolliert um die eigene Achse. PX4 kennt die Position und Drehrichtung jedes Motors und verteilt den gewünschten Schub entsprechend auf alle sechs.
Für die Kartierung sind zwei Sensoren wichtig. Der LiDAR tastet die Umgebung mit 16 übereinanderliegenden Laserebenen rundum ab und liefert zehnmal pro Sekunde eine Punktwolke. Der Lagesensor, kurz IMU, misst 250-mal pro Sekunde Beschleunigung und Drehrate. Eine Kamera ist zusätzlich an Bord, wird für die Karte aber nicht gebraucht.


Die reale Referenzdrohne der Hochschule Offenburg (links) und das nachgebaute Simulationsmodell (rechts). Der Hauptunterschied ist der LiDAR, den nur das Simulationsmodell schon trägt.
Punktwolken und die Karte
Eine Punktwolke ist eine Menge gemessener Punkte im Raum. Bei jeder Umdrehung schickt der LiDAR seine Laserstrahlen in die Runde und misst, wie weit die nächste Oberfläche entfernt ist. Aus 16 Ebenen mal 360 Messungen entstehen so rund 5.760 Punkte pro Scan, die Wände, Regale und Container nachzeichnen.
Aus diesen Scans baut die Drohne ihre Karte. Das Verfahren heißt SLAM, weil die Drohne sich lokalisiert und gleichzeitig kartiert. Allein über den Lagesensor würde ihre Positionsschätzung mit der Zeit wegdriften, weil sich kleine Messfehler aufsummieren. Deshalb gleicht sie jeden neuen LiDAR-Scan mit dem bisher Gesehenen ab und korrigiert ihre Position laufend. So wächst Stück für Stück eine zusammenhängende Punktwolkenkarte der Halle, während die Drohne fliegt.
Konkret kommt dafür RKO-LIO zum Einsatz, ein offenes Verfahren der Universität Bonn (Photogrammetry & Robotics Lab). Es arbeitet mit einer einzigen Einstellung über sehr verschiedene Fahrzeuge hinweg und braucht keine aufwändige Feinjustierung. Das passt zum Ziel, das System später ohne großen Aufwand auf echte Hardware zu bringen.
-

Die Punktwolkenkarte, die während des Flugs entsteht. Die Drohne ist als Zylinder mit Spitze in Blickrichtung dargestellt.
Was die Drohnensimulation mit PX4 leistet
Im Versuch lief die gesamte Kette zusammen. Die Drohne ließ sich in alle Richtungen steuern, alle Sensordaten kamen stabil an, und die Karte baute sich sauber zur Flugbewegung auf. Für den Einstieg in autonome Drohnen braucht es damit keine teure Hardware. Ein Laptop und einige offene Softwarebausteine genügen, um eine Drohne durch eine Halle fliegen zu lassen und die Kartierung in Echtzeit zu beobachten.
Code und Werkzeuge
Der vollständige Code des Projekts steht offen auf GitHub: https://github.com/TheKnightOfLuck/drohne-px4
Verwendete Open-Source-Bausteine: PX4 (https://px4.io), Gazebo (https://gazebosim.org), ROS 2 (https://docs.ros.org) und RKO-LIO vom Photogrammetry & Robotics Lab der Universität Bonn (https://github.com/PRBonn/rko_lio).
Dieser Blog-Artikel ist im Rahmen einer Studienarbeit entstanden.
Hochschule Offenburg
Thesistitel: „Evaluation und Implementierung einer Flugregelungssoftware für vollautonome Drohnen“