Mundarija:

EyeRobot - oq tayoq robotli: 10 qadam (rasmlar bilan)
EyeRobot - oq tayoq robotli: 10 qadam (rasmlar bilan)

Video: EyeRobot - oq tayoq robotli: 10 qadam (rasmlar bilan)

Video: EyeRobot - oq tayoq robotli: 10 qadam (rasmlar bilan)
Video: Сеня и сборник историй для детей про Игрушки и Русалку 2024, Noyabr
Anonim
EyeRobot - robotli oq tayoq
EyeRobot - robotli oq tayoq

Xulosa: iRobot Roomba Create yordamida men eyeRobot deb nomlangan qurilmaning prototipini yaratdim. Bu ko'r va ko'rish qobiliyati cheklangan foydalanuvchilarni notinch va gavjum muhitda boshqaradi, Roomba-ni tayanch sifatida an'anaviy oq tayoqning soddaligi bilan ko'ruvchi itning instinkti bilan uylantiradi. Foydalanuvchi tutqichni intuitiv ravishda bosib, burish orqali xohlagan harakatini bildiradi. Robot bu ma'lumotni oladi va foydalanuvchini statik va dinamik to'siqlar atrofida to'g'ri yo'nalishga yo'naltirish uchun sonar yordamida yo'lakdan yoki xonadan aniq yo'lni topadi. Keyin foydalanuvchi robotning orqasidan ergashadi, chunki u foydalanuvchini tutqich orqali seziladigan sezilarli kuch bilan kerakli tomonga yo'naltiradi. Bu robot varianti ozgina tayyorgarlikni talab qiladi: borishni surish, to'xtatish uchun tortish, burish uchun burish. Masofa o'lchagichlarning oldindan ko'ra bilishi ko'zni ko'radigan itga o'xshaydi va bu oq tayoqdan foydalanishni ko'rsatadigan doimiy sinov va xatolarga qaraganda ancha ustunlikdir. Shunday bo'lsa -da, eyeRobot yo'lboshchi itlarga qaraganda ancha arzon alternativa taklif qiladi, uning narxi 12 000 dollardan oshadi va atigi 5 yil davomida foydalidir, prototipi esa 400 dollardan past narxda qurilgan. Bu, shuningdek, nisbatan oddiy mashina bo'lib, unga bir nechta arzon datchiklar, har xil potentsiometrlar, ba'zi qo'shimcha qurilmalar va albatta Roomba Create kerak bo'ladi.

1 -qadam: video namoyish

Video namoyish
Video namoyish

Yuqori sifatli versiya

2 -qadam: Operatsiyaning umumiy ko'rinishi

Operatsiyaning umumiy ko'rinishi
Operatsiyaning umumiy ko'rinishi

Foydalanuvchilarni boshqarish: eyeRobotning ishlashi mashg'ulotlarni sezilarli darajada kamaytirish yoki yo'q qilish uchun imkon qadar intuitiv tarzda ishlab chiqilgan. Harakatni boshlash uchun foydalanuvchi oldinga yurishni boshlashi kerak, tayoq tagidagi chiziqli sensor bu harakatni oladi va robotni oldinga siljita boshlaydi. Bu chiziqli sensor yordamida robot o'z tezligini foydalanuvchining xohlagan tezligiga moslashtira oladi. eyeRobot foydalanuvchi xohlagancha tez harakat qiladi. Burilish zarurligini ko'rsatish uchun foydalanuvchi dastani burab qo'yishi kerak, agar burilish mumkin bo'lsa, robot ham shunga mos ravishda javob beradi.

Robotli navigatsiya: ochiq maydonda sayohat qilganda, eyeRobot to'g'ri yo'lni tutishga harakat qiladi, foydalanuvchiga to'sqinlik qiladigan har qanday to'siqni aniqlaydi va foydalanuvchini shu ob'ekt atrofida boshqaradi va orqaga qaytadi. Amalda, foydalanuvchi o'ylamasdan, robotning orqasidan ketishi mumkin. Yo'lak bo'ylab yurish uchun, foydalanuvchi robotni har ikki tarafdagi devorlardan biriga surishga harakat qilishi kerak, devorga ega bo'lgach, robot unga ergashishni boshlaydi. foydalanuvchi koridorda. Chorrahaga etib kelganida, foydalanuvchi robot burila boshlaganini sezadi va dastani burab, yangi novdani tushirish yoki to'g'ri yo'lda davom etishini tanlashi mumkin. Shunday qilib, robot oq tayoqqa juda o'xshaydi, foydalanuvchi robot bilan atrof -muhitni his qila oladi va bu ma'lumotni global navigatsiya uchun ishlatadi.

3 -qadam: masofali sensorlar

Sensorli diapazon
Sensorli diapazon

Ultrasonik: eyeRobot 4 ta ultratovushli diapazonni (MaxSonar EZ1) olib yuradi. Ultrasonik sensorlar robotning old va yon tomonidagi ob'ektlar haqida ma'lumot berish uchun robotning old qismidagi yoyga joylashtirilgan. Ular robotga ob'ektning diapazoni haqida ma'lumot berishadi va unga ob'ekt atrofida ochiq yo'lni topishga va asl yo'liga qaytishga yordam berishadi.

IR diapazonini aniqlovchilar: eyeRobot ikkita IQ sensori (GP2Y0A02YK) ni ham o'z ichiga oladi. IQ masofali o'lchagichlar robotni devorda ushlab turish uchun o'ngga va chapga 90 gradusga qaragan holda joylashtirilgan. Ular, shuningdek, robot kira oladigan joylarga juda yaqin bo'lgan ob'ektlar haqida ogohlantirishi mumkin.

4 -qadam: tayoqlarning joylashish sensori

Kamonlarning joylashish sensori
Kamonlarning joylashish sensori

Chiziqli sensor: eyeRobot tezligi foydalanuvchi tezligiga mos kelishi uchun, eyRobot foydalanuvchi oldinga siljishini surayotganini yoki kechiktirayotganini sezadi. Bunga tayoq tayog'ini yo'l bo'ylab siljitish orqali erishiladi, chunki potentiometr qamishning o'rnini sezadi. EyeRobot bu tezlikni robotning tezligini tartibga solish uchun ishlatadi. EyeRobot -ning chiziqli sensor yordamida foydalanuvchi tezligiga moslashishi g'oyasi, aslida, maysazorchi oilasidan ilhomlangan. Qo'llanma blokiga yo'riqnoma blokining holatini o'qib, protsessorga xabar beradigan potentiometr slayd biriktirilgan. Tayoqning robotga nisbatan aylanishiga ruxsat berish uchun yog'och blokdan o'tib, aylanadigan rulman hosil qiladi. Bu rulman, tayoqni foydalanuvchi balandligiga moslashtirish uchun, menteşeye ulanadi.

Burilish sensori: burilish sensori foydalanuvchiga robotni burish uchun dastani burish imkonini beradi. Bitta yog'och milning uchiga potentsiometr o'rnatilgan va dastani dastagining yuqori qismiga joylashtirilgan va yopishtirilgan. Simlar dübel bo'ylab harakatlanadi va burilish ma'lumotlarini protsessorga uzatadi.

5 -qadam: protsessor

Protsessor
Protsessor

Protsessor: Robotni Zbasic ZX-24a boshqaradi, u Robodyssey Advanced Motherboard II-da o'tiradi. Protsessor tezligi, foydalanish qulayligi, arzon narx va 8 ta analog kirish uchun tanlangan. U tez va oson o'zgarishlarni amalga oshirish uchun katta prototipli non paneliga ulangan. Robot uchun barcha quvvat anakartdagi quvvat manbaidan keladi. Zbasic yukxona porti orqali Roomba bilan aloqa o'rnatadi va Roomba datchiklari va motorlarini to'liq nazorat qiladi.

6 -qadam: Kodni ko'rib chiqish

Kodni ko'rib chiqish
Kodni ko'rib chiqish

To'siqlardan qochish: to'siqlardan qochish uchun eyeRobot robot yaqinidagi ob'ektlar robotni ob'ektdan uzoqlashtiradigan virtual kuch ishlatadigan usuldan foydalanadi. Boshqacha qilib aytganda, narsalar robotni o'zidan uzoqlashtiradi. Amalga oshirishda, ob'ekt tomonidan qo'llaniladigan virtual kuch masofa kvadratiga teskari proportsionaldir, shuning uchun ob'ekt yaqinlashganda va chiziqli bo'lmagan javob egri chizig'ini yaratganida surish kuchi ortadi: PushForce = ResponseMagnitudeConstant/Distance2Har bir sensordan keladigan itarish qo'shiladi; chap tarafdagi datchiklar robotning harakatlanish vektorini olish uchun o'ngga, aksincha. G'ildirak tezligi o'zgartiriladi, shuning uchun robot bu vektor tomon buriladi. Robot oldida o'lik jismlar "hech qanday javob" bermasligini ta'minlash uchun (chunki ikkala tomonning kuchlari muvozanatlashadi), o'lik jabhadagi narsalar robotni yanada ochiq tomonga suradi. Robot ob'ektni o'tkazib yuborganida, o'zgarishlarni to'g'rilash va asl vektorga qaytish uchun Roomba kodlagichlaridan foydalanadi.

Devorni ta'qib qilish: devorni ta'qib qilish printsipi - kerakli masofani va devorga parallel burchakni saqlash. Robotni devorga burish bilan bog'liq muammolar paydo bo'ladi, chunki bitta sensor foydasiz diapazon ko'rsatkichlarini beradi. O'lchov ko'rsatkichlari robotlarning devorga burchagi va devorga haqiqiy masofa ta'sirida bo'ladi. Burchakni aniqlash va shu o'zgaruvchini yo'q qilish uchun, robotning burchaklarini olish uchun solishtirish mumkin bo'lgan ikkita mos yozuvlar nuqtasi bo'lishi kerak. EyeRobot -ning faqat bir tomoni IQ masofali o'lchagichga qaraganligi sababli, bu ikki nuqtaga erishish uchun robot harakatlanayotganda vaqt oralig'ida masofani o'lchagichdan masofani solishtirish kerak. Keyin robot devor bo'ylab harakatlanayotganda uning burchagini ikki o'qish orasidagi farqdan aniqlaydi. Keyin bu ma'lumot noto'g'ri joylashishni to'g'rilash uchun ishlatiladi. Robot har doim yonida devor bo'lsa, devorni ta'qib qilish rejimiga o'tadi va uning yo'lida to'siq bo'lganida, yoki uni burish dastagidan foydalangan holda chiqib ketadi. robot devordan uzoqlashdi.

7 -qadam: qismlar ro'yxati

Qismlar ro'yxati
Qismlar ro'yxati

Kerakli qismlar: 1x) Roomba yaratish1x) Akril2x katta varaq) Sharp GP2Y0A02YK IQ diapazonli qidiruvchi4x) Maxsonar EZ1 ultratovushli masofali o'lchagichlar1x) ZX-24a mikroprotsessor1x) Robodyssey Kengaytirilgan anakart II1x) Slayd potensiometr1x) 1 dona) 1 dona) Menteşalar, dublonlar, vintlar, yong'oqlar, qavslar va simlar

8 -qadam: Motivatsiya va takomillashtirish

Motivatsiya va takomillashtirish
Motivatsiya va takomillashtirish

Motivatsiya: Bu robot qobiliyatli, lekin qimmat yo'lboshchi it va arzon, ammo cheklangan oq qamish orasidagi aniq bo'shliqni to'ldirish uchun yaratilgan. Bozorli va qobiliyatli oq tayoq robotini ishlab chiqishda, Roomba Create kontseptsiya ishlayaptimi yoki yo'qligini aniqlash uchun tezkor prototipni ishlab chiqish uchun mukammal vosita bo'ldi. Bundan tashqari, sovrinlar yanada qobiliyatli robotni yaratishga katta mablag 'sarflash uchun iqtisodiy yordam beradi.

Yaxshilash: Men bu robotni yaratishni o'rganganim juda katta edi va bu erda men ikkinchi avlod robotini yaratishga harakat qilib, o'rganganlarimni bayon qilishga harakat qilaman: 1) to'siqlardan qochish - men real vaqtda to'siq haqida ko'p narsalarni o'rgandim. qochish. Ushbu robotni yaratish jarayonida men ikkita mutlaqo boshqacha to'siqlarni chetlab o'tish kodlaridan o'tdim, asl ob'ekt g'oyasi g'oyasidan boshlab, keyin eng ochiq vektorni topish va izlash tamoyiliga o'tdim, keyin esa ob'ekt kuchi g'oyasiga qaytdim. Ob'ektning javobi chiziqli bo'lmasligi kerakligini tushunish. Kelgusida men o'z loyihamni boshlashdan oldin ilgari ishlatilgan usullar bo'yicha hech qanday onlayn tadqiqot o'tkazmagan xatoimni tuzataman, chunki men hozir Google -da tezkor qidiruvni o'rgansam, bu mavzu bo'yicha ko'plab ajoyib maqolalar paydo bo'lar edi. datchiklar - Ushbu loyihani boshlaganimda, chiziqli sensor uchun yagona variant - bu slaydni va qandaydir chiziqli rulmanni ishlatish. Endi men tushundimki, tayoqning yuqori qismini joystikka mahkamlash ancha sodda variant bo'lardi, shuning uchun tayoqni oldinga surish ham joystikni oldinga siljitadi. Bundan tashqari, oddiy universal bo'g'in tayoqning burilishini ko'plab zamonaviy joystiklarning burilish o'qiga tarjima qilishga imkon beradi. 3) Erkin aylanadigan g'ildiraklar - bu Roomba uchun imkonsiz bo'lar edi, lekin aylanayotgan g'ildirakli robot bu vazifani bajarish uchun ideal bo'lardi. Passiv aylanadigan robotga dvigatel va kichikroq batareya kerak bo'lmaydi, shuning uchun u engilroq bo'ladi. Bundan tashqari, bu tizim foydalanuvchilarning surishlarini aniqlash uchun chiziqli sensorni talab qilmaydi, robot foydalanuvchilar tezligida aylana oladi. Robotni g'ildiraklarni mashina kabi boshqarish orqali burish mumkin edi va agar foydalanuvchini to'xtatish zarur bo'lsa, tormozni qo'shish mumkin edi. Keyingi avlod eyeRobot uchun men, albatta, bu boshqacha yondashuvni ishlataman. 4) Devorni kuzatish uchun ikkita bo'sh joyli sensorlar - Yuqorida aytib o'tilganidek, devorni faqat bir tomonga qaragan sensor bilan kuzatib borishda muammolar paydo bo'lgan, shuning uchun robotni o'qishlar o'rtasida siljitish kerak edi. turli nuqtalarga erishish uchun. 5) Ko'proq sensorlar - bu protsessor tashqarisida dunyodagi oynalari juda kam bo'lgan robotni kodlash qiyin bo'lsa -da, ular orasidagi masofa ikkita devorni o'rnatishni osonlashtiradi. Bu navigatsiya kodini yanada to'liq sonar massivi bilan ancha kuchliroq qilgan bo'lardi (lekin, albatta, sensorlar pulga to'g'ri keladi, menda o'sha paytda bo'lmagan).

9 -qadam: Xulosa

Xulosa
Xulosa

Xulosa: iRobot robotli oq tayoq kontseptsiyasi bilan tajriba o'tkazish uchun ideal prototiplash platformasini isbotladi. Ushbu prototip natijalaridan ko'rinib turibdiki, bunday turdagi robot haqiqatan ham hayotiydir. Umid qilamanki, Roomba Create -dan foydalangan darslarimdan ikkinchi avlod robotini ishlab chiqaman. EyeRobotning kelajakdagi versiyalarida men odamni yo'lakka olib borishdan ko'ra ko'proq narsani qila oladigan qurilmani tasavvur qilaman, uni kundalik hayotda ishlatish uchun ko'rlar qo'liga topshirish mumkin. Bu robot yordamida foydalanuvchi o'z manzilini aytadi va robot foydalanuvchining ongli harakatisiz ularni u erga yo'naltiradi. Bu robot yengil va ixcham bo'lib, zinapoyadan osongina ko'tarilib, shkafga o'ralgan bo'lardi. Bu robot mahalliy navigatsiyadan tashqari global navigatsiyani ham amalga oshirishi mumkin edi, bu esa foydalanuvchini oldindan bilmasdan va tajribasiz boshidan oxirigacha yo'naltirishga qodir edi. Bu qobiliyat hatto yo'riqchi itdan ham yaxshiroq bo'lardi, GPS va ko'r -ko'rona dunyoni bemalol boshqarishga imkon beradigan ilg'or sensorlar bilan Nataniel Barshay, (Stiven Barshay tomonidan kiritilgan) (Roomba yaratish uchun Jek Xitga alohida rahmat)

10 -qadam: qurilish va kod

Qurilish va kod
Qurilish va kod

Qurilish haqida bir nechta keraksiz so'zlar: akril bo'lagidan yasalgan pastki qismi elektronikaga kirishga ruxsat berish uchun dumaloq shaklida kesilgan va keyin yuk joyining yonidagi teshiklarga vidalanadi. Prototip taxtasi ko'rfaz ostidagi vint teshigiga vidalanadi. Zbasic pastki qavatga o'xshash vintlardek L qavs bilan o'rnatiladi. Har bir sonar akril bo'lagiga vidalanadi, u o'z navbatida pastki qavatga biriktirilgan L qavsga ulanadi (L qavslar 10 daraja orqaga egilib, yaxshi ko'rinish beradi). Chiziqli sensorning izi to'g'ridan -to'g'ri pastki qismga vidalanadi va slaydni idishi L qavslari bilan o'rnatiladi. Chiziqli sensor va boshqaruv tayog'i konstruktsiyasining texnik tavsifini 4 -bosqichda topish mumkin.

Kod: Men robotlar kodining to'liq versiyasini biriktirdim. Bir soat ichida men uni fayldagi uch yoki to'rt avlod kodlaridan tozalashga harakat qildim, hozir kuzatilishi oson bo'lishi kerak. Agar sizda ZBasic IDE bo'lsa, uni ko'rish oson bo'lishi kerak, agar notepadni ishlatmasangiz main.bas faylidan boshlang va boshqa.bas fayllaridan o'ting.

Tavsiya: