Hallo,
ich hab ein kleines Problem beim Programmierens meines Arduino Megas 2560. Ich möchte damit ein Modellflugzeug steuern können. Dafür benötige icdh die Lage des Flugzeuges im Raum. Mein Problem dabei ist, dass die Winkel, die mir ausgegeben werden, um feststehende Achsen sind. Damit ich für das Flugzeug aber relevante Daten habe, die mir anzeigen, wie viel Grad das Flugzeug nickt, giert oder rollt, sollten die Achsen, um die gemessen werden, abhängig von der Lage des Chips sein. ich habe es mit Euler Winkeln probiert, aber da funktioniert es auch nicht... Kann mir jemand sagen, ob es einen einfachen Weg gibt, um die Messwerte zu erhalten, die ich brauche? Wenn nicht: wie kann ich aus den yaw/pitch/roll-Werten aus der Library von Jeff Rowberg die Winkel um die mitdrehenden Achsen berechnen?
Danke schonmal.
Die Achsen sind abhängig von der Lage des Chips-wovon auch sonst?
Aus dem Flieger raus kann der Chip den Winkel, in dem dein Fenster offen steht, nich wissen- logisch oder?
Im Prinzip ist das Teil nichts weiter als ein Lot mit (hochempfindlichen) Winkelmessern dran.
Das Problem ist: das nutzt nur eingeschränkt was, da gewöhnlich auch Fliehkräfte auftreten (Flugzeug hebt oder senkt nicht einfach die Nase sondern bewegt sich auf einer Kurvenbahn), und somit stimmen die Messungen, bezogen auf den Erdmittelpunkt (dahin zeigt das Lot im Ruhezustand) _nicht.
Selbst eine gerade Bewegung bringt das Pendel bereits aus der Ruhe: immer dann, wenn die Bewegung beschleunigt oder verzögert wird.
Hallo Rabenauge,
Danke für die schnelle Antwort. Wie ein Flugzeug fliegt weiß ich. Bin selber Pilot. Mein Problem ist nur, wenn ich einen Winkel um die z-Achse von 0° habe und dann nicke, dass es ein Ausschlag auf der x-Achse gibt. Drehe ich das Flugzeug aber um 90° um die z-Achse, dann ist das Nicken ein Ausschlag auf der y-Achse. Heißt also dass die Achsen im Raum fest sind und nicht abhängig von der Lage des Chips... vielleicht habe ich mich nur falsch ausgedrückt und du hast nicht verstanden was ich meinte.
Dann musst du einen merkwürdigen Sensor haben.
Die üblichen Verdächtigen messen immer ihre eigene Lage im dreidimensionalen Raum, und genau das willst du doch?
MPU 6050 usw. tun exakt das, was du da beschreibst....
naja... ich hab ja einen MPU6050/GY-521. Was ich mir sonst noch vorstellen kann ist, dass ich eine andsere Library als du benutze. Ich benutze die MPU6050_6Axis_MotionApps20.h Library und orientiere mich an dem MPU6050_DMP6 Sketch. Beim Acceleration auslesen geht es bei mir auch, dass ich entweder ein world-frame benutze oder die Achsen des MPU6050. nur beim Gyroskop funktioniert es nicht.
Stimmt.
Das, was du da benutzt, kenne ich nicht mal.
Ist das wieder so eine all-in-wonder-Lösung?
Die haben oft nen entscheidenden Nachteil: sie funktionieren genau dann, wenn man sie exakt so nutzt, wie es gedacht war- meistens...
So wird das nix- besorg dir eine, die einfach das Ding ausliest und evtl. noch die Winkel bzw. Drehraten ausgibt und mach den Rest selber.
Die könnt es gewesen sein: ww.arduinolibraries.info/libraries/kalman-filter-library
Danke bist ne große Hilfe.
Das Teil ließt halt die Daten aus und verarbeitet die schon auf dem Chip... dann werde ich mich mal in die Library einlesen und es alleine versuchen auszulesen.
Wenn ich einen Sensor brauche, dann schaue ich erst einmal, dass ich irgendwie an die Rohdaten komme.
Und dann sehe ich, ob es ne einfache (***.lib)-Möglichkeit gibt, diese eben in für mich sinnvolle Daten umzuwandeln.
Und genau das macht mein Vorschlag.
Zu deinem find ich auf die Schnelle nicht mal ne Doku?
Dem kurzen Überblick nach, den ich mir jetzt (in etwa 5 Minuten googeln) verschafft habe, eignet sich deine Lib. wohl für Balancier-Roboter.
Hier muss die Drehung um die Hochachse allerdings auch völlig anders gehandhabt werden.... >:(
Nimm die von mir vorgeschlagene, schau dir die dazugehörigen Beispiele an und du hast alles, was du brauchst (abzüglich einer Regelung für die Soll-Position, das ist dann ne andere Baustelle, an der du noch eine Menge Freude haben wirst).
Danke werde ich machen. Die Library die ich bisher benutzt habe beinhaltet auch einen Teil, wozu es eine method list gibt. Da habe ich passende Methoden gefunden. Aber danke nochmal
Hallo Rabenauge,
vielleicht ließt du das hier ja. Ich hab mir an dem was du mir vorgeschlagen hast ne weile die zähne ausgebissen. Ich hab versucht über die winkelgeschindigkeit und die vergangene zeit den Winkel auszurechnen. Dabei habe ich aber ein Problem: wenn ich den MPU ein paar sekunden nicht bewege gehen alle winkel gegen Null, was aber nicht sein kann... Kennst du eine Möglichkeit den winkel recht stabil und genau auszurechnen???
PR0M3TH3US:
wenn ich den MPU ein paar sekunden nicht bewege gehen alle winkel gegen Null, was aber nicht sein kann... Kennst du eine Möglichkeit den winkel recht stabil und genau auszurechnen???
Ich bin nur zufällig in diesem Thread gelandet.
Könntest Du einen Link zu einem Datenblatt des Dings nennen, das Du verwendest? Ich kenne mich zwar kaum mit dem aus, worum es hier geht, aber ich habe gerade ein bisschen Lust, mich in etwas Unbekanntes einzulesen. Und da ich in Sachen Geometrie halbwegs gut bin, könnte mir sogar etwas Hilfreiches zum Problem einfallen (was bin ich heute wieder optimistisch!)
Gruß
Gregor