mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Daten von verschiedenen Sensoren zusammenführen


Autor: Michael Wegmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich beschäftige mich gerade mit dem interessanten Thema, Daten von 
verschiedenen Sensoren für die gleiche Größe sinnvoll zusammenzuführen.

Beispiel: Ich habe in einem Flugmodell einen GPS-Empfänger, drei 
Drehratensensoren, drei Beschleunigungssensoren, einen Drucksensor für 
die barometrische Höhe und einen Dreiachs-Magnetfeldsensor für den 
(mißweisenden) Kurs.

Jetzt haben verschiedene Sensoren verschiedene Schwächen und Vorteile. 
So ist die GPS-Position nur einmal pro Sekunde verfügbar, aber relativ 
genau. Zumindest kann ich die Qualität der errechneten Position aus den 
"Nebendaten" (Empfangsqualität pro Satellit, Konstellation) ziemlich gut 
beurteilen. Auf der anderen Seite habe ich die Drehraten- und 
Beschleunigungswerte 100 Mal pro Sekunde, dafür leiden die Sensoren an 
einem ziemlichen Offset und einer gehörigen Temperaturdrift. Der 
Magnetfeldsensor liefert mir die Ausrichtung des Modells auch bei 
Stillstand am Boden, die Kursdaten vom GPS sind genauer, aber nur bei 
Bewegung verfügbar. Nebenbei liefert der eine Sensor den rechtweisenden, 
der andere den mißweisenden Kurs. Man könnte auch die GPS-Position 
mißbrauchen, um beispielsweise aus den bekannten Flugeigenschaften die 
Querneigung oder den Anstellwinkel des Modells zu schätzen.

Mein Thema ist nun, wie führt man diese Daten sinnvoll so zusammen, daß 
man von jedem Sensor die besten Eigenschaften mitnimmt? Ich höre in 
diesem Zusammenhang immer viel von "Kalman-Filtern", habe mich in dieses 
Thema auch schon eingelesen. Allerdings geht es da wohl eher um das 
Schätzen und Ausgleichen von Sensorfehlern im voraus, weniger um das 
Zusammenführen von mehreren Sensoren.

Mein Problem ist, wenn mir einer eine Integralgleichung vorknallt, kann 
ich damit nicht viel anfangen. Ich bräuchte eine allgemeinverständliche 
grundsätzliche Beschreibung des Vorgehens. Auch über entsprechende Links 
wäre ich sehr dankbar.

Vielleicht beschäftigen sich ja auch andere gerade mit dem Thema...

Danke schonmal.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo !

Darf ich Deine Frage umformulieren ?

Wie lässt sich das ganze mit vertretbarem aufwand in ein mathematisches 
Modell pressen ?

Ich bin leider kein Physiker, aber es würde doch Sinn machen :

Innerhalb der 1 Sekunden Zeitfenstern mit hilfe der anderen Sensoren zu 
Approximieren.

Ein mehrschichtiges Modell zu entwickeln.

Welchse Einflüsse gibt es auf Dein Fluggerät ?
Wind, Deine Steuerung, Luftlöcher ??

Längen, Breitengrad und Höhe in ein Räumliches (x,y,z) Koordinatensystem 
überführen.
Versuche Dir vorzustellen das der Vektor(x,y,z) eine Funktion der Zeit 
sei.
Somit gibt es zu jedem Zeitpunkt einen Punkt den Dein Modell im Raum 
einnehmen muss.

(irgendwie fällt mir gerade die Taylor Entwicklung ein...)

Als einfachstes könntest Du zwischen zwei bekannten, also alten 
Stützstellen interpolieren. (z.b. Linear)


Die Genauigkeit wäre dann bei gleichbleibenden Flugbedingungen gegeben.

Störeinflüsse kannst Du natürlich nicht im voraus betrachten,
dafür hast Du deine Sensoren.

Hier wird es jetzt knifflig.

Im Prinzip benutzt Du beim linearen Interpolieren zwischen alten 
Messpunkten etwas,
das nennt sich Geschwindigkeit.

Die behält dein Fluggerät, wenn keine Störgrösse auftritt, auch in 
Zukunft bei...

Du kannst Dir die Geschwindigkeit in die 3 Ausdehnungen zerlegt 
vorstellen ?

Die Beschleunigungswerte die Du nun 100/s misst,
verändern nun die x,y,z-Geschwindigkeit deines Körpers.
...Die Geschwindigkeit verändert die Lage im Raum...

Du kommst also nicht um eine Portion Physik+Mathe nicht drum rum...

Jetzt musst Du nur die Beschleunigungswerte Deiner Sensoren ermitteln 
und in die Rechnung einfliessen lassen.

Leider müsstest Du Integrieren, aber das Integral zu finden wird nicht 
Funktionieren...

Du musst nach jedem Messwert Schätzen -> Approximieren (Teilgebiet der 
Mathe -> Numerik).

Sprich eine Beschleunigung von a innerhalb eine zeit von t führt zu eine 
Geschwindigkeit v.

Das musst Du dann 100 mal für alle 3 Koordinaten machen.

Leider ändert sich die Beschleunigung nicht Sprunghaft,
aber je mehr Samples pro Zeiteinheit verarbeitet werden, desto kleiner 
wird der Fehler durch Deine Schätzung !

Nach den 100 Samples kommt nun Wieder eine Stützstelle vom GPS.
Leider wirst Du eine Abweichung feststellen...
Jetzt könnte man versuchen eine art Störgrösse in die Rechnung 
einfliessen zu lassen.
Sowas nach dem Motto, der Fehler der in der Letzten Messung gemacht 
wurde,
der wird sich in der neuen Messung wiederholen.
(wobei das jetzt wahrscheinlich schon hasrten tobak für dich ist !?)

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...Du könnstest auch mit der Überlagerung von Inertialsystemen arbeiten.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich schrieb oben :
> Ein mehrschichtiges Modell zu entwickeln.

Damit wollte ich aufgreifen das die Differenz nach einer Sekunde nicht 
sprunghaft zurückgesetzt werden sollte.

Eine Schicht über der eigentlichen Berechnung sollte vielleicht die 
Fehler über mehrere Durchläufe "verschmieren".

Es kann ja nicht sein, das dass Flugzeug eine s/100 später 100 
Höhenmeter "gesprungen" ist...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.