ethanak Napisano Marzec 8, 2018 Udostępnij Napisano Marzec 8, 2018 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? Cytuj Link do komentarza Share on other sites More sharing options...
deshipu Marzec 8, 2018 Udostępnij Marzec 8, 2018 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. Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Marzec 8, 2018 Autor tematu Udostępnij Marzec 8, 2018 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? Cytuj Link do komentarza Share on other sites More sharing options...
deshipu Marzec 8, 2018 Udostępnij Marzec 8, 2018 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. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
Pomocna odpowiedź
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!