Sisällysluettelo:
- Vaihe 1: Ewonille tarvittavat osat
- Vaihe 2: Ewonin ymmärtäminen ja ohjelmointi
- Vaihe 3: Rungon tulostaminen
- Vaihe 4: Ewonin yhdistäminen
- Vaihe 5: Kytke Ewon
- Vaihe 6: Hei Ewon! Kuuletko minua?
- Vaihe 7: Mitä seuraavaksi?
Video: EWON Raspberry Pi -käyttöinen kotirobotti: 7 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Seuraa lisää tekijältä:
Tietoja: Suunnittelu ja suunnittelu Lisätietoja sharathnaikista »
Huomasin äskettäin, että katson paljon Netflix-sarjoja nykyisen tilanteen vuoksi, toivon, että olette kaikki turvassa, ja näin, että Black Mirrorin kausi 5 julkaistiin. Antologiasarja, joka pyörii ryhmän ihmisten henkilökohtaisen elämän ja tekniikan manipuloiman käyttäytymisen ympärillä.
Ja yksi jaksoista, jotka kiinnittivät huomioni, olivat Rachel, Jack ja Ashley Too. Yksi tämän sarjan päähahmoista on kotirobotti nimeltä Ashley O ja sen robotin ympärillä on paljon luonnetta, ja ajattelin itse, että minun pitäisi rakentaa sellainen, se on hyvä projekti ohjelmoinnin aloittamiseen, jos ei niin sitten Voin ohjelmoida sen nauramaan vitseilleni!
Mikä / Kuka on Ewon? Mitä se voi tehdä?
Joten ennen kuin aloitin tämän projektin, asetin joitain perussääntöjä, joita on noudatettava. Tämän projektin piti olla
- Helppo kokeilla kaikille
- Ei pelkästään söpöyttä, vaan myös hyödyllistä, jotta se ei pääty hyllylle
- Modulaarinen, joten voit lisätä uusia ominaisuuksia jatkuvasti.
Tämän säännön asettamisen jälkeen päätin käyttää Google Assistant SDK: ta. Tämä SDK tarjoaa paljon ominaisuuksia, joita etsin, ja jos kyllästyt Ewoniin, käytä ohjaamoa aina Google -kodin laitteena ja tee mitä Googlen koti tekee.
Ewon aikoo lisätä hahmon Google -avustajaan. Se osoittaa tunteita ja reagoi siihen, mitä käyttäjä sanoo. Nyt se ei ole vain ääni, jonka kuulet, mutta saat myös nähdä, miten reagoida.
HUOMAUTUS: Tämä ohje on kehitteillä. Lähetän pian kaikki asiaankuuluvat tiedostot. Kiitos
Vaihe 1: Ewonille tarvittavat osat
ELEKTRONIIKKA
- Vadelma PI
- Servo SG90 (x4)
- Servo MG995 - vakio (x2)
- PCA9685 16-kanavainen servo-ohjain
- USB -äänikortti
- Mikrofoni
- Kaiuttimet (mikä tahansa pieni kaiutin tekee jotain tällaista)
- Uros- ja naarasliittimet
- Leipälauta
- Nextion -näyttö
KIINNIKKEET JA LAAKERIT
- M3*10 mm (x10)
- M3*8 mm (x10)
- M3 -mutterit (x20)
-
Laakeri
- OD: 15mm ID: 6mm Leveys: 5mm (x2)
- OD: 22mm ID: 8mm Leveys: 7mm (x2)
MUUT MATERIAALIT
-
Seisokki
- 40 mm (x4)
- 30 mm (x4)
TYÖKALUT
3D tulostin
Vaihe 2: Ewonin ymmärtäminen ja ohjelmointi
Ennen kuin aloitan ohjelmoinnin, haluan selittää lyhyesti Ewonin piirin lohkokaavion.
RPI (Raspberry pi) on järjestelmän aivot. RPI: n ohjaama servo -ohjain ajaa servoa. Näyttö, jota ohjaa RPI ja sarjayhteys tunteiden näyttämiseksi, ja lopuksi mikrofoni ja kaiuttimet, joita käytettiin kommunikoimaan Ewonin kanssa. Nyt kun tiedämme, mitä laitteisto tekee, aloitetaan Ewonin ohjelmointi.
Google Assistant SDK: n asentaminen
Selitän kaksi syytä, miksi päätin käyttää Google Assistantia:
- Halusin Ewonin olevan paitsi hauska robotti myös hyödyllinen. Google Assistant SDK: lla on jo paljon resursseja, joiden avulla voit parantaa Ewonin toimintoja.
- Voit myös käyttää toimintoja Googlessa ja valintaikkunassa, jotta Ewon voi keskustella ennalta määritettyjen vastausten kanssa. Tällä hetkellä keskitymme vain perus -SDK: hon.
Aloitetaan asentamalla Google Assistant SDK. Tämän ei pitäisi olla vaikeaa, koska on olemassa paljon resursseja, joiden avulla voit määrittää Google Assistant SDK: n RPI: lle. Voit seurata tätä opetusohjelmaa:
Opetusohjelma:
Yllä olevan prosessin päätyttyä sinun pitäisi pystyä napsauttamaan näppäimistön enter -näppäintä ja puhumaan avustajalle. Tässä on kyse Google Assistant SDK: n asentamisesta.
Mitä minun pitäisi nimetä? Ewon?
Hei Google! Sitä käytetään puhumaan Google -avustajalle, ja valitettavasti Google ei salli muiden mukautettujen herätyssanojen käyttöä. Joten katsotaanpa, kuinka voimme muuttaa tätä niin, että Google -avustaja käynnistyy, kun joku soittaa Ewonille.
Snowboy: erittäin muokattavissa oleva kuuman sanan tunnistusmoottori, joka on upotettu reaaliaikaiseen yhteensopivaan Raspberry Pi-, (Ubuntu) Linux- ja Mac OS X -käyttöjärjestelmien kanssa.
Kuuma sana (tunnetaan myös nimellä herätyssana tai laukaisusana) on avainsana tai lause, jota tietokone kuuntelee jatkuvasti signaalina muiden toimintojen käynnistämiseksi.
Aloitetaan asentamalla Snowboy RPI: lle. Muista aktivoida virtuaalinen ympäristö Snowboyn asentamiseksi samalla tavalla kuin asensit Assistant SDK: n. Kaikki, mitä asennamme tästä eteenpäin, on asennettava virtuaaliseen ympäristöön. Snowboyn asentaminen voi olla hieman hankalaa, mutta tämän linkin pitäisi auttaa sinua asentamaan se ilman ongelmia. Linkki:
Tässä tiivistetty asennusprosessi, jos yllä oleva linkki hämmentää tai asennus epäonnistuu.
$ [sudo] apt-get install libatlas-base-dev swig $ [sudo] pip install pyaudio $ git klooni https://github.com/Kitt-AI/snowboy $ cd snowboy/swig/Python3 $ make $ cd.. /.. $ python3 setup.py build $ [sudo] python setup.py install
Kun asennus on suoritettu, suorita demotiedosto [löytyy kansiosta - snowboy/example/Python3/] ja katso, toimiiko kaikki täydellisesti.
Huomaa: voit helposti muuttaa robotin nimen johonkin muuhun. Sinun tarvitsee vain siirtyä osoitteeseen https://snowboy.kitt.ai/ ja kouluttaa mukautettu hotword ja sijoittaa kuuma sana samaan kansioon kuin ewon.pmdl.
Voiko Ewon ymmärtää tunteita?
Nyt kun Ewonilla on nimi, käytän Ewonia sen sijaan, että kutsuisin sitä robotiksi. Okei, niin tunteet, lyhyet vastaukset ei, Ewon ei voi ymmärtää tunteita, joten me teemme täällä vain sen, että Ewon tunnistaa puheestamme tunteet avainsanoilla ja toistaa sitten siihen liittyvän ilmeen.
Tämän saavuttamiseksi olen tehnyt yksinkertaisen tunteenanalyysiskriptin. Tunteita on 6 eri luokkaa.
Onnellinen, surullinen, viha, pelko, inho ja yllätys. Nämä ovat tärkeimmät tunneluokat, ja jokaisella niistä on tunteeseen liittyvien avainsanojen luettelo. (esimerkiksi hyvä, mukava, innoissaan, kaikki tulevat onnellisten tunteiden alle).
Joten aina kun sanomme jonkin tunneluokan avainsanoista, vastaava tunne laukeaa. Joten kun sanot "Hei Ewon!" ja odota, että Ewon puhuu, ja sanon edelleen: "Tänään on mukava päivä!", se hakee avainsanan "Nice" ja laukaisee vastaavan tunteen "Happy", joka laukaisee Happy -ilmeen.
Ovatko nuo korvat Ewonilla?
Seuraava askel olisi laukaistun tunteen käyttäminen vastaavan ilmeen suorittamiseen. Ewonin kanssa ilme muistuttaa, mutta liikuttaa korvaansa ja kaulaansa servojen avulla ja muuttaa näyttöä muuttaakseen silmien liikkeitä.
Ensinnäkin servot, tämän suorittaminen on melko helppoa, voit seurata tätä opetusohjelmaa Adafruit -servokirjaston määrittämiseen. Linkki:
Sitten määritämme maksimin ja minimiarvon kaikille servoille. Tämä tehdään siirtämällä manuaalisesti jokaista servoa ja tarkistamalla sen rajat. Voit tehdä tämän, kun olet koonnut Ewonin.
Silmät Ewonille
Silmien osalta käytän Nextion -näyttöä, jossa on joukko alla olevia kuvia.
Se on kuvasarja, jonka suunnittelin Photoshopissa ja joka toistettaessa tekee animaation. Samanlainen järjestys luotiin kaikille tunteille. Jos haluat näyttää kaikki tunteet, sinun tarvitsee vain soittaa tiettyyn kuvasarjaan, joka muodostaa animaation. Tiedostot ovat Näytä tiedostot -kansiossa, latauslinkki alla.
Lopuksi
Kun kaikki kootaan yhteen, kun komentosarja laukaisee onnellisen tunteen, onnellinen toiminto kutsutaan ja servo siirtyy jo asetettuihin kulmiin ja näyttö toistaa onnellisen silmän animaation. Näin saavutamme "ymmärryksen" ihmisten tunteista. Tämä menetelmä ei ole paras, ja joskus avainsanat eivät kuulu samaan tunteeseen kuin ennalta määritetty, mutta toistaiseksi tämä toimii riittävän hyvin ja voit aina lisätä lisää avainsanoja havaitsemisen tarkkuuden lisäämiseksi. Lisäksi tämä voidaan korvata paljon koulutetummalla tunneanalyysimallilla, kuten Paralleldots -tunneanalyysimalli, jotta saadaan parempia tuloksia. Mutta kun yritin sitä, oli paljon viivästyksiä, jotka saisivat Ewonin reagoimaan hitaammin. Ehkä Ewonin versiossa 2.0 on jotain tällaista.
Tämä on LINKI kaikkiin EWONin suorittamiseen tarvittaviin tiedostoihin. Lataa tiedosto ja toimi seuraavasti:
- Pura tiedosto, aseta tämä kansio (Ewon) kotiin/pi/
- Lisää laitetunnus ja mallitunnus main.py -tiedostoon. Tunnus saadaan asennettaessa Google Assistant SDK: ta.
- Avaa komentokehote ja suorita seuraavien komentojen lähde:
lähde env/bin/activepython main.py models/Ewon.pmdl
Vaihe 3: Rungon tulostaminen
Löydät 3D -tiedostot täältä:
Nyt kun meillä kaikilla on valmiina Ewonin aivot, on aika tulostaa ruumiinsa. Tulostettavia on 18 ainutlaatuista osaa, joista suurin osa on melko pieniä, ja niiden tulostusaika on yhteensä noin 15-20 tuntia. (lukuun ottamatta tapauksia).
Käytin valkoista PLA: ta, jossa oli 50% täyte ja kerroksen korkeus 2 mm. Voit muuttaa näitä arvoja tarvittaessa, ja sen pitäisi toimia hyvin, mutta varmista, että pienet osat ovat 100% täytettyjä.
Kun tiedostot on tulostettu, voit käyttää hiekkapaperia tai käsiviilaa ja puhdistaa tulostetut osat, etenkin linkit, joissa osat liukuvat toistensa läpi. Saumojen tasoittaminen tekee mekanismista sileän ja antaa vähemmän vastusta servolle. Tämä prosessi voi kestää niin kauan kuin haluat, koska voit eksyä yrittäessäsi saada tulostetut osat näyttämään täydellisiltä.
Lisähuomautuksia: Voit porata 3D-tulostettujen osien reiät uudelleen käyttämällä 3 mm: n terää. Kaikki reiät ovat samankokoisia. Tämä helpottaa muttereiden kiristämistä myöhemmin kokoonpanossa.
Vaihe 4: Ewonin yhdistäminen
Ennen kuin aloitamme kokoonpanon, painettuihin osiin on tehtävä muutamia muutoksia. Servo -linkki -nimiset tiedostot on varustettava servolinkkeillä, jotka toimitetaan servon mukana, joten 3D -painetut linkit yhdistetään hyvin servoon.
Ewonin kokoonpanon tulisi olla suoraan eteenpäin. Olen liittänyt kuvia seurattavaksi.
Lisähuomautuksia: Älä kiristä pultteja tai ruuveja liikaa, koska ne voivat rikkoa ja kuluttaa painetut osat.
Vaihe 5: Kytke Ewon
Olemme viimeisessä vaiheessa saadaksemme Ewonin eloon. Tässä on komponenttien kytkentäkaavio ja liitännän osoittavat kuvat.
- Servo -ohjain on kytketty I2C -nastoihin, jotka ovat SDA ja SCL RPI.
- Näyttö on kytketty RPI: n RX- ja TX -nastoihin
- Mikrofoni ja kaiuttimet on liitetty USB -äänikorttiin, joka on kytketty RPI: hen USB -portin kautta.
Varoitus: Ole varovainen RPI: n oikosulun kanssa. Tarkista kaikki yhteydet kahdesti ja varmista, ettet ole tehnyt virheitä. Kaikki lisälaitteet, kuten kaiutin, servo -ohjain ja näyttö, saavat virtansa erillisestä 5 voltin akusta, eivätkä ne käytä Raspberry Pi 5v -linjaa. Raspberry pi: tä käytetään vain tietojen lähettämiseen lisälaitteisiin, mutta ei virtalähteeseen.
Vaihe 6: Hei Ewon! Kuuletko minua?
Joten olemme liittäneet kaikki lisävarusteet ja asentaneet kaikki tarvittavat kirjastot. Voit käynnistää Ewonin suorittamalla komentotiedoston./run Ewon.shMutta mikä tämä.sh -komentosarja on? Ewon käyttää monia erilaisia kirjastoja eri skripteillä (Google -avustaja SDK, Snowboy, Adafruit jne.). Kaikki komentosarjat sijoitetaan vastaaviin kansioihinsa. (Voimme siirtää kaikki tiedostot samalla polulla ja järjestää kaikki komentosarjat, mutta tällä hetkellä jotkin kirjastot eivät salli lähdetiedostojen siirtämistä, joten toistaiseksi pidämme ne vain omissa paikoissaan.) on komentosarjoja, jotka suorittavat kaikki nämä skriptit yksi kerrallaan jokaisesta sijainnista, joten sinun ei tarvitse mennä manuaalisesti jokaiseen sijaintiin ja suorittaa komentosarjoja. Tämä helpottaa kaikkien komentojen käsittelyä.
Kun olet suorittanut komentosarjan, sano vain "Hei Ewon!" ja sinun pitäisi nähdä Ewonin alkavan kuunnella sinua. Nyt voit käyttää Ewonia Googlen avustajana ja puhua sille, ja näet Ewonin muuttavan lausekkeita sanomastasi. Kokeile jotain "Hei Ewon! Olen surullinen tänään "ja voit nähdä Ewonin olevan surullinen kanssasi. Pyydä Ewonilta vitsi ja näe sen nauravan vitsille.
Vaihe 7: Mitä seuraavaksi?
Ewon ei lopeta tähän. Ewonilla on nyt tapa tunnistaa ja näyttää tunteita, mutta voimme saada sen tekemään paljon enemmän. Tämä on vasta alkua.
Tulevassa päivityksessä pyrimme tekemään sen
- Ewon tunnistaa kasvot ja seuraa kasvojasi ja liikkuu kasvojesi mukana.
- Lisäämme äänitehosteita hahmon syvemmälle.
- Lisää liikkuvuutta, jotta Ewon voi liikkua kanssasi.
Huomautus: Nykyisen tilanteen vuoksi on hankala hankkia osia hankkeelle. Tämä sai minut muuttamaan suunnittelua ja toimivuutta ottaen huomioon varastossani olevat ajatukset. Mutta heti kun saan käsiini kaikki osat huonosti, päivitä yllä oleva projekti.
Päivitykset:
- Tehtiin joitakin muutoksia koodiin, poistettiin komentosarja.
- Lisätty suorakulmainen runko EWONille.
Suositeltava:
Smart Home by Raspberry Pi: 5 vaihetta (kuvilla)
Smart Home by Raspberry Pi: Siellä on jo useita tuotteita, jotka tekevät asunnostasi älykkäämmän, mutta suurin osa niistä on omia ratkaisuja. Mutta miksi tarvitset Internet -yhteyden vaihtaaksesi valon älypuhelimellasi? Se oli yksi syy minulle rakentaa oma Smar
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: 11 vaihetta (kuvilla)
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: Tämä projekti toteuttaa 20x10 pikselin WS2812 -pohjaisen LED -näytön, jonka koko on 78x35 cm ja joka voidaan helposti asentaa olohuoneeseen retro -pelejä pelaamaan. Tämän matriisin ensimmäinen versio rakennettiin vuonna 2016 ja monet muut ihmiset rakensivat sen uudelleen. Tämä esimerkki
Borderlands Raspberry Pi: 9 vaihetta (kuvilla)
Borderlands Raspberry Pi: Joten olin eräänä päivänä pelikaupassa ja näin tämän Borderlandsin rekvisiitan raivausosastolla hintaan 20 dollaria, enkä voinut vastustaa sen ostamista. Noin viikon kuluttua ajattelin itselleni: "Voisin suolen kokonaan ja ahdistaa piin sisälle". Silloin seikkailuni alkoi
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
IRobot Luo henkilökohtainen kotirobotti: 16 vaihetta (kuvilla)
IRobot Create Personal Home Robot: Esittelyssä henkilökohtainen kotirobotti, joka on rakennettu iRobot Create -alustan ja mini-itx-tietokonejärjestelmän ympärille. Robottien suunnittelu ja rakentaminen ei ole koskaan ollut helpompaa ja edullisempaa hyödyntämällä ohjelmiston, tietokoneen, lelun ja muiden laitteiden mittakaavaetuja