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

MyPetBot (Բոտ, որը հետևում է ձեզ). 10 քայլ (նկարներով)
MyPetBot (Բոտ, որը հետևում է ձեզ). 10 քայլ (նկարներով)

Video: MyPetBot (Բոտ, որը հետևում է ձեզ). 10 քայլ (նկարներով)

Video: MyPetBot (Բոտ, որը հետևում է ձեզ). 10 քայլ (նկարներով)
Video: MyPetBot 2024, Նոյեմբեր
Anonim
Image
Image
MyPetBot (Բոտ, որը հետևում է ձեզ)
MyPetBot (Բոտ, որը հետևում է ձեզ)
MyPetBot (Բոտ, որը հետևում է ձեզ)
MyPetBot (Բոտ, որը հետևում է ձեզ)

Ai- ը մաթեմատիկայի ամենագեղեցիկ կիրառումներից մեկն է: Հիմնականում դա մի շարք մատրիցային գործողություններ են, որոնք օպտիմիզացված են `ձեր փնտրած արդյունքին համապատասխանելու համար: Բարեբախտաբար, կան բազմաթիվ բաց կոդով գործիքներ, որոնք թույլ են տալիս մեզ օգտագործել այն:

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

Ես պատմում եմ այս պատմությունը, որովհետև ուզում եմ նշել, որ այս սկզբունքը կարող է օգտագործվել տոննա այլ ծրագրերի համար: Խաղալիքով դեմքին հետևելը դրանցից մեկն է: Ինտերակտիվ տեղակայանքների համար կարող եք անել ցանկացած բան: Դուք կարող եք օգտագործել մոդել ՝ որոշելու, թե արդյոք դեմքը ժպտում է: Դուք կարող եք հաշվել այգու շների թիվը: Դուք կարող եք փակել ձեր վարագույրները, երբ մարդիկ անցնում են կողքով: Կամ… պատրաստեք ձեր նինդենդոյի բազայի վերահսկիչ ձեր մարմնի դիրքի վրա…. Դուք կարող եք ներբեռնել Ai- ի շատ այլ մոդելներ, որոնք կատարում են ցանկացած տեսակի աշխատանք:

Կան մի քանի ձեռնարկ, թե ինչպես անել, որ Ai եզրակացությունն աշխատի ազնվամորու pi- ի հետ: Ես այստեղ եմ ձեզ սովորեցնելու, թե ինչպես կարելի է անցքերի ինտեգրումը կատարել ինքնաշխատ միավորի մեջ: Հենց ձեր ռոբոտը բեռնաթափվի, այն կսկսի անհրաժեշտ ծրագրերը:

Պարագաներ

  • Parallax ռոբոտ. Ես ընտրեցի այս ռոբոտը, քանի որ այն ունեի կողքին, բայց ցանկացած ռոբոտ, որը կարելի է կառավարել arduino- ով, կանի աշխատանքը:
  • Ազնվամորի պի. Ես խորհուրդ եմ տալիս գոնե ազնվամորի պի 3 Բ+:
  • Intel Neural Stick. Եզրակացության տոկոսադրույքը մեկ վայրկյանից հասնում է 8. Դուք իսկապես դրա կարիքն ունեք, եթե ցանկանում եք Ai- ն անել ազնվամորու pi- ով:
  • Power Bank. Էլեկտրաէներգիան կառավարելու ամենահեշտ ձևը: Աշխատում է ազնվամորի pi 3B+ - ով, գուցե ցանկանաք ստուգել, որ այն աշխատում է pi 4 -ով:
  • Picamera: Ինձ դուր է գալիս picamera- ի օգտագործումը USB- ի փոխարեն:

Քայլ 1. Rover հավաքում

Rover հավաքում
Rover հավաքում
Rover հավաքում
Rover հավաքում
Rover հավաքում
Rover հավաքում

Ձեռնարկի նպատակը հիմնականում ծրագրային ապահովման մասին է, ուստի ես չեմ ուզում շատ մխրճվել ռովերի մասին մանրամասների մեջ: Այն աշխատում է այս ռոբոտի հետ, բայց այն իսկապես կարող է աշխատել ցանկացած այլ սարքավորման հետ: Նույնիսկ պարտադիր չէ, որ այն լինի ռովերի համար, կարող եք օգտագործել այն շարժման սենսորային տեսախցիկի համար:

  1. Գտեք ձեզ Arduino վերահսկվող մեքենա:
  2. Սերտորեն փաթեթավորեք դրանով էներգիայի բանկը:
  3. Ամուր փաթաթեք ազնվամորու պիով դրան:
  4. Կպչեք լուսանկարչական ապարատը մի փոքր անկյան տակ դեպի վերև:
  5. Միացրեք ամեն ինչ միասին:
  6. Վոյա!

Քայլ 2: Raspbian

Ռասպբյան
Ռասպբյան
Ռասպբյան
Ռասպբյան

Ես օգտագործում եմ ազնվամորի պի, բայց ոչ մի պատճառ չկա չօգտագործել այլ Linux … կախված ձեզանից: Ես կարող եմ թողարկել plug and play պատկեր sd քարտը այրելու համար: Ես դրան կհասնեմ, եթե բավականաչափ մարդիկ հետաքրքրվեն:

Տեղադրեք Raspbian- ը. Կարող եք տեղադրել Raspbian Buster Lite- ը: Մենք չենք պատրաստվում օգտագործել աշխատասեղանը … Միայն ssh Secure Shell կապը:

Միացեք ձեր Pi- ին. Նախ կարող եք միանալ ձեր ազնվամորի pi- ին Ethernet կապով

Սահմանեք ձեր wifi- ն: Այժմ կարող եք կարգավորել ձեր անլար կապը

Քայլ 3: OpenVino

OpenVino
OpenVino

OpenVino- ն Intel- ի կողմից աջակցվող հիանալի գրադարան է: Նրանք հիանալի աշխատանք են կատարել օրինակելի մոդելներ կազմելիս և նրանք դարձրել են ai շրջանակի մեծ մասը համատեղելի: Ձեզ անհրաժեշտ է այս գրադարանը Intel Neural Stick- ի համար:

Python3 տեղադրում. Դուք պետք է տեղադրեք python 3:

OpenVino- ի տեղադրում. Երբ դա արվի, դուք կտեսնեք մի գիծ «[setupvars.sh] OpenVINO միջավայրը նախաստորագրված» ամեն անգամ, երբ միանում եք ազնվամորի պիին:

OpenVino- ն opencv- ի ընդլայնումն է: Այն փորձարկելու համար կարող եք գործարկել python3 և ներմուծել cv2:

մուտքագրեք պատյանում.

պիթոն 3

մուտքագրեք python:

  • ներմուծել cv2
  • cv2._ տարբերակ_

Վերջին տողը պետք է վերադարձնի «4.1.2-openvino» կամ openvino- ի ցանկացած տարբերակ: եթե եթե ասում է opencv ձեր տեղադրումը չի աշխատում…

Քայլ 4: Ներբեռնեք ծածկագիրը

Ներբեռնեք ծածկագիրը
Ներբեռնեք ծածկագիրը

Նախ, մենք տեղադրում ենք git- ը: Մուտքագրեք պատյանում.

sudo apt-get install git

Այնուհետև մենք կարող ենք տեղափոխվել Փաստաթղթերի թղթապանակ և ներբեռնել ծածկագիրը.

  • cd ~/Փաստաթղթեր/
  • git կլոն

Քայլ 5: FollowMe (Python)

FollowMe (Python)
FollowMe (Python)

Սա այն մասն է, որի հետ ցանկանում եք խաղալ: Ստեղծեք, եթե հետևեք ձեզ: Վախեցրեք ձեզանից: Հետևեք ձեր շանը: Ստիպեք ճանաչել դեմքի արտահայտությունները !! Հալածեք ձեր կատուն !!! Ինչ ուզում ես:

Դուք կգտնեք չորս հիմնական թղթապանակ ՝ Arduino, Deployment, Player և FollowMe:

Արդուինո. Դրա մասին ավելին ՝ հաջորդ բաժնում

Տեղակայումը. Այստեղ ես դնում եմ ինտերֆեյսը: Հենց հիմա ես կոդավորեցի միացման/դադարեցման պարզ կոճակը և մի փոքր տեսախցիկի դիտիչ ՝ վերահսկելով միայն մորթուց հաճույք:

Նվագարկիչ. Նախատեսված է օգտագործել ձեր աշխատասեղանի համակարգչում: Բոտի ելքը վերանայելու համար:

FollowMe. Մոդուլ, որը իրական հաճույք է պատճառում

Ես ավելի շատ մանրամասներ կներկայացնեմ github- ի վրա, որպեսզի թարմացման համար միայն մեկ տեղ լինի: Սա ծածկագրի տեղն է

Քայլ 6: Ներբեռնեք մոդելները

Եզրակացության մոդելները ծածկագրում ներառված չեն, քանի որ դրանք բավականին մեծ են: Բայց դուք կարող եք գտնել բազմաթիվ օրինակներ ՝ օգտագործելով OpenVino մոդելի Կենդանաբանական այգին

Կարող եք օգտագործել բեռնիչ մոդելը կամ ուղղակիորեն նետել այս հղումը: Իմ դեպքում ես չկարողացա օգտագործել բեռնիչ մոդելը իմ ազնվամորու pi տեղադրումից…

Այնուհետեւ պատճենեք մոդելը Models անունով թղթապանակի մեջ `

  • cd ~/Փաստաթղթեր/FollowMe
  • mkdir Մոդելներ
  • cd մոդելներ
  • wget
  • wget

Ձեզ միշտ պետք է.xml և.bin.

Դուք կարող եք ներբեռնել ձեր ուզած մոդելը… Բայց դուք ստիպված կլինեք փոխել կոդը: Զվարճանալ!

Քայլ 7: Arduino

Արդուինո
Արդուինո

Մենք պետք է ներբեռնենք կոդը նախորդ քայլի վրա: Արդուինոյի կոդը դրա մեջ է:

Կոդը նախատեսված է երկու շարունակական սերվո վարելու համար, եթե այլ կոնֆիգուրացիա եք ընտրել, պետք է փոփոխեք կոդը:

Այն հիմնականում երկու բան է անում. Այն շփվում է համակարգչի հետ և այն ակտիվացնում է սերվերը ընտրված արագությամբ:

Ես կարող էի մեզ տալ ազնվամորի pi- ի ելքը `շարժիչները վերահսկելու համար … բայց arduinos- ն ավելի լավ է աշխատում (նրանք ունեն իրական հաճախականությունների գեներատոր): Բացի այդ, ես ուզում էի հնարավորինս բեռնաթափել ազնվամորու pi- ն ՝ եզրակացությունն ավելի արագ դարձնելու համար:

Քայլ 8: GUI

GUI
GUI
GUI
GUI

Ոչ մի շքեղ բան … Դեռևս: Կարող եմ ավելացնել այլ նյութեր, ինչպիսիք են ուղիղ դիտման կամ շարժման կառավարման տարրերը: Բայց միևնույն ժամանակ, պարզ սկիզբն ու կանգառը գլուխ կհանեն:

Եթե ցանկանում եք փորձարկել այն, դուք պետք է այն գործարկեք FollowMe Level գրացուցակից, այնուհետև զանգահարեք այն python3- ից.

  • cd ~/Փաստաթղթեր/FollowMe
  • python3 Տեղակայում/FollowMe.py

Այնուհետև կարող եք մուտք գործել ձեր դիտարկիչի միջերես ՝ մուտքագրելով.

192.168.0.113:8000

իհարկե, ճիշտ IP հասցեով:

Կա նաև վիդեո դիտիչ ՝ վերահսկիչներով … բայց ոչ աշխատանքային եզրակացությամբ

python3 Տեղակայում/StreamVideo.py

Քայլ 9: Serviceառայություն:

Սա այն է, ինչը ստիպում է Rover- ին աշխատել ինքնուրույն: Serviceառայությունը համակարգչի ֆոնին աշխատող ծրագիր է ՝ առանց օգտագործողի: Համոզվեք, որ ձեր բոլոր ուղիները բացարձակ են և որ դուք ունեք ճիշտ իրավունքներ, եթե օգտագործում եք որևէ ֆայլ, և ծառայությունը լավ կաշխատի:

Python- ի սցենարը որպես ծառայություն գործարկելու համար հարկավոր է սցենարը հղել ծառայության ֆայլում: Serviceառայության ֆայլը գտնվում է տեղակայման թղթապանակում git- ից ներբեռնված կոդի մեջ: Անունը FollowMe.service է:

Այն պատճենելու համար պատյանում մուտքագրեք հետևյալը.

sudo cp ~/Փաստաթղթեր/FollowMe/Տեղակայում/FollowMe.service/etc/systemd/system/

Առաջին անգամ ֆայլը պատճենելիս անհրաժեշտ է թարմացնել systemctl… կամ վերագործարկել ՝

sudo systemctl daemon-reload

Եվ սկսելու համար.

sudo systemctl սկսել FollowMe- ն

Կարող եք նաև օգտագործել կանգառ, միացնել և անջատել հրամանները: Վերջին երկուսը համառ պետական փոփոխության համար են:

Փոքրիկ բացատրություն…

Openvino- ին անհրաժեշտ է համակարգի փոփոխականներում լրացուցիչ ուղիներ աշխատելու համար: Unfortunatelyավոք, սովորական տեղադրումը չի աշխատի որպես ծառայություն: Այսպիսով, ձեզ հարկավոր է այս ֆայլը `փոփոխականները սահմանելու համար:

Ուշադրություն դարձրեք, որ իմ տեղադրումը Python 3.7 -ի համար է, ուստի կա մի փոփոխական, որը կարող է անհրաժեշտ լինել հարմարեցնելու համար … Հաջողություն:

Այս ֆայլը բացարձակ ճանապարհով հղում է կատարում պիթոնի սցենարին.

/home/pi/Documents/FollowMe/Deployment/FollowMe.py

Քայլ 10: Դա այդպես է: Զվարճանալ

Մեկնաբանությու՞ն: միշտ բարի գալուստ

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