Talaan ng mga Nilalaman:

EWON Raspberry Pi Powered Home Robot: 7 Hakbang (na may Mga Larawan)
EWON Raspberry Pi Powered Home Robot: 7 Hakbang (na may Mga Larawan)

Video: EWON Raspberry Pi Powered Home Robot: 7 Hakbang (na may Mga Larawan)

Video: EWON Raspberry Pi Powered Home Robot: 7 Hakbang (na may Mga Larawan)
Video: Companion Robot: Overview - Raspberry Pi | Arduino | DIY Robotics 2024, Nobyembre
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

Sa pamamagitan ng sharathnaikSharathnaik.comMasunod Dagdag ng may-akda:

Heart Visualizer | Tingnan ang Iyong Beat sa Puso
Heart Visualizer | Tingnan ang Iyong Beat sa Puso
Heart Visualizer | Tingnan ang Iyong Beat sa Puso
Heart Visualizer | Tingnan ang Iyong Beat sa Puso
DIY- Cool Denim Pocket Notebook (may Mga Larawan)
DIY- Cool Denim Pocket Notebook (may Mga Larawan)
DIY- Cool Denim Pocket Notebook (may Mga Larawan)
DIY- Cool Denim Pocket Notebook (may Mga Larawan)
PUPPI
PUPPI
PUPPI
PUPPI

Tungkol sa: Engineering at Disenyo Higit Pa Tungkol sa sharathnaik »

Nalaman ko kamakailan ang aking sarili na nanonood ng maraming serye ng Netflix dahil sa kasalukuyang sitwasyon, inaasahan kong ligtas kayong lahat, at nakita ko na ang season 5 ng Black Mirror ay pinakawalan. Isang serye ng antolohiya na umiikot sa isang pangkat ng personal na buhay ng mga tao at kung paano manipulahin ng teknolohiya ang kanilang pag-uugali.

At ang isa sa mga yugto na nakakuha ng aking pansin ay sina Rachel, Jack, at Ashley too. Ang isa sa mga pangunahing tauhan ng seryeng ito ay isang robot sa bahay na nagngangalang Ashley O at ang robot na iyon ay may maraming karakter sa paligid nito at naisip ko para sa aking sarili na dapat akong bumuo ng isa, magandang proyekto na magsimula sa pagprograma kung hindi kahit papaano Maaari kong i-program ito upang tumawa sa aking mga biro.!

Ano / Sino si Ewon? Ano ang magagawa nito?

Kaya bago ako magsimulang magtrabaho sa proyektong ito nagtakda ako ng mga patakarang patakaran na dapat sundin. Ang proyektong ito ay dapat na

  • Madali para sa lahat na subukan
  • Hindi lamang tungkol sa pagiging cute ngunit maging kapaki-pakinabang din upang hindi ito mapunta sa isang istante
  • Modular, upang mapanatili mong magdagdag ng mga bagong tampok.

Matapos itakda ang panuntunang ito nagpasya akong gamitin ang Google Assistant SDK. Nagbibigay ang SDK na ito ng maraming mga tampok na hinahanap ko at kung nagsawa ka sa Ewon lagi mo itong ginagamit ng taksi bilang isang Google Home device at gawin ang ginagawa ng isang Google home.

Ang gagawin ni Ewon ay pagdaragdag ng isang character sa katulong ng Google. Ipinapakita ang mga emosyon at reaksyon sa sinasabi ng gumagamit. Ngayon hindi lamang ang tinig ang naririnig mo ngunit nakikita mo rin kung paano tumugon.

TANDAAN: Ang itinuturo na ito ay nasa ilalim ng pag-unlad. Malapit ko na mai-upload ang lahat ng nauugnay na mga file. Salamat

Hakbang 1: Mga Kinakailangan na Bahagi para sa Ewon

Elektroniko

  • Raspberry PI
  • Servo SG90 (x4)
  • Servo MG995 - pamantayan (x2)
  • PCA9685 16-Channel Servo Driver
  • Sound card ng USB
  • Mikropono
  • Mga nagsasalita (Ang anumang maliit na nagsasalita ay gagawin, isang bagay tulad nito)
  • Mga konektor ng header ng lalaki at babae na pin
  • Breadboard
  • Pagpapakita ng Nextion

FASTENER AND BEARINGS

  • M3 * 10mm (x10)
  • M3 * 8mm (x10)
  • M3 Nuts (x20)
  • Tindig

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

IBA PANG Materyales

  • Standoff

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

TOOLS

3d printer

Hakbang 2: Pag-unawa sa Ewon at Programming

Pag-unawa sa Ewon at Programming
Pag-unawa sa Ewon at Programming
Pag-unawa sa Ewon at Programming
Pag-unawa sa Ewon at Programming
Pag-unawa sa Ewon at Programming
Pag-unawa sa Ewon at Programming

Bago ako magsimula sa aspeto ng programa hayaan mo akong maikling ipaliwanag ang block diagram ng circuitry ng Ewon.

Ang RPI (Raspberry pi) ay utak ng system. Ang driver ng Servo na kinokontrol ng RPI ay nagtutulak ng servo. Ang display na kinokontrol ng RPI na may serial na komunikasyon upang maipakita ang mga emosyon at panghuli, mic at speaker na ginagamit upang makipag-usap kay Ewon. Ngayon alam na natin kung ano ang ginagawa ng hardware kung ano ang magsisimulang mag-program ng Ewon.

Pag-install ng google assistant SDK

Hayaan akong ipaliwanag ang dalawang kadahilanan kung bakit pinlano kong gamitin ang Google Assistant:

  • Nais kong si Ewon ay hindi lamang maging isang nakakatuwang robot ngunit isang kapaki-pakinabang din. Ang Google Assistant SDK ay mayroon nang isang toneladang mapagkukunan na maaari mong gamitin upang madagdagan ang pagpapaandar ng Ewon.
  • Maaari mo ring gamitin ang mga aksyon sa google at daloy ng dayalogo upang bigyan si Ewon ng kakayahang makipag-chat sa mga paunang natukoy na tugon. Sa ngayon, magtutuon lamang kami sa pangunahing SDK.

Magsimula tayo sa pamamagitan ng pag-install ng google assistant SDK. Hindi ito dapat maging mahirap dahil maraming toneladang mapagkukunan upang matulungan kang i-set up ang Google Assistant SDK sa RPI. Maaari mong sundin ang tutorial na ito kasama:

Tutorial:

Matapos ang pagtatapos ng proseso sa itaas, dapat mong ma-click ang enter sa keyboard at makipag-usap sa katulong. Iyon lang ang tungkol sa pag-install ng Google Assistant SDK.

Ano ang dapat kong pangalanan? Ewon?

Hoy Google! Iyon ang ginagamit upang simulang magsalita sa katulong sa google at sa kasamaang palad ay hindi pinapayagan ng google na magamit ang anumang iba pang pasadyang salitang gumising. Kaya't tingnan natin kung paano natin ito mababago upang ang katulong ng Google ay ma-trigger kapag may tumawag sa Ewon.

Snowboy: isang napapasadyang engine ng detection ng maiinit na salita na naka-embed sa real-time na katugma sa Raspberry Pi, (Ubuntu) Linux, at Mac OS X.

Ang isang maiinit na salita (kilala rin bilang wake word o trigger word) ay isang keyword o parirala na patuloy na nakikinig ng computer bilang isang senyas upang makapagpalitaw ng iba pang mga pagkilos.

Magsimula tayo sa pamamagitan ng pag-install ng Snowboy sa RPI. Tandaan na buhayin ang virtual na kapaligiran upang mai-install ang Snowboy tulad ng ginawa mo upang mai-install ang Assistant SDK. Lahat ng na-install namin mula dito ay kailangang mai-install sa virtual na kapaligiran. Ang pag-install ng Snowboy ay maaaring maging isang maliit na nakakalito ngunit ang link na ito ay dapat makatulong sa iyo na mai-install ito nang walang anumang mga problema. Link:

Narito ang isang buod na proseso ng pag-install kung ang link sa itaas ay nakalilito o nabigo ang pag-install.

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

Kapag Na-install patakbuhin ang demo file [na matatagpuan sa folder - snowboy / halimbawa / Python3 /] upang makita kung ang lahat ay ganap na gumagana.

Tandaan: madali mong mababago ang pangalan ng iyong robot sa ibang bagay din. Ang kailangan mo lang gawin ay pumunta sa https://snowboy.kitt.ai/ at sanayin ang isang pasadyang hotword at pagkatapos ay ilagay ang mainit na salitang iyon sa parehong folder tulad ng ewon.pmdl.

Naiintindihan ba ni Ewon ang mga emosyon?

Ngayon na may pangalan si Ewon gagamitin ko ang Ewon sa halip na tawagan itong isang robot. Okay kaya emosyon, maikling sagot hindi, hindi maintindihan ni Ewon ang emosyon kaya't ang gagawin natin dito ay makita ni Ewon ang damdamin sa ating pagsasalita gamit ang mga keyword at pagkatapos ay i-play ang kaukulang ekspresyon ng mukha na nauugnay dito.

Upang makamit ito kung ano ang nagawa ko ay isang simpleng script ng pagsusuri sa damdamin. Mayroong 6 magkakaibang mga klase ng emosyon.

Larawan
Larawan

Masaya, Malungkot, Galit, Takot, Naiinis, at Sorpresa. Ito ang pangunahing mga klase sa emosyon at bawat isa sa kanila ay may listahan ng mga keyword na nauugnay sa emosyon. (halimbawa magandang, maganda, nasasabik, lahat ay nasasailalim sa masayang damdamin).

Kaya't tuwing sasabihin namin ang anuman sa mga keyword sa klase ng emosyon ang nauugnay na damdamin ay na-trigger. Kaya't kapag sinabi mong "Hoy Ewon!" at hintaying magsalita si Ewon at nagpatuloy ako sa pagsasabing "Ngayon ay isang magandang araw!", Kinukuha nito ang keyword na "Nice" at nag-uudyok ng kaukulang damdamin na 'Maligaya' na nagpapalitaw ng ekspresyon ng mukha para kay Happy.

Nasa Ewon ba ang mga tainga na iyon?

Ang susunod na hakbang ay ang paggamit ng nag-uudyok na emosyon upang patakbuhin ang kani-kanilang ekspresyon ng mukha. Sa Ewon, pansin ang ekspresyon ng mukha ngunit inililipat ang tainga at leeg nito gamit ang servos at binabago ang display upang mabago ang paggalaw ng mata.

Una, ang mga servo, upang patakbuhin ito medyo madali maaari mong sundin ang tutorial na ito upang mai-set up ang Adafruit servo library. Link:

Larawan
Larawan

Pagkatapos ay itatalaga namin ang maximum at minimum na halaga para sa lahat ng mga servo. Ginagawa ito sa pamamagitan ng manu-manong paglipat ng bawat servo at suriin ang mga limitasyon nito. Magagawa mo ito sa sandaling naipon mo ang Ewon.

Mga mata kay Ewon

Para sa mga mata, gumagamit ako ng isang pagpapakita ng Nextion na mayroong isang bungkos ng mga larawan tulad ng sa ibaba.

Larawan
Larawan

Ito ay isang pagkakasunud-sunod ng mga larawang dinisenyo ko sa photoshop kung saan kapag nilalaro nang magkakasunod ay gumagawa ng isang animasyon. Ang isang katulad na pagkakasunud-sunod ay nilikha para sa lahat ng emosyon. Ngayon upang ipakita ang anumang emosyon na kailangan mo lang gawin ay tawagan ang tukoy na pagkakasunud-sunod ng imahe na bumubuo sa animasyon. Ang mga file ay nasa loob ng folder na 'Ipakita ang mga file', i-download ang link sa ibaba.

Sa wakas

Pinagsasama ang lahat kapag ang masayang damdamin ay na-trigger ng script na ang masayang pagpapaandar ay tinawag at ang servo ay lilipat sa mga naka-set na anggulo at ipinapakita ng display ang masayang animasyon sa mata. Kaya't ito ay kung paano natin nakakamit ang "pag-unawa" sa emosyon ng tao. Ang pamamaraang ito ay hindi pinakamahusay at may mga oras na ang mga keyword ay hindi nahuhulog sa parehong damdamin tulad ng paunang natukoy, ngunit sa ngayon, ito ay gumagana nang maayos at maaari mong palaging magdagdag ng maraming mga keyword upang madagdagan ang katumpakan ng pagtuklas. Dagdag dito, mapapalitan ito ng isang mas bihasang modelo ng pagsusuri sa damdamin tulad ng modelo ng pagsusuri ng Paralleldots Emotion upang makakuha ng mas mahusay na mga resulta. Ngunit kapag sinubukan ko ito maraming mga pagkaantala na maaaring gawing mas mabagal ang reaksyon ni Ewon. Marahil ang Ewon bersyon 2.0 ay magkakaroon ng katulad nito.

Ito ang LINK sa lahat ng mga file na kinakailangan upang patakbuhin ang EWON. I-download ang file at sundin ang mga hakbang sa ibaba:

  • Unzip ang file ilagay ang folder na ito (Ewon) sa bahay / pi /
  • Magdagdag ng Device Id at Model ID sa main.py file. Ang ID ay nakuha habang ini-install ang google assistant SDK.
  • Buksan ang prompt ng utos at patakbuhin ang mapagkukunan ng mga sumusunod na utos:

pinagmulan env / bin / activatepython main.py models / Ewon.pmdl

Hakbang 3: Pagpi-print ng Katawan

Maaari mong makita ang mga 3d file dito:

Ngayon na naka-set up na tayong lahat sa utak ng Ewon oras nito upang mai-print ang katawan nito. Mayroong 18 natatanging mga bahagi upang mai-print, karamihan sa mga ito ay medyo maliit, na may kabuuang oras ng pag-print na mga 15-20 na oras. (hindi kasama ang mga kaso).

Gumamit ako ng puting PLA na may 50% infill at isang layer taas na 2mm. Maaari mong baguhin ang mga halagang ito kung kinakailangan dapat itong gumana nang maayos ngunit tiyakin na ang maliliit na bahagi ay may 100% infill, para sa lakas.

Matapos mai-print ang mga file maaari kang gumamit ng papel de liha o isang file ng kamay at linisin ang mga naka-print na bahagi lalo na ang mga link kung saan dumadaloy ang mga bahagi sa bawat isa. Ang pag-Smoothen ng mga kasukasuan ay gagawing makinis ang mekanismo at magbibigay ng mas kaunting paglaban sa servo. Ang prosesong ito ay maaaring tumagal hangga't nais mo na maaaring mawala ang isang tao sa pagsubok na gawing perpekto ang mga naka-print na bahagi.

Mga karagdagang tala: Maaari mong muling drill ang mga butas sa mga naka-print na bahagi ng 3d gamit ang isang 3mm na bit. Ang lahat ng mga butas ay may parehong sukat. Gagawin nitong mas madali habang sinisisi ang mga mani sa paglaon sa pagpupulong.

Hakbang 4: Pagsasama-sama sa Ewon

Pagsasama-sama ng Ewon
Pagsasama-sama ng Ewon
Pagsasama-sama ng Ewon
Pagsasama-sama ng Ewon
Pagsasama-sama ng Ewon
Pagsasama-sama ng Ewon
Pagsasama-sama ng Ewon
Pagsasama-sama ng Ewon

Bago kami magsimula sa pagpupulong mayroong ilang mga pagbabago na kinakailangan sa mga naka-print na bahagi. Ang mga file na pinangalanang link ng servo ay dapat na nilagyan ng mga link ng servo na kasama ng servo, ginagawa nito ang mga naka-print na link na 3d upang kumonekta nang maayos sa servo.

Ang pagpupulong ng Ewon ay dapat na tuwid na pasulong. Nag-attach ako ng mga imahe para sundin mo.

Dagdag na mga tala: Siguraduhin na hindi mo overtighten ang alinman sa bolt o tornilyo dahil maaari itong masira at magsuot ng mga naka-print na bahagi.

Hakbang 5: Pag-kable ng Ewon

Kable Up Ewon
Kable Up Ewon
Kable Up Ewon
Kable Up Ewon
Kable Up Ewon
Kable Up Ewon

Nasa huling hakbang na kami upang mabuhay si Ewon. Narito ang diagram ng mga kable para sa mga bahagi kasama ang mga imaheng nagpapakita ng koneksyon.

  • Ang driver ng Servo ay konektado sa mga pin ng I2C na SDA at SCL ng RPI.
  • Ang display ay konektado sa mga pin ng RX at TX ng RPI
  • Ang mikropono at mga speaker ay konektado sa USB Sound card na konektado sa RPI sa pamamagitan ng USB port.

Babala: Mag-ingat sa pagpapaikli ng iyong RPI. Mangyaring suriin ang lahat ng iyong mga koneksyon dalawang beses at tiyaking wala kang nagawang mga pagkakamali. Ang lahat ng mga accessories na speaker, servo driver, at display ay pinalakas ng isang hiwalay na 5v na baterya at huwag gamitin ang linya ng Raspberry Pi 5v. Ginagamit lamang ang Raspberry pi upang magpadala ng data sa mga accessory ngunit hindi upang mapalakas ang mga ito.

Hakbang 6: Hoy Ewon! Naririnig mo ba ako?

Hoy Ewon! Naririnig mo ba ako?
Hoy Ewon! Naririnig mo ba ako?

Kaya naka-attach namin ang lahat ng aming mga accessories at na-install ang lahat ng kinakailangang mga aklatan. Maaari mong simulan ang Ewon sa pamamagitan ng pagpapatakbo ng shell script gamit ang./run Ewon.sh Ngunit ano ito.sh script? Gumagamit si Ewon ng maraming iba't ibang mga aklatan na may iba't ibang mga script (Google assistant SDK, Snowboy, Adafruit, atbp). Ang lahat ng mga script ay inilalagay sa kani-kanilang mga folder. (Maaari naming ilipat ang lahat ng mga file sa parehong landas at ayusin ang lahat ng mga script ngunit sa kasalukuyan, ang ilan sa mga aklatan ay hindi pinapayagan ang paglipat ng mga file ng pinagmulan, kaya, sa ngayon, itatago lamang namin ang mga ito sa kani-kanilang mga lokasyon).sh ay mga shell script na nagpapatakbo ng lahat ng mga script na ito isa-isa mula sa bawat lokasyon upang hindi mo manu-manong pumunta sa bawat lokasyon at patakbuhin ang mga script. Ginagawa nitong mas madali upang hawakan ang lahat ng mga utos.

Sa sandaling patakbuhin mo ang shell script sabihin lamang ang "Hey Ewon!" at dapat mong makita ang Ewon na nagsisimulang makinig sa iyo. Ngayon ay maaari mong gamitin ang Ewon bilang katulong sa google at kausapin ito at makikita mo ang Ewon na nagbabago ng mga expression mula sa iyong sinabi. Subukan ang isang bagay tulad ng "Hoy Ewon! Nalulungkot ako ngayon "at nakikita mong malungkot si Ewon sa iyo. Humingi ng biro kay Ewon at makitang tumawa ito sa biro.

Hakbang 7: Ano ang Susunod?

Hindi humihinto si Ewon dito. Ang Ewon ay mayroon nang paraan upang makita at maipakita ang mga emosyon ngunit maaari nating gawin itong higit pa. Umpisa lang ito

Sa darating na pag-update, gaganahan kami sa kung paano gumawa

  • Nakita ni Ewon ang mga mukha at sinusubaybayan ang iyong mukha at gumalaw kasama ang iyong mukha.
  • Kami ay magdagdag ng mga sound effects upang magbigay ng isang sobrang lalim sa character.
  • Magdagdag ng kadaliang kumilos upang ang Ewon ay maaaring ilipat kasama mo.

Tandaan: Dahil sa kasalukuyang sitwasyon naging napakahirap maghanap ng mga bahagi para sa proyekto. Ginawa nitong palitan ang disenyo at pag-andar na isinasaalang-alang ang palagay ko sa aking imbentaryo. Ngunit sa lalong madaling panahon na nakakuha ako ng aking mga kamay sa lahat ng mga bahagi ng sakit na na-update ang proyekto sa itaas.

Mga Update:

  • Gumawa ng ilang pagbabago sa code, inalis ang shell script.
  • Nagdagdag ng isang hugis-parihaba na katawan para sa EWON.

Inirerekumendang: