Dann würde ich Messreihen durchführen, statt einer Messung. Dann alle Werte aus der Messreihe raus nehmen, welche Ausreißer darstellen. Die übrigen Werte mitteln.
Dann würde ich Messreihen durchführen, statt einer Messung. Dann alle Werte aus der Messreihe raus nehmen, welche Ausreißer darstellen. Die übrigen Werte mitteln.
nein, darum geht es nicht, es geht um eine Methode zur mathematisch-statistischen Sensorfusion, die Distanzsensoren waren ja nur ein Beispiel - alternativ z.B. zu Monte-Carlo-Filter oder Kalmanfilter, oder eine Vereinfachung davon. Auch soll es zeitkritische ad-hoc-Messungen ermöglichen. Im Übrigen schwanken aber ja alle Sensorwerte, je nach Sensitivität und Spezifität und je nach stat. Streuung, je nach bekannter Standardabweichung.
Außerdem gehen z.B. bei Distanzsensoren auch verschiedene systematische Auftreff-Winkel in die Messfehler mit ein (z.B. Ultraschall auf eine schräge samtige Fläche oder IR auf Glas oder Laser auf eine schräge glänzende Fläche), die sich nicht durch häufigere Messung eliminieren ließen. Accelerometer wiederum haben so ein starkes Rauschen, dass sie sich nicht ohne weiteres z.B. durch häufigeres Messen plus doppeltes Integrieren über die Zeit in einen verlässlicheren Distanzwert umrechenen ließen, Encoder leiden unter Schlupf, Slip und Drift der Antriebsräder besonders bei Kurven oder rutschigem Untergrund, Gyros leiden oft unter nicht-gaussscher Drift, Kompasssensoren sind von lokalen Magnetstörfeldern und augenblicklicher Fahrtrichtung betroffen...
Bei einer größeren Gruppe verschiedener Sensortechnologien werden also immer einige um ihre spezifischen Mittelwerte herumschwanken, und die Messwerte aller Sensoren werden mal so, mal anders gehäuft, gruppiert oder ungleich gewichtet sein, ohne direkt massive Ausreißer zu haben, und zuverlässigere Sensoren müssen anders gewichtet werden als stärker verrauschte.
Daher die TOP-Frage nach einer mathematisch-statistischen Sensorfusionsmethode nach Kenntnis der Standardabweichung, anhand des vereinfachten 3-Sensor-Beispiels.
Theoretisch betrachtet mit Funktionen der Art, wie sie auch Thomas$ erwähnt hat - das müsste allerdings mal bitte beispielhaft vorgerechnet werden...![]()
Nimmst Du 'ne Kreuzkorrelation und schiebst die drei Glockenkurven über die x-Achse, bis die Summe der Wahrscheinlichkeiten ein Maximum erreicht?!?
Mal der Verständlichkeit halber, was genau gemeint ist: https://de.wikipedia.org/wiki/Sensor...dungsbeispiele
Und mal der Kalman-Filter: https://de.wikipedia.org/wiki/Kalman-Filter
Vielleicht kann man sich so etwas ja mal antun: https://www.vdi-wissensforum.de/weit.../sensorfusion/
Geändert von Moppi (31.08.2018 um 23:16 Uhr)
Vielleicht sollte man das Problem mal herunterbrechen und überhaupt eine Erwartungshaltung beschreiben:
Bei einem Sensor und einer Messung hast Du einen Messwert, den Du als Ausgabewert weiter verwendest. Ggf. gibst Du die Varianz mit aus.
Die Messung mit zwei Sensoren gleicher Varianz ist wie die wiederholte Messung mit einem Sensor. Der Mittelwert als Ausgabewert verbessert sich mit Anzahl der Messungen, wenn es eine Normalverteilung ist. Nebenerkenntnis: Der Mittelwert liegt immer zwischen Minimum und Maximum der Messreihe. Die Varianz sinkt mit steigender Anzahl Messungen.
Bei der Messung mit zwei Sensoren unterschiedlicher Varianz würde man unwillkürlich annehmen, dass der genauere Sensor das bessere Ergebnis angibt. Bei einer "Mittelwertbildung" würde man die Varianzen als Gewichtung heranziehen. Der Ausgabewert würde also immer zum Wert des besseren Sensors tendieren. (Merke: Wenn bei wiederholten Messungen trotz unterschiedlicher Varianzen nicht annähernd die gleichen Mittelwerte herauskommen, ist irgendwas im System nicht normalverteilt. So z.B. lassen sich systematische Messfehler filtern.)
Bei drei Sensoren unterschiedlicher Varianzen haben wir unterschiedliche Erwartungshaltungen: Einerseits gehen wir davon aus, dass Güte (kleine Varianz) immer noch bestimmend ist, der Ausgabewert also zum Sensor der geringsten Varianz tendiert. Bsp:
L1= 100 (Sig = 0.1)
L2= 105 (Sig = 0.1)
L3= 110 (Sig = 0.05)
Die Tendenz würde sagen, der "wahre" Messwert liegt eher bei 110, als bei 100. Wir "trauen" dem besseren Sensor mehr.
Andererseits dürfen wir nicht ignorieren, dass bei einer guten Übereinstimmung der "schlechteren" Sensoren der gute Sensor einen Ausreißer produzieren kann. Beispiel:
L1= 100 (Sig = 0.1)
L2= 105 (Sig = 0.1)
L3= 150 (Sig = 0.05)
Hier würden L1 und L2 trotz geringerem Vertrauen durch die gute Übereinstimmung den Wert von L3 quasi überstimmen. Der Ausgabewert wäre wohl wesentlich näher an L1/L2 als an L3 anzunehmen.
Wenn wir diese Fälle jetzt berücksichtigen, können wir zumindest tendenzielle Änderungen vom zu erstellenden Fusionsalgorithmus ableiten:
Schieben wir den Messwert des guten Sensors zu den anderen beiden Sensoren, verschiebt sich der Ausgabewert zum guten Sensor hin.
Schieben wir den Messwert von einem der schlechteren Sensoren vom "Zentrum" (den anderen beiden Sensoren) weg, tangiert auch dies den Ausgabewert, aber mit einer geringeren Gewichtung.
Ohne jetzt ein Modell für das Problem gesucht zu haben, die Frage an die Runde: Ist das zu erwartende Verhalten so korrekt?
Geändert von Holomino (01.09.2018 um 08:34 Uhr)
hallo,
danke erst mal für eure Antworten!
In der Tat wäre ein Kalman oder Monte-Carlo-Filter zu komplizirt, es sollte ja einfacher sein, quasi hinkend, aber in die richtige Richtung.
Ich hatte auch schon die Idee, die Messwerte nach ihrer Zuverlässigkeit zu gewichten und dann den gewichteten Durschschnitt zu bilden, aber das führt nur dazu, dass die unzuverlässigeren Sensoren immer tendenziell noch stärker verkleinert werden, was ja nicht stimmt, wenn die Mess-Schwerpunkte der zuverlässigeren Sensoren größer als jene sind.
Das vorherige Ausfiltern absoluter Ausreißer ist ntl. schon sinnvoll, das könnte man per vorgeschaltetem Medianfilter tun, aber das ist nicht sehr selektiv, man müsste das eher mathematisch beschreiben (z.B. "größer als 3 sigma vom gemeinsamen Mittelwert entfernt" etc).Edit: diese Befürchtung war nicht zutreffend!
- - - Aktualisiert - - -
EDIT:
ah - hat sich mit manfs Post überschnitten:
dies hier scheint der richtige Ansatz zu sein:
Gewichtung von statistisch streuenden Größen
https://de.wikipedia.org/wiki/Gewich...%C3%B6%C3%9Fen
Gewichtung von Messgrößen
https://de.wikipedia.org/wiki/Gewich...%C3%B6%C3%9Fen
Jetzt ist noch unklar, wie sich die "Unsicherheit" aus der Standardabweichung errechnet - kann man das einfach gleichsetzen...?Gewichtung von Messgrößen
In der Messtechnik kann es angebracht sein, verschiedene Messwerte mit den Kehrwerten ihrer Unsicherheiten zu gewichten. Hierdurch wird erreicht, dass bei weiteren Berechnungen Werte mit kleineren Unsicherheiten entsprechend stärker gewichtet werden.
- - - Aktualisiert - - -
UPDATE:
es scheint DOCH zu klappen, was ich zuerst probiert habe, mit der "Zuverlässigkeit"=(1-Standardabweichung)
Standardabw.
20% =0,2; Zuverlässigkeit = 1-0,2 = 0,8
10% =0,1; Zuverlässigkeit = 1-0,1 = 0,9
5% =0,05; Zuverlässigkeit = 1-0,05 = 0,95
Summe aller Zuverlässigkeiten:
0.8+0.9+0.95= 2,65
1.Fall
Sensor1 0,8*100= 80
Sensor2 0,9*110= 99
Sensor3 0,95*90= 85,5
80+99+85,5 = 264,5
264,5/2,65= 99,8 <<< !
2.Fall:
Sensor1 0.8*20 = 16
Sensor2 0,9*30= 27
Sensor3 0,95*5= 4,75
16+27+4,75 = 47,75
47,75/2,65 = 18,65 <<< !
schein tendenziell doch zu stimmen, was meint ihr (insb. wenn man jetzt nicht nur 3, sondern deutlich mehr Sensoren hätte, und wenn man genauert definiert, was ein Ausreißer ist und was nicht)?
- - - Aktualisiert - - -
jetzt mal mit Kehrwert der Standardabw.:
Standardabw.
20% =0,2; Kehrwert = 1/0,2 = 5
10% =0,1; Kehrwert = 1/0,1 =10
5% =0,05; Kehrwert = 1/ 0,05 = 20
Summe aller Kehrwerte:
5+10+20 = 35
1.Fall
Sensor1 5*100= 500
Sensor2 10*110= 1100
Sensor3 20*90= 1800
500+1100+1800 = 3400
3400/35 = 97,14<<< !
2.Fall:
Sensor1 5*20 = 100
Sensor2 10*30= 300
Sensor3 20*5= 100
100+300+100 = 500
500/35 = 14,28 <<< !
sieht auch vernünftig aus!
Hier bei den Kehrwerten der Standardabw. wird die Sensorgenauigkeit etwas stärker gewichtet als oben bei der "Zuverlässigkeit"=(1-Standardabweichung), das würde ich dann auch tatsächlich bevorzugen!
edit, ergänzt:
Variante: Varianz statt Standardabweihung:
jetzt also mit Kehrwert der Varianzen gewichtet:
Standardabw. Varianz Kehrwert
0,2 -> 0,04 Kehrwert = 25
0,1 -> 0,01; Kehrwert = 100
5% =0,025; Kehrwert = 400
Summe aller Kehrwerte: 525
1.Fall
Sensor1 25*100= 2500
Sensor2 100*110= 11000
Sensor3 400*90= 36000
Summe = 49500
49500/525= 94,3 <<< !
2.Fall:
Sensor1 25*20 = 500
Sensor2 100*30= 3000
Sensor3 400*5= 2000
Summe = 5500
5500/525= 10,5 <<< !
Geändert von HaWe (02.09.2018 um 09:49 Uhr)
- gestrichen -
Hier steht die Beschreibung der Berechnung des gewichteten Mittelwertes von statistisch streuenden Größen anhand ihrer Streuung:
ich denke das könnte passen
https://de.wikipedia.org/wiki/Gewichtung
https://de.wikipedia.org/wiki/Gewichtung#Berechnung
https://de.wikipedia.org/wiki/Gewich...%C3%B6%C3%9Fen
Lesezeichen