Mundarija:

Jasper Arduino hexapod: 8 qadam (rasmlar bilan)
Jasper Arduino hexapod: 8 qadam (rasmlar bilan)

Video: Jasper Arduino hexapod: 8 qadam (rasmlar bilan)

Video: Jasper Arduino hexapod: 8 qadam (rasmlar bilan)
Video: Jasper Arduino Hexapod Robot 2024, Iyul
Anonim
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod
Jasper Arduino Hexapod

Loyiha sanasi: 2018 yil noyabr

UMUMIY (JASPER)

Olti oyoqli, har bir oyog'iga uchta servo, Arduino Mega tomonidan boshqariladigan 18 ta servo harakat tizimi. Arduino Mega sensorli qalqoni V2 orqali ulangan servolar. Hexapod bilan Bluetooth BT12 moduli orqali aloqa Android ilovasi bilan. 2 x 18650, 3400mAh va 2 x 2400mA akkumulyator bilan ishlaydigan tizim har biri Velcro bilan olti burchakli korpus ostida joylashgan. Servo va boshqaruv tizimlari uchun quvvatni almashtirish tugmasi, oltita boshli boshidagi yashil chiroqli chiroq yonadi. Buyruqlar 16x2 o'lchamli LCD displeyda takrorlanadi. Video tasmasi, yorug'lik halqasi va ultratovushli to'siqlardan qochish boshda joylashgan.

QAYD: Aql -idrok uchun men yuqori sifatli servolardan foydalanishni tavsiya qilaman, men MG995 servosidan boshladim, ulardan 20 tasi, yonib ketdi, markazlash qobiliyatini yo'qotdi yoki ishlamay qoldi.

www.youtube.com/embed/ejzGMVskKec

1 -qadam: Jihoz

Jihoz
Jihoz
Jihoz
Jihoz
Jihoz
Jihoz
Jihoz
Jihoz

1. 20 x DS3218 servo

2. 1x Hexapod tayanch to'plami

3. 1x Arduino Mega R3

4. 1x Arduino Mega sensori qalqoni v2

5. 1 x 2 xonali 18650 batareya ushlagichi

6. 2 x ikkita qutbli quvvat tugmasi

7. Yashil chiroqli yorug'lik va 220 kohmli rezistor

8. Velcro mahkamlagichli 2 x 6v 2800mAh batareya paketlari

9. 2 x 18650 x 3400 mA / soat batareyalar

10. 1x HC-SR04 Sonar moduli

11. 1x BT12 Bluetooth moduli

12. 1 x Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT ishlab chiqish kartasi

13. OV2640 2 megapikselli 1 ta Arducam Mini modulli kamera qalqoni

14. 1 x Pixie Neon 16 LCD yorug'lik uzuk

15. 1 x 16x2 chiziqli LCD displey IIC adapteri bilan biriktirilgan.

16. Arduino Mega uchun 1 x 5v quvvat vilkasi

17. NodeMcu moduli uchun 1 x 5v mikro USB vilkasi.

18. 1 x DC to DC Buck konverter moduli

19. 1 x 70 mm x 120 mm x 39 mm kvadrat qora plastik quti (tanasi)

20. 1 x 70 mm x 50 mm x 70 mm qora plastik quti (bosh)

21. 4 x 40 mm M3 guruch stendlari va 4 ta rezina tayanch tayanchlari

22. Har xil erkak va erkak o'tish kabeli, lehim, m3 vint va murvat va issiq elim

Maxsus mantiq yordamida oyoqlarning harakati. Kamera harakati - ikkita, mustaqil servo orqali, pastga, chapga, o'ngga va markazlashtirilgan harakatdan voz kechish. Android ilovasida WebView ko'rinishida ko'rsatiladigan WIFI ulanishi bilan boshqariladigan kamera.

2 -qadam: SERVOS

SERVOS
SERVOS
SERVOS
SERVOS
SERVOS
SERVOS

Ularning har birida maksimal 180 daraja bor

minimal 0 daraja harakat.

Har bir servo uchta raqam kombinatsiyasi bilan aniqlangan, LegCFT; bu erda C - tanasi (COXA), F - son (FEMUR) va T - tirsak (TIBIA), shuning uchun 410 to'rtinchi oyoq va Tibia servosini, xuddi shunday 411 to'rtinchi oyoq va Tibia servosini anglatadi. Raqamlash ketma-ketligi 100 dan 611 gacha bo'lishi kerak. Har bir servo oyog'i rezinaga asoslangan oyoqli bo'lishi uchun yostiqchali zarba beradi va yaxshiroq ushlashni ta'minlaydi.

Oyoq 1: 100, 110, 111 Old

Oyoq 2: 200, 210, 211 oyoq2-oyoq1

Oyoq 3: 300, 310, 311 oyoq4-oyoq3

Oyoq 4: 400, 410, 411 oyoq6-oyoq5

Oyoq 5: 500, 510, 511 Orqa

Oyoq 6: 600, 610, 611

Barcha Coax Servos uchun standart holat 90 daraja.

Femur Servos uchun standart pozitsiya 90 daraja, 45 daraja dam olish pozitsiyasi.

Tibia Servos uchun barcha oyoqlar uchun standart holat 90 daraja, 1, 3 va 5 -oyoqlarda 175 daraja, qolgan holatda esa 2, 4 va 6 -oyoqlarda 5 daraja.

Bo'yin 1: 700 yuqoriga va pastga harakatlanish uchun 75 dan 105 darajagacha cheklangan

Bo'yin 2: 800 Chap va o'ng harakat uchun 45 dan 135 gradusgacha cheklangan

10 millisekundlik kechikish kiritilgunga qadar, keyingi "yozish" buyruqlari berilishidan oldin, uchta "yozish" bilan cheklangan servo harakati. Bu batareyalarga yukni kamaytirishga yordam beradi.

3 -qadam: Buyruqlar

Buyruqlar
Buyruqlar
Buyruqlar
Buyruqlar
Buyruqlar
Buyruqlar

A = To'xtatish - standart holatda turish.

B = oldinga - walk_forward

C = teskari - walk_backward

D = o'ng - o'ngga burilish

E = chapga - burilish_sola

F = chap tomonga harakat - crab_left

G = o'ng tomonga harakat - crab_right

H = Rear_crouch (maksimal oyoqlari 1 va 2, neytral holatda 3 va 4 oyoqlari, minimal holatida 5 va 6 oyoqlari)

I = Front_crouch (oyoqlari 1 va 2 minimal holatda, 3 va 4 oyoq neytral holatda, 5 va 6 oyoqlari maksimal holatda)

J = kamera burilgan - markaz (1 -bo'yin va 2 -bo'yin o'rta holatda, standart holat)

K = kamera chapga - pan_left (Bo'yin 1, o'rta holat, Bo'yin 2 servo minimal pozitsiyasi)

L = kamera o'ng - pan_right (bo'yin 1, o'rta holat, bo'yin 2 servo maksimal pozitsiya)

M = kamera yuqoriga - pan_up (bo'yin 1 maksimal pozitsiyasi, bo'yin 2 servo o'rta pozitsiyasi)

N = kamera pastga - pan_down (bo'yin 1 minimal pozitsiyasi, bo'yin 2 servo o'rta pozitsiyasi)

O = Dam olish (Hexapod) tayanchlarga o'tiradi.

P = tik turish - Hexapod standart holatiga turadi.

Q = Chiroqlar o'chadi

R = Pixie Neon yorug'lik uzukidagi yashil chiroq.

S = Pixie Neon yorug'lik uzukidagi qizil chiroq.

T = Pixie Neon yorug'lik uzukidagi ko'k chiroq.

U = Pixie Neon yorug'lik uzukidagi oq yorug'lik.

V = Old oyoqlari qimirlatmoqda.

V = Ovoz shoxi.

X = Boshni chapdan o'ngga siljiting.

Y = sozlashni ijro eting.

4 -qadam: HARAKAT

HARAKAT
HARAKAT
HARAKAT
HARAKAT
HARAKAT
HARAKAT

Coax servo pozitsiyasi tananing o'qiga bo'ylama, shuning uchun to'g'ri 0 daraja, to'g'ridan -to'g'ri orqada 180 daraja. Biroq, bu Coax va boshqa barcha servolar 45 dan 135 darajagacha cheklangan bo'ladi.

Oyoqlarning oldinga, teskari, chapga va o'ngga harakatlanishi femur va tibia servoslari yordamida oyoqni ko'tarish bilan boshlanadi, so'ngra tana servo harakati va nihoyat femur va tibia servoslari yordamida o'sha oyoqni yana tushirish bilan boshlanadi..

Oldinga va orqaga

Oyoqlar oldinga yoki orqaga siljish uchun 1 va 2, 3 va 4, 5 va 6 juftlik bilan ishlaydi. Oddiy oldinga siljish 1 va 2 oyoqlardan iborat bo'lib, ular hozirgi holatidan iloji boricha oldinga siljiydi, keyin 3 va 4 oyoqlari, va nihoyat 5 va 6 oyoqlari xuddi shu harakatni takrorlaydi. Keyin barcha oltita Coax servolari oldinga cho'zilgan pozitsiyadan asl holatiga qaytadi. Bu jarayonning teskarisi orqaga harakat qilish uchun ishlatiladi. Oldinga siljish jarayonining bir qismi sifatida HC_SR04 ultratovush qurilmasi oldimizda turgan to'siqlarni tekshiradi va agar topilsa, olti burchakli simni tasodifan chapga yoki o'ngga buradi.

Chap va O'ng

Chap yoki o'ng oyoqlarni siljitish uchun juftliklar birgalikda ishlaydi, lekin qarama -qarshi yo'nalishda. Masalan, o'ng oyog'ini burish uchun 1 hozirgi holatdan 135 graduslik holatga, 2 -oyog'i oldinga 45 graduslik holatiga o'tadi. Bu 3 va 4, 5 va 6 oyoqli juftlar uchun takrorlanadi. Bu vaqtda Coax servolari asl holatini yangi holatiga qaytaradi, bunda tanani harakat yo'nalishiga burishadi. to'g'ri Bu jarayon chap tomonga kerakli burilish tugamaguncha davom etadi. Bu jarayonning teskari tomoni chapga burilish uchun ishlatiladi, shuning uchun 1-oyoq hozirgi holatidan 45 graduslik pozitsiyaga, 2-oyog'i orqaga 135 graduslik holatiga o'tadi.

O'rningdan tur va dam ol

Bu ikkala jarayonda ham Coax servo oyoqlari ishlatilmaydi, shuning uchun Tibia servosini ushlab turish uchun hamma oyoqlari hozirgi holatidan maksimal 45 gradusgacha harakat qiladi, shu bilan birga femur servolari eng past darajaga o'tadi. pozitsiyasi, 175 yoki 5 daraja. Xuddi shu harakat, maksimal 45 gradusgacha turadigan Tibia servolari uchun ham amal qiladi. Dam olish uchun 175 yoki 5 daraja.

Oldinga egilib, orqaga qarab

Bu erda yana jarayonlar bir -birining ko'zgu tasvirlari. Oldinga egilish uchun 1 va 2 -oyoqlar eng past, 5 va 6 -oyoqlari esa eng yuqori holatidadir. Ikkala holatda ham 4 va 5 -oyoqlar neytral pozitsiyani egallaydi, bu esa 1 va 2 va 5 va 6 -sonli oyoqlarga to'g'ri keladi. Orqa tomon egilish uchun 1 va 2 -oyoqlar eng yuqori, 5 va 6 -oyoqlar esa eng past holatda.

5 -qadam: BOShQA KAMERA/SONAR

BOShQA KAMERA/SONAR
BOShQA KAMERA/SONAR
BOShQA KAMERA/SONAR
BOShQA KAMERA/SONAR
BOShQA KAMERA/SONAR
BOShQA KAMERA/SONAR

Bosh 38 mm x 38 mm x 38 mm o'lchamdagi to'rtburchaklar plastik qutidan iborat bo'lib, olinadigan qopqoqli bo'ladi. Quti/bosh cheklangan vertikal va gorizontal harakatga ega bo'ladi. Harakatga ikkita servo yordamida erishiladi, bittasi robot korpusiga, ikkinchisi esa birinchi servo korpusga va uning qo'li boshga biriktirilgan. Ikkita 18650 ta batareya bilan ta'minlangan 7.4V Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT ishlab chiqish platasini, OV2640 2 megapikselli linzali Arducam mini modulli kamera qalqoniga ulanadi. Bu tartib robotga to'siqlarni aniqlashga va bortdagi Wi-Fi orqali jonli video uzatishga imkon beradi. HC-SR04 yordamida sonar va yorug'likni boshqarishning mumkin bo'lgan ma'lumotlari Arduino Mega-ga qaytadi.

Dmainmunga "Arducam Instructables" maqolasi uchun minnatdorchilik bildiraman, bu Ardukamni video uzatish uchun qanday ishlatilishini tushunishimda katta yordam berdi.

Batareya

Barcha servolarni quvvat bilan ta'minlash uchun ikkita batareya paketini, bittasi bosh qismlari va Arduino Mega kartasini, ikkinchi paketini ishlatishga qaror qilindi. Birinchi to'plam 7,4V kuchlanishli 2 x 18650 3400mAh batareyalardan iborat edi. Ikkinchi paket 6 x 28V kuchga ega 2 x 6V akkumulyator batareyalaridan iborat bo'lib, ular 6,4 V kuchlanishli, lekin Velcro chiziqlar yordamida Hexapodning pastki qismiga 5600 mA / soat quvvatga ega.

6 -qadam: LEG HARAKATI

AYO HARAKATI
AYO HARAKATI
AYO HARAKATI
AYO HARAKATI
AYO HARAKATI
AYO HARAKATI

Qo'llar yakka yoki juft bo'lib ishlashi mumkin. Har bir qo'l 45 dan 135 gradusgacha harakatlanadigan Coax deb nomlangan tana bo'g'imidan, 45 dan 135 gradusgacha harakatlanadigan femur sonidan va oxir-oqibat Tibia deb nomlangan tirsak bo'g'imidan yoki 45 dan 135 gradusgacha harakatdan iborat.. Maxsus dasturiy ta'minot oyoqlarning harakatlanishini ta'minlash uchun yozilgan.

Oyoq harakatining turlari:

Coax uchun 45 daraja boshdan orqaga, 90 daraja neytral holatga, 135 daraja oldinga qaragan.

Femur uchun 45 daraja erdan eng yuqori, 90 daraja neytral va 135 daraja erdan eng past pozitsiyadir.

Tibiya uchun 45 daraja tanadan eng uzoq, 90 daraja neytral va 135 daraja tanaga eng yaqin pozitsiyadir.

Faraz qiling, barcha servolar neytral holatda, 90 daraja.

Oldinga: Oyoq 1 va 2, Femur 135 gradusgacha ko'tariladi, Koaks 45 gradusgacha, Tibia tanadan 45 gradusgacha uzoqlashadi, Femur 45 gradusgacha pasayadi. Bu 3 va 4 -oyoqli juftliklar uchun va 5 va 6 -oyoqli juftliklar uchun takrorlanadi. Hamma 6 Koaks servolari 45 gradusdan 90 gradusgacha orqaga, neytral holatga, barcha 6 Femur servolari 45 darajadan 90 gradusgacha, neytral holatga o'tadi. Nihoyat, barcha Tibia servolari 45 darajadan 90 gradusgacha, neytral holatga o'tadi.

Teskari: 5 va 6 -oyoqlardan, keyin 3 va 4 -oyoqlardan, va nihoyat, 1 -va 2 -oyoqlardan boshlang, aks holda harakat Coax, Femur va Tibia uchun bir xil bo'ladi.

Chapda: 1, 3 va 5 -oyoqlar teskari yo'nalishda, 2, 4 va 6 -oyoqlari oldinga siljiydi. Oldinga va teskari harakat standart oldinga va teskari harakatga mos keladi. Hamma oltita Coax servosini aylantirish uchun tanani aylantiradigan 45 daraja harakatlaning.

O'ngda: 2, 4 va 6 -oyoqlar teskari yo'nalishda, 1, 3 va 5 -oyoqlar oldinga siljiydi. Oldinga va teskari harakat standart oldinga va teskari harakatga mos keladi. Koaks harakati yuqoridagi kabi, lekin teskari yo'nalishda.

Dam olish: Hamma Coax va Femur servolari neytral holatda, barcha Tibia servolari 45 daraja past holatda, old, o'rta va orqa oyoqlarini samarali egib oladi.

Orqa tomon, oldinga qarab turing: 1 va 2 -oyoqlari eng yuqori holatda, 3 va 4 -oyoqlari neytral, 5 va 6 -oyoqlari eng past holatda.

Orqa tomonda, egilib turing: 1 -oyoq va eng past holatda, 3 va 4 -oyoqlar neytral, 5 va 6 -oyoqlar eng yuqori holatda.

Qisqichbaqa chap: 1 va 5 -oyoqlari yuqoriga ko'tariladi va chapga cho'ziladi, shu bilan birga 2 va 6 -oyoqlari ko'tarilib, tana ostida qisqaradi. Bu to'rt oyog'i erga yotqizilganida, barcha Tibias neytral holatiga qaytadi. Nihoyat, 3 va 4 -oyoqlar xuddi shu jarayonni takrorlaydi.

Qisqichbaqa o'ng: 2 va 6 -oyoqlari yuqoriga ko'tariladi va o'ng tomonga cho'ziladi, shu bilan birga 1 va 5 -oyoqlari ko'tarilib, tana ostida qisqaradi. Bu to'rt oyog'i erga yotqizilganida, barcha Tibias neytral holatiga qaytadi. Nihoyat, 3 va 4 -oyoqlar xuddi shu jarayonni takrorlaydi.

Chap bosh harakati: bo'yin 1 servo 45 daraja. Ikkala servo ham 90 neytral holatga qaytadi.

O'ng bosh harakati: bo'yin 1 servo 135 daraja

Boshni yuqoriga ko'tarish: bo'yin 2 servo 45 daraja

Boshni pastga tushirish: bo'yin 2 servo 135 daraja

Pan boshi harakati: bo'yin 2 45 dan 135 gradusgacha harakat qiladi

SERVOS

Dastlabki sinovdan so'ng MG995 va MG996 servolari almashtirildi. Hammasi 20 ta servo, ularning o'rnini DS32228 20kgli servolarga almashtirdi, bu esa ancha yaxshilangan markazlashtirish va yuk ko'tarish qobiliyatini oshirdi.

Har bir servo mos test dasturi yordamida sinab ko'rish juda muhimdir. Men oddiy "tozalash" misol dasturini 0, 90 va 180 pozitsiyalarni sinab ko'rish uchun o'zgartirdim, bu sinov tartibi har bir servo uchun kamida 5 daqiqa davomida bajarilgan va keyin bir kundan keyin takrorlangan.

QAYD: USB kabeli bilan ishlaydigan standart Arduino Uno kartasidan foydalanish ma'lum servolarni ishga tushirish uchun etarli kuchlanishni bermasligi mumkin. Men Uno -dan olingan 4.85v servo DS3218 servolari bilan tartibsiz xatti -harakatlarga sabab bo'lganini aniqladim, bu kuchlanishni 5.05v ga ko'tarish bu muammoni hal qildi. Shunday qilib, men servolarni 6v da ishlatishga qaror qildim. Oxir -oqibat men 6,4v kuchlanish zarurligini aniqladim, chunki 6v servolarning tartibsiz xatti -harakatlarini keltirib chiqardi.

7 -qadam: QURILISH

QURILISH
QURILISH
QURILISH
QURILISH
QURILISH
QURILISH

OYOQLAR

Hexapod to'plamining qismlarini yotqizishdan boshlandi. Barcha servo dumaloq shoxlar Femurning ikkala uchida va barcha Koaks teshiklarida matlash teshigini kattalashtirishni talab qildi. Har bir servo shox mos keladigan Coax va Femurga to'rt vint va beshinchi vint bilan servo boshining o'rtasi orqali bog'langan. To'rtta murvat va yong'oq yordamida biriktirilgan barcha servo korpuslar. Oltita oyoqning har biri uchun Coax servo o'rnatish moslamasining tagiga bitta murvat va yong'oq yordamida biriktirilgan. Har bir Coax servo moslamasi, to'rtta murvat va yong'oq yordamida, Femur servo moslamasiga o'rnatildi, bu o'rnatish 90 gradusga burildi. Femur servo boshi femur qo'lining bir uchiga, femurning ikkinchi uchi Tibia servo boshiga biriktirilgan. Oltita Tibia servolari oltita oyoqning yuqori qismiga to'rtta murvat va yong'oq bilan biriktirilgan. Har bir oyoq uchi effektori qo'shimcha tutish uchun yumshoq rezina etik bilan qoplangan. Ma'lum bo'lishicha, berilgan servo shoxi Coax, Femur va Tibia ulanishlarini mahkamlash uchun juda katta bo'lgan, shuning uchun barcha markaziy teshiklar 9 mm gacha kattalashtirilgan. "Toglefritz" ga Hexapod to'plamining qurilish elementlarini o'rgatuvchi Capers II uchun rahmat. Ammo men bir sohada qurilishdan, ya'ni femurning ikkala uchiga servo shoxlarini biriktirishdan voz kechdim. Men femurning markaziy teshigini kattalashtirishga qaror qildim, bu orqali servo shoxining markazidan o'tib ketishi uchun servo shoxga qo'shimcha kuch berildi, chunki u servoga yaqinroq edi va bu ikki bo'g'in maksimal torkni boshdan kechirdi. Har bir servo shox Femurga ikkita M2.2 o'z -o'zidan tejamkor vint yordamida biriktirilgan, bu vintlarning uchlari olib tashlangan va tekis yotqizilgan. Barcha M3 murvatlari mahkamlangan.

TANI

Tananing har biri oltita teshikli ikkita plastinadan iborat bo'lib, ularning har biri Coax servo shoxini ulash uchun ishlatiladi. Pastki plastinkaning pastki qismiga Velcro yordamida 6V 2800mAh quvvatli ikkita batareya o'rnatilgan. Batareya ushlagichining pastki qismidan o'tib ketadigan to'rtta M3 stendlar o'rnatildi, ularning har birining tagida yumshoq kauchuk etik bor edi, bu esa Hexapodni ushlab turishi mumkin bo'lgan mustahkam tayanchni ta'minlaydi. Pastki plastinkaning yuqori qismiga Arduino Mega va uning Sensor qalqoni 5 mmli to'rtta tayanchlar yordamida biriktirilgan. Pastki plastinkaning yuqori qismiga 6 sm balandlikdagi 4 x M3 stendlar o'rnatildi, ular Arduino Mega -ni o'rab olishdi va ustki plastinkani qo'llab -quvvatlashdi. Yuqori plastinkada 120 mm x 70 mm x 30 mm o'lchamdagi quti o'rnatilgan bo'lib, u bo'yin servosining birinchisi va LCD displeyga ega bo'ladi. Ikkinchi bo'lak, 2 x 18650 batareya ushlagichi, yuqori plastinkaning pastki qismiga, Arduino Mega kartasining orqa tomoniga, oltita panel old tomoniga qaragan.

Yuqori plastinkada har biri to'rtta M2.2 vint bilan biriktirilgan oltita servo shox bor. Plitaning yuqori qismiga 70 mm x 120 mm x 30 mm o'lchamdagi quti o'rnatilgan bo'lib, uning ichiga 2 ta 18650 batareyali ushlagich, ikkita qutbli kalit, yashil LED va IC2 16 x 2 LCD displey o'rnatilgan. Bundan tashqari, birinchi bo'yin servo ham o'rnatiladi, quvvat va ikkinchi bo'yin servo ma'lumot kabeli ikkinchi servo va Arduino V3 NodeMcu modulini oziqlantirish uchun teshikdan o'tadi. Qo'shimcha ma'lumot kabeli yuqori qutidan o'tadi va yana boshida joylashgan HC-SR04 ultrasonik modulini uzatadi. Ikkinchi ma'lumot va quvvat kabeli, shuningdek, pikselli halqani quvvatlantirish uchun boshdan o'tdi.

Ikki servo ma'lumot uzatish kabeli va HC-SR04 ma'lumot kabeli yuqori plastinka orqali uzatiladi, bunda Bluetooth moduli plastinkaning pastki qismiga neon shaklidagi yostiq va issiq elim yordamida biriktiriladi. Qolgan 18 ta servo ma'lumot kabelining kabel boshqaruvi, yuqori plastinkani pastki plastinkaga mahkamlangan 4 x M3 stendli sig'imga mos keladigan 4 x M3 vint yordamida pastki plastinkaga mahkamlashdan oldin bo'lishi kerak. Yuqori plastinka biriktirish jarayonining bir qismi sifatida, Coax -ning barcha oltita servolari to'g'ri joylashtirilishi kerak, ular rulmanni pastki plastinka teshigiga va servo boshini yuqori plastinka shoxiga o'rnatadi. O'rnatilgandan so'ng, oltita Coax servosining tepalari 6 M3 vintlar bilan mahkamlanadi. Oltita Coax servolari uchun servo shoxlarning joylashuvi tufayli, 4 x M3 balandligi 2 mm ga qisqarishi kerak edi, shunda Coax servo rulmanlari pastki plastinkaga to'g'ri joylashdi.

BOSH

Bosh bir-biriga 90 graduslik ikkita servodan iborat, bittasi ustki plastinkaga biriktirilgan qutiga joylashtirilgan, ikkinchisiga guruchli plastinkaning U shaklidagi qismi yordamida servo shox orqali ulangan. Ikkinchi servo shoxi 70 mm x 70 mm x 50 mm o'lchamdagi ikkita murvat va yong'oqli L shaklidagi guruchli qavsga biriktirilgan. Quti boshni tashkil qiladi, uning ichida Ardcam kamerasi, HC-SR04 ultratovushli moduli, Arduino V3 NodeMcu moduli va quvvat yoritgichi o'rnatilgan. Ultrasonik modulning ikkalasi ham kamera linzalari kabi qutining old qismidan sensorli boshlarni uzatadi va qabul qiladi. Qutining tashqi tomonidagi linzalar atrofida 16 ta LCD Nero pixie uzuk joylashgan. NodeMcu quvvat diodini boshning orqa plastinkasidagi teshik, elektr kabeli, ultrasonik modulning ma'lumot kabeli va pixie Neon ma'lumot quvvat kabellari orqa plastinka va bosh plastinka orasidagi teshik orqali kiradi.

ELEKTRONIKA

Quyidagi Fritzing diagrammalarida korpus va bosh elektronikasi ko'rsatilgan. Diagramma ravshanligi uchun 20 ta servo uchun VCC va GRD chiziqlari ko'rsatilmagan. Bluetooth moduli Android ilovasi orqali Hexapod harakatini, shu jumladan bo'yin servosini boshqaradi. WIFI asosidagi Arduino NodeMcu moduli Arducam kamera modulini boshqaradi. Barcha servolar Arduino sensori ekraniga VCC, GRD va signal chizig'ini o'z ichiga olgan bitta blok orqali ulanadi. Bluetooth BT12, HC-SR04 va IC2 LCD-ni ulash uchun standart 20 smli DuPont o'tish kabellari ishlatiladi.

LEG KALIBRASIYASI

Bu olti burchakli oyoq harakatidan oldin tayyorgarlikning eng qiyin joylaridan biri. Boshlang'ich g'oya - barcha oyoqlarni quyidagi darajaga qo'yish, Coax servolari 90 daraja, Femur servolari 90 daraja va Tibia servolari 90, jismoniy oyoq pozitsiyasi 2, 4 va 6 va 75 oyoqlar uchun 105 daraja. oyoqlari 1, 3 va 5 uchun. Hexapod batareyaning korpusi ostidagi to'rtta tayanchga suyangan tekis yuzaga joylashtirilgan. Bu oyoqlar, har bir oyoq orasidagi masofada va tanadan teng masofada joylashgan. Bu joylarning barchasi tekis yuzada belgilanadi. Oyoqlarni qurishda har bir servoning o'rta nuqtasi topilgan, bu 90 darajali servo bo'lishi kerak. Bu 90 graduslik standart holat barcha servolarda ishlatiladi.

Coax servo 2 va 5 ichki yuzlari bir -biriga parallel, bu 1 va 6, 3 va 4 -servolarga tegishli. Barcha Femur va Coax servolari qurilish bosqichida bir -biriga 90 daraja bir -biriga o'rnatiladi. Barcha Femur servolari Femur qo'lini 90 graduslik burchak bilan bog'lab qo'ygan. Tibia -ning barcha servolari Tibiyaga 90 gradusda biriktirilgan. 2, 4 va 6 Tibia servolari Femur bilagiga 105 gradusda, 1, 3 va 5 Tibia servolari Femur bilagiga 75 gradusda biriktirilgan.

Shuni ta'kidlash kerakki, sinov paytida barcha servolarni harorat nazorat qilish kerak, issiq servo servo juda qattiq ishlayotganini va ishlamay qolishi mumkinligini anglatadi, ko'pchilik servolar issiq bo'ladi.

Dastlabki kalibrlash - bu o'n olti burchakli qurilmani ishga tushirgandan so'ng, uni barqaror, barqaror, tekis va eng muhimi servolarning hech biri qizib ketmaydigan tik holatiga o'tkazish. Barqaror pozitsiyani saqlab qolish uchun har bir servoga 20 millisekunddan kam kechikish bilan yozish kerak, 10 millisekund ishlatilgan. Barcha servolar faqat 0 dan 180 gradusgacha va 180 darajadan 0 ga qaytishi mumkin, shuning uchun hamma Femur servolari uchun 0 va 180 daraja vertikal va 90 daraja gorizontal.

Har bir servo biriktirilgunga qadar, har bir oldindan belgilangan servolarga boshlang'ich yozuvi yuborilgan bo'lib, unga hozirgi dam olish burchagi berilgan. dam olish paytida servo hozirgi holatidadir. Bu barcha Coax servolari uchun 90 daraja, Femur va Tibia 1, 3 va 5 servolari uchun 55 daraja, Femur va Tibia 2, 4 va 6 servolari uchun 125 daraja edi.

Shuni ta'kidlash kerakki, kalibrlash seansining boshida batareyalar har doim to'liq zaryadlangan bo'lishi kerak.

Hexapod har doim dam olish holatidan boshlanadi, butun tanasi to'rt oyoqli. Bu pozitsiyadan boshlab, barcha Femur va Tibia servolari boshlang'ich pozitsiyalaridan tik turgan holatlarigacha aylanadi, bunda barcha servolar 90 daraja. Tik turgan joyni to'ldirish uchun "turish" buyrug'i beriladi, bu buyruq barcha oyoqlarni yuqoriga ko'tarib, uchta oyoq harakatining ikkita to'plamida, ya'ni 1, 5, 4 va 2, 6 va 3 -sonli holatga qaytarishlarini talab qiladi.

8 -qadam: dasturiy ta'minot

Dastur uch qismdan iborat, birinchi qismi Arduino Mega -da ishlaydigan Arduino kodi, ikkinchi qismi boshidagi NodeMcu modulida ishlaydigan Arduino kodi. Aloqa Android BT12 planshetidan buyruqlarni qabul qiladigan Bluetooth BT12 birligi orqali amalga oshiriladi, ya'ni Android Studio tomonidan o'rnatilgan maxsus dastur bilan ishlaydigan Samsung Tab 2. Bu Hexapod -ga buyruqlar yuboradigan dastur. Xuddi shu dastur NodeMcu modulidan o'rnatilgan WIFI orqali jonli video uzatishni ham oladi.

ANDROID KODI

Android Studio yordamida ishlab chiqilgan Android kodi ikkita ekranli dastur ishlaydigan platformani ta'minlaydi. Ilovada ikkita ekran bor, asosiy ekran foydalanuvchiga Hexapod -ga buyruqlar berish va olti burchakli boshidan keladigan video tasmasini ko'rish imkonini beradi. WIFI tugmasi orqali kirish mumkin bo'lgan ikkinchi ekran, foydalanuvchiga, birinchi navbatda, olti burchakli Bluetooth -ga, ikkinchidan, olti burchakli boshidagi NodeMCU Arduino kartasi tomonidan ishlab chiqariladigan WIFI hot -nuqtasiga ulanish imkonini beradi. Ilova bitta harfli buyruqlarni ketma -ket 9600 Baud orqali planshetdan o'rnatilgan bluetooth orqali hexapodga biriktirilgan BT12 Bluetooth -ga yuboradi.

ARDUINO kodi

Kodni ishlab chiqish Hexapod, uning boshi va tanasining asosiy funktsiyalarini sinab ko'rish uchun mo'ljallangan sinov dasturini ishlab chiqish bilan boshlandi. Bosh va uning ishi tanadan mutlaqo alohida bo'lgani uchun, uning funktsional kodi bilan parallel ravishda dasturiy ta'minot ishlab chiqilgan. Boshning ishlash kodi asosan servo harakatini o'z ichiga olgan oldingi ishlab chiqishga asoslangan edi. Kod 16x2 LCD displey, HC-SR04 ultratovushli modul va 16 LED yorug'lik halqasining ishlashini o'z ichiga olgan. WIFI -ga jonli video tasmaga boshdan kirishni ta'minlash uchun kodni qo'shimcha ishlab chiqish kerak edi.

Tananing funktsiya kodi dastlab servo biriktirma va dam olish holatidagi dastlabki holatini ta'minlash uchun ishlab chiqilgan. Bu pozitsiyadan boshlab, hexapod oddiy turish uchun dasturlashtirilgan. Keyin ishlab chiqish oltita uchburchakning qo'shimcha harakatlari va bosh va tana kodlari bo'limlarini Android ilovasi bilan ketma -ket aloqa bilan birlashtirish bilan davom etdi.

Test servo kodi oyoq va tana harakatlarini rivojlantirishga imkon berdi, xususan:

1. InitLeg - Oyoqlarning tik holatiga, tik turgan holatiga, chap yoki o'ng yurish uchun qisqichbaqaning boshlang'ich pozitsiyasiga, oldinga yoki orqaga yurish uchun oyoqning dastlabki holatiga ruxsat beradi.

2. To'lqin - tik turgan joyiga qaytishdan oldin, oldingi oyoqlarning to'rt marta to'lqinlanishiga imkon beradi.

3. TurnLeg- olti burchakli panelga chapga yoki o'ngga burilishga ruxsat beradi.

4. MoveLeg- olti burchakli panelda oldinga yoki orqaga yurishga ruxsat beradi.

5. CrouchLeg- olti burchakli oyoqqa oldinga, old oyoqlariga yoki orqaga orqa oyoqlariga egilish imkonini beradi.

Oyoqlarning harakati juft oyoqlarning birgalikda ishlashiga asoslangan, shuning uchun 1 va 2, 3 va 4, 5 va 6 -oyoqlar juft bo'lib ishlaydi. Harakat ikkita asosiy harakatdan iborat: oldinga siljish va orqaga surish. Orqaga yurish uchun bu ikki harakat teskari bo'ladi, masalan, oldinga yurish, 1 va 2 -oyoqlarni tortish, 5 va 6 -oyoqlarni itarish, 3 va 4 -oyoqlar barqarorlikni ta'minlaydi. Qisqichbaqa bilan yurish - bu xuddi shu harakatlar, lekin tanaga 90 daraja burchak ostida o'rnatiladi, bu holda 3 va 4 -oyoqlar ham boshqa oyoqlar kabi harakatlanadi. Yurish paytida oyoq juftlari navbatma -navbat harakat qiladilar, lekin qisqichbaqa 1 va 5 oyoqlari juft bo'lib ishlaydi, 3 -oyoq esa 1 va 5 -oyoqlarga muqobil qadamlarda ishlaydi.

Harakatning funktsional tavsifi har bir asosiy harakat funktsiyalari uchun berilgan, ularning har biri birlashtirilgan va belgilangan ketma -ketlikda harakatlanadigan elementlardan iborat.

RESTING: tik turgan joydan boshlab, barcha femur servolari tanani to'rtta tayanchga tushirish uchun yuqoriga ko'tariladi. Shu bilan birga, barcha Tibia servolari ichkariga qarab harakatlanadilar.

TURISH: Dam olish holatidan boshlab, barcha Tibia servolari tashqariga siljiydi, bu tugallangach, barcha Femur servolari 90 graduslik holatga o'tadi, nihoyat, barcha Tibia servolari bir vaqtning o'zida 90 graduslik holatiga o'tadi.

Chapga burilish: 1, 3 va 5 -oyoqlar boshdan 45 gradus orqaga, bir vaqtning o'zida 2, 4 va 6 oyoqlari bosh tomon oldinga siljiydi. Barcha Coax servolari hozirgi holatidan standart 90 graduslik holatiga qaytganda, bu harakat tanaga soat sohasi farqli o'laroq bo'ladi.

O'ngga burilish: 1, 3 va 5 -oyoqlar boshga qarab 45 gradus oldinga siljiydi, shu bilan birga 2, 4 va 6 -oyoqlar boshdan orqaga buriladi. Barcha Coax servolari hozirgi holatidan standart 90 graduslik holatiga qaytganda, bu harakat tanaga soat yo'nalishi bo'yicha bo'ladi.

CROUCH FORWARD: Femur va Tibia servolari yordamida 1 va 2 -oyoqlari pastroq, 5 va 6 -oyoqlari Femur va Tibia servolari yordamida ko'tariladi, 3 va 4 -oyoqlari standart holatda qoladi.

CROUCH BACKWARD: 1 va 2 -oyoqlari Femur va Tibia servolari yordamida ko'tariladi, 5 va 6 -oyoqlari Femur va Tibia servolari yordamida tushiriladi, 3 va 4 -oyoqlari standart holatda qoladi.

WAVING: Bu tartib faqat 1 va 2 -oyoqlarni ishlatadi. Coax servolari 50 gradusli yoyda, Femur va Tibiya ham 50 gradusli yoyda harakatlanadi. 3 va 4 -oyoqlar boshga 20 gradus oldinga siljiydi, bu yanada barqaror platformani ta'minlaydi.

Oldinga yurish: 1 va 6, 2 va 5 va 3 va 4 -oyoqlari birgalikda ishlashi kerak. Shunday qilib, 1 -oyog'i tanani tortayotganda, 6 -oyog'i tanani itarishi kerak, bu harakat tugashi bilan 2 va 5 -oyoqlar ham xuddi shu harakatni bajarishi kerak, bu harakatlarning har bir tsikli 3 va 4 -oyog'ini bajarishi kerak. tartibni oldinga siljiting.

Oyoq modulining dastlabki sinov funktsiyalari har uch oyoq harakati uchun dizayn yaratishga imkon berdi. Uch oyoq harakati kerak, chunki qarama -qarshi oyoqlar teskari harakatlarni bajaradi. 1, 3 va 6 -sonli yangi oyoqli modul ishlab chiqildi, sinovdan o'tkazildi va ikkinchi teskari oyoq 2, 4 va 5 oyoqli modul uchun nusxa ko'chirildi. Olti burchakli oyoqlarning harakatlarini tekshirish, olti burchakli oyoqni erga tegmasdan, to'liq harakatlanishini ta'minlash uchun, ko'tarilgan blokga qo'yish orqali amalga oshirildi. Oyoqlar harakatlanayotganda o'lchovlar amalga oshirildi va barcha oyoqlar gorizontal ravishda 80 mm masofada harakatlanishi aniqlandi, shu bilan birga harakat paytida eng past nuqtada erdan 10 mm masofada qoldi. Bu shuni anglatadiki, hexapod harakat paytida yonma -yon siljiydi va harakat paytida barcha oyoqlari teng tortish kuchiga ega bo'ladi.

TERISH YURISH:

QARABA QARShIDA YURISH ChAP: Dastlabki harakat 1, 2, 5 va 6 -oyoqlardan boshlanadi, ularning hammasi 45 daraja harakat yo'nalishi tomon buriladi. Bu barcha oyoqlarni harakat yo'nalishiga muvofiq joylashtiradi, 3 va 4 -oyoqlar allaqachon to'g'ri yo'nalishda. Femur va Tibia har bir oyog'ining 90 graduslik holatidan boshlanadi. Bu yurish navbatdagi qadamda ishlaydigan uchta oyoqdan iborat ikkita to'plamdan iborat: 1, 5 va 4 -oyoqlar, 3, 2 va 6 -oyoqlar. Har uch oyoqli to'plam oldingi oyoqlari bilan, ya'ni 1 va 5 -sonli tortish va 4 -oyoq, bu harakat teskari tomonga buriladi, shuning uchun 3 -oyog'i tortadi, 2 va 6 -oyoqlari itarganda, Coax servolarining hech biri bu harakat paytida hech qanday ish qilmaydi. Uch oyoqli har bir to'plam, birinchi to'plam harakatlanayotganda, boshqa turg'un oyoqlarini ko'taradi.

QARBAK YURISH HAQIDA:

DIQQAT: Bosh qisqichbaqa yurish yo'nalishi bo'yicha chapga yoki o'ngga buriladi. Bu yurish paytida HC-SR04 ultra tovushli aniqlashni ishlatishga imkon beradi.

AYOLNI O'RNATISH: Hexapod tekis turishi uchun barcha oyoqlari bir xil balandlikda turishi kerak. Hexapodni bloklarga joylashtiring, so'ngra stend va dam olish tartibidan foydalanib, har bir so'nggi efektorning erdan masofasini o'lchash mumkin edi. Men har bir so'nggi effektorga rezina etiklar qo'shdim, ular avval tutqichni qo'shishdi, lekin hamma oyoqlari orasiga 5 mm yoki undan kam bo'lishi uchun oyoq uzunligini ozgina sozlash imkonini berdi. Har bir servo burchakni 90 gradusga o'rnatish juda oson edi, lekin femurning ikkala uchiga mahkamlangan shoxlarning ichki burchaklari burilish burchaklarining juda kichik farqlari tufayli oyoq balandligi 20 mm ga farq qiladi. Vintlarni servo shoxlaridagi turli mahkamlagich teshiklariga almashtirish bu 20 mm balandlikdagi farqni to'g'irladi. Men bu muammoni dastur yordamida bu balandlikdagi farqlarni qoplash o'rniga, shu usul yordamida hal qilishga qaror qildim.

Tavsiya: