Turinys:

„EWON Raspberry Pi“varomas namų robotas: 7 žingsniai (su nuotraukomis)
„EWON Raspberry Pi“varomas namų robotas: 7 žingsniai (su nuotraukomis)

Video: „EWON Raspberry Pi“varomas namų robotas: 7 žingsniai (su nuotraukomis)

Video: „EWON Raspberry Pi“varomas namų robotas: 7 žingsniai (su nuotraukomis)
Video: eWON COSY и Flexy, VPN-роутер - быстрый старт - начальная настройка 2024, Liepa
Anonim
„EWON Raspberry Pi“varomas namų robotas
„EWON Raspberry Pi“varomas namų robotas
„EWON Raspberry Pi“varomas namų robotas
„EWON Raspberry Pi“varomas namų robotas
„EWON Raspberry Pi“varomas namų robotas
„EWON Raspberry Pi“varomas namų robotas

Sekite daugiau autoriaus:

Širdies vizualizatorius | Pamatykite savo širdies plakimą
Širdies vizualizatorius | Pamatykite savo širdies plakimą
Širdies vizualizatorius | Pamatykite savo širdies plakimą
Širdies vizualizatorius | Pamatykite savo širdies plakimą
„Pasidaryk pats“- „Cool Denim Pocket Notepad“(su nuotraukomis)
„Pasidaryk pats“- „Cool Denim Pocket Notepad“(su nuotraukomis)
„Pasidaryk pats“- „Cool Denim Pocket Notepad“(su paveikslėliais)
„Pasidaryk pats“- „Cool Denim Pocket Notepad“(su paveikslėliais)
PUPPI
PUPPI
PUPPI
PUPPI

Apie: Inžinerija ir dizainas Daugiau apie sharathnaik »

Neseniai dėl dabartinės situacijos per daug žiūriu „Netflix“serialus, tikiuosi, kad visi esate saugūs, ir pamačiau, kad buvo išleistas 5 „Black Mirror“sezonas. Antologijos serija, kuri sukasi apie žmonių asmeninį gyvenimą ir tai, kaip technologijos manipuliuoja jų elgesiu.

Ir vienas iš mano dėmesį patraukusių epizodų buvo Rachelė, Džekas ir Ashley. Vienas iš pagrindinių šios serijos veikėjų yra namų robotas, vardu Ashley O, ir tas robotas turi daug charakterių, ir aš pats pagalvojau, kad turėčiau jį sukurti, tai geras projektas pradėti programavimą, jei ne tai, tai bent jau Galiu užprogramuoti, kad juoktųsi iš mano pokštų.!

Kas / Kas yra Ewonas? Ką tai gali padaryti?

Taigi prieš pradėdamas dirbti su šiuo projektu, nustatiau keletą pagrindinių taisyklių, kurių reikia laikytis. Šis projektas turėjo būti

  • Lengva išbandyti visiems
  • Ne tik būti mielas, bet ir būti naudingas, kad jis nepatektų į lentyną
  • Modulinis, kad galėtumėte nuolat pridėti naujų funkcijų.

Nustačius šią taisyklę nusprendžiau naudoti „Google“padėjėjo SDK. Šiame SDK yra daug funkcijų, kurių aš ieškojau, ir jei jums nuobodu „Ewon“, jūs visada naudojate jį kaip „Google Home“įrenginį ir darote tai, ką daro „Google“namai.

Ewonas darys simbolį prie „Google“padėjėjo. Tai parodo emocijas ir reaguoja į tai, ką sako vartotojas. Dabar girdite ne tik balsą, bet ir pamatysite, kaip reaguoti.

PASTABA: ši instrukcija yra kuriama. Netrukus įkelsiu visus susijusius failus. Ačiū

1 žingsnis: „Ewon“reikalingos dalys

ELEKTRONIKA

  • Aviečių PI
  • Servo SG90 (x4)
  • Servo MG995 - standartinis (x2)
  • PCA9685 16 kanalų servo tvarkyklė
  • USB garso plokštė
  • Mikrofonas
  • Garsiakalbiai (tinka bet koks mažas garsiakalbis, kažkas panašaus)
  • Vyrų ir moterų kaiščių antgalių jungtys
  • Bandomoji Lenta
  • „Nextion“ekranas

Tvirtinimo elementai ir guoliai

  • M3*10 mm (x10)
  • M3*8 mm (x10)
  • M3 veržlės (x20)
  • Guolis

    • OD: 15 mm ID: 6 mm Plotis: 5 mm (x2)
    • OD: 22 mm ID: 8 mm Plotis: 7 mm (x2)

KITOS MEDŽIAGOS

  • Atsiribojimas

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

ĮRANKIAI

3D spausdintuvas

2 žingsnis: Ewon supratimas ir programavimas

„Ewon“supratimas ir programavimas
„Ewon“supratimas ir programavimas
„Ewon“supratimas ir programavimas
„Ewon“supratimas ir programavimas
„Ewon“supratimas ir programavimas
„Ewon“supratimas ir programavimas

Prieš pradėdamas programavimo aspektą, leiskite trumpai paaiškinti „Ewon“grandinės blokinę schemą.

RPI (Raspberry pi) yra sistemos smegenys. Servo tvarkyklė, valdoma RPI, valdo servo. Ekranas valdomas RPI su serijiniu ryšiu emocijoms parodyti, o galiausiai mikrofonas ir garsiakalbiai buvo naudojami bendraujant su „Ewon“. Dabar, kai žinome, kokia aparatinė įranga daro, pradėkime programuoti „Ewon“.

Įdiegiamas „Google“padėjėjo SDK

Leiskite paaiškinti dvi priežastis, kodėl planavau naudoti „Google“padėjėją:

  • Norėjau, kad Ewonas būtų ne tik įdomus robotas, bet ir naudingas. „Google Assistant SDK“jau turi daugybę išteklių, kuriuos galite naudoti norėdami padidinti „Ewon“funkcionalumą.
  • Taip pat galite naudoti veiksmus „Google“ir dialogo sraute, kad suteiktumėte „Ewon“galimybę kalbėtis su iš anksto apibrėžtais atsakymais. Kol kas daugiausia dėmesio skirsime tik pagrindiniam SDK.

Pradėkime diegdami „Google“padėjėjo SDK. Tai neturėtų būti sunku, nes yra daugybė išteklių, padedančių nustatyti „Google“padėjėjo SDK RPI. Galite vadovautis šia pamoka:

Pamoka:

Pasibaigus aukščiau nurodytam procesui, turėtumėte spustelėti klaviatūros klavišą „Enter“ir pasikalbėti su asistentu. Tai viskas apie „Google“padėjėjo SDK įdiegimą.

Kaip turėčiau tai pavadinti? Ewonas?

Sveiki, „Google“! Būtent tai naudojama pradėti kalbėti su „Google“padėjėju ir, deja, „Google“neleidžia naudoti jokio kito pasirinktinio pažadinimo žodžio. Taigi pažiūrėkime, kaip tai pakeisti, kad „Google“padėjėjas būtų suaktyvintas, kai kas nors paskambina Ewonui.

„Snowboy“: labai pritaikomas karštų žodžių aptikimo variklis, integruotas realiuoju laiku, suderinamas su „Raspberry Pi“, („Ubuntu“) „Linux“ir „Mac OS X“.

Karštas žodis (taip pat žinomas kaip pažadinimo žodis arba paleidimo žodis) yra raktinis žodis ar frazė, kurios kompiuteris nuolat klauso kaip signalą kitiems veiksmams sukelti.

Pradėkime diegdami „Snowboy“RPI. Nepamirškite suaktyvinti virtualios aplinkos, kad įdiegtumėte „Snowboy“, kaip įdiegėte „Assistant SDK“. Viskas, ką mes įdiegsime nuo šiol, turi būti įdiegta virtualioje aplinkoje. „Snowboy“diegimas gali būti šiek tiek sudėtingas, tačiau ši nuoroda turėtų padėti ją įdiegti be jokių problemų. Nuoroda:

Štai apibendrintas diegimo procesas, jei aukščiau pateikta nuoroda tampa paini arba nepavyksta įdiegti.

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

Įdiegę paleiskite demonstracinį failą [rasti aplanke - snowboy/example/Python3/], kad pamatytumėte, ar viskas veikia puikiai.

Pastaba: taip pat galite lengvai pakeisti savo roboto pavadinimą į kažką kitą. Viskas, ką jums reikia padaryti, tai eiti į https://snowboy.kitt.ai/ ir išmokyti pasirinktinį greitąjį žodį, o tada įdėti tą karštą žodį į tą patį aplanką kaip ir ewon.pmdl.

Ar Ewonas gali suprasti emocijas?

Dabar, kai Ewonas turi vardą, aš naudosiu Ewon, o ne vadinsiu jį robotu. Gerai, todėl emocijos, trumpi atsakymai ne, Ewonas negali suprasti emocijų, todėl mes čia padarysime tai, kad Ewonas aptiks emocijas mūsų kalboje naudodami raktinius žodžius ir tada paleis atitinkamą su tuo susijusią veido išraišką.

Norėdami tai pasiekti, aš padariau paprastą jausmų analizės scenarijų. Yra 6 skirtingos emocijų klasės.

Vaizdas
Vaizdas

Laiminga, liūdna, pyktis, baimė, pasibjaurėjimas ir staigmena. Tai yra pagrindinės emocijų klasės ir kiekvienoje iš jų yra su emocija susijusių raktinių žodžių sąrašas. (pavyzdžiui, geras, malonus, susijaudinęs, visi patiria laimingų emocijų).

Taigi, kai mes sakome bet kurį emocijų klasės raktinį žodį, suaktyvinama atitinkama emocija. Taigi, kai sakai „Ei Ewon!“ir palaukite, kol Ewonas kalbės, ir aš toliau sakau: „Šiandien yra graži diena!“, jis paima raktinį žodį „Gražu“ir sukelia atitinkamą emociją „Happy“, kuri suaktyvina „Happy“veido išraišką.

Ar tos ausys ant Ewono?

Kitas žingsnis būtų suaktyvintos emocijos panaudojimas atitinkamai veido išraiškai. Naudojant „Ewon“, veido išraiška pastebi, bet perkelia ausį ir kaklą servo pagalba ir keičia ekraną, kad pakeistų akių judesius.

Pirma, servos, tai paleisti yra gana paprasta, vadovaudamiesi šia pamoka nustatykite „Adafruit“servo biblioteką. Nuoroda:

Vaizdas
Vaizdas

Tada mes priskiriame didžiausią ir mažiausią visų servų vertę. Tai atliekama rankiniu būdu perkeliant kiekvieną servo sistemą ir tikrinant jos ribas. Tai galite padaryti surinkę „Ewon“.

Akys Ewonui

Akims naudoju „Nextion“ekraną, kuriame yra daugybė nuotraukų, kaip parodyta žemiau.

Vaizdas
Vaizdas

Tai vaizdų seka, kurią sukūriau „Photoshop“ir kuri paleidus iš eilės sukuria animaciją. Panaši seka buvo sukurta visoms emocijoms. Dabar, norėdami parodyti bet kokias emocijas, jums tereikia paskambinti į konkrečią animacijos vaizdų seką. Failai yra aplanke „Rodyti failus“, atsisiųskite nuorodą žemiau.

Pagaliau

Sudėjus viską, kai laimingą emociją suaktyvina scenarijus, iškviečiama laiminga funkcija, o servo sistema pereina į jau nustatytus kampus, o ekranas atkuria laimingų akių animaciją. Taigi taip mes pasiekiame žmogaus emocijų „supratimą“. Šis metodas nėra pats geriausias ir yra atvejų, kai raktiniai žodžiai nepatenka į tas pačias emocijas kaip iš anksto apibrėžti, tačiau kol kas tai veikia pakankamai gerai ir visada galite pridėti daugiau raktinių žodžių, kad padidintumėte aptikimo tikslumą. Be to, norint gauti geresnių rezultatų, tai galima pakeisti daug labiau apmokytu emocijų analizės modeliu, pavyzdžiui, „Paralleldots“emocijų analizės modeliu. Bet kai aš tai išbandžiau, buvo daug vėlavimų, dėl kurių Ewonas reaguos lėčiau. Galbūt „Ewon 2.0“versija turės kažką panašaus.

Tai yra nuoroda į visus failus, reikalingus EWON paleisti. Atsisiųskite failą ir atlikite šiuos veiksmus:

  • Išpakuokite failą, padėkite šį aplanką (Ewon) namuose/pi/
  • Pridėkite įrenginio ID ir modelio ID prie failo main.py ID gaunamas diegiant „Google“padėjėjo SDK.
  • Atidarykite komandų eilutę ir paleiskite šių komandų šaltinį:

source env/bin/activepython main.py models/Ewon.pmdl

3 žingsnis: kūno spausdinimas

3D failus galite rasti čia:

Dabar, kai visi esame pasiruošę Ewono smegenims, laikas spausdinti jo kūną. Galima atspausdinti 18 unikalių dalių, dauguma jų yra gana mažos, o bendras spausdinimo laikas yra apie 15-20 valandų. (išskyrus atvejus).

Aš naudoju baltą PLA su 50% užpildu ir 2 mm sluoksnio aukščiu. Jei reikia, galite pakeisti šias vertes, jos turėtų gerai veikti, tačiau įsitikinkite, kad smulkios dalys yra 100% užpildytos, kad būtų užtikrintas stiprumas.

Atspausdinus failus, galite naudoti švitrinį popierių arba rankinį failą ir išvalyti išspausdintas dalis, ypač nuorodas, kuriose dalys slenka viena per kitą. Lyginant sąnarius, mechanizmas bus lygus ir mažiau atsparus servo mechanizmui. Šis procesas gali užtrukti tiek, kiek norite, nes galite pasiklysti, kad išspausdintos dalys atrodytų nepriekaištingai.

Papildomos pastabos: Galite iš naujo išgręžti skyles 3D spausdintose dalyse naudodami 3 mm antgalį. Visos skylės yra vienodo dydžio. Tai palengvins įsukant veržles vėliau surinkimo metu.

4 žingsnis: „Ewon“sujungimas

„Ewon“sujungimas
„Ewon“sujungimas
„Ewon“sujungimas
„Ewon“sujungimas
„Ewon“sujungimas
„Ewon“sujungimas
„Ewon“sujungimas
„Ewon“sujungimas

Prieš pradedant surinkimą, reikia atlikti keletą spausdintų dalių pakeitimų. Failuose, pavadintuose „servo link“, turi būti sumontuotos servo nuorodos, pateiktos kartu su servo, todėl 3D spausdintos nuorodos gerai sujungiamos su servo.

„Ewon“surinkimas turėtų vykti tiesiai į priekį. Pridedu paveikslėlius, kad galėtumėte sekti.

Papildomos pastabos: Įsitikinkite, kad per daug nepriveržėte varžto ar varžto, nes tai gali sulūžti ir nusidėvėti išspausdintos dalys.

5 žingsnis: „Ewon“prijungimas

„Ewon“prijungimas
„Ewon“prijungimas
„Ewon“prijungimas
„Ewon“prijungimas
„Ewon“prijungimas
„Ewon“prijungimas

Esame paskutiniame žingsnyje, kad Ewonas atgytų. Čia yra komponentų prijungimo schema kartu su vaizdais, rodančiais ryšį.

  • Servo tvarkyklė prijungta prie I2C kaiščių, kurie yra SDA ir SCL RPI.
  • Ekranas prijungtas prie RPI RX ir TX kaiščių
  • Mikrofonas ir garsiakalbiai prijungti prie USB garso plokštės, kuri prijungta prie RPI per USB prievadą.

Įspėjimas: atsargiai sutrumpinkite savo RPI. Du kartus patikrinkite visus ryšius ir įsitikinkite, kad nepadarėte klaidų. Visi priedai, kurie yra garsiakalbis, servo tvarkyklė ir ekranas, maitinami atskira 5 V baterija ir nenaudoja „Raspberry Pi 5v“linijos. „Raspberry pi“naudojama tik duomenims siųsti į priedus, bet ne jiems maitinti.

6 žingsnis: Ei Ewon! Ar tu mane girdi?

Ei Ewon! Ar tu mane girdi?
Ei Ewon! Ar tu mane girdi?

Taigi mes pridėjome visus savo priedus ir įdiegėme visas reikalingas bibliotekas. Galite paleisti „Ewon“paleisdami apvalkalo scenarijų naudodami./run Ewon.sh Bet kas yra šis.sh scenarijus? „Ewon“naudoja daugybę skirtingų bibliotekų su skirtingais scenarijais („Google“padėjėjo SDK, „Snowboy“, „Adafruit“ir kt.). Visi scenarijai dedami į atitinkamus aplankus. (Mes galime perkelti visus failus tuo pačiu keliu ir sutvarkyti visus scenarijus, tačiau šiuo metu kai kurios bibliotekos neleidžia perkelti šaltinio failų, todėl kol kas juos tiesiog laikysime atitinkamose vietose).sh yra apvalkalo scenarijai, kurie paleidžia visus šiuos scenarijus po vieną iš kiekvienos vietos, todėl jums nereikia rankiniu būdu eiti į kiekvieną vietą ir paleisti scenarijus. Tai palengvina visų komandų valdymą.

Kai paleisite apvalkalo scenarijų, tiesiog pasakykite „Ei, Ewon!“ir jūs turėtumėte pamatyti, kaip Ewonas pradeda jūsų klausytis. Dabar galite naudoti „Ewon“kaip „Google“padėjėją ir su juo kalbėtis, ir galite pamatyti, kaip Ewonas keičia išraiškas iš to, ką sakote. Pabandykite kažką panašaus į „Ei Ewon! Šiandien man liūdna “, ir jūs galite pamatyti, kaip Ewonas liūdi su jumis. Paprašykite Ewono pokšto ir pamatysite, kaip jis juokiasi iš pokšto.

7 žingsnis: kas toliau?

Ewonas čia nesustoja. „Ewon“dabar turi būdą aptikti ir parodyti emocijas, tačiau mes galime tai padaryti daug daugiau. Tai tik pradžia.

Būsimame atnaujinime dirbsime, kaip tai padaryti

  • Ewonas aptinka veidus, seka jūsų veidą ir juda kartu su jūsų veidu.
  • Pridėsime garso efektų, kad personažas įgytų papildomo gylio.
  • Pridėkite mobilumo, kad Ewonas galėtų judėti kartu su jumis.

Pastaba: dėl dabartinės situacijos tapo labai sunku įsigyti projekto dalių. Tai privertė mane pakeisti dizainą ir funkcionalumą, atsižvelgiant į tai, ką turėjau savo inventoriuje. Bet kai tik susikabinsiu visas dalis, blogai atnaujinu aukščiau pateiktą projektą.

Atnaujinimai:

  • Atlikta keletas kodo pakeitimų, pašalintas apvalkalo scenarijus.
  • Pridėtas stačiakampis korpusas EWON.

Rekomenduojamas: