Archiv verlassen und diese Seite im Standarddesign anzeigen : Gyro-Sensor: Knick im Hirn
Moin.
Da es themenmässig eigentlich nirgendwo richtig reinpasst, schmeiss ichs einfach mal hier rein.
Ich hab einen Knick im Hirn bei nem Gyro-Sensor; irgendwie fehlt mir da das Vorstellungsvermögen. Auch "Experimente" mit einem 3D-Programm haben das "?" eher noch vergrössert als verkleinert. Und die Kinematikvorlesungen sind nun doch schon ein paar Jahre her...
Annahme: Ich hab ein Gerät, in dem ein Drehratensensor verbaut ist, d.h. Ausgabe in z.B. milli-°/sec auf 3 Achsen.
Das Ding sitzt jetzt auf einem Drehteller, Z-Achse liegt auf der Rotationsachse des Tellers, x/y liegen auf der Ebene des Tellers.
Wenn sich der Teller dreht, liefert mir Z einen Wert und X bzw. Y müssten 0 sein.
So... jetzt zum Knick (bzw. mehreren):
Angenommen, ich kipp das Ding jetzt 45° um die X-Achse.
Knick 1) Zeigen dann Y und Z eine Drehung an? Müssten doch eigentlich.
Knick 2) Zeigt Z so lange eine Drehung an (theoretisch), wie der Kippwinkel < 90° ist?
Bei exakt 90° würde Z ja in der Ebene des Drehtellers liegen => keine Drehung.
Also von 89.9999999999999° nach 90° wäre ein Sprung vorhanden?
Kann ja eigentlich nicht so schwer sein...
mfG
Moin!
Hier mal mein Senf (ohne Garantie auf Knickfreiheit):
zu Knick 1)
würde ich auch so sehen
zu Knick 2)
würde ich sagen: Jein - also im Prinzip ja, aber ohne Sprung.
Während der Kippwinkel gegen 90° geht, müsste die Drehrate um z gegen 0 gehen. Messtechnisch könnte vielleicht ein Sprung auftreten (je nach Genauigkeit des Sensors), mathematisch aber glaube ich nicht.
Gruß Ryoken
Ich würde da über das Focault Pendel einsteigen und dann mit dem Wheatstone Pendel weitergehen.
http://www.google.de/imgres?um=1&hl=de&sa=N&tbo=d&biw=1025&bih=949&tbm=isch&tbnid=itnGxrl_KwrfaM:&imgrefurl=http://en.wikipedia.org/wiki/Foucault_pendulum&docid=w0vAXQOUL4MuAM&imgurl=http://upload.wikimedia.org/wikipedia/en/thumb/d/d3/Wheatstone_Foucault_device_256x256.png/200px-Wheatstone_Foucault_device_256x256.png&w=200&h=200&ei=AVG4UNLdOsnFtAb97YDICA&zoom=1&iact=hc&vpx=12&vpy=440&dur=4179&hovh=160&hovw=160&tx=101&ty=78&sig=104779906298197210948&page=1&tbnh=152&tbnw=160&start=0&ndsp=38&ved=1t:429,r:25,s:0,i:163
238862388723885
Che Guevara
30.11.2012, 13:58
Hi,
solche und ähnliche Fragen hab ich mir vor einiger Zeit auch gestellt ;)
Fakt ist, dem Sensor ist es egal, ob er jetzt waagrecht ist oder nicht, wenn du ihn um 90° nach X kippst und dann die Z-Achse drehst, zeigt dir auch die Z-Achse die Drehung an. Ich hatte mal ein Verständnisproblem bei meinem Quadrocopter:
Ich bin vorwärts geflogen (Y um ca. 15° nach vorne gekippt) und habe dann den Kopter in der Z-Richtung gedreht (Z um ca. 90° gedreht). Plötzlich war dann der Vorderteil nicht mehr nach unten geneigt sondern die linke Seite. Das liegt aber einfach daran, dass der Gyro keinen Bezug zur Erde hat, sondern in seinem eigenen Koordinatensystem interargiert.
Deine Fragen kann ich dir leider nicht genau beantworten, weil ich nicht weiß, ob du nur den Sensor auf dem Drehteller kippst oder den gesamten Drehteller incl. Sensor?
Gruß
Chris
Die Rotation wird mit dem cos des Winkels zur Drehachse wahrgenommen.
Beispiele:
Mit dem Faktor 1 bei der Ausrichtung zur Drehachse und dem Winkel null,
mit dem Faktor 0,5 bei einer Abweichung von 60°
mit dem Faktor 0 bei 90° Abweichung
und mit -1 bei 180° Abweichung.
Damit ist es auch kontinuierlich.
Geistesblitz
01.12.2012, 11:13
Vielleicht lässt es sich besser vorstellen, wenn man die Drehung einfach mit Vektoren auf der jeweiligen Drehachse beschreibt. Die Winkelgeschwindigkeit hätte dann auf deinem Drehtisch einen Vektor nur mit Z-Anteil. Wenn man nun das Koordinatensystem um einen Winkel apha um X dreht, so ist dies dasselbe, als würde man den Vektor in dem System um den negativen Winkel drehen. Wenn dein Winkelgeschwindigkeitsvektor also vorher
W0=(0,0,w)
war, so wäre er nach der Drehung (Drehsinn nach Rechte-Hand-Regel)
W1=(0 , w*sin(alpha) , w*cos(alpha))
So bekomm ich das heraus, wenn ich die Drehmatrix (http://de.wikipedia.org/wiki/Drehmatrix) um X verwende, also
W1=Rx*W0
Bei deiner Problemstellung würde das sagen:
alpha=45° -> W1y=sqrt(2)*w und W1z=sqrt(2)*w
alpha=90° -> W1y=w und W1z=0 , also nur Drehung um die neue Y-Achse
alpha=89.9° -> W1y=0,999*w und W1z=0.002*w
Hey,
Ich versuch es auch mal mit erklären, vielleicht hilft es dir ja weiter (ich habe bei sowas auch immer Denkprobleme / Knicke).
Ein beliebtes Hilfsmittel von mir ist da die "rechte Hand" Regel, sprich Daumen = X, Zeigefinger = Y und Mittelfinger = Z.
Wenn Z nun die Rotationsachse ist, zeigt dein Mittelfinger nach oben und wenn du dann deine Hand drehst, siehst du das nur der Daumen und der Mittelfinger die Position ändern. Also beschreiben X und Y die Drehbewegung (also der Drehteller liegt waagerecht).
Solange der Winkel = 0° ist, ist Z auch 0.
Wenn du das Ding nun um eine Achse drehst (z.B. X-Achse) dann wird der X-Wert immer kleiner, bis er anschließend verschwindet und dein Daumen nach oben zeigt. Wenn dies der Fall ist wird die Drehbewegung durch Y und Z beschrieben.
Der Sprung wäre bei einer gleichmässigen Bewegung um die Achse nur durch die Hardware gegeben. Rein mathematisch wäre da keiner drin.
Vielleicht hilft dir das ja weiter. Wie gesagt ich habe damit auch oft Probleme und die Geschichte mit der rechten Hand hilft da doch sehr oft weiter.....
Geistesblitz
01.12.2012, 16:10
Wirklich kompliziert wird das aber, wenn man um verschiedene Achsen dreht, da es dann auf die Reihenfolge der Drehachsen ankommt und ob diese raumfest sind oder sich mitdrehen.
@Kampi: irgendwas ist in deiner Beschreibung faul. Wenn ich um X drehe, kann X doch nicht kleiner werden. Die Drehachse verändert sich ja nicht. Oder meinst du Z?
Nein ich meinte das vielmehr so das die der Drehteller solange geneigt wird bis die X-Achse die Drehachse ist.
Oder habe ich nun einen Knick im Gehirn :)?
Moinsen!
Fakt ist, dem Sensor ist es egal, ob er jetzt waagrecht ist oder nicht, wenn du ihn um 90° nach X kippst und dann die Z-Achse drehst, zeigt dir auch die Z-Achse die Drehung an.Ja, wenn man den ganzen Teller kippt bleibt es eine reine Drehung um Z. Aber so wie ich das verstanden hatte, wird der Sensor zum Teller - und somit zur Drehachse gekippt.
Ich hatte mal ein Verständnisproblem bei meinem Quadrocopter:
Ich bin vorwärts geflogen (Y um ca. 15° nach vorne gekippt) und habe dann den Kopter in der Z-Richtung gedreht (Z um ca. 90° gedreht). Plötzlich war dann der Vorderteil nicht mehr nach unten geneigt sondern die linke Seite. Das liegt aber einfach daran, dass der Gyro keinen Bezug zur Erde hat, sondern in seinem eigenen Koordinatensystem interargiert.Gerade dadurch müsste doch eine Kippung nach vorne (am Copter) auch bei Drehung erhalten bleiben.
Oder war "vorne" nur duch Deine eigene Blickrichtung definiert und ist aus der dann rausgewandert:-b? (halb OT - sorry)
Gruß Ryoken
Che Guevara
02.12.2012, 03:07
Hi,
ok, wenn der Sensor ohne den Drehteller gekippt wird ist es was anderes...
"Vorne" bezeichnet den Mittelpunkt zwischen zwei bestimmten Motoren, es ist also unabhängig von der Blickrichtung ;)
Genau den selben Gedanken wie du hatte ich auch, aber nach längerer Überlegung ist mir klar geworden, dass aus "nach vorne gekippt" durch eine Drehung in der Z-Achse "nach links gekippt" wird. Der Gyro ansich erkennt ja nur Drehungen und weiß nicht, ob er waagrecht ist oder nicht.
Gruß
Chris
Ahh jetzt ja. Drehrate vs. Drehwinkel.
D.h. es wurde um Z nach rechts gedreht, damit aus Kippung nach vorne, eine Kippung nach links wurde, richtig? Und wie hast Du das dann gelöst?
Gruß Ryoken
Che Guevara
02.12.2012, 12:42
Hi,
genau so ist es ;) Nun ja, da das Verhalten ja aus Sicht des Gyros genau richtig ist, hab ich es so belassen! Hingegen im Hover-Mode (also mit ACC) passiert dies nicht, da er ja dann einen Bezug zum momentan Winkel hat.
Gruß
Chris
Moin!
Hover-Mode/ACC sind dann die (Softwarebasierten) Flugsteuerungen?
Da tät mich dann halt interessieren, wie die das Gyrosignal verarbeiten um das o.g. Verhalten zu vermeiden
Meine spontane Idee wäre, eine Erdfeste senkrechte Drehachse zu ermitteln/festzulegen und die Abweichung davon nach einer Kippung um eine Fahrzeugachse dann als Wert festzuhalten.
Wird wahrscheinlich recht schnell aufwändig, diese Drehung dann auf die Einzelantriebe umzurechnen, im Vergleich zu der um die Senkrechte Fahrzeugachse...
Gruß Ryoken
So, hatte jetzt mal die Gelegenheit, einen dieser Sensoren in Betrieb zu nehmen und etwas zu messen. Es ist tatsächlich ein cos(a)-"Übergang", wie beim Foucault-Pendel.
D.h. wird der Sensor gekippt, hat man den cos-ähnlichen Verlauf.
Um das Rätsel von "vorher" zu klären: Der Drehteller bleibt wie er ist, es wird nur der Sensor selbst gekippt.
Wie dieser Verlauf zustandekommt (physikalisch, Sensortechnisch bedingt über die Corioliskraft) ist mir jetzt zwar klar.
Aber wo genau hab ich dann hier einen Denkfehler:
Angenommen der Sensor ist jetzt um 30° gekippt.
Wert X-Achse: cos(90°) * Originaldrehung = 0 (liegt in Drehebene)
Wert Y-Achse: cos(60°) * Originaldrehung
Wert Z-Achse: cos(30°) * Originaldrehung
Wenn ich jetzt von oben, parallel zur Z-Achse des Tellers, draufschau, dann drehen sich doch die Y-/Z-Achsen des Sensors von oben gesehen mit jeder Drehung des Tellers auch um eine Umdrehung. Oder täuscht das?
Che Guevara
03.12.2012, 13:24
Hi,
also es gibt einen ACRO-Mode (nur Gyro) und einen Hover-Mode (Gyro + ACC). Im ACRO-Mode tritt dieses Verhalten auf und es ist technisch gesehen auch vollkommen richtig. Im Hover-Mode kennt der Kopter seinen Winkel bezogen zur Erde. Somit tritt dieses Verhalten erst garnicht auf ;)
Gruß
Chris
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.