Skocz do zawartości

Linefollower z kamerką


Elvis

Pomocna odpowiedź

Planuję zbudować robota wyposażonego w kamerę na pokładzie. Robot będzie posiadał "standardowy" zestaw czujników, czyli klasyczne czujniki odbiciowe, ale chciałbym, żeby "widział" część trasy przed nim.

Na tą chwilę nie jestem pewien, czy będzie to bardziej linefollower, czy micromouse. Na pewno nie będzie to robot na poziomie zawodów. Moim celem jest raczej sprawdzenie potencjału czujników opartych na przetwarzanie obrazu.

Mam taką prośbę - czy mógłby ktoś z forumowiczów przygotować serię zdjęć trasy linefollowera lub micromouse, wykonanych z perspektywy robota? Staram się przygotować w OpenCV kod analizujący obrazy, ale nie mam w tej chwili "prawdziwej" trasy.

Jako ciekawostkę opiszę aktualny stan pracy:

* Obraz wzorcowy z kamerki

* Obraz po przeliczeniu na widok z góry

* Wersja po filtracji

Link do komentarza
Share on other sites

wow, pomysł dobry, przewijał się może nawet kilka razy na forum, ale szczerze, to nie widziałem, żeby ktoś coś zrobił w tym kierunku. Co będzie jednostką analizującą obraz z kamery? Jakby nie patrzeć OpenCV jest dość zasobożerne nawet jak na Raspberry Pi i inne podobne komputerki. Jedyne co mi przychodzi na myśl to NVIDIA Jetson TK1, ale w Polsce jest chyba tylko jeden egzemplarz... Czy może na razie obraz wysyłany do PC, tam analizowany i informacje zwrotne znowu do robota? Muszę przyznać, że bardzo ładnie dobrane parametry przy filtracji do binarki 😉

Link do komentarza
Share on other sites

Możliwe że źle myślę ale czy ta transformacja obrazu na widok z góry jest potrzebne? To zabiera takty procesora, a na zwykłym obrazie z kamery widać to samo. A tak będzie potrzebny aby jakiś przelicznik z pixeli na centymetry, np. jeśli jest czarna kreska z góry na dół przez cały obraz to wiesz że zostało jeszcze minimum np. 10cm trasy prostej więc jedziesz na pełnych obrotach a jeśli linia skręci w którąś stronę to masz jeszcze 10cm na reakcje żeby zwolnić do zakrętu.

Link do komentarza
Share on other sites

drozdbartek, moim celem jest sprawdzenie, co da się zrobić. Planuję wykorzystać ARM Cortex-A8 lub A9. Na początek będę testował A9 zainstalowany na płytce netbooka. Pewnie później zmienię na coś innego - płytka netbooka jest po prostu za duża. Podobny problem byłby z układem NVIDIA, chociaż to bardzo ciekawe rozwiązanie.

Braders94, masz pełną rację, w przypadku line followera, pewnie to jest najlepsze rozwiązanie, analizować obraz bez widoku z góry. Jednak w przypadku micormouse, wygodniej byłoby widzieć labirtynt z góry i stąd mój pomysł przetwarzania. Zobaczę, potestuję różne rozwiązania.

Wbrew pozorom zarówno micromouse, jak i linefollower mają wiele cech, które bardzo upraszczają zadanie. Tło stanowi duży kontrast z trasą/labiryntem, trasa jest całkiem płaska. Poza tym nie sądzę, żeby udało się uzyskać dane w czasie rzeczywistym, stąd zachowanie czujników odbiciowych, a informacja z kamerki jako źródło dodatkowych danych (np. informacji o zakrętach, czy mapie labiryntu).

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

Elvis, świetna robota. Dobrze, że ktoś z odpowiednią wiedzą zabrał się wreszcie za temat wykorzystania kamerki w robotyce! Czekam na kolejne postępy - oczywiście osobiście jestem najbardziej zainteresowany wykorzystaniem jej w LFie. Do tej pory widziałem 3 roboty wykorzystujące kamerki w tym celu, żaden jednak nie działał zbyt dobrze.

Link do komentarza
Share on other sites

Ja osobiście niewiedze zastosowania kamery w MM. Kamera nie widzi całego labiryntu więc mysz musi jeździć po całym labiryncie, kamera nie widzi czy 3 kratki na wprost jest ślepą uliczka czy nie.

Tu się mogę się mylić więc mnie nie bijcie za to co napisałem.

Link do komentarza
Share on other sites

Bić chyba nikt nie ma zamiaru 🙂 , ale pozwolę się nie do końca zgodzić. Załóżmy, że kamerka pozwala widzieć 3 kratki, dzięki temu można byłoby uzyskać mapę labiryntu nie wjeżdżając we wszystkie zakamarki. Oczywiście, nie dałoby się uniknąć zawracania, ale byłaby szansa na przyspieszenie wyszukiwania, a o to właśnie chodzi. Dodatkowo kamerka powinna w miarę łatwo pozwolić na wykrywanie kierunku jazdy, tzn. wykrywanie odchyłki od jazdy równolegle do ścian.

Link do komentarza
Share on other sites

@Traker

A takie coś jest zgodne z regulaminem ? Bo jeśli tak to ok kamera przyspieszy wyszukiwanie,
ale jeśli nie to nic nie da kamera która widzi 3 kratki do przodu bo trudno będzie rozpoznać czy to jest ślepa uliczka czy nie.

Dodatkowo kamerka powinna w miarę łatwo pozwolić na wykrywanie kierunku jazdy, tzn. wykrywanie odchyłki od jazdy równolegle do ścian.

W tym zadaniu według mnie dużo lepsze są dwa sharpy analogowe.

Link do komentarza
Share on other sites

@Traker

A takie coś jest zgodne z regulaminem ? Bo jeśli tak to ok kamera przyspieszy wyszukiwanie,

Trzeba przeczytać regulamin konkretnych zawodów. Nie pamiętam, aby gdzieś zabroniona była zmiana rozmiarów po starcie - podobnie jak w minisumo 😉

Link do komentarza
Share on other sites

Witam, podepne sie troszke do tematu. Z góry powiem, że budowa robotów nie jest mi obca (mini sumo czy lf zrobione zostalo na AVR'ach) i mam pytanko odnosnie lf'a z kamera. Z tego co sie orientowalem jest opencv na rpi, ktora wykrywa kolory. I moje pytanie. Czy ciezko byloby zaprogramowac rpi by korzystajac z tej biblioteki lecial jak normalny lf? nie chodzi mi o osiagi, wazne by jechal w miare za linia, moze byc wolno. O co chodzi: prawdopoodbnie bede wrobiony w zrobienie inzynierki lf z kamera. Poogarnialem w necie projekty i wiem, że pewno wykorzysta sie rpi plus dedykowana kamera do rpi plus sterowniki silnikow itp ale to dla mnie temat luzny, jednak nie znam sie na programowaniu rpi, gdyz nie mialem doczynienia z nia. Planuje kupic sobie plytke plus jakas ksiazke by poczuc to programowanie( kwestia miesiaca podejrzewam i bedzie juz skill), jednak chcialbym wiedziec na co sie pisze, czy jest to mozliwe do wykonania przeze mnie;p

Pozdrawiam i z gory dziekuje za odpowiedzi

Link do komentarza
Share on other sites

Rpi programuje się tak samo jak komputer na linuksie. Kurs do open cv jest na forum, i wykrywani koloru jest łatwe tylko czy kalinka się wyrobi żeby każda klatkę przeanalizować.

Kamera w odcieniu szarości by starczyła do takiego czegoś zawsze szybciej będzie.

Coś ostatnio bum na roboty z kamerami jest.

Link do komentarza
Share on other sites

Kamerki czarno-białej raczej nie kupisz, chyba że przemysłowa. Co do Rpi to poza atrakcyjna cena, projekt jest juz mocno przestarzaly. Procesor jest bardzo powolny, polecalbym cos na cortex-a. Bardzo ciekawie wyglada beaglebone. Kamerke dedykowana mozna kupic, tylko po co? Kilka razy taniej kupisz kamerke do laptopa podpinana po usb. Podlaczasz i dziala. Co do przetwarzania, to mysle ze spokojnie kilka klatek na sekunde wyjdzie. Ale czy wiecej to nie bylbym pewien. Ja planuje zadtosowac tradycyjnie czujniki odbiciowe, a kamerke jako dodatkowy czujnik. Sam odczyt obrazu z kamery zajmuje ok. 40ms na plytce z nebooka (cortex-a9, opencv, 320x240)

Link do komentarza
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!

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.