Mundarija:

Yurish Strandbeest, Java/Python va ilovalar tomonidan boshqariladi: 4 qadam (rasmlar bilan)
Yurish Strandbeest, Java/Python va ilovalar tomonidan boshqariladi: 4 qadam (rasmlar bilan)

Video: Yurish Strandbeest, Java/Python va ilovalar tomonidan boshqariladi: 4 qadam (rasmlar bilan)

Video: Yurish Strandbeest, Java/Python va ilovalar tomonidan boshqariladi: 4 qadam (rasmlar bilan)
Video: Genius or garbage? Wind powered rover | Вечный двигатель! С помощью ветра против ветра 2024, Iyul
Anonim

Muallif tomonidan batafsil:

Oddiy garmonik harakatni eksperimental o'rganish
Oddiy garmonik harakatni eksperimental o'rganish
Oddiy garmonik harakatni eksperimental o'rganish
Oddiy garmonik harakatni eksperimental o'rganish

Bu Strandbeest to'plami Teo Jansen tomonidan ixtiro qilingan Strandbeestga asoslangan DIY ishidir. Dahshatli mexanik dizayndan hayratga tushgan holda, men uni to'liq manevrlik bilan jihozlashni xohlayman, keyin esa kompyuter aqlini. Bu yo'riqnomada biz birinchi qism - manevrlik ustida ishlaymiz. Biz shuningdek, kredit karta o'lchamidagi kompyuterning mexanik tuzilishini ham ko'rib chiqamiz, shunda biz kompyuterni ko'rish va AI bilan ishlashimiz mumkin. Qurilish ishlarini soddalashtirish uchun men arduino yoki shunga o'xshash dasturlashtiriladigan kompyuterdan foydalanmadim, buning o'rniga bluetooth apparat boshqaruvchisini qurdim. Robot uskuna bilan ishlaydigan terminal sifatida ishlaydigan bu boshqaruvchi Android telefon ilovasi yoki RaspberryPi kabi kuchliroq tizim tomonidan boshqariladi. Boshqaruv mobil telefon interfeysi boshqaruvi yoki python yoki Java tilida dasturlashtirilishi mumkin. Har bir dasturlash tili uchun bitta SDK-https://github.com/xiapeiqing/m2robots.git saytida ochiq manba.

Mini-Strandbeest foydalanuvchi qo'llanmasi qurilish bosqichlarini tushuntirishda juda aniq bo'lgani uchun, biz bu yo'riqnomada, odatda, foydalanuvchi qo'llanmasida ko'rsatilmagan ma'lumotlar va elektr/elektron qismlarga e'tibor qaratamiz.

Agar bizga ushbu to'plamni mexanik yig'ish bo'yicha ko'proq intuitiv fikr kerak bo'lsa, montaj mavzusida bir nechta yaxshi videolar mavjud, masalan

Ta'minotlar

Mexanik qismni qurish va ushbu Strandbeest -ning barcha elektr aloqasini o'rnatish uchun, agar 3D bosib chiqarishni kutish vaqti hisobga olinmasa, uni bajarish uchun 1 soatdan kam vaqt kerak bo'ladi. Bu quyidagi qismlarni talab qiladi:

(1) 1 ta standart Strandbeest to'plami (https://webshop.strandbeest.com/ordis-parvus)

(2) tishli qutisi bo'lgan 2x shahar dvigateli (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

(3) 1x Bluetooth boshqaruvchisi (https://ebay.us/Ex61kC?cmpnId=5338273189)

(4) 1x LiPo batareyasi (3.7V, sizning tanlovingiz mAh)

(5) 12x M2x5.6mm yog'och vintlardek

(6) 2 mm diametrli uglerod yoki bambuk tayoq

Quyidagi qismlarni 3D bosib chiqarish:

(1) 1x robototexnika korpusi

(3D bosma dizayn faylini faqat bluetooth boshqaruvchisi bilan yuklab olish mumkin)

(OrangePi Nano -ni qo'shimcha yuklab olish bilan 3D bosma dizayn fayli)

(2) 2x qo'zg'aysan milining gardishi (3D bosma dizayn faylini yuklab olish)

(3) 2x quvvat tizimi moslamasi (3D bosma dizayn faylini yuklab olish)

Boshqalar:

Android mobil telefon. Google play do'koniga o'ting, M2ROBOTS -ni qidiring va boshqaruv ilovasini o'rnating.

Agar Google play do'koniga kirish qiyin bo'lsa, ilova yuklab olishning muqobil usuli uchun mening shaxsiy sahifamga tashrif buyuring

1 -qadam: qismlarni tashkil qilish

Qismlarni tashkil qilish
Qismlarni tashkil qilish
Qismlarni tashkil qilish
Qismlarni tashkil qilish
Qismlarni tashkil qilish
Qismlarni tashkil qilish
Qismlarni tashkil qilish
Qismlarni tashkil qilish

Ushbu bosqichda biz yig'iladigan barcha qismlarni tashkil qilamiz. 1 -rasm. biz Strandbeest modelini yaratish uchun ishlatadigan qutidan tashqaridagi barcha plastik qismlarni ko'rsatadi. Ular 3D bosma yoki frezalash kabi ishlov berishning boshqa ishlab chiqarish usullari bilan taqqoslaganda, juda yuqori samarali, in'ektsion kalıplama usulida ishlab chiqariladi. Shuning uchun biz ommaviy ishlab chiqarilgan mahsulotdan maksimal darajada foydalanishni xohlaymiz va faqat eng kichik qismlarni sozlaymiz.

2 -rasmda ko'rsatilgandek, har bir plastmassa taxtada etiketli alifbo bor, alohida qismda esa etiketka yo'q. Ularni ajratib bo'lgach, boshqa markirovka bo'lmaydi. Bu muammoni hal qilish uchun biz bir xil turdagi qismlarni turli qutilarga qo'yishimiz yoki qog'ozga bir nechta joylarni belgilashimiz va bir xil qismlarni bir maydonga qo'yishimiz mumkin, 3 -rasmga qarang.

Kattaroq plastmassa taxtadan plastmassa qismni kesish uchun qaychi va pichoq 4 va 5 -rasmda ko'rsatilgandek xavfsiz va xavfsiz bo'lishi mumkin emas.

Bu erda hamma narsa plastmassadan qilingan, faqat oyoq barmoqlarining materiali rezina, 6 -rasmga qarang. Biz oldindan tayyorlangan kesmalarga ko'ra kesishimiz mumkin. Kauchuk materialning yumshoq tabiati strandbeestni yaxshiroq ushlab turishini ta'minlaydi. Bu, ayniqsa, toqqa chiqishda to'g'ri. Keyingi mavzularda biz uning har xil burchak burchagida, kauchuk barmog'i bo'lgan va bo'lmasdan ko'tarilish qobiliyatini sinab ko'rishimiz mumkin. Hech qanday sirpanish bo'lmasa, uni statik ishqalanish deyiladi. Tutqichni yo'qotgandan so'ng, u kinetik ishqalanishga aylanadi. Ishqalanish koeffitsienti ishlatilgan materiallarga bog'liq, shuning uchun bizda rezina barmoqlar bor. Qanday qilib eksperimentni loyihalashtirish, qo'lingizni ko'tarish va gapirish.

Oxirgi rasmda "ECU", "Quvvat poyezdi" va Strandbeest modelining shassislari ko'rsatilgan.

2 -qadam: Mexanik yig'ish paytida e'tiborga sazovor joylar

Mexanik yig'ish paytida e'tiborga sazovor joylar
Mexanik yig'ish paytida e'tiborga sazovor joylar
Mexanik yig'ish paytida e'tiborga sazovor joylar
Mexanik yig'ish paytida e'tiborga sazovor joylar
Mexanik yig'ish paytida e'tiborga sazovor joylar
Mexanik yig'ish paytida e'tiborga sazovor joylar

Mini-Strandbeest juda yaxshi foydalanuvchi qo'llanmasiga ega. Qo'llanmani bajarish va montajni yakunlash oson ish bo'lishi kerak. Men bu tarkibni o'tkazib yubormoqchiman va e'tiborimizga loyiq bo'lgan bir nechta qiziqarli fikrlarni ajratib ko'rsataman.

1-rasmda, kauchuk oyoq barmoqlarini ushlab turgan uyaning bir tomoni 90 graduslik burchakda, boshqa tomonida 45 graduslik qiyalik bor, u rasman pah deb ataladi. Bunday qiyalik kauchuk barmog'ini plastmassa oyoqqa moslashiga yo'naltiradi. Oyoq barmoqlarini yon tomondan o'rnatib ko'ring, 2 -rasmga qarang, keyin boshqa tomonni harakat qilib ko'ring. Farqi juda sezilarli. 3 -rasmning o'ng tomoni bizning Stranbeestdagi krankdir. Bu dvigatel, avtomobil dvigateli, mototsikl dvigatelidagi krankka juda o'xshash, barchasi bir xil tuzilishga ega. Strandbeest -da, krank burilganda, u oyoqlarni harakatga keltiradi. Dvigatel uchun bu krankni burish uchun harakatlantiruvchi piston harakati. Doira ichida 120 graduslik bo'linish, shuningdek, uch fazali dvigatel yoki generatorga olib keladi, elektr quvvati bir-biridan 120 gradus, 4-rasmda ko'rsatilgan. Chap va o'ng korpuslar uchun mexanik qismlar yig'ilgandan so'ng, biz Strandbeest -ga qo'shadigan qismlar ustida ishlay boshlaymiz, 5 -rasmga qarang. 6-rasm-bu dvigatelni 3 o'lchamli bosilgan shassisga mahkamlash uchun biz 3 o'lchamli bosma dvigatel qisqichidan foydalanamiz. Bu qadamda, shkafning yon yuzasi dvigatel yuzasi bilan bir xil bo'lishi uchun, dvigatel joylashuvi sozlangunga qadar, hech qanday vintni mahkamlamaslik kerak. Hizalamadan mamnun bo'lgandan so'ng, biz barcha vintlarni mahkamlashimiz mumkin. 7 -rasmga o'ting, biz dvigatel chiqishini krankka ulab, gardish birikmasini o'rnatish ustida ishlaymiz. Dvigatel tomoni krank tomonli ulanishdan ko'ra qiyinroq o'rnatiladi, 8 -rasmga qarang. Shuning uchun biz avval dvigatel yon gardishini ulaymiz. 9 -rasmda ko'rsatilgandek, ikkala dvigatel uchun gardish muftasi o'rnatilgandan so'ng, biz shassi va chap/o'ng yurish konstruktsiyasini ulash uchun diametri 2 mm bo'lgan ikkita uglerod tayoqchasidan foydalanamiz. Bu 10 -rasmda sodir bo'lmoqda. Hammasi bo'lib, biz ushbu ob'ektlarni ulash uchun 3 dona uglerod tayoqchasidan foydalanamiz. Ammo bu bosqichda biz ulardan faqat ikkitasini bog'laymiz, chunki biz krankni burishimiz va gardish va krank orasidagi bog'lanishni o'rnatishimiz kerak. Agar 3 dona uglerod tayog'i joyida bo'lgan bo'lsa, nisbiy holatini to'g'rilash va ularni ulash qiyin bo'ladi. Nihoyat, bizda 11 -rasmda yakuniy yig'ilgan mexanik tizim mavjud. Keyingi qadam, elektronika ustida ishlaylik.

3 -qadam: Elektr aloqasi

Elektr aloqasi
Elektr aloqasi
Elektr aloqasi
Elektr aloqasi
Elektr aloqasi
Elektr aloqasi

Barcha elektron tizimlar elektr ta'minotiga muhtoj. Biz 1 hujayrali batareyani qulay joyga qo'yishimiz mumkin, masalan, 1-rasmdagi elektron karta ostiga. Elektr ta'minotining kutupluluğu shunchalik muhimki, uni muhokama qilish uchun maxsus raqam kerak. 2 -rasmda batareya aloqasi ko'rsatilgan. Tekshirish panelida qutb "+" va "GND" bilan belgilanadi, 3 -rasmga qarang. Batareyaning sharbati tugagach, batareyani zaryad qilish uchun USB kabeli ishlatiladi, 4 -rasmga qarang. Batareya qayta to'lganida "qayta zaryadlanmoqda" degan LED avtomatik ravishda o'chadi. Oxirgi qadam - bu motor rozetkalarini boshqaruv panelidagi vosita ulagichlariga ulash. 3 -rasmda 16 raqami bilan belgilangan 3 ta dvigatel ulagichi mavjud. 5 -rasmda, chap dvigatel PWM12 bilan belgilangan eng chap konnektorga, o'ng vosita esa o'rta ulagichga ulangan. Hozirgi vaqtda tankni (differentsial haydovchi) chapga burish PWM12 dvigatel portiga ulangan dvigatel kirish quvvatining kamayishi sifatida qattiq kodlangan. Shuning uchun PWM12 portiga ulangan dvigatel chap oyoq bilan harakatlanishi kerak. Keyinchalik men barcha aralashtirish funktsiyasini foydalanuvchi sozlaydigan qilib o'zgartiraman. Dvigatel ulagichining tanlovini almashtirish yoki dvigatel ulagichining yo'nalishini teskari yo'naltirish orqali biz oldinga siljish, noto'g'ri yo'nalishni burish buyrug'i berilsa, orqaga qarab harakatlanadigan Strandbeest kabi muammoni hal qila olamiz, esda tutingki, agar kirish simi bo'lsa, shahar mexanizmi aylanish yo'nalishini o'zgartiradi. nazorat kuchiga teskari tartibda ulangan.

4 -qadam: Dastur sozlamalari va ishlashi

Ilova sozlamalari va ishlashi
Ilova sozlamalari va ishlashi
Ilova sozlamalari va ishlashi
Ilova sozlamalari va ishlashi
Ilova sozlamalari va ishlashi
Ilova sozlamalari va ishlashi
Ilova sozlamalari va ishlashi
Ilova sozlamalari va ishlashi

Biz avval Google Play do'konidan android ilovasini yuklab olamiz, 1 -rasmga qarang. Bu ilova boshqa ko'plab funktsiyalarni o'z ichiga olmaydi, biz bu ko'rsatmalarni bera olmaymiz, biz faqat Strandbeest uchun to'g'ridan -to'g'ri bog'liq mavzularga to'xtalamiz.

Uskuna bluetooth boshqaruvini yoqing, u kashfiyot qurilmalari ro'yxatida ko'rinadi. Uzoq bosish bizni havodan yuklash xususiyatiga olib keladi, keyinchalik "ko'rsatma berilishi" mumkin. Biz bosishni va nazoratni boshlashdan oldin, avval o'ng yuqori burchakdagi "Sozlamalar" ni bosib, ba'zi konfiguratsiyalarni bajaramiz. 2 -rasmda… belgisi ostida yashiringan. 3 -rasmda bir nechta sozlash toifalari ko'rsatilgan. Ilovada tuzilgan bu sozlamalar uchta usulda amalga oshiriladi: 1) ba'zi sozlamalar faqat ilovaning ishlashiga ta'sir qiladi, masalan, arifmetika, har bir dvigatelning kuchini boshqarish buyrug'ini sizning ruldan va gazdan boshqarish buyrug'idan. Ular ilovada yashaydilar. Keyingi ko'rsatmalarda biz ularni Python/Java dasturlari bilan qanday almashtirishni ko'rsatamiz. 2) havodagi boshqaruv protokolining bir qismi sifatida qo'shimcha qurilmaga ba'zi sozlamalar yuboriladi, masalan, to'g'ridan -to'g'ri boshqarish (servo aynan buyruq berilgan burchakka buriladi) va simli boshqaruv orqali uchish (avtonom boshqaruvchi o'rnatilgan modul servo bilan ishlaydi). kanal foydalanuvchi buyrug'iga va hozirgi munosabatiga ko'ra)) 3) ba'zi sozlamalar apparat boshqaruvchisida doimiy bo'lmagan xotiraga yuboriladi. Shunday qilib, apparat har safar konfiguratsiyasiz yoqilganda ushbu sozlamalarga amal qiladi. Misol sifatida, qurilmaning bluetooth eshittirish nomi bo'lishi mumkin. Bunday sozlamalar kuchga kirishi uchun quvvat aylanishini talab qiladi. Biz kiradigan birinchi toifa - 4 -rasmdagi "Umumiy sozlamalar". 5 -rasmdagi "Ilovalarni boshqarish funktsiyasi" ushbu ilovaning qanday rol o'ynayotganini aniqlaydi, bluetooth orqali to'g'ridan -to'g'ri ulanadigan apparat qurilmasining boshqaruvchisi; tele -mavjudlikni nazorat qilish uchun intranet/internet orqali ko'prik; va hokazo. Keyin, 6 -rasmdagi "HW turi" sahifasida siz differentsial haydovchi transport vositasi bilan ishlayotganingiz haqida aytiladi, shuning uchun "tank" rejimini tanlash kerak. Bizda jami 6 ta PWM chiqishi mavjud. Strandbeest uchun biz 7 -rasmga muvofiq 1 dan 4 gacha kanalni sozlashimiz kerak. Har bir PWM kanali quyidagi rejimlardan birida ishlaydi: 1) normal servo: 1-2 m PWM signali bilan boshqariladigan RC servo 2) servo teskari: tekshirgich foydalanuvchi boshqaruvini o'z chiqishi uchun o'zgartiradi 3) shahar motorining ish tsikli: shahar dvigatel yoki biron bir elektr qurilmasi, ish tsikli rejimida ishlashi mumkin, 0% o'chadi, 100% har doim yoniq. 4) doimiy dvigatelning ish tsikli teskari: yana tekshirgich foydalanuvchi boshqaruvini uning chiqishi uchun o'zgartiradi, chunki biz doimiy dvigateldan foydalanamiz va dvigatelning aylanish yo'nalishini apparat kabeliga qarab belgilaymiz, biz 1 -kanal uchun "shahar motorining aylanish davri" ni tanlaymiz. 4, 8 -rasmga qarang. Ikki tomonlama boshqaruvni yoqish uchun biz 2 PWM kanalini 1 H-ko'prigiga birlashtirishimiz kerak. Bu qadam 9 -rasmda ko'rsatilgan. "2 PWM kanalidan 1 H-ko'prigiga" rejimida 1, 3 va 5-kanallar har ikkala kanalni boshqarish uchun ishlatiladi. Bu gaz kelebeği boshqaruvini, joystikni yuqoridan pastga boshqarishni standart 2-kanaldan 3-kanalga o'zgartirish zarurligini ko'rsatadi. Bunga 10-rasmda erishiladi. 11 -rasmda ko'rsatilgandek, har bir kanal o'zboshimchalik bilan kirish manbasini olish uchun tuzilgan.

Bingo, endi biz kerakli minimal konfiguratsiyani yakunladik va ko'rinadigan bluetooth qurilmasini ko'rsatadigan sahifaga qaytamiz va uni ulaymiz. 12 -rasmda, joystikni o'ynashga harakat qiling, va biz bu Strandbeest bilan dam olishimiz mumkin. Nishabga ko'tarilishga harakat qiling, material turlari orasidagi ishqalanish tahlilini eslang va "RPY (deg)" bilan belgilangan qatorda ko'rsatilgan parvoz boshqaruvchisining taxminiy munosabatini o'qing, bu qatordagi to'rtta yozuv - burilish, qadam, burilish burchagi. bortdagi giroskop va akselerometr bilan baholanadi; oxirgi yozuv-bu kompensatsiyaning kompensatsiyasi.

Kelgusi ish: keyingi ko'rsatmalarda biz asta -sekin uning dasturlash interfeysini qamrab olamiz, Strandbeest bilan muloqot qilish uchun sevimli tilingiz Java yoki Pythonni tanlaymiz va endi mobil telefon ekranidan strandbeest holatini o'qimaymiz. RaspberryPi tipidagi linux kompyuterda dasturlashning yanada rivojlangan mavzulari uchun dasturlashni boshlaymiz, oxirgi rasmga qarang. 3D bosib chiqarish mexanik qismlari uchun https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ va SDK uchun https://github.com/xiapeiqing/m2robots.git va agar siz darhol ishga kirishni xohlasangiz, tekshiring.. Agar Java yoki Python bo'lmasa, men xohlagan dasturlash tili nima ekanligini ayting, men SDK ning yangi versiyasini qo'shishim mumkin.

Xakerlikdan zavqlaning va quyidagi ko'rsatmalarni kuzatib boring.

Tavsiya: