Hallo zusammen, ich habe aktuell eine Projektarbeit an der Technikerschule am laufen. Die Aufgabe ist ein Fahrzeug mit einem Gyro-Sensor zu entwickeln, das eine Modellanlage mit Teilen beliefert. Das Fahrzeug muss aus einem Lager rückwärts herausfahren, sich um 180°-Drehen, ca. 1m geradeaus fahren, sich dann um 90° Drehen und anschließend ca 0,5m geradeaus in die Station fahren. Der verwendete Chip ist: https://www.robot-electronics.co.uk/htm/cmps11i2c.htm Aktuell wird der Wert des Gyro-Sensors ausgelesen und die errechnete Nullwertabweichung abgezogen, das ganze wird dann Tiefpass gefiltert und an einen PID-Regler übergeben. Zudem wird noch ein Wert für die Abweichung des Gyronullwerts bei ansteigender Temperatur mit eingerechnet. Es wurde eine Zeit lang probiert das Fahrzeug rein über das Integral des Sensors, also den Winkel, zu steuern. Dazu musste ich den errechneten Gyrowert durch einen Faktor teilen, damit mir des Integral nicht im stehen schon durch die Decke schoss und selbst dann zog das Auto während der kompletten fahrt immer nach links oder rechts, je nach dem, ob die errechnete Gyronullabweichung im Schnitt leicht über den Messewerten oder leicht drunter lag. Dieses Verhalten konnte ich auch im stehen aufzeichnen. Dann wurde mit den gefilterten Signal versucht das Integral zu bilden. Das Problem dabei ist, dass die Antriebseinheit des Fahrzeugs einen leichten Verzug hat und diese durch den Gyrosensor nicht mehr erkannt wird. Anschließend haben wir probiert nur die Drehregelung mit dem Integral zu steuern und den Rest über die Winkelgeschwindigkeit. Dies funktioniert leider alles auch nur so mäßig. Ich hab leider immer wieder Probleme, dass vor allem die Drehung nicht immer ausreichend genau funktioniert und bei der Geradeausfahrt auch oft leichte Abweichungen stattfinden. Kann mir jemand weiterhelfen? Weiß jemand, wie man das Gyrosignal optimal in den Begriff bekommt, vielleicht durch irgendeine Berechnung oder ähnliches? Besten Dank schonmal für die Antworten!
Lukas S. schrieb: > Kann mir jemand weiterhelfen? Weiß jemand, wie man das Gyrosignal > optimal in den Begriff bekommt, vielleicht durch irgendeine Berechnung > oder ähnliches? Das geht mit einem Gyro allein nicht gut. Arbeite mit Drehencodern an den Rädern und/oder direkt mit Schrittmotoren. Das ist deutlich genauer. Schau doch mal wie Saugroboter z.B. das machen. In 1. Linie Drehencoder dann Optischer Sensor an die Decke und für die Basisstation gibts trotzdem noch ne Leuchtbake.
Du könntest mit einer Kamera auf den Boden schauen und dadurch die gewünschten Werte extrem präzise ermitteln.
Der von dir genannte Sensor ist eine Kombination aus Kompass, Gyro und Beschleunigungssensor. Du könntest Kompass und Gyro fusionieren und somit die Integratordrift des Gyros kompensieren.
Viele Dank für die schnellen Antworten! @Cyblord Ich hab es bereits direkt mit den Schrittmotoren probiert, leider funktioniert dieses aufgrund von mechanischem Verzug nicht... Das ganze wird über ein Arduino gesteuert und wir nutzen dafür die Standard Arduino Steppermotoren, welche leider ein nicht all zu geringes Spiel haben. @Bernd K. Das Ziel der Projektarbeit wäre es erst einmal das Fahrzeug allein mit dem IMU-Sensor und der Odometrie zu steuern, deshalb kommt eine Kamera erst mal nicht in Frage. @donvido Wir haben bereits versucht den Kompass mit einzubinden, leider wird das Magnetfeld durch den Unter- und Aufbau der Modellanlage so stark gestört, dass hier absolut keine Möglichkeit besteht den Sensor sinnvoll einzubinden...
Lukas S. schrieb: > Viele Dank für die schnellen Antworten! > > @Cyblord > > Ich hab es bereits direkt mit den Schrittmotoren probiert, leider > funktioniert dieses aufgrund von mechanischem Verzug nicht... > Das ganze wird über ein Arduino gesteuert und wir nutzen dafür die > Standard Arduino Steppermotoren, welche leider ein nicht all zu geringes > Spiel haben. Präzision steht und fällt hier als erstes mit der Mechanik. Was bedeutet "Verzug"? Wo ist der genau? Wenn das schon mechanisch Murks ist, dann bekommst du das elektronisch nicht mehr ausgebügelt. Vielleicht auch mal raus aus der Arduino Welt. Nicht alles kann man aus fertigen Komponenten zusammenstecken. Sonst wäre es Lego.
Lukas S. schrieb: > @donvido > Wir haben bereits versucht den Kompass mit einzubinden, leider wird das > Magnetfeld durch den Unter- und Aufbau der Modellanlage so stark > gestört, dass hier absolut keine Möglichkeit besteht den Sensor sinnvoll > einzubinden... Dann weg mit dem Sensor von der Elektronik. Setze den Kompass auf einen Stab ca. 20cm über der Fahrzeugmitte. Wird bei Multicoptern auch so gemacht, Stichwort "gps antenna mount".
Cyblord -. schrieb: > Präzision steht und fällt hier als erstes mit der Mechanik. Was bedeutet > "Verzug"? Wo ist der genau? Vermutlich meint er Schlupf
Lukas S. schrieb: > Es wurde eine Zeit lang probiert das Fahrzeug rein über das Integral des > Sensors, also den Winkel, zu steuern. Lukas S. schrieb: > Kann mir jemand weiterhelfen? Weiß jemand, wie man das Gyrosignal > optimal in den Begriff bekommt, vielleicht durch irgendeine Berechnung > oder ähnliches? Das einzige was du machen kannst ist den Sensor so oft wie möglich neu zu kalibrieren. Offset ist einfach: stehen bleiben und den aktuellen Offset ermitteln. Verstärkung ist kompliziert. Um einen definierten Winkel hin- und zurückdrehen (Servo??) könntest du versuchen. Aus dem Max-Wert des Integrals im Testlauf dann einen neuen Korrekturwert ermitteln. Insgesamt ist es aber eher hoffnungslos bei den billigen Gyros aus dem Integral der Drehrate die Orientierung zu ermitteln. Mit den Kreiselinstrumente in Flugzeugen U-Booten Raketen klappts aber.
Ich denk, dass die Motoren Schrott sind. Die Welle der Motoren lässt sich hin und her wackeln und Schlupf ist ebenfalls vorhanden. Wenn der Gyro sauber funktionieren würde, sollte er die Mechanik eigentlich ausgleichen können... Ich hab bereits geschaut, ob es alternative 5V Motoren gibt, aber leider hab ich da nicht wirklich was brauchbares gefunden. Das mit dem Stab ist eine Gute Idee, das geht aber leider aus Grund von Maßvorgaben nicht und dann würde der Sensor trotzdem noch an Störquellen vorbei fahren. Das Problem ist, dass das Integral immer völlig unterschiedlich ansteigt. Manchmal ins positive, manchmal ins negative. Die Geschwindigkeit des ansteigens variiert ebenfalls. Okay dann werde ich mir wahrscheinlich eine alterantive suchen müssen...
Weiß jemand wie das bei Modellhubschraubern gemacht wird? Mein Lehrer meinte, dass die teilweise auch mit Gyros arbeiten und 2 unterschiedliche Methoden haben, um den Rumpf gerade zu halten
Lukas S. schrieb: > Weiß jemand wie das bei Modellhubschraubern gemacht wird? > Mein Lehrer meinte, dass die teilweise auch mit Gyros arbeiten Die haben entweder einen Gyro für den Heckrotor und eine rein mechanische Stabilisierungsstange für die zyklische Blattverstellung oder keine Stabilisierungsstange und dafür einen Piloten mit sehr viel Gefühl oder einen 3-Achs-Gyro für alles. Gesteuert wird indem Du mit den Sticks die gewünschte Winkelgeschwindigkeit um die 3 Achsen vorgibst, der Flightcontroller im Heli hat für jede Achse eine Regelschleife (PID) und steuert die Servos (oder die Motoren beim Multirotor) so an daß die Winkelgeschwindigkeit des Helikopters der gewünschten Winkelgeschwindigkeit entspricht. Lässt Du die Sticks los dann bleibt er exakt in der Lage in der er gerade ist (Winkelgeschwindigkeit um alle Achsen genau 0). Wenn alles richtig eingestellt und getrimmt ist ist hält der mit den Gyros die Orientierung minutenlang ohne merkliche Drift. Natürlich kann er dabei schon kilometerweit weggeflogen sein wenn Du ihn etwas schräg stehen hattest, deshalb kann man das minutenlange Halten nur mit dem Gierwinkel beobachten, die anderen beiden Achsen korrigierst Du ja permanent um ihn überhaupt auf der Stelle zu halten. Die Gyros werden mit mehreren kHz Samplerate abgefragt und aufwendig gefiltert (Vibrationen) bevor es in die Regelschleifen gefüttert wird (die ebenfalls mit einigen kHz durchlaufen) um das stabil zu bekommen.
:
Bearbeitet durch User
Wow da steckt ja einiges dahinter. Dann werde ich da nochmal mit meinem Lehrer sprechen müssen, ob wir irgendeine Referenzierhilfe nutzen können. Ich denke wenn die Drehung immer optimal ausgeführt wird oder das Fahrzeug danach kurz ausgerichtet wird sollte die restliche Fahrt mit dem Gyro für unsere Zwecke genau genug funktionieren. Vielen Dank an alle für die schnellen und guten Antworten, ihr habt mir echt weiter geholfen!
Lukas S. schrieb: > Das Problem ist, dass das Integral immer völlig unterschiedlich > ansteigt. Manchmal ins positive, manchmal ins negative. Die > Geschwindigkeit des ansteigens variiert ebenfalls. Das ist der Offset. Der ist bei jedem Start des Gyros etwas anders. Und der ändert sich auch im Betrieb vor allem mit der Temperatur des Sensors. Darum: gelegentlich anhalten und aktuellen Offset-Wert ermitteln. Damit das ganze für längere Zeit (> 50 Fahrten) funktioniert brauchst du einen hinreichend genauen Sensor für die absolute Position (möglichst zusätzlich noch einen für die absolute Fahrtrichtung). Ohne kann das nichts werden. (s.u.) Lukas S. schrieb: > Weiß jemand wie das bei Modellhubschraubern gemacht wird? > Mein Lehrer meinte, dass die teilweise auch mit Gyros arbeiten und 2 > unterschiedliche Methoden haben, um den Rumpf gerade zu halten Wie Bernd schon schrieb auch über Gyros. Genauigkeit ist da aber nur für die Null-Stellung relevant. Bei Start des Fluggeräts (also noch am Boden) wird der Offset des Gyros ermittelt und dann nachfolgend bei der Auswertung berücksichtigt. Während des Fluges fängt der Copter dann oft an sich langsam zu drehen oder zu kippen, trotz Null-Stellung (Offset-Drift der Gyros). Dann ändert man an der Fernsteuerung die Null-Stellung minimal und korrigiert den Offsetwert so. Da ist die 2. Regelmethode der Pilot, der den Offset manuell korrigiert. Sobald aktiv gesteuert ist es relativ egal ob der Gyro bei einem Sollwert von 20°/s dann auf 19°/s oder 21°/s regelt (Verstärkungsfehler). Bei dir führt dieser Fehler halt dazu, dass das Fahrzeug bei einer Soll-Drehung um 180° nur 175° oder 185° macht ... Interessanter für deine Anwendung sind Multicopter die Kunststückchen auf Knopfdruck machen oder autonom eine Route abfliegen. Vereinfacht: Kunststückchen (z.B. Flip = Drehung um 360° um die Nick-Achse) - Action-Phase: Hauptsächlich über Gyro gesteuert, Copter steht am Ende +-10° wieder waagerecht - Beruhigungs-Phase: Ausregelung in die Waagerechte über Beschleunigungssensor - Idealerweise: Auswertung und Korrektur der Gyroparameter aus den Daten des Kunststückchens Route abfliegen (Richtungsänderung zu neuem Wegpunkt) - Drehung in neue Flugrichtung (grob) über Gyro - Korrektur der Flugrichtung über Kompass - Laufende Prüfung der Position und Flugrichtung zum Ziel über GPS und Korrektur (wie Richtungsänderung) Der Gyro-Sensor ist immer nur für die schnellen Bewegungen relevant. Ausgeregelt wird über Sensoren, die die Orientierung direkt messen. Eben gerade weil das Integral wegläuft und die Verstärkung nicht sonders genau ist (360° sind 355°..365°). In der praktischen Realisierung gibt es in der Regel keine getrennten Phasen für Action, Beruhigung, ... Läuft über interne Schätzwerte und Korrektur dieser Schätzwerte je nach (dynamischer) Verlässlichkeit der Messwerte (oft Kalman-Filter). (Im Tunnel ist die Verlässligkeit des GPS 0 und das Auto fährt nur auf Basis der Richtungs- und Geschwindigkeitsdaten weiter. Nach 1km fährt's dann aber gegen die Tunnelwand.) Auch eine - fast unerreichbar - präzise Mechanik (dann ganz ohne Sensor, oder Sensoren nur um Fehler zu erkennen) reicht nicht. Stepper bei denen praktisch kein Schrittverlust denkbar ist, exakt identisch große sehr schmale Räder (1mm breite Auflage), kein Spiel bei der Achsbreite (200mm), kein Schlupf, ... Und auch dann noch: 0.1° Weisungsfehler sind nach 1m Fahrt 1,7mm Abweichung; nach 100 Fahrten steht das Fahrzeug irgendwo. Und die 0.1° überschreitest du schon wenn der Radurchmesser sich um mehr als 0.04% (bei 200mm Achsbreite) unterscheidet oder durch die Unsicherheit auf welchem 1/10 mm der Radauflage sich die Drehung jetzt genau abspielt. Diese ganzen inkrementellen Fehler sind unvermeidbar; auch Gyros in der 1.000€-Klasse sind nicht sooo genau.
Stephan schrieb: > Der Gyro-Sensor ist immer nur für die schnellen Bewegungen relevant. > Ausgeregelt wird über Sensoren, die die Orientierung direkt messen. Multikopter für Kunstflug oder Rennen haben keine weiteren Sensoren außer den Gyros. Die können (und sollen) dann aber auch nicht die Horizontale feststellen und die Gyros werden nur benötigt um die vom Piloten gewünschte Soll-Drehung herzustellen und zu stabilisieren und Störungen durch Turbulenzen blitzschnell auszuregeln. Wenn die Regelschleifen sorgfältig getuned sind fühlt es sich an als würde das Ding auf Schienen fliegen und klebt am Stick wie angenagelt! Du kannst ne Kamera ohne Gimbal fest montieren und bekommst Aufnahmen die so stabil sind wie von einem Kamerakran, so gut können die Gyro-Regelschleifen das Flugzeug stabilisieren. https://www.youtube.com/watch?v=3V0oqnrml0o
:
Bearbeitet durch User
Bernd K. schrieb: >> Der Gyro-Sensor ist immer nur für die schnellen Bewegungen relevant. >> Ausgeregelt wird über Sensoren, die die Orientierung direkt messen. > > Multikopter für Kunstflug oder Rennen haben keine weiteren Sensoren > außer den Gyros. Logisch. Das Ausregeln bezog sich auch nur auf die Copter mit Flip/Rolle auf Knopfdruck bzw. bei den meisten Steuerungen lässt sich das Ausregeln auch als ATTI-/ANGLE-/...-Mode aktivieren.
Mein Lehrer ist davon ausgegangen, dass der Gyro für die Aufgabe genau genug sein sollte und wollte dies eben ausprobieren. Nach euren Antworten kann ich Ihn wohl eines besseren belehren :D Vielen, vielen Dank nochmal für die sehr ausführliche Antworten, ihr habt mir echt unglaublich weiter geholfen und ich konnte wieder was neues lernen! DANKE!!!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.