Kazalo:
- Korak: Deli, potrebni za Ewon
- 2. korak: Razumevanje programa Ewon in programiranja
- 3. korak: Tiskanje telesa
- 4. korak: Združite Ewon skupaj
- 5. korak: Ožičenje Ewon
- 6. korak: Hej Ewon! Me slišiš?
- 7. korak: Kaj sledi?
Video: Domači robot EWON Raspberry Pi: 7 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Avtor: sharathnaik
O: Inženiring in oblikovanje Več o sharathnaiku »
Pred kratkim sem zaradi trenutnih razmer veliko gledal Netflixove serije, upam, da ste vsi na varnem, in videl sem, da je izšla peta sezona Black Mirrorja. Antologijska serija, ki se vrti okoli skupine osebnih življenj ljudi in kako tehnologija manipulira z njihovim vedenjem.
Ena izmed epizod, ki je pritegnila mojo pozornost, so bile Rachel, Jack in Ashley Too. Eden od glavnih junakov te serije je domači robot z imenom Ashley O in ta robot ima veliko karakterja in sam sem si mislil, da bi ga moral zgraditi, to je dober projekt za začetek programiranja, če ne vsaj tega, potem vsaj Lahko ga programiram tako, da se smeji mojim šalam.!
Kaj / Kdo je Ewon? Kaj lahko naredi?
Zato sem pred začetkom dela na tem projektu postavil nekaj osnovnih pravil, ki jih je treba upoštevati. Ta projekt je moral biti
- Vsakdo lahko enostavno preizkusi
- Ne samo, da je srčkan, ampak je tudi koristen, da ne konča na polici
- Modularno, tako da lahko še naprej dodajate nove funkcije.
Po nastavitvi tega pravila sem se odločil uporabiti SDK za Google Assistant. Ta SDK ponuja veliko funkcij, ki sem jih iskal, in če vam je Ewon dolgčas, ga vedno uporabljate kot napravo Google Home in počnete tisto, kar počne Googlov dom.
Ewon bo naredil dodajanje znaka Googlovemu pomočniku. To je prikaz čustev in odziv na to, kar uporabnik pove. Zdaj ne slišite le glasu, ampak tudi vidite, kako se odzvati.
OPOMBA: Ta navodila so v razvoju. Kmalu bom naložil vse ustrezne datoteke. Hvala vam
Korak: Deli, potrebni za Ewon
ELEKTRONIKA
- Malina PI
- Servo SG90 (x4)
- Servo MG995 - standard (x2)
- 16-kanalni servo gonilnik PCA9685
- Zvočna kartica USB
- Mikrofon
- Zvočniki (Vsak majhen zvočnik bo naredil nekaj takega)
- Moški in ženski priključki za glavo
- Ogledna plošča
- Nextion zaslon
Pritrdilni elementi in ležaji
- M3*10 mm (x10)
- M3*8 mm (x10)
- Matice M3 (x20)
-
Ležaj
- OD: 15 mm ID: 6 mm Širina: 5 mm (x2)
- OD: 22 mm ID: 8 mm Širina: 7 mm (x2)
DRUGI MATERIALI
-
Zastoj
- 40 mm (x4)
- 30 mm (x4)
ORODJA
3D tiskalnik
2. korak: Razumevanje programa Ewon in programiranja
Preden začnem s programskim vidikom, naj na kratko razložim blokovni diagram vezja podjetja Ewon.
RPI (Raspberry pi) so možgani sistema. Servo gonilnik, ki ga nadzira RPI, poganja servo. Zaslon, ki ga upravlja RPI s serijsko komunikacijo za prikaz čustev in nazadnje, mikrofona in zvočnikov, ki se uporabljajo za komunikacijo z Ewonom. Zdaj, ko vemo, kaj strojna oprema počne, začnimo programirati Ewon.
Namestitev SDK -ja Googlovega pomočnika
Naj razložim dva razloga, zakaj sem nameraval uporabiti Google Assistant:
- Želel sem, da Ewon ni samo zabaven robot, ampak tudi uporaben. SDK za Google Assistant že ima na voljo veliko virov, ki jih lahko uporabite za povečanje funkcionalnosti Ewona.
- Uporabite lahko tudi dejanja v Googlu in tok dialoga, da lahko Ewon-u klepetate z vnaprej določenimi odgovori. Za zdaj se bomo osredotočili le na osnovni SDK.
Začnimo z namestitvijo SDK -ja Googlovega pomočnika. To ne bi smelo biti težko, saj obstaja veliko virov, ki vam bodo pomagali nastaviti SDK za Google Assistant na RPI. Temu vodiču lahko sledite:
Vadnica:
Po koncu zgornjega postopka boste morali pritisniti enter na tipkovnici in se pogovoriti s pomočnikom. To je vse o namestitvi SDK -ja za Google Assistant.
Kako naj ga poimenujem? Ewon?
Hej Google! To je tisto, kar se uporablja za začetek pogovora z Googlovim pomočnikom in na žalost Google ne dovoljuje uporabe nobene druge besede za bujenje po meri. Pa poglejmo, kako lahko to spremenimo, da se Googlov pomočnik sproži, ko nekdo pokliče Ewon.
Snowboy: zelo prilagodljiv mehanizem za zaznavanje vročih besed, ki je vgrajen v realnem času, združljiv z Raspberry Pi, (Ubuntu) Linux in Mac OS X.
Vroča beseda (znana tudi kot budna beseda ali sprožilna beseda) je ključna beseda ali stavek, ki ga računalnik nenehno posluša kot signal za sprožitev drugih dejanj.
Začnimo z namestitvijo Snowboya na RPI. Ne pozabite aktivirati virtualnega okolja za namestitev Snowboya, kot ste to storili za namestitev SDK -ja za pomočnika. Vse, kar od tu naprej namestimo, mora biti nameščeno v virtualnem okolju. Namestitev Snowboya je lahko nekoliko težavna, vendar vam bo ta povezava pomagala namestiti brez težav. Povezava:
Tukaj je povzetek postopka namestitve, če zgornja povezava zmoti ali namestitev ne uspe.
$ [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
Ko je nameščen, zaženite predstavitveno datoteko [najdeno v mapi - snowboy/examples/Python3/], da preverite, ali vse deluje brezhibno.
Opomba: ime svojega robota lahko preprosto spremenite tudi v kaj drugega. Vse kar morate storiti je, da obiščete https://snowboy.kitt.ai/ in trenirate vročo besedo po meri, nato pa to vročo besedo postavite v isto mapo kot ewon.pmdl.
Ali lahko Ewon razume čustva?
Zdaj, ko ima Ewon ime, ga bom uporabljal namesto, da bi ga imenoval robot. V redu torej čustva, kratki odgovori ne, Ewon ne more razumeti čustev, zato bomo tukaj naredili, da bo Ewon v našem govoru zaznal čustva z uporabo ključnih besed in nato predvajal ustrezen izraz obraza, povezan z njim.
Za dosego tega sem naredil preprost skript za analizo občutkov. Obstaja 6 različnih razredov čustev.
Veselo, žalostno, jezo, strah, gnus in presenečenje. To so glavni razredi čustev in vsak od njih ima seznam ključnih besed, povezanih s čustvom. (na primer dobro, lepo, navdušeno, vsi so pod veseljem).
Torej, kadar rečemo katero od ključnih besed v razredu čustev, se sproži ustrezno čustvo. Ko torej rečete "Hej Ewon!" in počakam, da bo Ewon spregovoril, jaz pa še naprej rečem: "Danes je lep dan!", pobere ključno besedo "lepo" in sproži ustrezno čustvo "veselo", ki sproži izraz obraza za srečno.
So ta ušesa na Ewonu?
Naslednji korak bi bila uporaba sproženega čustva za zagon ustreznega izraza obraza. Pri Ewonu je izraz obraza opazen, vendar premika uho in vrat s servomotorji in spreminja zaslon, da spremeni gibanje oči.
Prvič, servomotorji, če želite to narediti, je dokaj enostavno slediti tej vadnici za nastavitev servo knjižnice Adafruit. Povezava:
Nato dodelimo največjo in najmanjšo vrednost za vse servomotorje. To naredite tako, da ročno premaknete vsak servo in preverite njegove meje. To lahko storite, ko sestavite Ewon.
Oči za Ewon
Za oči uporabljam zaslon Nextion, ki ima kup slik, kot je prikazano spodaj.
To je zaporedje slik, ki sem jih oblikoval v Photoshopu, ki ob zaporednem predvajanju ustvari animacijo. Podobno zaporedje je bilo ustvarjeno za vsa čustva. Zdaj, da prikažete vsa čustva, morate samo poklicati določeno zaporedje slik, ki sestavljajo animacijo. Datoteke so v mapi 'Prikaži datoteke', spodnjo povezavo za prenos.
Končno
Ko vse skupaj združimo, ko skript sproži veselje, se pokliče funkcija veselja in servo premakne na že nastavljene kote in zaslon predvaja animacijo veselega očesa. Tako dosežemo "razumevanje" človeških čustev. Ta metoda ni najboljša in včasih pride do trenutkov, ko ključne besede ne padejo v enaka čustva kot vnaprej določena, vendar zaenkrat to deluje dovolj dobro in vedno lahko dodate več ključnih besed, da povečate natančnost zaznavanja. Nadalje lahko to nadomestimo z bolj usposobljenim modelom analize čustev, kot je model analize čustev Paralleldots, da dobimo boljše rezultate. Ko pa sem poskusil, je prišlo do veliko zamud, zaradi česar se je Ewon odzval počasneje. Mogoče bo imela Ewon različica 2.0 kaj takega.
To je POVEZAVA do vseh datotek, potrebnih za zagon EWON. Prenesite datoteko in sledite spodnjim korakom:
- Razpakirajte datoteko in postavite to mapo (Ewon) doma/pi/
- V datoteko main.py dodajte ID naprave in ID modela. ID se pridobi med namestitvijo SDK -ja Googlovega pomočnika.
- Odprite ukazni poziv in zaženite vir naslednjih ukazov:
vir env/bin/enablepython main.py models/Ewon.pmdl
3. korak: Tiskanje telesa
3D datoteke najdete tukaj:
Zdaj, ko smo vsi pripravljeni na možgane podjetja Ewon, je čas, da natisnejo svoje telo. Natisniti je treba 18 edinstvenih delov, večina jih je precej majhnih, njihov skupni čas tiskanja je približno 15-20 ur. (brez primerov).
Uporabil sem beli PLA s 50% polnilom in višino sloja 2 mm. Če je potrebno, lahko spremenite te vrednosti, vendar bi moralo delovati v redu, vendar pazite, da imajo majhni deli 100 -odstotno zapolnjeno moč.
Po tiskanju datotek lahko uporabite brusni papir ali ročno datoteko in očistite natisnjene dele, zlasti povezave, kjer se deli med seboj premikajo. Z glajenjem spojev bo mehanizem postal gladek in bo manj odporen na servo. Ta postopek lahko traja tako dolgo, kot želite, saj se lahko človek izgubi, ko poskuša narediti natisnjene dele popolne.
Dodatne opombe: Luknje v 3D tiskanih delih lahko znova izvrtate s 3-milimetrskim nastavkom. Vse luknje so enakih dimenzij. Tako boste olajšali pozneje pri montaži privijanje matic.
4. korak: Združite Ewon skupaj
Preden začnemo s sestavljanjem, je potrebno nekaj sprememb tiskanih delov. Datoteke, imenovane servo link, morajo biti opremljene s servo povezavami, ki so priložene servo, tako da se 3D natisnjene povezave dobro povežejo s servo.
Sestavljanje Ewona bi moralo biti naravnost. Prilagam slike, ki jih lahko spremljate.
Dodatne opombe: Pazite, da ne privijete preveč vijaka ali vijaka, ker se to lahko zlomi in obrabi natisnjene dele.
5. korak: Ožičenje Ewon
Smo na zadnji stopnji, da bi Ewon zaživel. Tukaj je shema ožičenja za komponente skupaj s slikami, ki prikazujejo povezavo.
- Servo gonilnik je priključen na zatiče I2C, ki sta SDA in SCL RPI.
- Zaslon je povezan z RX in TX zatiči RPI
- Mikrofon in zvočniki so povezani z zvočno kartico USB, ki je prek vhoda USB povezana z RPI.
Opozorilo: Bodite previdni pri kratkem stiku RPI. Dvakrat preverite vse povezave in se prepričajte, da niste naredili nobene napake. Vsa dodatna oprema, ki je zvočnik, servo gonilnik in zaslon, se napaja iz ločene 5v baterije in ne uporablja linije Raspberry Pi 5v. Raspberry pi se uporablja samo za pošiljanje podatkov v dodatno opremo, ne pa tudi za napajanje.
6. korak: Hej Ewon! Me slišiš?
Tako smo priložili vso dodatno opremo in namestili vse potrebne knjižnice. Ewon lahko zaženete tako, da zaženete skript lupine z uporabo./run Ewon.sh Toda kaj je to.sh skript? Ewon uporablja veliko različnih knjižnic z različnimi skripti (SDK za Googlovega pomočnika, Snowboy, Adafruit itd.). Vsi skripti so postavljeni v ustrezne mape. (Vse datoteke lahko premaknemo na isto pot in imamo organizirane vse skripte, vendar trenutno nekatere knjižnice ne dovoljujejo premikanja izvornih datotek, zato jih bomo zaenkrat obdržali na ustreznih lokacijah.) je lupinski skripti, ki izvajajo vse te skripte enega za drugim z vsakega mesta, zato vam ni treba ročno iti na vsako lokacijo in zagnati skripte. Tako je lažje ravnati z vsemi ukazi.
Ko zaženete skript lupine, samo recite "Hej Ewon!" in videli bi, da vas Ewon začne poslušati. Zdaj lahko uporabite Ewon kot Googlovega pomočnika in se z njim pogovarjate in vidite, kako Ewon spreminja izraze glede na to, kar govorite. Poskusite nekaj takega kot »Hej Ewon! Danes sem žalosten "in vidite, kako je Ewon žalosten z vami. Vprašajte Ewona za šalo in se poglejte, kako se bo smejal.
7. korak: Kaj sledi?
Ewon se tu ne ustavi. Ewon ima zdaj način odkrivanja in prikazovanja čustev, vendar lahko to naredimo veliko več. To je šele začetek.
V prihajajoči posodobitvi bomo delali, kako to narediti
- Ewon zazna obraze in sledi vašemu obrazu ter se premika skupaj z vašim obrazom.
- Dodali bomo zvočne učinke, ki bodo liku dali dodatno globino.
- Dodajte mobilnost, da se bo Ewon lahko gibal skupaj z vami.
Opomba: Zaradi trenutnih razmer je postalo zelo težko pridobiti dele za projekt. Zaradi tega sem spremenil obliko in funkcionalnost glede na misli, ki sem jih imel v svojem inventarju. Toda takoj, ko pridem v roke vseh delov, slabo posodobim zgornji projekt.
Posodobitve:
- Naredil je nekaj sprememb v kodi, odstranil skript lupine.
- Dodano pravokotno ohišje za EWON.
Priporočena:
Domači avtomatizacijski sistem WiFi z nizko porabo energije: 6 korakov (s slikami)
Domači avtomatizacijski sistem z nizko porabo energije: V tem projektu vam pokažemo, kako lahko v nekaj korakih zgradite osnovni lokalni avtomatizacijski sistem. Uporabili bomo Raspberry Pi, ki bo deloval kot osrednja naprava WiFi. Medtem ko bomo za končna vozlišča uporabili IOT Cricket za izdelavo moči baterije
Domači zvočni sistem: 6 korakov (s slikami)
Domači zvočni sistem: Ta avdio sistem je enostaven za izdelavo in poceni (manj kot 5 USD plus nekaj predelanih materialov, najdenih v moji delavnici). Omogoča dovolj močno avdicijo za veliko sobo. Kot vire signala je mogoče uporabiti: -Bluetooth iz katerega koli mobilnega telefona telefon. -MP3 iz pomnilnika
Domači hladilnik / hladilnik Peltier s temperaturnim regulatorjem DIY: 6 korakov (s slikami)
Domači hladilnik / hladilnik Peltier s temperaturnim regulatorjem DIY: Kako narediti domač termoelektrični hladilnik Peltier / mini hladilnik DIY s temperaturnim regulatorjem W1209. Ta modul TEC1-12706 in Peltierjev učinek naredita popoln hladilnik DIY! Ta navodila so navodila po korakih, ki vam pokažejo, kako narediti
Domači komplet elektronskih bobnov z Arduino Mega2560: 10 korakov (s slikami)
Domači komplet elektronskih bobnov z Arduino Mega2560: To je moj projekt Arduino. Kako z Arduinom sestaviti komplet e-bobnov? Pozdravljeni, dragi bralec! -Zakaj delati takšen projekt? Najprej zato, ker če vam bodo všeč te vrste stvari, boste v delovnem procesu zelo uživali. Drugič, ker je res poceni
Raspberry Pi Celoten domači sinhroni zvok z daljinci za aplikacijo za telefon: 10 korakov (s slikami)
Raspberry Pi Celoten domači sinhroni zvok z daljinskim upravljalnikom aplikacije za telefon: cilj je sinhroniziran zvok in/ali posamezni viri v kateri koli sobi, ki jih je enostavno upravljati s telefonom ali tabličnim računalnikom prek iTunes Remote (jabolko) ali Retune (android). Prav tako želim, da se zvočna območja samodejno vklopijo/izklopijo, zato sem se obrnil na Raspberry Pi in