Cuprins:

MyPetBot (un robot care te urmărește): 10 pași (cu imagini)
MyPetBot (un robot care te urmărește): 10 pași (cu imagini)

Video: MyPetBot (un robot care te urmărește): 10 pași (cu imagini)

Video: MyPetBot (un robot care te urmărește): 10 pași (cu imagini)
Video: A Kickstarter Project We Love: Meet Loona - The Most Intelligent Petbot 2024, Decembrie
Anonim
Image
Image
MyPetBot (un robot care te urmărește)
MyPetBot (un robot care te urmărește)
MyPetBot (un robot care te urmărește)
MyPetBot (un robot care te urmărește)

Ai este una dintre cele mai frumoase aplicații ale matematicii. Este practic o grămadă de operații matrice optimizate pentru a se potrivi cu rezultatul pe care îl căutați. Din fericire, există o mulțime de instrumente open source care ne permit să îl folosim.

Am avut inițial ideea cu mult timp în urmă, când lucram la o cascadă dezactivată de oamenii care trec cu aruncarea. Foloseam senzori cu ultrasunete și am descoperit prea târziu că nu funcționează prea mult când sunt umezi … Asta nu a fost o experiență amuzantă. Am ajuns să folosim un buton mare pe care oamenii l-ar apăsa dacă vor să treacă. A ieșit bine pentru că era cald și oamenilor le plăcea să se ude, dar problema a rămas în capul meu … Cum să detectez oamenii și să activez o reacție.

Spun această poveste pentru că vreau să subliniez că acest principiu poate fi folosit pentru alte tone de aplicații! Să-ți urmezi fața cu o jucărie este doar una dintre ele. Pentru instalațiile interactive puteți face orice fel de lucruri. Ați putea folosi un model pentru a detecta dacă o față zâmbește. Ai putea număra numărul câinilor dintr-un parc. Ai putea închide jaluzelele când trec oamenii. Sau … creați un controler pentru baza dvs. Nintendo pe poziția corpului dvs. … Puteți descărca multe alte modele Ai care fac orice fel de lucruri.

Există câteva tutoriale despre cum să faci ca inferența Ai să funcționeze cu raspberry pi. Sunt aici pentru a vă învăța cum să faceți integrarea găurii într-o unitate de lucru auto. De îndată ce robotul pornește, acesta va porni programele necesare.

Provizii

  • Robot Parallax: Am ales acest robot pentru că îl aveam așezat, dar orice robot care poate fi controlat cu un arduino va face treaba.
  • Raspberry pi: recomand cel puțin raspberry pi 3B +.
  • Intel Neural Stick: Rata de inferență merge de la una pe secundă la 8. Chiar ai nevoie de una dacă vrei să faci Ai într-un pi zmeură.
  • Power Bank: cel mai simplu mod de a gestiona puterea. Funcționează cu raspberry pi 3B +, poate doriți să verificați dacă funcționează cu un pi 4.
  • Picamera: Îmi place să folosesc picamera în locul unui USB.

Pasul 1: Asamblarea Rover

Adunarea Rover
Adunarea Rover
Adunarea Rover
Adunarea Rover
Adunarea Rover
Adunarea Rover

Punctul tutorialului este în principal despre software, așa că nu vreau să intru prea mult în detaliile roverului. Funcționează cu acest robot, dar ar putea funcționa cu orice alt hardware. Nici măcar nu trebuie să fie pentru un rover, ai putea folosi acest lucru pentru o cameră cu senzor de mișcare.

  1. Găsiți-vă un vehicul controlat de Arduino.
  2. Strângeți o bancă de energie.
  3. Înfășurați strâns un pi de zmeură.
  4. Lipiți camera foto cu un unghi ușor spre partea de sus.
  5. Conectați totul împreună.
  6. Voila!

Pasul 2: Raspbian

Raspbian
Raspbian
Raspbian
Raspbian

Folosesc un raspberry pi, dar nu există niciun motiv să nu folosesc un alt linux … până la tine. Aș putea elibera o imagine plug and play pentru arderea unui card SD, o să ajung la el dacă sunt destui oameni interesați.

Instalați Raspbian: Puteți instala Raspbian Buster Lite. Nu vom folosi desktopul … Doar conexiunea ssh Secure Shell.

Conectați-vă la Pi: Mai întâi vă puteți conecta la raspberry pi cu o conexiune Ethernet

Setați-vă wifi-ul: acum puteți configura conexiunea wireless

Pasul 3: OpenVino

OpenVino
OpenVino

OpenVino este o bibliotecă excelentă susținută de Intel. Au făcut o treabă excelentă la compilarea modelelor de exemplu și au făcut ca majoritatea ai framework-ului să fie compatibilă. Aveți nevoie de această bibliotecă pentru Intel Neural Stick.

Instalare Python3: Trebuie să instalați python 3.

Instalare OpenVino: Odată ce ați terminat, veți vedea o linie „[setupvars.sh] mediu OpenVINO inițializat” de fiecare dată când vă conectați la raspberry pi.

OpenVino este o extensie a opencv. Pentru a-l testa, puteți lansa python3 și importa cv2.

tastați în coajă:

python3

tastați în python:

  • import cv2
  • cv2._ versiunea_

Ultima linie ar trebui să returneze „4.1.2-openvino” sau orice versiune a openvino. dacă dacă spune opencv instalarea dvs. nu a funcționat …

Pasul 4: Descărcați codul

Descărcați codul
Descărcați codul

Mai întâi, instalăm git. Tastați în coajă:

sudo apt-get install git

Apoi, putem trece în folderul Documente și descărca codul:

  • cd ~ / Documente /
  • git clone

Pasul 5: FollowMe (Python)

FollowMe (Python)
FollowMe (Python)

Acesta este rolul cu care vrei să joci. Asigurați-vă că vă urmează! Fă-l speriat de tine! Urmărește-ți câinele! Faceți-o să recunoască expresiile feței !! Harase pisica ta !!! Orice vrei.

Veți găsi patru foldere principale: Arduino, Deployment, Player și FollowMe:

Arduino: Mai multe despre asta în secțiunea următoare

Implementare: Aici am pus interfața cu utilizatorul. Chiar acum am codificat un simplu buton de pornire / oprire și un mic vizualizator de cameră cu control doar pentru distracție.

Player: Înțeles să fie utilizat pe computerul desktop. Pentru revizuirea rezultatului botului!

FollowMe: Modulul care face distracția reală

Voi pune mai multe detalii pe github, deci pentru a avea un singur loc de actualizat. Acesta este locul pentru cod

Pasul 6: Descărcați modelele

Modelele pentru inferență nu sunt incluse în cod, deoarece sunt destul de mari. Dar puteți găsi o mulțime de exemple folosind modelul OpenVino Zoo

Puteți utiliza programul de descărcare a modelului sau accesați direct acest link. În cazul meu, nu am putut folosi modelul de descărcare de la instalarea mea raspberry pi …

Apoi copiați modelul într-un folder numit Modele cu:

  • cd ~ / Documents / FollowMe
  • Modele mkdir
  • Modele cd
  • wget
  • wget

Aveți întotdeauna nevoie de.xml și.bin.

Puteți descărca orice model doriți … Dar va trebui să schimbați codul. A se distra!

Pasul 7: Arduino

Arduino
Arduino

Trebuie să descărcăm codul de la pasul anterior. Codul pentru arduino este în el!

Codul este menit să conducă două servouri continue, dacă alegeți o configurație diferită, trebuie să modificați codul.

Practic, face două lucruri. Comunică cu computerul și activează servomotoarele la viteza selectată.

Aș putea să ieșim din raspberry pi direct pentru a controla motoarele … dar arduino-urile funcționează mai bine (au un generator de frecvență real). De asemenea, am vrut să descarc zmeura pi cât mai mult posibil pentru a face inferența mai rapidă.

Pasul 8: GUI

GUI
GUI
GUI
GUI

Nimic extraordinar … Totuși. Aș putea adăuga alte lucruri, cum ar fi vizualizarea live sau controalele de mișcare. Dar între timp, o simplă pornire și oprire va face trucul.

Dacă doriți să-l testați, trebuie să-l lansați din directorul FollowMe Level și apoi să-l apelați din python3:

  • cd ~ / Documents / FollowMe
  • implementare python3 / FollowMe.py

Apoi, puteți accesa interfața din browserul dvs. tastând:

192.168.0.113:8000

cu adresa IP corectă, desigur.

Există, de asemenea, un vizualizator de videoclipuri cu comenzi … dar nu cu inferență de lucru

implementare python3 / StreamVideo.py

Pasul 9: Service

Acesta este motivul pentru care Rover funcționează de la sine. Un serviciu este un program care rulează în fundalul computerului fără un utilizator. Asigurați-vă că TOATE CĂILE VOI sunt absolute și că aveți drepturile corecte dacă utilizați orice fișier și serviciul va funcționa bine.

Pentru a rula un script python ca serviciu, trebuie să faceți referire la scriptul într-un fișier de serviciu. Fișierul de serviciu se află în codul descărcat din git în folderul Implementare. Numele este FollowMe.service.

Pentru a-l copia, introduceți următoarele în shell:

sudo cp ~ / Documents / FollowMe / Deployment / FollowMe.service / etc / systemd / system /

Prima dată când copiați fișierul, trebuie să actualizați systemctl … sau să reporniți:

sudo systemctl daemon-reload

Și pentru a începe:

sudo systemctl pornește FollowMe

De asemenea, puteți utiliza comenzile de oprire, activare și dezactivare. Ultimele două sunt pentru o schimbare de stare persistentă.

Mică explicație….

Openvino are nevoie de câteva căi suplimentare în variabilele de sistem pentru ca acesta să funcționeze. Din păcate, instalarea normală nu va funcționa ca un serviciu. Deci, aveți nevoie de acest fișier pentru a seta variabilele.

Observați că instalarea mea este pentru Python 3.7, prin urmare există o variabilă pe care poate fi necesar să o ajustați … Mult succes!

Acest fișier face referire la scriptul python din calea absolută:

/home/pi/Documents/FollowMe/Deployment/FollowMe.py

Pasul 10: Asta e! A se distra

Comentarii? binevenite întotdeauna

Recomandat: