Innholdsfortegnelse:

MyPetBot (en bot som følger deg): 10 trinn (med bilder)
MyPetBot (en bot som følger deg): 10 trinn (med bilder)

Video: MyPetBot (en bot som følger deg): 10 trinn (med bilder)

Video: MyPetBot (en bot som følger deg): 10 trinn (med bilder)
Video: How to Make a Trading Bot Part 1 2024, Juli
Anonim
Image
Image
MyPetBot (en bot som følger deg)
MyPetBot (en bot som følger deg)
MyPetBot (en bot som følger deg)
MyPetBot (en bot som følger deg)

Ai er en av de vakreste anvendelsene av matematikk. Det er i utgangspunktet en haug matriser som er optimalisert for å matche resultatet du leter etter. Heldigvis er det tonnevis med åpen kildekode -verktøy som lar oss bruke det.

Jeg hadde opprinnelig ideen for lenge siden da jeg jobbet på en foss som ble deaktivert av de som passerte kastet. Jeg brukte ultralydsensorer og oppdaget for sent at de ikke fungerer veldig godt når de er våte … Det var ikke en morsom opplevelse. Vi endte opp med å bruke en stor knapp som folk ville trykke på hvis de ville passere. Det ble bra fordi det var varmt og folk elsket å bli våt, men problemet ble liggende i hodet mitt … Hvordan oppdage folk og aktivere en reaksjon.

Jeg forteller denne historien fordi jeg vil påpeke at dette prinsippet kan brukes for tonnevis med andre applikasjoner! Å følge ansiktet ditt med en leke er bare ett av dem. For interaktive installasjoner kan du gjøre alle slags ting. Du kan bruke en modell for å oppdage om et ansikt smiler. Du kan telle antall hunder i en park. Du kan lukke persiennene når folk går forbi. Eller … lag en kontroller for din Nintendo -base på kroppsposisjonen din …. Du kan laste ned mange andre Ai -modeller som gjør alle slags ting.

Det er noen opplæringsprogrammer for hvordan Ai -slutning kan fungere med bringebærpi. Jeg er her for å lære deg hvordan du gjør hullintegrasjonen til en selvarbeidende enhet. Så snart roboten starter, starter den de nødvendige programmene.

Rekvisita

  • Parallaksrobot: Jeg valgte denne roboten fordi jeg hadde den liggende, men enhver robot som kan styres med en arduino vil gjøre jobben.
  • Bringebær pi: Jeg anbefaler minst bringebær pi 3B+.
  • Intel Neural Stick: Inferensraten går fra en per sekund til 8. Du trenger virkelig en hvis du vil gjøre Ai i en bringebærpi.
  • Power Bank: Den enkleste måten å styre strømmen på. Fungerer med bringebær pi 3B+, det kan være lurt å sjekke at den fungerer med en pi 4.
  • Picamera: Jeg liker å bruke picamera i stedet for en usb.

Trinn 1: Rover -montering

Rover Assembly
Rover Assembly
Rover Assembly
Rover Assembly
Rover Assembly
Rover Assembly

Poenget med opplæringen handler hovedsakelig om programvaren, så jeg vil ikke gå for mye inn i detaljene til roveren. Det fungerer med denne roboten, men det kan virkelig fungere med annen maskinvare. Trenger ikke engang å være for en rover, du kan bruke dette til et bevegelsessensorkamera.

  1. Finn deg et Arduino -kontrollert kjøretøy.
  2. Tett vikle en powerbank til den.
  3. Fest en bringebærpai godt til den.
  4. Lim fotokameraet med en liten vinkel mot toppen.
  5. Koble alt sammen.
  6. Voila!

Trinn 2: Raspbian

Raspbian
Raspbian
Raspbian
Raspbian

Jeg bruker en bringebær pi, men det er ingen grunn til ikke å bruke en annen linux … opp til deg. Jeg kan slippe et plug -and -play -bilde for brenning av et SD -kort, jeg kommer til det hvis nok folk er interessert.

Installer Raspbian: Du kan installere Raspbian Buster Lite. Vi kommer ikke til å bruke skrivebordet … Bare ssh Secure Shell -tilkoblingen.

Koble til din Pi: Først kan du koble til din bringebær pi med en Ethernet -tilkobling

Still inn wifi: Nå kan du konfigurere den trådløse tilkoblingen

Trinn 3: OpenVino

OpenVino
OpenVino

OpenVino er et flott bibliotek som støttes av Intel. De har gjort en god jobb med å sette sammen eksempler på modeller, og de har gjort det meste av ai -rammeverk kompatibelt. Du trenger dette biblioteket for Intel Neural Stick.

Python3 -installasjon: Du må installere python 3.

OpenVino -installasjon: Når dette er gjort, ser du linjen "[setupvars.sh] OpenVINO -miljø initialisert" hver gang du kobler deg til bringebær -pi.

OpenVino er en utvidelse av opencv. For å teste det, kan du starte python3 og importere cv2.

skriv inn skallet:

python3

skriv inn python:

  • importer cv2
  • cv2._ versjon_

Den siste linjen skal returnere '4.1.2-openvino' eller en hvilken som helst versjon av openvino. hvis hvis sier opencv installasjonen din ikke fungerte …

Trinn 4: Last ned koden

Last ned koden
Last ned koden

Først installerer vi git. Skriv inn skallet:

sudo apt-get install git

Deretter kan vi flytte til Dokumenter -mappen og laste ned koden:

  • cd ~/Dokumenter/
  • git -klon

Trinn 5: FollowMe (Python)

FollowMe (Python)
FollowMe (Python)

Dette er delen du vil spille med. Gjør hvis følge deg! Gjør det redd for deg! Følg hunden din! Få den til å gjenkjenne ansiktsuttrykk !! Harase katten din !!! Alt du vil.

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

Arduino: Mer om det i neste avsnitt

Distribusjon: Det er her jeg legger brukergrensesnittet. Akkurat nå kodet jeg en enkel start/stopp -knapp og en liten kameravis med kontroll bare pelsglede.

Spiller: ment å bli brukt på din stasjonære PC. For å gjennomgå utdataene fra boten!

FollowMe: Modulen som gjør selve moroa

Jeg legger mer informasjon om github, så bare for å ha ett sted å oppdatere. Dette er stedet for koden

Trinn 6: Last ned modellene

Modellene for slutning er ikke inkludert i koden siden de er ganske store. Men du kan finne mange eksempler ved å bruke OpenVino modell Zoo

Du kan bruke modellnedlasteren eller gå direkte til denne lenken. I mitt tilfelle kunne jeg ikke bruke modellnedlasteren fra bringebær pi -installasjonen min …

Kopier deretter modellen til en mappe som heter Modeller med:

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

Du trenger alltid.xml og.bin.

Du kan laste ned hvilken som helst modell du vil … Men du må endre koden. Ha det gøy!

Trinn 7: Arduino

Arduino
Arduino

Vi må laste ned koden på forrige trinn. Koden for arduinoen er i den!

Koden er ment å drive to kontinuerlige servoer. Hvis du velger en annen konfigurasjon, må du endre koden.

Det gjør i utgangspunktet to ting. Den kommuniserer med datamaskinen og den aktiverer servoene med den valgte hastigheten.

Jeg kunne gi oss utgangen av bringebær -pi direkte for å kontrollere motorene … men arduinoer fungerer bedre (de har en ekte frekvensgenerator). Jeg ønsket også å laste av bringebær -pi så mye som mulig for å gjøre slutningen raskere.

Trinn 8: GUI

GUI
GUI
GUI
GUI

Ikke noe fancy … ennå. Jeg kan legge til noen andre ting som live view eller bevegelseskontroller. Men i mellomtiden vil en enkel start og stopp gjøre susen.

Hvis du vil teste den, må du starte den fra katalogen FollowMe Level og deretter kalle den fra python3:

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

Deretter kan du få tilgang til grensesnittet i nettleseren din ved å skrive:

192.168.0.113:8000

med riktig IP -adresse selvfølgelig.

Det er også en videovisning med kontroller … men ikke med arbeidsinferens

python3 Deployment/StreamVideo.py

Trinn 9: Service

Det er dette som får Rover til å fungere av seg selv. En tjeneste er et program som kjører i bakgrunnen på datamaskinen uten bruker. Sørg for at ALLE STIENE dine er absolutte, og at du har de riktige rettighetene hvis du bruker filer og tjenesten vil fungere bra.

For å kjøre et python -skript som en tjeneste må du referere til skriptet i en servicefil. Tjenestefilen er i koden lastet ned fra git i mappen Deployment. Navnet er FollowMe.service.

For å kopiere den skriver du inn følgende i skallet:

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

Første gang du kopierer filen må du oppdatere systemctl … eller starte på nytt:

sudo systemctl daemon-reload

Og for å starte:

sudo systemctl start FollowMe

Du kan også bruke kommandoene stoppe, aktivere og deaktivere. De to siste er for et vedvarende endring av staten.

Liten forklaring….

Openvino trenger noen ekstra stier i systemvariablene for at det skal fungere. Dessverre fungerer ikke normal installasjon som en tjeneste. Så du trenger denne filen for å angi variablene.

Legg merke til at installasjonen min er for python 3.7 derfor er det en variabel du må justere … Lykke til!

Denne filen refererer til python -skriptet i den absolutte banen:

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

Trinn 10: Det er det! Ha det gøy

Kommentarer? alltid velkommen

Anbefalt: