Sommario:
- Forniture
- Passaggio 1: assemblaggio Rover
- Passaggio 2: Raspbian
- Passaggio 3: ApriVino
- Passaggio 4: scarica il codice
- Passaggio 5: Seguimi (Python)
- Passaggio 6: scarica i modelli
- Passaggio 7: Arduino
- Passaggio 8: GUI
- Passaggio 9: servizio
- Passaggio 10: questo è tutto! Divertiti
Video: MyPetBot (un bot che ti segue): 10 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
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
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.
- Trovati un veicolo controllato da Arduino.
- Avvolgere strettamente un power bank ad esso.
- Avvolgere strettamente un lampone pi.
- Incolla la picamera con una leggera angolazione verso l'alto.
- Collega tutto insieme.
- Ecco!
Passaggio 2: 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 è 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
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)
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
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
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:
Arduino - Robot per risolvere labirinti (MicroMouse) Robot che segue il muro: 6 passaggi (con immagini)
Arduino | Robot Maze Solving (MicroMouse) Robot Wall Following: Benvenuto Sono Isaac e questo è il mio primo robot "Striker v1.0".Questo Robot è stato progettato per risolvere un semplice Labirinto.Nella competizione avevamo due labirinti e il robot è stato in grado di identificarli. Qualsiasi altro cambiamento nel labirinto potrebbe richiedere un cambiamento nel
Quad per bambini che hackera un veicolo a guida autonoma, che segue la linea e rileva ostacoli.: 4 passaggi
Quad per bambini che ha hackerato un veicolo a guida autonoma, che segue la linea e che rileva gli ostacoli.: Nell'istruttivo di oggi trasformeremo un quad elettrico per bambini da 1000 Watt (sì, lo so molto!) In un veicolo a guida autonoma, che segue la linea e che evita gli ostacoli! Video dimostrativo: https://youtu.be/bVIsolkEP1kPer questo progetto avremo bisogno dei seguenti materiali
Robot che segue la linea avanzato: 22 passaggi (con immagini)
Robot che segue la linea avanzato: questo è un robot che segue la linea avanzato basato su Teensy 3.6 e un sensore di linea QTRX che ho costruito e su cui ho lavorato per un po' di tempo. Ci sono alcuni importanti miglioramenti nel design e nelle prestazioni della mia prima linea che segue il robot. T
Robot che segue l'uomo che usa Arduino Uno sotto i 20 $: 9 passaggi
Robot che segue umano usando Arduino Uno sotto i 20 $: quindi ho realizzato questo robot circa un anno fa e mi è piaciuto che possa seguirti ovunque e ovunque. questa è la migliore alternativa per un cane. è ancora con me fino ad ora. Ho anche un canale youtube dove puoi vedere il processo di realizzazione nel vi
Linea E101 che segue il bot con altoparlante: 11 passaggi
E101 Bot che segue la linea con altoparlante: ecco un robot che segue la linea che riproduce la musica quando passa su colori specifici