Cuprins:
- Pasul 1: Piese necesare pentru Ewon
- Pasul 2: Înțelegerea Ewon și programare
- Pasul 3: Tipărirea corpului
- Pasul 4: Unirea Ewon împreună
- Pasul 5: Cablarea Ewon
- Pasul 6: Hei Ewon! Mă puteți auzi?
- Pasul 7: Ce urmează?
Video: Robot acasă EWON Raspberry Pi: 7 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
De sharathnaikSharathnaik.com Urmăriți mai multe de la autor:
Despre: Inginerie și proiectare Mai multe despre sharathnaik »
De curând, m-am trezit vizionând o mulțime de seriale Netflix din cauza situației actuale, sper că sunteți în siguranță și am văzut că sezonul 5 din Black Mirror a fost lansat. O serie de antologii care se învârte în jurul unui grup de vieți personale ale oamenilor și a modului în care tehnologia le manipulează comportamentul.
Și unul dintre episoadele care mi-au atras atenția a fost Rachel, Jack și Ashley Too. Unul dintre personajele principale ale acestei serii este un robot de casă numit Ashley O și robotul are mult caracter în jurul său și m-am gândit că ar trebui să construiesc unul, este un proiect bun pentru a începe programarea, dacă nu chiar atunci O pot programa pentru a râde de glumele mele.!
Ce / Cine este Ewon? Ce poate face?
Așadar, înainte de a începe să lucrez la acest proiect, am stabilit câteva reguli de bază care trebuie respectate. Acest proiect trebuia să fie
- Ușor pentru toată lumea să încerce
- Nu doar despre a fi drăguț, ci și pentru a fi util, astfel încât să nu ajungă într-un raft
- Modular, astfel încât să puteți adăuga în continuare funcții noi.
După ce am stabilit această regulă, am decis să folosesc Google Assistant SDK. Acest SDK oferă o mulțime de funcții pe care le căutam și dacă te plictisești de Ewon, îl folosești întotdeauna ca dispozitiv Google Home și faci ceea ce face o casă Google.
Ceea ce va face Ewon este să adauge un personaj asistentului Google. Aceasta arată emoții și reacționează la ceea ce spune utilizatorul. Acum nu este doar vocea pe care o auzi, ci vei vedea și cum să reacționezi.
NOTĂ: Acest instructable este în curs de dezvoltare. În curând voi încărca toate fișierele relevante. Mulțumesc
Pasul 1: Piese necesare pentru Ewon
ELECTRONICĂ
- Raspberry PI
- Servo SG90 (x4)
- Servo MG995 - standard (x2)
- PCA9685 16-Channel Servo Driver
- Placă de sunet USB
- Microfon
- Difuzoare (orice difuzor mic va face, așa ceva)
- Conectori pentru antet pin masculin și feminin
- Pană de pâine
- Afișare Nextion
FIXE ȘI RULMENTI
- M3 * 10mm (x10)
- M3 * 8mm (x10)
- M3 Nuts (x20)
-
Ținând
- OD: 15mm ID: 6mm Lățime: 5mm (x2)
- OD: 22mm ID: 8mm Lățime: 7mm (x2)
ALTE MATERIALE
-
Distanțare
- 40mm (x4)
- 30mm (x4)
INSTRUMENTE
imprimantă 3d
Pasul 2: Înțelegerea Ewon și programare
Înainte de a începe cu aspectul de programare, permiteți-mi să explic pe scurt schema bloc a circuitelor Ewon.
RPI (Raspberry pi) este creierul sistemului. Driverul servo controlat de RPI conduce servo-ul. Afișaj controlat de RPI cu comunicare serială pentru a arăta emoții și, în cele din urmă, microfon și difuzoare utilizate pentru a comunica cu Ewon. Acum, că știm ce hardware face ceea ce să începem să programăm Ewon.
Se instalează Google Assistant SDK
Permiteți-mi să explic cele două motive pentru care am planificat să folosesc Asistentul Google:
- Am vrut ca Ewon să nu fie doar un robot distractiv, ci și unul util. Google Assistant SDK are deja o mulțime de resurse pe care le puteți utiliza pentru a spori funcționalitatea Ewon.
- De asemenea, puteți utiliza acțiuni pe Google și fluxul de dialog pentru a oferi Ewon posibilitatea de a conversa prin chat cu răspunsuri predefinite. Deocamdată, ne vom concentra doar pe SDK-ul de bază.
Să începem instalând SDK-ul Google Assistant. Acest lucru nu ar trebui să fie dificil, deoarece există o mulțime de resurse care vă vor ajuta să configurați Google Assistant SDK pe RPI. Puteți urma acest tutorial de-a lungul:
Tutorial:
După încheierea procesului de mai sus, ar trebui să puteți da clic pe Enter pe tastatură și să vorbiți cu asistentul. Este vorba despre instalarea SDK-ului Google Assistant.
Ce ar trebui să-l numesc? Ewon?
Salut Google! Asta se folosește pentru a începe să vorbești cu asistentul Google și, din păcate, Google nu permite utilizarea niciunui alt cuvânt personalizat de trezire. Deci, să vedem cum putem schimba acest lucru, astfel încât asistentul Google să fie declanșat atunci când cineva sună la Ewon.
Snowboy: un motor de detectare a cuvintelor fierbinți foarte personalizabil, care este încorporat în timp real, compatibil cu Raspberry Pi, (Ubuntu) Linux și Mac OS X.
Un cuvânt fierbinte (cunoscut și ca cuvânt de veghe sau cuvânt declanșator) este un cuvânt cheie sau o expresie pe care computerul o ascultă în mod constant ca semnal pentru a declanșa alte acțiuni.
Să începem prin instalarea Snowboy pe RPI. Nu uitați să activați mediul virtual pentru a instala Snowboy așa cum ați făcut pentru a instala Assistant SDK. Tot ceea ce instalăm de aici înainte trebuie instalat în mediul virtual. Instalarea Snowboy poate fi puțin dificilă, dar acest link ar trebui să vă ajute să îl instalați fără probleme. Link:
Iată un proces de instalare rezumat dacă linkul de mai sus devine confuz sau instalarea eșuează.
$ [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
Odată instalat rulați fișierul demonstrativ [găsit în folderul - snowboy / examples / Python3 /] pentru a vedea dacă totul funcționează perfect.
Notă: puteți schimba cu ușurință numele robotului dvs. cu altceva. Tot ce trebuie să faceți este să accesați https://snowboy.kitt.ai/ și să instruiți un cuvânt cheie personalizat și apoi să plasați acel cuvânt fierbinte în același folder ca ewon.pmdl.
Poate Ewon să înțeleagă emoțiile?
Acum că Ewon are un nume, voi folosi Ewon în loc să-l numesc robot. Bine, deci emoții, răspunsuri scurte nu, Ewon nu poate înțelege emoțiile, așa că ceea ce vom face aici este să-l facem pe Ewon să detecteze emoția în discursul nostru folosind cuvinte cheie și apoi să redea expresia feței corespunzătoare asociată cu aceasta.
Pentru a realiza acest lucru, ceea ce am făcut este un simplu script de analiză a sentimentelor. Există 6 clase diferite de emoții.
Fericit, Trist, Supărat, Frică, Dezgust și Surpriză. Acestea sunt principalele clase de emoții și fiecare dintre ele are o listă de cuvinte cheie asociate cu emoția. (de exemplu, bine, drăguț, entuziasmat, toate intră sub emoție fericită).
Deci, ori de câte ori spunem oricare dintre cuvintele cheie din clasa de emoții, se declanșează emoția corespunzătoare. Deci, când spui „Hei Ewon!” și așteptați ca Ewon să vorbească și continuu să spun „Astăzi este o zi frumoasă!”, preia cuvântul cheie „Nisa” și declanșează emoția corespunzătoare „Fericit” care declanșează expresia feței pentru Fericit.
Sunt urechile alea pe Ewon?
Următorul pas ar fi utilizarea emoției declanșate pentru a rula expresia feței respective. Cu Ewon, expresia feței notează, dar își mișcă urechea și gâtul folosind servos și schimbă afișajul pentru a schimba mișcările ochilor.
În primul rând, servo-urile, pentru a rula acest lucru este destul de ușor, puteți urma acest tutorial pentru a configura biblioteca de servo Adafruit. Link:
Apoi atribuim valoarea maximă și minimă pentru toate servomotoarele. Acest lucru se face prin deplasarea manuală a fiecărui servo și verificarea limitelor acestuia. Puteți face acest lucru după ce ați asamblat Ewon.
Ochii pentru Ewon
Pentru ochi, folosesc un afișaj Nextion care are o grămadă de imagini ca mai jos.
Este o secvență de imagini pe care am proiectat-o în Photoshop care, atunci când sunt redate în ordine, face o animație. O secvență similară a fost creată pentru toate emoțiile. Acum, pentru a afișa orice emoție, tot ce trebuie să faceți este să apelați secvența de imagine specifică care alcătuiește animația. Fișierele se află în folderul „Afișează fișierele”, link de descărcare de mai jos.
In cele din urma
Punând totul împreună atunci când emoția fericită este declanșată de script, funcția fericită este apelată și servo-ul se deplasează la unghiurile deja setate și afișajul redă animația fericită a ochiului. Așadar, așa realizăm „înțelegerea” emoțiilor umane. Această metodă nu este cea mai bună și există momente în care cuvintele cheie nu cad în aceeași emoție ca și cele predefinite, dar deocamdată funcționează suficient de bine și puteți adăuga oricând mai multe cuvinte cheie pentru a crește precizia detectării. Mai mult, acest lucru poate fi înlocuit cu un model de analiză a emoțiilor mult mai antrenat, cum ar fi modelul de analiză a emoțiilor Paralleldots, pentru a obține rezultate mai bune. Dar când am încercat-o, au existat multe întârzieri care l-ar face pe Ewon să reacționeze mai lent. Poate că Ewon versiunea 2.0 va avea așa ceva.
Acesta este LINK-ul către toate fișierele necesare pentru a rula EWON. Descărcați fișierul și urmați pașii de mai jos:
- Dezarhivează fișierul plasează acest folder (Ewon) acasă / pi /
- Adăugați ID dispozitiv și ID model în fișierul main.py. ID-ul este obținut în timpul instalării Google Assistant SDK.
- Deschideți promptul de comandă și rulați sursa următoarelor comenzi:
sursa env / bin / activatepython main.py models / Ewon.pmdl
Pasul 3: Tipărirea corpului
Puteți găsi fișierele 3d aici:
Acum că suntem cu toții pregătiți pentru creierul lui Ewon, este timpul să-i imprimăm corpul. Există 18 părți unice care urmează să fie tipărite, majoritatea fiind destul de mici, cu un timp total de imprimare de aproximativ 15-20 de ore. (cu excepția cazurilor).
Am folosit PLA alb cu umplutură de 50% și o înălțime a stratului de 2 mm. Puteți modifica aceste valori, dacă este necesar, ar trebui să funcționeze bine, dar asigurați-vă că piesele mici au umplutură 100%, pentru rezistență.
După ce fișierele au fost tipărite, puteți folosi șmirghel sau un fișier manual și puteți curăța piesele tipărite, în special linkurile în care piesele alunecă una prin cealaltă. Netezirea articulațiilor va face mecanismul neted și va oferi o rezistență mai mică la servo. Acest proces poate dura atâta timp cât doriți, întrucât se poate pierde încercând să facă părțile tipărite să arate perfect.
Note suplimentare: Puteți găuri din nou găurile din piesele imprimate 3D folosind un bit de 3 mm. Toate găurile sunt de aceleași dimensiuni. Acest lucru va face mai ușor în timp ce înșurubați piulițele mai târziu în ansamblu.
Pasul 4: Unirea Ewon împreună
Înainte de a începe cu asamblarea, sunt necesare câteva modificări ale pieselor tipărite. Fișierele numite servo link trebuie să fie echipate cu linkuri servo care vin împreună cu servo, ceea ce face ca linkurile tipărite 3d să se conecteze bine cu servo.
Adunarea Ewon ar trebui să fie directă. Am atașat imagini pe care să le urmăriți.
Note suplimentare: Asigurați-vă că nu strângeți niciodată șuruburile sau șuruburile, deoarece acestea se pot rupe și purta piesele imprimate.
Pasul 5: Cablarea Ewon
Suntem la ultimul pas pentru a-l face pe Ewon să prindă viață. Iată schema de conectare a componentelor, împreună cu imaginile care arată conexiunea.
- Driverul servo este conectat la pinii I2C care sunt SDA și SCL ai RPI.
- Afișajul este conectat la pinii RX și TX ai RPI
- Microfonul și difuzoarele sunt conectate la placa de sunet USB care este conectată la RPI prin portul USB.
Avertisment: Aveți grijă să vă scurtați RPI. Vă rugăm să vă verificați conexiunile de două ori și să vă asigurați că nu ați făcut greșeli. Toate accesoriile care sunt difuzoare, servo-driver și afișaj sunt alimentate de o baterie separată de 5v și nu utilizează linia Raspberry Pi 5v. Raspberry pi este utilizat numai pentru a trimite date accesoriilor, dar nu pentru a le alimenta.
Pasul 6: Hei Ewon! Mă puteți auzi?
Așadar, am atașat toate accesoriile noastre și am instalat toate bibliotecile necesare. Puteți porni Ewon executând scriptul shell folosind./run Ewon.shDar ce este acest script.sh? Ewon folosește multe biblioteci diferite cu scripturi diferite (Google Assistant SDK, Snowboy, Adafruit etc.). Toate scripturile sunt plasate în folderele lor respective. (Putem muta toate fișierele în aceeași cale și să avem toate scripturile organizate, dar în prezent, unele biblioteci nu permit mutarea fișierelor sursă, așa că, deocamdată, le vom păstra în locațiile lor respective).sh este scripturi shell care rulează toate aceste scripturi unul câte unul din fiecare locație, astfel încât să nu trebuie să mergeți manual la fiecare locație și să rulați scripturile. Acest lucru face mai ușoară gestionarea tuturor comenzilor.
Odată ce ați rulat scriptul shell, spuneți „Hei Ewon!” și ar trebui să-l vezi pe Ewon începând să te asculte. Acum puteți utiliza Ewon ca asistent Google și puteți vorbi cu el și puteți vedea Ewon schimbând expresiile din ceea ce spuneți. Încercați ceva de genul „Hei Ewon! Sunt trist astăzi „și poți vedea că Ewon este trist cu tine. Cereți-i lui Ewon o glumă și vedeți-o râzând de glumă.
Pasul 7: Ce urmează?
Ewon nu se oprește aici. Ewon are acum un mod de a detecta și de a arăta emoții, dar îl putem face mult mai mult. Acesta este doar începutul.
În următoarea actualizare, vom lucra la modul de realizare
- Ewon detectează fețele și vă urmărește fața și se mișcă împreună cu fața.
- Vom adăuga efecte sonore pentru a oferi un plus de profunzime personajului.
- Adăugați mobilitate, astfel încât Ewon să se poată deplasa împreună cu dvs.
Notă: Datorită situației actuale, a devenit foarte dificil să obțineți piese pentru proiect. Acest lucru m-a făcut să schimb designul și funcționalitatea, având în vedere gândurile pe care le aveam în inventar. Dar, de îndată ce pun mâna pe toate părțile, actualizez proiectul de mai sus.
Actualizări:
- Am făcut câteva modificări în cod, am eliminat scriptul shell.
- S-a adăugat un corp dreptunghiular pentru EWON.
Recomandat:
Cum se face senzorul de vibrații de primăvară acasă !: 5 pași (cu imagini)
Cum se face senzorul de vibrație de primăvară acasă !: Lucram la un nou proiect care implică un senzor de vibrație de primăvară, cunoscut sub numele de „omul sărac” accelerometru / senzor de mișcare! Aceste comutatoare cu arc de vibrație sunt comutatoare declanșatoare induse de vibrații cu sensibilitate ridicată. În interior este un
Sistem de sunet acasă: 6 pași (cu imagini)
Home Sound System: acest sistem audio este simplu de realizat și ieftin (mai puțin de 5 USD plus câteva materiale recuperate găsite în atelierul meu). Permite o audiție suficient de puternică pentru o cameră mare. Ca surse de semnal pot fi utilizate: -Bluetooth de pe orice telefon mobil telefon. -MP3 dintr-un memoriu
Automatizare acasă IR folosind releu: 6 pași (cu imagini)
Automatizarea IR la domiciliu utilizând releu: sistem de automatizare la domiciliu la distanță infared (Atenție: Replicați proiectul pe propria răspundere! Acest proiect implică tensiune ridicată)
Să facem un robot de mers cu o cutie de Coca-Cola acasă: 6 pași (cu imagini)
Să facem un robot de mers cu o cutie de Coca-Cola acasă: Bună ziua tuturor, eu sunt Merve! Vom face un robot care să meargă cu o cutie de Coca-Cola săptămâna aceasta. * _ * Să începem! ** Vă rugăm să votați ACEST PROIECT ÎN CONCURSUL STICK IT
IRobot Creează un robot personal de acasă: 16 pași (cu imagini)
IRobot Create Personal Home Robot: Introducerea unui robot personal de acasă construit în jurul platformei iRobot Create și a unui sistem de calcul mini-itx. Nu a fost niciodată mai ușor și mai accesibil să proiectezi și să construiești roboți folosind economiile de scară de la software, computer, jucărie și o