Quad RGB Sensor (mBot2)
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.
Technische Daten
Erfassungsbereich: 5–15 mm vom zu erkennenden Objekt entfernt
Tastenfunktionen
- Doppelklick: Wenn die Taste zweimal gedrückt wird, beginnt der Quad-RGB-Sensor, den Hintergrund und die Linie für die Linienverfolgung zu lernen.
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:
- Farbe
- Graustufen
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:
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:
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:
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:
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
- 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.
- Ü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.
- 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:
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: - |
|
| 1b: intermediate | 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: |
Ü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:
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:
- Führe die Grundkalibrierung für die hellste Farbe unter den farbigen Abschnitten durch, beispielsweise Gelb, damit alle dunkleren Farben als Schwarz erkannt werden.
- Führe die Grundkalibrierung für die schwarze Linie durch und drücke dann lange auf die Taste am Sensor, um die Farbe des Fülllichts zu ändern und zu sehen, ob der Sensor die verschiedenfarbigen Abschnitte als die zu verfolgende Linie erkennt.
- Roter Abschnitt: Verwenden Sie das grüne oder blau/weiße Fülllicht.
- Gelber Abschnitt: Verwenden Sie das blau/weiße Fülllicht.
- Grüner und blauer Abschnitt: Alle Fülllichter funktionieren.
Wichtig zu wissen:
- Wenn Du die Farbe der Fülllichter in mBlock 5 eingestellt hast, werden die Fülllichter durch die Kalibrierung zurückgesetzt (jedes Fülllicht durchläuft schnell die Farben R/G/B).
- Farbige Abschnitte innerhalb der zu verfolgenden Linie können die erweiterte, reibungslose Linienverfolgung beeinträchtigen (wird als Abweichung von der Linie erkannt). Wenn beispielsweise die Grundkalibrierung auf dem gelben Abschnitt durchgeführt wird, kann der blaue Abschnitt als Abweichung gemeldet werden, selbst wenn er zu 100 % auf der Linie liegt.
Szenario 3: Einfarbige Linie + weißer Rand um die Linie + weißer Hintergrund
Beispiel:
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:
- Wenn Du den Block „Abweichungsmelder” verwendest, drücke lange auf die Taste am Quad-RGB-Sensor, um die Farbe der Fülllichter zu ändern, damit der Ausgabewert 0 ist, wenn Du den Roboter in die Mitte der Linie stellst.
- Es wird nicht empfohlen, den Block „Abweichungsmelder” zu verwenden, wenn der Kontrast zwischen Linie und Hintergrund gering ist.
Szenario 4: Schwarze Linie + weißer Rand um die Linie + farbiger Hintergrund/Illustrationen
Beispiel:
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: - |
|
| 4b: intermediate | 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: |
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::
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:
Beispiel 2: Definieren Sie eine Farbe und ihre Toleranz
- Du kannst eine Farbe mit den folgenden RGB-Bereichen definieren:
- R: 0–255
- G: 0–255
- B: 0–255
- Toleranz
Stelle den Block beispielsweise wie folgt ein.
| 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:
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:
(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
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
- Aktualisiere die Firmware auf Version 011 und aktualisiere die Erweiterung Quad-RGB-Sensor auf die neueste Version.
- Zusammengebauter mBot2 oder CyberPi + mBot2 Shield + Quad-RGB-Sensor
- Weißes Papier im Format A6 oder größer oder der weiße Bereich auf der Linienverfolgungskarte des mBot2
- Suche einen Ort mit normaler Raumbeleuchtung anstelle von intensivem Licht.
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.
(4) Füge die Erweiterung Quad RBG Sensor hinzu.
(5) Schreibe das folgende Programm und lade es auf CyberPi hoch. Alternativ kannst Du ein Programm im Live-Modus schreiben.
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.
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
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:
- Lösche den Block Setzt den Farberkennungsmodus auf () aus Deinem Programm. Beachte jedoch, dass Du CyberPi ausschalten und neu starten musst, damit der Standardmodus wirksam wird.
- Verwende den Block Setzt den Farberkennungsmodus auf () und wähle den Modus Standard.