Mundarija:
- Ta'minotlar
- 1 -qadam: signal olish
- 2 -qadam: soddalashtirilgan signal
- 3 -qadam: signallarni qayta ishlash
- 4 -qadam: sxemalar
- 5 -qadam: EMG sensorlarini joylashtirish
- 6 -qadam: kod
- 7 -qadam: Natijalar
Video: EMG yordamida robot qo'lini boshqarish: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Ushbu loyiha mushaklarning faolligini o'lchash va qayta ishlash uchun ishlatiladigan 3 ta ochiq manbali uECG qurilmalari (elektromiyogram, EMG) yordamida robot qo'lini (opensource hand inMoov yordamida) boshqarishini ko'rsatadi. Bizning jamoamizning uzoq hikoyasi bor, ular qo'llar va ularni boshqaradi, bu to'g'ri yo'nalishdagi yaxshi qadam:)
Ta'minotlar
3x uECG qurilmalari 1x Arduino (men Nanodan foydalanayapman, lekin ko'pchilik boshqalar ishlaydi) 1x nRF24 moduli (har qanday umumiy) 1x PCA9685 yoki shunga o'xshash servo drayver 1x inMoov hand5x katta servo (mos keladigan turlar uchun inMoov ko'rsatmalariga qarang) 1x 5V quvvat manbai 5A yoki undan yuqori oqim
1 -qadam: signal olish
Nazorat EMG - mushaklarning elektr faolligiga asoslangan. EMG signalini uchta uECG qurilmasi oladi (bilaman, bu EKG monitori bo'lishi kerak, lekin u umumiy ADCga asoslanganligi sababli, u har qanday biosignallarni, shu jumladan EMG ni ham o'lchashi mumkin). EMGni qayta ishlash uchun uECG maxsus rejimga ega bo'lib, u 32 ta spektrli ma'lumotlarni uzatadi va "mushak oynasi" o'rtacha (75 dan 440 Gts gacha bo'lgan o'rtacha spektral intensivligi). Spektrli tasvirlar vaqt o'tishi bilan o'zgarib turadigan ko'k-yashil naqshlarga o'xshaydi. Bu erda chastota vertikal o'qda (har bir uchastkada past chastotada, pastda yuqori - 0 dan 488 Gts gacha ~ 15 Gts), vaqt gorizontalda (eski ma'lumotlar bu erda, chapda) ekranda taxminan 10 soniya). Zo'rlik rang bilan kodlangan: ko'k - past, yashil - o'rta, sariq - yuqori, qizil - undan ham yuqori.
2 -qadam: soddalashtirilgan signal
Ishorani ishonchli aniqlash uchun ushbu spektral tasvirlarni kompyuterda to'g'ri qayta ishlash talab qilinadi. Robotik qo'l barmoqlarini oddiy ishga tushirish uchun 3 kanalda o'rtacha qiymatdan foydalanish kifoya - uECG uni ma'lum paketli baytlarda qulay tarzda taqdim etadi, shuning uchun Arduino eskizi uni tahlil qila oladi. Bu qiymatlar ancha sodda ko'rinadi - men Arduino Serial Plotter -dan xom qiymatlar jadvalini biriktirdim. Qizil, yashil, ko'k jadvallar - bu bosh barmog'ini, halqasini va o'rta barmoqlarini mos ravishda siqib chiqarganimda, turli mushak guruhlari uchun 3 ta uECG qurilmasining xom qiymati. Bizning ko'zimiz uchun bu holatlar aniq farq qiladi, lekin biz bu qiymatlarni qandaydir tarzda "barmoq skoriga" aylantirishimiz kerak, shuning uchun dastur qo'lda servolarga qiymatlarni chiqarishi mumkin. Muammo shundaki, mushak guruhlaridan kelgan signallar "aralash": birinchi va uchinchi holatda ko'k signal intensivligi taxminan bir xil bo'ladi, lekin qizil va yashil farq qiladi. Ikkinchi va uchinchi holatlarda yashil signallar bir xil bo'ladi, lekin ko'k va qizil rang farq qiladi.
3 -qadam: signallarni qayta ishlash
Bu signallarni "aralashtirish" uchun men nisbatan oddiy formuladan foydalandim:
S0 = V0^2 / ((V1 * a0 +b0) (V2 * c0 +d0))), bu erda S0 - kanal 0, V0, V1, V2 uchun bal - 0, 1, 2 va a kanallar uchun xom qiymatlar, b, c, d - men qo'lda sozlagan koeffitsientlar (a va c 0,3 dan 2,0 gacha, b va d 15 va 20 edi, siz ularni sensorni joylashishiga moslashtirish uchun o'zgartirishingiz kerak bo'ladi). Xuddi shu ko'rsatkich 1 va 2 -kanallar uchun ham hisoblab chiqilgan. Shundan so'ng jadvallar deyarli bir -biridan ajralgan. Xuddi shu imo -ishoralar uchun (bu safar barmog'i, o'rta, keyin bosh barmog'i) signallar aniq va chegara bilan taqqoslaganda servo harakatlarga osonlikcha tarjima qilinadi.
4 -qadam: sxemalar
Sxemalar juda oddiy, sizga faqat nRF24 moduli, PCA9685 yoki shunga o'xshash I2C PWM tekshirgichi va 5V yuqori quvvat manbai kerak, bu bir vaqtning o'zida barcha servolarni harakatlantirish uchun etarli bo'ladi (shuning uchun barqaror ishlash uchun kamida 5A nominal quvvat talab qilinadi).
Ulanishlar ro'yxati: nRF24 pin 1 (GND) - Arduino GNDnRF24 pin 2 (Vcc) - Arduino 3.3vnRF24 pin 3 (Chip yoqilgan) - Arduino D9nRF24 pin 4 (SPI: CS) - Arduino D8nRF24 pin 5 (SPI: SCK) - Arduino D13nRF24 pin 6 (SPI: MOSI) - Arduino D11nRF24 pin 7 (SPI: MISO) - Arduino D12PCA9685 SDA - Arduino A4PCA9685 SCL - Arduino ning A5PCA9685 Vcc - Arduino -ning 5vPDCA9685 GND -A55 -GD5A -G95 -GD5A -G9A56 -GD5A -G95A PCA kanallari 0-4, mening bosh barmog'imda - 0 -kanal, ko'rsatkich barmog'i - 1 -kanal va boshqalar.
5 -qadam: EMG sensorlarini joylashtirish
O'qish oqilona bo'lishi uchun mushaklarning faolligini qayd etuvchi uECG qurilmalarini to'g'ri joylarga joylashtirish muhim. Bu erda har xil variantlar bo'lishi mumkin bo'lsa -da, har biri signalni qayta ishlashning har xil yondashuvini talab qiladi, shuning uchun mening kodim bilan rasmlarimga o'xshash joylashuvdan foydalanish yaxshidir. Bu sezgir bo'lmasligi mumkin, lekin bosh barmog'i mushaklari signallari qo'lning qarama -qarshi tomonida yaxshiroq ko'rinadi. Shunday qilib, sensorlardan biri u erga joylashtirilgan va ularning hammasi tirsagiga yaqin joylashtirilgan (mushaklar tananing ko'p qismini shu sohada joylashgan, lekin siz aynan sizniki qayerda joylashganligini tekshirmoqchisiz - individual farq juda katta)
6 -qadam: kod
Asosiy dasturni ishga tushirishdan oldin siz uECG qurilmalaringizning identifikatorlarini bilib olishingiz kerak bo'ladi (bu 101 -qatorni o'chirish va qurilmalarni birma -bir yoqish orqali amalga oshiriladi, siz boshqa qurilmalar qatorida joriy qurilmaning identifikatorini ko'rasiz) va ularni to'ldiring. unit_ids qatori (37 -qator). Bundan tashqari, siz formulali koeffitsientlar bilan o'ynashni xohlaysiz (129-131-qatorlar) va uni robot qo'liga ulashdan oldin uning ketma-ket chizgichda qanday ko'rinishini tekshiring.
7 -qadam: Natijalar
Taxminan 2 soat davom etgan ba'zi tajribalar yordamida men juda ishonchli operatsiyani bajara oldim (videoda odatiy holat ko'rsatilgan). U o'zini mukammal tutmaydi va bu ishlov berish yordamida faqat ochiq va yopiq barmoqlarni taniy oladi (va har 5 ta emas, faqat 3 mushak guruhini aniqlaydi: bosh barmog'i, ko'rsatkich va o'rtasi birgalikda, halqa va kichik barmoqlari birgalikda). Ammo signalni tahlil qiladigan "AI" bu erda 3 qatorli kodni oladi va har bir kanaldan bitta qiymatdan foydalanadi. Ishonamanki, kompyuterda yoki smartfonda 32 ta spektrli tasvirlarni tahlil qilish orqali ko'proq narsani qilish mumkin. Bundan tashqari, ushbu versiyada faqat 3 ta uECG qurilmasi (EMG kanallari) ishlatiladi. Ko'proq kanallar bilan chindan ham murakkab naqshlarni tanib olish mumkin - lekin loyihaning maqsadi, qiziqqan har bir kishiga boshlang'ich nuqtani taqdim etishdir:) Qo'l bilan boshqarish, albatta, bunday tizim uchun yagona dastur emas.
Tavsiya:
TLV493D, Joystick va Arduino yordamida robot qo'lini boshqarish: 3 qadam
TLV493D, Joystick va Arduino yordamida robot qo'lini boshqarish: TLV493D sensorli robotingiz uchun muqobil boshqaruvchi, 3 darajali erkinlik (x, y, z) bilan magnitli sensor, ular yordamida siz o'zingizning yangi loyihalaringizni I2C aloqasi bilan boshqarishingiz mumkin. Bast P mikrokontrollerlari va elektron platalari
Arduino va Ps2 masofadan boshqarish pulti yordamida 4dof yuqori quvvatli katta o'lchamli robot qo'lini qanday boshqarish mumkin?: 4 qadam
Arduino va Ps2 masofadan boshqarish pulti bilan 4dof yuqori quvvatli katta o'lchamli robot qo'lini qanday boshqarish mumkin?: Bu to'plamda yuqori quvvatli mg996 dvigateli ishlatiladi, u yuqori oqimga muhtoj, bizda ko'p quvvat manbai sinovi bor. Faqat 5v 6a adapter ishlaydi. Va arduino taxtasi 6dof robot qo'li ustida ham ishlaydi.end: yozing SINONING do'konini DIY o'yinchoq uchun sotib oling
OWI robot qo'lini boshqarish uchun qo'lingizni silkiting Iplar biriktirilmagan: 10 qadam (rasmlar bilan)
OWI robot qo'lini boshqarish uchun qo'lingizni silkiting … Stringlar biriktirilmagan: IDEA: Instructables.com saytida (2015 yil 13 -may holatiga ko'ra) OWI robotli qo'lini o'zgartirish yoki boshqarish bo'yicha kamida 4 ta boshqa loyiha mavjud. Buning ajablanarli joyi yo'q, chunki bu o'ynash uchun ajoyib va arzon robot to'plami. Bu loyiha shunga o'xshash
Robot qo'lini Zio yordamida PS2 kontroller yordamida boshqaring: 4 qadam
PS2 Controller yordamida Zio yordamida robot qo'lini boshqaring: Bu blog posti Zio Robotics seriyasining bir qismidir. Kirish Bu "Robot qo'lini Zio bilan boshqarish" postining oxirgi qismi. Ushbu qo'llanmada biz Robotik qo'limizning yana bir qismini qo'shamiz. Oldingi darsliklar ma'lumot bazasini o'z ichiga olmaydi
Robot qo'lini kodlashsiz 6 kanalli servo pleer bilan qanday boshqarish mumkin: 5 qadam
Robot qo'lini kodlashsiz 6 kanalli servo pleyer bilan qanday boshqarish kerak: bu qo'llanmada 6 kanalli servo pleer yordamida robot qo'lini kodlashsiz qanday boshqarish kerakligi ko'rsatilgan