Мазмуну:

EyeRobot - робот ак камыш: 10 кадам (сүрөттөр менен)
EyeRobot - робот ак камыш: 10 кадам (сүрөттөр менен)

Video: EyeRobot - робот ак камыш: 10 кадам (сүрөттөр менен)

Video: EyeRobot - робот ак камыш: 10 кадам (сүрөттөр менен)
Video: Unboxing Eilik 🌟 A robot desk companion! 🤭💖 10eegaming #shorts #robot #desk #study #tech #kawaii 2024, Ноябрь
Anonim
EyeRobot - робот ак камыш
EyeRobot - робот ак камыш

Кыскача маалымат: iRobot Roomba Createти колдонуп, eyeRobot аттуу түзмөктүн прототибин түздүм. Бул сокур жана көрүүсү начар колдонуучуларды башаламан жана калктуу чөйрө аркылуу жетектеп, Roomba-ны базалык катары колдонуп, салттуу ак камыштын жөнөкөйлүгүнө көзү жеткен иттин инстинкттери менен үйлөнөт. Колдонуучу туткасын интуитивдүү түртүү жана буроо аркылуу каалаган кыймылын көрсөтөт. Робот бул маалыматты алат жана колдонуучуну статикалык жана динамикалык тоскоолдуктардын тегерегине ылайыктуу багыттоо үчүн сонарды колдонуп, коридордо же бөлмөдө ачык жолду табат. Колдонуучу роботтун артында жүрөт, анткени ал туткасынан сезилген байкаларлык күч менен колдонуучуну каалаган багытка багыттайт. Бул роботтук вариант анча -мынча даярдыкты талап кылат: басуу үчүн басуу, токтотуу үчүн тартуу, буруу үчүн буруу. Дистанционерлердин алдын ала көрө билүүсү көзү итке окшош жана ак таяктын колдонулушун көрсөткөн туруктуу сыноолорго жана каталарга караганда бир топ артыкчылык. Ошентсе да eyeRobot дагы эле $ 5 000 үчүн баасы 12 000 доллардан ашкан гид иттерине караганда алда канча арзан альтернативаны сунуштайт, ал эми прототипи 400 доллардан жакшы курулган. Бул ошондой эле салыштырмалуу жөнөкөй машина, бир нече арзан сенсорлорду, ар кандай потенциометрлерди, кээ бир жабдыктарды жана, албетте, Roomba Createти талап кылат.

1 -кадам: Видео демонстрация

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

Жогорку сапаттагы версия

2 -кадам: Операцияга жалпы сереп

Operation Overview
Operation Overview

Колдонуучуну көзөмөлдөө: eyeRobotтун иштеши тренингди абдан азайтуу же жок кылуу үчүн мүмкүн болушунча интуитивдүү болуп иштелип чыккан. Кыймылды баштоо үчүн, колдонуучу жөн гана алдыга карай башташы керек, таяктын түбүндөгү сызыктуу сенсор бул кыймылды алып, роботту алдыга жылдыра баштайт. Бул сызыктуу сенсордун жардамы менен робот колдонуучунун каалаган ылдамдыгына анын ылдамдыгын дал келтире алат. eyeRobot колдонуучу каалагандай тез кыймылдайт. Бурулуш каалаганын көрсөтүү үчүн, колдонуучу жөн гана туткасын бурушу керек, эгер мүмкүн болсо, робот ошого жараша жооп берет.

Робот Навигациясы: Ачык мейкиндикте саякаттап жүргөндө, eyeRobot түз жолду сактоого аракет кылат, колдонуучуга тоскоолдук кыла турган бардык тоскоолдуктарды аныктап, колдонуучуну ошол объектинин айланасында жана кайра баштапкы жолго багыттайт. Иш жүзүндө колдонуучу роботтун артынан аң -сезимдүү ойлонбостон ээрчип кете алат. Коридордо өтүү үчүн колдонуучу роботту эки жагындагы дубалдын бирине түртүп кирүүгө аракет кылышы керек, дубал алгандан кийин робот аны ээрчип баштайт. колдонуучу коридордо. Кесилишке жеткенде, колдонуучу роботтун бурула баштаганын сезет жана туткасын бурап, жаңы бутактан баш тартууну же түз жолдо улантууну тандай алат. Ошентип робот ак камышка абдан окшош, колдонуучу робот менен айлана -чөйрөнү сезе алат жана бул маалыматты глобалдык навигация үчүн колдоно алат.

3 -кадам: Range Sensors

Сенсорлор диапазону
Сенсорлор диапазону

Ultrasonics: eyeRobot 4 УЗИ диапазонун (MaxSonar EZ1) көтөрөт. УЗИ сенсорлору роботтун алдында жана капталындагы нерселер жөнүндө маалымат берүү үчүн роботтун алдыңкы жагында жайгашкан. Алар роботко объектинин диапазону жөнүндө маалымат беришет жана ал объектинин айланасында ачык жолду табууга жана баштапкы жолуна кайтууга жардам беришет.

IR диапазондору: eyeRobot ошондой эле эки IR сенсорун (GP2Y0A02YK) алып жүрөт. IR диапазону роботко дубалга жардам берүү үчүн оңго жана солго 90 градуска каратылган. Алар ошондой эле роботко колдонуучу кире ала турган капталдарына өтө жакын объекттерди эскерте алат.

4 -кадам: Камыштын жайгашуу сенсорлору

Камыштын жайгашуу сенсорлору
Камыштын жайгашуу сенсорлору

Сызыктуу сенсор: eyeRobotтун ылдамдыгы колдонуучунун ылдамдыгына дал келиши үчүн, eyeRobot колдонуучунун алдыга кыймылын түртүп же артка тартып жатканын сезет. Бул потенциометр таяктын ордун сезгендиктен, таяктын түбүн трек боюнча жылдыруу аркылуу жетишилет. EyeRobot бул маалыматты роботтун ылдамдыгын жөнгө салуу үчүн колдонот. Сызыктуу сенсор аркылуу колдонуучунун ылдамдыгына ылайыкташтырылган eyeRobot идеясы, чынында, таякчанын негизи темир жолдо бараткан жетектөөчү блокко туташкан. Колдонуучу блокко тиркелүүчү блоктун ордун окуган жана аны процессорго билдирүүчү слайд потенциометри тиркелет. Таяктын роботко салыштырмалуу айлануусуна мүмкүнчүлүк берүү үчүн, жыгачтын блогу аркылуу чуркап өтүүчү таякча бар. Бул подшипник таяктын колдонуучунун бийиктигине туураланышына мүмкүнчүлүк берүү үчүн топсого бекитилет.

Twist Sensor: Твист сенсор колдонуучуга роботту айлантуу үчүн туткасын бурууга мүмкүндүк берет. Бир жыгач валдын учуна потенциометр тиркелет жана туткасы туткасынын үстүңкү бөлүгүнө салынып жабыштырылат. Зымдар дюбельден ылдый түшөт жана процессорго бурулган маалыматты берет.

5 -кадам: Процессор

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

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

6 -кадам: Кодду карап чыгуу

Code Overview
Code Overview

Тоскоолдуктарды болтурбоо: Тоскоолдуктарды болтурбоо үчүн eyeRobot роботтун жанындагы объекттер виртуалдык күчтү роботко тийгизип, аны объекттен алыстатуучу ыкманы колдонот. Башкача айтканда, объекттер роботту өзүнөн алыстатат. Менин ишке ашырууда объект тарабынан жасалган виртуалдык күч квадрат аралыкка тескери пропорционалдуу, андыктан түртүүнүн күчү объект жакындаган сайын көбөйөт жана сызыктуу эмес жооп ийри сызыгын түзөт: PushForce = ResponseMagnitudeConstant/Distance2Ар бир сенсордон келген түртүүлөр бирге кошулат; сол жактагы сенсорлор роботтун саякатына вектор алуу үчүн оңго жана тескерисинче түртүшөт. Андан кийин дөңгөлөктүн ылдамдыгы өзгөрөт, андыктан робот бул векторго бурулат. Роботтун алдында өлгөн нерселердин "эч кандай жооп" бербешин камсыз кылуу үчүн (анткени эки тараптын күчтөрү тең салмакташат), өлүк фронттогу объекттер роботту ачык тарапка түртөт. Робот объектиден өтүп кеткенде, ал өзгөрүүнү оңдоо жана баштапкы векторго кайтуу үчүн Roomba коддогучтарын колдонот.

Дубалды ээрчүү: Дубалды ээрчүү принциби дубалга каалаган аралыкты жана параллель бурчту сактоо. Робот дубалга салыштырмалуу бурулганда көйгөйлөр пайда болот, анткени бир сенсор жараксыз диапазонду көрсөтөт. Диапазондогу көрсөткүчтөр роботтордун дубалга болгон бурчунун таасири менен дубалга болгон чыныгы алыстыктын таасири астында болот. Бурчту аныктоо жана бул өзгөрмөнү жок кылуу үчүн роботтун роботтордун бурчун алуу үчүн салыштырууга боло турган эки таяныч пункту болушу керек. EyeRobotтун бир гана жагы ИК диапазонуна карагандыктан, бул эки чекитке жетүү үчүн, робот жылып баратканда, аралыкты издөөчүдөн аралыкты убакыттын өтүшү менен салыштыруусу керек. Андан кийин робот дубалдын боюнда жылып баратканда эки көрсөткүчтүн айырмасынан анын бурчун аныктайт. Андан кийин бул маалыматты туура эмес жайгашууну оңдоо үчүн колдонот. Робот белгилүү бир убакыт бою жанында дубал болгондо дубалды ээрчүү режимине өтөт жана анын жолунда тоскоолдук болгондо, же анын колдонуучу бурулуш туткасын колдонсо, андан чыгып кетет. робот дубалдан алыс.

7 -кадам: Бөлүктөрдүн тизмеси

Бөлүктөр тизмеси
Бөлүктөр тизмеси

Зарыл болгон бөлүктөр: 1x) Roomba create1x) акрил2x чоң баракчасы) Sharp GP2Y0A02YK IR диапазону4х) Maxsonar EZ1 ультрадыбыштуу диапазондор1x) ZX-24a микропроцессору1x) Robodyssey Advanced Motherboard II1x) Слайд потенциометр1x) 1 кабаттуу) 1 кабаттуу Топсолор, дубалдар, бурамалар, гайкалар, кронштейндер жана зымдар

8 -кадам: Мотивация жана өркүндөтүү

Мотивация жана өркүндөтүү
Мотивация жана өркүндөтүү

Мотивация: Бул робот жөндөмдүү, бирок кымбат жетекчи ит менен арзан, бирок чектелген ак камыштын ортосундагы ачык боштукту толтуруу үчүн иштелип чыккан. Рыноктук жана жөндөмдүү робот ак камыштын өнүгүшүндө, Roomba Create түшүнүктүн иштешин билүү үчүн тез прототипти иштеп чыгуу үчүн идеалдуу унаа болгон. Мындан тышкары, сыйлыктар кыйла жөндөмдүү роботту жасоого бир топ чыгымдарга экономикалык колдоо көрсөтмөк.

Өркүндөтүү: Бул роботту курууну үйрөнгөнүмдүн суммасы абдан чоң болду жана бул жерде мен экинчи муундагы роботту түзүүгө аракет кылып жатып үйрөнгөн нерселеримди айтууга аракет кылам: 1) Тоскоолдуктарды болтурбоо - Мен реалдуу убакытта болгон тоскоолдуктар жөнүндө көп нерсени үйрөндүм качуу. Бул роботту куруу процессинде мен тоскоолдуктардан качуунун эки башка кодун баштан өткөрдүм, баштапкы объект күчүнүн идеясынан баштап, эң ачык векторду табуу жана издөө принцибине өтүү менен, андан кийин объект күч идеясына кайттым. негизги жооп объект жоопсуз болушу керек экенин түшүнүү. Келечекте мен өзүмдүн долбоорума киришүүдөн мурун мурда колдонулган методдор боюнча эч кандай онлайн изилдөөлөрдү жүргүзбөгөн катамды оңдойм, анткени мен азыр тез Google издөөнү үйрөнүп жатканымда бул темада көптөгөн чоң эмгектер пайда болмок. сенсорлор - Бул долбоорду баштагандан кийин мен сызыктуу сенсордун жалгыз варианты слайд идишти жана кандайдыр бир сызыктуу подшипникти колдонуу деп ойлодум. Мен азыр түшүнүп турам, таякчанын үстүн джойстикке жабыштыруу алда канча жөнөкөй вариант болмок, таякты алдыга сүрүү да джойстикти алдыга түртөт. Мындан тышкары, жөнөкөй универсалдуу бириктиргич таяктын бурулушун көптөгөн заманбап джойстиктердин бурулуш огуна которууга мүмкүндүк берет. Бул ишке ашыруу мен колдонгондон бир топ жөнөкөй болмок. 3) Акысыз айлануу дөңгөлөктөрү - Бул Roomba менен мүмкүн эмес болсо да, азыр ачык айлануу дөңгөлөгү бар робот бул иш үчүн идеалдуу болору айкын көрүнүп турат. Пассивдүү айлануучу роботтун кыймылдаткычы жана кичинекей батареясы талап кылынбайт, ошондуктан жеңил болот. Мындан тышкары, бул система колдонуучулардын түртүүсүн аныктоо үчүн сызыктуу сенсорго муктаж эмес, робот жөн гана колдонуучулардын ылдамдыгында жылат. Роботту дөңгөлөктөрдү машина сыяктуу башкарып бурса болот, эгер колдонуучуну токтотуу керек болсо, тормозду кошууга болот. Келечек муундун eyeRobot үчүн мен такыр башка ыкманы колдоном. ар кандай таяныч пункттарына жетүү үчүн. 5) Дагы сенсорлор - бул көп акча талап кылса да, дүйнөнүн терезелери аз болгон бул роботту процессордун сыртында коддоо кыйын болчу. Бул навигациялык кодду толук кандуу sonar массиви менен алда канча күчтүү кылмак (бирок, албетте, сенсорлор мен үчүн ал кезде жок болчу).

9 -кадам: Жыйынтык

Жыйынтык
Жыйынтык

Жыйынтык: iRobot робот ак камыштын концепциясы менен тажрыйба жүргүзүү үчүн идеалдуу прототиптештирүү платформасын далилдеди. Бул прототиптин жыйынтыгынан көрүнүп тургандай, бул типтеги робот жашоого жөндөмдүү. Мен Roomba Createти колдонуудан алган сабактарымдан экинчи муундагы роботту өнүктүрөм деп үмүттөнөм. Келечектеги eyRobot версияларында мен коридордо адамды жетектөө менен чектелбестен, күнүмдүк жашоодо колдонуу үчүн сокурлардын колуна бериле турган роботту элестетем. Бул робот менен, колдонуучу жөн гана бара турган жерин сүйлөйт жана робот колдонуучунун аң -сезимдүү аракети жок, аларды ошол жерге жетектейт. Бул робот тепкичке оңой көтөрүлүп, шкафка тыгылып турганчалык жеңил жана компакттуу болмок. Бул робот жергиликтүү колдонуучулардан тышкары глобалдык навигацияны жасай алат жана колдонуучуну башынан баштап көздөгөн жерине чейин колдонуучуларды алдын ала билими же тажрыйбасы жок жетектей алат. Бул жөндөм жол көрсөтүүчү иттен да ашып түшөт, GPS жана өркүндөтүлгөн сенсорлор сокурларга дүйнөнү эркин сүзүүгө мүмкүндүк берет, Натаниэль Баршай, (Стивен Баршай тарабынан киргизилген) (Roomba түзүү үчүн Джек Хитке өзгөчө ыраазычылык)

10 -кадам: Курулуш жана код

Курулуш жана код
Курулуш жана код

Курулуш боюнча бир нече ашыкча сөздөр: акрилден жасалган палуба электроникага кирүүгө мүмкүнчүлүк берүү үчүн артында тешиги бар тегерекчеге кесилип, андан кийин жүк булуңунун жанындагы орнотуу тешиктерине сайылат. Прототип тактасы булуңдун түбүндөгү бурама тешикке сайылган. Zbasic палубага окшош бурамалары бар L кашаа менен орнотулган. Ар бир сонар акрилдин бир бөлүгүнө буралат, ал өз кезегинде палубага бекитилген L кашаага бекитилет (L кашаа жакшыраак көрүү үчүн 10 градуска артка бүгүлгөн). Сызыктуу сенсордун треги палубага кыпчылып, слайд казаны анын жанында L кашаа менен орнотулган. Сызыктуу сенсордун жана башкаруу таякчасынын курулушунун техникалык мүнөздөмөсүн 4 -кадамда тапса болот.

Код: Мен роботтор кодунун толук версиясын тиркеп койдум. Бир сааттын ичинде мен аны файлдагы үч же төрт муундагы коддон тазалоого аракет кылдым, азыр аны ээрчүү оңой болушу керек. Эгерде сизде ZBasic IDE болсо, анда аны көрүү оңой болушу керек, эгерде блокнотту main.bas менен баштап, башка.bas файлдары аркылуу өтпөсө.

Сунушталууда: