Cuprins:
- Pasul 1: Prezentare generală
- Pasul 2: Construirea proiectului
- Pasul 3: Instrucțiuni de construcție / cablare
- Pasul 4: Înțelegerea cadrului WebIOPi
- Pasul 5: Rularea proiectului
Video: Robot de căutare și eliminare la distanță controlat de mișcare salt: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Ca parte a intrării mele pentru Leap Motion # 3D Jam, am fost încântat să construiesc acest robot de căutare / salvare controlat prin gest wireless, bazat pe Raspberry Pi. Acest proiect demonstrează și oferă un exemplu minimalist al modului în care gesturile 3D de mână fără fir pot fi utilizate pentru a controla și interacționa cu lucruri fizice.
Deoarece acest proiect folosește popularul cadru WebIOPi IoT de pe Raspberry Pi, acesta poate fi foarte ușor extins pentru a controla și interfața de obicei orice senzor / hardware / electronică care poate fi interfațat cu Raspberry Pi.
Unele scenarii posibile pe care le presupun colegilor producători ar putea folosi acest proiect ca cadru de bază pentru a construi pe:
1. Robot de eliminare a bombelor cu gesturi de la distanță (folosind poate un braț OWI etc.)
2. Operație chirurgicală la distanță de către un medic
3. Expoziții de artă interactive sau conținut educațional controlat prin gesturi
4. Alte posibilități / integrări infinite (sunt limitat de imaginația mea:))
Pasul 1: Prezentare generală
Acest proiect permite utilizatorului să controleze interactiv un robot folosind gesturi de mână 3D printr-un Leap Motion conectat la un computer.
Raspberry Pi la bordul robotului are, de asemenea, o cameră web USB care transmite video în direct către utilizator, care poate fi văzut pe un browser web. Biblioteca JavaScript LeapMotion încorporată în această pagină web procesează gesturile mâinii și trimite semnale de control înapoi către robot, care apoi se deplasează corespunzător.
Raspberry Pi de pe robot este configurat ca Hotspot (modul AP) cu ajutorul dongle-ului USB WiFi conectat la acesta. Acest lucru permite computerelor / dispozitivelor noastre să se conecteze direct la Raspberry Pi și să controleze printr-o pagină web. Raspberry Pi poate fi, de asemenea, configurat pentru a funcționa în modul client, în care se conectează fără fir la AP-ul routerului WiFi la care sunt deja conectate computerul / dispozitivele.
Acest proiect se bazează pe WebIOPi (https://webiopi.trouch.com/), care este un framework IoT popular pentru Raspberry Pi. Utilizând pachetul Weaved IoT Kit (sau prin redirecționarea porturilor pe router), acest robot poate fi controlat de la distanță și / sau poate primi date din orice parte a lumii.
Următoarele componente au fost utilizate pentru construirea proiectului:
- Raspberry Pi B (100% compatibil cu Raspberry Pi B +)
- Cameră web USB Logitech (meschin 1,3 Megapixeli)
- IC driver L293D motor și scut de rupere
- Dongle USB WiFi pentru Raspberry Pi
- USB Power Bank pentru Raspberry Pi
- Baterie externă de 4V / 1,5A pentru conducerea motoarelor robot
Pasul 2: Construirea proiectului
Instalarea WebIOPi, scrierea codului personalizat și configurarea camerei web:
Instrucțiunile de instalare WebIoPi, elementele de bază ale cadrului și multe exemple sunt disponibile la pagina proiectului aici:
Pentru ca funcțiile LeapMotion să fie încorporate pe pagina web să declanșeze acțiuni GPIO pe Raspberry Pi, am folosit Macros, ale căror detalii se găsesc aici:
De asemenea, am scris câteva note introductive despre procesul de mai sus, care pot fi găsite atașate.
Instalarea și configurarea camerei web
Folosim MJPG-Streamer pentru a transmite fluxul video de la Raspberry Pi înapoi în browser prin intermediul camerei web USB conectată pe Pi. Vă rugăm să urmați instrucțiunile de configurare și construire indicate aici https://blog.miguelgrinberg.com/post/how-to-build-… pentru a face ca MJPG-Streamer să funcționeze pe Raspberry Pi.
Configurarea Raspberry Pi ca AP / Hotspot
Pentru a configura Raspberry Pi ca Hostpot, urmați instrucțiunile oferite aici: https://elinux.org/RPI-Wireless-Hotspot. Am configurat IP-ul static al Raspberry Pi ca 192.168.42.1, ceea ce vom introduce în browser odată ce Pi va porni în modul AP.
Serviciul WebIOPi, MJPG-Streamer și hotspot WiFi au fost configurate pentru a rula automat la pornire și acest lucru ne permite să deschidem direct un browser Web și să ne conectăm la robot după ce acesta pornește. Fișierul rc.local disponibil în repo este utilizat pentru a rula camera web la pornire.
Pasul 3: Instrucțiuni de construcție / cablare
4 GPIO-uri ale Raspberry Pi și anume GPIO 9, 11, 23 și 24 sunt conectate la IC-ul driverului de motor L293D care acționează motoarele în mod corespunzător după primirea cererilor macro de pe pagina web servită de cadrul Webiopi. Dongle-ul USB WiFi și camera Web USB Logitech sunt conectate la cele 2 porturi USB disponibile pe Raspberry Pi. O bancă de putere de 5V 4000 Mah furnizează principala energie către Pi. Pentru acționarea motoarelor se folosește o baterie cu plumb acid de 4V 1,5A.
Notă: Deoarece curentul maxim de ieșire al băncii de putere pe care l-am folosit a fost de 1000 Mah, am fost nevoit să folosesc bateria externă de plumb acid pentru a conduce motoarele. Dacă aveți o bancă de putere care dă> = 2000Mah, puteți conduce direct motoarele de pe șina de 5V de pe Pi (nu aș recomanda acest lucru pentru motoarele înfometate)
Cele 3 subsecțiuni cheie ale proiectului LeapMotion Javascript API, WebIOPi și MJPG-Streamer și funcționarea / configurarea lor de bază sunt prezentate pe scurt mai jos.
Pasul 4: Înțelegerea cadrului WebIOPi
Frontend-ul care este afișat în browser este scris în HTML (Filename: index.html) și Javascript în timp ce backend-ul care conduce GPIO-urile este scris în Python (Filename: script.py). Note detaliate despre crearea unei WebApp personalizate bazate pe cadrul WebIOPi sunt atașate ca note în repo Bitbucket.
Macro-urile personalizate definite în scriptul Python pot fi declanșate din fișierul HTML.
De exemplu: webiopi (). CallMacro ("go_forward"); Acesta este un apel personalizat către o macro go_forward definită în scriptul Python care gestionează procesul de conducere a ambelor motoare în direcția de avansare.
Ierarhia directorului unde sunt stocate fișierele pe Pi este afișată în imaginea atașată.
Dosarul Robot conține aceste sub-foldere:
- html: conține index.html
- python: conține script.py
- mjpg-streamer-r63: conține fișierele de construire și executabile pentru a rula camera web
MJPG-Streamer: Fluxul video live de pe camera web USB rulează în mod implicit pe portul 8080 al dispozitivului Pi. Pentru a vizualiza manual fluxul, navigați la RASPBERRYPI_IP: 8080 pe browser după ce ați activat camera web.
Cod LeapMotion:
Fragmente de cod din exemplele furnizate în LeapMotion SDK au fost încorporate în fișierul index.html. Fișierul leap.js al LeapMotion trebuie adăugat în folderul html din directorul proiectului de pe Raspberry Pi.
Parametrul palmPosition trimis de LeapMotion este utilizat pentru a determina ce macro să declanșeze pe Raspberry Pi.
Pasul 5: Rularea proiectului
Pur și simplu porniți Raspberry Pi și așteptați aproximativ un minut. Veți vedea un nou punct hotspot RaspberryPi. Conectați-vă la acest hotspot și deschideți această adresă IP statică în browser: 192.168.42.1:8000. 8000 este portul implicit al WebIOPi.
Raspberry Pi poate fi, de asemenea, configurat pentru a se conecta la rețeaua WiFi locală în calitate de clienți, în loc să apară ca hotspot. Apoi, va trebui să determinați IP-ul dinamic atribuit Raspberry Pi de către router și apoi să-l atingeți în browser pentru a vă juca cu botul.
Puteți lăsa un comentariu dacă aveți nevoie de ajutor sau aveți întrebări despre proiect. Happy Leaping!
Au fost atașate toate codurile sursă. Puteți lăsa un comentariu dacă aveți nevoie de ajutor cu orice parte a clădirii proiectului. Happy Leaping!
Recomandat:
Un jack de salt controlat prin voce - versiunea Google Voice AIY: 3 pași
Un Jack Jumping Controlled Voice - Versiunea Google Voice AIY: Deci, ai acest kit vocal AIY de Crăciun și te-ai jucat cu el, urmând instrucțiunile. Este amuzant, dar acum? Proiectul descris în cele ce urmează prezintă un dispozitiv simplu care poate fi construit folosind AIY voice HAT pentru Raspbe
Căutare distanță Attiny85: 4 pași (cu imagini)
Attiny85 Distance Finder: Înainte de a face acest lucru instructiv, tocmai primisem niște Attinys noi (Attinies?) Și am vrut să fac ceva cu ei. Atunci mi-am dat seama că telemetrul cu ultrasunete era singur, nefolosit. Acest dispozitiv de căutare cu distanță cu ultrasunete Attiny oferă distanța
Căutare distanță Arduino: 3 pași
Arduino Distance Finder: Acesta este un proiect pe bază de panou care folosește Atmel Atmega 2560 (Arduino Mega) pentru a găsi distanța utilizând senzorul cu ultrasunete. Rezultatul poate fi obținut în „cm” atât pe ecranul LCD de 16x2, cât și pe monitorul serial al Arduino IDE. Putem folosi și 16x2
Crearea unui robot de echilibrare Arduino controlat de la distanță: B-robot EVO: 8 pași
Crearea unui robot de echilibrare Arduino controlat de la distanță: robot B EVO: ------------------------------------ -------------- ACTUALIZARE: aici există o versiune nouă și îmbunătățită a acestui robot: B-robot EVO, cu funcții noi! ------------ -------------------------------------- Cum funcționează? B-ROBOT EVO este un dispozitiv de la distanță Control
Robot de eliminare a bombelor (Termenatör): 13 pași (cu imagini)
Robot de eliminare a bombelor (Termenatör): Caracteristici: * Vehicule aeriene fără pilot acceptate * Brațul robotizat (în 6 direcții) * Sistem laser cu ardere * Sistemul camerei (3 camere) * Sistem de urmărire protejat cu ochelari Google * Sistem de găurire * În funcție de sistemul de găurire , cameră de șarpe pentru endoscopie * Ha