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

Leap Motion Controlled Remote Search and Disposing Robot: 5 Steps
Leap Motion Controlled Remote Search and Disposing Robot: 5 Steps

Video: Leap Motion Controlled Remote Search and Disposing Robot: 5 Steps

Video: Leap Motion Controlled Remote Search and Disposing Robot: 5 Steps
Video: Motion-controlled Servos with Leap Motion & Raspberry Pi 2024, Նոյեմբեր
Anonim
Image
Image

Որպես Leap Motion #3D Jam- ի իմ մուտքի մաս, ես ոգևորված էի Raspberry Pi- ի հիման վրա կառուցված այս անլար ժեստերով վերահսկվող Search/Rescue Robot- ի ստեղծման համար: Այս նախագիծը ցույց է տալիս և տալիս է մինիմալիստական օրինակ, թե ինչպես են անլար 3D ձեռքի ժեստերը կարող օգտագործվել ֆիզիկական իրերի վերահսկման և փոխազդեցության համար:

Քանի որ այս նախագիծը օգտագործում է հանրաճանաչ WebIOPi IoT շրջանակը Raspberry Pi- ի վրա, այն շատ հեշտությամբ կարելի է ընդլայնել `վերահսկելու և ինտերֆեյսի ենթարկելու համար սովորաբար ցանկացած սենսոր/սարքավորում/էլեկտրոնիկա, որը կարող է փոխկապակցվել Raspberry Pi- ի հետ:

Որոշ հնարավոր սցենարներ, որոնք ես պատկերացնում եմ, որ Ստեղծագործ ընկերները կարող են օգտագործել այս նախագիծը որպես իրենց հիմք `կառուցելու համար.

1. Հեռակառավարվող ժեստերով գործող ռումբի հեռացման ռոբոտ (օգտագործելով գուցե OWI թև և այլն)

2. Բժշկի կողմից հեռակա վիրաբուժական վիրահատություն

3. estեստերով վերահսկվող ինտերակտիվ արվեստի ցուցահանդեսներ կամ կրթական բովանդակություն

4. Անսահման այլ հնարավորություններ/ինտեգրումներ (ես սահմանափակված եմ իմ երևակայությամբ:))

Քայլ 1: Ակնարկ

WebIOPi շրջանակի իմացություն
WebIOPi շրջանակի իմացություն

Այս նախագիծը թույլ է տալիս օգտվողին ինտերակտիվ կերպով վերահսկել ռոբոտին ՝ օգտագործելով ձեռքի 3D ժեստերը ՝ համակարգչին միացված Leap Motion- ի միջոցով:

Ռոբոտի վրա գտնվող Raspberry Pi- ն ունի նաև USB տեսախցիկ, որը ուղիղ տեսանյութեր է ուղարկում օգտվողին, որը կարելի է տեսնել վեբ դիտարկիչում: Այս վեբ էջում տեղադրված LeapMotion JavaScript գրադարանը մշակում է ձեռքի ժեստերը և վերահսկիչ ազդանշաններ է ուղարկում Ռոբոտին, որն այնուհետև շարժվում է համապատասխանաբար:

Ռոբոտի վրա Raspberry Pi- ն կազմաձևված է որպես թեժ կետ (AP ռեժիմ) `դրան միացված USB WiFi դոնգլի օգնությամբ: Սա թույլ է տալիս մեր ԱՀ/սարքերին ուղղակիորեն միանալ Raspberry Pi- ին և վերահսկել վեբ էջի միջոցով: Raspberry Pi- ն կարող է նաև կազմաձևվել հաճախորդի ռեժիմում աշխատելու համար, որտեղ այն անլար կերպով միանում է WiFi երթուղիչի AP- ին, որին արդեն միացված են ԱՀ -ն/Սարքերը:

Այս նախագիծը հիմնված է WebIOPi (https://webiopi.trouch.com/) - ի վրա, որը հայտնի IoT շրջանակ է Raspberry Pi- ի համար: Օգտագործելով փաթեթավորված Weaved IoT հավաքածուն (կամ երթուղղիչով նավահանգստի փոխանցման միջոցով), այս Ռոբոտը կարող է հեռակա կարգով կառավարվել և/կամ ստանալ տվյալներ աշխարհի ցանկացած մասից:

Buildingրագրի կառուցման համար օգտագործվել են հետևյալ բաղադրիչները.

  1. Raspberry Pi B (100% առաջ համատեղելի է Raspberry Pi B+ - ի հետ)
  2. Logitech USB տեսախցիկ (չնչին 1.3 մեգապիքսել)
  3. L293D Motor Driver IC և Breakout Shield
  4. USB WiFi Dongle ազնվամորու Pi- ի համար
  5. USB Power Bank Raspberry Pi- ի համար
  6. Արտաքին 4V/1.5A մարտկոց ՝ Robot Motors- ը վարելու համար

Քայլ 2. Նախագծի կառուցում

WebIOPi- ի տեղադրում, սովորական ծածկագիր գրելը և վեբ -տեսախցիկի կազմաձևումը

WebIoPi- ի տեղադրման հրահանգները, շրջանակի հիմունքները և բազմաթիվ օրինակներ հասանելի են ծրագրի էջում այստեղ ՝

Որպեսզի LeapMotion գործառույթները տեղադրված լինեն վեբ էջում, որոնք առաջացնում են Raspberry Pi- ի GPIO գործողությունները, մենք օգտագործել ենք մակրոներ, որոնց մանրամասները կարելի է գտնել այստեղ ՝

Ես նաև գրել եմ վերոնշյալ գործընթացի մասին սկսնակի որոշ նշումներ, որոնք կարող եք գտնել կից:

Վեբ տեսախցիկի տեղադրում և կազմաձևում

Մենք օգտագործում ենք MJPG-Streamer- ը, որպեսզի Raspberry Pi- ից տեսաֆիլմը նորից դիտարկիչին փոխանցենք Pi- ին միացված USB տեսախցիկի միջոցով: Խնդրում ենք հետևել այստեղ նշված տեղադրման և կառուցման հրահանգներին ՝ https://blog.miguelgrinberg.com/post/how-to-build-…, որպեսզի MJPG-Streamer- ը աշխատի Raspberry Pi- ի վրա:

Raspberry Pi- ի կազմաձևումը որպես AP/Hotspot

Raspberry Pi- ն որպես Hostpot տեղադրելու համար հետևեք այստեղ տրված հրահանգներին ՝ https://elinux.org/RPI-Wireless-Hotspot: Ես կազմաձևեցի Raspberry Pi- ի ստատիկ IP- ն ՝ 192.168.42.1, ինչը այն է, ինչ մենք ցանկանում էինք մուտքագրել բրաուզերում, երբ Pi- ն գործարկվի AP ռեժիմի մեջ:

WebIOPi, MJPG-Streamer և WiFi hotspot ծառայությունները կազմաձևված են, երբ ինքնաբերաբար գործարկվեն բեռնման ժամանակ, և դա թույլ է տալիս մեզ ուղղակիորեն բացել վեբ զննարկիչը և միանալ Robot- ին ՝ բեռնվելուց հետո: Ռեպո -ում առկա rc.local ֆայլը օգտագործվում է Webcam- ը բեռնման ժամանակ գործարկելու համար:

Քայլ 3: Կառուցեք/տեղադրեք հրահանգներ

Raspberry Pi- ի 4 GPIO, մասնավորապես GPIO 9, 11, 23 և 24 -ը միացված են L293D Motor Driver IC- ին, որը շարժիչները համապատասխանաբար վարում է Webiopi շրջանակի կողմից սպասարկվող վեբ էջից մակրո խնդրանքներ ստանալուց հետո: USB WiFi հանգույցը և USB Logitech վեբ -տեսախցիկը միացված են Raspberry Pi- ում առկա 2 USB պորտերին: 5V 4000 Mah Power բանկը հիմնական էներգիան մատակարարում է Pi- ին: 4V 1.5A Lead Acid մարտկոցը օգտագործվում է շարժիչները վարելու համար:

Նշում. Քանի որ իմ կողմից օգտագործված սնուցման բանկի առավելագույն ելքային հոսանքը հազիվ 1000 Mah էր, ես ստիպված էի օգտագործել արտաքին կապարաթթվի մարտկոցը `շարժիչները վարելու համար: Եթե դուք ունեք էներգաբլոկ, որը տալիս է> = 2000Mah, կարող եք անմիջապես շարժիչներով շարժել շարժիչները 5V ռելսերից Pi- ով (ես դա խորհուրդ չեմ տա ուժասպառ շարժիչների համար)

Leրագրի LeapMotion Javascript API- ի, WebIOPi- ի և MJPG-Streamer- ի 3 հիմնական ենթաբաժինները և դրանց հիմնական աշխատանքը/կարգավորումը հակիրճ նկարագրված են ստորև:

Քայլ 4: Հասկանալով WebIOPi շրջանակը

Frննարկչի վրա ցուցադրվող առջևը գրված է HTML- ով (Ֆայլի անուն ՝ index.html) և Javascript, մինչդեռ GPIO- ների շարժիչն ապահովող միջնորդագիրը գրված է Python- ում (Ֆայլի անուն ՝ script.py): WebIOPi շրջանակի հիման վրա սովորական WebApp ստեղծելու վերաբերյալ մանրամասն գրառումները կցվում են որպես նշումներ Bitbucket ռեպոյում:

Python սցենարում սահմանված մաքսային մակրոները կարող են գործարկվել HTML ֆայլից:

Օրինակ ՝ webiopi (). CallMacro («գնալ_առաջ»); Սա սովորական զանգ է մակրո go_forward- ին, որը սահմանվում է Python սցենարով և կարգավորում է երկու շարժիչներն առաջ շարժելու գործընթացը:

Տեղեկատուի հիերարխիան, որտեղ պահվում են ֆայլերը Pi- ում, ցուցադրված է կցված պատկերում:

Robot թղթապանակը պարունակում է հետևյալ ենթապանակները.

  • html: պարունակող index.html
  • python: պարունակում է script.py
  • mjpg-streamer-r63. պարունակում է կառուցման ֆայլեր և գործարկելի է ՝ տեսախցիկը գործարկելու համար

MJPG-Streamer. USB Տեսախցիկից ուղիղ տեսահոսքը լռելյայն աշխատում է Pi- ի 8080 պորտով: Հոսքը ձեռքով դիտելու համար վեբ տեսախցիկը միացնելուց հետո դիտարկիչում նավարկեք դեպի RASPBERRYPI_IP: 8080:

LeapMotion կոդ:

LeapMotion SDK- ում ներկայացված օրինակներից ծածկագրի հատվածները ներդրված էին index.html ֆայլում: LeapMotion- ի leap.js ֆայլը պետք է ավելացվի Raspberry Pi- ի նախագծի գրացուցակի html թղթապանակում:

LeapMotion- ի ուղարկած palmPosition պարամետրը օգտագործվում է որոշելու, թե որ մակրո է գործարկելու Raspberry Pi- ի վրա:

Քայլ 5: Նախագծի վարում

Պարզապես միացրեք Raspberry Pi- ն և սպասեք մոտ մեկ րոպե: Դուք կտեսնեք, որ հայտնվում է նոր թեժ կետ RaspberryPi- ն: Միացեք այս թեժ կետին և բացեք այս ստատիկ IP հասցեն դիտարկիչում ՝ 192.168.42.1:8000: 8000 -ը WebIOPi- ի կանխադրված նավահանգիստն է:

Raspberry Pi- ն կարող է նաև կազմաձևվել ՝ տեղական WiFi ցանցին միանալու համար ՝ որպես clien ՝ փոխարենը թեժ կետ ցուցադրվելու փոխարեն: Այնուհետև պետք է որոշեք երթուղիչի կողմից Raspberry Pi- ին տրված դինամիկ IP- ն, այնուհետև այն հարվածեք դիտարկիչում ՝ բոտով խաղալու համար:

Եթե օգնության կարիք ունեք կամ որևէ հարց ունեք նախագծի վերաբերյալ, կարող եք թողնել մեկնաբանություն: Շնորհավոր թռիչք:

Ամբողջ աղբյուրի կոդերը կցված են: Եթե օգնության կարիք ունեք նախագծի որևէ մասում, կարող եք թողնել մեկնաբանություն: Happy Leaping:

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