EM2018WSP05/Pobleme und offene Punkte

Aus Verteilte Systeme - Wiki
Wechseln zu: Navigation, Suche

Hardware Probleme

Platzproblem innerhalb des Drohnenkörpers:

Der kleine Innenraum des Drohnenkörpers führte im Laufe des Projektes mehrfach zu Problemen. Da der Raspberry Pi Zero, die IMU und der erste Aufbau der Motorsteuerung nicht zusammen in den Körper gepasst haben konnte die Motorsteuerung mit montierten Propellern nicht getestet werden. Der Drohnenkörper konnte nicht geschlossen werden und damit konnte auch das Flugverhalten der Drohne nicht untersucht werden. Allgemein hat dieses Problem den Gesamtfortschritt des Projektes am stärksten beeinflusst denn die nächsten Wochen wurden in die Lösungsfindung und das anschließende Entwickeln der Platine investiert. (gelöst)


Problem der Spannungseinbrüche:

Als die Drohne mit dem platzsparendem Board geschlossen werden konnte war es immer noch nicht möglich das Flugverhalten der Drohne zu testen, weil die Motoren mit montierten Propellern starke Spannungseinbrüche der Versorgungsspannung verursachten. Diese Spannungseinbrüche führten dazu, dass der Raspberry Pi abstürzt und die Propeller sich häufig gar nicht oder nur ganz kurz drehten. Nach mehrfachem Testen stellte sich heraus, dass ein Akku stabilere Versorgungsspannungen lieferte als die anderen. Das ist auf qualitative Schwankungen dieser günstigen Akkus zurückzuführen. Um den physikalischen Widerstand der Propeller zusätzlich zu lindern entschied man sich dafür die Propeller langsam anlaufen zu lassen bevor die Motoren stark beschleunigen. Weitere Lösungsansätze wären die Integration großer Kondensatoren, welche die Spannung des System glätten und die zeitliche Verzögerung der Motorschaltungen. Letzteres würde bewirken, dass nicht alle Motoren gleichzeitig stark beschleunigen, was wiederum die Spannung ein wenig schonen sollte. Aus Zeitmangel wurden diese Lösungsansätze noch nicht umgesetzt. (teilweise offen)

Software Probleme

Magnetometer nicht auslesbar:

Der integrierte Magnetometer Sensor der IMU konnte nicht erreicht werden. Laut Datenblatt muss ein Beipass per I²C aktiviert werden über den man den Zugang zum Magnetometer erlangt und dessen Daten ausliest. Mit der im Projekt verwendeten i2c_smbus API war es jedoch nicht möglich die Daten auszulesen. Das Problem ist, dass der Sensor als separater Slave der eigentlichen 6-Achsen IMU (Gyroskop und Beschleunigungssensor) ist. Trotz vielen verschiedenen Ansätzen und nach implementierter Beispiele war es nicht möglich die Daten auszulesen und den Slave des Slaves zu erreichen. Eine Idee zur Lösung wäre es eine andere API zu verwenden, die das Auslesen eventuell vereinfacht. (offen)


Lagewinkelberechnung nicht korrekt:

Da die Magnetometer Daten nicht ausgelesen werden konnten kann auch die Orientierung der Drohne, also der Yaw Winkel, nicht richtig bestimmt werden. Außerdem besteht ein Bug in der Roll Berechnung. Während die Pitch Werte nachvollziehbar wirken steigt der Roll Winkel stetig an, was ein großes Problem für die Flugstabilisierung darstellt. Ohne die richtigen Winkel kann auch nicht korrekt geregelt werden. (offen)


PID-Konstanten nicht optimal:

Als Folge der zuvor genannten Probleme konnte die Flugstabilisierung noch nicht getestet werden und damit können auch die PID-Konstanten nicht optmiert werden. Das Optimieren der Konstanten ist der letzte Schritt zum stabilen Fliegen und kann erst realisiert werden, wenn vorherige Probleme gelöst wurden. (offen)