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

EyeRobot - Robotic White Cane: 10 քայլ (նկարներով)
EyeRobot - Robotic White Cane: 10 քայլ (նկարներով)

Video: EyeRobot - Robotic White Cane: 10 քայլ (նկարներով)

Video: EyeRobot - Robotic White Cane: 10 քայլ (նկարներով)
Video: Smart Cane Gives the Blind Freedom to Explore 2024, Հուլիսի
Anonim
EyeRobot - ռոբոտային սպիտակ ձեռնափայտ
EyeRobot - ռոբոտային սպիտակ ձեռնափայտ

Վերացական. Օգտագործելով iRobot Roomba Create- ը, ես նախատիպ եմ դրել մի սարք, որը կոչվում է eyeRobot: Այն կուղղորդի կույր և թույլ տեսողություն ունեցող օգտվողներին խառնաշփոթ և բնակեցված միջավայրերում ՝ օգտագործելով Roomba- ն ՝ որպես հիմք ավանդական սպիտակ ձեռնափայտի պարզության հետ ամուսնացնելու համար ՝ տեսող շան բնազդով: Օգտագործողը ցույց է տալիս իր ցանկալի շարժումը `ինտուիտիվ կերպով սեղմելով և ոլորելով բռնակը: Ռոբոտը վերցնում է այս տեղեկատվությունը և պարզ ուղի գտնում միջանցքով կամ սենյակով մեկ ՝ օգտագործելով սոնարը ՝ օգտվողին հարմար ուղղությամբ տանելու ստատիկ և դինամիկ խոչընդոտների շուրջը: Այնուհետև օգտվողը հետևում է ռոբոտի հետևին, քանի որ այն ուղղորդում է օգտվողին ցանկալի ուղղությամբ ՝ բռնակով զգացող նկատելի ուժով: Այս ռոբոտային տարբերակը քիչ ուսուցում է պահանջում. Հրել գնալ, քաշել կանգառ, ոլորել շրջվել: Հեռատեսության որոնման տեսլականը նման է տեսող շան շանը և զգալի առավելություն է մշտական փորձության և սխալի նկատմամբ, որը նշում է սպիտակ ձեռնափայտի օգտագործումը: Այնուամենայնիվ, eyeRobot- ը դեռ շատ ավելի էժան այլընտրանք է տրամադրում, քան ուղեկցող շները, որոնք արժեն ավելի քան 12 000 դոլար և օգտակար են ընդամենը 5 տարի, մինչդեռ նախատիպը կառուցվել է 400 դոլարից ցածր գնով: Այն նաև համեմատաբար պարզ մեքենա է, որը պահանջում է մի քանի էժան տվիչներ, տարբեր պոտենցիոմետրեր, որոշ սարքավորումներ և, իհարկե, Roomba Create:

Քայլ 1: Տեսաֆիլմերի ցուցադրում

Видео Demույց
Видео Demույց

Բարձր որակի տարբերակ

Քայլ 2: Գործողության ակնարկ

Գործողության ակնարկ
Գործողության ակնարկ

Օգտվողի վերահսկում. EyeRobot- ի աշխատանքը նախատեսված է հնարավորինս ինտուիտիվ լինելու համար `ուսումը մեծապես նվազեցնելու կամ վերացնելու համար: Շարժում սկսելու համար օգտագործողը պարզապես պետք է սկսի քայլել առաջ, փայտիկի հիմքի գծային սենսորը կբարձրացնի այս շարժումը և կսկսի ռոբոտին առաջ շարժել: Օգտագործելով այս գծային տվիչը ՝ ռոբոտը կարող է այնուհետև համապատասխանեցնել իր արագությունը օգտվողի ցանկալի արագությանը: eyeRobot- ը կշարժվի այնքան արագ, որքան օգտվողը ցանկանում է գնալ: Indicateույց տալու համար, որ շրջադարձը ցանկալի է, օգտագործողը պարզապես պետք է ոլորել բռնակը, և եթե հնարավոր է շրջադարձ, ռոբոտը համապատասխանաբար կարձագանքի:

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

Քայլ 3: Շարժման սենսորներ

Շարժման սենսորներ
Շարժման սենսորներ

Ուլտրաձայնային. The eyeRobot- ը կրում է 4 ուլտրաձայնային հեռաչափաչափեր (MaxSonar EZ1): Ուլտրաձայնային սենսորները տեղադրված են ռոբոտի առջևի մասում գտնվող աղեղով `տեղեկատվություն տրամադրելու ռոբոտի առջևի և դրա կողքերի օբյեկտների մասին: Նրանք ռոբոտին տեղեկացնում են օբյեկտի միջակայքի մասին և օգնում նրան գտնել բաց ուղի այդ օբյեկտի շուրջը և վերադառնալ իր սկզբնական ուղու վրա:

IR Rangefinders: The eyeRobot- ը նաև կրում է երկու IR սենսոր (GP2Y0A02YK): IR հեռաչափի ցուցիչները տեղադրված են 90 աստիճան դեպի աջ և ձախ ՝ ռոբոտին պատին օգնող պատին օգնելու համար: Նրանք կարող են նաև զգուշացնել ռոբոտին իր կողքերից չափազանց մոտ գտնվող օբյեկտների մասին, որոնցից օգտվողը կարող է ներս մտնել:

Քայլ 4: Ձեռքի դիրքի տվիչներ

Ձողիկի դիրքի տվիչներ
Ձողիկի դիրքի տվիչներ

Գծային սենսոր. Որպեսզի eyeRobot- ը իր արագությունը համապատասխանի օգտագործողի արագությանը, eyeRobot- ը զգում է, արդյոք օգտվողը հրում կամ հետաձգում է իր առաջ շարժումը: Դա ձեռք է բերվում ձեռնափայտի հիմքը սահեցնելով ուղու երկայնքով, քանի որ պոտենցիոմետրը զգում է ձեռնափայտի դիրքը: EyeRobot- ն օգտագործում է այս մուտքը ՝ ռոբոտի արագությունը կարգավորելու համար: EyeRobot- ի գաղափարը, որը հարմարվում է օգտագործողի արագությանը գծային սենսորի միջոցով, իրականում ներշնչված էր ընտանեկան խոտհնձիչից: Ձողափայտի հիմքը կապված է երկաթուղու երկայնքով շարժվող ուղեցույցի հետ: Ուղղորդող բլոկին կցված է սլայդ պոտենցիոմետր, որը կարդում է ուղեցույցի դիրքը և հայտնում այդ մասին պրոցեսորին: Ռոբոտի համեմատ փայտը պտտվելու համար կա փայտ, որը անցնում է փայտի բլոկի միջով ՝ ձևավորելով պտտվող կրող: Այս կրողը այնուհետև կցվում է ծխնուն, որպեսզի փայտը հարմարվի օգտագործողի բարձրությանը:

Twist Sensor. Պտտման սենսորը թույլ է տալիս օգտվողին պտտել ռոբոտը պտտելու բռնակով: Պոտենցիոմետրը ամրացված է մեկ փայտե լիսեռի ծայրին, իսկ բռնակը տեղադրվում և սոսնձվում է բռնակի վերին հատվածում: Հաղորդալարերը հոսում են պտուտակով և պտտվող տեղեկատվությունը սնուցում պրոցեսորի մեջ:

Քայլ 5: Պրոցեսոր

Պրոցեսոր
Պրոցեսոր

Պրոցեսոր. Ռոբոտը կառավարվում է Zbasic ZX-24a- ի կողմից, որը նստած է Robodyssey Advanced Motherboard II- ի վրա: Պրոցեսորն ընտրվել է իր արագության, օգտագործման հարմարավետության, մատչելի արժեքի և 8 անալոգային մուտքերի համար: Այն միացված է նախատիպի մեծ տախտակի հետ `արագ և հեշտ փոփոխություններ թույլ տալու համար: Ռոբոտի ամբողջ էներգիան գալիս է մայր տախտակի սնուցման աղբյուրից: Zbasic- ը սենյակի հետ շփվում է բեռնատար նավահանգստի միջոցով և լիովին վերահսկում է Roomba- ի տվիչները և շարժիչները:

Քայլ 6: Կոդի ակնարկ

Կոդի ակնարկ
Կոդի ակնարկ

Խոչընդոտներից խուսափելը. Խոչընդոտներից խուսափելու համար eyeRobot- ն օգտագործում է մի մեթոդ, երբ ռոբոտի մոտ գտնվող առարկաները վիրտուալ ուժ են գործադրում ռոբոտի վրա ՝ այն հեռացնելով օբյեկտից: Այլ կերպ ասած, առարկաները ռոբոտին հեռացնում են իրենցից: Իմ իրականացման ընթացքում օբյեկտի գործադրած վիրտուալ ուժը հակադարձ համեմատական է հեռավորության քառակուսու հետ, ուստի հրման ուժը մեծանում է, երբ օբյեկտը մոտենում է և ստեղծում ոչ գծային արձագանքի կոր: PushForce = ResponseMagnitudeConstant/Distance2Յուրաքանչյուր սենսորից եկող հրումներն ավելացվում են միասին. ձախ կողմում գտնվող սենսորները մղում են աջ և հակառակը ՝ ռոբոտի ճանապարհորդության վեկտոր ստանալու համար: Անիվի արագությունը փոխվում է, որպեսզի ռոբոտը շրջվի դեպի այս վեկտորը: Ապահովելու համար, որ ռոբոտի դիմաց մահացած առարկաները չեն ցուցաբերում «ոչ մի արձագանք» (քանի որ երկու կողմերի ուժերը հավասարակշռվում են), մահացած առջևի առարկաները ռոբոտին մղում են ավելի բաց կողմ: Երբ ռոբոտը անցնում է օբյեկտն, այն օգտագործում է Roomba- ի կոդավորիչները `փոփոխությունը շտկելու և սկզբնական վեկտորին վերադառնալու համար:

Հետևյալ պատը. Պատին հետևելու սկզբունքն է պահպանել ցանկալի հեռավորությունը և զուգահեռ անկյունը պատին: Խնդիրներ են ծագում, երբ ռոբոտը շրջվում է պատի համեմատ, քանի որ մեկ սենսորը տալիս է անիմաստ միջակայքի ընթերցումներ: Շրջանի ընթերցումներն ազդում են այնքան, որքան ռոբոտների անկյունը պատին, որքան պատին փաստացի հեռավորությունը: Անկյունը որոշելու և այդ փոփոխականը վերացնելու համար ռոբոտը պետք է ունենա երկու հղման կետ, որոնք կարող են համեմատվել ՝ ռոբոտների անկյունը ստանալու համար: Քանի որ eyeRobot- ն ունի միայն մի կողմ, որը նայում է IR հեռաչափին, այս երկու կետերին հասնելու համար այն պետք է համեմատի հեռաչափի հեռավորությունը ժամանակի ընթացքում, երբ ռոբոտը շարժվում է: Այնուհետեւ այն որոշում է իր անկյունը երկու ընթերցումների տարբերությունից, երբ ռոբոտը շարժվում է պատի երկայնքով: Այնուհետև այն օգտագործում է այս տեղեկատվությունը ՝ սխալ դիրքը շտկելու համար: Ռոբոտը անցնում է պատի հետևյալ ռեժիմին, երբ դրա կողքին պատ է ունենում որոշ ժամանակ և դուրս է գալիս նրանից, երբ որևէ խոչընդոտ կա իր ճանապարհին, որը նրան դուրս է մղում ընթացքից, կամ եթե օգտագործողը պտույտի բռնակով է բերում ռոբոտը պատից հեռու:

Քայլ 7: Մասերի ցուցակ

Մասերի ցուցակ
Մասերի ցուցակ

Պահանջվող մասեր ՝ 1x) Roomba create1x) Ակրիլային 2x մեծ թերթ) Sharp GP2Y0A02YK IR rangefinder4x) Maxsonar EZ1 ուլտրաձայնային հեռահարաչափեր 1x) ZX-24a միկրոպրոցեսոր 1x) Robodyssey Advanced Motherboard II1x) Slide potentiometer1x) singleing) Hխնիներ, կախիչներ, պտուտակներ, ընկույզներ, փակագծեր և լարեր

Քայլ 8: Մոտիվացիա և կատարելագործում

Մոտիվացիա և կատարելագործում
Մոտիվացիա և կատարելագործում

Մոտիվացիա. Այս ռոբոտը նախատեսված էր լրացնելու ունակ, բայց թանկարժեք ուղեցույց շան և էժան, բայց սահմանափակ սպիտակ ձեռնափայտի ակնհայտ բացը: Շուկայական և ավելի ունակ Robotic White Cane- ի մշակման ընթացքում Roomba Creat- ը կատարյալ միջոց էր արագ նախատիպը նախագծելու համար `հասկանալու, թե արդյոք հայեցակարգը գործում է: Բացի այդ, մրցանակները տնտեսական աջակցություն կստանան ավելի ունակ ռոբոտ ստեղծելու զգալի ծախսերի համար:

Բարելավում. Այն գումարը, որը ես սովորեցի այս ռոբոտը կառուցելիս, էական էր, և այստեղ ես կփորձեմ ներկայացնել այն, ինչ ես սովորել եմ, երբ փորձում եմ երկրորդ սերնդի ռոբոտ կառուցել: 1) Խոչընդոտներից խուսափելը. Ես շատ բան եմ սովորել իրական ժամանակի խոչընդոտների մասին խուսափում. Այս ռոբոտը կառուցելու ընթացքում ես անցել եմ խոչընդոտներից խուսափելու երկու բոլորովին տարբեր կոդեր ՝ սկսած սկզբնական օբյեկտի ուժի գաղափարից, այնուհետև անցնելով ամենաբաց վեկտորը գտնելու և փնտրելու սկզբունքին, այնուհետև վերադառնալով օբյեկտի ուժի գաղափարին: հիմնական գիտակցումը, որ օբյեկտի պատասխանը պետք է լինի ոչ գծային: Հետագայում ես կուղղեմ նախկինում օգտագործված մեթոդների առցանց հետազոտություն չկատարելու իմ նախագիծը սկսելուց առաջ, քանի որ այժմ Google- ի արագ որոնումը սովորելն այդ թեմայով բազմաթիվ հիանալի հոդվածներ կտար: 2) փայտի ձևավորում սենսորներ - Սկսելով այս նախագիծը, ես մտածեցի, որ գծային սենսորի իմ միակ տարբերակը սահող կաթսայի և ինչ -որ գծային կրող օգտագործելն է: Այժմ ես գիտակցում եմ, որ շատ ավելի պարզ տարբերակ կլիներ պարզապես ձողի գագաթը ջոյսթիքին ամրացնելը, այնպես, որ փայտը առաջ մղելը նաև ջոյսթիկը առաջ մղեր: Բացի այդ, մի պարզ ունիվերսալ հանգույց թույլ կտա ձողի պտույտը թարգմանել բազմաթիվ ժամանակակից ջոյստիկների ոլորման առանցքի մեջ: Այս իրականացումը շատ ավելի պարզ կլիներ, քան այն, ինչ ես այժմ օգտագործում եմ: 3) Անվճար պտտվող անիվներ - Չնայած Roomba- ի դեպքում դա անհնար կլիներ, այժմ ակնհայտ է թվում, որ ազատ պտտվող անիվներով ռոբոտը իդեալական կլինի այս առաջադրանքի համար: Պասիվ գլորվող ռոբոտը չի պահանջում շարժիչներ և ավելի փոքր մարտկոց, ուստի ավելի թեթև կլինի: Բացի այդ, այս համակարգը չի պահանջում գծային սենսոր ՝ օգտագործողների մղումը հայտնաբերելու համար, ռոբոտը պարզապես գլորվում էր օգտվողների արագությամբ: Ռոբոտը կարող էր պտտվել ղեկի ղեկի պես մեքենայի պես, և եթե օգտագործողին անհրաժեշտ էր կանգնեցնել, կարելի էր արգելակներ ավելացնել: Հաջորդ սերնդի eyeRobot- ի համար ես, անշուշտ, կօգտագործեմ այս բոլորովին այլ մոտեցում: 4) Երկու հետևի սենսորներ պատերի հետևման համար. հասնել տարբեր հղումների: Երկու սենսոր, որոնց միջև հեռավորությունը մեծապես կպարզեցնի պատը: 5) Լրացուցիչ տվիչներ. Դա նավիգացիոն ծածկագիրը շատ ավելի հզոր կդարձներ ավելի ամբողջական սոնարային զանգվածով (բայց, իհարկե, սենսորներն արժեն գումար, որը ես այն ժամանակ չունեի):

Քայլ 9: Եզրակացություն

Եզրակացություն
Եզրակացություն

Եզրակացություն. IRobot- ը ապացուցեց իդեալական նախատիպային հարթակ ՝ փորձարկելու Ռոբոտական սպիտակ ձեռնափայտի հայեցակարգը: Այս նախատիպի արդյունքներից պարզ է դառնում, որ այս տեսակի ռոբոտը իսկապես կենսունակ է: Հուսով եմ, որ երկրորդ սերնդի ռոբոտը կզարգացնեմ այն դասերից, որոնք ես ստացել եմ Roomba Creat- ի օգտագործումից: EyeRobot- ի ապագա տարբերակներում ես պատկերացնում եմ մի սարք, որն ունակ է անել ավելին, քան պարզապես մարդուն միջանցքում ուղղորդելը, այլ ավելի շուտ ռոբոտ, որը կույրերի ձեռքում կարող է դրվել առօրյա կյանքում օգտագործելու համար: Այս ռոբոտի միջոցով օգտագործողը պարզապես կասեր իր նպատակակետը, և ռոբոտը կուղեկցի նրանց այնտեղ ՝ առանց օգտագործողի գիտակցված ջանքերի: Այս ռոբոտը բավական թեթև և կոմպակտ կլիներ, որպեսզի հեշտությամբ բարձրանար աստիճաններով և խցկվեր պահարանում: Այս ռոբոտը կկարողանա գլոբալ նավարկություն կատարել, բացի տեղականից, կարողանալով օգտվողին առաջնորդել սկզբից մինչև նպատակակետ ՝ առանց օգտագործողների նախնական գիտելիքների կամ փորձի: Այս ունակությունը կգերազանցեր նույնիսկ ուղեկցող շանը, GPS- ով և ավելի առաջադեմ սենսորներով, որոնք թույլ էին տալիս կույրերին ազատ նավարկել աշխարհը ՝ Նաթանիել Բարշայ, (մտել է Սթիվեն Բարշայը) (Հատուկ շնորհակալություն Hեք Հիթին Roomba Create- ի համար)

Քայլ 10. Շինարարություն և ծածկագիր

Շինարարություն և ծածկագիր
Շինարարություն և ծածկագիր

Մի քանի արտառոց խոսք շինարարության վերաբերյալ. Ակրիլային կտորից պատրաստված տախտակամածը կտրված է շրջանագծի մեջ, որի հետևի հատվածը բացվում է էլեկտրոնիկայի հասանելիության համար, այնուհետև պտուտակվում է բեռնախցիկի կողքին ամրացվող անցքերի մեջ: Նախատիպերի տախտակը պտուտակված է ծոցի ներքևի մասում գտնվող պտուտակային անցքի մեջ: Zbasic- ը տեղադրված է L փակագծով `նույն տիպի պտուտակներով: Յուրաքանչյուր սոնար պտուտակված է ակրիլային կտորի մեջ, որն իր հերթին ամրացվում է տախտակամածին ամրացված L փակագծին (L փակագծերը 10 աստիճանով թեքված են ավելի լավ տեսք ունենալու համար): Գծային տվիչի ուղին պտուտակված է անմիջապես տախտակամածի մեջ, իսկ սահիկ կաթսան տեղադրված է դրա կողքին գտնվող L փակագծերով: Գծային տվիչի և կառավարման գավազանի կառուցման ավելի տեխնիկական նկարագրությունը կարելի է գտնել 4 -րդ քայլում:

Կոդ. Ես կցել եմ ռոբոտների ծածկագրի ամբողջական տարբերակը: Մեկ ժամվա ընթացքում ես փորձել եմ այն մաքրել ֆայլում եղած կոդի երեք կամ չորս սերունդներից, այն այժմ պետք է բավական հեշտ լինի հետևել: Եթե ունեք ZBasic IDE- ն, ապա այն պետք է հեշտությամբ դիտվի, եթե ոչ ՝ օգտագործեք նոթատետր ՝ սկսած main.bas ֆայլից և անցնելով մյուս.bas ֆայլերով:

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