Wer mit dem LEGO Education SPIKE Prime Robotik-Bausatz arbeitet, befasst sich früher oder später mit dem Farbsensor. Ob für die Farberkennung beim Bau eines Sortierroboters, die Messung des reflektierten Lichts bei der proportionalen Linienverfolgung oder die Steuerung eines Roboters anhand farbiger Markierungen auf einem Wettbewerbs-Parkour – der Farbsensor hat einen breiten Einsatzbereich.
In unseren AGs stoßen wir dabei jedoch immer wieder auf das Problem, dass der Sensor nicht zu funktionieren scheint bzw. vermeintlich ungenaue oder fehlerhafte Messwerte liefert. Einige Beispiele dafür:
- Der Sensor misst das reflektierte Licht bei einem weißen oder hellgrauen Untergrund mit 20 bis 25%. Zu erwarten wäre ein Wert über 70%.
- Farben werden nicht korrekt oder gar nicht erkannt.
- Ein proportionaler Linienverfolger fährt geradeaus, obwohl sich der Farbsensor vollständig über oder neben der Linie befindet und daher die Fahrtrichtung korrigieren sollte.
Ohne uns lang über technische Zusammenhänge oder Hintergründe auszulassen, wollen wir hier einige Punkte zusammenstellen, die – hoffentlich – bei der Fehlersuche helfen:
Abstand des Farbsensors zu Boden oder Objekten anpassen
Laut der Information in den „Technical Specifications“ zum Farbsensor (Online-Abruf über diesen Link) ist die „Optimal reading distance: 16 mm (depending on object size, color, and surface)“. Das entspricht etwa der Höhe von zwei Lego-Bausteinen übereinander. Achten Sie also darauf, dass z. B. ein nach unten gerichteter Farbsensor nicht zu hoch und nicht zu niedrig befestigt ist.
Übrigens: Lego selbst hat diese Vorgabe bei der Bauanleitung für das „Erweiterte Fahrgestell“ nicht berücksichtigt und den Farbsensor zu niedrig eingeplant. Hier muss man also korrigieren.
Richtigen Sensor-Modus wählen
Im Dashboard der LEGO Spike-App kann man den Arbeitsmodus des Farbsensors wählen: „Farberkennung“ oder „Stärke des reflektierten Lichts“. Hier sollte man den Modus nutzen, der für den jeweiligen Einsatz am besten geeignet erscheint. Laut der Infos in den LEGO-Tutorials ermöglicht etwa der Reflexions-Modus „höchste Präzision“.
Interessant zu wissen: Auch im Modus „Reflektiertes Licht“ erkennt der Sensor weiterhin Farben, Dadurch können Anwendungen wie die proportionale Linienverfolgung und Manöver anhand von Farbmarkierungen kombiniert werden.
Messwerte kontrollieren, Farbsensor kalibrieren
Diverse Faktoren können die Messwerte des Farbsensors insbesondere im Modus „Reflektiertes Licht“ beeinflussen, z. B. die Lichtverhältnisse (viel / wenig Umgebungslicht, Lichttemperatur) oder die Beschaffenheit der Oberfläche (matt / glänzend).
Vor dem Einsatz des Sensors sollte man daher testen, welche Werte er für relevante Farben misst, und den eigenen Code darauf anpassen (kalibrieren). So kann eine schwarze Linie statt der erwarteten 0% reflektierten Lichts tatsächlich 10 – 15% liefern; ein weißer Untergrund wird bei geringer Beleuchtung dann mit 80% statt 100% gemessen. Diese Messwerte lassen sich am einfachsten über das Dashboard der SPIKE-App ablesen.
Nutzt man die Sensorwerte für mathematische Operationen, berücksichtigt man die Abweichungen bei der Berechnung (der noch beim SPIKE-Vorgänger vorhandene Kalibrierungs-Programmierblock ist bei SPIKE entfallen): Zeigt bei einer proportionalen Linienverfolgung etwa die schwarze Linie einen Messwert von 10% reflektiertes Licht und der helle Untergrund 70%, trägt man als Zielwert (Linienkante: 50% schwarz, 50% weiß) statt der in in vielen Tutorials genannten „50“ eben eine „40“ ein.
Ein interessantes Video dazu gibt es über diesen Link auf Youtube.
Farberkennung prüfen
Selbst mit der Farberkennung hat der Farbsensor manchmal so seine Probleme: So unterscheidet er nicht immer zuverlässig zwischen Dunkelblau und dem helleren Blau der Spike-Motoren.
Während man in diesem Fall etwa mit Python die RGB-Werte von Farben und im Code verwenden kann, sind die Möglichkeiten bei der Programmierung mit den Textblöcken, wie sie die meisten Einsteiger nutzen, sehr eingeschränkt. Hier bleibt eigentlich nur die Möglichkeit, sich auf klar unterscheidbare Farben zu beschränken.
Zusammenfassung
Die genannten Ansätze umfassen die nach unserer Erfahrungen häufigsten Schwierigkeiten beim Einsatz des Farbsensors. Es handelt sich also um „Erste Hilfe“-Maßnahmen. Bei spezifischen Problemen bieten natürlich das Internet bzw. Foren oder Communities wie Reddit oder Facebook-Gruppen Hilfe.
Wir wünschen auf jeden Fall viel Erfolg mit SPIKE Prime!