Skocz do zawartości

Czujnik koloru podłoża - czy dobrze kombinuję?


ethanak

Pomocna odpowiedź

Witam.

Od dłuższego czasu chodzi mi po głowie projekt robota poruszającego się po fragmencie terenu oznaczonego kolorem. Przykładowo: animatroniczna kaczuszka pływająca po jeziorze z niebieskiego prześcieradła czy atrapa statku płynącego po meandrującej rzece z niebieskiego szala. Robot porusza się stosunkowo wolno, czyli czas pomiaru koloru nie musi być specjalnie krótki.

Czujnik koloru składałby się z dwóch fotorezystorów i trzech lub czterech diod oświetlających WS2812B (aby lepiej oświetliły podłoże, chociaż może wystarczyły by dwie). Diody mam w nadmiarze (kiedyś kupiłem na Ali do innego projektu w jakiejś śmiesznej cenie i zostało mi jeszcze kilkadziesiąt) - dlatego nie zwykłe RGB.

Mierzę kolejno natężenie odbitego od podłoża światła dla ciemności oraz oświetlenia każdą składową. W ten sposób powinienem otrzymać informację, na ile różni się kolorem podłoże po którym porusza się robot od zadanego koloru (np. zapamiętanego po postawieniu robota na fragmencie wzorcowego podłoża).

I pytanie: czy to ma szanse działać? Czy ktoś próbował czegoś podobnego?

Link do komentarza
Share on other sites

Porównywać byś chyba musiał z białym, bo z ciemności to dostaniesz raczej zawsze 0.

Niestety, kolor jest zjawiskiem fizjologicznym, a nie fizycznym, więc mierzenie go metodami innymi niż pytanie człowieka "co widzisz?" często daje zaskakujące, nieoczekiwane efekty. W przypadku pozostawania na jednym rodzaju powierzchni może być łatwiej, bo tak naprawdę niekoniecznie interesuje cię dokładny kolor, tylko ogólnie zmiana charakteru podłoża, więc to może zadziałać. Pamiętaj tylko, że fotorezystory także są czułe różne długości fali światła w różnym stopniu. Oczywiście najlepiej najpierw zrobić kilka eksperymentów "na sucho" — nie potrafię powiedzieć jak sprawny będzie taki zaimprowizowany czujnik.

W razie czego istnieją specjalizowane czujniki koloru — podłączasz, zbliżasz do oświetlonego obiektu i dostajesz przez I2C odczyt wartości RGB albo temperatury i nasycenia — gdyby twój improwizowany czujnik nie działał, możesz spróbować przełączyć się na to.

Link do komentarza
Share on other sites

Porównywać muszę z ciemnym aby wyeliminować wpływ oświetlenia zewnętrznego. Robot może pracować w różnych warunkach oświetlenia, szczególnie światło rozproszone może zależeć od położenua/kuerunku robota. A czujnik muszę umieścić jak najbliżej przodu - czyli odpada możluwość zrobienia osłony.

Masz rację - nie interesuje mnie percepcja koloru identyczna z ludzkim wzrokiem, a tylko możliwość odróżnienia rodzaju podłoża na podstawie trzech wartości RGB. Diody emitują światło monochromatyczne, czyli wartość analizowana przez prigram będzie miała niewiele wspólnego z tym, co ja widzę.

Wstępna kalibracja (postawienie robota na białej kartce) pozwoli wyeliminować różnicę czułości fotorezystora dla wsxystkichbtrzech składowych.

Pierwszy eksperyment zrobiłem - patząc na wykresy trzech wartości byłem w stanie odróżnić co podsuwam pod czujnik...

A zresztą - spróbuję, najwyżej nie wyjdzie 🙂

Pytanie drugie: trzy wartości RGB tworzą mi wektor. Porównanue z wzorcem to porównanie długości obu wektirów oraz obliczenie kąta między wektorami. Przy założeniu, że podłoże jest stosunkowo jasne - czy to wystarczy?

Link do komentarza
Share on other sites

Bez osłony będzie ciężko. Ale chyba nawet wtedy właśnie chcesz mieć silne oświetlenie, żeby wpływ zewnętrznego światła był proporcjonalnie jak najmniejszy.

Jest milion sposobów na zdefiniowanie odległości między dwoma punktami w przestrzeni — bo to właśnie masz z trzema wartościami. Zacząłbym od metryki euklidesowej, bo ona jest dla nas najbardziej intuicyjna.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.