- 3D-Druck Einstieg und Tipps         
Seite 5 von 7 ErsteErste ... 34567 LetzteLetzte
Ergebnis 41 bis 50 von 66

Thema: Sensorfusion mit unterschiedlicher statistischer Fehlerrate

  1. #41
    HaWe
    Gast
    Anzeige

    Praxistest und DIY Projekte
    moin!
    Danke für eure Beiträge!

    also das Ziel ist ja, wenn z.B. alle ca. 20ms eine neue Gruppe von 3 Sensoren (oder 4,5,6 oder7) je 1 neuen Messwert poduziert, dass man aus den 3er- (4er, 5er,...)-Gruppen schnell einen brauchbaren Wert erhält,mit dem man eine Abschätzung der tatsächlichen Entfernung enhält, die wahrscheinlih näher am echten Wert liegt als jeder Einzelwert für sich betrachtet.

    @Holomino
    Wenn diese (beispielhaft) drei Werte jetzt im Messbereich über eine Distand von 30cm verteilt sind (oder mehr, oder weniger), dann macht es doch einen Riesen-Aufwand, hier in 1cm-Schritten e-Funktionen auf jedem Zwischenpunkt aufzusetzen, dort mit den Sensorwerten durchzurechnen (die Rechnung wurde ja leider noch gar nicht genannt) per "hypthetic Distance", um dann nachzusehen, um dann anschließend das Maximum dieser 30 Werte (oder mehr, oder weniger) für "Eq." zu suchen.

    @Moppi:
    dass der gesuchte Wert irgendwo im Intervall zwischen min und max liegen muss, ist ja klar, und zwar vermutlich auch näher am Wert des zuverlässigsten Sensors, aber wie programmierst du es, dass er das Optimum der Vorhersage, das irgendwo in der Nähe liegen mag, wirklich findet? Und wie machst du es, wenn du 2 oder 3 sehr zuverlässige Sensoren hast mit divergenten Werten, und noch 5 oder 6 weniger zuverlässige zusätzlich?
    Die Fälle 1+2 im TOP Beispiel waren ja nur idealisierte, vereinfachte Anschauungsbeispiele. Tatsächlich sind solche Probleme aber statistisch lösbar, der Kalmanfilter oder die Monte-Carlo-Methode sind nur 2 Beispiele für Lösungsalgorithmen, allerdings rechnerisch recht aufwändig, andere wären Quadratur-Filter, Gaußsummenfilter oder Projektionsfilter. Um solche Filter (allerdings vereinfachte Algorithmen) geht es hier.

    Schaut man sich jetzt das Ergebnis "93" von Holomino an, bin ich mir schon sehr sicher, dass es die Realität sehr gut treffen wird, denn ich arbeite hier ja wahrscheinlich mit den Gauss Glockenkurven (auch wenn in Holominos Post keine Formel genannt wurde) und nicht mit einfachen gewichteten arithmetischen Durchschnitten.
    @Holomino: meinst du Dichtefunktion und Verteilungsfunktion und Fehlerfunktion hintereinander ausgeführt?
    https://wikimedia.org/api/rest_v1/me...e029134a113f34
    https://wikimedia.org/api/rest_v1/me...24dd4d174502d5
    https://wikimedia.org/api/rest_v1/me...3400a445ca4e4f

    Bei den gewichteten Durchschnitten, die ich oben nach manfs Link per einfacher Addition, Multiplikation und Division ausgerechnet habe, kam ich auf 97, das ist nach Holominos Tabelle nach 4 Rechen-Zeilen um ca. 4% schlechter.
    https://www.roboternetz.de/community...l=1#post646322


    @Holomino
    Zunächst: Leider fehlt bei dir noch Fall 2 zum Vergleich, das könnte noch hilfreich sein.
    Die Frage ist nun aber, lohnt sich der Aufwand, hier dutzende e-Funktionen an verschiedenen theoretischen Punkten aufzusetzen und durchzurechnen,
    und das alle 20ms, also 50x pro Sekunde,
    schafft das ein Arduino auch sicher, und hat er noch Zeit dann für andere Dinge, z.B. die Weiterverarbeitung dieser Daten und die Ortung und Navigation etc.?

    Wie schätzt du selber den relativen Aufwand deiner Methode ein, lohnt sich der Aufwand deiner Meinung nach?

    - Oder empfiehlt sich anstelle des "Kehrwerts der relat.Standardabweichung" ein anderer Faktor, um den gewichteten Durchschnitt anders und besser zu gewichten?
    Du, Holomino, hattest ja einen anderen Kehrwert als diesen angesprochen, welchen meintest du denn seinerzeit? (Die Frage war ja noch offen)

    - - - Aktualisiert - - -

    nochmal @ moppi:
    die Liste
    1. Messung: 100cm, Fehler: +/-20%
    2. Messung: 110cm, Fehler: +/-10%
    3. Messung: 90cm, Fehler: +/-5%

    heißt ja nicht, dass die Messwerte IMMER innerhalb dieser Grenzen liegen müssen, es ist nur ein gewisses Wahscheinlichkeitsniveau (68%), dass das so ist.
    Jeder dritte Wert (32%) liegt statistisch also immer außerhalb dieser Standardabweichung, das sind bei 50 messungen pro Sekunde für jeden Sensor immerhin 15-20 Messungen, die regelmäßig, statistisch betrachtet, stärker abweichen (teilw. auch extremer), und das tun sie statistisch völlig regelrecht (Glockenkurve), das wären dann also noch nicht einmal statistische "Ausreißer" . Bei der statistischen Auswertung darf man sich daher nicht auf diesen nur scheinbar engen Fehlerbereich beschränken.
    Geändert von HaWe (02.09.2018 um 10:09 Uhr) Grund: typo

  2. #42
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    71
    Beiträge
    13.060
    Ich habe die Dichtefunktionen der drei Sensoren für die erste Messung einmal aufgetragen, wobei das Integral der Kurven jeweils 1 ist. Das Integral der Wahrscheinlichkeitsdichte pro Intervall gibt an, wie hoch die Wahrscheinlichkeit ist, dass der Wert im entsprechenden Intervall liegt.
    Klicke auf die Grafik für eine größere Ansicht

Name:	Dichtefunktionen.jpg
Hits:	10
Größe:	30,7 KB
ID:	33600
    Zur Zusammenführung kann man grundsätzlich (!) für jedes Intervall berechnen, wie groß die Wahrscheinlichkeit ist, dass er es das richtige ist. Man erhält dadurch eine neue Dichtefunktion.
    Bei nur einer Messung ist die Wahrscheinlichkeit für einen Wert höher als wenn noch eine Messung hinzukommt, die eine andere Aussage macht. Es kommt zu einer bedingten Wahrscheinlichkeit, für die die Werte miteinander multipliziert werden.

    Das ist grundsätzlich interessant, für die aktuelle Aufgabe bin ich auch froh, dass es eine grundsätzliche Lösung in Wikipedia gibt.
    (Das Beispiel deutet sicher auch auf eine systematische Abweichung hin, aber es dient ja hier wie beschrieben auch mehr zur Veranschaulichung.)
    Geändert von Manf (02.09.2018 um 09:33 Uhr)

  3. #43
    HaWe
    Gast
    einer spontanen Eingebung folgend, und weil Holominos Werte noch näher am besseren Sensorwert lagen als meine zuletzt selber berechneten, habe ich jetzt einmal die relativen Varianzen zur Gewichtung verwendet statt der rel. Standardabweichungen (Wurzel aus Varianz = Standardabweichung, die waren ja bereits ausgerechnet):

    Variante: Varianz statt Standardabweichung:

    jetzt also mit Kehrwert der Varianzen gewichtet:

    Standardabw.->Varianz; Kehrwert
    sigma1= 0,2 -> 0,04; Kehrwert = 25
    sigma2= 0,1 -> 0,01; Kehrwert = 100
    sigma3= 0,05 ->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 <<< !

    @Holomino:
    Der Wert vom Fall 1 liegt also jetzt schon verdammt nah an deinem Wert, jetzt wäre wirklich deiner vom Fall 2 interessant!

    - - - Aktualisiert - - -

    danke manf, sehr anschaulich! hat sich mit meinem Post hier überschnitten
    Geändert von HaWe (02.09.2018 um 11:09 Uhr) Grund: typo

  4. #44
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.645
    Um welche Filter es gehen kann, ist mir schon klar geworden. Allerdings brauchst Du, um die Filter anzuwenden, immer die Voraussetzungen dafür. Man muss prüfen, ob die Werte, die hier geliefert werden zum Filter passen, damit dieser ein brauchbares Ergebnis liefern kann. Man kann natürlich Verschiedene ausprobieren und schauen, ob irgendwas davon passt, also mir die passendsten Werte liefert. Aber man muss doch zunächst wissen, mit was man es zu tun hat.

    HaWe Zitat: "heißt ja nicht, dass die Messwerte IMMER innerhalb dieser Grenzen liegen müssen, es ist nur ein gewisses Wahscheinlichkeitsniveau (68%), dass das so ist."

    Ich habe das gelesen. Das macht es bei einmaliger Messung mit einem Sensor noch unwahrscheinlicher, dass Du damit irgendwie annähernd einen Näherungswert errechnest, der dem Sollwert entspricht. Hier kannst Du erst mal nur von Idealwerten ausgehen, sprich, Du nimmst an, dass Du den Fehler mitteln kannst (z.B.). Dazu müssen die Werte überwiegend in einem bestimmten Bereich liegen. Sollten aber mögliche und unmögliche Werte der Messungen gleichmäßig verteilt sein, hast Du ein noch viel größeres Problem, Deine errechneten Werte weichen noch stärker ab. Deshalb würde ich zunächst Messreihen machen und schauen, dass ich daraus was ableiten kann. Ich muss mit einundderselben Messmethode letzten Endes immer gleiche Voraussetzungen bei den Messwerten haben, damit meine rechnerische Ableitung immer hinhaut. Manche Hersteller bieten für die Sensoren vielleicht auch Module/Schaltungen an, die brauchbarere Messdaten liefern, weil der Hersteller ja die Sensoren kennt und schaltungstechnisch das u.U. ausgebügelt werden kann.

  5. #45
    HaWe
    Gast
    nein, da muss ich widersprechen, ich mache ja "nur" eine statistische Auswertung auf der Basis von vorherigen Eich-Stichproben (100 Messwerte je Sensor) und der daraus berechneten stat. Varianzen und Standardabweichungen. Damit kann ich dann bei jeder Einzelmessung auf einem bestimmten Signifikanzniveau eine oder mehrere Aussagen mit jew. einer bestimmten Wahrscheinlichkeit treffen, und bei verschiedenen Aussagen kann ich die wahrscheinlichste heraussuchen.
    Ein Kalmanfilter in 9D-IMUs oder ein Partikelfilter, der zur Ortung eingesetzt wird, macht das grundsätzlich nicht anders.

  6. #46
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.645
    Wenn ich das jetzt so verstehe, dass die Messwerte sich innerhalb einer Min-Max-Grenze befinden, aber nur zu ca. 68%, dann bleiben ca. 32% Messwerte übrig, die nicht für die Messung in dem gedachten Toleranzbereich taugen. Entweder folgen diese 32% einer Gesetzmäßigkeit, dann könnte man sie mehr oder weniger gut herausrechnen. Falls die 32% aber zufällig verteilt sind, kann man nie sagen, auch nicht annähernd, welcher der Werte zu diesen 32% gehört - vorausgesetzt 100% der Werte befinden sich im gültigen Messbereich, sonst könnte man sie aussortieren, weil sie schlicht die möglichen Grenzwerte einer Messung verlassen (das wäre anwendungsabhängig). Man könnte weiter annehmen, dass die Messwerte aller Sensoren zu einem Zeitpunkt zwar innerhalb des gültigen Bereichs liegen, aber zu den 32% Falschen gehören - das ergibt einfach eine Falschmessung. Denn, es wird ja nur einmal gemessen. die 32% könnte man, denke ich, nur durch Mehrfachmessung aussortieren (also immer wieder messen, bis eine bestimmte Zahl Werte erreicht ist). Wenn Mehrfachmessung nicht möglich ist, bleibt nur den Grund zu eliminieren oder zumindest zu kennen, warum 32% der Werte ausbrechen.

  7. #47
    HaWe
    Gast
    ja, das ist eine Gesetzmäßigkeit bei normalverteilten Stichproben (="Messungen"),
    und nein, es ist eben hier KEINE min-max-Grenze,
    und nein, es gibt dann auch keine "32% falschen Werte":

    ca. 68% liegen im +/- 1*sigma-Bereich,
    ca. 95,5% im +/- 2*sigma-Bereich
    ca. 99,7% im 3*sigma-Bereich
    ca. 99,9999% im 4*sigma-Bereich

    das sind alles keine Falschmessungen, sondern nur statistisch normal-verteilte Messungen, die dann regelmäßig mit ihren relativen Häufigkeiten IMMER so auftreten.

    Bild hier  

    Wie gesagt, es ist eben keine min-max-Grenze (das wäre falsch, wen du das so verstehst), sondern sagt nur aus, wie breit der Bereich für +/- 1 sigma (=1 Standardabweichung) ist, und die betrifft IMMER nur 68% aller Stichproben-(Mess-)-Werte. Es ist quasi ein Naturgesetz in unserem Universum, genau wie die Eulersche Zahl e oder die Kreiszahl Pi als Naturkonstanten.

    Es gibt allerdings auch Herstellerangaben, die diese "Messgenauigkeitsbreite" z.B. auf +/-2*sigma Abweichung angeben, dann gilt dieser Bereich logischerweise für ca. 95,5% aller Messwerte; das ändert aber nichts an dem Aussehen der Gauß-Kurve und der Verteilung innerhalb der einfachen , zweifachen oder dreifachen Standardabweichung.

    Auch dann werden aber immer auch völlig "legale" Werte auftreten, die außerhalb dieses "Vertrauens-Bereichs" liegen, nur dürfen sie dann nur mit einer sehr geringen stat. Häufigkeit auftreten, die der Höhe der Gauß-Kurve an dieser Stelle entspricht. Treten sie jedoch dort häufiger auf, dann stimmt was nicht: Sensor kaputt oder Standardabweichung falsch berechnet oder externe Einflüsse oder was auch immer.

    Die +/- 1*sigma Grenzen entsprechen dabei in der Gauß-Glockenkurve immer exakt ihren mathematischen Wendepunkten links und rechts vom Mittelwert.
    Abstriche muss man allerdings insoweit machen, dass diese "Normalverteilung" ein mathematischer Idealfall ist, der bei Stichproben in der naturwissenschaftlichen Praxis immer nur angenähert auftritt, und manche Stichproben sind möglicherweise auch völlig anders als normal-verteilt, dann muss man ein völlig anderes mathematisches Modell zur Beschreibung Ihrer Verteilung verwenden.
    Geändert von HaWe (02.09.2018 um 20:22 Uhr)

  8. #48
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.645
    HaWe, was steht links am Diagram? ... Habs schon gefunden: Erwartungswert μ (?)

    Wenn ich das richtig sehe, handelt es sich hier um Wahrscheinlichkeiten aufgrund einer statistischen Häufigkeit.

    Ich kann mir vorstellen, dass man damit z.B. Fehlerkorrekturen durchführen kann. Also wenn ich von irgendwas Werte habe und einzelne Werte fehlen. Kenne ich die Verteilung der Werte, kann ich die fehlenden Werte durch Berechnung ersetzen, um ein zufriedenstellendes Ergebnis zu erhalten. Beispiel Rauschen auf Tonband. Da gibts ja Rosa Rauschen und Weißes Rauschen z.b. Wenn dort jetzt Lücken entstanden sind (Tonaussetzer, Fehler in der Magnetisierung) dann kann ich neue Werte für die Lücken auf dem Tonband berechnen und erhalte ein zufriedenstellendes Ergebnis, dass ich rein vom Hören nicht vom Original unterscheiden kann. Wobei aber die berechneten Werte nicht die Originalwerte abbilden, sie passen lediglich sehr gut in das Gesamtbild.

    Theoretisch könnte man auch Sensormesswerte, anhand der schon tatsächlich vorher gemessenen Werte, voraus berechnen. Man könnte auch rückschließen, ob der nächste gemessene Wert, anhand der schon tatsächlich vorher gemessenen Werte, wahrscheinlich zutreffend ist (oder mit welcher Wahrscheinlichkeit er zutreffend ist). Es ist aber nur eine statistische Betrachtung.




    Ich bleibe gespannt, was jetzt dabei heraus kommt. Immerhin setzt Du drei Sensoren voraus, nicht nur einen.
    Geändert von Moppi (02.09.2018 um 22:39 Uhr)

  9. #49
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.645
    Einen Einfall habe ich dazu noch:

    Wenn die Schwankungen der Messwerte einer Regel unterliegen (weil beispielsweise störungsbedingt ein Sinus dort reinspielt) kann man das bis zu einem gewissen Grad wieder herausrechnen. Ich kann von einem Objekt, dessen Entfernung zu einem Anderen bekannt ist, die Koordinaten (wie: 52° 31' 18.905" N 13° 24' 47.574" E) berechnen, wenn ich die Koordinaten eines Objektes kenne - allerdings nur vereinfacht mit einem relativen Fehler, wenn ich einfach annehme, dass die Erde eine Kugel ist. Du willst als Störgröße hier aber keinen Sinus oder etwas derartiges nehmen, sondern, wie Du sagst: relative Häufigkeiten, die regelmäßig verteilt seien. Darin sind zwei Unbekannte: die Relation und die Regelmäßigkeit (in der das Wort Regel drinsteckt). Wenn Du beides mathematisch definieren kannst, solltest Du theoretisch zumindest zu einem gewissen Prozentsatz das Ergebnis einer Messung korrigieren/schärfen können. Ob und wie das gelingen kann, weiß ich nicht. Aber ich habe so meine Zweifel, ob das zufriedenstellend gelingen kann. Immerhin hättest Du 3 Sensoren und eine Vergleichsmessreihe mit 100 Werten (war doch so?).

    Um das nachher für einen Computer abzubilden, bzw. in Echtzeit mit einem einfachen Computer / Controller zu berechnen, geht man Näherungsweise in der Genauigkeit vor, die man benötigt und die für den Speicherplatz und Ausführungsgeschwindigkeit passend ist, indem man komplizierte Berechnungen vorher ausführt und die Ergebnisse in Tabellen ablegt. So ungefähr das Prinzip eines Tafelwerkes. Der Algorithmus für den Computer/Controller muss dann entsprechend aus der Ursprungsberechnung/Formel abgeleitet werden.
    Geändert von Moppi (03.09.2018 um 06:47 Uhr)

  10. #50
    HaWe
    Gast
    @Moppi
    Ich fasse mal zusammen:

    ich habe, wie im TOP beschrieben, zunächst nur ein stat. Verfahren gesucht, das ähnlich wie ein Kalman- oder ein Partikelfilter (SMC) in der Lage ist, Sensorwerte nach ihrer stat. Zuverlässigkeit zu gewichten, nur einfacher und dadurch mit weniger Rechenaufand (Matrizenrechnung etc), auch dutzende e-Funktionen sind m.E. für den Dauerbetrieb auf einem kleinen µC zu aufwändig. Dass es dann nicht 100% so exakt wie ein Kalman- oder SMC Filter sein kann, ist ntl auch klar.

    Die stat. Datenbasis für die Auswertung ist durch "repräsentative" Eichstichproben erstellt worden; alternativ könnten bei anderen Sensoren auch die Daten von Herstellern verwendet werden, das habe ich aber noch nicht betrachtet (kommt noch).

    Statistiken auf der Basis von Datenerhebungen und Standardabw. können natürlich nie erkenntnistheoretische "Gewissheit" erzeugen, aber nach der Theorie der Statistik eine gewisse (rel. hohe) Wahrscheinlichkeit, und die kann deutlich besser sein als einfache arithmetische Mittel oder Low-Pass- oder Medianfilter, die ja auch nur irgendwelche Werte bevorzugen oder "herausfiltern".

    Unbenommen ist je nach Ergebnis die weitere Datenverarbeitung (z.B. ob hier evtl doch zu viele "Ausreißer" aufgetreten sind, so dass man evtl noch weiter glätten, gewichten oder filtern muss).

    Meine eigene Idee mit (1-Standardabw.) gewichtete hier für die Durchschnitte noch zu schwach.

    Die gewichteten Durchschnitte per Kehrwert der Sensor-"Ungenauigkeit", wie in Wiki beschrieben, ist da offenbar eine gangbare Methode, nur was hier unter "Ungenauigkeit" zu verstehen ist, ist dort nicht exakt spezifiziert.

    (1/Standardabw) als Wichtungsfaktor gewichtete aber immerhin schon deutlich besser in Richtung "zuverlässigere Quellen";

    allerdings Holominos Bereechnung mit den komplizierteren vielfachen e-Funktionen ("Wahrscheinlichkeitsdichtefunktion-Methode"), die statistisch sicher deutlich sauberer und verlässlicher als einfache gewichtete Durchschnitte sind, zeigte, dass diese immer noch näher am "zuverlässigsten Sensor" liegen, d.h. (1/Standardabw) ist immer noch tendenziell zu schwach gewichtet.

    Die Idee allerdings, (1/Varianz) als Wichtungsfaktor einzuführen, brachte das Ergebnis, dass jetzt das Ergebnis im Beispiel-Fall 1 (ca. 1m Distanz) sehr nah an der Wahrscheinlichkeitsdichtefunktion-Methode liegt. Als alleiniger Vergleich reicht dies natl noch nicht.

    Was also wichtig wäre, wäre zumindest als Vergleich das Ergebnis für Fall 2 (ca. 10cm-Distanz, s. TOP), ggf noch weitere.
    Dann könnte man entscheiden, ob entweder wirklich (1/Varianz) der tendenziell bessere Wichtungsfaktor ist oder doch lieber der etwas schwächere per (1/Standardabw).

    @Holomino:
    könntest du bitte den Fall 2 mal durchrechnen? Dein Programm wirst du ja noch haben, und ich selber kenne ja den gesamten Programmcode noch nicht.
    Eventuell hast du auch eine Idee für einen 3. Fall, den man exemplarisch ebenfalls über ganz andere Messbereiche betrachten und vergleichen könnte..?
    Oder könntest du vlt auch deinen Programmcode (C++) einfach hier einstellen, dann kann ich auch selber noch etliche solcher Tests machen?

Seite 5 von 7 ErsteErste ... 34567 LetzteLetzte

Ähnliche Themen

  1. Sensorfusion Kompass und Ultraschall (Zeitstempel?)
    Von BattleBot im Forum Robby RP6
    Antworten: 1
    Letzter Beitrag: 13.01.2013, 02:46
  2. [ERLEDIGT] 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