Skocz do zawartości
Elvis

Linefollower z kamerą

Pomocna odpowiedź

Cześć,

Postanowiłem spróbować zbudować linefollower-a wyposażonego w kamerę. Podstawowe założenie, to sprawdzenie, czy taki układ ma sens.

Robot w pierwszej wersji będzie zbudowany z gotowych podzespołów, jeśli koncepcja się sprawdzi, postaram się zaprojektować własną elektronikę.

Jako sterownik silników oraz czujników odbiciowych wykorzystałem gotowego robota 3-PI firmy Pololu.

Linux zainstalowany jest na płytce Raspberry-Pi, aktualnie wykorzystuję dystrybucję Raspbian.

Chciałem wykorzystać zasilanie z 3pi, ale okzazało się, że linux ma dużo większe wymagania. W rezultacie obie części robota mają niezależne zasilania. 3-pi, standardowe 4 akumulatorki AAA, dla linuxa akumulator Li-Pol 5200mAh.

Do raspbery podłączona jest przejściówka WiFi, pozwalająca na zdalne łączenie z robotem. Kamerka Logitech c270 służy od odczytu obrazu.

Robot ma wykorzystywać informacje z czujników odbiciowych do wykrywania linii, natomiast informacje z kamery mają jedynie służyć do ustalania parametrów pracy algorytmu PID.

Aktualnie robot wyposażony jest w 2 niezależne procesory, komunikujące się przez łącze szeregowe (uart).

Pierwszy filmik nagrany "oczami" robota. Przyznam, że jestem rozczarowany. Obraz jest strasznie rozmazany, a robot jechał dosyć wolno.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Fajny pomysł na wykorzystanie 3PI, czekam z niecierpliwością na jakieś filmiki z pierwszych prób 😉

Udostępnij ten post


Link to post
Share on other sites

Ja od niedawna myślę o wykorzystaniu czegoś takiego. Ma już gotową optykę a i cena jest przyzwoita.

Udostępnij ten post


Link to post
Share on other sites

Po pierwszych próbach zmieniłem trochę konstrukcję. Po pierwsze wymieniłem akumulator na mniejszy, ale dużo lżejszy - zamiast 5200mAh teraz jest tylko 2600mAh. Ale dzięki temu robot trochę lepiej jeździ no i wygląda nieco mniej pokracznie.

Poza tym musiałem zmienić kamerę. Logitech c270 okazał się za słaby, więc teraz zamontowałem c920. Obrazy wykonywane podczas jazdy wyglądają o niebo lepiej. Tylko muszę pozbyć się obudowy kamery - jest nieprzyzwoicie wręcz ciężka.

Udostępnij ten post


Link to post
Share on other sites

Po małej przerwie powrót do linefollowera.

Poniżej aktualna wersja, po znacznym odchudzaniu:

Kamera od Raspberry-Pi, zamiast USB. Dużo lżejsza i nawet przyzwoitej jakości. Zamiast oddzielnego zasilania, teraz obie płytki dzielą akumulator Li-Pol. Połączenie za pomocą bardzo prostego konwertera napięć (3.3V<->5V) oraz łącza szeregowego. W płytce 3-pi standardowy program sterujący od Pololu, potrafi wykonywać proste komendy typu jazda z zadaną prędkością, ale może też znacznie więcej, np. uruchomić PID a i sterować robotem niezależnie od linuxa.

Po stronie linuxowej, działa Wi-Fi, obraz z kamerki można oglądać przez www (mjpg-streamer). Do sterowania 3pi używam skryptów w Pythonie. Aktualnie robot działa jako zdalnie sterowany z widokiem z kamery.

Następny etap to przetwarzanie danych z kamery. Planuję zostać przy Pythonie, do tego odrobina OpenCV, a sterowanie jazdą niezależnie, z poziomu AVR w 3PI. Czyli Linux ogląda świat z kamery i stara się wysterować PID, a który w "czasie rzeczywistym" całością steruje.

Komponenty robota:

* robot 3Pi firmy Pololu jako napęd

* Raspbian Linux działający na Raspberry-Pi, wersja B

* karta Wi-Fi podłączana po USB (WiPi)

* Kamera dedykowana do Raspberry-Pi

* zasilanie z gotowego akumulatora z ładowarką i wyjściem USB (http://www.pny.eu/product/p-22-204-764/PowerPacks/PowerPack-T2600/)

* obudowa wydrukowana z PLA na drukarce 3D

Udostępnij ten post


Link to post
Share on other sites

Postanowiłem wrócić do linefollowera z kamerką. Jednym z plusów opóźnienia w projekcie jest nowa wersja Raspberry. Nowa wersja będzie bardziej przypominała "prawdziwego" robota. Nie ma już 2 procesorów, RPi steruje silnikami za pomocą mostków TB6612. Docelowo planuję też zrezygnować z akulmulatorów z wyjściem USB - są trochę za duże.

Nowa, jeszcze bardzo robocza wersja wygląda tak:

Udostępnij ten post


Link to post
Share on other sites

A co to za HAT? Ciekawy jestem, skąd bierzesz PWM - czy bezpośrednio z GPIO maliny, czy jest tam jakiś dedykowany scalak od tego?

Udostępnij ten post


Link to post
Share on other sites

Hat jest firmy MSX, niedługo będzie na Forbocie artykuł o nim. W dużym skrócie to przetwornica do zasilania + dwa mostki TB6612 oraz PCA9685. PWM jest generowany przez PCA9685, dzięki temu wykorzystując i2c można wysterować 4 silniki bez najmniejszego problemu.

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...