Sommario:

Robot domestico alimentato EWON Raspberry Pi: 7 passaggi (con immagini)
Robot domestico alimentato EWON Raspberry Pi: 7 passaggi (con immagini)

Video: Robot domestico alimentato EWON Raspberry Pi: 7 passaggi (con immagini)

Video: Robot domestico alimentato EWON Raspberry Pi: 7 passaggi (con immagini)
Video: 3 principles for creating safer AI | Stuart Russell 2024, Dicembre
Anonim
Robot domestico alimentato da Raspberry Pi EWON
Robot domestico alimentato da Raspberry Pi EWON
Robot domestico alimentato da Raspberry Pi EWON
Robot domestico alimentato da Raspberry Pi EWON
Robot domestico alimentato da Raspberry Pi EWON
Robot domestico alimentato da Raspberry Pi EWON

Di sharathnaikSharathnaik.comSegui di più dell'autore:

Visualizzatore di cuori | Guarda il tuo cuore battere
Visualizzatore di cuori | Guarda il tuo cuore battere
Visualizzatore di cuori | Guarda il tuo cuore battere
Visualizzatore di cuori | Guarda il tuo cuore battere
Taccuino tascabile in denim fai-da-te (con immagini)
Taccuino tascabile in denim fai-da-te (con immagini)
Taccuino tascabile in denim fai-da-te (con immagini)
Taccuino tascabile in denim fai-da-te (con immagini)
PUPPI
PUPPI
PUPPI
PUPPI

Informazioni su: Ingegneria e design Maggiori informazioni su sharathnaik »

Di recente mi sono ritrovato a guardare un sacco di serie Netflix a causa della situazione attuale, spero che siate tutti al sicuro, e ho visto che la stagione 5 di Black Mirror è stata rilasciata. Una serie antologica che ruota attorno alla vita personale di un gruppo di persone e al modo in cui la tecnologia manipola il loro comportamento.

E uno degli episodi che ha attirato la mia attenzione è stato Rachel, Jack e anche Ashley. Uno dei personaggi principali di questa serie è un robot domestico di nome Ashley O e quel robot ha molto carattere intorno e ho pensato che avrei dovuto costruirne uno, è un buon progetto per iniziare con la programmazione se non quello, almeno Posso programmarlo per ridere alle mie battute.!

Cosa / Chi è Ewon? Cosa può fare?

Quindi, prima di iniziare a lavorare su questo progetto, ho fissato alcune regole di base da seguire. Questo progetto doveva essere

  • Facile da provare per tutti
  • Non solo per essere carino, ma anche per essere utile in modo che non finisca in uno scaffale
  • Modulare, in modo da poter continuare ad aggiungere nuove funzionalità.

Dopo aver impostato questa regola ho deciso di utilizzare l'SDK di Google Assistant. Questo SDK offre molte funzionalità che stavo cercando e se ti annoi di Ewon puoi usarlo sempre come dispositivo Google Home e fare ciò che fa una casa Google.

Quello che farà Ewon è aggiungere un personaggio all'assistente di Google. Questo è mostrare emozioni e reagire a ciò che dice l'utente. Ora non senti solo la voce, ma puoi anche vedere come reagisce.

NOTA: questa istruzione è in fase di sviluppo. Presto caricherò tutti i file pertinenti. Grazie

Passaggio 1: parti necessarie per Ewon

ELETTRONICA

  • Lampone PI
  • Servo SG90 (x4)
  • Servo MG995 – standard (x2)
  • Servoazionamento a 16 canali PCA9685
  • Scheda audio USB
  • Microfono
  • Altoparlanti (qualsiasi piccolo oratore andrà bene, qualcosa del genere)
  • Connettori maschio e femmina pin header
  • tagliere
  • Display successivo

FISSAGGI E CUSCINETTI

  • M3*10mm (x10)
  • M3*8mm (x10)
  • Dadi M3 (x20)
  • Cuscinetto

    • OD: 15 mm ID: 6 mm Larghezza: 5 mm (x2)
    • Diametro esterno: 22 mm ID: 8 mm Larghezza: 7 mm (x2)

ALTRI MATERIALI

  • situazione di stallo

    • 40mm (x4)
    • 30mm (x4)

UTENSILI

stampante 3d

Passaggio 2: comprensione di Ewon e programmazione

Capire Ewon e Programmare
Capire Ewon e Programmare
Capire Ewon e Programmare
Capire Ewon e Programmare
Capire Ewon e Programmare
Capire Ewon e Programmare

Prima di iniziare con l'aspetto della programmazione permettetemi di spiegare brevemente lo schema a blocchi della circuiteria di Ewon.

RPI (Raspberry pi) è il cervello del sistema. Il servoazionamento controllato da RPI guida il servo. Display controllato da RPI con comunicazione seriale per mostrare le emozioni e, infine, microfono e altoparlanti utilizzati per comunicare con Ewon. Ora che sappiamo cosa fa l'hardware, iniziamo a programmare Ewon.

Installazione dell'SDK dell'assistente di Google

Lascia che ti spieghi i due motivi per cui ho pianificato di utilizzare l'Assistente Google:

  • Volevo che Ewon non fosse solo un robot divertente, ma anche utile. Google Assistant SDK ha già un sacco di risorse che puoi utilizzare per aumentare le funzionalità di Ewon.
  • Puoi anche utilizzare le azioni su google e il flusso di dialogo per dare a Ewon la possibilità di chattare con risposte predefinite. Per ora, ci concentreremo solo sull'SDK di base.

Iniziamo installando l'SDK dell'assistente di Google. Questo non dovrebbe essere difficile in quanto ci sono un sacco di risorse per aiutarti a configurare Google Assistant SDK su RPI. Puoi seguire questo tutorial insieme:

Esercitazione:

Dopo la fine del processo di cui sopra, dovresti essere in grado di fare clic su invio sulla tastiera e parlare con l'assistente. Si tratta di installare l'SDK di Google Assistant.

Come dovrei chiamarlo? Ewon?

Ehi Google! Questo è ciò che viene utilizzato per iniziare a parlare con l'assistente di Google e sfortunatamente Google non consente l'utilizzo di altre parole di attivazione personalizzate. Quindi vediamo come possiamo cambiarlo in modo che l'assistente di Google venga attivato quando qualcuno chiama Ewon.

Snowboy: un motore di rilevamento hot word altamente personalizzabile integrato in tempo reale compatibile con Raspberry Pi, (Ubuntu) Linux e Mac OS X.

Una parola calda (nota anche come parola di attivazione o parola di attivazione) è una parola chiave o una frase che il computer ascolta costantemente come segnale per attivare altre azioni.

Iniziamo installando Snowboy su RPI. Ricordati di attivare l'ambiente virtuale per installare Snowboy come hai fatto per installare Assistant SDK. Tutto ciò che installiamo da qui in poi deve essere installato nell'ambiente virtuale. L'installazione di Snowboy può essere un po' complicata, ma questo collegamento dovrebbe aiutarti a installarlo senza problemi. Link:

Ecco un riassunto del processo di installazione se il collegamento precedente diventa confuso o l'installazione non riesce.

$ [sudo] apt-get install libatlas-base-dev swig$ [sudo] pip install pyaudio $ git clone https://github.com/Kitt-AI/snowboy $ cd snowboy/swig/Python3 $ make $ cd.. /.. $ python3 setup.py build $ [sudo] python setup.py installa

Una volta installato, esegui il file demo [trovato nella cartella - snowboy/examples/Python3/] per vedere se tutto funziona perfettamente.

Nota: puoi facilmente cambiare anche il nome del tuo robot in qualcos'altro. Tutto quello che devi fare è andare su https://snowboy.kitt.ai/ e addestrare una hotword personalizzata e quindi inserire quella hot word nella stessa cartella di ewon.pmdl.

Ewon può capire le emozioni?

Ora che Ewon ha un nome userò Ewon invece di chiamarlo robot. Ok, quindi emozioni, risposte brevi no, Ewon non può capire le emozioni, quindi quello che faremo qui è fare in modo che Ewon rilevi le emozioni nel nostro discorso usando parole chiave e quindi riproduca l'espressione facciale corrispondente ad essa associata.

Per raggiungere questo obiettivo, quello che ho fatto è un semplice script di analisi del sentimento. Ci sono 6 diverse classi di emozioni.

Immagine
Immagine

Felice, Triste, Rabbia, Paura, Disgusto e Sorpresa. Queste sono le principali classi di emozione e ognuna di esse ha un elenco di parole chiave associate all'emozione. (ad esempio buono, simpatico, eccitato, tutti sono sotto emozione felice).

Quindi, ogni volta che diciamo una delle parole chiave nella classe di emozione, viene attivata l'emozione corrispondente. Quindi quando dici "Ehi Ewon!" e aspetto che Ewon parli e io continuo a dire "Oggi è una bella giornata!", raccoglie la parola chiave "Nizza" e attiva l'emozione corrispondente 'Happy' che fa scattare l'espressione facciale di Happy.

Quelle orecchie sono su Ewon?

Il prossimo passo sarebbe usare l'emozione innescata per eseguire la rispettiva espressione facciale. Con Ewon, l'espressione facciale è notare ma muovere l'orecchio e il collo usando i servi e cambiando il display per cambiare i movimenti degli occhi.

Innanzitutto, i servi, per eseguirlo è abbastanza semplice puoi seguire questo tutorial per configurare la libreria di servo Adafruit. Link:

Immagine
Immagine

Quindi assegniamo il valore massimo e minimo per tutti i servi. Questo viene fatto spostando manualmente ciascun servo e verificandone i limiti. Puoi farlo dopo aver assemblato Ewon.

Occhi per Ewon

Per gli occhi, sto usando un display Nextion che ha un sacco di immagini come di seguito.

Immagine
Immagine

È una sequenza di immagini che ho progettato in Photoshop che, se riprodotta in sequenza, crea un'animazione. Una sequenza simile è stata creata per tutte le emozioni. Ora per visualizzare qualsiasi emozione tutto ciò che devi fare è chiamare la sequenza di immagini specifica che costituisce l'animazione. I file si trovano all'interno della cartella "Visualizza file", link per il download di seguito.

Finalmente

Mettendo tutto insieme quando l'emozione felice viene innescata dallo script, viene chiamata la funzione felice e il servo si sposta agli angoli già impostati e il display riproduce l'animazione dell'occhio felice. Quindi è così che raggiungiamo la "comprensione" delle emozioni umane. Questo metodo non è il migliore e ci sono momenti in cui le parole chiave non cadono nella stessa emozione predefinita, ma per ora funziona abbastanza bene e puoi sempre aggiungere più parole chiave per aumentare la precisione del rilevamento. Inoltre, questo può essere sostituito da un modello di analisi delle emozioni molto più addestrato come il modello di analisi delle emozioni Paralleldots per ottenere risultati migliori. Ma quando l'ho provato c'erano molti ritardi che avrebbero fatto reagire Ewon più lentamente. Forse la versione 2.0 di Ewon avrà qualcosa del genere.

Questo è il LINK a tutti i file necessari per eseguire EWON. Scarica il file e segui i passaggi seguenti:

  • Decomprimi il file posiziona questa cartella (Ewon) in home/pi/
  • Aggiungi ID dispositivo e ID modello nel file main.py. L'ID viene ottenuto durante l'installazione dell'SDK dell'assistente di Google.
  • Apri il prompt dei comandi ed esegui il sorgente dei seguenti comandi:

sorgente env/bin/activatepython main.py models/Ewon.pmdl

Passaggio 3: stampa del corpo

Puoi trovare i file 3d qui:

Ora che siamo tutti pronti con il cervello di Ewon, è tempo di stampare il suo corpo. Ci sono 18 parti uniche da stampare, la maggior parte delle quali sono piuttosto piccole, con un tempo di stampa totale di circa 15-20 ore. (esclusi i casi).

Ho usato PLA bianco con riempimento del 50% e un'altezza dello strato di 2 mm. Puoi cambiare questi valori se necessario, dovrebbe funzionare bene ma assicurati che le piccole parti abbiano il 100% di riempimento, per forza.

Dopo che i file sono stati stampati, puoi utilizzare carta vetrata o una lima manuale e pulire le parti stampate, in particolare i collegamenti in cui le parti scorrono l'una sull'altra. Levigare le giunture renderà il meccanismo liscio e fornirà meno resistenza al servo. Questo processo può richiedere tutto il tempo che desideri, poiché ci si può perdere cercando di rendere perfette le parti stampate.

Note extra: puoi rifare i fori nelle parti stampate in 3D usando una punta da 3 mm. Tutti i fori sono delle stesse dimensioni. In questo modo sarà più facile avvitare i dadi più avanti nell'assemblaggio.

Passaggio 4: mettere insieme Ewon

Mettere insieme Ewon
Mettere insieme Ewon
Mettere insieme Ewon
Mettere insieme Ewon
Mettere insieme Ewon
Mettere insieme Ewon
Mettere insieme Ewon
Mettere insieme Ewon

Prima di iniziare con l'assemblaggio, sono necessarie alcune modifiche alle parti stampate. I file denominati servo link devono essere dotati di servo link forniti con il servo, questo fa sì che i link stampati in 3D si colleghino bene con il servo.

L'assemblaggio di Ewon dovrebbe essere semplice. Ho allegato immagini da seguire.

Note extra: assicurarsi di non serrare eccessivamente il bullone o la vite in quanto ciò potrebbe rompersi e consumare le parti stampate.

Passaggio 5: cablaggio di Ewon

Cablaggio Ewon
Cablaggio Ewon
Cablaggio Ewon
Cablaggio Ewon
Cablaggio Ewon
Cablaggio Ewon

Siamo alla fase finale per far prendere vita a Ewon. Ecco lo schema elettrico dei componenti insieme alle immagini che mostrano la connessione.

  • Il servoazionamento è collegato ai pin I2C che sono SDA e SCL di RPI.
  • Il display è collegato ai pin RX e TX di RPI
  • Il microfono e gli altoparlanti sono collegati alla scheda audio USB che è collegata a RPI tramite la porta USB.

Avvertenza: fare attenzione a cortocircuitare l'RPI. Si prega di controllare due volte tutte le connessioni e assicurarsi di non aver commesso errori. Tutti gli accessori che sono altoparlanti, servo driver e display sono alimentati da una batteria 5v separata e non utilizzano la linea Raspberry Pi 5v. Raspberry pi viene utilizzato solo per inviare dati agli accessori ma non per alimentarli.

Passaggio 6: Ehi Ewon! Riesci a sentirmi?

Ehi Ewon! Riesci a sentirmi?
Ehi Ewon! Riesci a sentirmi?

Quindi abbiamo collegato tutti i nostri accessori e installato tutte le librerie necessarie. Puoi avviare Ewon eseguendo lo script della shell usando./run Ewon.shMa cos'è questo script.sh? Ewon utilizza molte librerie diverse con script diversi (Google Assistant SDK, Snowboy, Adafruit, ecc.). Tutti gli script vengono inseriti nelle rispettive cartelle. (Possiamo spostare tutti i file nello stesso percorso e organizzare tutti gli script, ma attualmente alcune librerie non consentono di spostare i file sorgente, quindi, per ora, li terremo solo nelle rispettive posizioni).sh sono script di shell che eseguono tutti questi script uno per uno da ogni posizione in modo da non dover andare manualmente in ciascuna posizione ed eseguire gli script. Ciò semplifica la gestione di tutti i comandi.

Una volta eseguito lo script della shell, di' semplicemente "Hey Ewon!" e dovresti vedere Ewon iniziare ad ascoltarti. Ora puoi usare Ewon come assistente di Google e parlarci e puoi vedere Ewon cambiare le espressioni da quello che dici. Prova qualcosa come "Ehi Ewon! Sono triste oggi” e puoi vedere che Ewon è triste con te. Chiedi a Ewon una battuta e guardalo ridere della battuta.

Passaggio 7: cosa c'è dopo?

Ewon non si ferma qui. Ewon ora ha un modo per rilevare e mostrare le emozioni, ma possiamo farlo fare molto di più. Questo è solo l'inizio.

Nel prossimo aggiornamento, lavoreremo su come realizzare

  • Ewon rileva i volti e traccia il tuo viso e si muove insieme al tuo viso.
  • Aggiungeremo effetti sonori per dare una profondità extra al personaggio.
  • Aggiungi mobilità in modo che Ewon possa muoversi insieme a te.

Nota: a causa della situazione attuale è diventato molto difficile reperire parti per il progetto. Questo mi ha fatto cambiare design e funzionalità considerando le idee che avevo nel mio inventario. Ma non appena metterò le mani su tutte le parti aggiornerò il progetto sopra.

Aggiornamenti:

  • Ha apportato alcune modifiche al codice, rimosso lo script della shell.
  • Aggiunto un corpo rettangolare per EWON.

Consigliato: