Forum: Mikrocontroller und Digitale Elektronik Selbstlernend Sensordaten verarbeiten


von Mike Litoris (Gast)


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!

von Klaus R. (klara)


Lesenswert?

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

von Mike Litoris (Gast)


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?

von Benjamin S. (recycler)


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 :)

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
Noch kein Account? Hier anmelden.