Taula de continguts:

Robot domèstic EWON Raspberry Pi: 7 passos (amb imatges)
Robot domèstic EWON Raspberry Pi: 7 passos (amb imatges)

Vídeo: Robot domèstic EWON Raspberry Pi: 7 passos (amb imatges)

Vídeo: Robot domèstic EWON Raspberry Pi: 7 passos (amb imatges)
Vídeo: Companion Robot: Overview - Raspberry Pi | Arduino | DIY Robotics 2024, Desembre
Anonim
Robot domèstic alimentat per EWON Raspberry Pi
Robot domèstic alimentat per EWON Raspberry Pi
Robot casolà EWON Raspberry Pi
Robot casolà EWON Raspberry Pi
Robot domèstic alimentat per EWON Raspberry Pi
Robot domèstic alimentat per EWON Raspberry Pi

Per sharathnaikSharathnaik.com Segueix més de l’autor:

Visualitzador del cor | Veure el teu cor bategar
Visualitzador del cor | Veure el teu cor bategar
Visualitzador del cor | Veure el teu cor bategar
Visualitzador del cor | Veure el teu cor bategar
DIY: portàtil de butxaca de mezclilla fresc (amb imatges)
DIY: portàtil de butxaca de mezclilla fresc (amb imatges)
DIY: portàtil de butxaca de mezclilla fresc (amb imatges)
DIY: portàtil de butxaca de mezclilla fresc (amb imatges)
PUPPI
PUPPI
PUPPI
PUPPI

Quant a: Enginyeria i disseny Més informació sobre sharathnaik »

Fa poc m’he trobat mirant moltes sèries de Netflix a causa de la situació actual, espero que estigueu segurs i he vist que es va llançar la temporada 5 del Black Mirror. Una sèrie d’antologia que gira al voltant d’un grup de vides personals de la gent i de com la tecnologia manipula el seu comportament.

I un dels episodis que més em va cridar l’atenció va ser Rachel, Jack i Ashley Too. Un dels personatges principals d’aquesta sèrie és un robot domèstic anomenat Ashley O i aquest robot té molt de personatge al voltant i he pensat per mi mateix que hauria de construir-ne un, és un bon projecte per començar a programar si no és que almenys Puc programar-lo per riure de les meves bromes.!

Què / Qui és Ewon? Què pot fer?

Per tant, abans de començar a treballar en aquest projecte vaig establir algunes regles bàsiques a seguir. Aquest projecte havia de ser

  • Fàcil de provar per tothom
  • No només és bonic, sinó també útil perquè no acabi en un prestatge
  • Modular, de manera que pugueu anar afegint noves funcions.

Després d'establir aquesta regla, vaig decidir utilitzar l'SDK de l'Assistent de Google. Aquest SDK proporciona moltes funcions que buscava i, si t’avorreixes d’Ewon, sempre l’utilitzes com a dispositiu Google Home i fas el que fa una casa Google.

El que farà Ewon és afegir un personatge a l’assistent de Google. Això és mostrar emocions i reaccionar al que diu l’usuari. Ara no només s’escolta la veu, sinó que també es pot veure com reacciona.

NOTA: Aquesta informació instructiva està en desenvolupament. Aviat penjaré tots els fitxers rellevants. Gràcies

Pas 1: parts necessàries per a Ewon

ELECTRONNICA

  • Raspberry PI
  • Servo SG90 (x4)
  • Servo MG995 - estàndard (x2)
  • Controlador de servo de 16 canals PCA9685
  • Targeta de so USB
  • Micròfon
  • Altaveus (qualsevol altaveu petit farà alguna cosa així)
  • Connectors de capçalera de pin femella i femella
  • Taula de pa
  • Pantalla Nextion

FIXACIONS I RODAMENTS

  • M3 * 10 mm (x10)
  • M3 * 8 mm (x10)
  • M3 Nuts (x20)
  • Rodament

    • DO: 15 mm ID: 6 mm Amplada: 5 mm (x2)
    • DO: 22 mm ID: 8 mm Amplada: 7 mm (x2)

ALTRES MATERIALS

  • Distanci

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

EINES

Impressora 3D

Pas 2: Comprensió d'Ewon i programació

Comprensió d’Ewon i programació
Comprensió d’Ewon i programació
Comprensió d’Ewon i programació
Comprensió d’Ewon i programació
Comprensió d’Ewon i programació
Comprensió d’Ewon i programació

Abans de començar amb l'aspecte de programació, permeteu-me explicar breument el diagrama de blocs dels circuits d'Ewon.

RPI (Raspberry pi) és el cervell del sistema. El controlador de servo controlat per RPI impulsa el servo. Pantalla controlada per RPI amb comunicació en sèrie per mostrar emocions i, per últim, micròfon i altaveus que s’utilitzen per comunicar-se amb Ewon. Ara que ja sabem què fa el maquinari, comencem a programar Ewon.

Instal·lació de l'SDK de Google Assistant

Permeteu-me explicar els dos motius pels quals tenia previst utilitzar l'Assistent de Google:

  • Volia que Ewon no només fos un robot divertit sinó també útil. L'SDK de l'Assistent de Google ja té una gran quantitat de recursos que podeu utilitzar per augmentar la funcionalitat d'Ewon.
  • També podeu utilitzar accions a Google i el flux de diàlegs per donar a Ewon la possibilitat de xatejar amb respostes predefinides. De moment, ens concentrarem només en l’SDK bàsic.

Comencem instal·lant l'SDK de Google Assistant. Això no hauria de ser difícil, ja que hi ha molts recursos que us ajudaran a configurar l'SDK de l'Assistent de Google a RPI. Podeu seguir aquest tutorial juntament amb:

Tutorial:

Un cop finalitzat el procés anterior, hauríeu de poder fer clic a Retorn al teclat i parlar amb l'assistent. Tot això és instal·lar l’SDK de l’Assistent de Google.

Com l’he de posar? Ewon?

Ei Google! Això és el que s’utilitza per començar a parlar amb l’assistent de Google i, malauradament, Google no permet fer servir cap altra paraula personalitzada. Vegem, doncs, com podem canviar-ho perquè l’assistent de Google s’activi quan algú truca a Ewon.

Snowboy: un motor de detecció de paraules calentes altament personalitzable que s’incrusta en temps real compatible amb Raspberry Pi, (Ubuntu) Linux i Mac OS X.

Una paraula calenta (també coneguda com a paraula despert o paraula activadora) és una paraula clau o frase que l’ordinador escolta constantment com a senyal per desencadenar altres accions.

Comencem instal·lant Snowboy a RPI. Recordeu que heu d’activar l’entorn virtual per instal·lar Snowboy tal com vau fer per instal·lar Assistant SDK. Tot el que instal·lem a partir d’aquí s’ha d’instal·lar a l’entorn virtual. Instal·lar Snowboy pot ser una mica complicat, però aquest enllaç us ajudarà a instal·lar-lo sense cap problema. Enllaç:

A continuació, es mostra un procés d’instal·lació resumit si l’enllaç anterior es confon o falla la instal·lació.

$ [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 install

Un cop instal·lat, executeu el fitxer de demostració [que es troba a la carpeta - snowboy / examples / Python3 /] per veure si tot funciona perfectament.

Nota: també podeu canviar fàcilment el nom del vostre robot per una altra cosa. Tot el que heu de fer és anar a https://snowboy.kitt.ai/ i entrenar una paraula clau personalitzada i, a continuació, col·locar aquesta paraula calenta a la mateixa carpeta que ewon.pmdl.

Pot Ewon entendre les emocions?

Ara que Ewon té un nom, utilitzaré Ewon en lloc de dir-li robot. D’acord, doncs, les emocions, respostes curtes no, Ewon no pot entendre les emocions, de manera que el que farem aquí és fer que Ewon detecti emocions en el nostre discurs mitjançant paraules clau i, a continuació, reprodueixi l’expressió facial corresponent.

Per aconseguir-ho, el que he fet és un simple guió d'anàlisi de sentiments. Hi ha 6 classes d’emocions diferents.

Imatge
Imatge

Feliç, trist, enfadat, por, fàstic i sorpresa. Aquestes són les principals classes d’emocions i cadascuna d’elles té una llista de paraules clau associades a l’emoció. (per exemple, bo, agradable, emocionat, tots pateixen una emoció feliç).

Per tant, cada vegada que diem alguna de les paraules clau de la classe d'emocions, es desencadena l'emoció corresponent. Així que quan dius "Ei Ewon!" i espero que Ewon parli i continuo dient "Avui és un bon dia!", recull la paraula clau "Bonic" i provoca l'emoció corresponent "Feliç" que activa l'expressió facial de Feliç.

Són aquestes orelles a Ewon?

El següent pas seria utilitzar l’emoció desencadenada per executar l’expressió facial respectiva. Amb Ewon, l’expressió facial és notable, però mou l’orella i el coll amb servos i canvia la pantalla per canviar els moviments dels ulls.

En primer lloc, els servos, per executar-ho és bastant fàcil, podeu seguir aquest tutorial per configurar la servoteca de Adafruit. Enllaç:

Imatge
Imatge

A continuació, assignem el valor màxim i mínim per a tots els servos. Això es fa movent manualment cada servo i comprovant-ne els límits. Podeu fer-ho un cop hàgiu muntat Ewon.

Ulls per Ewon

Per als ulls, estic fent servir una pantalla Nextion que té un munt d’imatges com les següents.

Imatge
Imatge

És una seqüència d’imatges que he dissenyat a Photoshop que, quan es reprodueixen en seqüència, fan una animació. Es va crear una seqüència similar per a totes les emocions. Ara, per mostrar qualsevol emoció, només cal que truqueu a la seqüència d’imatges específica que conforma l’animació. Els fitxers es troben a la carpeta "Mostra els fitxers", enllaç de baixada següent.

Per fi

Si es combina tot quan l'emoció feliç es desencadena amb el guió, es diu la funció feliç i el servo es mou als angles ja establerts i la pantalla reprodueix l'animació d'ull feliç. Així doncs, és així com aconseguim la "comprensió" de les emocions humanes. Aquest mètode no és el millor i hi ha ocasions en què les paraules clau no cauen en la mateixa emoció que les predefinides, però, de moment, funciona prou bé i sempre podeu afegir més paraules clau per augmentar la precisió de la detecció. A més, es pot substituir per un model d’anàlisi d’emocions molt més entrenat com el model d’anàlisi d’emocions de Paralleldots per obtenir millors resultats. Però quan ho vaig provar, hi havia molts retards que farien que Ewon reaccionés més lentament. Potser la versió 2.0 d'Ewon tindrà alguna cosa així.

Aquest és l’ENLLAÇ a tots els fitxers necessaris per executar EWON. Descarregueu el fitxer i seguiu els passos següents:

  • Descomprimiu el fitxer i col·loqueu aquesta carpeta (Ewon) a casa / pi /
  • Afegiu l'identificador de dispositiu i l'identificador de model al fitxer main.py. L'identificador s'obté mentre s'instal·la l'SDK de Google Assistant.
  • Obriu el símbol del sistema i executeu la font de les ordres següents:

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

Pas 3: Impressió del cos

Podeu trobar els fitxers en 3D aquí:

Ara que tots estem preparats amb el cervell d’Ewon, és hora d’imprimir el seu cos. Hi ha 18 parts úniques que s’imprimiran, la majoria són força petites, amb un temps total d’impressió d’unes 15 a 20 hores. (exclosos els casos).

He utilitzat PLA blanc amb un 50% d’ompliment i una alçada de capa de 2 mm. Podeu canviar aquests valors si cal, hauria de funcionar bé, però assegureu-vos que les parts petites tinguin un 100% de farciment, per obtenir més resistència.

Després d'imprimir els fitxers, podeu utilitzar paper de vidre o un fitxer manual i netejar les parts impreses, especialment els enllaços on les parts es llisquen entre si. Suavitzar les juntes farà que el mecanisme sigui suau i proporcionarà menys resistència al servo. Aquest procés pot trigar el temps que vulgueu, ja que es pot perdre intentant que les parts impreses tinguin un aspecte perfecte.

Notes addicionals: podeu tornar a perforar els forats de les peces impreses en 3D amb una broca de 3 mm. Tots els forats tenen les mateixes dimensions. Això farà que sigui més fàcil mentre es cargola les femelles més endavant en el muntatge.

Pas 4: ajuntar Ewon

Posant junts Ewon
Posant junts Ewon
Posant junts Ewon
Posant junts Ewon
Posant junts Ewon
Posant junts Ewon
Posant junts Ewon
Posant junts Ewon

Abans de començar amb el muntatge, hi ha poques modificacions necessàries a les peces impreses. Els fitxers anomenats servo link han d’estar equipats amb servo links que vénen amb el servo, cosa que fa que els enllaços impresos en 3D es connectin bé amb el servo.

L’assemblea d’Ewon hauria de ser directa. Us adjunto imatges perquè les seguiu.

Notes addicionals: Assegureu-vos de no apretar excessivament cap cargol o cargol, ja que pot trencar-se i desgastar les parts impreses.

Pas 5: Connectar Ewon

Cablatge d'Ewon
Cablatge d'Ewon
Cablatge d'Ewon
Cablatge d'Ewon
Cablatge d'Ewon
Cablatge d'Ewon

Estem en l’últim pas perquè Ewon prengui vida. Aquí teniu el diagrama de cablejat dels components juntament amb les imatges que mostren la connexió.

  • El controlador de servo està connectat als pins I2C que són SDA i SCL de RPI.
  • La pantalla està connectada als pins RX i TX de RPI
  • El micròfon i els altaveus es connecten a la targeta de so USB que es connecta a RPI mitjançant el port USB.

Advertiment: tingueu cura de reduir el vostre RPI. Comproveu totes les connexions dues vegades i assegureu-vos que no heu comès cap error. Tots els accessoris que són altaveu, servocontrol i pantalla s’alimenten d’una bateria de 5v independent i no fan servir la línia Raspberry Pi 5v. Raspberry pi només s’utilitza per enviar dades als accessoris, però no per alimentar-los.

Pas 6: Ei Ewon! Em pots escoltar?

Ei, Ewon! Em pots escoltar?
Ei, Ewon! Em pots escoltar?

Per tant, hem adjuntat tots els nostres accessoris i hem instal·lat totes les biblioteques necessàries. Podeu iniciar Ewon executant l'script d'intèrpret d'ordres mitjançant./run Ewon.sh Però, què és aquest script.sh? Ewon utilitza moltes biblioteques diferents amb scripts diferents (SDK de Google Assistant, Snowboy, Adafruit, etc.). Tots els scripts es col·loquen a les seves respectives carpetes. (Podem moure tots els fitxers al mateix camí i tenir tots els scripts organitzats, però actualment, algunes de les biblioteques no permeten moure els fitxers font, de manera que, de moment, només els guardarem a les seves respectives ubicacions).sh són scripts de shell que executen tots aquests scripts un per un des de cada ubicació, de manera que no haureu d'anar manualment a cada ubicació i executar-los. Això fa que sigui més fàcil gestionar totes les ordres.

Un cop hàgiu executat l'script de l'intèrpret d'ordres, només cal que digueu "Ei Ewon!" i hauries de veure com Ewon comença a escoltar-te. Ara podeu utilitzar Ewon com a assistent de google i parlar-hi i podeu veure Ewon canviar expressions del que dieu. Proveu alguna cosa com "Ei Ewon! Avui estic trist “i es pot veure Ewon trist amb tu. Demanar una broma a Ewon i veure-la riure amb la broma.

Pas 7: Què passa?

Ewon no s’atura aquí. Ara Ewon té una manera de detectar i mostrar emocions, però podem fer que faci molt més. Això és tan sols el principi.

A la propera actualització, treballarem sobre com fer-ho

  • Ewon detecta les cares i fa un seguiment de la vostra cara i es mou amb la vostra cara.
  • Afegirem efectes de so per donar una profunditat addicional al personatge.
  • Afegiu mobilitat perquè Ewon pugui moure’s amb vosaltres.

Nota: A causa de la situació actual, és molt difícil obtenir fonts del projecte. Això em va fer canviar el disseny i la funcionalitat tenint en compte els pensaments que tenia al meu inventari. Però tan bon punt tinc les mans a totes les parts que actualitzo el projecte anterior.

Actualitzacions:

  • S'han fet alguns canvis al codi, s'han eliminat els scripts de l'intèrpret d'ordres.
  • S'ha afegit un cos rectangular per a EWON.

Recomanat: