Positionserkennnung

Dem Copter wird über einen Zeigestab seine relative Position übermittelt. Am Zeigestab sind 3 Leds (RGB = rot, grün, blau) angebracht. Die Leds bilden ein gleichseitiges Dreieck [Bild].

Anordnung: Rot = vorne links, blau = vorne rechts, grün = hinten Mitte.

Der Copter wertet über eine Kamera die Position der 3 Leds aus und berechnet aus diesen Werten seine Steuerbefehle:

  • Roll: Drehung um die Längsachse
  • Pitch: Drehung um die Querachse
  • Yaw: Drehung um die Hochachse
  • Throttle: „Gas“, Copter steigt oder sinkt

 

Bild aus: https://technikblog.ch/2013/03/projekt-multicopter-wie-funktioniert-ein-multicopter

 

Idealposition

Der Copter versucht, durch Steuerbefehle sich so zu positionieren, dass der

  • Mittelpunkt der Punkte (R,G, B) sich in der Mitte des Kamerabildes befindet,
  • die Punkte R und B den Abstand n haben und
  • der Punkt G sich in der Mitte der Gerade RB befindet:

Copterdrehung

Eine Drehung des Bildes resultiert aus der Schräglage entweder des Copters oder des Zeigestabs. Diese Drehung muss nicht ausgeglichen werden, da sie eine Folge der Copter-Positionsregelung (Roll) ist:

Versatz in Y-Richtung

Hier befindet sich der Copter zwar in der Idealposition. Allerdings ist die Kamera nicht optimal auf den Copter ausgerichtet. Optional kann daher die Kamera über ein Servo in ihrer Längsachse gedreht werden, um diesen Versatz zu korrigieren.

 

Versatz in X-Richtung

Dieser Versatz bedeutet, dass der Copter in seiner Hochachse nicht optimal in Richtung des Zeigestabs positioniert ist. Es muss eine Korrektur des Yaw Wertes erfolgen.

 

Abstand  RB entspricht nicht dem Idealabstand n

Dies bedeutet, dass der Copter zu nah (Abstand RB > n) oder zu weit entfernt (Abstand RB < n) vom Zeigestab positioniert ist.  Dies muss über den Pitch-Wert korrigiert werden.

Punkt G befindet sich nicht auf der Gerade RB

Ist G nicht auf der Gerade RB positioniert, dann ist der Copter zu hoch (G oberhalb von Gerade RB) oder zu tief (G unterhalb Gerade RB) positioniert. Dies muss über eine Änserung des Throttle korrigiert werden.

Punkt G befindet sich nicht in der Mitte der Strecke RB

Befindet sich G auf der Gerade RB näher an B, dann muss die Copterposition nach links korrigiert werden. Ist G näher an R, wird nach rechts korrigiert. Dies erfolgt durch eine Modifikation des Roll Wertes.

Gemischte Korrekturen

In der Praxis werden alle oben genannten Korrekturen gleichzeitig auftreten:

Berechnungspraxis

jkkjgkj

 

Erneuter Tausch der Fernbedienung

Am Anfang des Projektes sind wir von der Graupner-jr mx12(35MHZ) auf die FlySky FS-i6(2.4GHZ) umgestiegen, wie schon in einem vergangen Beitrag beschrieben. Nun haben wir erneute die Fernbedienung gewechselt. Entschieden wurde sich für die FrSky Taranis Q X7(2.4GHZ). Dies lag an folgenden Dingen:

  • Unsere letzte Fernbedienung bzw. Empfänger hatten nicht genug Kanäle, sechs um genau zu sein. Die ersten vier Kanäle wurden schon für den ganz normalen Flug gebraucht(Throttle, Pitch usw.). Ein weiterer für das Armen. So blieb uns nur ein Kanal übrig für GPS-Tests, das Ändern von Flugmodi oder andere Tests.
  • Die neue Fernbedienung & Empfänger bieten auch Funktionen, wie das Zurückschicken von der Akkuspannung. Das ermöglicht uns abzulesen, ob der Akku bald seine untere Zellspannung erreicht und gewechselt werden muss.
  • All dies und noch deutlich mehr ist mit dieser Fernbedienung möglich und sie war deshalb eine sehr gute Ergänzung zu unserem Projekt.

Projekt Fortschritt(Stand 1.09.2017)

Was schon fertig ist :

  • Ein QuadCopter, der gesteuert von einer Fernbedienung sehr stabil und sicher fliegt
  • Eine grobe App, welche Farbpunkte(LEDs) auf einem Stab erkennen kann
  • Eine serielle Verbindung zwischen dem Handy(der App) und dem Quadcopter

Was noch gemacht werden muss :

  • Kontrolle des Quadcopters über das Handy(die App), um den Quadcopter an die richtige Stelle zu fliegen

3D-Druck und 3D-Design

Da die Technik des 3D-Drucks immer weiter voranschreitet und auch zugänglicher wird, wird sie immer attraktiver. Man kann mit den 3D-Druck nicht nur sehr einfach Prototypen erstellen, sondern auch ein durchaus funktional Produkt herstellen. Natürlich funktioniert nichts ohne ein einfache Idee, doch sobald man anfängt ein 3D-Modell zu erstellen, fällt einem immer mehr ein. Um gut in ein solches CAD-Programm einzusteigen, ist es gut eine Idee so umzusetzen, wobei man alles beachtet und nicht durch Schwierigkeiten oder fehlendes Wissen des Programmes diese Idee vereinfacht. Wenn man nämlich genau das umsetzt was man sich vorstellt, lehrt man schneller als gedacht das Programm und seine Grundfunktionen. Hierbei zählt wie bei vielem „Übung macht den Meister“. Das tolle daran ist,dass man nicht jedes Teil z.B. aus Holz schneiden muss, sondern, dass man sehr einfach Dinge ändern kann, bevor man sie druckt.
Ich selbst bin totaler Anfänger, aber habe mich schon immer für das Thema interessiert und mit diesem Jufo Projekt trifft sich das sehr gut. Ich empfehle jedem, der sich dafür interessiert, das Programm Autodesk 123d Design. Dieses Programm lässt sich schnell runterladen und man kann damit sofort anfangen. Es bietet eine Fülle an Funktionen, welche logisch sortiert sind, was das designen einfacher macht. Ich habe selber damit angefangen, doch bin später auch Autodesk Fusion 360 umgestiegen. Fusion 360 bietet meiner Meinung nach mehr Funktionen zum Veranschaulichen des Projektes und zur Strukturierung.

Was für einen sicheren Drohnen-Flug beachtet werden muss

Für einen sicheren Flug mit einer Drohne sollte folgendes beachtet werden:

  1. Die Drohne sollte mit einem Schalter an der Fernbedienung armed bzw gedisarmed werden können, damit die Motoren abgeschaltet werden können, wenn es eine Gefahr gibt
  2. Die Akkus der Fernbedienung sollten voll geladen sein.
  3. Die Propeller der Drohne sollten nicht beschädigt sein, das heißt nach einem Crash sollten immer neue Propeller verwendet werden, damit sie nicht während dem Flug zerbrechen.

Schwierigkeiten mit dem Fliegen mit der Fernsteuerung

Bevor wir uns die neue Fernbedienung bestellt hatten, kamen mehrere Fehler auf welche ich hier erläutern werde:

(channel mapping bild zufügen)Wer sich je schon mal mit Modellbau auseinander gesetzt hat, weiß, dass man sein Gefährt erst „armen“ muss. Das bedeuten, dass man das Gerät scharfstellen muss damit es sich überhaupt bewegen kann. Standardmäßig kann man Dies machen, indem man den Throttlestick(links unten nach oben) nach unten legt und den Yawstick(links links und rechts) nach rechts legt. Da unsere alte Fernbedienung nicht so sensitiv war(also die Endpunkte nicht sehr hoch / tief waren), konnten wir den Quadcopter nicht armen ohne den Endpunkt mithilfe eines kleinen Schalters an der Fernsteuerung nach ganz links zu verschieben. Wir wollten die Drohne natürlich auch disarmen können, doch dies ging auch nicht ohne den Endpunkt des Yawsticks ganz nach rechts zu stellen und dann diesen Stick auch nach rechts zu halten. Dies schien einfach zu beheben indem man einen neunen reciever kaufe(der alte reciever hatte nur 4 channel). Leider war die Fernsteuerung so veraltet, dass sie noch auf 35Mhz lief und somit ein neuer reciever schwer zu finden war. Also entscheiden wir uns eine neune Fernbedienung zu erwerben welche auf 2.4Ghz laufen würde und für diese man auch viel einfacher reciever bekommen konnte. Mit mehr Channeln könnten wie einfach das armen und disarmen auf einen Channel mappen und per Schalter den Quadcopter disarmen und armen.

-Ein weiter Grund warum wir mehr Channel brauchte war, dass wir die Flugmodi umschalten wollten. Der standardmäßige Flugmodus ist Acro, welcher sich von Acrobatic ableitet. Dieser Modus ist sehr ungeeignet für Anfänger, da er sehr wilde Flugmanöver hervorruft. Mit der neuen Ferbedienung haben wir also in Betaflight(ein Programm um den Flugcontroller einzustellen) eingestellt das, wenn ein Schalter umgelegt ist, der Angel Modus eingeschalten ist(Mehr Informationen hierzu).

-Motoren drehen sich nicht(bei Tests als auch beim Flug)

Software Update 1.4.2017

Für die Erkennung des Markers wird ArUco mit OpenCV verwendet, weil es GPU-Beschleunigt auf einem Computer laufen kann und eine 3D Marker Erkennung bietet. Die Drohne soll über einen PCTx mit dem Computer gesteuert werden.

Schwierigkeiten:

  • OpenCV .lib Dateien nicht in der Version 3.2.0 vorhanden
  • .lib Dateien in der Version 2.4.13 nicht verwendbar für den Compiler von Visual Studio 2014

OpenMV habe ich noch nicht geschafft, weil die Erkennung von Markern ist nicht gut Dokumentiert ist (Umwandlung von OpenCV Haarcascades in Haarcascades, die mit OpenMV kompatibel sind)

Bestellte Teile

Rahmen Frame 450 Glass Fiber 13,23 € 295 g
Flugcontroller http://www.banggood.com/Upgrade-NAZE32-F3-Flight-Controller-Acro-6-DOF-Deluxe-10-DOF-for-Multirotor-Racing-p-1010232.html?rmmds=search 29.99 € 10 g
Naze32 rev6 with GPS 10,39 € 8 g
Motoren Racestar 2212 920KV 27,32 € 200 g
Propeller 1045 3,08 € 28 g
ESC´s 4x FVT LittleBee 20A 40,66 € 24 g
Batterie Eachine 11.1V 2200mh 3S 16,54 € 180 g
Batterie Halter 5x Battery Tie Down Strap 1,60 €

Fernbedienung – Flysky fs-i6 2.4g

Reciever zusätzlich – FS-iA6B Empfänger PPM Output