Mundarija:

EWON Raspberry Pi bilan ishlaydigan uy robot: 7 qadam (rasmlar bilan)
EWON Raspberry Pi bilan ishlaydigan uy robot: 7 qadam (rasmlar bilan)

Video: EWON Raspberry Pi bilan ishlaydigan uy robot: 7 qadam (rasmlar bilan)

Video: EWON Raspberry Pi bilan ishlaydigan uy robot: 7 qadam (rasmlar bilan)
Video: eWON Flexy 205 Compact IIoT Gateway 2024, Iyul
Anonim
EWON Raspberry Pi bilan ishlaydigan uy roboti
EWON Raspberry Pi bilan ishlaydigan uy roboti
EWON Raspberry Pi bilan ishlaydigan uy roboti
EWON Raspberry Pi bilan ishlaydigan uy roboti
EWON Raspberry Pi bilan ishlaydigan uy roboti
EWON Raspberry Pi bilan ishlaydigan uy roboti

SharathnaikSharathnaik.com tomonidan Muallifning boshqa maqolalarini kuzatib boring:

Yurak vizualizatori | Yuragingiz urishini ko'ring
Yurak vizualizatori | Yuragingiz urishini ko'ring
Yurak vizualizatori | Yuragingiz urishini ko'ring
Yurak vizualizatori | Yuragingiz urishini ko'ring
DIY- salqin jinsi cho'ntak daftarchasi (rasmlar bilan)
DIY- salqin jinsi cho'ntak daftarchasi (rasmlar bilan)
DIY- salqin jinsi cho'ntak daftarchasi (rasmlar bilan)
DIY- salqin jinsi cho'ntak daftarchasi (rasmlar bilan)
PUPPI
PUPPI
PUPPI
PUPPI

Haqida: Muhandislik va dizayn sharathnaik haqida ko'proq ma'lumot »

Yaqinda men hozirgi vaziyat tufayli Netflix-ning ko'plab seriallarini tomosha qilayotganimni ko'rdim, umid qilamanki, barchangiz xavfsizsiz va men "Qora oyna" ning 5-mavsumi chiqqanini ko'rdim. Antologiyalar seriyasi odamlarning shaxsiy hayoti va texnologiya ularning xatti -harakatlarini qanday o'zgartirishi bilan bog'liq.

E'tiborimni tortgan epizodlardan biri Reychel, Jek va Eshli Too edi. Bu seriyaning asosiy qahramonlaridan biri - bu Ashley O ismli uy robotidir va uning atrofida juda ko'p xarakterlar bor va men o'zim o'ylab ko'rdimki, men uni qurishim kerak, agar bo'lmasa, dasturlashni boshlash yaxshi loyihadir. Men buni hazillarimga kulish uchun dasturlashim mumkin.!

Evon nima / u kim? Bu nima qila oladi?

Shunday qilib, men ushbu loyiha ustida ishlashni boshlashdan oldin, men bir nechta asosiy qoidalarga amal qilishim kerak edi. Bu loyiha bo'lishi kerak edi

  • Hamma uchun sinab ko'rish oson
  • Bu nafaqat yoqimli bo'lish, balki foydali bo'lishi uchun ham tokchada qolmaydi
  • Modulli, shuning uchun siz yangi xususiyatlarni qo'shishni davom ettirishingiz mumkin.

Ushbu qoidani o'rnatgandan so'ng, men Google Assistant SDK -dan foydalanishga qaror qildim. Bu SDK men qidirayotgan ko'p funktsiyalarni taqdim etadi va agar siz Ewondan zeriksangiz, taksi har doim uni Google Home qurilmasi sifatida ishlatadi va Google uyi qiladigan ishni qiladi.

Ewon nima qiladi - Google yordamchisiga belgi qo'shish. Bu his -tuyg'ularni ko'rsatish va foydalanuvchining so'zlariga munosabat. Endi siz nafaqat ovozni eshitasiz, balki qanday munosabatda bo'lishni ham bilib olasiz.

QAYD: Bu ko'rsatma ishlab chiqilmoqda. Tez orada barcha tegishli fayllarni yuklayman. Rahmat

1 -qadam: Ewon uchun zarur bo'lgan qismlar

ELEKTRONIKA

  • Malinali PI
  • Servo SG90 (x4)
  • Servo MG995 - standart (x2)
  • PCA9685 16 kanalli servo haydovchi
  • USB ovoz kartasi
  • Mikrofon
  • Karnaylar (Har qanday kichik ma'ruzachi shunday qiladi)
  • Erkak va ayol pinli ulagichlar
  • Non paneli
  • Keyingi displey

RUZLANGANLAR VA RULMANLAR

  • M3*10 mm (x10)
  • M3*8mm (x10)
  • M3 yong'oq (x20)
  • Rulman

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

BOShQA MATERIALLAR

  • Qarama -qarshilik

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

QUROLLAR

3D printer

2 -qadam: Ewon va dasturlashni tushunish

Ewon va dasturlashni tushunish
Ewon va dasturlashni tushunish
Ewon va dasturlashni tushunish
Ewon va dasturlashni tushunish
Ewon va dasturlashni tushunish
Ewon va dasturlashni tushunish

Dasturlashni boshlashdan oldin, Ewon sxemasining blok -sxemasini qisqacha tushuntirib beray.

RPI (Raspberry pi) - bu tizimning miyasi. Servo haydovchi RPI tomonidan boshqariladi. Hisobotni ko'rsatish uchun ketma -ket aloqa bilan RPI tomonidan boshqariladigan displey, nihoyat, Ewon bilan muloqot qilish uchun ishlatiladigan mikrofon va karnay. Endi biz bilamizki, qanday uskunalar nima qiladi, Ewon dasturlashni boshlaylik.

Google yordamchisi SDK -ni o'rnatish

Men nima uchun Google yordamchisidan foydalanishni rejalashtirganimning ikkita sababini tushuntirib beray:

  • Men Evonni nafaqat qiziqarli robot, balki foydali robot bo'lishini xohlardim. Google Assistant SDK -da Ewon funksiyasini oshirish uchun foydalanishingiz mumkin bo'lgan juda ko'p resurslar mavjud.
  • Shuningdek, siz Evonga oldindan belgilangan javoblar bilan suhbatlashish imkoniyatini berish uchun google va dialog oqimidagi harakatlardan foydalanishingiz mumkin. Hozircha biz faqat asosiy SDKga e'tibor qaratamiz.

Google SDK yordamchisini o'rnatishdan boshlaylik. Bu qiyin bo'lmasligi kerak, chunki RPI -da Google Assistant SDK -ni o'rnatishga yordam beradigan ko'plab manbalar mavjud. Siz ushbu qo'llanmani kuzatib borishingiz mumkin:

Qo'llanma:

Yuqoridagi jarayon tugagandan so'ng, siz klaviaturada Enter tugmasini bosishingiz va yordamchi bilan gaplashishingiz kerak. Bu Google Assistant SDK -ni o'rnatish haqida.

Buni nima deb atashim kerak? Evon?

Hey Google! Bu Google yordamchisi bilan gaplashishni boshlash uchun ishlatiladi va afsuski, Google boshqa maxsus uyg'otish so'zlarini ishlatishga ruxsat bermaydi. Keling, buni qanday o'zgartirish kerakligini ko'rib chiqaylik, shunda kimdir Evonga qo'ng'iroq qilganda Google yordamchisi ishga tushadi.

Snowboy: Raspberry Pi, (Ubuntu) Linux va Mac OS X bilan mos keladigan real vaqtda o'rnatilgan juda sozlanadigan issiq so'zlarni aniqlash mexanizmi.

Issiq so'z (shuningdek, uyg'otuvchi so'z yoki tetik so'z sifatida ham tanilgan) - bu kompyuter boshqa harakatlarni boshlash uchun signal sifatida doimo tinglaydigan kalit so'z yoki ibora.

Snowboyni RPI -ga o'rnatishdan boshlaylik. SDB yordamchisini o'rnatganingizdek, Snowboy -ni o'rnatish uchun ham virtual muhitni faollashtirishni unutmang. Bu erdan biz o'rnatadigan hamma narsa virtual muhitda o'rnatilishi kerak. Snowboy -ni o'rnatish biroz qiyin bo'lishi mumkin, lekin bu havola uni muammosiz o'rnatishga yordam beradi. Havola:

Agar yuqoridagi havola chalkashib ketsa yoki o'rnatish muvaffaqiyatsiz bo'lsa, bu erda yig'ilishning yakuniy jarayoni.

$ [sudo] apt-get install libatlas-base-dev swig $ [sudo] pip install pyaudio $ git clone https://github.com/Kitt-AI/snowboy $ cd snowboy/swig/Python3 $ $ cd.. /.. $ python3 setup.py ni qurish $ [sudo] python setup.py ni o'rnatish

O'rnatilganidan so'ng [papkada topilgan - snowboy/misollar/Python3/] demo faylini ishga tushiring, shunda hamma narsa yaxshi ishlayaptimi.

Eslatma: siz robotingizning nomini osongina o'zgartirishingiz mumkin. Siz faqat https://snowboy.kitt.ai/ saytiga kiring va maxsus hotwordni o'rgating va keyin bu issiq so'zni ewon.pmdl papkasida joylashtiring.

Evon his -tuyg'ularni tushuna oladimi?

Endi Evonning ismi bor, men uni robot deb atash o'rniga Ewondan foydalanaman. To'g'ri, his -tuyg'ular, qisqa javoblar yo'q, Evon his -tuyg'ularni tushuna olmaydi, shuning uchun biz bu erda nima qilmoqchimiz? Evon nutqimizda his -tuyg'ularni kalit so'zlar yordamida aniqlaydi va keyin unga tegishli yuz ifodasini o'ynaydi.

Bunga erishish uchun men qilgan ishim - oddiy his -tuyg'ularni tahlil qilish skriptidir. 6 xil hissiyot sinflari mavjud.

Rasm
Rasm

Baxtli, xafa, g'azab, qo'rquv, jirkanish va ajablanib. Bu asosiy his -tuyg'ular sinflari va ularning har birida his -tuyg'ular bilan bog'liq kalit so'zlar ro'yxati mavjud. (masalan, yaxshi, yoqimli, hayajonli, hammasi baxtli his -tuyg'ular ostida).

Shunday qilib, biz his -tuyg'ular sinfida har qanday kalit so'zni aytganimizda, mos keladigan tuyg'u paydo bo'ladi. Shunday qilib, "Hey Evon!" va Evonning gaplashishini kutib turing va men "Bugun yaxshi kun!" Deb aytishni davom ettiraman, u "Yaxshi" kalit so'zini tanlaydi va "Baxtli" degan tuyg'uni uyg'otadi, bu esa Baxtning yuz ifodasini ishga soladi.

Bu quloqlar Evonda bormi?

Keyingi qadam, tegishli yuz ifodasini ishga tushirish uchun ishlatilgan hissiyotdan foydalanish bo'ladi. Ewon bilan yuz ifodasi diqqatga sazovordir, lekin quloq va bo'ynini servo yordamida siljitish va ko'z harakatlarini o'zgartirish uchun displeyni o'zgartirish.

Birinchidan, servolarni ishga tushirish Adafruit servo kutubxonasini o'rnatish uchun siz ushbu qo'llanmani bajarishingiz juda oson. Havola:

Rasm
Rasm

Keyin biz barcha servolar uchun maksimal va minimal qiymatni belgilaymiz. Bu har bir servoni qo'lda siljitish va uning chegaralarini tekshirish orqali amalga oshiriladi. Siz buni Ewonni yig'ganingizdan so'ng qilishingiz mumkin.

Ewon uchun ko'zlar

Ko'zlar uchun men Nextion displeyidan foydalanaman, unda quyidagi rasmlar to'plami bor.

Rasm
Rasm

Bu men fotoshopda yaratgan tasvirlar ketma -ketligi, ular ketma -ket ijro etilganda animatsiya yaratadi. Shunga o'xshash ketma -ketlik barcha his -tuyg'ular uchun yaratilgan. Endi har qanday his -tuyg'ularni ko'rsatish uchun animatsiyani tashkil etuvchi aniq tasvir ketma -ketligini chaqirish kifoya. Fayllar "Fayllarni ko'rsatish" papkasida joylashgan, yuklab olish havolasi pastda.

Nihoyat

Baxtli his -tuyg'ular skriptni ishga tushirganda, barchasini bir joyga to'plash, baxtli funktsiya deb ataladi va servo o'rnatilgan burchaklarga o'tadi va displeyda baxtli ko'zlar animatsiyasi o'ynaydi. Shunday qilib, biz inson his -tuyg'ularini "tushunishga" erishamiz. Bu usul eng yaxshi emas va ba'zida kalit so'zlar oldindan aniqlangan his -tuyg'ularga tushib qolmaydi, lekin hozircha bu etarli darajada yaxshi ishlaydi va siz aniqlikni oshirish uchun har doim ko'proq kalit so'zlarni qo'shishingiz mumkin. Bundan tashqari, bu yaxshiroq natijalarga erishish uchun Paralleldots Emotion tahlil modeli kabi ancha o'qitilgan hissiyotlarni tahlil qilish modeli bilan almashtirilishi mumkin. Ammo men sinab ko'rganimda, kechikishlar ko'p edi, bu esa Evonning reaktsiyasini sekinlashtiradi. Ehtimol, Ewon 2.0 versiyasida shunga o'xshash narsa bo'lishi mumkin.

Bu EWON -ni ishga tushirish uchun zarur bo'lgan barcha fayllarga havola. Faylni yuklab oling va quyidagi amallarni bajaring:

  • Faylni bu papkani (Ewon) uyda oching/pi/
  • Main.py fayliga qurilma identifikatori va model identifikatorini qo'shing. ID Google yordamchisi SDK -ni o'rnatishda olinadi.
  • Buyruq satrini oching va quyidagi buyruqlar manbasini ishga tushiring:

manba env/bin/activatepython main.py modellari/Ewon.pmdl

3 -qadam: tanani chop etish

3d fayllarni bu erda topishingiz mumkin:

Endi biz hammamiz Evonning miyasi bilan uning jasadini chop etish vaqti keldi. Chop etish uchun 18 ta noyob qism bor, ularning aksariyati juda kichik, umumiy bosib chiqarish vaqti 15-20 soat atrofida. (holatlar bundan mustasno).

Men 50% to'ldiruvchi va qatlam balandligi 2 mm bo'lgan oq PLA ishlatardim. Agar kerak bo'lsa, siz bu qiymatlarni o'zgartirishingiz mumkin, u yaxshi ishlashi kerak, lekin mustahkamligi uchun kichik qismlar 100% to'ldirilganligiga ishonch hosil qiling.

Fayllar chop etilgandan so'ng, siz zımpara yoki qo'lda ishlangan faylni ishlatishingiz va bosilgan qismlarni, ayniqsa, qismlar bir -biridan o'tib ketadigan havolalarni tozalashingiz mumkin. Qo'shimchalarni tekislash mexanizmni silliq qiladi va servoga kamroq qarshilik ko'rsatadi. Bu jarayon siz xohlagancha davom etishi mumkin, chunki bosilgan qismlarni mukammal ko'rinishga keltirish uchun adashishingiz mumkin.

Qo'shimcha eslatmalar: Siz 3 mm o'lchamdagi bosma qismlarning teshiklarini qayta burishingiz mumkin. Barcha teshiklar bir xil o'lchamda. Bu yong'oqni vintlardek yig'ishda osonlashtiradi.

4 -qadam: Evonni birlashtirish

Evonni birlashtirish
Evonni birlashtirish
Evonni birlashtirish
Evonni birlashtirish
Evonni birlashtirish
Evonni birlashtirish
Evonni birlashtirish
Evonni birlashtirish

O'rnatishni boshlashdan oldin, bosilgan qismlarga ozgina o'zgartirishlar kiritish kerak. Servo havola deb nomlangan fayllar servo bilan ta'minlangan servo havolalar bilan jihozlangan bo'lishi kerak, bu esa 3D bosilgan havolalarni servo bilan yaxshi bog'lanishiga olib keladi.

Ewon yig'ilishi to'g'ridan -to'g'ri bo'lishi kerak. Siz kuzatib borishingiz uchun rasmlar biriktirdim.

Qo'shimcha eslatmalar: hech qanday murvat yoki vintni qattiq tortmasligingizga ishonch hosil qiling, chunki bu bosilgan qismlarni sindirib, eskirishi mumkin.

5 -qadam: Evonni ulash

Ewonni ulash
Ewonni ulash
Ewonni ulash
Ewonni ulash
Ewonni ulash
Ewonni ulash

Biz Evonni hayotga qaytarishning oxirgi bosqichidamiz. Mana, komponentlarning ulanish sxemasi va ulanishni ko'rsatadigan rasmlar.

  • Servo drayveri SDA va SCL RPI bo'lgan I2C pinlariga ulangan.
  • Displey RPI ning RX va TX pinlariga ulangan
  • Mikrofon va karnaylar USB port orqali RPI ga ulangan USB Ovoz kartasiga ulangan.

Ogohlantirish: RPIni qisqartirishdan ehtiyot bo'ling. Iltimos, barcha ulanishlarni ikki marta tekshiring va xato qilmaganingizga ishonch hosil qiling. Karnay, servo drayver va displey bo'lgan barcha aksessuarlar alohida 5v batareyadan ishlaydi va Raspberry Pi 5v liniyasidan foydalanmaydi. Raspberry pi faqat aksessuarlarga ma'lumotlarni yuborish uchun ishlatiladi, lekin ularni quvvatlantirmaydi.

6 -qadam: Hey Evon! Meni eshityapsanmi?

Salom Evon! Meni eshityapsanmi?
Salom Evon! Meni eshityapsanmi?

Shunday qilib, biz barcha aksessuarlarni biriktirdik va barcha kerakli kutubxonalarni o'rnatdik. Siz Ewonni./run Ewon.sh yordamida qobiq skriptini ishga tushirishdan boshlashingiz mumkin, lekin bu.sh skript nima? Ewon turli xil skriptli turli xil kutubxonalardan foydalanadi (Google yordamchisi SDK, Snowboy, Adafruit va boshqalar). Barcha skriptlar tegishli papkalarga joylashtirilgan. (Biz barcha fayllarni bir xil yo'lda ko'chirishimiz va barcha skriptlarni tartibga solishimiz mumkin, lekin hozirda ba'zi kutubxonalar manba fayllarini ko'chirishga ruxsat bermaydi, shuning uchun hozircha biz ularni o'z joylarida saqlaymiz).sh Bu har bir joydan birma -bir ishlaydigan skriptlar, shuning uchun har bir joyga qo'lda borib skriptlarni ishga tushirish shart emas. Bu barcha buyruqlar bilan ishlashni osonlashtiradi.

Qobiq skriptini ishga tushirgandan so'ng, "Hey Evon!" Deb ayting. va siz Evon sizni tinglay boshlaganini ko'rishingiz kerak. Endi siz Ewon -ni Google yordamchisi sifatida ishlatishingiz va u bilan gaplashishingiz mumkin va siz Ewon siz aytayotgan so'zlardan iboralarni o'zgartirayotganini ko'rishingiz mumkin. "Hey Evon! Men bugun xafa bo'ldim "va siz Evonning siz bilan xafa bo'lganini ko'rasiz. Evondan hazil so'rang va u hazil ustidan kulayotganini ko'ring.

7 -qadam: Keyin nima bo'ladi?

Evon bu erda to'xtamaydi. Endi Evonda his -tuyg'ularni aniqlash va ko'rsatish usuli bor, lekin biz bundan ham ko'proq narsani qila olamiz. Bu faqat boshlanishi.

Kelgusi yangilanishda, biz buni qanday qilish haqida ishlaymiz

  • Evon yuzlarni aniqlaydi va yuzingizni kuzatadi va yuzingiz bilan birga harakatlanadi.
  • Biz xarakterga qo'shimcha chuqurlik berish uchun ovoz effektlarini qo'shamiz.
  • Evon siz bilan birga harakatlanishi uchun harakatchanlikni qo'shing.

Eslatma: Mavjud vaziyat tufayli, loyiha qismlarini olish juda qiyin bo'lib qoldi. Bu meni inventarizatsiyadagi fikrlarni hisobga olgan holda dizayn va funksionallikni o'zgartirishga majbur qildi. Ammo men qo'llarimga tushgan zahoti yuqoridagi loyihani yangilamayman.

Yangilanishlar:

  • Kodga ba'zi o'zgarishlar kiritildi, qobiq skriptlari o'chirildi.
  • EWON uchun to'rtburchaklar tanasi qo'shildi.

Tavsiya: