Robot može biti opremljen senzorima boje.
Radi se o 6-kanalnom senzoru, koji prepoznaje 6 boja: crvenu, plavu, žutu, zelenu, narančastu i ljubičastu. Točnije, daje intenzitet svake od ovih komponenata izmjerene boje.
Zvuči dobro, ali u praksi se javljaju problemi:
- boja podloge (koju mjerimo) ne ovisi samo o podlozi, nego i o boji svjetla koje ju obasjava,
- intenzitet pojedine komponente boje isto ne ovisi samo o tome koliko je podloga svijetla, nego i koliko je snažno svjetlo koje ju obasjava,
- crna i bijela podloga mogu imati jednaku komponentu neke boje kao i ta sama boja.
Rezultat ovih problema je da je vrijednost zelene komponente zelene pozadine jednaka vrijednosti koju senzor daje na bijeloj ili crnoj podlozi. Znači, ne možemo porepoznavati zelenu boju samo temeljem vrijednosti koju senzor daje za zelenu boju.
Pa kako onda? Ako zelenu ne možemo prepoznati senzorom zelene, čemu uopće senzor?
Rješenje postoji. Ako zelena i bijela imaju istu komponentu zelene, sigurno postoje neke druge razlike: koliko je crvena komponenta, kolika je ukupna svjetlost koju senzor vraća, itd.
Ukratko, treba koristiti
sve kanale, ne samo kanal koji je najbliži traženoj boji, u slučaju da se u mjerenjima može pojaviti bijelo ili crno.