Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Rover -montering
- Trinn 2: Raspbian
- Trinn 3: OpenVino
- Trinn 4: Last ned koden
- Trinn 5: FollowMe (Python)
- Trinn 6: Last ned modellene
- Trinn 7: Arduino
- Trinn 8: GUI
- Trinn 9: Service
- Trinn 10: Det er det! Ha det gøy
Video: MyPetBot (en bot som følger deg): 10 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
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
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.
- Finn deg et Arduino -kontrollert kjøretøy.
- Tett vikle en powerbank til den.
- Fest en bringebærpai godt til den.
- Lim fotokameraet med en liten vinkel mot toppen.
- Koble alt sammen.
- Voila!
Trinn 2: 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 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
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)
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
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
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:
Hvordan lage en sikkerhetsboks som følger blant oss - Elektrisk ledningsoppgave: 7 trinn
Hvordan lage en sikkerhetsboks som følger blant oss - Elektrisk ledningsoppgave: I dag vil jeg vise deg hvordan du lager en sikkerhetsboks etter blant oss -spill - Elektrisk ledningsoppgave
Person som følger handlekurven: 8 trinn
Person som følger vogn: Roboter får mer og mer oppmerksomhet i mange bransjer hver dag. Per i dag overtar roboter de fleste trivielle jobbene der en gang var menneskelig oppmerksomhet påkrevd. La oss starte med en enkel - En bot som følger deg når du går. De
ANTIDISTRAKSJON: Smarttelefonholderen som hjelper deg med å fokusere: 7 trinn (med bilder)
ANTiDISTRAKSJON: Smarttelefonholderen som hjelper deg med å fokusere: Vår ANTiDISTRAKSJON -enhet er rettet mot å avslutte alle former for mobil distraksjon i perioder med intens fokus. Maskinen fungerer som en ladestasjon som en mobil enhet er montert på for å lette et distraksjonsfritt miljø
Hydrator - en enhet som motiverer deg til å drikke vann: 8 trinn (med bilder)
Hydrator - en enhet som motiverer deg til å drikke vann: Å drikke nok vann er veldig viktig for alle. Men hver dag ender jeg med å drikke mindre vann enn hvor mye jeg burde. Jeg vet at det er mennesker som meg som må bli påminnet om å drikke vann. Hvis du er en av oss, vil dette prosjektet endre din
Hvordan lage en linje følger ved hjelp av Arduino: 8 trinn (med bilder)
Hvordan lage en linjefølge ved hjelp av Arduino: Hvis du kommer i gang med robotikk, inkluderer et av de første prosjektene som nybegynnere lager en linjefølge. Det er en spesiell lekebil med eiendom for å kjøre langs en linje som normalt er svart i fargen og i motsetning til bakgrunnen. La oss få stjerne