Բովանդակություն:

EWON Raspberry Pi Powered Home Robot: 7 քայլ (նկարներով)
EWON Raspberry Pi Powered Home Robot: 7 քայլ (նկարներով)

Video: EWON Raspberry Pi Powered Home Robot: 7 քայլ (նկարներով)

Video: EWON Raspberry Pi Powered Home Robot: 7 քայլ (նկարներով)
Video: Companion Robot: Overview - Raspberry Pi | Arduino | DIY Robotics 2024, Հուլիսի
Anonim
EWON Raspberry Pi Powered Home ռոբոտ
EWON Raspberry Pi Powered Home ռոբոտ
EWON Raspberry Pi Powered Home ռոբոտը
EWON Raspberry Pi Powered Home ռոբոտը
EWON Raspberry Pi Powered Home ռոբոտ
EWON Raspberry Pi Powered Home ռոբոտ

Շարաթնայիքի կողմից

Սրտի վիզուալիզատոր | Տեսեք ձեր սրտի բաբախյունը
Սրտի վիզուալիզատոր | Տեսեք ձեր սրտի բաբախյունը
Սրտի վիզուալիզատոր | Տեսեք ձեր սրտի բաբախյունը
Սրտի վիզուալիզատոր | Տեսեք ձեր սրտի բաբախյունը
DIY- Cool Denim Pocket Notebook (նկարներով)
DIY- Cool Denim Pocket Notebook (նկարներով)
DIY- Cool Denim Pocket Notebook (նկարներով)
DIY- Cool Denim Pocket Notebook (նկարներով)
PUPPI
PUPPI
PUPPI
PUPPI

Մասին ՝ Engineeringարտարագիտություն և դիզայն Ավելին sharathnaik- ի մասին »

Ես վերջերս հայտնվեցի Netflix- ի շատ սերիալներ ՝ ներկա իրավիճակի պատճառով, հուսով եմ, որ բոլորդ ապահով եք, և ես տեսա, որ թողարկվեց Black Mirror- ի 5-րդ սեզոնը: Անթոլոգիական շարք, որը պտտվում է մի խումբ մարդկանց անձնական կյանքի և այն մասին, թե ինչպես է տեխնոլոգիան շահարկում նրանց վարքագիծը:

Եվ իմ ուշադրությունը գրաված դրվագներից մեկը Ռեյչելն էր, Jackեքը և Էշլի Տուն: Այս շարքի գլխավոր հերոսներից է տնային ռոբոտը ՝ Էշլի Օ անունով, և այդ ռոբոտը շատ բնավորություն ունի իր շուրջը, և ես ինքս մտածեցի, որ պետք է կառուցեմ մեկը, դա ծրագրավորում սկսելու լավ նախագիծ է, եթե ոչ, ապա գոնե Ես կարող եմ այն ծրագրել, որպեսզի ծիծաղեմ իմ կատակների վրա:

Ի՞նչ / Ո՞վ է Էվոնը: Ինչ կարող է դա անել:

Այսպիսով, նախքան այս նախագծի վրա աշխատելը, ես որոշ հիմնական կանոններ սահմանեցի, որոնց պետք է հետևել: Այս նախագիծը պետք է լիներ

  • Բոլորի համար հեշտ է փորձել
  • Ոչ միայն սրամիտ լինելու, այլև օգտակար լինելու համար, որպեսզի այն չհայտնվի դարակում
  • Մոդուլային, որպեսզի կարողանաք շարունակել ավելացնել նոր հնարավորություններ:

Այս կանոնը սահմանելուց հետո ես որոշեցի օգտագործել Google Assistant SDK- ն: Այս SDK- ն ապահովում է բազմաթիվ հնարավորություններ, որոնք ես փնտրում էի, և եթե ձանձրանում եք Ewon- ից, այն միշտ օգտագործում եք որպես Google Home սարք և անում այն, ինչ անում է Google- ի տունը:

Այն, ինչ անելու է Եվոնը, Google- ի օգնականին կերպար ավելացնելն է: Դա ցույց է տալիս զգացմունքներ և արձագանքում օգտագործողի ասածին: Այժմ դա ոչ միայն ձեր լսած ձայնն է, այլև դուք տեսնում եք, թե ինչպես արձագանքել:

Նշում. Այս հրահանգը մշակման փուլում է: Շուտով կբեռնեմ բոլոր համապատասխան ֆայլերը: Շնորհակալություն

Քայլ 1. Ewon- ի համար պահանջվող մասեր

ԷԼԵԿՏՐՈՆԻԿԱ

  • Ազնվամորի PI
  • Servo SG90 (x4)
  • Servo MG995 - ստանդարտ (x2)
  • PCA9685 16-ալիքի սերվերի վարորդ
  • USB ձայնային քարտ
  • Խոսափող
  • Բարձրախոսներ (smallանկացած փոքր խոսնակ կանի, նման բան)
  • Արական և իգական կապի վերնագրի միակցիչներ
  • Breadboard
  • Հաջորդի ցուցադրում

ՍՐԱՀՆԵՐ ԵՎ ԱՐՏԱՀԱՆՈՆԵՐ

  • M3*10 մմ (x10)
  • M3*8 մմ (x10)
  • M3 ընկույզ (x20)
  • Կրող

    • OD ՝ 15 մմ ID ՝ 6 մմ Լայնություն ՝ 5 մմ (x2)
    • OD: 22 մմ ID: 8 մմ Լայնություն `7 մմ (x2)

ԱՅԼ ՆՅՈԹԵՐ

  • Կանգնածություն

    • 40 մմ (x4)
    • 30 մմ (x4)

ԳՈՐOOLԻՔՆԵՐ

3D տպիչ

Քայլ 2. Ewon և ծրագրավորում հասկանալը

Հասկանալով Ewon- ը և ծրագրավորումը
Հասկանալով Ewon- ը և ծրագրավորումը
Հասկանալով Ewon- ը և ծրագրավորումը
Հասկանալով Ewon- ը և ծրագրավորումը
Հասկանալով Ewon- ը և ծրագրավորումը
Հասկանալով Ewon- ը և ծրագրավորումը

Նախքան ծրագրավորման ասպեկտը սկսելը, թույլ տվեք հակիրճ բացատրել Ewon- ի սխեմաների բլոկ -դիագրամը:

RPI (Raspberry pi) համակարգի ուղեղն է: Servo վարորդը, որը վերահսկվում է RPI- ով, վարում է servo- ն: Displayուցադրումը վերահսկվում է RPI- ի միջոցով ՝ սերիական հաղորդակցությամբ ՝ հույզերը ցույց տալու համար, և վերջապես, խոսափողը և բարձրախոսներն օգտագործվում են Ewon- ի հետ հաղորդակցվելու համար: Այժմ, երբ մենք գիտենք, թե ինչ սարքավորում է անում, եկեք սկսենք Ewon- ի ծրագրավորումը:

Google օգնականի SDK- ի տեղադրում

Թույլ տվեք բացատրել երկու պատճառ, թե ինչու եմ ծրագրել օգտագործել Google Assistant- ը.

  • Ես ուզում էի, որ Ewon- ը ոչ միայն զվարճալի ռոբոտ լիներ, այլև օգտակար: Google Assistant SDK- ն արդեն ունի մի շարք ռեսուրսներ, որոնք կարող եք օգտագործել Ewon- ի ֆունկցիոնալությունը բարձրացնելու համար:
  • Կարող եք նաև օգտագործել գործողություններ google- ում և երկխոսության հոսքում ՝ Ewon- ին նախապես սահմանված պատասխաններով զրուցելու հնարավորություն տալու համար: Առայժմ մենք կենտրոնանալու ենք միայն հիմնական SDK- ի վրա:

Սկսենք ՝ տեղադրելով Google օգնականի SDK- ն: Սա չպետք է դժվար լինի, քանի որ կան բազմաթիվ ռեսուրսներ, որոնք կօգնեն ձեզ ստեղծել Google Assistant SDK- ն RPI- ի վրա: Կարող եք հետևել այս ձեռնարկին ՝

Ուսումնական ձեռնարկ ՝

Վերոնշյալ գործընթացի ավարտից հետո դուք պետք է կարողանաք սեղմել Enter ստեղնաշարի վրա և խոսել օգնականի հետ: Ամեն ինչ կապված է Google Assistant SDK- ի տեղադրման հետ:

Ի՞նչ անուն տամ: Եվոն

Բարև, Google Դա այն է, ինչ օգտագործվում է Google օգնականի հետ խոսելու համար, և, ցավոք, google- ը թույլ չի տալիս օգտագործել որևէ այլ սովորական արթնացման բառ: Այսպիսով, եկեք տեսնենք, թե ինչպես կարող ենք դա փոխել այնպես, որ Google օգնականը գործարկվի, երբ ինչ -որ մեկը զանգում է Ewon- ին:

Snowboy. Շատ հարմարեցված տաք բառերի հայտնաբերման շարժիչ, որը ներդրված է իրական ժամանակում ՝ համատեղելի Raspberry Pi- ի, (Ubuntu) Linux- ի և Mac OS X- ի հետ:

Թեժ բառը (հայտնի է նաև որպես արթնացնող բառ կամ հրահրող բառ) հիմնաբառ կամ արտահայտություն է, որը համակարգիչը անընդհատ լսում է որպես ազդանշան ՝ այլ գործողություններ հրահրելու համար:

Սկսենք ՝ Snowboy- ը տեղադրելով RPI- ի վրա: Հիշեք, որ Snowboy- ի տեղադրման համար ակտիվացրեք վիրտուալ միջավայրը, ինչպես դա արեցիք Օգնական SDK- ի տեղադրման համար: Այն ամենը, ինչ մենք տեղադրում ենք այսուհետ, պետք է տեղադրվի վիրտուալ միջավայրում: Snowboy- ի տեղադրումը կարող է մի փոքր բարդ լինել, բայց այս հղումը պետք է օգնի ձեզ տեղադրել այն առանց որևէ խնդիրների: Հղում ՝

Ահա ամփոփված տեղադրման գործընթացը, եթե վերը նշված հղումը շփոթեցնի կամ տեղադրումը ձախողվի:

$ [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 տեղադրել

Տեղադրվելուց հետո գործարկեք ցուցադրական ֆայլը [գտնված է թղթապանակում ՝ snowboy/მაგალითեր/Python3/] ՝ տեսնելու, թե արդյոք ամեն ինչ իդեալական է աշխատում:

Նշում. Դուք կարող եք հեշտությամբ փոխել ձեր ռոբոտի անունը այլ բանի: Մնում է գնալ https://snowboy.kitt.ai/ և պատրաստել հատուկ տաք բառ, այնուհետև տեղադրել այդ թեժ բառը նույն թղթապանակում, ինչպես ewon.pmdl:

Կարո՞ղ է Էվոնը հասկանալ զգացմունքները:

Այժմ, երբ Էվոնը անուն ունի, ես այն կօգտագործեմ ՝ ռոբոտ անվանելու փոխարեն: Լավ, հույզեր, կարճ պատասխաններ ՝ ոչ, Եվոնը չի կարող հասկանալ զգացմունքները, ուստի այն, ինչ մենք այստեղ կանենք, այն է, որ ստիպի Էյոնին մեր խոսքում հայտնաբերել հույզեր հիմնաբառերի միջոցով և այնուհետև խաղալ դրա հետ կապված համապատասխան դեմքի արտահայտությունը:

Դրան հասնելու համար այն, ինչ ես արել եմ, զգացմունքների վերլուծության պարզ սցենար է: Կան 6 տարբեր զգացմունքների դասեր:

Պատկեր
Պատկեր

Ուրախ, տխուր, զայրույթ, վախ, զզվանք և անակնկալ: Սրանք հույզերի հիմնական դասերն են, և դրանցից յուրաքանչյուրն ունի զգացմունքների հետ կապված հիմնաբառերի ցանկ: (օրինակ ՝ լավ, գեղեցիկ, հուզված, բոլորը բախվում են ուրախ զգացմունքների):

Այսպիսով, ամեն անգամ, երբ մենք ասում ենք զգացմունքների դասի հիմնաբառերից որևէ մեկը, համապատասխան հույզերի առաջացման պատճառ է դառնում: Այսպիսով, երբ ասում եք "Hey Ewon!" և սպասիր, թե երբ կխոսի Եվոնը, և ես շարունակում եմ ասել «Այսօր հաճելի օր է»: Այն վերցնում է «Լավ» բառը և առաջացնում համապատասխան «Երջանիկ» հույզը, որը խթանում է Երջանիկի դեմքի արտահայտությունը:

Այդ ականջները Էվոնի՞ն են:

Հաջորդ քայլը կլինի հրահրված հույզերի օգտագործումը `համապատասխան դեմքի արտահայտությունը գործարկելու համար: Էվոնի դեպքում դեմքի արտահայտությունը նշանավոր է, բայց ականջներն ու պարանոցը սերվերի միջոցով շարժելով և ցուցադրումը փոխելով ՝ աչքի շարժումները փոխելու համար:

Նախ, սերվերը, դա գործարկելը բավականին հեշտ է, կարող եք հետևել այս ձեռնարկին ՝ Adafruit սերվոյի գրադարանը ստեղծելու համար: Հղում ՝

Պատկեր
Պատկեր

Այնուհետև մենք տալիս ենք առավելագույն և նվազագույն արժեքը բոլոր սերվերի համար: Դա արվում է յուրաքանչյուր սերվոյի ձեռքով տեղափոխելով և դրա սահմանները ստուգելով: Դուք կարող եք դա անել, երբ հավաքեք Ewon- ը:

Աչքեր Եվոնի համար

Աչքերի համար ես օգտագործում եմ Nextion էկրան, որն ունի ստորև ներկայացված նկարների փունջ:

Պատկեր
Պատկեր

Դա ֆոտոշոփում իմ ստեղծած պատկերների հաջորդականությունն է, որը հաջորդականությամբ խաղալու դեպքում ստեղծում է անիմացիա: Նմանատիպ հաջորդականություն ստեղծվեց բոլոր զգացմունքների համար: Այժմ ցանկացած հույզ ցուցադրելու համար մնում է զանգել անիմացիան կազմող պատկերի որոշակի հաջորդականություն: Ֆայլերը գտնվում են «filesուցադրել ֆայլեր» պանակի ներսում, ներբեռնման հղումը ՝ ստորև:

Վերջապես

Այս ամենը միասին դնելիս, երբ սցենարով առաջանում է երջանիկ զգացմունք, կոչվում է երջանիկ գործառույթ, և սերվոն շարժվում է արդեն իսկ սահմանված անկյուններին և ցուցադրում է ուրախ աչքի անիմացիան: Այսպիսով, այսպես մենք հասնում ենք մարդկային զգացմունքների «հասկացման»: Այս մեթոդը լավագույնը չէ, և լինում են դեպքեր, երբ հիմնաբառերը չեն ընկնում նույն զգացմունքների մեջ, ինչ կանխորոշված է, բայց առայժմ դա բավական լավ է աշխատում, և միշտ կարող եք ավելացնել ավելի շատ հիմնաբառեր `հայտնաբերման ճշգրտությունը բարձրացնելու համար: Ավելին, սա կարող է փոխարինվել հույզերի վերլուծության շատ ավելի պատրաստված մոդելով, ինչպիսին է Paralleldots Emotion վերլուծության մոդելը `ավելի լավ արդյունքներ ստանալու համար: Բայց երբ ես այն փորձեցի, շատ ուշացումներ կային, որոնք կստիպեին Էվոնին ավելի դանդաղ արձագանքել: Միգուցե Ewon 2.0 -ի տարբերակը կունենա այսպիսի բան:

Սա LINK է բոլոր ֆայլերի համար, որոնք անհրաժեշտ են EWON- ը գործարկելու համար: Ներբեռնեք ֆայլը և հետևեք հետևյալ քայլերին.

  • Բացեք ֆայլը և տեղադրեք այս թղթապանակը (Ewon) տանը/pi/
  • Main.py ֆայլում ավելացրեք սարքի ID և մոդելի ID: ID- ն ստացվում է Google օգնական SDK- ի տեղադրման ժամանակ:
  • Բացեք հրամանի տողը և գործարկեք հետևյալ հրամանների աղբյուրը.

աղբյուր env/bin/activpython main.py մոդելներ/Ewon.pmdl

Քայլ 3: Մարմնի տպագրություն

3d ֆայլերը կարող եք գտնել այստեղ ՝

Այժմ, երբ մենք բոլորս պատրաստ ենք Ewon- ի ուղեղին, որ ժամանակն է տպել իր մարմինը: Տպելու համար կա 18 եզակի մաս, որոնց մեծ մասը բավականին փոքր են, տպման ընդհանուր ժամանակը ՝ 15-20 ժամ: (առանց դեպքերի):

Ես օգտագործել եմ սպիտակ PLA ՝ 50% լցոնմամբ և 2 մմ շերտի բարձրությամբ: Անհրաժեշտության դեպքում կարող եք փոխել այս արժեքները, այն պետք է լավ աշխատի, բայց համոզվեք, որ փոքր մասերը 100% լցված են ՝ ուժի համար:

Ֆայլերը տպվելուց հետո կարող եք օգտագործել հղկաթուղթ կամ ձեռքի ֆայլ և մաքրել տպված մասերը, հատկապես այն կապերը, որտեղ մասերը սահում են միմյանց միջով: Հոդերի հարթեցումը մեխանիզմը կդարձնի հարթ և ավելի քիչ դիմադրություն կապահովի սերվոյին: Այս գործընթացը կարող է տևել այնքան ժամանակ, որքան ցանկանում եք, քանի որ կարելի է կորչել ՝ փորձելով տպագիր մասերը կատարելապես տեսք տալ:

Լրացուցիչ նշումներ. Դուք կարող եք կրկին փորել 3D տպված մասերի անցքերը ՝ օգտագործելով 3 մմ բիթ: Բոլոր անցքերն ունեն նույն չափերը: Դա ավելի հեշտ կդարձնի, երբ հետագայում հավաքում ընկույզները պտուտակեք:

Քայլ 4. Ewon- ի միացում

Միացնելով Ewon- ը միասին
Միացնելով Ewon- ը միասին
Միացնելով Ewon- ը միասին
Միացնելով Ewon- ը միասին
Միացնելով Ewon- ը միասին
Միացնելով Ewon- ը միասին
Միացնելով Ewon- ը միասին
Միացնելով Ewon- ը միասին

Նախքան հավաքը սկսելը, տպագիր մասերի համար անհրաժեշտ են մի քանի փոփոխություններ: Servo հղում անունով ֆայլերը պետք է տեղակայված լինեն servo հղումներով, որոնք գալիս են servo- ի հետ, ինչը դարձնում է 3d տպված հղումները `սերվոյի հետ լավ կապվելու համար:

Ewon- ի հավաքը պետք է ուղիղ լինի: Ես կցել եմ նկարներ, որոնք կարող եք հետևել:

Լրացուցիչ նշումներ. Համոզվեք, որ պտուտակն ու պտուտակը որևէ չափով չսեղմեք, քանի որ դա կարող է կոտրվել և կրել տպված մասերը:

Քայլ 5. Միացում Ewon- ին

Միացում Up Ewon
Միացում Up Ewon
Միացում Up Ewon
Միացում Up Ewon
Միացում Up Ewon
Միացում Up Ewon

Մենք վերջին քայլին ենք հասնում ՝ Եվոնին կյանքի կոչելու համար: Ահա բաղադրիչների միացման դիագրամը, ինչպես նաև կապը ցուցադրող պատկերները:

  • Servo վարորդը միացված է I2C կապերին, որոնք SDA և SCL են RPI:
  • Էկրանը միացված է RPI- ի RX և TX կապումներին
  • Խոսափողը և բարձրախոսները միացված են USB ձայնային քարտին, որը միացված է RPI- ին USB պորտի միջոցով:

Wգուշացում. Carefulգուշացեք ձեր RPI- ի կարճացումից: Խնդրում ենք երկու անգամ ստուգել ձեր բոլոր կապերը և համոզվել, որ որևէ սխալ չեք թույլ տվել: Բոլոր աքսեսուարները, որոնք հանդիսանում են բարձրախոս, servo վարորդ և ցուցադրիչ, սնուցվում են առանձին 5 վ մարտկոցով և չեն օգտագործում Raspberry Pi 5v գիծը: Raspberry pi- ն օգտագործվում է միայն պարագաներին տվյալներ ուղարկելու համար, այլ ոչ թե դրանք սնուցելու համար:

Քայլ 6: Hey Ewon! Կարո՞ղ եք լսել ինձ:

Hey Ewon! Կարո՞ղ եք լսել ինձ
Hey Ewon! Կարո՞ղ եք լսել ինձ

Այսպիսով, մենք կցել ենք մեր բոլոր պարագաները և տեղադրել բոլոր անհրաժեշտ գրադարանները: Դուք կարող եք սկսել Ewon- ը ՝ գործարկելով shell հրահանգը ՝ օգտագործելով./run Ewon.sh Ewon- ն օգտագործում է բազմաթիվ գրադարաններ ՝ տարբեր սցենարներով (Google օգնական SDK, Snowboy, Adafruit և այլն): Բոլոր սցենարները տեղադրված են իրենց համապատասխան թղթապանակներում: (Մենք կարող ենք բոլոր ֆայլերը տեղափոխել միևնույն ճանապարհով և կազմակերպել բոլոր սցենարները, սակայն ներկայումս, որոշ գրադարաններ թույլ չեն տալիս տեղափոխել սկզբնական ֆայլերը, ուստի, առայժմ, մենք դրանք պարզապես կպահենք իրենց համապատասխան վայրերում): այն shell սցենարներ են, որոնք գործարկում են այս բոլոր սցենարները յուրաքանչյուր վայրից մեկ առ մեկ, այնպես որ կարիք չկա ձեռքով գնալ յուրաքանչյուր վայր և գործարկել սցենարները: Սա հեշտացնում է բոլոր հրամանների կառավարումը:

Երբ գործարկում եք shell սցենարը, պարզապես ասեք «Hey Ewon»: և դուք պետք է տեսնեք, թե ինչպես է Եվոնը սկսում լսել ձեզ: Այժմ դուք կարող եք օգտագործել Ewon- ը որպես Google օգնական և խոսել դրա հետ, և կարող եք տեսնել, թե ինչպես է Ewon- ը փոխում արտահայտությունները ձեր ասածից: Փորձիր «Hey Ewon! Ես այսօր տխուր եմ «և դուք կարող եք տեսնել, թե ինչպես է Եվոնը տխրում ձեզ հետ: Էվոնից կատակ խնդրեք և տեսեք, թե ինչպես է ծիծաղում կատակի վրա:

Քայլ 7: Ի՞նչ է հաջորդը:

Եվոնը այստեղ չի դադարում: Այժմ Ewon- ը հույզերը հայտնաբերելու և ցուցադրելու միջոց ունի, բայց մենք կարող ենք դա անել ավելին: Սա դեռ սկիզբն է:

Առաջիկա թարմացման մեջ մենք կաշխատենք, թե ինչպես պատրաստել

  • Ewon- ը հայտնաբերում է դեմքերը և հետևում ձեր դեմքին և շարժվում ձեր դեմքի հետ միասին:
  • Մենք ձայնային էֆեկտներ կավելացնենք ՝ կերպարին լրացուցիչ խորություն հաղորդելու համար:
  • Ավելացրեք շարժունակություն, որպեսզի Ewon- ը կարողանա շարժվել ձեզ հետ միասին:

Նշում. Ստեղծված իրավիճակից ելնելով `նախագծի մասեր ստանալը շատ դժվար է դարձել: Սա ստիպեց ինձ փոխել դիզայնը և ֆունկցիոնալությունը `հաշվի առնելով այն մտքերը, որոնք ես ունեի իմ գույքագրման մեջ: Բայց հենց որ ձեռքս ընկնի բոլոր մասերի վրա, ես կթարմացնեմ վերը նշված նախագիծը:

Թարմացումներ:

  • Որոշակի փոփոխություններ կատարեց ծածկագրում, հեռացվեց shell սցենարը:
  • Ավելացվել է ուղղանկյուն մարմին EWON- ի համար:

Խորհուրդ ենք տալիս: