Sensorsimulator für Kalibrierung und Fusion
Erkunde Rauschen, Bias, Drift, Quantisierung, Ausfälle, Filterung und Fusion in einem deterministischen interaktiven Sensorsimulator.
- Kategorie
- Sensorik
- Zeitaufwand
- 60–150 Min.
- Plattform
- Browser · Microcontroller
01 / Hier starten
Einführung
Roboter handeln auf Messungen, die verzögert, verzerrt, verrauscht und unvollständig sind. Dieses Projekt macht diese Grenzen sichtbar. Vergleiche Wahrheit, Rohwerte und gefilterte Schätzung; ändere Abtastbedingungen; und lerne, wie Kalibrierung nachgelagerte Regelung beeinflusst.
Live lab / Deterministic measurement model
Robot sensor simulator
Compare a known signal with noisy absolute readings and a filtered estimate. Change one error source at a time to see what calibration can—and cannot—fix.
The main plot compares solid truth, individual absolute-sensor samples, and the thicker dashed estimate. The lower band shows signed estimation error around zero; gaps mark dropped absolute samples.
- Truth
- —
- Absolute
- —
- Estimate
- —
- Error
- —
- RMSE
- —
- Dropped
- 0
Keyboard: focus the plot, then use Space to run/pause, N to step, R to reset, and F for full screen.
Steuerung
Wähle ein glattes oder gestuftes Wahrheitssignal und stelle dann Abtastrate, Quantisierung, Zufallsrauschen, Drift, Bias, Ausfälle und Filterspeicher ein. Vergleiche Rohdaten mit Gleitmittel-, Tiefpass-, Median- und Komplementärschätzung. Voreinstellungen machen verrauschtes, verzerrtes und unzuverlässiges Sensorverhalten wiederholbar.
Theorie
Jeder Sensor hat Messbereich, Auflösung, Genauigkeit, Bandbreite, Latenz und Fehlverhalten. Datenblattgenauigkeit beschreibt nur einen Teil des Systems; Montage, Temperatur, Versorgungsrauschen, elektromagnetische Störung und Flächeneigenschaften dominieren echte Ergebnisse oft.
Fusion funktioniert, wenn Sensoren komplementäre Info beitragen und ihre Unsicherheit ehrlich abgebildet ist. Zwei verzerrte Messungen zu kombinieren schafft nicht automatisch Wahrheit. Beginne mit Kalibrierung, Zeitstempeln, Koordinatenrahmen und Datenqualitätsprüfungen.
Algorithmus
- Jede Abtastung an der Erfassungsgrenze zeitstempeln und auf Bereich prüfen.
- Roheinheiten per Kalibrierskala, Offset und Achsenausrichtung umrechnen.
- Unmögliche Sprünge verwerfen oder als ungültig markieren statt Daten zu erfinden.
- Das leichteste Filter anwenden, das die Nachlauf-Rauschanforderung erfüllt.
- Messungen in gemeinsamen Rahmen transformieren und mit bekannter Unsicherheit fusionieren.
- Roh- und Prozesswerte loggen, damit Fehler reproduzierbar bleiben.
Quellcode
Ein exponentieller Tiefpass nützt, wenn seine Zeitkonstante bewusst gewählt ist:
class LowPass:
def __init__(self, alpha):
self.alpha = alpha
self.value = None
def update(self, sample):
if self.value is None:
self.value = sample
else:
self.value += self.alpha * (sample - self.value)
return self.value
Zeichne den Rohwert neben dem Filterergebnis auf. Sonst kann ein hübsches Diagramm Clipping, Ausfälle und Kalibrierfehler verstecken.
Annahmen und Unterschiede zur Hardware
Dieses Labor ist ein didaktisches Signalmodell, kein konkretes Sensordatenblatt. Rauschen ist gauß- oder gleichverteilt per Saat mit Drehregler; ein echter IMU- oder ToF-Sensor fügt temperaturabhängigen Bias, nichtgaußsche Spitzen und Bustiming-Jitter hinzu, die dieses Modell vereinfacht. Abtastung ist hier perfekt periodisch, doch auf dem Mikrocontroller machen Schleifentiming und Interruptlatenz Zeitstempel essenziell — darum vergleicht jeder Verarbeitungsmodus in der Steuerung Wahrheit, Rohwerte und Schätzung gemeinsam. Filterung sieht im Diagramm attraktiv aus, doch jeder Glätter fügt Verzug hinzu, der später auf Hardware als Regelverzug erscheint; derselbe Zielkonflikt steht im Sensorrausch-Tutorial.
Schaltplan
Prüfe Busspannung, Pull-up-Bedarf, Adressen und maximale Kabellänge, bevor du mehrere Sensoren verbindest.
Geführte Experimente
Die Regler in diesem Labor existieren, damit du jeden Sensorfehler gezielt erzeugen kannst und dann siehst, welches Werkzeug ihn behebt. Das einmal zu tun ist viel Lesen wert.
1. Beweisen, dass Filterung keinen Bias fixt
Setze Rauschen auf null und Bias auf klaren Offset. Probiere nun jedes Filter — gleitender Mittelwert, Tiefpass, Median. Keines bewegt die Schätzung Richtung Wahrheit, denn alle drei dämpfen Schwankung, und ein Bias schwankt nicht.
Setze dann Bias auf null und Rauschen hoch und sieh dieselben Filter gut arbeiten. Das ist die nützlichste Unterscheidung der Sensorarbeit: Rauschen, Bias und Drift sehen im Diagramm ähnlich aus und brauchen drei verschiedene Lösungen — mehr Filterung heilt nie Bias.
2. Zusehen, wie ein Mittel eine Spitze verschmiert, die ein Median verwirft
Schalte Ausfälle oder Spitzen ein und vergleiche gleitenden Mittelwert gegen Median gleichen Fensters.
| Filter | Was ein Ausreißer tut |
|---|---|
| Gleitmittel aus 5 | Verschiebt die Schätzung für fünf Abtastungen in Folge |
| Median aus 5 | Trägt gar nichts bei |
Ultraschall- und Time-of-Flight-Rauschen ist nicht gaußförmig — es sind gelegentliche wilde Werte gegen sonst ruhiges Signal. Genau den Fall behandelt ein Mittel am schlechtesten.
3. Messen, was der Verzug kostet
Schalte auf gestuftes Wahrheitssignal und senke alpha des Filters (oder verlängere das Fenster). Die Schätzung wird glatter und kommt später. Lies den Verzug je Einstellung aus dem Diagramm:
| Filtereinstellung | Typischer Verzug | Bei 0,3 m/s sind das |
|---|---|---|
| Median aus 3 | ~1 Abtastung | 3 mm |
| Gleitmittel aus 10 | ~4,5 Abtastungen | 14 mm |
| Tiefpass, α = 0,1 | ~9 Abtastungen | 27 mm |
| Tiefpass, α = 0,02 | ~49 Abtastungen | 147 mm |
Die letzte Zeile erzeugt eine wunderschön glatte Spur und lenkt einen Roboter dorthin, wo das Hindernis vor 15 cm war. Prüfe den Verzug immer in den Einheiten, die den Roboter interessieren, nicht in Abtastungen — so macht ein gut gemeintes Filter einen Roboter am häufigsten schlechter.
4. Sehen, was Fusion kann und nicht kann
Setze eine Quelle verrauscht-aber-unverzerrt und die andere glatt-aber-driftend und beobachte, wie die Komplementärschätzung von jeder die gute Hälfte nimmt. Gib dann beiden Quellen denselben Bias und beobachte, wie die fusionierte Schätzung ihn exakt erbt.
Fusion nutzt unabhängige Fehler aus. Ein Gleichtaktfehler überlebt unberührt — darum kommt Kalibrierung vor Fusion statt danach.
Was du beobachten solltest
| Konfiguration | Roh | Bestes Filter | Warum |
|---|---|---|---|
| Gaußrauschen, kein Bias | Streut symmetrisch | Gleitmittel oder Tiefpass | Rauschen mittelt sich Richtung Wahrheit |
| Gelegentliche Spitzen | Meist gut, selten wilde Werte | Median | Verwerfen Ausreißer glatt |
| Konstanter Offset | Eng, aber falsch | Keines — kalibrieren | Filterung sieht den Offset nicht |
| Langsame Drift | Startet richtig, läuft weg | Keines — nachkalibrieren oder fusionieren | Braucht absolute Referenz |
| Ausfälle | Lücken | Median plus Letzt-gut-halten | Ein erfundener Wert ist schlimmer als eine markierte Lücke |
| Quantisiert | Landet auf diskreten Stufen | Keines — das ist deine Auflösung | Filtern zwischen Stufen fügt Verzug hinzu, keine Info |
Umsetzung auf Hardware
| Dieses Labor | Echter Sensor |
|---|---|
| Abtastung ist perfekt periodisch | Schleifentiming und Interruptlatenz machen Zeitstempel essenziell |
| Rauschen ist gauß- oder gleichverteilt per Saat | Nichtgaußsche Spitzen und Bias, der mit Temperatur wandert |
| Wahrheit steht zum Vergleich bereit | Du hast keine Wahrheit — darum kalibrierst du gegen bekannte Eingabe |
| Ausfälle sind explizit | Ein Ausfall kann wie ein plausibler Wert aussehen |
| Ein Sensor zur Zeit | Mehrere Busse, mehrere Raten und Ausrichtprobleme dazwischen |
Die praktische Vorgehensweise für einen echten Sensor ist kurz: Halte ihn still gegen bekannte Eingabe, logge wenige tausend zeitgestempelte Abtastungen und trace Zeitverlauf und Histogramm. Das Histogramm ist der Teil, den Leute überspringen, und der informativste — Gaußrauschen macht eine Glocke, Ausreißer eine Glocke mit wenigen Punkten weit draußen in den Flanken, und beide brauchen verschiedene Filter. Die volle Methode steht in Sensorrauschen, Bias und Filterung.
Hardware-Checkliste
Bauteile
- Mikrocontroller oder Einplatinenrechner
- Ein oder mehrere digitale oder analoge Sensoren
- Bekannte Kalibrierreferenzen
- Stabile geregelte Versorgung und korrekte Logikpegel
- Logging-Verbindung für wiederholbare Versuche
Den Graphen erkunden
Wo dieser Simulator verwendet wird
Die Projekte, Lernpfade und Tutorials, die auf diesem Labor aufbauen.
Weiterbauen
Ressourcen herunterladen
Nutze diese Referenzen auf der Seite, während du das Projekt durcharbeitest. Herunterladbare Projektpakete kommen erst hinzu, wenn ihr Quellcode und ihre Version veröffentlicht sind.
Häufige Fragen
Häufig gestellte Fragen
Ist ein glatteres Signal immer ein besseres Signal?
Nein. Starke Filterung kann nutzbare Bewegung entfernen und Verzug einführen. Wähle ein Filter aus Rauschspektrum, nötiger Antwortzeit und den Entscheidungen, die die Messung verbrauchen.
Was unterscheidet Bias und Rauschen?
Bias ist ein wiederholbarer Offset vom wahren Wert, Rauschen schwankt zwischen Abtastungen. Kalibrierung kann Bias schätzen; Mitteln oder Filtern kann Zufallsrauschen reduzieren, aber unbekannten Bias nicht zuverlässig entfernen.
Was ist Sensordrift und was unterscheidet sie von Bias?
Bias ist ein fester Offset, den du einmal messen und abziehen kannst. Drift ist langsame Änderung dieses Offsets über der Zeit, meist mit Temperatur oder Bauteilalterung — eine Startkalibrierung passt also allmählich nicht mehr zur Realität. Darum brauchen lange Läufe periodische Nachkalibrierung oder eine Referenz, gegen die der Schätzer korrigieren kann.
Welches Filter soll ich nehmen: gleitender Mittelwert, Tiefpass oder Median?
Gleitender Mittelwert und exponentieller Tiefpass glätten beide gaußartiges Rauschen und tauschen über Fenster oder Zeitkonstante Ansprechverhalten gegen Glätte. Ein Medianfilter entfernt besser gelegentliche Spitzen und Ausfälle, denn wenige schlechte Werte bewegen den Mittelwert nicht. Nimm das leichteste Filter, das die Nachlaufanforderung erfüllt, statt das glattest aussehende.
Wie viel Verzug fügt Filterung hinzu?
Jedes Glättungsfilter hinkt dem wahren Signal hinterher, mehr Glättung heißt mehr Verzug: Ein Tiefpass mit langer Zeitkonstante verwirft mehr Rauschen, fällt aber bei schnellen Änderungen weiter zurück. Trage die gefilterte Schätzung immer gegen Rohwerte und Wahrheit auf, sodass der Verzug sichtbar ist, bevor du dich im Regelkreis darauf verlässt.
Was ist Sensorfusion und wann hilft sie wirklich?
Fusion kombiniert mehrere Sensoren zu einer Schätzung und hilft nur, wenn die Sensoren komplementäre Info beitragen und ihre Unsicherheit ehrlich abgebildet ist. Zwei verzerrte Messungen zu kombinieren schafft keine Wahrheit. Ein Komplementärfilter etwa traut einem Sensor hochfrequent und dem anderen niederfrequent; beginne mit Kalibrierung, Zeitstempeln und Koordinatenrahmen vor dem Fusionieren.
Warum sollte jede Abtastung einen Zeitstempel bekommen?
Abtastungen kommen selten im perfekt festen Intervall, und Fusion wie Filterung setzen voraus, dass du weißt, wann jeder Wert gemessen wurde. Zeitstempel lassen dich Jitter erkennen, Daten verschiedener Sensoren ausrichten und alte Messwerte verwerfen. Rohwerte neben verarbeiteten zu loggen hält Fehler wie Clipping, Ausfälle und Kalibrierfehler reproduzierbar.
Weiterführende Literatur
Quellen
Maßgebliche Quellen, um tiefer einzusteigen als das begrenzte Lernmodell dieses Simulators.