Tutorial · Einsteiger · 18 Min. Lesezeit
Ultraschall- gegen Laufzeit-Sensoren für Roboter
Ultraschall- und Laufzeit-Entfernungssensoren vergleichen, dann montieren, kalibrieren, filtern und für verlässliche Hindernisvermeidung validieren.
Ein Entfernungssensor gibt einem Roboter, was ein Bumper nicht kann: Zeit zum Reagieren vor Berührung. Er ersetzt den Bumper nicht – ein Kontaktschalter fängt das schwarze Stuhlbein, das Glas und das Hindernis in falscher Höhe, das jeder Entfernungssensor verfehlt. Zwei gängige billige Wahlen sind Ultraschallsonar und optische Laufzeit (ToF). Beide melden Entfernung, interagieren aber verschieden mit Oberflächen. Allein nach maximaler beworbener Reichweite zu wählen erzeugt fragile Hindernisvermeidung.
Die nützliche Frage lautet: Welcher Sensor liefert gültige Messungen für Ziele, Licht, Geometrie, Aktualisierungsrate und Anhalteweg dieses Roboters?
Verstehen, wie jeder Sensor misst
Ein Ultraschallsensor sendet einen Schallstoß über menschlichem Hören und misst die Echozeit. Entfernung ist näherungsweise halbe Hin-und-her-Laufzeit mal Schallgeschwindigkeit. Die Halbierung steht für Hin- und Rückweg zum Ziel.
Ein optischer Laufzeitsensor sendet moduliertes Infrarotlicht und schätzt Entfernung aus dem zurückkehrenden Signal. Bauteile wie die VL53-Familie enthalten Timing und Signalverarbeitung intern und liefern Ergebnisse meist über I²C.
Ihre Fehlermoden unterscheiden sich:
- Schall kann von angewinkelten, weichen, schmalen oder schallschluckenden Zielen wegreflektieren.
- Mehrere Ultraschallsensoren hören einander, wenn man sie nicht kontrolliert getaktet auslöst.
- Optische Sensoren kämpfen mit reflexionsarmen Zielen, starkem Umgebungsinfrarot, Deckglasübersprechen oder Zielen außerhalb ihres Sichtfelds.
- Kein Typ weiß automatisch, ob ein Ergebnis vertrauenswürdig ist; Status- und Signalqualitätsdaten nutzen, wo verfügbar.
Aus Szene und Regelschleife wählen
Ultraschallmodule nützen, wenn Kosten zählen, Ziele vernünftig breit sind und ein breiterer Schallstrahl akzeptabel ist. Sie erkennen transparente Objekte, die manche optischen Verfahren fordern. Ihr Strahl meldet außerdem eine nahe Wand, die nicht direkt vor dem Roboter steht.
ToF-Module sind kompakt, haben an vielen Bauteilen steuerbares Timing und können einen engeren Interessensbereich liefern. Mehrere identische I²C-Sensoren brauchen eventuell Abschaltpins oder eine Adresszuweisungssequenz. Starkes Sonnenlicht und dunkle Flächen muss man auf der wirklichen Plattform testen.
Vor dem Hardwarekauf vier Anforderungen aufschreiben:
- Minimale und maximale Nutzreichweite.
- Erforderliche Aktualisierungsperiode.
- Kleinstes zu erkennendes Hindernis.
- Schlimmstes Ziel und Umgebung: schwarzer Stoff, Glas, angewinkelte Wand, Sonnenlicht oder Querverkehr.
Dann diese Anforderungen mit dem Herstellerdatenblatt vergleichen, nicht einer Marktplatzzusammenfassung.
Für die benötigte Messung montieren
Die Messachse dorthin legen, wo der Roboter Freirauminformation braucht – nicht bloß dorthin, wo eine Halterung passt. Ein Sensor hoch am Chassis verfehlt niedrige Hindernisse; einer zu tief sieht Bodenreflexionen oder Radhardware. Bumper und Chassis außerhalb des Sichtfelds halten.
Für reaktives Lenken sind vorne-links-, vorne-mittig- und vorne-rechts-Messungen informativer als ein einzelner Vorwärtsstrahl. Drei Sensoren müssen jedoch nicht gleichzeitig feuern. Ultraschallpings getrennt takten und genug Zeit lassen, damit Echos abklingen.
Steife Montage zählt. Vibration ändert die Zeigerichtung und Kabelbewegung korrumpiert grenzwertige Verbindungen. Sitzt ein optischer Sensor hinter einem Schutzfenster, das Übersprech-Kalibrierverfahren des Herstellers für exakt diesen mechanischen Aufbau befolgen.
Offset kalibrieren und Wiederholbarkeit testen
Ein großes flaches Ziel senkrecht zum Sensor in mehreren genau vermessenen Entfernungen über den Arbeitsbereich stellen. Mindestens 50 Messwerte pro Punkt erfassen. Aufzeichnen:
- mittlere oder mediane gemeldete Entfernung;
- Streuung, etwa Minimum/Maximum oder Standardabweichung;
- Zählwert ungültiger Status;
- Umgebungsbedingungen und Zielmaterial.
Eine fast konstante Differenz ist ein Offset und darf nach Ursachenklärung korrigiert werden. Entfernungsabhängiger Fehler braucht ein besseres Modell oder einen engeren Vertrauensbereich. Keine komplexe Kurve an eine lose Halterung oder schlechte Versorgung fitten.
Für ein ToF-Modul erst die spezifizierte Offsetkalibrierung fahren, dann Übersprechkalibrierung. Kalibrierdaten speichern und beim Start laden, wenn die Geräte-API das verlangt. Nach Wechsel von Deckfenster oder Montagegeometrie neu kalibrieren.
Ungültige Messwerte vor Glätten filtern
Einen Timeout, Außerbereichscode oder niedrigen Qualitätsstatus als ungültig behandeln – nicht als null Zentimeter. Null kann einen Notstopp befehlen – Kommunikationsfehler zu null zu machen erzeugt also unsicheres Verhalten.
Ein Median der letzten drei oder fünf gültigen Messwerte verwirft einzelne Spitzen, ohne sie ins Regelsignal zu mitteln:
if (measurement.valid) {
window.push(measurement.distanceMm);
if (window.size() > 5) window.popOldest();
filteredDistance = median(window);
}
Ein Tiefpassfilter liefert glattere Anzeige, fügt aber Verzögerung hinzu. Das Sensorfilter-Tutorial erklärt diesen Zielkonflikt. Rohwert und Gültigkeitsstatus in Logs behalten, damit Filterung keinen sterbenden Sensor versteckt.
Aus Entfernung eine sichere Anhalteregel machen
Hindernisvermeidung muss Bewegung einrechnen. Eine nützliche Schwelle enthält Bremsweg, Messverzögerung, Rechen- und Aktorverzögerung plus Marge:
stopThreshold = speed² / (2 × deceleration) + speed × delay + margin
Erreichbare Verzögerung auf echtem Untergrund messen statt annehmen – es ist die Traktionsgrenze µg, nichts was Motoren entscheiden, und die durchgerechnete Arithmetik steht hier. Bei höherem Tempo wächst der Bremsterm quadratisch mit Tempo – eine feste 15-cm-Schwelle ist also nicht bei jedem Befehl gleich sicher.
Hysterese gegen Flattern nutzen: Unter einer Schwelle in den Stoppzustand eintreten und erst über einer größeren Schwelle fortsetzen. Eine kleine Zahl konsistenter gültiger Messwerte für normales Lenken verlangen – bei gleichzeitig bewusst konservativer Antwort auf ein glaubwürdig nahes Hindernis.
Schwierige Ziele validieren
Eine Testmatrix mit flacher Wand, angewinkelter Wand, schmalem Pfahl, dunklem Stoff, transparenter Platte und bewegtem Hindernis aufbauen. Nahe Mindestreichweite, nahe beabsichtigter Stoppschwelle und nahe maximaler Betriebsreichweite testen. Unter Innenlicht und Sonnenlicht wiederholen, wenn der Roboter beides sieht.
Erkennungsrate und Latenz messen, nicht nur mittlere Entfernung. Ein Sensor, der 90 % der Zeit genau ist, aber periodisch eine halbe Sekunde einfriert, kann für einen schnellen Roboter inakzeptabel sein.
Die gängigen Fehler diagnostizieren
- Stabiler Offset überall: Den physischen Referenzpunkt verifizieren, dann Herstellerkalibrierung anwenden.
- Zufällige kurze Ultraschallmesswerte: Auf Übersprechen, elektrisches Rauschen oder späte Echos naher Strukturen achten.
- ToF-Messwerte verschlechtern sich hinter Fenster: Offset- und Übersprechkalibrierung für dieses Deckmaterial durchführen.
- Der Roboter schwingt nahe einer Wand: Hysterese hinzufügen und Filterverzögerung verringern, bevor man Lenkung nachstimmt.
- Er erkennt Wände, verfehlt aber Stuhlbeine: Strahlgeometrie und Montage decken das erforderliche Ziel nicht ab.
- Er stoppt nur bei Tempo zu spät: Schwellenlogik ignoriert Bremsweg und Latenz.
Den Hindernisvermeidungssimulator nutzen, um Reichweite, Sichtfeld, Lenkung und Anhalteweg zu erproben, bevor man Schwellen auf Hardware überträgt.
Den Graphen erkunden
Teil dieser Bauprojekte
Projekte und Lernpfade, die dieses Tutorial enthalten.
Weiterführende Literatur