PWM auf Ardrone Parrot 2.0 löschen

8

Ich habe einige Probleme mit dem ARDrone Parrot 2.0 und hoffe, dass jemand anderes auf dasselbe stößt .

Während des Schwebens verliert die Drohne (scheinbar) zufällig an Höhe und erholt sich dann. Dies geschieht, ohne dass Geschwindigkeitseingaben befohlen werden, und sollte die Höhe halten.

Wir verwenden die Treiber aus dem ardrone_autonomy (dev_unstable-Zweig) auf github . Wir können beobachten, wie die PWM-Ausgänge an den Motor gesendet werden und vom Hover-Befehl abfallen. Führen Sie einen kleinen Wert aus, bevor Sie exponentiell zum Hover-Wert zurückkehren, wenn dieser Abfall auftritt.

Das Problem könnte eine Kommunikation zwischen der IMU und dem Onboard-Controller oder unserer Implementierung der Softwaresteuerung sein.

Hat jemand ein ähnliches Problem oder Vorschläge zum Testen / Beheben von Problemen gesehen?

Daman
quelle
Verwenden Sie die ARDrone drinnen oder draußen? Aus der vorherigen Frage abgeleitet, über welchem ​​Terrain möchten Sie schweben? Einige Gebiete können Probleme mit dem Schweben verursachen. Haben Sie in verschiedenen Umgebungen getestet? Welche Steuerungsstrategie verwenden Sie in Ihrer Software-Steuerungsimplementierung? PID? Halten Sie die Höhe mit dem integrierten Ultraschallsensor?
Tom Bamber

Antworten:

1

Ich habe die ARDrone nicht verwendet, habe aber Erfahrung mit dem Höhenhalt eines anderen Autopiloten.

Ohne die weiteren Informationen fand eine schnelle Google-Suche ein mögliches Firmware-Problem mit ARDrone in diesem Thread .

Wenn Sie den integrierten Ultraschallsensor verwenden, wie in meinem Beitrag unter Wie kann ich die Tischkante erkennen? . Die Ultraschallsensoren können für einen Teil einer Sekunde sporadisch auf Null springen. Dies kann dazu führen, dass die ARDrone die Höhe ändert und dann zum tatsächlichen Wert zurückspringt.

Tom Bamber
quelle
Tom, wir benutzen die Drohne derzeit drinnen. Wir befinden uns in unserem Labor, einem Teppichboden, und verwenden kontrastreiche farbige Fliesen, an denen sich das Bildverarbeitungssystem festsetzen kann. Aufgrund unseres aktuellen Laboraufbaus an der Universität konnten wir in anderen Umgebungen nicht viel testen.
Daman
Für eine Steuerungsstrategie verwenden wir einen Xbox-Controller, um mithilfe eines ROS-Knotens die Eingaben zu lesen. Die ROS-Dateien, die wir erhalten, stammen vom ARdrone_autonomy-Github. Der Befehl wird an die Bordsteuerung der Drohne gesendet, bei der es sich anscheinend um eine PID handelt. Wir haben unser Problem seit meinem ersten Beitrag besser eingegrenzt. Der ROS hat ein Thema aus den internen Navigationsdaten, das die Motorinformationen liefert. Es zeigt die PWM-Werte, die an den Motor gesendet werden, sowie einen internen Integralterm für den Höhen-PID-Regler. Wir sehen, dass von 60 auf 0 zurückgesetzt wird, wenn das Quad fällt
Daman
Um zu bestätigen, dass die an den Motor gesendeten PWM-Signale von 60 auf Null zurückgesetzt werden, wenn das Quad fällt? Wenn dies der Fall ist, müsste man zurückverfolgen und feststellen, woher der mathematische Fehler kommt. Ich denke, das Problem liegt in der Art und Weise, wie Ihre Sensordaten im Höhenhalt verwendet werden. Sie können Ihre PID nicht auf diese Art von Fehler einstellen.
Tom Bamber