- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 66

Thema: Sensorfusion mit unterschiedlicher statistischer Fehlerrate

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    HaWe
    Gast
    Naja, aus dem Notationskapitel geht's ja recht eindeutig hervor, was gemeint ist.
    meinst du mit Notationskapitel das hier:
    Zu einem Messergebnis als Näherungswert für den wahren Wert einer Messgröße soll immer die Angabe einer Messunsicherheit gehören. Diese grenzt einen Wertebereich ein, innerhalb dessen der wahre Wert der Messgröße mit einer anzugebenden Wahrscheinlichkeit liegt (üblich sind Bereiche für ungefähr 68 % und ungefähr 95 %). Dabei soll der als Messergebnis verwendete Schätzwert oder Einzelmesswert bereits um bekannte systematische Abweichungen korrigiert sein.[1]
    68% stat. Wahrscheinlichkeitsbereich liegt ja innerhalb +/- 1 sigma, und 95% zwischen +/- 2 sigma um den echten Wert herum. (edit: sigma = Standardabweichung)
    Dabei wird aber auch auf den "GUM" zur Ermittlung verwiesen, und hier heißt es
    Das Beiblatt beschreibt die Anwendung der Monte-Carlo-Methode zur Ermittlung der Messunsicherheit.
    Dese Monte-Carlo-Methode allerdings hat ja nichts mehr mit der Berechnung der Gaussschen Standardabweichung zu tun.

    Was also ist genau dein Vorschlag, um rechnerisch
    verschiedene Messwerte mit den Kehrwerten ihrer Unsicherheiten zu gewichten
    ?

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    903
    Wie gesagt, ich gehe da 'nen anderen Weg.

    Das Wertbildung über mehrere Sensoren sehe ich gar nicht als so kritisch. Was mich viel mehr bei der Fusion interessiert, ist die systematische Identifikation von Ausreißern und die Bestimmung eines Gütefaktors des so gemeinsam generierten Wertes. Der Wert mag besser sein, aber seine Unschärfe hat er über die Fusion nicht verloren.

    Klicke auf die Grafik für eine größere Ansicht

Name:	ThreeCompareDifferentDistances.jpg
Hits:	6
Größe:	81,2 KB
ID:	33598

    Das Bild zeigt mal drei unterschiedliche Fälle, in denen ich nur die Distanz des "besten" Sensors verschiebe. Ohne irgendwelche Ausnahmeregeln oder Thresholds zu definieren, zeigt sich schon über die Summe der Wahrscheinlichkeiten zu einer vermuteten "wahren" Distanz, wie der "genaue" Sensor immer mehr zum Ausreißer wird.

  3. #3
    HaWe
    Gast
    bei mehreren unterschiedlichen Sensoren kann ja der zuverlässigste Sensor mit 1% Wahrscheinlichkeit auch einen Wert außerhalb von +/- 3 sigma liefern, also bei 1m und sigma=5 z.B. >115
    oder mit 5% Wahrsch. (2*sigma) <90 oder >110,
    und ein unzuverlässigerer kann durchaus bei 1m und sigma=20 den echten Wert auf den Kopf treffen oder auch bei 95 landen bzw. mit 68% Wahrsch. (1*sigma) irgendwo zwischen 80 und 120.

    Nur statistisch wird es sich den echten Verhältnissen auf lange Sicht annähern.
    Wenn du also misst, weisst du nicht, wer recht hat, du musst dich auf statistische Funktionen zurückziehen, die mit größtmöglicher Wahrscheinlichkeit den tatsächlichen Wert am besten approximieren.

    Ich verstehe jetzt daher noch nicht, wie du die Fälle 1+2 aus dem TOP in "deiner Weise" ausrechnen willst, anders als mit einem per "Vertrauenskoeffizienten" gewichteten Durchschnitt?

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    903
    Angenommen ich habe Deine drei Messwerte von ganz am Anfang.
    - Ich nehme rein intuitiv eine reale Distanz an, z.B. 90cm.
    - Ausgehend von diesen 90cm berechne ich über die Gaussfunktion für den ersten Sensor die Wahrscheinlichkeit aus (Standardabweichung = 90cm * Variationskoeffizient, Messwert ist direkt angegeben).

    Code:
    private double NormalizedGaussFromValue(double value, double average, double stdDeviation)
            { 
                return  Math.Exp(-0.5 * Math.Pow((value - average) / stdDeviation, 2)) 
                            / (Math.Sqrt(2*Math.PI) * stdDeviation);
            
            }
    
            private double EqualizedGaussFromValue(double value, double average, double stdDeviation)
            {
                return Math.Exp(-0.5 * Math.Pow((value - average) / stdDeviation, 2));
            }
    value ist der Messwert
    average ist der angenommene Scheitelpunkt der Kurve
    stdDeviation ist die Standardabweichung


    - Das mache ich einmal für die normalisierte Form (Integral der Glocke ist 1) und einmal für die egalisierte Form (Scheitelwert ist 1. Merke, der Scheitelwert wird nur durch den Bruchnenner normalisiert).

    - Das gleiche rechne ich auch für die anderen beiden Sensorwerte aus.
    - Summiere ich die Wahrscheinlichkeiten der drei Sensoren für die angenommene Distanz auf, bekomme ich eine normalisierte und eine egalisierte Gesamtwahrscheinlichkeit für die Annahme, dass meine Distanz real bei 90 cm liegt. Aber die Frage stellt sich: Wird dieser ermittelte Wert besser, wenn ich eine andere Distanz als realen Wert annehme?
    - Also tickere ich alle möglichen Distanzen einmal durch und schaue, wo Maxima in den Kurven liegen (Kreuzkorrelation).

    Die egalisierten Werte machen dabei die einzelnen Komponenten der Wahrscheinlichkeitssumme der drei Messwerte vergleichbar. Wo hier in der Kurve das Maximum zu finden ist, sollte sich mit der höchsten Wahrscheinlichkeit auch der reale Distanzwert befinden.

    Der normalisierte Wert dient zur Abschätzung, welche Streuung das Ergebnis hat. Er zeigt im Vergleich zu den normalisierten Scheitelpunktwerten der Glockenkurven einzelner Sensoren die Qualität oder die Streuung.

    (So ganz im Reinen bin ich mir da mit dem letzten Vergleich aber auch noch nicht. Der will noch nicht so, wie ich's erwarte.)

  5. #5
    HaWe
    Gast
    - Ich nehme rein intuitiv eine reale Distanz an, z.B. 90cm.
    - Ausgehend von diesen 90cm berechne ich über die Gaussfunktion
    nein, du kannst keine reale Distanz annehmen, da du sie absolut nicht kennst!
    du (und ich) haben keine Ahnung, rein keinen blassen Schimmer, was "da draußen" los ist,
    wir haben nur die Sensoren und ihre Messwerte, mit bekannter Messgenauigkeit.

    Der "reale Wert" kann Lichtjahre von den Messwerten entfernt liegen, und du kannst ja auf nem Arduino nicht schrittweise alle denkbaren Entfernungen per Gausskurve durch die gesamte Galaxis durchrechnen, und dann noch für 3,4,5,6 oder mehr Sensoren, und du hast von jedem Sensor auch nur genau 1 aktuellen Messwert.
    (klar, das mit den Lichtjahren ist übertrieben, aber mit 3 Sensorwerten kann schon der gesamte Bereich von 5 bis 150cm abgedeckt werden!)

    Beschränken wir uns aber jetzt auf die Fälle 1+2, wie genau sähe deine mathematische Berechnung aus (Arduino/AVR-kompatibel)?
    analog schrittweise wie hier berechnet:
    https://www.roboternetz.de/community...l=1#post646322

    - und wie lauten deine Ergebnisse für Fälle 1+2 als ausgerechnete Zahlen?

    - dann könnte man dein Verfahren mal gut mit meinem bisherigen nach Aufwand und Ergebnis vergleichen.
    Geändert von HaWe (01.09.2018 um 19:50 Uhr)

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    903
    Zitat Zitat von HaWe Beitrag anzeigen
    nein, du kannst keine reale Distanz annehmen, da du sie absolut nicht kennst!
    du (und ich) haben keine Ahnung, rein keinen blassen Schimmer, was "da draußen" los ist,
    wir haben nur die Sensoren und ihre Messwerte, mit bekannter Messgenauigkeit.
    Natürlich kann ich das.
    Das nennt man Hypothese. Über die Kreuzkorrelation testet man systematisch alle möglichen Hypothesen gegeneinander. Die beste Hypothese davon verspricht die größte Genauigkeit der Übereinstimmung. Wobei hier "Genauigkeit der Übereinstimmung" die größte Wahrscheinlichkeit darstellt, dass die hypothetische Distanz wirklich der realen Distanz entspricht.

  7. #7
    HaWe
    Gast
    dann rechne es doch bitte mal vor, Schritt für Schritt, was kommt dann zahlenmäßig raus?

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    903
    Zitat Zitat von HaWe Beitrag anzeigen
    Der "reale Wert" kann Lichtjahre von den Messwerten entfernt liegen, und du kannst ja auf nem Arduino nicht schrittweise alle denkbaren Entfernungen per Gausskurve durch die gesamte Galaxis durchrechnen, und dann noch für 3,4,5,6 oder mehr Sensoren, und du hast von jedem Sensor auch nur genau 1 aktuellen Messwert.
    (klar, das mit den Lichtjahren ist übertrieben, aber mit 3 Sensorwerten kann schon der gesamte Bereich von 5 bis 150cm abgedeckt werden!)
    Das würde alleine durch die Anzahl der Maxima (3!) in der Reihe der Hypothesen auffallen...
    Klicke auf die Grafik für eine größere Ansicht

Name:	NoConclusion.jpg
Hits:	5
Größe:	29,6 KB
ID:	33599
    … und kann auch gleich als Fehlmessung im Orkus verschwinden.

Ähnliche Themen

  1. Sensorfusion Kompass und Ultraschall (Zeitstempel?)
    Von BattleBot im Forum Robby RP6
    Antworten: 1
    Letzter Beitrag: 13.01.2013, 02:46
  2. Infos zu den Themen Sensorfusion / Kalman-Filterung?
    Von katakombi_ im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 28.01.2005, 18:44

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress