Selbstlernend Sensordaten verarbeiten

Gast #5328075
Lesenswert?
• ▲
▼
Hallo zusammen!

Ich beschäftige mich nun schon seit längerem mit Inertialsensoren zur 
Erfassung von Bewegungen aller Art, vor allem von Fahrzeugen. Dafür 
verwende ich einen 6Achsen Sensor, also Beschleunigung und Drehrate in 
allen drei Raumrichtungen.
Idealerweise ist dabei das Sensorkoordinatensystem gleich dem 
Fahrzeugkoordinatensystem. Wenn das Sensor KS gegenüber dem Fahrzeug KS 
mit bekannten Winkeln verdreht ist, kann man das wohl recht easy mit 
einer Drehmatrix korrigieren.

Ich habe das noch nie getestet, aber das funktioniert wohl so:
1
S(t) * T = F(t) mit:
2
T ist eine Drehmatrix mit alpha, beta, gamma
3
S(t) ist der 6-Achsige Zustand des Sensors
4
F(t) ist der 6-Achsige Zustand des Fahrzeugs

Nun möchte ich die Orientierung des Sensor KS gegenüber dem Fahrzeug KS 
allerdings "selbstlernend" bestimmen.
Ich habe mehrere "Gleichungen" (in der Realität nicht wirklich wahr, das 
beispielsweise der Drift der Gyroskope eine einfache Integration sinnlos 
werden lässt), die das Verhalten des Fahrzeuges charakterisieren. Unter 
anderem:
1
I) Ewiger Mittelwert für Beschleunigung in Z ist 9,81m/s²
2
II) Integral der Drehrate um die X-Achse ist langfristig Null
3
III) Integral der Drehrate um die Y-Achse ist langfristig Null
4
IV) Drehrate in Z geht mit einer Beschleunigung in Y einher
5
V) …
Mit diesen Gleichungen/Erkenntnissen müsste man doch nun ein 
Gleichungssystem aufstellen können, um so die drei Winkel bestimmen zu 
können, wobei sich die Sicherheit mit steigender Beobachtungsdauer 
erhöht. Und natürlich müsste die Rechnung sehr robust sein, da es 
aufgrund von Messfehlern, Bodenwellen, etc. ständig Werte geben, die den 
obigen Gleichungen teilweise widersprechen.

Wie geht man sowas an? Das Grundkonzept und das Ziel ist mir auf jeden 
Fall klar. Leider übersteigt es meine Vorstellungskraft derzeit etwas…

Grüße!
Gast #5328378
Lesenswert?
• ▲
▼
Klaus R. schrieb:
> Mike Litoris schrieb:
>> Wie geht man sowas an? Das Grundkonzept und das Ziel ist mir auf jeden
>> Fall klar. Leider übersteigt es meine Vorstellungskraft derzeit etwas…
>
> GPS macht Dir so etwas vor.
> mfg Klaus

So what?

Hast du etwas spezifischere Lösungen dazu?
#5328380
Lesenswert?
• ▲
▼
Eine Möglichkeit ist es, dass du zwei Sensoren verbause
Sensor 1 ist eingemess und Fahrzeug-orientierung = Sensor-orientierung
Sensor 2 liegt "irgendwie" im Raum, am besten am Anfang auch eingemessen 
(z.B. um 5° verdreht)

Anschließend fährst du mit dem Fahrzeug rum und nimmst die Daten auf.
Jetzt kannst du deinen Algo entwickeln und dann auch verifizieren.
Du hast ja IST (Sensor 2) und SOLL (Sensor 1).

Danach kannst du wieder ins Feld und eine andere Verdrehung/Verschiebung 
testen und dein Modell testen.

Als Tools kannst du einfaches Excel/Python/C/Mathlab/ ... verwenden, je 
nachdem wie kompliziert du es machen willst.


Wenn du den Algo robuster machen willst, kannst du noch mehr Input 
verwenden, z.B. Fahrzeugstatus. Ein wichtiger Status ist z.B. 
Stillstand, damit kannst du meist die senkrechte Erdanziehung berechnen, 
vorausgesetzt dein Fahrzeug steht waagrecht. Das macht die Auswertung 
einfacher. Korrigieren kannst du es immer noch während der Fahrt. Nennt 
sich dann Onlinekalibierung.


Einfach mal versuchen :)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.