Indholdsfortegnelse:

MyPetBot (en bot der følger dig): 10 trin (med billeder)
MyPetBot (en bot der følger dig): 10 trin (med billeder)

Video: MyPetBot (en bot der følger dig): 10 trin (med billeder)

Video: MyPetBot (en bot der følger dig): 10 trin (med billeder)
Video: Tilbyder mine kunder gratis kort 😋 2024, November
Anonim
Image
Image
MyPetBot (en bot der følger dig)
MyPetBot (en bot der følger dig)
MyPetBot (en bot der følger dig)
MyPetBot (en bot der følger dig)

Ai er en af de smukkeste anvendelser af matematik. Det er dybest set en flok matricer, der er optimeret til at matche det resultat, du leder efter. Heldigvis er der masser af open source -værktøjer, der giver os mulighed for at gøre brug af det.

Jeg havde oprindeligt ideen for længe siden, da jeg arbejdede på et vandfald, der blev deaktiveret af de mennesker, der passerede kast. Jeg brugte ultralydssensorer og opdagede for sent, at de ikke virker meget, når de er våde … Det var ikke en sjov oplevelse. Vi endte med at bruge en stor knap, som folk ville trykke på, hvis de ville passere. Det blev fint, fordi det var varmt, og folk elskede at blive våde, men problemet blev i mit hoved … Hvordan man opdager mennesker og aktiverer en reaktion.

Jeg fortæller denne historie, fordi jeg vil påpege, at dette princip kan bruges til masser af andre applikationer! Det er kun et af dem at følge dit ansigt med et stykke legetøj. Til interaktive installationer kan du gøre enhver form for ting. Du kan bruge en model til at registrere, om et ansigt smiler. Du kan tælle antallet af hunde i en park. Du kan lukke dine persienner, når folk går forbi. Eller… lav en controller til din nintendo -base på din kropsposition…. Du kan downloade mange andre Ai -modeller, der gør alle slags ting.

Der er et par tutorial om, hvordan man får Ai -slutning til at fungere med hindbærpi. Jeg er her for at lære dig, hvordan du kan integrere hullet i en selvarbejdende enhed. Så snart din robot starter, starter den de nødvendige programmer.

Forbrugsvarer

  • Parallax -robot: Jeg valgte denne robot, fordi jeg havde den liggende, men enhver robot, der kan styres med en arduino, vil gøre arbejdet.
  • Hindbær pi: Jeg anbefaler i hvert fald hindbær pi 3B+.
  • Intel Neural Stick: Inferenshastigheden går fra en pr. Sekund til 8. Du har virkelig brug for en, hvis du vil lave Ai i en hindbærpi.
  • Power Bank: Den nemmeste måde at styre strømmen på. Fungerer med hindbær pi 3B+, du vil måske kontrollere, at det fungerer med en pi 4.
  • Picamera: Jeg kan godt lide at bruge picamera i stedet for en usb.

Trin 1: Rover -samling

Rover forsamling
Rover forsamling
Rover forsamling
Rover forsamling
Rover forsamling
Rover forsamling

Pointen med vejledningen handler hovedsageligt om softwaren, så jeg vil ikke gå for meget ind i detaljerne i roveren. Det fungerer med denne robot, men det kan virkelig fungere med enhver anden hardware. Behøver ikke engang være for en rover, du kan bruge dette til et bevægelsessensorkamera.

  1. Find dig selv et Arduino -kontrolleret køretøj.
  2. Tæt pakke en powerbank til det.
  3. Pak en hindbærpi tæt til den.
  4. Lim fotokameraet med i en lille vinkel mod toppen.
  5. Forbind alt sammen.
  6. Voila!

Trin 2: Raspbian

Raspbian
Raspbian
Raspbian
Raspbian

Jeg bruger en hindbær pi, men der er ingen grund til ikke at bruge en anden linux … op til dig. Jeg kunne frigive et plug and play -billede til brænding af et sd -kort, jeg kommer til det, hvis nok mennesker er interesserede.

Installer Raspbian: Du kan installere Raspbian Buster Lite. Vi vil ikke bruge skrivebordet … Kun ssh Secure Shell -forbindelsen.

Opret forbindelse til din Pi: Først kan du oprette forbindelse til din hindbær pi med en Ethernet -forbindelse

Indstil din wifi: Nu kan du konfigurere din trådløse forbindelse

Trin 3: OpenVino

OpenVino
OpenVino

OpenVino er et fantastisk bibliotek understøttet af Intel. De har gjort et stort stykke arbejde med at sammensætte eksempler på modeller, og de har gjort det meste af ai -rammer kompatible. Du har brug for dette bibliotek til Intel Neural Stick.

Python3 -installation: Du skal installere python 3.

OpenVino installation: Når dette er gjort, vil du se en linje "[setupvars.sh] OpenVINO miljø initialiseret" hver gang du opretter forbindelse til hindbær pi.

OpenVino er en udvidelse af opencv. For at teste det kan du starte python3 og importere cv2.

indtast i skallen:

python3

indtast i python:

  • import cv2
  • cv2._ version_

Den sidste linje skal returnere '4.1.2-openvino' eller en hvilken som helst version af openvino. hvis hvis siger opencv din installation ikke fungerede …

Trin 4: Download koden

Download koden
Download koden

Først installerer vi git. Indtast i skallen:

sudo apt-get install git

Derefter kan vi flytte til Dokumenter -mappen og downloade koden:

  • cd ~/Dokumenter/
  • git -klon

Trin 5: FollowMe (Python)

FollowMe (Python)
FollowMe (Python)

Det er den del, du vil lege med. Gør if følge dig! Gør det bange for dig! Følg din hund! Få det til at genkende ansigtsudtryk !! Harase din kat !!! Alt hvad du vil have.

Du finder fire hovedmapper: Arduino, Deployment, Player og FollowMe:

Arduino: Mere om det i det næste afsnit

Implementering: Det er her, jeg placerer brugergrænsefladen. Lige nu kodede jeg en simpel start/stop -knap og en lille kameraviser med kontrol bare pelssjov.

Spiller: Tænkt til at blive brugt i din stationære pc. Til gennemgang af botens output!

FollowMe: Modulet, der gør det sjovt

Jeg vil lægge flere detaljer om github, så jeg kun har ét sted at opdatere. Dette er stedet for koden

Trin 6: Download modellerne

Modellerne til slutning er ikke inkluderet i koden, da de er ret store. Men du kan finde masser af eksempler ved hjælp af OpenVino model Zoo

Du kan bruge model downloader eller gå direkte smide dette link. I mit tilfælde kunne jeg ikke bruge model downloader fra min hindbær pi installation …

Kopier derefter modellen til en mappe ved navn Modeller med:

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

Du har altid brug for.xml og.bin.

Du kan downloade enhver model, du ønsker … Men du bliver nødt til at ændre koden. Hav det sjovt!

Trin 7: Arduino

Arduino
Arduino

Vi kom til at downloade koden på det foregående trin. Koden til arduinoen er i den!

Koden er beregnet til at køre to kontinuerlige servoer. Hvis du vælger en anden konfiguration, skal du ændre koden.

Det gør i bund og grund to ting. Den kommunikerer med computeren, og den aktiverer servoerne med den valgte hastighed.

Jeg kunne os output fra hindbær pi direkte til at styre motorerne … men arduinos fungerer bedre (De har en reel frekvensgenerator). Jeg ville også aflade hindbærpi så meget som muligt for at gøre slutningen hurtigere.

Trin 8: GUI

GUI
GUI
GUI
GUI

Ikke noget fancy … Endnu. Jeg tilføjer måske nogle andre ting som live view eller bevægelseskontroller. Men i mellemtiden vil en simpel start og stop gøre tricket.

Hvis du vil teste det, skal du starte det fra biblioteket FollowMe Level og derefter kalde det fra python3:

  • cd ~/Documents/FollowMe
  • python3 -implementering/FollowMe.py

Derefter kan du få adgang til grænsefladen i din browser ved at skrive:

192.168.0.113:8000

med den rigtige IP -adresse selvfølgelig.

Der er også en videofremviser med kontroller … men ikke med arbejdsinferens

python3 Deployment/StreamVideo.py

Trin 9: Service

Det er det, der får Rover til at fungere af sig selv. En service er et program, der kører i baggrunden af computeren uden en bruger. Sørg for, at ALLE dine stier er absolutte, og at du har de korrekte rettigheder, hvis du bruger filer, og tjenesten kører fint.

For at køre et python -script som en tjeneste skal du referere til scriptet i en servicefil. Servicefilen er i koden, der er downloadet fra git i mappen Deployment. Navnet er FollowMe.service.

For at kopiere det skal du skrive følgende i skallen:

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

Første gang du kopierer filen, skal du opdatere systemctl … eller genstarte:

sudo systemctl daemon-reload

Og for at starte:

sudo systemctl start FollowMe

Du kan også bruge kommandoerne stop, aktiver og deaktiver. De to sidste er til et vedvarende statsskifte.

Lidt forklaring….

Openvino har brug for nogle ekstra stier i systemvariablerne for at det kan fungere. Desværre fungerer den normale installation ikke som en service. Så du har brug for denne fil for at indstille variablerne.

Bemærk, at min installation er til python 3.7, derfor er der en variabel, som du muligvis skal justere … Held og lykke!

Denne fil refererer til python -scriptet i den absolutte sti:

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

Trin 10: Det er det! Hav det sjovt

Kommentarer? altid velkommen

Anbefalede: