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

Վիրտուալ իրականության վերահսկվող RC մեքենա. 9 քայլ
Վիրտուալ իրականության վերահսկվող RC մեքենա. 9 քայլ

Video: Վիրտուալ իրականության վերահսկվող RC մեքենա. 9 քայլ

Video: Վիրտուալ իրականության վերահսկվող RC մեքենա. 9 քայլ
Video: ПРОРЫВНЫЕ VR-ОЧКИ ОТ XIAOMI #xiaomi #технологии #vr 2024, Դեկտեմբեր
Anonim
Image
Image

Երբևէ ցանկացե՞լ եք կրճատվել և վարել այնպիսի արհեստ, ինչպիսին է Innerspace- ը կամ Fantastic Voyage- ը: Դե, ես կարծում եմ, որ սա նույնքան մոտ է, որքան կարճ ժամանակում:

Ահա խաղադաշտը.

Իրական կյանքի հեռակառավարման մեքենա, որը վարում էր Վիրտուալ իրականության հրամանատարական վահանակից: Սա նշանակում է, որ դուք կապում եք VR ականջակալը, շրջում եք RC մեքենայի անջատիչը, այնուհետև կարող եք VR- ից օդաչու ուղիղ տեսագրությամբ ուղիղ ձեր դեմքին:

Կան բաներ, որոնք ես իրականացրել եմ, որոնք կարող եք վերահսկել VR մեքենայի վրա:

  1. Անիվներ
  2. Եղջյուր
  3. Լույսեր

Այս բոլորը VR- ում ունեն մի տեսակ կոճակ կամ լծակ, որը կարող եք շրջել կամ միացնել մեքենան վարելու համար:

Ամբողջական ռեպոյի և լրացուցիչ տեղեկությունների համար այցելեք իմ Github- ը և իմ կայքը:

Քայլ 1: Նյութեր և գործիքներ

Նյութեր և գործիքներ
Նյութեր և գործիքներ
Նյութեր և գործիքներ
Նյութեր և գործիքներ

Մեխանիկական:

4 անիվի շասսիի հավաքածու

Էլեկտրական:

  • Անիվի կոդավորիչ
  • 3S 1300mAh մարտկոց
  • Արդուինո Ունո
  • Arduino Motor Shield
  • Piezo Electric Buzzer
  • Փոքր LED
  • XT60 միակցիչներ
  • Խթանել / Buck փոխարկիչ

Համակարգիչ:

  • Embանկացած ներդրված համակարգչային համակարգ ՝ Raspberry Pi, Jetson Nano և այլն:
  • USB տեսախցիկ (նախընտրելի է `180 աստիճանի տեսախցիկ)

Գործիքներ / Լրացուցիչ:

  • Sոդման երկաթ
  • Որոշ VR կարգավորումներ. Ես ունեմ Oculus Rift
  • Բազմաչափ

Քայլ 2: Կառուցեք մեքենա

Կառուցել մեքենա
Կառուցել մեքենա
Կառուցել մեքենա
Կառուցել մեքենա
Կառուցել մեքենա
Կառուցել մեքենա

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

Այն ամրացնելու համար ես օգտագործեցի ստվարաթղթե տուփը, որը տեսախցիկը մտավ: Ես կտրեցի մեծ L ձև և կտրեցի անցք, որպեսզի տեսախցիկը մանրակրկիտ ծակեր: Դրանից հետո դուք կարող եք պարզապես անցնել տեսախցիկը և մի փոքր ժապավեն տեղադրել հետևի մասում `այն տեղում պահելու համար: Եթե ցանկանում եք, կարող եք նաև անցքեր տեղադրել ձեր լուսարձակների համար այժմ, կամ դա անել ավելի ուշ ՝ մետաղալարերի երկարությունը չափելիս:

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

Քայլ 3: oldոդման սխեմաներ

Sոդման սխեմաներ
Sոդման սխեմաներ
Sոդման սխեմաներ
Sոդման սխեմաներ

Այս հատվածը բավականին հոգնեցուցիչ է, բայց ոչ բարդ: Եթե հետևեք նկարին և չափեք ամեն ինչ, նախքան ձեր մետաղալարը կտրելը, դա այնքան էլ վատ չէ:

Մինչ դուք դա անում եք, դուք նույնպես պետք է չափաբերեք ձեր buck փոխարկիչը `ճիշտ լարման ելքի համար: Raspberry Pi- ն և Jetson Nano- ն երկուսն էլ ընդունում են 5 վ լարման, սակայն մարտկոցը 11.1 վ է: Այսպիսով, մենք պետք է համոզվենք, որ չենք տապակել մեր էլեկտրոնիկան: Դա անելու համար մարտկոցը միացրեք buck փոխարկիչի մուտքի կողմին: Մինչ մարտկոցը միացված է, օգտագործեք ձեր մուլտիմետրը `չափելու կողային փոխարկիչի ելքային կողմը: Փոքր չափի պտուտակահան օգտագործեք, որպեսզի հզորաչափը պտտեք փոխարկիչի վրա մինչև ելքային լարումը 5 վ: Երբ ելքը ճիշտ է, այլևս ստիպված չեք լինի պտտել պոտենցիոմետրը:

Քայլ 4: Տեղադրեք կախվածությունը ներկառուցված համակարգից

Տեղադրեք կախվածությունը ներկառուցված համակարգից
Տեղադրեք կախվածությունը ներկառուցված համակարգից

Այստեղ անելը շատ չէ, բայց դեռ աներևակայելի կարևոր է:

Նախ, համոզվեք, որ միացված եք այն երթուղիչին, որն օգտագործելու եք, որպեսզի այն այսուհետ ինքնաբերաբար միանա:

Այնուհետև բացեք տերմինալ և մուտքագրեք հետևյալը.

sudo apt թարմացում

sudo apt տեղադրել opensh-server

sudo apt տեղադրել python-pip pip install numpy pip install opencv-python pip install pyzmq

Երբ այս իրերը տեղադրվեն, մենք պետք է համոզվենք, որ անկախ նրանից, թե որ պորտին է միացված arduino- ն, այն միշտ ճանաչված է: Այսպիսով, մենք գրում ենք այն, ինչ կոչվում է UDEV կանոններ: Սրանք կանոններ են ձեր օպերացիոն համակարգի համար, որոնք որոշում են, թե ինչ է տեղի ունենում, երբ միանում եք իրերին: Մենք ցանկանում ենք, որ arduino- ն միացված լինի, և անուն տանք դրան `դրան մուտք գործելու համար: Այդ անունը կլինի «arduino_0»: Դա անելու համար մենք կօգտագործենք arduino- ի ներքին սերիական համարը `այն նույնականացնելու համար:

udevadm info -a -n /dev /ttyUSB1 | grep '{սերիական}' | գլուխ -n1

Սա թքելու է սերիական համարի արժեքը, շարունակեք և պատճենեք այդ արժեքը:

Այնուհետեւ մենք պետք է խմբագրենք (կամ ստեղծենք, եթե այն չկա) «99-usb-serial.rules» անունով ֆայլ: Այս ֆայլը ապրում է «/etc/udev/rules.d/99-usb-serial.rules» ֆայլի հետևյալ ճանապարհում: Ինչպես նշեցի, եթե այդ ֆայլը գոյություն չունի, պարզապես ստեղծեք այն և տեղադրեք հետևյալ տողում, որտեղ VALUE_FROM_ABOVE- ը փոխարինված է ձեր նախկին արժեքով:

SUBSYSTEM == "tty", ATTRS {serial} == "VALUE_FROM_ABOVE", SYMLINK+= "arduino_0"

Սա օպերացիոն համակարգին ասում է, որ ամեն անգամ, երբ տեսնում է այս հատուկ սերիական համարը, կոչի այն arduino_0:

Վերջին բանը, որ պետք է անել այստեղ, այն է, որ ներբեռնեք pushArucoVideoPullCommands.py ֆայլը և այն դնեք հեշտությամբ հասանելի վայրում: Ես խորհուրդ կտայի ձեր օգտվողին տնային գրացուցակը, քանի որ այնտեղ մենք կհայտնվենք, երբ հետագայում SSH- ն ներդնենք ներդրված համակարգում:

Քայլ 5: Ստեղծեք ստատիկ IP հասցե

Ստատիկ IP հասցեի կարգավորում
Ստատիկ IP հասցեի կարգավորում

Այժմ այն հատվածն է, որը բոլորը սիրում են ՝ IP հասցեավորումը: Որպեսզի այս նախագիծը աշխատի, կոդը պետք է իմանա, թե ուր ուղարկել պատկերներ և կառավարման հրամաններ, և դա նշանակում է, որ մեր սարքերին անհրաժեշտ է ստատիկ IP:

Ձեր սարքին ստատիկ IP նշանակելու բազմաթիվ եղանակներ կան, բայց քանի որ մենք ունենք մեր վերգետնյա կայանը և ներկառուցված համակարգը միացնող երթուղիչ, մենք կարող ենք այն օգտագործել ՝ մեզ համար շատ հեշտ IP հասցեներ տալու համար:

Գնացեք դեպի ձեր երթուղիչի ադմինիստրատորի բաժինը, սովորաբար (երթուղիչների մեծ մասի համար) դա արվում է ՝ բացելով վեբ դիտարկիչ և անցնելով «192.168.1.1»: Այն ձեզանից կպահանջի մուտք գործել, և երթուղիչների մեծամասնության համար սովորական ստանդարտ օգտվողի անունն ու գաղտնաբառը «admin» է:

Տեղ հասնելուց հետո նավարկեք մի բան, որտեղ նշված է «DHCP սերվեր»: Սա գործընթաց է, որն աշխատում է ձեր երթուղիչով և հետևում է, թե ինչ սարքեր են դրան միացված իրենց MAC հասցեով, որը միշտ հաստատուն է: Մենք ցանկանում ենք ընտրել մեզ համար հետաքրքրող սարքերը: մասին, վերգետնյա կայանի համակարգիչը և ներկառուցված համակարգը, և դրանք ավելացրեք պատվիրված հաճախորդների բաժնում: Սա նրանց կտրամադրի ստատիկ ip, երբ միացված լինեն այս երթուղիչին:

Համոզվեք, որ ներդրված համակարգի IP- ն սահմանել եք 192.168.1.122: groundամաքային կայանի IP- ն կարող է սահմանվել ցանկացածի վրա:

Քայլ 6: Վերբեռնեք կոդը Arduino- ում

Վերբեռնեք կոդը Arduino- ում
Վերբեռնեք կոդը Arduino- ում

Արդուինոյի ծածկագիրը վերբեռնելու համար մենք պետք է նախ գրադարան տեղադրենք `շարժիչի վահանի հետ աշխատելու համար:

Ձեր Arduino IDE- ով գնացեք Sketch-> Include Library-> Manage Libraries… Այնուհետև որոնեք Adafruit Motor Shield Library- ը: Տեղադրեք այս գրադարանը, այնուհետև վերբեռնեք կոդը ձեր arduino- ում, այլ բան պետք չէ պահանջել:

Քայլ 7: Կցեք միացում և համակարգիչ մեքենային

Կցեք միացում և համակարգիչ մեքենային
Կցեք միացում և համակարգիչ մեքենային

Այժմ, երբ շղթան կառուցված է, ժամանակն է այդ ամենը դնել մեքենայի վրա: Չեմ պատրաստվում ստել, այս նյութերից շատերն ուղղակի կպչում են ժապավենով, որովհետև դա այն էր, ինչ ինձ համար ամենահեշտն էր արագ ապտակել միասին: Ասածս այն է, որ տեղադրված են ամրացման անցքեր, ինչպես երևում է վերևի նկարում:

Իրերի մեծ մասը բավականին հեշտ է պարզապես թույլ տալ նստել մեքենայի վերևում, այնպես որ, մի անհանգստացեք, եթե շատ տեղ չկա:

Քայլ 8: Կարգավորեք VR միջավայրը

Կարգավորեք VR միջավայրը
Կարգավորեք VR միջավայրը

Այս բաժինը մի փոքր այլ տեսք կունենա ՝ կախված այն բանից, թե ինչպիսի VR կարգավորում եք սկսել: Ինչ էլ որ լիներ, ես օգտագործել եմ SteamVR- ը ՝ այս ծրագրաշարը մշակելու համար, այնպես որ գուցե ձեզ անհրաժեշտ լինի տեղադրել այն:

Քանի դեռ օգտագործում եք SteamVR- ը, վերահսկիչները պետք է հարմարվեն տարբեր կարգավորիչների: Ես վերահսկումները քարտեզագրել եմ «Գործողությունների» մեջ պարտադիր չէ կոճակների մեջ, ուստի, տեսականորեն, այն կհարմարվի բոլորի համար:

Պարզապես անհրաժեշտ է ներբեռնել և բացել ֆայլը build Unity աշխարհով և պատրաստ լինել գործարկել VR_Bot.exe ֆայլը:

Քայլ 9. Գործարկեք ամեն ինչ միասին

Գործարկեք այն բոլորը միասին
Գործարկեք այն բոլորը միասին
Գործարկեք այն բոլորը միասին
Գործարկեք այն բոլորը միասին

Այսպիսով, հիմա, երբ մենք ունենք մեքենայի տեղադրում, և վերգետնյա կայանը միացված է և պատրաստ է գնալ, ինչպե՞ս ենք իրականում վարում այս վատ տղային: Դե, Ground Station- ի տեսանկյունից ձեզ մնում է միայն այն գործարկել VR_Bot.exe ֆայլը, որը մենք տեսել էինք ավելի վաղ:

Միևնույն ժամանակ, անհրաժեշտ կլինի մարտկոցը միացնել Ներկառուցված համակարգին և այն ինքնաբերաբար միացնել և միացնել ձեր երթուղիչին: Երբ այն գործարկվի, SSH- ն դրա մեջ մտեք: Դրան մուտք գործելու համար ձեզ հարկավոր կլինի տերմինալ ցամաքային կայանում, խորհուրդ եմ տալիս GitBash- ին:

SSH- ը նշանակում է Secure Shell և դա հեռավոր համակարգերի անվտանգ մուտք գործելու արձանագրություն է: Մեր դեպքում, դա մեզ հնարավորություն կտա մուտք գործել Ներկառուցված համակարգ ցամաքային կայանից: Կտտացրեք այստեղ ՝ ավելին իմանալու համար:

Դուք պետք է իմանաք այն օգտվողի անունը, որով դուք կարգավորում եք ձեր ներդրված համակարգը: Ազնվամորու pi- ի համար կանխադրված օգտվողի անունն է 'pi' և գաղտնաբառը 'ազնվամորի':

Տեղադրվելուց հետո բացեք տերմինալ և մուտքագրեք հետևյալը.

ssh {Ներկառուցված համակարգի օգտվողի անունը}@192.168.1.122

Սա կբացի տերմինալ Ներկառուցված համակարգում:

Երբ հայտնվեք այնտեղ, պարզապես անհրաժեշտ է կատարել python սցենարը, որը մենք ավելի վաղ պատճենել էինք:

python /path/to/pushArucoVideoPullCommands.py

Դա անելուց հետո, Ներկառուցված համակարգը կսկսի պոմպացնել պատկերներ և հրամաններ ստանալ դեպի և վերգետնյա կայան:

Այդ դեպքում լավ է սկսել մեքենա վարել և զվարճանալ:

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