Мазмұны:

EyeRobot - робот ақ таяқ: 10 қадам (суреттермен)
EyeRobot - робот ақ таяқ: 10 қадам (суреттермен)

Бейне: EyeRobot - робот ақ таяқ: 10 қадам (суреттермен)

Бейне: EyeRobot - робот ақ таяқ: 10 қадам (суреттермен)
Бейне: АК47- Я робот 2024, Қараша
Anonim
EyeRobot - робот ақ таяқ
EyeRobot - робот ақ таяқ

Аннотация: iRobot Roomba Create көмегімен мен eyeRobot деп аталатын құрылғының прототипін жасадым. Ол соқыр және нашар көретін пайдаланушыларға қарапайым ақ таяқтың қарапайымдылығымен көзге көрінетін иттің инстинктімен үйлену үшін Roomba-ны негіз ретінде пайдаланып, бос және қоныстанған орта арқылы бағыттайды. Қолданушы интуитивті түрде тұтқаны итеру және бұру арқылы өзінің қалаған қозғалысын көрсетеді. Робот бұл ақпаратты қабылдайды және пайдаланушыны статикалық және динамикалық кедергілерге қолайлы бағытта бағыттау үшін сонарды қолдана отырып, кіреберісте немесе бөлмеде ашық жолды табады. Содан кейін пайдаланушы роботтың артында жүреді, себебі ол тұтқадан сезілетін күшті күшпен пайдаланушыны қажетті бағытқа бағыттайды. Бұл роботтық нұсқа аз дайындықты қажет етеді: баруға итеру, тоқтату үшін тарту, бұру үшін бұру. Қашықтықты анықтаушылар көзбен көретін итке ұқсайды және бұл ақ таяқтың қолданылуын білдіретін тұрақты сынақтар мен қателіктерден айтарлықтай артықшылығы. Дегенмен, eyeRobot бағалаушы иттерге қарағанда әлдеқайда арзан балама ұсынады, бағасы 12 000 доллардан асады және 5 жылға ғана пайдалы, ал прототипі 400 доллардан төмен бағамен салынған. Бұл сонымен қатар бірнеше арзан датчиктерді, әр түрлі потенциометрлерді, кейбір аппараттық құралдарды және, әрине, Roomba Create талап ететін салыстырмалы түрде қарапайым машина.

1 -қадам: Бейне демонстрация

Бейне демонстрация
Бейне демонстрация

Жоғары сапалы нұсқа

2 -қадам: операцияға шолу

Операцияға шолу
Операцияға шолу

Пайдаланушыларды басқару: eyeRobot -тың жұмысы жаттығуларды айтарлықтай азайту немесе жою үшін мүмкіндігінше интуитивті етіп жасалған. Қозғалысты бастау үшін пайдаланушы тек алға қарай жүре бастайды, таяқтың түбіндегі сызықтық сенсор бұл қозғалысты алады және роботты алға қарай жылжыта бастайды. Осы реттік сенсорды қолдана отырып, робот өзінің жылдамдығын пайдаланушының қалаған жылдамдығына сәйкес келтіре алады. eyeRobot қолданушы қалағандай жылдам қозғалады. Бұрылу қажет екенін көрсету үшін пайдаланушы тұтқаны бұрап қоюы керек, ал егер бұрылу мүмкін болса, робот соған сәйкес жауап береді.

Роботтық навигация: Ашық кеңістікте саяхаттағанда, eyeRobot қолданушыға кедергі келтіруі мүмкін кез келген кедергіні анықтай отырып, түзу жолды сақтауға тырысады және пайдаланушыға сол объектінің айналасында және бастапқы жолға қайта бағыттайды. Іс жүзінде пайдаланушы роботтың артынан аздап ойланбастан жүре алады. Дәлізде жүру үшін қолданушы роботты екі жағындағы қабырғалардың біріне итеруге тырысуы керек, қабырғаға қол жеткізгеннен кейін робот оның артынан жүре бастайды. пайдаланушы дәлізде. Жол қиылысына жеткенде, пайдаланушы роботтың айнала бастағанын сезеді және тұтқаны бұрап, жаңа бұрылысты төмендетуді немесе тура жолмен жүруді таңдай алады. Осылайша робот ақ таяққа ұқсайды, пайдаланушы қоршаған ортаны роботпен сезінеді және бұл ақпаратты жаһандық навигация үшін қолдана алады.

3 -қадам: диапазон сенсорлары

Қашықтық сенсорлары
Қашықтық сенсорлары

Ультрадыбыстық: eyeRobot 4 ультрадыбыстық диапазоны бар (MaxSonar EZ1). Ультрадыбыстық датчиктер роботтың алдындағы және бүйіріндегі заттар туралы ақпарат беру үшін роботтың алдыңғы жағындағы доғада орналасқан. Олар роботқа объектінің диапазоны туралы хабарлайды және оған сол объектінің айналасында ашық жолды табуға және бастапқы жолына оралуға көмектеседі.

IR диапазондары: eyeRobot сонымен қатар екі IR сенсорына ие (GP2Y0A02YK). ИҚ диапазондары роботқа қабырғаға көмектесу үшін оңға және солға 90 градусқа қаратып орналастырылған. Олар сондай -ақ роботқа пайдаланушы кіре алатын жағына тым жақын орналасқан объектілер туралы ескертеді.

4 -қадам: таяқтың орналасу сенсорлары

Таяқтың орналасу сенсорлары
Таяқтың орналасу сенсорлары

Сызықтық сенсор: eyeRobot өзінің жылдамдығымен пайдаланушының жылдамдығына сәйкес келуі үшін, eyeRobot пайдаланушының алға қарай қозғалысын итеріп немесе тежеп тұрғанын сезеді. Бұған таяқтың негізін жол бойымен сырғыту арқылы қол жеткізіледі, себебі потенциометр таяқтың орнын сезеді. EyeRobot бұл кірісті роботтың жылдамдығын реттеу үшін қолданады. Сызықтық сенсор арқылы пайдаланушының жылдамдығына бейімделетін eyeRobot идеясы шөп шабатын шаңсорғыштан алынған. Бағыттаушы блокқа бағыттаушы блоктың орнын оқитын және оны процессорға беретін слайд потенциометрі бекітілген. Таяқтың роботқа қатысты айналуына мүмкіндік беру үшін айналмалы подшипникті құрайтын ағаштан өтіп бара жатқан таяқша бар. Содан кейін бұл мойынтірек ілгекке бекітіледі, бұл таяқшаны пайдаланушының биіктігіне қарай реттеуге мүмкіндік береді.

Бұрылу сенсоры: бұрылыс сенсоры пайдаланушыға роботты бұру үшін тұтқаны бұрауға мүмкіндік береді. Бір ағаш біліктің ұшына потенциометр бекітіледі, ал тұтқа тұтқаның жоғарғы бөлігіне салынып, желімделеді. Сымдар дюбельден өтеді және бұрылыс туралы ақпаратты процессорға береді.

5 -қадам: процессор

Процессор
Процессор

Процессор: Роботты Zbasic ZX-24a басқарады, ол Robodyssey Advanced II платасында отырады. Процессор өзінің жылдамдығына, пайдаланудың қарапайымдылығына, қолжетімді бағасына және 8 аналогтық кірісіне байланысты таңдалды. Ол тез және оңай өзгертуге мүмкіндік беретін үлкен прототиптелген тақтаға қосылған. Роботтың барлық қуаты аналық платадағы қуат көзінен келеді. Zbasic бөлмедегі жүк порты арқылы байланыс жасайды және Roomba датчиктері мен қозғалтқыштарын толық басқарады.

6 -қадам: кодқа шолу

Кодқа шолу
Кодқа шолу

Кедергілерден аулақ болу: кедергілерден аулақ болу үшін eyeRobot роботқа жақын объектілер виртуалды күшпен оны объектіден алыстататын әдісті қолданады. Басқаша айтқанда, заттар роботты өзінен алыстатады. Мен жүзеге асырған кезде, объектінің виртуалды күші қашықтықтың квадратына кері пропорционалды, сондықтан объект жақындаған сайын сызықтық емес жауап қисығын құрған сайын итеру күші артады: PushForce = ResponseMagnitudeConstant/Distance2Әр сенсордан келетін итерулер қосылады; сол жақтағы датчиктер оңға, ал керісінше роботтың жүру векторын алу үшін итереді. Дөңгелектердің жылдамдығы өзгереді, сондықтан робот осы векторға қарай бұрылады. Роботтың алдында өлі объектілердің «жауапсыз» болмауын қамтамасыз ету үшін (өйткені екі жақтағы күштер тепе -теңдікте), өлі фронтқа бағытталған объектілер роботты ашық жаққа қарай итереді. Робот объектіден өткеннен кейін ол өзгерісті түзету және бастапқы векторға оралу үшін Roomba кодерлерін қолданады.

Қабырғаға іліну: Қабырғаға іліну принципі - қабырғаға қажетті қашықтық пен параллель бұрышты сақтау. Проблемалар роботты қабырғаға қаратқанда пайда болады, себебі бір сенсор пайдасыз диапазон көрсеткіштерін береді. Диапазондағы көрсеткіштер роботтардың қабырғаға бұрышы мен қабырғаға дейінгі нақты қашықтыққа әсер етеді. Бұрышты анықтау және осы айнымалы мәнді жою үшін роботтың екі нүктесі болуы керек, оны роботтардың бұрышын алу үшін салыстыруға болады. EyeRobot -тың тек бір жағы ИҚ диапазонына қарайтындықтан, бұл екі нүктеге жету үшін робот қозғалғанда уақыт аралығын анықтаушыдан қашықтықты салыстыруы қажет. Содан кейін ол робот қабырға бойымен қозғалған кезде екі көрсеткіштің айырмашылығынан оның бұрышын анықтайды. Содан кейін ол дұрыс емес орналасуды түзету үшін осы ақпаратты пайдаланады. Робот белгілі бір уақыт бойы қабырғасы болған кезде қабырғаға іліну режиміне өтеді және оның жолында кедергі болған кезде, немесе оны пайдаланушы бұралу тұтқасын қолданған кезде, шығып кетеді. робот қабырғадан алыс.

7 -қадам: Бөлшектер тізімі

Бөлшектер тізімі
Бөлшектер тізімі

Қажетті бөлшектер: 1x) Roomba құру1x) Үлкен акрил парағы2) Sharp GP2Y0A02YK IR диапазонында4x) Maxsonar EZ1 ультрадыбыстық диапазонында1x) ZX-24a микропроцессоры 1x) Слайдтық потенциометрде 1х) Бір қабатты) бір қабатты линзада) Ілмектер, дюбельдер, бұрандалар, жаңғақтар, кронштейндер мен сымдар

8 -қадам: Мотивация және жетілдіру

Мотивация және жетілдіру
Мотивация және жетілдіру

Мотивация: Бұл робот қабілетті, бірақ қымбат бағыттаушы ит пен арзан, бірақ шектеулі ақ таяқ арасындағы айқын алшақтықты толтыруға арналған. Сатылатын және қабілетті роботты ақ таяқшаны әзірлеу кезінде Roomba Create тұжырымдаманың жұмыс істеп тұрғанын білу үшін жылдам прототипті құрастырудың тамаша құралы болды. Сонымен қатар, сыйлықтар қабілетті роботты құруға кететін шығынға экономикалық қолдау көрсетеді.

Жақсарту: Мен бұл роботты жасауды үйрендім, бұл өте маңызды болды, мен екінші ұрпақтың роботын жасауға тырысқанда, мен білгенімді айтуға тырысамын: 1) Кедергілерді болдырмау - мен нақты уақыттағы кедергілер туралы көп нәрсені білдім. аулақ болу. Бұл роботты құру барысында мен кедергілерден аулақ болудың екі түрлі кодынан өттім, бастапқы объектілік күш идеясынан бастап, содан кейін ең ашық векторды іздеу принципіне көштім, содан кейін объект күші идеясына қайта оралдым. Нысанға жауап сызықты емес болуы керек екенін түсіну. Болашақта мен өз жобама кіріспес бұрын бұрын қолданылған әдістерге ешқандай онлайн зерттеулер жүргізбегенімдегі қателігімді түзетемін, себебі мен қазір Google -де жылдам іздеуді үйреніп жатқандықтан, бұл тақырып бойынша көптеген керемет еңбектер пайда болар еді. сенсорлар - Бұл жобаны бастағаннан кейін мен сызықтық сенсордың жалғыз нұсқасы - сырғымалы қазандық пен қандай да бір сызықтық мойынтіректі пайдалану деп ойладым. Мен енді түсіндім, таяқшаның жоғарғы жағын джойстикке бекіту оңайырақ болар еді, сондықтан таяқшаны алға қарай итеру джойстикті алға қарай итереді. Сонымен қатар қарапайым әмбебап түйіспе таяқшаның бұрылысын көптеген заманауи джойстиктердің айналу осіне аударуға мүмкіндік береді. Бұл іске асыру қазіргі кездегіден әлдеқайда қарапайым болар еді. Пассивті түрде айналатын роботқа қозғалтқыш қажет емес және батареяның көлемі кішірек болады, сондықтан жеңіл болады. Сонымен қатар, бұл жүйеде пайдаланушылардың итеруін анықтау үшін сызықтық сенсор қажет емес, робот пайдаланушылардың жылдамдығымен айналады. Роботты дөңгелектерді автокөлік тәрізді басқару арқылы бұруға болады, ал егер пайдаланушыға тоқтату қажет болса, тежегішті қосуға болады. Келесі ұрпақ eyeRobot үшін мен әр түрлі әдісті қолданатын боламын. 4) Қабырғаларды қадағалауға арналған екі аралық сенсорлар - Бұрын талқыланғандай, қабырғаға тек бір жаққа қарайтын сенсормен жүру кезінде туындаған, сондықтан роботты оқулар арасында жылжыту қажет болды. түрлі сілтемелерге қол жеткізу. 5) Басқа сенсорлар - бұл көп ақша қажет болса да, процессордан тыс әлемде терезелері аз роботты кодтау қиын болды. Бұл навигациялық кодты толығырақ сонар массивімен әлдеқайда қуатты етер еді (бірақ, әрине, сенсорлар ақшаға тұрады, ол кезде менде болған жоқ).

9 -қадам: Қорытынды

Қорытынды
Қорытынды

Қорытынды: iRobot роботталған ақ таяқ тұжырымдамасымен тәжірибе жасау үшін тамаша прототиптік платформа болды. Осы прототиптің нәтижелерінен роботтың шынымен өміршең екендігі көрінеді. Мен Roomba Create -ті қолданудан алған сабақтарымнан екінші буын роботын дамытамын деп үміттенемін. EyeRobot -тың болашақ нұсқаларында мен адамды кіреберісте бағыттап қана қоймай, сонымен қатар зағиптардың қолына күнделікті өмірде қолдануға болатын роботты жасай алатын құрылғыны елестетемін. Бұл роботтың көмегімен пайдаланушы баратын жерін жай ғана айтады, ал робот пайдаланушының саналы күш -жігерінсіз оларды сол жерге бағыттайды. Бұл робот жеңіл және жинақы болады, баспалдақпен оңай көтеріліп, шкафқа тығылады. Бұл робот жергілікті қолданушылардан басқа жаһандық навигацияны жасай алады, бұл пайдаланушыны алдын ала білместен немесе тәжірибесіз қолданушының басынан тағайындалған жерге дейін басқара алады. Бұл мүмкіндік тіпті бағыттаушы иттен де асып түседі, GPS пен соқырларға әлемді еркін шарлауға мүмкіндік беретін жетілдірілген сенсорлар, Натаниэль Баршай, (Стивен Баршай енгізген) (Roomba Create үшін Джек Хитке ерекше алғыс)

10 -қадам: Құрылыс және кодекс

Құрылыс және кодекс
Құрылыс және кодекс

Құрылысқа қатысты бірнеше қосымша сөздер: акрилден жасалған палуба электроникаға кіруге мүмкіндік беретін артқы жағында саңылауы бар шеңберге кесілген, содан кейін жүк ұясының жанындағы бекіту тесіктеріне бұралған. Прототиптік тақта шығанағы түбіндегі бұрандалы тесікке бұралған. Zbasic палуба сияқты бұрандалары бар L кронштейнімен орнатылады. Әрбір сонар акрилдің бір бөлігіне бұралған, ол өз кезегінде палубаға бекітілген L кронштейніне бекітілген (L жақшалары жақсы көріну үшін 10 градусқа артқа қайырылған). Сызықтық сенсорға арналған жол палубаға тікелей бұралған және сырғытпа L жақшалармен бірге орнатылған. Сызықтық сенсор мен басқару штангасының құрылысының техникалық сипаттамасын 4 -қадамнан табуға болады.

Код: Мен роботтар кодының толық нұсқасын тіркедім. Бір сағат ішінде мен оны файлдағы үш немесе төрт буын кодынан тазартуға тырыстым, қазір оны орындау оңай болуы керек. Егер сізде ZBasic IDE болса, оны көру оңай болуы керек, егер блокнотты main.bas файлынан бастап, басқа.bas файлдары арқылы өтпесеңіз.

Ұсынылған: