Sadržaj:

EWON Raspberry Pi napajani kućni robot: 7 koraka (sa slikama)
EWON Raspberry Pi napajani kućni robot: 7 koraka (sa slikama)

Video: EWON Raspberry Pi napajani kućni robot: 7 koraka (sa slikama)

Video: EWON Raspberry Pi napajani kućni robot: 7 koraka (sa slikama)
Video: Trendy v IIoT - webinář TMI, 20. 4. 2016 2024, Juli
Anonim
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot

Autor sharathnaikSharathnaik.comSlijedite Više od autora:

Vizualizator srca | Pogledajte otkucaje vašeg srca
Vizualizator srca | Pogledajte otkucaje vašeg srca
Vizualizator srca | Pogledajte otkucaje vašeg srca
Vizualizator srca | Pogledajte otkucaje vašeg srca
DIY- Cool džepna bilježnica od trapera (sa slikama)
DIY- Cool džepna bilježnica od trapera (sa slikama)
DIY- Cool džepna bilježnica od trapera (sa slikama)
DIY- Cool džepna bilježnica od trapera (sa slikama)
PUPPI
PUPPI
PUPPI
PUPPI

O: Inženjering i dizajn Više o sharathnaiku »

Nedavno sam se zaokupio gledajući mnogo Netflixovih serija zbog trenutne situacije, nadam se da ste svi na sigurnom, i vidio sam da je izašla peta sezona Black Mirrora. Antologijska serija koja se vrti oko grupe ličnih života ljudi i kako tehnologija manipulira njihovim ponašanjem.

Jedna od epizoda koje su mi privukle pažnju bile su Rachel, Jack i Ashley Too. Jedan od glavnih likova ove serije je kućni robot po imenu Ashley O i taj robot ima mnogo karaktera oko sebe i sam sam pomislio da bih ga trebao izgraditi, to je dobar projekt za početak programiranja ako ne to onda barem Mogu to programirati da se smije mojim šalama.!

Šta / Ko je Ewon? Šta može učiniti?

Dakle, prije nego što sam počeo raditi na ovom projektu, postavio sam neka osnovna pravila kojih se treba pridržavati. Ovaj projekat je morao biti

  • Svima je lako isprobati
  • Ne samo da je sladak, već i koristan kako ne bi završio na polici
  • Modularno, tako da možete nastaviti dodavati nove funkcije.

Nakon što sam postavio ovo pravilo, odlučio sam koristiti SDK za Google asistenta. Ovaj SDK pruža puno funkcija koje sam tražio, a ako vam dosadi Ewon, taksi ga uvijek koristite kao Google Home uređaj i radite ono što radi Google dom.

Ono što će Ewon raditi je dodavanje znaka Google asistentu. To je pokazivanje emocija i reagiranje na ono što korisnik kaže. Ne čujete samo glas, već ćete vidjeti i kako reagirati.

NAPOMENA: Ovo uputstvo je u razvoju. Uskoro ću prenijeti sve relevantne datoteke. Hvala ti

Korak 1: Dijelovi potrebni za Ewon

ELEKTRONIKA

  • Raspberry PI
  • Servo SG90 (x4)
  • Servo MG995 - standardni (x2)
  • PCA9685 16-kanalni servo upravljački program
  • USB zvučna kartica
  • Mikrofon
  • Zvučnici (Svaki mali zvučnik će uspjeti, otprilike ovako)
  • Muški i ženski konektori zaglavlja pina
  • Breadboard
  • Nextion Display

UČvršćivači i ležajevi

  • M3*10 mm (x10)
  • M3*8 mm (x10)
  • M3 matice (x20)
  • Ležaj

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

OSTALI MATERIJALI

  • Standoff

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

ALATI

3D štampač

Korak 2: Razumijevanje Ewon -a i programiranja

Razumijevanje Ewon -a i programiranja
Razumijevanje Ewon -a i programiranja
Razumijevanje Ewon -a i programiranja
Razumijevanje Ewon -a i programiranja
Razumijevanje Ewon -a i programiranja
Razumijevanje Ewon -a i programiranja

Prije nego počnem sa aspektom programiranja, dopustite mi da ukratko objasnim blok dijagram sklopa Ewon -a.

RPI (malina pi) je mozak sistema. Servo upravljački program kojim upravlja RPI pokreće servo pogon. Ekran kontroliran RPI -jem sa serijskom komunikacijom za prikaz emocija i na kraju, mikrofonom i zvučnicima koji se koriste za komunikaciju s Ewonom. Sada kada znamo koji hardver radi ono što počnemo programirati Ewon.

Instaliranje SDK -a google pomoćnika

Dopustite mi da objasnim dva razloga zašto sam planirao koristiti Google pomoćnika:

  • Htio sam da Ewon ne bude samo zabavan, već i koristan robot. SDK za Google pomoćnika već ima gomilu resursa koje možete koristiti za povećanje funkcionalnosti Ewona.
  • Također možete koristiti radnje na googlu i tok dijaloga kako biste Ewonu dali mogućnost chatanja s unaprijed definiranim odgovorima. Za sada ćemo se koncentrirati samo na osnovni SDK.

Započnimo instaliranjem SDK -a google pomoćnika. To ne bi trebalo biti teško jer postoji mnogo resursa koji će vam pomoći da postavite SDK za Google asistenta na RPI. Ovaj vodič možete pratiti zajedno:

Vodič:

Nakon završetka gore navedenog procesa trebali biste moći pritisnuti enter na tastaturi i razgovarati s pomoćnikom. To je sve o instaliranju SDK -a Google pomoćnika.

Kako da ga nazovem? Ewon?

Hej Google! To je ono što se koristi za početak razgovora s google asistentom i nažalost google ne dopušta upotrebu bilo koje druge prilagođene riječi za buđenje. Pa da vidimo kako to možemo promijeniti tako da se google asistent aktivira kad netko pozove Ewona.

Snowboy: visoko prilagodljiv mehanizam za otkrivanje vrućih riječi koji je ugrađen u stvarnom vremenu kompatibilan sa Raspberry Pi, (Ubuntu) Linux i Mac OS X.

Vruća riječ (poznata i kao riječ za buđenje ili riječ za pokretanje) je ključna riječ ili izraz koji računar stalno sluša kao signal za pokretanje drugih radnji.

Počnimo s instaliranjem Snowboya na RPI. Ne zaboravite aktivirati virtualno okruženje za instaliranje Snowboya kao što ste učinili za instaliranje SDK -a za pomoćnike. Sve što od sada instaliramo mora biti instalirano u virtualnom okruženju. Instaliranje Snowboya može biti malo zeznuto, ali ova bi vam veza trebala pomoći da ga instalirate bez ikakvih problema. Link:

Evo sažetog procesa instalacije ako gornja veza postane zbunjujuća ili instalacija ne uspije.

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

Nakon instalacije pokrenite demo datoteku [koja se nalazi u mapi - snowboy/examples/Python3/] kako biste provjerili radi li sve savršeno.

Napomena: možete lako promijeniti ime svog robota u nešto drugo. Sve što trebate učiniti je otići na https://snowboy.kitt.ai/ i istrenirati prilagođenu vruću riječ, a zatim je staviti u istu mapu kao i ewon.pmdl.

Može li Ewon razumjeti emocije?

Sada kada Ewon ima ime, koristit ću Ewon umjesto da ga nazivam robotom. U redu, dakle emocije, kratki odgovori ne, Ewon ne može razumjeti emocije pa ćemo ovdje učiniti da Ewon otkrije emocije u našem govoru pomoću ključnih riječi, a zatim pusti odgovarajući izraz lica povezan s tim.

Da bih to postigao, učinio sam jednostavnu skriptu za analizu osjećaja. Postoji 6 različitih klasa emocija.

Image
Image

Sretan, tužan, bijes, strah, gađenje i iznenađenje. Ovo su glavne klase emocija i svaka od njih ima popis ključnih riječi povezanih s emocijom. (na primjer dobro, lijepo, uzbuđeno, sve dolazi pod sretne emocije).

Dakle, kad god izgovorimo bilo koju ključnu riječ u klasi emocija, aktivira se odgovarajuća emocija. Pa kad kažete "Hej Ewon!" i čekam da Ewon progovori, a ja nastavljam govoriti "Danas je lijep dan!", ona uzima ključnu riječ "Lijepo" i pokreće odgovarajuću emociju "Sretna" koja pokreće izraz lica za Sretnu.

Jesu li te uši na Ewonu?

Sljedeći korak bi bio korištenje pokrenute emocije za pokretanje odgovarajućeg izraza lica. Kod Ewona izraz lica je primjetan, ali pomiče uho i vrat pomoću servo upravljača i mijenja zaslon kako bi promijenio pokrete očiju.

Prvo, servo uređaji, za pokretanje je prilično jednostavno možete slijediti ovaj vodič za postavljanje Adafruit servo biblioteke. Link:

Image
Image

Zatim dodjeljujemo maksimalnu i minimalnu vrijednost za sve servomotore. To se postiže ručnim pomicanjem svakog servo servera i provjerom njegovih granica. To možete učiniti nakon što sastavite Ewon.

Oči za Ewon

Za oči koristim Nextion ekran koji ima hrpu slika kao ispod.

Image
Image

To je niz slika koje sam dizajnirao u Photoshopu i koji, kad se reproduciraju u nizu, čine animaciju. Sličan slijed stvoren je za sve emocije. Sada da biste prikazali bilo kakvu emociju sve što trebate učiniti je nazvati određeni slijed slika koji čini animaciju. Datoteke se nalaze u mapi 'Prikaži datoteke', donju vezu za preuzimanje.

Konačno

Spajajući sve kada je skripta pokrenula emociju sreće, poziva se funkcija happy, a servo se pomiče na već postavljene kutove i na ekranu se prikazuje animacija veselog oka. Na ovaj način postižemo "razumijevanje" ljudskih emocija. Ova metoda nije najbolja i postoje slučajevi kada ključne riječi ne padaju u istu emociju kao što je prethodno definirano, ali za sada ovo funkcionira dovoljno dobro i uvijek možete dodati još ključnih riječi kako biste povećali točnost otkrivanja. Nadalje, ovo se može zamijeniti mnogo obučenijim modelom analize emocija poput Paralleldotsovog modela analize emocija kako bi se dobili bolji rezultati. Ali kad sam ga isprobao, bilo je mnogo kašnjenja zbog kojih je Ewon sporije reagirao. Možda će Ewon verzija 2.0 imati ovako nešto.

Ovo je LINK na sve datoteke potrebne za pokretanje EWON -a. Preuzmite datoteku i slijedite korake u nastavku:

  • Raspakirajte datoteku, postavite ovu mapu (Ewon) kod kuće/pi/
  • Dodajte ID uređaja i ID modela u datoteku main.py. ID se dobiva prilikom instaliranja SDK -a google pomoćnika.
  • Otvorite naredbeni redak i pokrenite izvor sljedećih naredbi:

izvor env/bin/enablepython main.py models/Ewon.pmdl

Korak 3: Odštampajte telo

3D datoteke možete pronaći ovdje:

Sada kada smo svi namješteni s Ewonovim mozgom, došlo je vrijeme da mu odštampamo tijelo. Treba ispisati 18 jedinstvenih dijelova, od kojih je većina prilično mala, s ukupnim vremenom ispisa od oko 15-20 sati. (isključujući slučajeve).

Koristio sam bijeli PLA sa 50% ispune i visinom sloja od 2 mm. Ove vrijednosti možete promijeniti ako je potrebno, kako bi radile dobro, ali pazite da mali dijelovi imaju 100% ispunu, radi čvrstoće.

Nakon što su datoteke ispisane, možete koristiti brusni papir ili ručnu turpiju i očistiti ispisane dijelove, posebno veze na kojima se dijelovi klize jedan kroz drugi. Zaglađivanje spojeva učinit će mehanizam glatkim i pružit će manji otpor servo pogonu. Ovaj proces može trajati koliko god želite koliko god se čovjek mogao izgubiti pokušavajući da odštampani dijelovi izgledaju savršeno.

Dodatne napomene: Možete ponovo izbušiti rupe u 3D ispisanim dijelovima pomoću bita od 3 mm. Sve rupe su istih dimenzija. To će olakšati uvrtanje matica kasnije u sklopu.

Korak 4: Spajanje Ewon -a zajedno

Spajanje Ewon -a zajedno
Spajanje Ewon -a zajedno
Spajanje Ewon -a zajedno
Spajanje Ewon -a zajedno
Spajanje Ewon -a zajedno
Spajanje Ewon -a zajedno
Spajanje Ewon -a zajedno
Spajanje Ewon -a zajedno

Prije nego počnemo sa sastavljanjem potrebno je nekoliko izmjena na ispisanim dijelovima. Datoteke pod nazivom servo link moraju biti opremljene servo vezama koje dolaze sa servo, to čini da se 3D štampane veze dobro povežu sa servo.

Sastavljanje Ewona bi trebalo biti ravno. Priložio sam slike koje možete pratiti.

Dodatne napomene: Pazite da ne zategnete previše vijak ili vijak jer se to može slomiti i istrošiti ispisane dijelove.

Korak 5: Ožičenje Ewon -a

Ožičenje Ewon
Ožičenje Ewon
Ožičenje Ewon
Ožičenje Ewon
Ožičenje Ewon
Ožičenje Ewon

Mi smo na posljednjem koraku da učinimo da Ewon zaživi. Evo dijagrama ožičenja za komponente zajedno sa slikama koje pokazuju vezu.

  • Servo upravljački program spojen je na I2C pinove koji su SDA i SCL RPI.
  • Ekran je povezan sa RX i TX pinovima RPI
  • Mikrofon i zvučnici povezani su na USB zvučnu karticu koja je spojena na RPI putem USB priključka.

Upozorenje: Pazite da ne spojite RPI. Dvaput provjerite sve veze i provjerite niste li učinili grešku. Sav pribor koji je zvučnik, servo upravljački program i zaslon napaja se zasebnom 5v baterijom i ne koristi Raspberry Pi 5v liniju. Raspberry pi se koristi samo za slanje podataka u dodatnu opremu, ali ne i za njihovo napajanje.

Korak 6: Hej Ewon! Možeš li me čuti?

Hej Ewon! Možeš li me čuti?
Hej Ewon! Možeš li me čuti?

Stoga smo priložili svu dodatnu opremu i instalirali sve potrebne biblioteke. Možete pokrenuti Ewon pokretanjem shell skripte pomoću./run Ewon.shAli šta je to.sh skripta? Ewon koristi mnogo različitih biblioteka s različitim skriptama (SDK za Google pomoćnika, Snowboy, Adafruit itd.). Sve skripte su smještene u odgovarajuće mape. (Možemo premjestiti sve datoteke istim putem i organizirati sve skripte, ali trenutno neke biblioteke ne dopuštaju premještanje izvornih datoteka, pa ćemo ih za sada samo držati na odgovarajućim lokacijama.) je shell skripte koje pokreću sve ove skripte jednu po jednu sa svake lokacije, tako da ne morate ručno ići na svaku lokaciju i pokrenuti skripte. To olakšava rukovanje svim naredbama.

Nakon što pokrenete shell skriptu, samo recite "Hey Ewon!" i trebali biste vidjeti kako vas Ewon počinje slušati. Sada možete koristiti Ewon kao google pomoćnika i razgovarati s njim i možete vidjeti kako Ewon mijenja izraze iz onoga što govorite. Isprobajte nešto poput „Hej Ewon! Danas sam tužan “i možete vidjeti kako je Ewon tužna s vama. Pitajte Ewona za šalu i vidite kako se smije šali.

Korak 7: Šta je sljedeće?

Ewon ne staje ovdje. Ewon sada ima način otkrivanja i pokazivanja emocija, ali možemo učiniti da učini mnogo više. Ovo je samo početak.

U nadolazećem ažuriranju poradit ćemo na tome kako to napraviti

  • Ewon otkriva lica i prati vaše lice te se kreće zajedno s vašim licem.
  • Dodaćemo zvučne efekte kako bismo liku dali dodatnu dubinu.
  • Dodajte mobilnost kako bi se Ewon mogao kretati zajedno s vama.

Napomena: Zbog trenutne situacije postalo je vrlo teško nabaviti dijelove za projekt. To me natjeralo da promijenim dizajn i funkcionalnost s obzirom na misli koje sam imao u svom inventaru. Ali čim se dočepam svih dijelova, neću ažurirati gornji projekt.

Ažuriranja:

  • Napravljene su neke izmjene u kodu, uklonjena je shell skripta.
  • Dodano pravokutno tijelo za EWON.

Preporučuje se: