2009-10-07 12 views
7

Para przyjaciół i ja będą budować proste robota do śledzenia białą linię na czarnej powierzchni, jakie nigdy przedtem zrobić tego rodzaju rzeczy i mam bardzo wysoką planu poziom ataku,Robotyka i Computer Vision

Uzyskaj kartę mini atx dla wszystkich potrzeb komputerowych, kamerę internetową do śledzenia drogi i 2 silniki elektryczne, jeden do napędu jednego kierunku.

Moim głównym zmartwieniem jest to, czy istnieje lepszy sposób śledzenia drogi? czy kamera internetowa działa w tym zadaniu?

EDIT:

Kontynuacja na odpowiedziach wykorzystaniem fotorezystora wydaje się być droga, bu mam jeszcze jedno pytanie nie będzie sygnałów, z prawej strony toru mówiąc robota którą stronę się obrócić. znowu biały na czarnym. tak jak muszę skręcić w lewo na skrzyżowaniu. czy jest sposób na poradzenie sobie z tym bez kamery?

Odpowiedz

13

Najlepiej obejść skomplikowane oprogramowanie do wizualizacji i korzystać z prostej elektroniki. Istnieją urządzenia zwane fototranzystorami, które są czułe na światło. Punkt dwa w dół po każdej stronie robota, ocieniony od światła z góry. Jeśli bot zacznie iść w prawo zamiast podążać za linią, lewy czujnik zostanie aktywowany. Jeśli pójdzie w lewo, prawy zostanie aktywowany. Wykorzystaj sprzężenie zwrotne tych sygnałów, aby poprowadzić robota (możesz je zastosować prawie bezpośrednio do silników, jeśli masz dwa silniki).

2

Zrobiłem podobny robot w szkole i zrobiłem dwa małe czujniki, w zasadzie tylko LDR-y w świetleszczelnej rurce z obwodem do kontrolowania progu światła, który sprawiał, że klapki od zera do off. To sprawiło, że logika była bardzo prosta - czy pod tym czujnikiem jest czarna linia? Tak | Nie.

Korzystanie z kamery internetowej może wymagać sporo przetwarzania wizualnego.

W międzyczasie można pracować nad innymi podsystemami, tj. Sterować silnikami z komputera, budować samą rzecz i zastanawiać się, jak ją zasilić.

+1

Należy pamiętać, że roboty są skomplikowane i może się zdarzyć wiele rzeczy. Proste jest dobre. Bardzo dobrze. Przynajmniej spraw, aby robot pracował z LDR, więc nie próbujesz debugować wszystkiego w tym samym czasie. –

5

Kamera internetowa nie będzie miała problemu ze śledzeniem białej linii na czarnym tle, a jeśli zauważysz, że masz problemy z czułością, jest to łatwy do rozbudowania element systemu. (Którą wystarczy podłączyć droższe cam)

To może Cię zainteresują aby rzucić okiem na OpenCV,

(Open Source Computer Vision) jest biblioteką funkcji programowych na bieżąco wizja komputerowa.

To może dać Ci kilka pomysłów dla Ciebie wdrożenia, a nawet być przydatne dla Ciebie, jeśli kończy się przy użyciu C++

edit: chociaż używając LDRs jak Andrew M sugerowanej może być prostsze rozwiązanie:)

+1

+ ~ OpenCV to dobre rozwiązanie, jeśli śledzenie wizji było bardziej skomplikowane. Zgadzam się, fotodetektor zaproponowany gdzie indziej jest prostym rozwiązaniem tego konkretnego problemu. – kenny

0

Sugerowałbym użycie obu silników do napędzania, po jednej z każdej strony siedziała w środku podwozia, a następnie dwa kółka z przodu iz tyłu (lekko podniesione z podłogi, aby mógł kołysać na koła napędowe). Wtedy możesz je prowadzić jak czołg i może on obrócić się o sześć pensów (lub bilon, jeśli z USA).

Spot Wars Robot ex-zawodnik :)

+0

Zwykle używałem 3 dla prostoty. Czy oprócz balansu ciężaru (na kołach napędowych) istnieje powód, aby używać 2 kółek zamiast 1? Wyrównanie? – NVRAM

+0

proste jest dobre, więc jeśli trzy działa, to trzymaj się go. Dzięki dwóm środkom koła napędowe mogą znajdować się bardziej w środku robota, dzięki czemu można go skrócić. W zależności od nawierzchni, którą jedziesz, możesz spróbować użyć nylonowego płoza lub łożyska kulkowego w układzie kielicha, co oznacza, że ​​możesz naprawdę obracać się idealnie na miejscu, kółka mogą Cię trochę odtrącać, ponieważ muszą się obracać. mam nadzieję, że pomaga –

2

Poprzednie komentarze na temat za pomocą czujnika zdjęć są dobre propozycje, choć mogą one być trudniej znaleźć/zrobić coś, co będzie podłączyć do portu USB.

Jeśli pójdziesz drogą kamery, sugeruję, aby emulować prosty czujnik; być może wziąć średnią z lewej i prawej połówki wejścia jako wskazówkę do jazdy prosto/w lewo/w prawo.

Ale jeśli chcesz spędzić mniej czasu na tworzeniu niestandardowych elementów, możesz sprawdzić kod LEGO NXT kit. Wyposażone są w czujnik optyczny i graficzne środowisko programistyczne. Nawet jeśli go nie kupisz, możesz dowiedzieć się od społeczności, które go otaczają.

0

Jeśli pójdziesz z kamery może trzeba zrobić kilka prostych przetwarzania obrazu. Najprościej byłoby prawdopodobnie zastosować progowanie adaptacyjne - wziąć wszystkie piksele z ramki kamery, przekonwertować na skalę szarości (jeśli jest kolorowa), obliczyć średnią i użyć jej jako progu - będziesz miał białą linię na czarnym tle. Jeśli nadal masz małe białe plamy (z powodu nierównomiernego oświetlenia), możesz je odfiltrować, oddzielając obraz od podłączonych komponentów (z wypełnieniem) i usuwając małe plamki. Po tym miejmy nadzieję, że dostaną pojedynczy biały pasek na czarnym tle.

Powiązane problemy