Skocz do zawartości
Elvis

Linefollower z kamerką

Pomocna odpowiedź

Tak tylko tu chodzi o to by to dzialalo bez jakichs mega osiagow. W zasadzie nie patrzylem na te plytke, popatrze i moze cos z tego wyjdzie. W sumie drozsza wiele nie jest

Udostępnij ten post


Link to post
Share on other sites

Co do czasu przetwarzania, to na razie uruchomiłem kod przeniesiony z PC, bez jakiejkolwiek optymalizacji. Jestem chwilowo na krótkim urlopie, więc do tematu wrócę od przyszłego tygodnia. Ale o ile pamiętam przetwarzanie jak opisane na początku, czyli pobranie obrazu, zamiana na grayscale, filtr i przeliczanie perspektywy, zajmuje jakieś 200-250ms. Pewnie można byłoby sporo zejść z czasem, ale zakładam, że w przypadku linefollowera, trzeba będzie użyć innych algorytmów. Co do micormouse, nadal liczę, że opencv może dać radę 🙂 Jak nie, to zostanie procek nvidii - tylko żeby ta płytka była mniejsza...

Udostępnij ten post


Link to post
Share on other sites

Wystarczy zmniejszyć rozdzielczość o połowę (a w pionie pewnie spokojnie można więcej, bo większość obrazu nie obejmuje trasy) i czas spadnie liniowo, więc przy 1/4 rozdzielczości masz już tylko ok. 50ms co zaczyna być przyzwoitym rezultatem ( resztę "dorobisz" innymi metodami - obraz ma w końcu tylko dać informacje o drodze, a nie na bieżąco wprowadzać korekcję)

Udostępnij ten post


Link to post
Share on other sites

Rozdzielczosc juz jest zmniejszona. Zaczynalem od 640x480, ale rezultaty byly bardzo marne. Pewnie 160x120 bedzie wstarczajace. Jest jeszcze jedna mozliwosc przyspieszenia obliczen. Kamerke mozna przelaczyc z trybu RGB na YUV, wtedy odchodzi przeliczanie na skale szarosci. Do tego linefollower nie wymaga analizy calego obrazu. Ogolnie jestem optymista co do mozliwosci uzycia kamery, ale zobaczymy co z tego wyjdzie.

Udostępnij ten post


Link to post
Share on other sites

Nie potrzebujesz nawet tego zmieniać, możesz po prostu brać tylko kanał G z kamery i też powinno być ok na czarno-białym tle 🙂

Z drugiej strony dla np. line-followera nie wiem czy jest sens przeliczania perspektywy dla całego obrazu. Wystarczy wiedzieć gdzie jest droga na obrazie i przeliczyć tylko ją wg. wzoru na perspektywę na odpowiednie odległości. Szkoda tracić czasu z przeliczaniem całego obrazu (chyba, że masz do tego GPU i zrobi to praktycznie za darmo).

Udostępnij ten post


Link to post
Share on other sites

Ciekawy pomysł z wykorzystaniem jednego kanału. Jakoś zafiksowałem się na poziomy jasności. A niestety nie wszystkie kamerki obsługują tryb YUV - chyba ze 3 kupiłem zanim udało mi się trafić na odpowiednią. W sumie czarna trasa na białym tle powinna być widoczna na dowolnym kanale.

Z perspektywą to myślałem bardziej o micromouse, w przypadku linefollowera, chyba będę używał innych opcji. Nawet z opencv raczej zrezygnuję, albo wykorzystam mnimalnie.

Udostępnij ten post


Link to post
Share on other sites

Przeglądając internet znalazłem takie coś jak "banana pi" lepsza odmiana RPI.

Corex A7 dualcore 2x1ghz i 1gb ram.

Udostępnij ten post


Link to post
Share on other sites

Do podobnych wniosków doszedłem odnośnie kamerki i linuxa. W przypadku linefollowera nie ma sensu ani czasu na OpenCV i skomplikowane przetwarzanie. Zamiast tego będzie odczyt wybranych punktów i traktowanie ich jako odczytów trasy z wyprzedzeniem.

Za to nadal liczę na zastosowanie OpenCV w micromouse.

Co do prac, to aktualnie zajęłem się "mechaniką" - do prototypowania potrzebuję kamerki zamocowanej na korpusie robota i zdjęć "realnej" trasy. Postanowiłem na początek wykorzystać gotowe komponenty - robot 3pi będzie działał jako "niskopoziomowy" linefollower, nad nim (dosłownie) chcę zamocować płytkę BeagleBone z linuxem oraz podłączoną kamerką. W pierwszej kolejności wykorzystam dwa niezależne procesory (atmega na 3pi oraz cortex-a8 na bb), ale później spróbuję zrezygnować z atmegi i zostawić tylko arm-a.

Udostępnij ten post


Link to post
Share on other sites

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!

Gość
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...