Farberkennung mit dem RGB Gestensensor APDS9960

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
Benutzeravatar
uffi
Beiträge: 404
Registriert: 24 Jan 2014, 16:21
Wohnort: München

Farberkennung mit dem RGB Gestensensor APDS9960

Beitrag von uffi » 31 Dez 2022, 15:43

Liebe aktive Mitglieder des Forums,

ich habe mit dem Robotics Smarttech das vierrädrige Modell aufgebaut und das Programm Omniwheels_track_gesture_sensor_4.rpp auf dem Parcours mit der ovalen Linie und den farbigen Flächen getestet. Der RGB Gestensensor ist seitlich am Modell in Fahrtrichtung rechts montiert und schaut nach unten.

Bei mir werden die Farben nicht korrekt erkannt:
  • yellow wird als red erkannt
  • green wird als blue erkannt
  • blue und red werden gar nicht bzw. als weiß erkannt, selten wird red auch mal als yellow erkannt.
Hatte hier im Forum schon mal jemand dieses Problem?

Danke, uffi63

Benutzeravatar
uffi
Beiträge: 404
Registriert: 24 Jan 2014, 16:21
Wohnort: München

Re: Farberkennung mit dem RGB Gestensensor APDS9960

Beitrag von uffi » 01 Jan 2023, 12:35

Hab jetzt mal die HSV Werte erfasst, wenn der Sensor stationär über den Farbflächen positioniert wird:

Farbe der Fläche Hue Saturation Value
blau 229 0.2 0.3
grün 192 0.0 0.3
rot 322 0.1 0.2
weiß 240 0.5 1.3

Kein Wunder, dass da was schiefläuft...
Dann werde ich mal die Fehlersuche starten, können ja die Messwerte oder die Umrechnung falsch sein.

Benutzeravatar
Widi
Beiträge: 59
Registriert: 04 Mär 2019, 22:00

Re: Farberkennung mit dem RGB Gestensensor APDS9960

Beitrag von Widi » 01 Jan 2023, 13:09

Hallo uffi

Eigentlich geht der Sensor ganz ordentlich(wenn er funzt)
Das Demo-Oval ist etwas zu klein und braucht gutes Licht

Ist Dein Sensor sauber (Staubkorn ) :idea:
Hast Du alle varianten Licht-Abstand-Bewegung getestet
Ohne modellaufbau nur TXT-Sensor und dazu entsprechendem Programm

Programm Omniwheels_track_gesture_sensor_4.rpp
Unterprogramm
APDS9960-init mod 3
Bei Utp- rgb2hsv bei Temp 1-3 muss bei (rot-grün-blau)eine klare Zahlen veränderung sein
In Utp r-g-b-detected versuchen die Zahlenwerte anpassen

gruss widi
Dateianhänge
Zwischenablage01.jpg
Zwischenablage01.jpg (180.45 KiB) 1561 mal betrachtet

Benutzeravatar
uffi
Beiträge: 404
Registriert: 24 Jan 2014, 16:21
Wohnort: München

Re: Farberkennung mit dem RGB Gestensensor APDS9960

Beitrag von uffi » 01 Jan 2023, 15:07

Hallo widi,

Danke für Deine Antwort und die Tipps, denen ich nachgegangen bin:
- kein Staub auf dem Sensor
- Abstand habe ich nun variiert zwischen geringerem und weiterem Abstand, Ergebnis leider in beiden Fällen weiterhin unbefriedigend (größerer Abstand scheint vorteilhaft, da weniger Abschattung der Messfläche durch den Sensor. Welcher Abstand hat bei Dir gut funktioniert?
- Licht: auch mit weißer Leuchtdiode, die auf die Farbfläche leuchtet, keine Verbesserung
- RGB und HSV Werte: diese unterscheiden sich, aber es wirkt blaulastig, außerdem schwanken die Werte. Z.B. die RGB Werte auf roter Fläche: mal wird nur ein Rot-Anteil angezeigt, ab und zu kommt ein nicht vernachlässigbarer Blau-Anteil dazu.

Ist noch kein abschließendes Fazit (nur eine Zwischenmeldung), ich mache weiter.

Danke und Gruß, uffi

Benutzeravatar
Widi
Beiträge: 59
Registriert: 04 Mär 2019, 22:00

Re: Farberkennung mit dem RGB Gestensensor APDS9960

Beitrag von Widi » 01 Jan 2023, 15:47

Hallo
Meine besten Werte gibts bei 2-2.5cm Abstand
Da laufend neu Eingemessen wird ergibt sich keine konstante Zahl
es wird einfach ein mittelwert genommen
Wie schon mal geschrieben ich bleib beim Farbmessen bei der Kamera :D

ich verfolge natürlich Deine Ergebnisse

widi

Benutzeravatar
uffi
Beiträge: 404
Registriert: 24 Jan 2014, 16:21
Wohnort: München

Re: Farberkennung mit dem RGB Gestensensor APDS9960

Beitrag von uffi » 01 Jan 2023, 17:13

Danke, widi.
Noch eine Frage: was bedeutet dieser Schieberegler "Autolevel" im Display, der auf 3 steht, den man aber auch auf 2,1 oder 0 einstellen kann?

Benutzeravatar
Widi
Beiträge: 59
Registriert: 04 Mär 2019, 22:00

Re: Farberkennung mit dem RGB Gestensensor APDS9960

Beitrag von Widi » 01 Jan 2023, 17:59

Leider hab ich zur Zeit das Model Fahrzeug nicht betriebsbereit zusammengebaut
dem Programm nach kann man mit dem Regler die abfrage der Farbflächen Aktionen beeinflussen :?:

widi

Benutzeravatar
uffi
Beiträge: 404
Registriert: 24 Jan 2014, 16:21
Wohnort: München

Re: Farberkennung mit dem RGB Gestensensor APDS9960

Beitrag von uffi » 01 Jan 2023, 21:34

Mit einigen Modifikationen läuft nun die Farberkennung passabel:

1) Ich habe auf der gegenüberliegenden Seite des Sensors eine helle weiße LED (nicht die FT LED, die ja eine gelbe Funzel ist, Formfaktor SMD flach 70x20 mil, 50mA Betriebsstrom) horizontal eingebaut, die in Richtung der Fahrzeugmitte strahlt. Damit ist nun auch Betrieb im dunklen Zimmer abends möglich.

2) Ich habe die HSV-Werte in den Unterprogrammen red_detect, green_detect, blue_detect und yellow_detect angepasst:
  • red_detect 300 bis 10 statt original 347 bis 7 (Standard-rot laut wikipedia 0)
  • green_detect 90 bis 150 statt original 61 bis 114 (Standard-grün laut wikipedia 120)
  • blue_detect 210 bis 270 statt original 178 bis 222 (Standard-blau laut wikipedia 240)
  • yellow_detect 10 bis 60 statt original 30 bis 47 (Standard-gelb laut wikipedia 60)
3) Außerdem habe ich die Zählerwerte, wie oft die Farben in nacheinander folgenden Messungen wiederholt erkannt werden müssen, bevor eine Aktion abgeleitet wird, auf einheitlich 5 gesetzt (statt original unterschiedlich von 1 bis 7).

Ab und zu wird weiß fehlerhaft als gelb erkannt. Ansonsten klappt es jetzt.

Gruß, uffi

Bild
Dateianhänge
IMG_2245_small.jpg
IMG_2245_small.jpg (97.7 KiB) 1401 mal betrachtet

Benutzeravatar
Widi
Beiträge: 59
Registriert: 04 Mär 2019, 22:00

Re: Farberkennung mit dem RGB Gestensensor APDS9960

Beitrag von Widi » 01 Jan 2023, 22:04

Hallo
Supper,
geduld und tüfteln zahlt sich aus :D
FT ist ja auch Hobby
widi

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1833
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: Farberkennung mit dem RGB Gestensensor APDS9960

Beitrag von Dirk Fox » 08 Jan 2023, 15:34

Hallo Uffi,

der Gestensensor liefert nach Datenblatt einen RGB-Wert. Aus den drei Werten für rot, grün und blau lässt sich nach einer einfachen Formel der Farbcode in Grad im Farbkreis berechnen. Wie das geht, haben wir im didaktischen Material zum "Education Computing Base Set" erklärt, das wir für fischertechnik entwickelt haben, zu finden auf der fischertechnik-Webseite (leider etwas versteckt):

https://www.fischertechnik.de/de-de/ser ... nd-add-ons (scrollen/suchen: "RGB-Farbcode").

Was fischertechnik in dem ROBO Pro Coding-Codebeispiel für den Spielzeugbereich berechnet, weiß ich nicht - aber Deine Zahlen sehen so aus, als ob da mglw. etwas nicht ganz stimmt. Übrigens liefert der Sensor auch einen Weiß-Wert; damit sollte sich eine Verwechselung mit gelb ausschließen lassen.

Herzliche Grüße,
Dirk

Karl
Beiträge: 2212
Registriert: 24 Sep 2016, 17:28

Re: Farberkennung mit dem RGB Gestensensor APDS9960

Beitrag von Karl » 08 Jan 2023, 18:19

Hallo,
vielleicht sind diverse PDFs über Farbsensoren und LEDs von Interesse ?
https://docplayer.org/55802955-Welche-g ... paper.html
PDFs kann man kostenlos und ohne Probleme herunterladen um diese in Ruhe zu lesen.

Benutzeravatar
uffi
Beiträge: 404
Registriert: 24 Jan 2014, 16:21
Wohnort: München

Re: Farberkennung mit dem RGB Gestensensor APDS9960

Beitrag von uffi » 10 Jan 2023, 10:31

@Dirk Fox: danke für den Hinweis, das habe ich mir nun angeschaut. Im RoboPro Code-Beipiel des Smarttech nimmt FT die Umrechnung von RGB in den HSV Farbraum vor. Ich werde überprüfen, ob das 1:1 so umgesetzt wurde, wie in Eurer Beschreibung. Das mit dem Weißwert, den der APDS9960 liefert, ist ein guter Hinweis. Dem werde ich auch noch nachgehen.

@Karl: danke für die Links.

Gruß, uffi

Antworten