Real-Time and Embedded Systems

Lichtsensor

Der Lichtsensor ist eine der zwei Komponenten, mit dessen Hilfe der NXT "sehen" kann. Er ist eine Weiterentwicklung des bisherigen RCX Lichtsensor. Die Empfindlichkeit wurde deutlich verbessert und der Sensor erlaubt sehr präzise Lichtmessungen auf einer Skala zwischen 0 (kein Licht) und 100 (sehr hell).

Der Lichtsensor kann in zwei Modi betrieben werden: Erfassen des von Oberflächen reflektierten Lichts, das von der LED unterhalb des Sensors ausgestrahlt wird, oder aber Erfassen des Umgebungslichts, wobei die LED ausgeschaltet ist. Falls die erste Variante gewählt wurde, ist beim Roboterdesign zu beachten, dass der Sensor so platziert wird, dass er von äußeren Lichtquellen nicht gestört werden kann.

Ein weiterer Designaspekt ist die richtige Positionierung relativ zum Drehpunkt des Roboters. Wird der Sensor möglichst vorn (also weit weg vom Drehpunkt) positioniert, so wird der Roboter eine Bogenlinie ruckfrei verfolgen können, da er in dieser Bauweise Richtungskorrekturen schneller machen kann. Wird jedoch eine gerade Linie verfolgt, wird der Roboter mehr Zick-Zack-Bewegungen machen, da die Linienerkennung umso sensitiver ist, umso der Lichtsensor weiter vorn positioniert wird. Wird der Sensor näher am Drehpunkt angebracht, gelten natürlich genau die gegenteiligen Aussagen.

Eine der Schwierigkeiten beim Umgang mit dem Lichtsensor ist die Veränderung des Umgebungslichts. Man denke z.B. an einen Übungsraum mit großen Fenstern, durch die die Sonne direkt auf den Roboter strahlt. Da das Umgebungslicht im Laufe der Zeit nicht konstant bleibt, ist sehr empfehlenswert im Programm die Möglichkeit zur Sensorkalibrierung vorzusehen. Somit kann bei jedem Programmstart die gegenwärtige Intensität der externen Lichtquellen gemessen werden und die Empfindlichkeit des Sensors entsprechend eingestellt werden.

Farbsensor

Der NXT Farbsensor stellt eine Erweiterung des Lichtsensors dar. Er kann in drei Funktionen eingesetzt werden. Als Farbsensor unterscheidet er sechs verschiedene Farben. Fungiert er als Lichtsensor, kann er genau wie dieser sowohl das von Oberflächen reflektierte Licht messen, als auch unterschiedliche Lichtintensitäten bei Umgebungslicht erkennen. Außerdem kann das Gerät als Lichtquelle eingesetzt werden, die wahlweise rot, blau oder grün leuchtet.

Eigentlich kann auch der normale Lichtsensor Farben erkennen. Diese werden als Schattierungen von Grau interpretiert. Der Messwert einer Farbe wird dann irgendwo im Bereich zwischen 0 (Schwarz) und 100 (Weiß) liegen. Allerdings kann das Umgebungslicht die Messwerte sehr stark beeinflussen, so dass eine Sensorkalibrierung zwingend erforderlich ist. Außerdem kann es durchaus passieren, dass mehrere Farben denselben Grauwert haben.