Mundarija:

Biologik ilhomlangan robot ilon: 16 qadam (rasmlar bilan)
Biologik ilhomlangan robot ilon: 16 qadam (rasmlar bilan)

Video: Biologik ilhomlangan robot ilon: 16 qadam (rasmlar bilan)

Video: Biologik ilhomlangan robot ilon: 16 qadam (rasmlar bilan)
Video: Dunyodagi 18 ta eng sirli tarixiy tasodiflar 2024, Iyul
Anonim
Image
Image

Men daraxtga ko'tarilgan robot ilonlarning ham, robot ilonlarning ham tadqiqot videolarini ko'rib, bu loyihani boshlashga ilhom oldim. Bu mening birinchi urinishim va ilon lokomotiv yordamida robotlar yasash, lekin bu mening oxirgi urinishim bo'lmaydi! Agar siz kelajakdagi o'zgarishlarni ko'rishni istasangiz, YouTube -ga obuna bo'ling.

Quyida men 3 xil chop etish uchun fayllar bilan birga 2 xil ilonning tuzilishini va ilonga o'xshash harakatga erishish uchun kod va algoritmlarni muhokama qilaman. Agar siz ko'proq o'rganishni davom ettirmoqchi bo'lsangiz, ushbu ko'rsatmalarni o'qib bo'lgach, sahifaning pastki qismidagi havolalar bo'limidagi havolalarni o'qishni tavsiya qilaman.

Bu ko'rsatma texnik jihatdan 2-in-1, men robot ilonning 2 xil versiyasini yasashni tushuntiraman. Agar siz faqat ilonlardan birini qurmoqchi bo'lsangiz, boshqa ilon uchun ko'rsatmalarni e'tiborsiz qoldiring. Bu 2 xil ilon shu yerdan keladi va quyidagi iboralarni bir -birining o'rnida ishlatadi:

  1. Bir o'qli ilon, 1D ilon yoki sariq va qora ilon
  2. Ikki o'qli ilon, 2D ilon yoki oq ilon

Albatta siz ilonlarni xohlagan rang filamentda chop etishingiz mumkin. Ikkala ilonning yagona farqi shundaki, 2D ilonda har bir dvigatel avvalgisiga nisbatan 90 daraja buriladi, 1D ilonda esa barcha dvigatellar bitta o'qda hizalanadi.

Oxirgi so'z: mening har bir ilonim atigi 10 ta servoga ega bo'lsa ham, ilonlarni ko'p yoki kamroq servo bilan yasash mumkin. Bir narsani e'tiborga olish kerakki, kamroq servo bilan siz kamroq muvaffaqiyatli harakatga erishasiz va ko'proq servo bilan siz serpantin harakati bilan ko'proq muvaffaqiyat qozonasiz, lekin siz narxni, hozirgi chizmani (keyingi izohlarga qarang) va pin sonini hisobga olishingiz kerak bo'ladi. Arduino -da mavjud. Ilon uzunligini o'zgartirishga shoshilmang, lekin shuni yodda tutingki, bu o'zgarish uchun siz ham kodni o'zgartirishingiz kerak bo'ladi.

1 -qadam: komponentlar

Bu bitta ilon uchun qismlar ro'yxati, agar siz ikkala ilonni ham yaratmoqchi bo'lsangiz, siz komponentlar hajmini ikki baravar oshirishingiz kerak bo'ladi.

  • 10 MG996R servo*
  • 1.75 mm o'lchamdagi 3D bosma filament
  • 608 qismli 10 ta rulmanli rulon (men o'zimni Jitterspin shamshirining tashqi chetidan qutqarib oldim)
  • G'ildiraklar uchun r188 qismli 20 ta kichik bilyali rulmanlar ** (men o'zimni Jitterspin fidget spinnerlarining ichki qismidan qutqardim)
  • 40 ta Philips bosh vintlari 6-32 x 1/2 "(yoki shunga o'xshash)
  • Uzunroq 8 vint (menda raqam yo'q, lekin diametri yuqoridagi vintlardek)
  • Kamida 20 dona 4 dyuymli ziptilar (qancha ishlatishni o'zingiz hal qilasiz)
  • Har biri 5 m qizil va qora 20 kalibrli sim yoki undan qalinroq ***
  • Standart 22 o'lchovli sim
  • 30 ta erkak boshli pin (10 ta 3 ta bo'lakka bo'lingan)
  • Arduino Nano
  • 3D bosilgan qismlar (keyingi qismga qarang)
  • Quvvatning qandaydir shakli (qo'shimcha ma'lumot uchun "Ilonni quvvatlantirish" bo'limiga qarang), men shaxsan o'zgartirilgan ATX quvvat manbaidan foydalandim.
  • 1000uF 25V elektrolitik kondansatör
  • Har xil o'lchamdagi issiqlik qisish trubkasi, lehim, elim va boshqa har xil asboblar

*siz boshqa turlardan foydalanishingiz mumkin, lekin siz 3D -fayllarni servolaringizga mos ravishda qayta loyihalashingiz kerak bo'ladi. Agar siz sg90 kabi kichik servolardan foydalanishga harakat qilsangiz, ular etarlicha kuchli emasligini ko'rishingiz mumkin (men buni sinab ko'rmaganman va tajriba o'tkazish sizga bog'liq).

** g'ildiraklar uchun kichik rulmanlardan foydalanishning hojati yo'q, menda juda ko'p narsa bor edi. Shu bilan bir qatorda, LEGO g'ildiraklari yoki boshqa o'yinchoqlar g'ildiraklaridan foydalanishingiz mumkin.

*** Bu simdan 10 ampergacha o'tishi mumkin, juda nozik va oqim uni eritib yuboradi. Qo'shimcha ma'lumot olish uchun ushbu sahifaga qarang.

2 -qadam: 3D bosib chiqarish komponentlari

Ilonlar yig'ilishi
Ilonlar yig'ilishi

Agar siz 1D ilon yasayotgan bo'lsangiz, bu qismlarni chop eting.

Agar siz 2D ilon yasayotgan bo'lsangiz, bu qismlarni chop eting.

Muhim eslatma: o'lchov noto'g'ri bo'lishi mumkin! Men o'z komponentlarimni Fusion 360 -da (mm birlikda) ishlab chiqdim, dizaynni.stl fayli sifatida MakerBot dasturiga eksport qildim va keyin uni Qidi Tech printerida (MakerBot Replicator 2X ning klonli versiyasi) chop etdim. Qaerdadir bu ish jarayonida xato bor va mening barcha izlarim juda kichik chiqadi. Men xato joyini aniqlay olmadim, lekin MakerBot dasturida har bir nashrni 106% hajmgacha vaqtincha tuzatishga muvaffaq bo'ldim, bu muammoni hal qiladi.

Buni hisobga olib, agar siz yuqoridagi fayllarni o'chirib qo'ysangiz, ular noto'g'ri o'lchamda bo'lishi mumkinligi haqida ogohlantiring. Men bitta varaqni chop etishni va ularning hammasini chop etishdan oldin MG996R servoingizga mos kelishini tekshirishni taklif qilaman.

Agar siz biron -bir faylni chop qilsangiz, iltimos, natijasi qanday bo'lishini menga ayting: agar chop etish juda kichik bo'lsa, to'g'ri, juda katta va qancha foiz. Hamjamiyat sifatida birgalikda ishlash orqali biz har xil 3D -printerlar va.stl dilimlagichlar yordamida xato joyini aniqlay olamiz. Muammo hal bo'lgach, men ushbu bo'limni va yuqoridagi havolalarni yangilayman.

3 -qadam: Ilonlarni yig'ish

Ilonlar yig'ilishi
Ilonlar yig'ilishi
Ilonlar yig'ilishi
Ilonlar yig'ilishi
Ilonlar yig'ilishi
Ilonlar yig'ilishi

Yig'ish jarayoni asosan ilonning ikkala versiyasi uchun ham bir xil. Yagona farq shundaki, 2D ilonda har bir dvigatel avvalgisiga nisbatan 90 daraja buriladi, 1D ilonda esa barcha dvigatellar bitta o'qda hizalanadi.

Servo vintini bo'shatishdan boshlang, vintlarni tejang va qora plastmassadan yasalgan ramkaning yuqori va pastki qismlarini olib tashlang va hech qanday tishli uzatmalarni yo'qotishdan ehtiyot bo'ling! Servo yuqoridagi rasmlarda ko'rsatilgandek, 3D bosilgan ramkaga suring. Servo korpusining yuqori qismini almashtiring va to'rtta 6-32 1/2 dyuymli vintlar bilan burab qo'ying. Servo ramkaning pastki qismini saqlang (agar uni keyingi loyihalarda qayta ishlatmoqchi bo'lsangiz) va uni 3D bilan almashtiring. bosma quti, faqat farqi - rulmanning siljishi uchun qo'shimcha tugma. Servoni bir -biriga burab, 10 marta takrorlang.

MUHIM: Davom etishdan oldin siz Arduino -ga kodni yuklashingiz va har bir servoni 90 gradusgacha ko'tarishingiz kerak. Agar bu bajarilmasa, siz bir yoki bir nechta servo va/yoki 3D bosilgan ramkalarni buzishingiz mumkin. Agar siz servoni 90 darajaga qanday siljitishni bilmasangiz, ushbu sahifani ko'ring. Asosan, servo qizil simini Arduino -dagi 5V ga, jigarrang simni GND ga va sariq simni raqamli pin 9 ga ulang, so'ngra havoladagi kodni yuklang.

Endi har bir servo 90 daraja bo'lsa, davom eting:

3D bosilgan tugmachani bitta servo korpusining ikkinchi qismining teshigiga qo'yib, 10 segmentni ulang, so'ngra ozgina kuch bilan servo o'qini uning teshigiga suring (ravshanlik uchun yuqoridagi rasmlarga va videoga qarang). Agar siz 1D ilon yasayotgan bo'lsangiz, barcha segmentlar hizalanishi kerak, agar siz 2D ilon yasayotgan bo'lsangiz, har bir segment oldingi segmentga 90 daraja burilishi kerak. E'tibor bering, quyruq va bosh ramkasi boshqa segmentlarning uzunligining atigi yarmini tashkil qiladi, ularni ulang, lekin piramida shaklidagi bo'laklarga simlarni ulash tugaguncha izoh bermang.

X shaklidagi servo qo'lni mahkamlang va joyiga burab qo'ying. Rulmanni 3D bosilgan tugmachaning ustiga siljiting, buning uchun 2 ta yarim doira ustunini muloyimlik bilan siqish kerak bo'ladi. Qaysi filament markasi va to'ldirish zichligiga qarab, postlar juda mo'rt va chayqalishi mumkin, menimcha bunday bo'lmaydi, lekin shunga qaramay ortiqcha kuch ishlatmang. Men shaxsan PLA filamentidan 10% to'ldirilgan holda ishlatardim. Bilyali rulman yoqilgandan so'ng, u tugmachaning ustki qismidan qulflangan holatda qolishi kerak.

4 -qadam: O'chirish

O'chirish
O'chirish
O'chirish
O'chirish
O'chirish
O'chirish

Ikkala robotli ilon uchun ham sxema bir xil. Ulanish jarayonida har bir segment to'liq aylanishi uchun, ayniqsa 2D ilonda, etarli simi bo'sh joy borligiga ishonch hosil qiling.

Yuqorida faqat 2 ta servo bo'lgan simlarning sxemasi ko'rsatilgan. Men 10 ta servo bilan chizilgan rasm chizishga harakat qildim, lekin u juda ko'p. Bu rasmning haqiqiy hayotdan farqi shundaki, siz parallel ravishda yana 8 ta servo simini ulashingiz va PWM signal simlarini Arduino Nano pinlariga ulashingiz kerak.

Quvvat liniyalarini ulashda men ilon uzunligidan o'tuvchi 5V asosiy chiziq sifatida 18 kalibrli simdan (10 amperga bardoshli etarlicha qalin) foydalanardim. Tel -striptizchilar yordamida men izolyatorning kichik bir qismini 10 ta interval bilan olib tashladim va har bir intervaldan 3 ta erkak boshli pinli qisqa simni lehimladim. Qora 18 o'lchagichli GND simli va ikkinchi erkak boshli pin uchun buni ikkinchi marta takrorlang. Nihoyat, uzunroq simni 3 -chi erkak bosh pimiga lehimlang, bu pin PWM signalini ilonning boshidagi Arduino Nano -dan servoga uzatadi (simlar egilgan bo'lsa ham, ular yetishi uchun etarlicha uzun bo'lishi kerak). Agar kerak bo'lsa, issiqlik qisqaradigan trubkani mahkamlang. 3 ta erkak bosh pimini va servo simlarning 3 ta ayol bosh pimlarini ulang. 10 ta servo uchun 10 marta takrorlang. Oxir -oqibat, erishilgan natija servolarni parallel ravishda ulash va PWM signal simlarini Nano -ga ulashdir. Erkak/ayol sarlavhasi pimining sababi shundaki, siz segmentlarni osongina ajratib, servolarni almashtirasiz, agar ular hamma narsani sotmasdan qo'ysa.

GND va 5V simlarini kondansatör va vintli terminallar bilan dumidagi 3x7 teshikli teshikka lehimlang. Kondensatorning maqsadi - Arduino Nano -ni tiklashi mumkin bo'lgan servolarni ishga tushirishda paydo bo'ladigan oqimlarni olib tashlash (agar sizda kondansatkich bo'lmasa, siz undan qutulishingiz mumkin, lekin xavfsizroq bo'lish yaxshiroq). Esda tutingki, elektrolitik kondansatkichlarning uzun pog'onasi 5V liniyasiga va qisqa qisqichi GND chizig'iga ulanishi kerak. GND simini Nano GND piniga va 5V simini 5V piniga lehimlang. E'tibor bering, agar siz boshqa kuchlanishni ishlatayotgan bo'lsangiz, (keyingi bo'limga qarang), aytaylik, Lipo batareyasi 7.4V, keyin qizil simni 5V pin emas, Vin piniga ulang, bu pinni yo'q qiladi.

10 PWM signal simlarini Arduino Nano -ga ulang. Men o'zimni quyidagi tartibda sim bilan bog'ladim, siz boshqacha qilib aytishni tanlashingiz mumkin, lekin shuni esda tutingki, siz koddagi servo.attach () qatorlarini o'zgartirishingiz kerak bo'ladi. Agar siz nima demoqchi ekanligimdan amin bo'lmasangiz, uni xuddi men singari o'tkazing va sizda muammolar bo'lmaydi. Ilonning dumidagi servodan ilonning boshigacha, men ikkala ilonimni ham quyidagi tartibda simlar bilan bog'ladim. Signal pimlarini ulash: A0, A1, A2, A3, A4, A5, D4, D3, D8, D7.

Elektr simlarini tozalash uchun ziptlardan foydalaning. Davom etishdan oldin, barcha segmentlar simlar bir -biridan ajratilmasdan harakatlanishi uchun etarli joy bilan harakatlanishini tekshiring. Endi simlar ulangandan so'ng, biz bosh va quyruq piramida shaklidagi qopqoqlarni burab olamiz. E'tibor bering, quyruqda bog'ich chiqib ketadigan teshik, boshida esa Arduino dasturlash kabeli uchun teshik bor.

5 -qadam: Ilonni quvvatlantirish

Ilonni quvvatlantirish
Ilonni quvvatlantirish
Ilonni quvvatlantirish
Ilonni quvvatlantirish
Ilonni quvvatlantirish
Ilonni quvvatlantirish

Servo simlari parallel ulanganligi sababli, ularning barchasi bir xil kuchlanishni oladi, lekin tokni qo'shish kerak. MG996r servolari ma'lumotlar jadvaliga qaraganda, ular ishlayotganda har birining quvvati 900 mA gacha bo'lishi mumkin (to'xtab qolmasdan). Shunday qilib, agar barcha 10 servo bir vaqtning o'zida harakat qilsa, umumiy oqim chizig'i 0,9A*10 = 9A bo'ladi. Oddiy 5v kabi, 2A devor rozetkasi adapteri ishlamaydi. Men 20A da 5V quvvatga ega ATX quvvat manbasini o'zgartirishga qaror qildim. Men buni qanday qilishni tushuntirmoqchi emasman, chunki u Instructables va YouTube -da allaqachon muhokama qilingan. Internetda tezkor qidirish sizga ushbu quvvat manbalaridan birini qanday o'zgartirish kerakligini ko'rsatadi.

Quvvat manbasini o'zgartirdingiz deb faraz qilsak, bu shunchaki quvvat manbai va ilonning vintli terminallari orasidagi uzoq bog'lanishni anglatadi.

Boshqa variant - bortdagi lipo batareyalar to'plamidan foydalanish. Men buni sinab ko'rmadim, shuning uchun siz batareyalarga o'rnatish moslamasini loyihalashingiz va ularni simga ulashingiz kerak bo'ladi. Ish kuchlanishini, servo va Arduino -ning joriy chizig'ini yodda tuting (5V dan boshqa hech narsani lehimlamang. Arduino -dagi 5v pin, agar sizda kuchlanish yuqori bo'lsa, Vin piniga o'ting).

6 -qadam: Hammasi ishlayotganini tekshiring

Davom etishdan oldin, hamma narsa ishlayotganini sinab ko'raylik. Bu kodni yuklang. Sizning iloningiz har bir servoni alohida-alohida 0-180 oralig'ida siljitishi kerak, so'ngra to'g'ri chiziqda yotqizib tugatishi kerak. Agar biror narsa noto'g'ri bo'lsa, ehtimol simlar noto'g'ri yoki servolar "Ilonlarni yig'ish" bo'limida aytib o'tilganidek 90 gradusda markazlashtirilmagan.

7 -qadam: kod

Hozirda ilon uchun masofadan boshqarish pulti yo'q, barcha harakatlar oldindan dasturlashtirilgan va siz xohlagan narsani tanlashingiz mumkin. Men 2 -versiyada masofadan boshqarish pultini ishlab chiqaman, lekin agar siz uni masofadan boshqarishni xohlasangiz, Instructables -dagi boshqa qo'llanmalarni ko'rib chiqishni va ilonni Bluetooth -ga moslashtirishni taklif qilaman.

Agar siz 1D ilon qilmoqchi bo'lsangiz, ushbu kodni yuklang.

Agar siz 2D ilon qilmoqchi bo'lsangiz, ushbu kodni yuklang.

Men sizni kod bilan o'ynashni, o'zingizni o'zgartirishlaringizni va yangi algoritmlarni yaratishni taklif qilaman. Har bir lokomotiv turi va uning kodi qanday ishlashini batafsil tushuntirish uchun keyingi bir necha bo'limlarni o'qing.

8 -qadam: G'ildirak va tarozilar

Tarozilar va g'ildiraklar
Tarozilar va g'ildiraklar
Tarozilar va g'ildiraklar
Tarozilar va g'ildiraklar
Tarozilar va g'ildiraklar
Tarozilar va g'ildiraklar
Tarozilar va g'ildiraklar
Tarozilar va g'ildiraklar

Ilonlarning oldinga siljishining asosiy usullaridan biri - tarozilarining shakli. Tarozilar oldinga siljishni osonlashtiradi. Qo'shimcha tushuntirish uchun tarozilar ilonning oldinga siljishiga qanday yordam berishini ko'rish uchun ushbu videoni 3:04 dan boshlab ko'ring. Xuddi shu videodagi 3:14 ga qarasak, ilonlar yengda bo'lganida, tarozining ishqalanishini olib tashlaydigan ta'sir ko'rsatiladi. Mening YouTube videomda ko'rsatilgandek, robot 1D ilon tarozisiz o't ustida yugurishga harakat qilganda, u na oldinga, na orqaga siljiydi, chunki kuchlar aniq nolga teng. Shunday qilib, biz robotning qorniga sun'iy tarozilar qo'shishimiz kerak.

Tarozi yordamida lokomotivni qayta yaratish bo'yicha tadqiqotlar Garvard universitetida olib borilgan va bu videoda namoyish etilgan. Men robotni tarozilarini yuqoriga va pastga siljitish uchun shunga o'xshash usulni o'ylay olmadim va uning ostiga passiv 3D bosilgan tarozi qo'yishga qaror qildim.

Afsuski, bu samarasiz bo'lib chiqdi (mening YouTube videosimga qarang: 3:38), chunki tarozi tolalarni ushlab turish va ishqalanishni kuchaytirish o'rniga gilam yuzasida siljiydi.

Agar siz men ishlab chiqargan tarozilar bilan tajriba o'tkazmoqchi bo'lsangiz, GitHub -dagi fayllarni 3D chop etishingiz mumkin. Agar siz o'zingizni muvaffaqiyatli qilsangiz, pastdagi izohlarda menga xabar bering!

Boshqa usulni qo'llagan holda, men "shinalar" sifatida tashqi tomondan issiqlik qisqaruvchi quvurli r188 rulmanli g'ildiraklardan foydalanishga harakat qildim. GitHub -dagi.stl fayllaridan plastik g'ildirak o'qlarini 3D chop etishingiz mumkin. G'ildiraklar biologik jihatdan aniq bo'lmasa -da, ular tarozilarga o'xshaydi, chunki oldinga burilish oson, lekin yonma -yon harakat qilish ancha qiyin. G'ildiraklarning muvaffaqiyatli natijasini mening YouTube videoimda ko'rishingiz mumkin.

9 -qadam: siljish harakati (bitta o'qli ilon)

"Make it Move" tanlovining birinchi sovrini

Tavsiya: