Cześć, chciałbym przedstawić Wam mojego robota 😉 Celem pracy było wykonanie zdalnie sterowanego robota dobrze radzącego sobie w terenie, który wysyła obraz i dane z czujników do operatora.
Budowa:
Pierwszy etap budowy to projekt CAD w programie Autodesk Inventor 2015. Zawieszenie to uproszczona wersja systemu jezdnego rocker - bogie. (Link do wiki z zasadą działania wikipedia )
Zawieszenie:
Praca zawieszenia:
Silniki to Pololu 37Dx57L mm z przełożeniem 100:1, do tego adaptery na hex 12mm, i koła z Wild thumpera.
Na maszcie znajduje się dedykowany moduł kamery do Raspberry Pi, wraz z reflektorami + dwa serwa Tower Pro do sterowania ruchem masztu.
Oprócz tego z boku jest mała skrzyneczka w której znajduje się buzzer oraz czujnik wilgotności i temperatury DHT22:
Całość projektu wygląda następująco, z tyłu widać zamontowaną antenę:
Konstrukcja została wykonana tak jak przewidywał projekt, oprócz tego robot został oklejony folią moro, co dodało mu powagi ;D
Praca zawieszenia:
Elektronika:
- Raspberry Pi - główny komputer sterujący, - Moduł rozszerzeń podłączany do portów GPIO (zawiera przetwornik ADC MCP3008, zegar RTC, cyfrowy kompas HMC588L i układ Darlingtona ULN2803A)
- Silnikami sterują elektroniczne regulatory prędkości używane w samochodach RC, - Generator PWM Adafruit - generuje sygnał do serwomechanizmów i ESC, - Nano router TP-Link TL-WR703N do zapewnienia łączności WiFi, został lekko zmodyfikowany - przylutowałem złącze RPSMA do podłączenia zewnętrznej anteny.
- Akumulatory to pakiety ogniw 18650, zostały stworzone dwa - jeden 2S do zasilana elektroniki, drugi 3S do zasilania serwomechanizmów i silników.
Półka elektroniki:
Pozostałe elementy:
Oprogramowanie:
Aplikacja sterująca na PC wykorzystuje bibliotekę QT, i SFML (obsługa pada Xbox), na robocie całość została napisana w Pythonie
Okno wygląda następująco, jak widać znajdują się tam wszystkie odczyty z czujników, sterowanie światłami, buzzerem, oraz przycisk uruchamiający kamerę:
Strumieniowanie video:
Aby zapewnić jak najmniejsze opóźnienie i obraz HD został użyty Gstreammer.
Starałem się wszystko opisać w dużym skrócie, jak macie jakieś pytania to piszcie 🙂