Sommario:

MyPetBot (un bot che ti segue): 10 passaggi (con immagini)
MyPetBot (un bot che ti segue): 10 passaggi (con immagini)

Video: MyPetBot (un bot che ti segue): 10 passaggi (con immagini)

Video: MyPetBot (un bot che ti segue): 10 passaggi (con immagini)
Video: Топ-10 продуктов, которые разрушают ваше здоровье 2024, Luglio
Anonim
Image
Image
MyPetBot (un bot che ti segue)
MyPetBot (un bot che ti segue)
MyPetBot (un bot che ti segue)
MyPetBot (un bot che ti segue)

Ai è una delle più belle applicazioni della matematica. È fondamentalmente un gruppo di operazioni di matrici ottimizzate per abbinare il risultato che stai cercando. Per fortuna ci sono tonnellate di strumenti open source che ci permettono di farne uso.

Inizialmente ho avuto l'idea molto tempo fa quando stavo lavorando su una cascata disattivata dalle persone che passano il tiro. Stavo usando i sensori a ultrasuoni e ho scoperto troppo tardi che non funzionano molto quando sono bagnati… Non è stata un'esperienza divertente. Abbiamo finito per usare un grosso pulsante che le persone avrebbero premuto se volevano passare. È andato tutto bene perché faceva caldo e alla gente piaceva bagnarsi, ma il problema è rimasto nella mia testa… Come rilevare le persone e attivare una reazione.

Sto raccontando questa storia perché voglio sottolineare che questo principio può essere utilizzato per tonnellate di altre applicazioni! Seguire la tua faccia con un giocattolo è solo uno di questi. Per le installazioni interattive puoi fare qualsiasi cosa. Potresti usare un modello per rilevare se un viso sta sorridendo. Potresti contare il numero di cani in un parco. Potresti chiudere le persiane quando le persone passano. Oppure… crea un controller per la tua base nintendo sulla posizione del tuo corpo… Puoi scaricare molti altri modelli Ai che fanno qualsiasi tipo di cosa.

Ci sono alcuni tutorial su come far funzionare l'inferenza Ai con raspberry pi. Sono qui per insegnarti come rendere l'integrazione del buco in un'unità di lavoro autonomo. Non appena il tuo robot si avvia, avvierà i programmi necessari.

Forniture

  • Robot parallasse: ho scelto questo robot perché ce l'avevo in giro, ma qualsiasi robot che può essere controllato con un arduino farà il lavoro.
  • Raspberry pi: consiglio almeno il lampone pi 3B+.
  • Intel Neural Stick: la velocità di inferenza va da uno al secondo a 8. Ne hai davvero bisogno se vuoi fare Ai in un lampone pi.
  • Power Bank: il modo più semplice per gestire la potenza. Funziona con il raspberry pi 3B+, potresti voler verificare che funzioni con un pi 4.
  • Picamera: mi piace usare la picamera invece di una usb.

Passaggio 1: assemblaggio Rover

Assemblaggio Rover
Assemblaggio Rover
Assemblaggio Rover
Assemblaggio Rover
Assemblaggio Rover
Assemblaggio Rover

Il punto del tutorial riguarda principalmente il software, quindi non voglio entrare troppo nei dettagli del rover. Funziona con questo robot, ma potrebbe funzionare davvero con qualsiasi altro hardware. Non deve nemmeno essere per un rover, potresti usarlo per una fotocamera con sensore di movimento.

  1. Trovati un veicolo controllato da Arduino.
  2. Avvolgere strettamente un power bank ad esso.
  3. Avvolgere strettamente un lampone pi.
  4. Incolla la picamera con una leggera angolazione verso l'alto.
  5. Collega tutto insieme.
  6. Ecco!

Passaggio 2: Raspbian

Raspbian
Raspbian
Raspbian
Raspbian

Sto usando un raspberry pi, ma non c'è motivo per non usare un altro Linux … dipende da te. Potrei rilasciare un'immagine plug and play per masterizzare una scheda SD, ci arriverò se abbastanza persone sono interessate.

Installa Raspbian: puoi installare Raspbian Buster Lite. Non useremo il desktop… Solo la connessione ssh Secure Shell.

Connettiti al tuo Pi: per prima cosa puoi connetterti al tuo Raspberry Pi con una connessione Ethernet

Imposta il tuo wifi: ora puoi configurare la tua connessione wireless

Passaggio 3: ApriVino

OpenVino
OpenVino

OpenVino è una grande libreria supportata da Intel. Hanno fatto un ottimo lavoro nella compilazione di modelli di esempio e hanno reso compatibile la maggior parte del framework ai. Questa libreria è necessaria per l'Intel Neural Stick.

Installazione di Python3: è necessario installare Python 3.

Installazione di OpenVino: una volta eseguita questa operazione vedrai una riga "[setupvars.sh] OpenVINO ambiente inizializzato" ogni volta che ti connetti al raspberry pi.

OpenVino è un'estensione di opencv. Per testarlo, puoi avviare python3 e importare cv2.

digita nella shell:

pitone3

digita in Python:

  • importa cv2
  • cv2._versione_

L'ultima riga dovrebbe restituire '4.1.2-openvino' o qualsiasi versione di openvino. se se dice opencv la tua installazione non ha funzionato…

Passaggio 4: scarica il codice

Scarica il codice
Scarica il codice

Innanzitutto, installiamo git. Digita nella shell:

sudo apt-get install git

Quindi possiamo spostarci nella cartella Documenti e scaricare il codice:

  • cd ~/Documenti/
  • git clone

Passaggio 5: Seguimi (Python)

Seguimi (Pitone)
Seguimi (Pitone)

Questa è la parte con cui vuoi giocare. Fai se ti seguo! Fai in modo che abbia paura di te! Segui il tuo cane! Fagli riconoscere le espressioni del viso!! Molestare il tuo gatto!!! Quello che vuoi.

Troverai quattro cartelle principali: Arduino, Deployment, Player e FollowMe:

Arduino: Maggiori informazioni su questo nella prossima sezione

Distribuzione: qui è dove inserisco l'interfaccia utente. In questo momento ho codificato un semplice pulsante di avvio / arresto e un piccolo visualizzatore di telecamere con controllo solo per divertimento.

Lettore: pensato per essere utilizzato nel tuo PC desktop. Per aver esaminato l'output del bot!

FollowMe: il modulo che fa il vero divertimento

Metterò maggiori dettagli su github, in modo da avere un solo posto da aggiornare. Questo è il posto per il codice

Passaggio 6: scarica i modelli

I modelli per l'inferenza non sono inclusi nel codice poiché sono abbastanza grandi. Ma puoi trovare molti esempi usando il modello OpenVino Zoo

Puoi usare il downloader del modello o andare direttamente a questo link. Nel mio caso non ho potuto utilizzare il downloader del modello dalla mia installazione di raspberry pi…

Quindi copia il modello in una cartella denominata Models con:

  • cd ~/Documenti/Seguimi
  • modelli mkdir
  • Modelli cd
  • wget
  • wget

Hai sempre bisogno di.xml e.bin.

Puoi scaricare qualsiasi modello tu voglia… Ma dovrai cambiare il codice. Divertiti!

Passaggio 7: Arduino

Arduino
Arduino

Dobbiamo scaricare il codice nel passaggio precedente. Il codice per l'arduino è dentro!

Il codice è pensato per pilotare due servocomandi continui, se scegli una configurazione diversa devi modificare il codice.

Fondamentalmente fa due cose. Comunica con il computer e attiva i servi alla velocità selezionata.

Potrei usare l'uscita del Raspberry Pi direttamente per controllare i motori… ma gli arduino funzionano meglio (hanno un vero generatore di frequenza). Inoltre, volevo scaricare il più possibile il raspberry pi per rendere l'inferenza più veloce.

Passaggio 8: GUI

GUI
GUI
GUI
GUI

Niente di eccezionale… Eppure. Potrei aggiungere altre cose come live view o controlli di movimento. Ma nel frattempo, un semplice avvio e arresto farà il trucco.

Se vuoi provarlo, devi avviarlo dalla directory FollowMe Level e poi chiamarlo da python3:

  • cd ~/Documenti/Seguimi
  • python3 Distribuzione/FollowMe.py

Quindi puoi accedere all'interfaccia nel tuo browser digitando:

192.168.0.113:8000

con l'indirizzo IP corretto ovviamente.

C'è anche un visualizzatore video con controlli… ma non con inferenza funzionante

python3 Distribuzione/StreamVideo.py

Passaggio 9: servizio

Questo è ciò che fa funzionare la Rover da sola. Un servizio è un programma in esecuzione in background del computer senza un utente. Assicurati che TUTTI I TUOI PERCORSI siano assoluti e di disporre dei diritti corretti se utilizzi qualsiasi file e il servizio funzionerà correttamente.

Per eseguire uno script Python come servizio è necessario fare riferimento allo script in un file di servizio. Il file del servizio si trova nel codice scaricato da git nella cartella Deployment. Il nome è FollowMe.service.

Per copiarlo digita quanto segue nella shell:

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

La prima volta che copi il file devi aggiornare systemctl… o riavviare:

sudo systemctl demone-reload

E per iniziare:

sudo systemctl start FollowMe

Puoi anche usare i comandi stop, enable e disable. Gli ultimi due sono per un persistente cambiamento di stato.

Piccola spiegazione….

Openvino ha bisogno di alcuni percorsi extra nelle variabili di sistema per funzionare. Sfortunatamente la normale installazione non funzionerà come servizio. Quindi hai bisogno di questo file per impostare le variabili.

Nota che la mia installazione è per Python 3.7, quindi c'è una variabile che potresti dover regolare … Buona fortuna!

Questo file fa riferimento allo script Python nel percorso assoluto:

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

Passaggio 10: questo è tutto! Divertiti

Commenti? sempre il benvenuto

Consigliato: