Quad RGB Sensor (mBot2)

_______.png

Der Quad-RGB-Sensor nutzt sichtbares Licht als Fülllicht, wodurch die Störung durch Umgebungslicht deutlich reduziert wird. Darüber hinaus bietet er eine Funktion zur Farberkennung. Die neue Umgebungslicht-Kalibrierungsfunktion reduziert ebenfalls die Störung durch Umgebungslicht bei der Linienfolge. Mit vier Lichtsensoren unterstützt er mehr Programmierszenarien.

image__20_.png|640x221

Technische Daten

Erfassungsbereich: 5–15 mm vom zu erkennenden Objekt entfernt

Tastenfunktionen

Platziere die Lichtsensoren auf dem Hintergrund der Linienverfolgungskarte und drücke die Taste zweimal. Wenn die LEDs, die den Linienverfolgungsstatus anzeigen, schnell blinken, bewege die Sensoren über dem Hintergrund und der Linie hin und her, bis die LEDs nicht mehr blinken. Dies dauert etwa 2,5 Sekunden. Die erhaltenen Parameterwerte werden automatisch gespeichert. Wenn das Lernen fehlschlägt, blinken die LEDs langsam und Du musst das Lernen erneut starten.

Gedrückt halten: Wenn die Taste lange gedrückt wird, wechselt der Quad-RGB-Sensor die Farbe der Füllleuchten. Im Allgemeinen musst Du die Farbe nicht ändern. Die Farbe wird nach Abschluss des Lernvorgangs automatisch eingestellt.

Programmierung

Du kannst mBlock 5 oder Python verwenden, um den Quad-RGB-Sensor zu programmieren.

mBlock 5

Verbinde den Quad-RGB-Sensor mit CyberPi, füge CyberPi hinzu und verbinde es mit mBlock 5. Füge anschließend die Erweiterung Quad-RGB-Sensor hinzu. Weitere Informationen zum Hinzufügen von CyberPi und zum Verbinden mit mBlock 5 sowie zum Hinzufügen der Erweiterung findest Du unter „ mBot2 hinzufügen und verbinden “ und „ Erweiterungen hinzufügen”.

Erfassungsmodus einstellen

Der Quad-RGB-Sensor kann so programmiert werden, dass er eines der folgenden Merkmale erfasst:

Zur Farberfassung misst der Quad-RGB-Sensor das von einem Objekt reflektierte Licht anhand seiner Rot-, Grün- und Blauwerte (RGB). Es stehen acht Farben zur Verfügung.

Um eine Farbe zu erfassen, musst Du im Block eine Farbe auswählen, die verwendet werden soll, zum Beispiel:

image__21_.png

Zur Graustufenerkennung misst der Quad-RGB-Sensor die Intensität des von einem Objekt reflektierten Lichts unabhängig von dessen Farbe.

Um Graustufen zu erkennen, musst Du im zu verwendenden Block Zeile oder Hintergrund auswählen, zum Beispiel:

image__22_.png

Ermittlung der Ausgabewerte

Der Quad-RGB-Sensor kann Werte basierend auf der erkannten Farbe oder Graustufe ausgeben. Du kannst diese Werte mithilfe der Reporter-Blöcke ermitteln, zum Beispiel:

image__23_.png

Farbe der Fülllichter ändern

Du kannst die Farbe der Fülllichter zwischen grün, rot und blau ändern, indem Du die Taste lange gedrückt hältst oder den folgenden Block verwendest:

image__24_.png

Hinweis: Der Quad-RGB-Sensor kann Farben unabhängig von der Farbe der Fülllichter erkennen.

In einigen Anwendungsszenarien musst Du die Farbe der Fülllichter ändern. Weitere Informationen findest Du unter „ Szenarien zur Linienerkennung.“

Szenarien für die Linienerkennung

Bevor Du den Quad-RGB-Sensor zur Linienerkennung verwenden kannst, musst Du eine grundlegende Kalibrierung durchführen.

Grundlegende Kalibrierung

  1. Platziere die vier Lichtsensoren des Quad-RGB-Sensors auf dem Hintergrund, drücke zweimal auf die Taste am Sensor und bewege den Sensor dann horizontal über die Linie und den Hintergrund.
  2. Überprüfe die beiden Lichtsensoren in der Mitte (L1 und R1) des Quad-RGB-Sensors. Befindet sich der Roboter auf der Linie, sollten die blauen LEDs der beiden Lichtsensoren ausgeschaltet sein. Die beiden LEDs werden abwechselnd ein- und ausgeschaltet, wenn Du den Roboter über die Linie schwenkst.
  3. Siehe auch Kalibrierungsblock verwenden

Tipps: Der Quad-RGB-Sensor kann dunkle Linien auf hellem Hintergrund unabhängig von der Farbe der Beleuchtung erkennen.

Im Folgenden werden mehrere Szenarien zur Linienerkennung sowie die für jedes Szenario empfohlenen Anwendungen und Blöcke beschrieben.

Szenario 1: Schwarze Linie + weißer Rand um die Linie + weißer Hintergrund

Beispiel:

image__25_.png

Führe eine Grundlegende Kalibrierung des Quad-RGB-Sensors durch, damit er die Linie und den Hintergrund erkennen kann.

Level Anwendungen und empfohlene Blöcke Remarks
1a: junior - Um festzustellen, ob der Quad-RGB-Sensor den spezifischen Zeilenstatus erkennt: - image__26_.png - Um den Status der erkannten Zeile zu erhalten
1b: intermediate image__28_.png Um Kreuzungen zu erkennen image__29_.png Der Quad-RGB-Sensor kann die Linie nicht übersehen und daher nicht feststellen, ob eine T-Kreuzung tatsächlich eine Kreuzung ist (Form eines „+“, die eigentliche Linie verläuft nach dem T weiter). Dies kann nur überprüft werden, indem man gerade über das T fährt und feststellt, ob die Linie weiter verläuft.
1c: advanced Zur Implementierung einer fließenden Linienverfolgung: image__30_.png Überprüfe den Ausgabewert dieses Blocks. Ändere die Farbe der Füllleuchten, um sicherzustellen, dass der Ausgabewert 0 ist, wenn sich der Roboter in der Mitte der Linie befindet. Die Farbe der Füllleuchte kann einen geringen Einfluss auf den Ausgabewert haben.

Szenario 2: Schwarze Linie mit farbigen Abschnitten + weißer Rand um die Linie + weißer Hintergrund

Beispiel:

image__31_.png

Die empfohlenen Anwendungen und Blöcke sind dieselben wie in Szenario 1, jedoch ist eine spezielle Kalibrierung erforderlich.

Es kann eine der folgenden Methoden verwendet werden:

Wichtig zu wissen:

Szenario 3: Einfarbige Linie + weißer Rand um die Linie + weißer Hintergrund

Beispiel:

image__32_.png

Führe eine Grundlegende Kalibrierung des Quad-RGB-Sensors durch, damit er die Linie und den Hintergrund erkennen kann.

Die empfohlenen Anwendungen und Blöcke sind dieselben wie in Szenario 1.

Hinweise:

Szenario 4: Schwarze Linie + weißer Rand um die Linie + farbiger Hintergrund/Illustrationen

Beispiel:

image__33_.png

Führe eine Grundlegende Kalibrierung des Quad-RGB-Sensors durch, damit er die Linie und den Hintergrund erkennen kann.

Level Anwendungen und empfohlene Blöcke Anmerkungen
4a: junior - Um festzustellen, ob der Quad-RGB-Sensor den spezifischen Linienstatus erkennt: - image__34_.png - Um den Status der erkannten Linie zu erhalten
4b: intermediate image__36_.png Um Kreuzungen zu erkennen: image__37_.png Die Außenbereiche (Hintergrund) können je nach Lichtverhältnissen als zu verfolgende Linie erkannt werden. In diesem Fall kannst Du nur die L1und R1-Lichtsensoren zur Linienerkennung verwenden oder sicherstellen, dass der weiße Rand um die Linie herum breit genug ist, damit die Sensoren den äußeren Hintergrund nicht erkennen.
4c: advanced Um Abweichungen von der Linie zu erkennen: image__38_.png Wenn die Farben der Außenbereiche der Farbe der zu verfolgenden Linie zu ähnlich sind, kann dies den Ausgabewert des Abweichungsmelders beeinflussen und somit die Linienverfolgung beeinträchtigen. Drücke in diesem Fall lange auf die Taste des Quad-RGB-Sensors, um die Farbe der Füllleuchten zu ändern, und stelle sicher, dass der Unterschied zwischen der Linie und dem Hintergrund erkannt wird. Die blauen LEDs werden abwechselnd ein- und ausgeschaltet, wenn Du den Sensor über die Linie schwenkst. Wenn Du den Abweichungsmelderblock verwendest, schalte die Farbe der Füllleuchten um, um sicherzustellen, dass der Ausgabewert 0 ist, wenn der Roboter in die Mitte der Linie gestellt wird. Die Farbe der Füllleuchte kann einen großen Einfluss auf den Ausgabewert haben.

Szenario 5: Schwarze Linie + einfarbiger Rand um die Linie + weißer Hintergrund

Beispiel::

image__39_.png

Führe eine Grundlegende Kalibrierung des Quad-RGB-Sensors durch, damit er die Linie und den Hintergrund erkennen kann.

Die empfohlenen Anwendungen und Blöcke sind dieselben wie in 1a von Szenario 1. Eine Kreuzungserkennung und Abweichungserkennung wird nicht empfohlen, da der Rand um Linien herum von L2 oder R2 als zu verfolgende Linie erkannt werden kann.

Tipps: Du kannst den Quad-RGB-Sensor auch so programmieren, dass er helle Linien auf dunklen oder farbigen Hintergründen erkennt.

Beispiele für die Programmierung der Farberkennung

Beispiel 1: Ermitteln Sie die RGB-Werte, die von den Lichtsensoren des Quad-RGB-Sensors erkannt werden

Verwende das folgende Programm, um die RGB-Werte, die von den Lichtsensoren des Quad-RGB-Sensors erkannt werden, auf dem Bildschirm des CyberPi anzuzeigen:

RGB-Ausgabe

screenshot-20230220-161359.png|640x360

Beispiel 2: Definieren Sie eine Farbe und ihre Toleranz

Stelle den Block beispielsweise wie folgt ein.

image__40_.png

R G B
Anfängliche RGB-Werte 255 40 40
Wenn die Toleranz auf 10 festgelegt ist:
Obere Grenze der RGB-Werte 255 50 50
Untere Grenze der RGB-Werte 245 30 30

Du kannst die Toleranz basierend auf dem Umgebungslicht und den Farbunterschieden der Objekte einstellen.

Beispielprogramm:

Farbe definieren

image__41_.png

Nachdem Du CyberPi gestartet hast, leuchten die LEDs auf CyberPi grün, wenn die von Dir definierte Farbe, in diesem Beispiel Rot, von beiden Sensoren R1 und L1 erkannt wird. Andernfalls leuchten die LEDs auf CyberPi rot.

Beispiel 3: Farbe eines Objekts bestimmen

Beispielprogramm:

Farbe eines Objekts bestimmen

image__42_.png

(1) Platziere den Quad-RGB-Sensor über dem Objekt, dessen Farbe erkannt werden soll.

(2) Drücke die Taste A auf dem CyberPi. Die Farbe des Objekts wird erkannt und die RGB-Werte werden auf dem Bildschirm des CyberPi angezeigt.

(3) Drücke die Taste B auf dem CyberPi. Die RGB-Werte werden vom Bildschirm des CyberPi gelöscht.

Block für die Kalibrierung des Quad-RGB-Sensors hinzugefügt

image__43_.png

Warum muss ich den Quad-RGB-Sensor kalibrieren?

Die Leistung des Quad-RGB-Sensors kann durch Umgebungslicht, Karte, Farbkarte oder den Abstand zwischen den Lichtsensoren und dem zu erkennenden Objekt erheblich beeinträchtigt werden. Daher kann die Kalibrierung des Quad-RGB-Sensors in der Umgebung und unter den Bedingungen, unter denen er verwendet werden soll, die Erkennungsgenauigkeit verbessern.

Vorbereitung der Kalibrierung

Kalibrierungsschritte

(1) Verbinde den Quad-RGB-Sensor über ein mBuild-Kabel mit dem mBuild-Anschluss am mBot2 Shield oder CyberPi.

(2) Verbinde CyberPi über ein USB-Kabel mit Deinem Computer.

(3) Öffne mBlock 5 und verbinde CyberPi mit mBlock 5.

image__44_.png

(4) Füge die Erweiterung Quad RBG Sensor hinzu.

image__45_.png

(5) Schreibe das folgende Programm und lade es auf CyberPi hoch. Alternativ kannst Du ein Programm im Live-Modus schreiben.

image__46_.png

Der Kalibrierungsvorgang ist kurz. Platziere den Quad-RGB-Sensor (12 mm bis 13 mm empfohlen) über dem weißen Papier, bevor Du das Kalibrierungsprogramm startest.

image__47_.png

Während der Kalibrierung leuchten die Fülllichter in anderen Farben auf und werden dann auf die vordefinierte Farbe zurückgesetzt, was wie ein Blinken aussieht. Wenn die Kalibrierung abgeschlossen ist, erscheint auf dem Bildschirm des CyberPi die Meldung „Kalibrierung abgeschlossen“. Du kannst das Programm ausführen, um die Kalibrierung des Quad-RGB-Sensors erneut durchzuführen.

Block zum Umschalten des Farberkennungsmodus hinzugefügt

image__48_.png

Was bedeutet der Farberkennungsmodus?

Der Algorithmus des Quad-RGB-Sensors basiert auf dem Farbmodell Farbton, Sättigung, Wert **(**HSV). Der Standardmodus bezieht sich auf den in früheren Firmware-Versionen verwendeten Schwellenwert, während der Farbverbesserungsmodus zur neuesten Firmware hinzugefügt wurde, in der der Schwellenwert basierend auf dem HSV-Modell an Anwendungsszenarien angepasst wird. Du kannst einen Farberkennungsmodus nach Bedarf auswählen.

Hinweise

Standardmäßig wird der Standard-Farberkennungsmodus verwendet, wenn dieser Block nicht ausgeführt wird.

Um nach Verwendung des farbverbesserten Modus wieder zum Standardmodus zurückzukehren, kannst Du eine der beiden folgenden Methoden verwenden: