Forum: Mikrocontroller und Digitale Elektronik Positionsgenauigkeit von INS mit MEMS-Sensoren


von Dussel (Gast)


Lesenswert?

Moin,
wenn ich Zeit habe, wollte ich mich mal mit einfachen inertialen 
Navigationssystemen beschäftigen. Inzwischen gibt es dafür ja einfache 
Platinen, wie zum Beispiel http://www.watterott.com/de/AltIMU-10-v4
Hat jemand Erfahrung, wie das mit der Positionsgenauigkeit über der Zeit 
aussieht? Die Informationen, die ich gefunden habe, waren von 2008 oder 
älter. Damals hieß es, dass die Position nach wenigen Sekunden bis 
maximal einer Minute weggewandert ist. Ist das heute (acht Jahre später) 
immer noch so?
Was kann man von den Sensoren etwa erwarten, wenn man nur mit 
Beschleunigungs- und Drehratensensor arbeitet? In welchem Umkreis zur 
realen Position liegt zum Beispiel die angezeigte Position nach einer 
Minute, wenn man einigermaßen gut filtert, also einen Filter einbaut, 
aber nicht bis zur perfekten Genauigkeit optimiert?
Kann man damit eine kurze Zeit lang (um eine Minute) navigieren oder 
eignet sich das alles nur zur Messung der momentanen Beschleunigung und 
Drehrate?

von Michael F. (startrekmichi)


Lesenswert?

Der auf der von dir geposteten Platine verbaute Beschleunigungssensor 
hat laut Datenblatt einen typical bias von +-60mg. Sofern ich mich nicht 
verrechnet habe, gibt das nach einer Minute eine Geschwindigkeit von 
35m/s bzw. >1km Positionsfehler (1/2*a*t^2). Bei anderen 
(Smartphone-)Sensoren dieser Klasse wird es nicht viel besser aussehen.

Ohne Stützung z.B. durch GPS sind diese kleinen Sensoren relativ 
witzlos, eben weil der Bias recht groß ist und man ihn ohne weitere 
Sensorik nicht rausgeschätzt bekommt. Und ohne Stützung ist die Position 
halt nur eine instabile Doppelintegration.

von Dussel (Gast)


Lesenswert?

Danke für die Antwort.

Michael F. schrieb:
> Ohne Stützung z.B. durch GPS sind diese kleinen Sensoren relativ
> witzlos, eben weil der Bias recht groß ist und man ihn ohne weitere
> Sensorik nicht rausgeschätzt bekommt.
Kann man den nicht nach einer Kalibrierung rausrechnen? Der sollte doch, 
zumindest über kurze Zeiträume, relativ konstant sein.

von rp6conrad (Gast)


Lesenswert?

Mit den gyro, magnet und acc sensor ist die Lage bezuglich Vertikal / 
North sehr gut zu messen. Absolutposition in Raum aber kann sich nur 
beziehen auf Integration von acc, and da lauft das recht schnell weg. Da 
hilfen nur externe sensoren (US  GPS  IR usw) um das zu beheben.
Und selbst die beste ACC in Welt genugen nicht um ein Satellite zu 
navigieren : Sobald diese Satellite in ein Gravitationsfeld kommt, 
beschleunigt er zusammen mit den ACC, und den ACC miss noch immer 
Bescheunigung = 0 !

von Sascha (Gast)


Lesenswert?

Dussel schrieb:
> Danke für die Antwort.
>
> Michael F. schrieb:
>> Ohne Stützung z.B. durch GPS sind diese kleinen Sensoren relativ
>> witzlos, eben weil der Bias recht groß ist und man ihn ohne weitere
>> Sensorik nicht rausgeschätzt bekommt.
> Kann man den nicht nach einer Kalibrierung rausrechnen? Der sollte doch,
> zumindest über kurze Zeiträume, relativ konstant sein.

Über kurze Zeit, ja. Bei INS wird ja die die Position über doppelte 
Integration der Beschleunigung bestimmt.

Der Messfehler summiert sich nach dem gleichen Schema auf. Heisst: Es 
ist fast vollkommen egal wie genau die Beschleunigungsmessung ist, die 
Fehler häufen sich an.

Kommt ein bischen drauf an, wie kurz dein Zeitraum ist. Wenn dafür mal 
ein Gefühl bekommen willst: Es gibt Smartphone Apps die genau sowas tun, 
mit dem Accelerometer was im Handy drin ist.
Kannst da ja mal im Auto mit umherfahren.

Richtiges INS ist zwar genauer, aber das verlängert ja einfach nur den 
Zeitraum in dem du in deinem selbst gesteckten Toleranzband bleibst.

Wenn du irgendwie in regelmäßigen Abständen den Fehler wieder gegen 0 
bekommst (heute praktisch immer GPS), dann ist INS sehr nützlich. Man 
kann dann die Zeitperioden überbrücken, in denen GPS oder sonstige 
Funknavigation nicht möglich sind.

Die Luftwaffe hats geschafft damit London zu bombardieren. Viel genauer 
wirds auch heute nicht, vor allem nicht mit einem 30€ I2C Modul. Da 
musst du vermutlich Glück haben Südengland zu treffen.

von Bodo (Gast)


Lesenswert?

Hallo Dussel,

mehr oder weniger kalibrierbare Fehlerquellen sind hauptsächlich:

Achsquereinflüsse & Falschausrichtung
Offset
Skalierungsfehler (d.h. bspw. Nichtlinearität)
Temperaturdrift
Rauschen

und alle Kombinationen z.B. eine Änderung der Nichtlineriät über die 
Temperatur. Nicht kalibrierbar sind meist Drifteffekte. Auch bei 
dynamischen Effekten, z.B. der Abhängigkeit der Nichtlinearität von der 
Änderungsgeschwindigkeit der zu messenden Größe, wird es schwierig.

Um rauszubekommen wie stark diese ganzen Faktoren sind, heißt es zum 
einen Datenblattrecherche, den Hersteller fragen und/oder 
Kalibriermessungen.
Wenn man die Kalibrierungen auf die Spitze treibt, kann man aber 
sicherlich recht passable Zeitspannen im zweistelligen Minutenbereich 
erreichen.

Meist wird der Aufwand aber in Grenzen gehalten und die Zeitspanne ist 
entsprechend geringer. Ich will dich aber nicht entmutigen, mit einem 
teilweise redundanten System (wie hier gezeigt) und einer halbwegs 
vernünftigen Auswertung, kann man mit so einem System sicherlich viel 
Spaß haben.

von Sascha (Gast)


Lesenswert?

Rauschen verschwindet bei der Integrierung.

Das muss man nur filtern wenn man die Beschleunigungsinformation an sich 
haben will, aber beim INS gehts ja um die Position und Geschwindigkeit.

von Michael F. (startrekmichi)


Lesenswert?

Dussel schrieb:
> Kann man den nicht nach einer Kalibrierung rausrechnen? Der sollte doch,
> zumindest über kurze Zeiträume, relativ konstant sein.
Dazu musst du zusätzliche Informationen rein stecken. Die können 
entweder aus anderen Sensoren kommen oder daher, dass du per Knopfdruck 
sagst "du stehtst jetzt gerade, alles was von der erwarteten Messung 
abweicht ist bias". Das wäre die erste hemdsärmlige Lösung, die aber ev. 
schon ausreicht. Wenn dein Tisch aber nicht gerade ist, machst du es 
u.U. nur noch schlimmer. Beschleunigungssensoren sind da etwas 
unangenehmer als die Drehratensensoren, die kann man nämlich durch 
stillhalten recht einfach zu Null kalibrieren.

rp6conrad schrieb:
> Mit den gyro, magnet und acc sensor ist die Lage bezuglich Vertikal /
> North sehr gut zu messen.
Aber nur mit der Annahme, dass du das Magnetfeld kennst (gilt nicht mehr 
sobald Magnete, stromführende Kabel oder große Stahlteile um dich rum 
sind) und dass du dich unbeschleunigt bewegst. Nur dann ist nämlich 
Beschleunigungsvektor == Gravitationsvektor. Zumindest wenn man das mit 
den Kabeln in den Griff bekommt und keinen Kunstflug plant, funktioniert 
es aber z.B. bei Quadrocoptern ganz passabel.

Sascha schrieb:
> Richtiges INS ist zwar genauer, aber das verlängert ja einfach nur den
> Zeitraum in dem du in deinem selbst gesteckten Toleranzband bleibst.
Genau. Und kaum überraschend werden die notwendigen IMUs exponentiell 
teurer und schwerer, je länger und genauer es sein soll.

Bodo schrieb:
> Wenn man die Kalibrierungen auf die Spitze treibt, kann man aber
> sicherlich recht passable Zeitspannen im zweistelligen Minutenbereich
> erreichen.
Spätestens dann hätte man sich aber eine teurere IMU leisten können. Je 
nach Anwendung kann die Kalibrierung aber auch unpraktikabel sein.

von Bodo (Gast)


Lesenswert?

Sascha schrieb:
> Rauschen verschwindet bei der Integrierung.

Rauschen verschwindet bei der Integration nur, wenn es stetig (z.B. 
normal-) verteilt ist und die Integrationszeit unendlich groß ist. 
Letzteres ist schlecht für die Dynamik des Systems.

Michael F. schrieb:
> Spätestens dann hätte man sich aber eine teurere IMU leisten können. Je
> nach Anwendung kann die Kalibrierung aber auch unpraktikabel sein.

Da stimme ich natürlich zu.

von Sascha (Gast)


Lesenswert?

Bodo schrieb:
> Sascha schrieb:
>> Rauschen verschwindet bei der Integrierung.
>
> Rauschen verschwindet bei der Integration nur, wenn es stetig (z.B.
> normal-) verteilt ist und die Integrationszeit unendlich groß ist.
> Letzteres ist schlecht für die Dynamik des Systems.

Wenn im Rauschen ein Gleichanteil ist, dann ist es kein Rauschen mehr 
sondern eine Funktion die sich durch Addition von Rauschen mit einer 
Konstanten ergibt. In anderen Worten: Zusätzlich zum Rauschen hat der 
Sensor einen Offset.

Definitionsgemäß ist ein Integrator für Rauschen ein Optimalfilter. Bei 
der Integrationszeit hast du natürlich Recht, gerade in der Praxis mit 
Abtastzeiten werden da Rampen draus.
Aber nach zweimaliger Integration sind die kaum noch erkennbar.

Heisst für die Geschwindigkeitsbestimmung dass die Geschwindigkeit um 
den realen Wert herum schwankt (plus akkumulierter Messfehler).

von Dussel (Gast)


Lesenswert?

Danke nochmal für die hilfreichen Antworten.

Sascha schrieb:
> Wenn du irgendwie in regelmäßigen Abständen den Fehler wieder gegen 0
> bekommst (heute praktisch immer GPS), dann ist INS sehr nützlich. Man
> kann dann die Zeitperioden überbrücken, in denen GPS oder sonstige
> Funknavigation nicht möglich sind.
Das wäre natürlich gut. Ich würde immer die Position immer wieder mal 
von Hand zurücksetzen. Wenn man das aber alle drei Sekunden machen muss, 
bringt das nicht viel.

Sascha schrieb:
> Die Luftwaffe hats geschafft damit London zu bombardieren. Viel genauer
> wirds auch heute nicht, vor allem nicht mit einem 30€ I2C Modul.
Die Kreisel waren aber auch deutlich größer und schwerer. Genauer würde 
man es heute schon hinkriegen, denke ich. Meines Wissens navigieren die 
meisten (oder alle?) Interkontinentalraketen mit Trägheitsnavigation. 
Für den Preis eines solchen Systems könnte ich mir aber wahrscheinlich 
auch selber einen GPS-Sateliten kaufen (vielleicht nicht ganz ;-)
Außerdem denke ich statt an 15.000 km eher im Bereich von 15.000 cm.

Bodo schrieb:
> Ich will dich aber nicht entmutigen, mit […] einer halbwegs
> vernünftigen Auswertung, kann man mit so einem System sicherlich viel
> Spaß haben.
Ich wollte damit endlich mal einen Kalmanfilter praktisch nutzen, 
nachdem ich den vor längerer Zeit mal in der Vorlesung hatte, mich aber 
leider damals nicht so dafür interessiert habe.

Michael F. schrieb:
> Die können entweder aus anderen Sensoren kommen oder daher,
> dass du per Knopfdruck sagst "du stehtst jetzt gerade, alles
> was von der erwarteten Messung abweicht ist bias".
Das wäre mein erster Ansatz. Wenn die Erdbeschleunigung bekannt ist, 
müsste man die doch zumindest theoretisch in den Beschleunigungssensoren 
wiederfinden und einen Korrekturfaktor berechnen können. Schwierig wird 
es, wenn die drei Achsen verschiedene Biasse (wie auch immer der Plural 
ist) haben.

Michael F. schrieb:
> Spätestens dann hätte man sich aber eine teurere IMU leisten können. Je
> nach Anwendung kann die Kalibrierung aber auch unpraktikabel sein.
Also doch Laserkreisel. Was kostet sowas? :D

Ich denke, ich bestelle es (MEMS, nicht Laser) mir bei Gelegenheit mal 
und sehe, was rauskommt.

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.