Funktionsweise eines autonomen Multikopters

Aktualisiert: Juni 8

Unser Blogbeitrag über die allgemeine Funktionsweise einer Drohne war zu High Level? Dann kommt hier die Vertiefung für Experten!


Ob in der Landwirtschaft, in der Logistik oder in der Industrie: Drohnen vereinfachen den Ablauf von arbeits- und zeitaufwendigen Prozessen, von denen so manche für den Menschen auch gefährlich werden können. Heutige Drohnen sind dabei fähig ihre Aufgaben vollkommen autonom, d.h. selbstständig, zu erledigen. Hierfür muss sich die Drohne jedoch verlässlich positionieren können bzw. ihre Position im Raum einhalten können. Externe Systeme wie GPS oder Optical Tracking sind für diese Aufgabe zu unzuverlässig.

Abbildung 1: Drohnenflug

Nur wie schafft es die Drohne ihre Position ohne Hilfe eines Piloten einzuhalten und welche Systeme helfen ihr dabei? Die Antwort liegt in einem ausgeklügelten Hardware Design, das optische Kameras und PMD-Kameras mit Infrarot- und Ultraschallsensoren verbindet. PMD-Kameras unterscheiden sich von optischen Kameras hinsichtlich ihrer Fähigkeit, mit Hilfe der Laufzeit des Lichts (englisch „time off light“, bzw. TOF, häufig auch als Synonym verwendet), jedem Pixel des so entstandenen Bildes eine Entfernung zuzuordnen. Durch die Kombination von Kameras und Sensoren, kann dann etwa eine genauere Zuweisung von Objekten stattfinden. Bevor wir uns aber die Einbettung dieser Systeme auf einer Drohne genauer anschauen, werfen wir zunächst einen kurzen Blick auf die zwei grundlegenden Suchalgorithmen, Breitensuche (Breadth-First-Search/BFS) und Tiefensuche (Depth-First-Stretegy/DFS), sowie die Konzepte des Suchsystems, die die Drohne nutzt, um Objekte richtig zu lokalisieren.


So funktioniert die Suche


Bei der Breitensuche werden zunächst alle Knoten bzw. Wegpunkte abgesucht, die dem Ausgangsobjekt am nächsten sind. Dies ist in Abbildung 1 veranschaulicht. Der Ausgangspunkt befindet dabei sich in der linken unteren Ecke.

Abbildung 2: Funktionsweise der Breitensuche

Im Gegensatz hierzu werden bei der Tiefensuche zunächst die Wegpunkte abgesucht, die am weitesten entfernt vom Ausgangsobjekt liegen. Es ergibt sich eine spiralförmige Wegpunktliste, wie sie in Abbildung 2 illustriert ist.


Abbildung 3: Funktionsweise der Tiefensuche

Nun stellt sich die Frage: Wie genau funktioniert die Suchimplementierung bei einem Kopter bzw. einer Drohne? Die Idee ist simpel, die Drohne sucht mit Hilfe einer, auf den Boden gerichteten Kamera den entsprechenden Suchbereich gemäß des ausgewählten Suchalgorithmus (BFS oder DFS) ab. Dabei spielen folgende Parameter eine signifikante Rolle:

1. Virtual Field of Vision (VFOV) - der Bereich, der mit Hilfe der Suchstrategie abgesucht wird.

2. Masking Area (MA) - der Minimale Abstand zwischen einem bereits identifizierten Objekt und einem weiteren Objekt, der notwendig ist, um Mehrfachlokalisationen desselben Objekts zu verhindern.

3. Field of View (FOV) - die von der Objekterkennungskamera abgedeckte Fläche.

Das Suchsystem der Drohne ist zudem in zwei Teilkonzepte aufgeteilt:

1. Objektsuche und 2. Flugsuche.


Die Objektsuche


Die Objektsuche hat die Aufgabe, die Anzahl und Positionen der Ziele zu bestimmen. Dafür werden die Ergebnisse der Objektlokalisation (Po) mit der der aktuellen Position der Drohne (Pq) vereint. Hinzu kommt die Größe COffset, der seitliche Versatz zwischen der tatsächlichen Position der Drohne und der angebrachten Kamera. Hierbei wird eine Liste mit bereits erkannten Objekten angelegt und bei Bedarf erweitert. Jede absolute Position eines neu lokalisierten Objekts (Pt) wird mit Hilfe der folgenden Formel berechnet:


Abbildung 4: Formel

Jede Position eines neu entdeckten Objekts wird mit den Positionen bereits erkannter Objekte verglichen. Das neu entdeckte Objekt wird nur in die Liste aufgenommen, wenn dieses sich nicht im MA eines bereits erkannten Objekts befindet.


Die Flugsuche


Was genau geschieht nun bei der Flugsuche? Die Flugsuche stellt sicher, dass der Quadrokopter mit seiner vordefinierte VFOV den kompletten Suchbereich mindestens einmal komplett absucht. Dabei wird am Anfang einmalig eine Liste mit Wegpunkten generiert, die während dem Flug nicht verändert wird. Die Wegpunkte sind abhängig von der jeweils gewählten Suchstrategie, dem Suchbereich und der VFOV.


Die Implementierung


Nun soll die bereits im vorherigen Abschnitt angekündigte Systemimplementierung der Hardware und Software vertieft werden.


Wir betrachten zunächst das Hardware Design der Drohne: Um die Flughöhe der Drohne zu bestimmen, wird eine Kombination aus Ultraschall-, Infrarot- und Luftdrucksensoren verwendet. Für eine zweidimensionale Positionierung der Drohne wird ein optischer Bewegungssensor genutzt. Die Höhensensoren, der Bewegungssensor und eine IMU sind mit einem Mikrokontroller verbunden, der sechs Freiheitsgrade für die Positionierung und eine Orientierungsschätzung berechnet. Für die Objekterkennung wird eine Kamera genutzt, die über eine USB-Verbindung mit dem Onboard-PC verbunden ist. Auch die PMD-Kamera ist über USB mit dem Onboard-PC verbunden.


Als nächstes werfen wir einen Blick auf das Software Design des Kopters. Die Software lässt sich in Software für den Mikrokontroller und Software für den Onboard-PC einteilen. Diese beiden Bereiche müssen separat betrachtet werden, da sie für unterschiedliche Aufgaben zuständig sind.


Der Mikrokontroller ist hauptsächlich für das Berechnen und Kontrollieren der Freiheitsgrade verantwortlich. Daneben ist der Mikrokontroller auch für das Ausüben der Flugsuche zuständig. Hierfür verarbeitet er eine Liste von Wegpunkten, die er vom Onboard-PC erhält.

Diese Liste berechnet der Onboard PC zunächst abhängig von der MA, der Suchstrategie, dem Suchbereich und der VFOV. Darüber hinaus ist der Onboard-PC für die Objektsuche zuständig. Um diese durchzuführen, erhält er vom Mikrokontroller fortlaufend jeweils nach 10 Millisekunden die aktuelle Position des Kopters. Der Onboard-PC führt daraufhin kontinuierlich mit einer Wiederholrate von 35 Millisekunden eine Objekterkennung durch. Über eine graphische Benutzeroberfläche (GUI) in Verbindung mit einem Remote-Desktop kann der autonome Kopter und die Objekterkennung gesteuert werden. Darüber hinaus kann das komplette System mit Hilfe dieser Benutzeroberfläche debuggt, kontrolliert, und evaluiert werden.


Abschließend betrachten wir die Funktionsweise der Objekterkennung und welche Parameter dabei eine wichtige Rolle spielen. Die implementierte Objekterkennung basiert auf OpenCV und der Hough-Transformation für die Erkennung von Kanten und Kreisen. Vor dem autonomen Flug der Drohne werden die Parameter des gesuchten Objekts über einen Referenzscan festgelegt. Bei einem Relevanzscan wird ein Bild vom Suchobjekt gemacht und automatisch die Parameter für die Suche dieses Objektes eingestellt. Parameter können Beispielsweise die Farbe, der Radius oder die Länge eines Objekts sein. Die eingescannten Daten werden automatisch vom System gespeichert. Ein erneutes einscannen wäre nur nötig, wenn sich Beispielsweise die Farbe oder die Größe des Suchobjekts ändert. Die Qualität der Objektsuche ist abhängig von der Belichtung, was dazu führen kann, dass bei einer Veränderung der Belichtungsverhältnisse ein neuer Scan notwendig wird.


Soweit alles klar? Wenn nicht, dann auf in die Kommentarspalte. Grundsätzlich gilt: es gibt keine dummen Fragen, nur dumme Antworten. Wer dennoch nicht öffentlich fragen möchte, erreicht uns aber auch immer per Mail.





56 Ansichten

Kontakt

​​

Drone-Expert

Moderator: Matthias
Admin: Diana, Paul

Telefon: +49 15123217074

info@drone-expert.de

diana@drone-expert.de

matthias@drone-expert.de

Datenschutzerklärung