İçindekiler:

Jasper the Arduino Hexapod: 8 Adım (Resimlerle)
Jasper the Arduino Hexapod: 8 Adım (Resimlerle)

Video: Jasper the Arduino Hexapod: 8 Adım (Resimlerle)

Video: Jasper the Arduino Hexapod: 8 Adım (Resimlerle)
Video: How to Disable Incognito Mode in Google Chrome PC 2024, Temmuz
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

Proje Tarihi: Kasım 2018

GENEL BAKIŞ (JASPER)

Arduino Mega tarafından kontrol edilen altı ayak, bacak başına üç servo, 18 servo hareket sistemi. Arduino Mega sensör kalkanı V2 ile bağlanan servolar. Bluetooth BT12 modülü üzerinden Hexapod ile iletişim, özel Android uygulaması için konuşuyor. 2 x 18650, 3400mAh ve 2 x 2400mA pil seti ile çalışan sistem, her biri hexapod gövdesinin altında Velcro ile tutulur. Hexapod'un başındaki yeşil led güç açık gösterge ışığı gibi hem Servo hem de Kontrol sistemleri için bir güç geçiş anahtarı sağlanır. Komutlar 16x2 LCD ekrana tekrarlanır. Video beslemesi, ışık halkası ve ultrasonik engellerden kaçınma kafasında bulunur.

NOT: Akıl sağlığı adına, kaliteli servoların kullanılmasını şiddetle tavsiye ediyorum, 20 tanesinden 11 tanesi yanmış, merkezleme yeteneğini kaybetmiş ya da basitçe çalışmayı bırakan MG995 servolarla başladım.

www.youtube.com/embed/ejzGMVskKec

Adım 1: EKİPMAN

TEÇHİZAT
TEÇHİZAT
TEÇHİZAT
TEÇHİZAT
TEÇHİZAT
TEÇHİZAT
TEÇHİZAT
TEÇHİZAT

1. 20 x DS3218 servo

2. 1x Hexapod taban kiti

3. 1x Arduino Mega R3

4. 1x Arduino Mega sensör kalkanı v2

5. 1 x 2 bölmeli 18650 pil tutucu

6. 2 x iki kutuplu güç anahtarı

7. Yeşil led ışık ve 220kohm direnç

8. Velcro sabitlemeli 2 x 6v 2800mAh pil paketleri

9. 2 x 18650 x 3400mAh pil

10. 1x HC-SR04 Sonar modülü

11. 1x BT12 Bluetooth modülü

12. 1 x Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT geliştirme kartı

13. OV2640 2 Megapiksel Lensli 1 x Arducam Mini Modül Kamera Kalkanı

14. 1 x Pixie Neon 16 LCD ışık halkası

15. IIC adaptörü takılı 1 x 16x2 satır LCD ekran.

16. Arduino Mega için 1 x 5v elektrik fişi

17. NodeMcu modülü için 1 x 5v mikro USB fişi.

18. 1 x DC - DC Buck dönüştürücü modülü

19. 1 x 70mm x 120mm x 39mm kare siyah plastik kutu (Gövde)

20. 1 x 70mm x 50mm x 70mm siyah plastik kutu (Kafa)

21. 4 x 40 mm M3 pirinç ayak ve 4 lastik destek desteği

22. Çeşitli erkekten erkeğe atlama kabloları, lehim, m3 vida ve cıvatalar ve sıcak tutkal

Ismarlama mantık kullanarak bacakların hareketi. Yukarı, aşağı, sol, sağ ve ortalanmış hareketi veren iki bağımsız servo aracılığıyla kamera hareketi. WIFI bağlantısıyla kontrol edilen kamera, Android Uygulamasında WebView görünümünde görüntüleniyor.

2. Adım: SERVOS

SERVİS
SERVİS
SERVİS
SERVİS
SERVİS
SERVİS

Her birinin maksimum 180 derece

minimum 0 derece hareket.

Üç sayı kombinasyonu ile tanımlanan her servo, LegCFT; burada C gövdedir (COXA), F uyluktur (FEMUR) ve T dirsektir (TIBIA), bu nedenle 410 dördüncü bacak ve Tibia servo anlamına gelir, benzer şekilde 411 dördüncü bacak ve Tibia servo anlamına gelir. Numaralandırma sırası 100'den 611'e kadar olacaktır. Her servo ayağı, darbeyi azaltmak ve daha iyi kavrama sağlamak için kauçuk tabanlı ayağa sahiptir.

Ayak 1: 100, 110, 111 Ön

Ayak 2: 200, 210, 211 ayak2-bacak1

Bacak 3: 300, 310, 311 bacak4 bacak3

Ayak 4: 400, 410, 411 ayak6-ayak5

Ayak 5: 500, 510, 511 Geri

Ayak 6: 600, 610, 611

Tüm Coax Servolar için varsayılan konum 90 derecedir.

Femur Servolar için varsayılan konum 90 derecedir, 45 derece dinlenme konumudur.

Tüm bacaklar için Tibia Servolar için varsayılan konum 90 derecedir, bacaklar 1, 3 ve 5, dinlenme konumu olarak 175 derece ve bacaklar 2, 4 ve 6 5 derece kullanır.

Boyun 1: 700 Yukarı ve aşağı hareket için 75 ila 105 derece ile sınırlıdır

Boyun 2: 800 Sol ve sağ hareket için 45 ila 135 derece ile sınırlıdır

Diğer "yazma" komutları verilmeden önce 10 milisaniyelik bir gecikme dahil edilmeden önce üç "yazma" ile sınırlandırılan servo hareket. Bu, pillerdeki yükü azaltmaya yardımcı olur.

3. Adım: KOMUTLAR

KOMUTLAR
KOMUTLAR
KOMUTLAR
KOMUTLAR
KOMUTLAR
KOMUTLAR

A=Dur – Varsayılan konumda durun.

B=ileri - walk_forward

C=ters - walk_backward

D=sağa - dönüş_sağa

E=sol - dönüş_sola

F=sol yana doğru hareket - crab_left

G=sağ yana doğru hareket - crab_right

H=Rear_crouch (en fazla 1 ve 2 numaralı bacaklar, nötr pozisyonda 3 ve 4 numaralı bacaklar, minimum pozisyonda 5 ve 6 numaralı bacaklar)

I= Front_crouch (bacaklar 1 ve 2 minimum pozisyonda, 3 ve 4 bacaklar nötr pozisyonda, bacaklar 5 ve 6 maksimum pozisyonda)

J= kamera eğimli – merkez (Boyun 1 ve Boyun 2 orta konumda, varsayılan konum)

K=kamera sol - pan_left (Boyun 1, orta konum, Boyun 2 servo minimum konumu)

L=kamera sağ - pan_right (Boyun 1, orta konum, Boyun 2 servo maksimum konumu)

M=kamera yukarı - pan_up (Boyun 1 maksimum konum, Boyun 2 servo orta konum)

N=kamera aşağı - pan_down (Boyun 1 minimum konumu, Boyun 2 servo orta konumu)

O=Dinlenme (Hexapod) desteklere oturur.

P=Ayakta – Hexapod varsayılan konuma dayanır.

Q=Işıklar kapalı

R=Pixie Neon ışık halkasında yeşil ışık.

S=Pixie Neon ışık halkasında kırmızı ışık.

T=Pixie Neon ışık halkasında mavi ışık.

U=Pixie Neon ışık halkasında beyaz ışık.

V=Ön bacaklar sallanıyor.

W=Ses Kornası.

X=Kafayı soldan sağa doğru süpür.

Y=Aynı Çal.

4. Adım: HAREKET

HAREKET
HAREKET
HAREKET
HAREKET
HAREKET
HAREKET

Coax servo konumu, gövde eksenine göre uzunlamasınadır, bu nedenle dümdüz ileri 0 derece ve doğrudan arka 180 derecedir. Ancak, bu Coax ve diğer tüm servolar 45 ila 135 derece ile sınırlı olacaktır.

İleri, geri, sol ve sağ bacak hareketinin tümü, Femur ve Tibia servoları kullanılarak bacağın kaldırılmasıyla başlatılacak, ardından vücut servo hareketi ve son olarak aynı bacağın Femur ve Tibia servoları kullanılarak tekrar indirilmesiyle başlayacaktı..

İleri ve geri

Bacakları ileri veya geri hareket ettirmek için çiftler halinde çalışın, 1 ve 2, 3 ve 4, 5 ve 6. Basit bir ileri hareket, mevcut konumlarından mümkün olduğunca ileriye doğru hareket eden 1 ve 2 numaralı bacaklardan, ardından 3 ve 4 numaralı bacaklardan oluşur, ve son olarak 5 ve 6 ayak aynı hareketi tekrar eder. Ardından altı Coax servonun tamamı bu uzatılmış ileri konumdan orijinal başlangıç konumlarına geri döner. Bu işlemin tersi geriye doğru hareket etmek için kullanılır. İleriye doğru hareket sürecinin bir parçası olarak HC_SR04 ultrasonik ünite önündeki engelleri kontrol edecek ve eğer bir engel bulunursa Hexapod'u rastgele sola veya sağa çevirin.

Sol ve sağ

Sol veya sağ bacak çiftlerini hareket ettirmek için birlikte ama zıt yönlerde çalışırlar. Bu nedenle, örneğin sağ bacağı döndürmek için 1. bacak mevcut konumdan 135 derecelik konuma geri dönerken, 2. bacak ileri doğru 45 derecelik konuma hareket eder. Bu, 3 ve 4 numaralı bacak çiftleri ile 5 ve 6 numaralı bacak çiftleri için tekrarlanır. Bu sırada Coax servolar, gövdeyi hareket yönüne çevirerek orijinal konumlarını yeni konumlarına geri döndürürler, yani. sağ. Bu işleme gerekli sola döndürme tamamlanıncaya kadar devam edilir. Bu işlemin tersi sola dönmek için kullanılır, bu nedenle 1. ayak mevcut konumundan 45 derecelik pozisyona hareket ederken, 2. ayak 135 derecelik pozisyona geri hareket eder.

Ayağa kalk ve Dinlen

Bu işlemlerin her ikisi de bacakların hiçbirinin Coax servosunu kullanmaz, bu nedenle Tibia servosunu ayağa kaldırmak için tüm bacaklar için mevcut konumundan maksimum 45 dereceye hareket ederken, aynı Femur servolarını dinlendirmek için en düşük seviyelerine hareket eder. konum, 175 veya 5 derece. Aynı hareket, ayakta durmak için maksimum 45 derece ve minimum, yani. Dinlenmek için 175 veya 5 derece.

Öne Çömelme ve Geri Çömelme

Burada da süreçler birbirinin ayna görüntüsüdür. Öne doğru çömelmek için 1 ve 2 numaralı bacaklar en düşük, 5 ve 6 numaralı bacaklar ise en yüksek konumdadır. Her iki durumda da bacaklar 4 ve 5, 1 ve 2 ve 5 ve 6 numaralı bacak setleri ile aynı hizada olan nötr bir pozisyon alır.

Adım 5: BAŞ KAMERA/SONAR

BAŞ KAMERA/SONAR
BAŞ KAMERA/SONAR
BAŞ KAMERA/SONAR
BAŞ KAMERA/SONAR
KAMERA/SONAR
KAMERA/SONAR

Başlık, çıkarılabilir kapaklı 38 mm x 38 mm x 38 mm kare plastik kutudan oluşacaktır. Kutu/kafa sınırlı dikey ve yatay harekete sahip olacaktır. Hareket, robotun gövdesine bağlı ve birinci servo gövdesine bağlı ikinci ve kafasına bağlı kolu olmak üzere iki servo kullanılarak gerçekleştirilecektir. İki adet 18650 pil tarafından sağlanan 7.4v, OV2640 2 Megapiksel Lensli bir Arducam Mini Modül Kamera Kalkanına bağlı Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT geliştirme kartı DEVKIT'e güç sağlayacaktır. Bu düzenleme, robotun engelleri algılamasına ve yerleşik Wi-Fi aracılığıyla canlı video akışı yapmasına olanak tanır. Bir HC-SR04 kullanan sonar ve olası ışık yönetimi bilgileri Arduino Mega'ya geri akacaktır.

Arducam'ın video akışı için nasıl kullanılabileceğine dair ilk anlayışımda çok yardımcı olan Arducam Instructables makalesi için Dmainmun'a teşekkür ederim.

pil

Biri kafa bileşenleri ve Arduino Mega kartı için olmak üzere iki pil takımı ve tüm servolara güç sağlamak için ikinci bir paket kullanılmasına karar verildi. İlk paket, 7.4V sağlayan 2 x 18650 3400mAh pilden oluşuyordu. İkinci paket, paralel olarak bağlanmış 2 x 6V 2800mAh pil paketlerinden oluşuyordu, böylece 6.4V besleme sağlıyor, ancak Velcro şeritleri kullanılarak Hexapod'un alt tarafına takılan 5600mAh'lik artırılmış kapasite.

Adım 6: BACAK HAREKETİ

BACAK HAREKETİ
BACAK HAREKETİ
BACAK HAREKETİ
BACAK HAREKETİ
BACAK HAREKETİ
BACAK HAREKETİ

Kollar çiftler halinde veya tek tek çalışabilir. Her kol, 45 ila 135 derecelik hareketle Koaks adı verilen vücut eklemi, 45 ila 135 derece hareketle Femur adı verilen bir uyluk eklemi ve son olarak Tibia adı verilen bir dirsek eklemi veya 45 ila 135 derecelik hareketle uç efektörden oluşur.. Bacakların hareketini sağlamak için özel yazılım yazılmıştır.

Bacak hareketi türleri:

Coax için, 45 derece baştan geriye dönük, 90 derece nötr konum ve 135 derece öne bakıyor.

Femur için 45 derece yerden en yüksek pozisyon, 90 derece nötr pozisyon ve 135 derece yerden en düşük pozisyondur.

Tibia için 45 derece vücuda en uzak pozisyon, 90 derece nötr pozisyon ve 135 derece vücuda en yakın pozisyondur.

Tüm servoların 90 derece nötr konumda olduğunu varsayın.

İleri: Bacak 1 ve 2, Femur 135 dereceye kaldırılır, Koaks 45 dereceye hareket eder, Tibia vücuttan en uzak 45 dereceye hareket eder, Femur 45 dereceye indirilir. Bu, 3 ve 4 numaralı bacak çiftleri ve 5 ve 6 numaralı bacak çiftleri için tekrarlanır. 6 Koaksiyel servonun tamamı 45 dereceden arkaya 90 dereceye, nötr konuma hareket eder, 6 Femur servonun tümü, nötr konuma, 45 dereceden 90 dereceye kadar hareket eder. Son olarak, tüm Tibia servoları, 45 dereceden 90 dereceye, nötr konuma doğru hareket eder.

Ters: Bacaklar 5 ve 6 ile başlayın, ardından 3 ve 4 ve son olarak bacaklar 1 ve 2, aksi takdirde hareket Coax, Femur ve Tibia için aynıdır.

Sol: 1, 3 ve 5 numaralı bacaklar ters yönde hareket ederken 2, 4 ve 6 numaralı bacaklar ileri yönde hareket eder. Hem ileri hem de geri hareket, standart ileri ve geri harekete uygundur. Altı Koaksiyel servo dönüşü tamamlamak için, gövdeyi döndüren 45 derece hareket ettirin.

Sağ: 2, 4 ve 6 numaralı bacaklar ters yönde hareket ederken 1, 3 ve 5 numaralı bacaklar ileri yönde hareket eder. Hem ileri hem de geri hareket, standart ileri ve geri harekete uygundur. Koaks hareketi yukarıdakine benzer ancak ters yöndedir.

Dinlenme: Tüm Coax ve Femur servoları nötr konumda, tüm Tibia servoları en düşük konumda 45 derece, hem ön, hem orta hem de arka bacakları etkin bir şekilde çömelir.

Arkada çömelin, önde durun: 1 ve 2 numaralı bacaklar en yüksek konumda, 3 ve 4 numaralı bacaklar boşta ve 5 ve 6 numaralı bacaklar en düşük konumda.

Arkada durun, önde çömelin: 1. ve en alt konumda, 3. ve 4. bacaklar boşta ve 5. ve 6. bacaklar en yüksek konumda.

Yengeç sola: 1. ve 5. bacaklar kalkar ve sola doğru dışarı doğru uzanır, aynı zamanda 2. ve 6. bacaklar gövdenin altında kalkar ve büzülür. Bu bacakların dördü de yerdeyken tüm Tibialar nötr pozisyonlarına geri dönerler. Son olarak 3. ve 4. bacaklar aynı işlemi tekrar eder.

Sağ Yengeç: 2. ve 6. bacaklar kalkar ve sağa doğru dışarı doğru uzanır, aynı zamanda 1. ve 5. bacaklar gövdenin altında kalkar ve büzülür. Bu bacakların dördü de yerdeyken tüm Tibialar nötr pozisyonlarına geri dönerler. Son olarak 3. ve 4. bacaklar aynı işlemi tekrar eder.

Sol baş hareketi: boyun 1 servo 45 derece. Her iki servo da 90 nötr konuma döner.

Sağ baş hareketi: boyun 1 servo 135 derece

Yukarı baş hareketi: boyun 2 servo 45 derece

Aşağı baş hareketi: boyun 2 servo 135 derece

Pan kafa hareketi: boyun 2, 45 ila 135 derece arasında hareket eder

SERVİS

Hepsinin değiştirildiği MG995 ve MG996 servolarının ilk testinden sonra. 20 servonun tamamı, çok daha iyi merkezleme ve artan yük kapasitesi sağlayan DS32228 20kg servolarla değiştirildi.

Her servoyu uygun bir test programı kullanarak baştan sona test etmek önemlidir. Basit "süpürme" örnek programını özellikle 0, 90 ve 180 konumlarını test edecek şekilde değiştirdim, bu test rutini her servo için minimum 5 dakika çalıştırıldı ve bir gün sonra tekrarlandı.

NOT: USB kablosuyla desteklenen standart bir Arduino Uno kartının kullanılması, belirli servoları çalıştırmak için yeterli voltaj sağlamayabilir. Uno'dan alınan servonun 4.85v'nin DS3218 servolarda düzensiz davranışlara neden olduğunu, bu voltajı 5.05v'a çıkarmanın bu sorunu çözdüğünü buldum. Bu yüzden servoları 6v'de çalıştırmaya karar verdim. Sonunda, 6v'nin servoların düzensiz davranışına neden olduğu için 6.4v'lik bir voltajın gerekli olduğunu buldum.

Adım 7: İNŞAAT

YAPI
YAPI
YAPI
YAPI
YAPI
YAPI

BACAKLAR

Hexapod kit parçalarının yerleştirilmesiyle başladı. Tüm servo dairesel kornalar, Femur'un her iki ucundaki paspas deliğinin ve tüm Koaks deliklerinin genişletilmesini gerektiriyordu. Her servo korna, servo kafasının ortasından dört vida ve beşinci bir vida ile karşılık gelen Koaks ve Femur'a bağlandı. Dört cıvata ve somun kullanılarak takıldığı tüm servo gövdeler. Altı ayağın her biri için Coax servo montajında, tek bir cıvata ve somun kullanılarak montajın tabanına bağlanan bir yatak vardı. Her bir Coax servo montajı, dört cıvata ve somun kullanılarak, bu montaj 90 derece döndürülerek Femur servo montajına bağlandı. Femur servosunun başı, Femur kolunun bir ucuna, Femurun diğer ucu ise Tibia servo kafasına bağlıydı. Altı Tibia servosu, altı bacağın tepesine dört cıvata ve somunla bağlandı. Her bacak ucu efektörü, ekstra tutuş sağlamak için yumuşak bir lastik çizme ile kaplandı. Tedarik edilen servo kornanın Coax, Femur ve Tibia bağlantılarına sabitlenemeyecek kadar büyük olduğu ve bu nedenle tüm merkez deliklerin 9 mm'ye büyütüldüğü bulundu. Hexapod kitinin yapı elemanlarıyla ilgili Kapari II talimatı için “Toglefritz”e teşekkür ederim. Bununla birlikte, bir alanda, yani servo boynuzların Femur'un her iki ucuna takılmasında yapıdan saptım. Servo kornanın merkezinin içinden geçmesine izin vermek için Femur'un merkez deliğini büyütmeye karar verdim, böylece servo korna servoya daha yakın olduğu için ekstra güç verdi ve bu iki eklem maksimum torku yaşadı. Her bir servo korna, iki M2.2 kendinden kılavuzlu vida kullanılarak Femur'a bağlandı, bu vidaların uçları çıkarıldı ve düz bir şekilde törpülendi. Tüm M3 cıvataları sıkı bir şekilde uygulandı.

VÜCUT

Gövde, her biri altı delikli iki plakadan oluşur, her bir delik Coax servo kornayı takmak için kullanılır. Alt plakanın alt tarafına Velcro kullanılarak iki adet 6V 2800mAh pil takıldı. Pil tutucunun hemen altından uzanan dört M3 stand-off takıldı, her biri alta kaydırılan yumuşak bir lastik çizmeye sahip, bu, Hexapod'un üzerine dayanabileceği sabit bir taban sağlıyor. Alt plakanın üst kısmında Arduino Mega ve Sensör kalkanı dört adet 5 mm'lik stand-off kullanılarak takılmıştır. Alt plakanın üst kısmına 6 cm yüksekliğinde 4 adet M3 stand takılmış, bunlar Arduino Mega'yı çevrelemiş ve üst plaka için destek sağlamıştır. Üst plakaya 120mm x 70mm x 30mm'lik bir kutu takılıydı, bu, boyun servolarının ilkini ve LCD ekranı barındıracak. İkinci bir 2 bölmeli, 2 x 18650 pil tutucu, Hexapod'un önüne bakan Arduino Mega kartının arka tarafındaki üst plakanın alt tarafına takıldı.

Üst plaka, her biri dört M2.2 vidayla tutturulmuş altı servo boynuza sahiptir. Plakanın üstüne 70 mm x 120 mm x 30 mm'lik bir kutu yerleştirilmiştir, bunun içine 2 bölmeli 18650 pil tutucu, iki kutuplu anahtar, yeşil LED ve IC2 16 x 2 LCD ekran takılıdır. Ayrıca birinci boyun servosu da takılır, güç ve ikinci boyun servo veri kablosu ikinci servoyu ve Arduino V3 NodeMcu modülünü beslemek için bir delikten geçer. Üst kutudan başka bir veri kablosu geçer ve yine kafada bulunan HC-SR04 ultrasonik modülü besler. Pixie led halkasına güç sağlamak için ikinci bir veri ve güç kablosu da kafaya geçmiştir.

İki servo veri kablosu ve HC-SR04 veri kablosu, Bluetooth modülü bir neon form pedi ve sıcak tutkal kullanılarak plakanın alt tarafına takılıyken üst plakadan beslenir. Kalan 18 servo veri kablosunun kablo yönetimi, alt plakaya bağlı 4 x M3 ayırıcılara uyan 4 x M3 vida kullanılarak üst plakayı alt plakaya sabitlemeye yönelik herhangi bir girişimden önce yerinde olmalıdır. Üst alt plaka takma işleminin bir parçası olarak, altı Koaks servonun tümü, yatak bağlantısı alt plaka deliğine ve servo kafası üst plaka boynuzuna oturacak şekilde doğru konumlarına yerleştirilmelidir. Takıldıktan sonra altı Coax servonun üst kısımları 6 M3 vidayla sabitlenir. Altı Coax servo için servo boynuzlarının konumu nedeniyle, Coax servo yataklarının alt plakaya doğru şekilde oturması için 4 x M3 stand-off'larının yüksekliği 2 mm azaltılmalıdır.

KAFA

Kafa, biri üst plakaya bağlı kutuya yerleştirilmiş, diğeri ise U-şekilli pirinç plaka bölümü kullanılarak servo korna yoluyla birincisine bağlanan iki servodan oluşur. İkinci servonun kornası, kendisi 70 mm x 70 mm x 50 mm'lik bir kutuya iki cıvata ve somun ile bağlı olan L şeklinde bir pirinç brakete takılıdır. Kutu, içinde Ardcam kamera, HC-SR04 ultrasonik modül ve Arduino V3 NodeMcu modülü ve güç LED'i bulunan kafayı oluşturur. Hem ultrasonik modül hem de verici ve alıcı sensör kafaları, kamera merceğinde olduğu gibi kutunun önünden dışarı çıkar. Kutunun dışındaki lensi çevreleyen 16 LCD Nero peri halkasıdır. NodeMcu güç LED'i, kafanın arka plakasındaki bir delikten, güç kablosu, ultrasonik modülün veri kablosundan ve arka plaka ile kafa plakası arasındaki bir delikten giren pixie Neon veri güç kablolarından görülür.

ELEKTRONİK

Aşağıdaki Fritzing diyagramları gövde ve kafa elektroniklerini göstermektedir. Diyagramın netleşmesine yardımcı olmak için 20 servo için VCC ve GRD çizgileri gösterilmemiştir. Bluetooth modülü, Android Uygulaması aracılığıyla, boyun servoları da dahil olmak üzere Hexapod hareketini kontrol eder. WIFI tabanlı Arduino NodeMcu modülü, Arducam kamera modülünü kontrol eder. Tüm servolar, VCC, GRD ve sinyal hatlarını içeren tek bir blok aracılığıyla Arduino sensör kalkanına bağlanır. Bluetooth BT12, HC-SR04 ve IC2 LCD'yi bağlamak için standart 20 cm DuPont atlama kabloları kullanılır.

AYAK KALİBRASYONU

Bu, Hexapod'un hareketi üzerinde çalışmaya başlamadan önce en zor hazırlık alanlarından biridir. İlk fikir, tüm bacakları aşağıdakine, Coax servoları 90 dereceye, Femur servolarını 90 dereceye ve Tibia servolarını 90'a, fiziksel bacak pozisyonu bacaklar 2, 4 ve 6 ve 75 derece için 105 dereceye ayarlamaktır. bacaklar 1, 3 ve 5 için. Hexapod, pil yuvasının altındaki dört desteğin üzerinde duran düz bir yüzeye yerleştirildi. Her iki bacak arasında eşit mesafe noktalarında ve vücuttan eşit uzaklıkta konumlandırılmış bacaklardır. Düz yüzeyde işaretlenen tüm bu konumlar. Bacakların yapımı sırasında her servonun orta noktası bulundu, bu servoların 90 derecelik konumu olmalıdır. Bu 90 derecelik varsayılan konum tüm servolarda kullanılır.

Coax servo 2 ve 5 iç yüzleri birbirine paraleldir, bu servolar 1 ve 6 ile 3 ve 4 için geçerlidir. Tüm Femur ve Coax servolar yapım aşamasında birbirine 90 derecelik açıyla sabitlenir. Tüm Femur servolarında, 90 derecelik bir açıyla kendilerine bağlı Femur kolu bulunur. Tüm Tibia servoları, Tibia'ya 90 derece ile bağlıdır. 2, 4 ve 6 Tibia servoları Femur koluna 105 derecede takılırken, Tibia servoları 1, 3 ve 5 Femur koluna 75 derecede takılır.

Test ederken, tüm servoların sıcaklık açısından izlenmesi gerektiğini, sıcak bir servo, servonun çok çalıştığı ve arızalanabileceği anlamına geldiğini, çoğu servonun dokunulamayacak kadar sıcak olacağını not etmek önemlidir.

İlk kalibrasyon, açıldıktan sonra Hexapod'u dinlenme konumundan hem sabit, hem dengeli, hem de düz bir konuma getirmektir ve en önemlisi servoların hiçbiri aşırı ısınmaz. Sabit bir konumu korumak için her servoya 20 milisaniyeden daha az bir gecikme ile yazmak gerekir, 10 milisaniye kullanılmıştır. Tüm servolar sadece 0'dan 180 dereceye ve 180 dereceden tekrar 0'a hareket edebilir, bu nedenle tüm Femur servoları için 0 ve 180 derece dikey ve 90 derece yataydır.

Her servoyu takmadan önce, önceden tanımlanmış servoların her birine, mevcut dinlenme açısını veren bir başlatma yazısı gönderildi, yani. Dinlenirken servonun bulunduğu mevcut konum. Bu, tüm Coax servolar için 90 derece, Femur ve Tibia servoları 1, 3 ve 5 için 55 derece ve Femur ve Tibia servoları 2, 4 ve 6 için 125 derece idi.

Kalibrasyon seansının başlangıcında pillerin her zaman tam olarak şarj edilmesi gerektiğine dikkat etmek önemlidir.

Hexapod her zaman dinlenme pozisyonundan başlar, tüm vücut dört ayak tarafından desteklenir. Bu konumdan tüm Femur ve Tibia servoları, başlangıç konumlarından ayakta konumlarına kadar döndürülür, bu noktada tüm servolar 90 derecededir. Ayakta durma pozisyonunu tamamlamak için “dur” komutu verilir, bu komut tüm bacakların üç bacak hareketi, bacaklar 1, 5 ve 4 ve 2, 6 ve 3 olmak üzere iki set halinde yukarı kalkmasını ve tekrar aşağı inmesini gerektirir.

Adım 8: YAZILIM

Yazılım üç bölümden oluşmaktadır, birinci bölüm Arduino Mega üzerinde çalışan Arduino kodu, ikinci bölüm ise kafadaki NodeMcu modülü üzerinde çalışan Arduino kodudur. İletişim, Android tabletten komutları alan Bluetooth BT12 birimi aracılığıyla, yani Android Studio tarafından oluşturulmuş özel bir uygulama çalıştıran Samsung Tab 2 aracılığıyla yapılır. Hexapod'a komutlar gönderen bu uygulamadır. Aynı uygulama, yerleşik WIFI aracılığıyla NodeMcu modülünden canlı video beslemesi de alır.

ANDROID KODU

Android Studio kullanılarak geliştirilen ısmarlama Android kodu, iki ekranlı uygulamanın çalıştırıldığı platformu sağlar. Uygulamanın iki ekranı vardır, ana ekran kullanıcının Hexapod'a komutlar vermesini ve hexapod kafasından gelen video beslemesini görüntülemesini sağlar. WIFI butonu ile erişilen ikinci ekran, kullanıcının öncelikle hexapod Bluetooth'a ve ikinci olarak da NodeMCU Arduino kartı tarafından hexapod kafasında oluşturulan WIFI etkin noktasına bağlanmasına izin verir. Uygulama, yerleşik Bluetooth aracılığıyla Tabletten seri 9600 Baud aracılığıyla tek harfli komutları hexapod'a bağlı BT12 Bluetooth'a gönderir.

ARDUINO KODU

Kod geliştirme, Hexapod'un temel işlevlerini, yani baş ve gövdesini test etmek için tasarlanmış bir test programının geliştirilmesiyle başladı. Baş ve işleyişi gövdeden tamamen ayrı olduğu için yazılım geliştirmesi gövde fonksiyon koduna paralel olarak test edilmiştir. Kafa operasyon kodu, büyük ölçüde servo hareketinin dahil edildiği önceki bir gelişmeye dayanıyordu. Kod, 16x2 LCD ekran, HC-SR04 ultrasonik modül ve 16 LED ışık halkasının çalışmasını içeriyordu. Kafadan canlı video beslemesine WIFI erişimi sağlamak için daha fazla kod geliştirmesi gerekiyordu.

Gövde fonksiyon kodu başlangıçta ilk servo bağlantısı ve dinlenme sırasındaki ilk konumu sağlamak için geliştirilmiştir. Bu pozisyondan Hexapod basitçe ayakta durmak üzere programlandı. Geliştirme, daha sonra Hexapod'un ek hareketleri ve Android uygulamasıyla seri iletişim ile baş ve vücut kodu bölümlerinin birleştirilmesiyle devam etti.

Test servo kodu, bacak ve vücut hareketlerinin geliştirilmesine izin verdi, yani:

1. InitLeg - Dinlenme bacak pozisyonuna, ayakta bacak pozisyonuna, sol veya sağ yürüyüş için yengeç başlangıç bacak pozisyonuna, ileri veya geri yürüme için ilk bacak pozisyonuna izin verir.

2. Dalga – Ayakta durma pozisyonuna dönmeden önce ön bacakların dört kez sallanmasını sağlar.

3. TurnLeg- Hexapod'un sola veya sağa dönmesini sağlar.

4. MoveLeg- Hexapod'un ileri veya geri yürümesini sağlar.

5. CrouchLeg- Hexapod'un ya ön ayakları üzerine çömelmesini ya da arka ayakları üzerinde geriye doğru çömelmesini sağlar.

Bacak hareketi, birlikte çalışan bacak çiftlerine dayanır, bu nedenle bacaklar 1 ve 2, 3 ve 4, 5 ve 6 çift olarak çalışır. Hareket, ileri uzanma ve çekme ve geriye doğru itme olmak üzere iki temel eylemden oluşur. Geriye doğru yürümek için bu iki hareket tersine çevrilir, yani örneğin ileriye doğru yürürken 1. ve 2. bacaklar çeker, 5. ve 6. bacaklar iter, 3. ve 4. bacaklar denge sağlar. Yengeç yürüyüşü basitçe aynı eylemlerdir, ancak vücuda 90 derece açıyla ayarlanır, bu durumda 3 ve 4 numaralı bacaklar da diğer bacaklarla aynı şekilde hareket eder. Yürürken bacak çiftleri dönüşümlü olarak hareket eder, ancak yengeç yürüme bacakları 1 ve 5 bir çift olarak çalışırken, bacak 3, bacaklar 1 ve 5'e alternatif adımlarla çalışır.

Hareket Fonksiyonel açıklaması, her biri belirli bir sırayla bir araya getirilen ve eyleme geçirilen hareket elemanlarından oluşan ana hareket fonksiyonlarının her biri için aşağıdaki gibidir.

DİNLENME: Ayakta bir pozisyondan başlayarak tüm Femur servoları, vücudu dört desteğin üzerine indirmek için yukarı doğru hareket eder. Aynı zamanda tüm Tibia servoları içe doğru hareket eder.

AYAKTA KALMA: Dinlenme konumundan başlayarak tüm Tibia servoları dışa doğru hareket eder, bu tamamlandığında tüm Femur servoları 90 derece konumuna hareket eder, son olarak tüm Tibia servoları aynı anda 90 derece konumuna hareket eder.

Sola DÖNME: 1, 3 ve 5 numaralı bacaklar baştan 45 derece geriye doğru hareket ederken, aynı zamanda 2, 4 ve 6 numaralı bacaklar başa doğru öne doğru hareket eder. Tamamlandığında, tüm Coax servolar mevcut konumlarından standart 90 derecelik konuma geri dönerler, bu hareket gövdeye saat yönünün tersine olacaktır.

SAĞA DÖNÜŞ: 1, 3 ve 5 numaralı bacaklar başa doğru 45 derece ileri hareket ederken, aynı zamanda 2, 4 ve 6 numaralı bacaklar baştan geriye doğru hareket eder. Tamamlandığında, tüm Coax servolar mevcut konumlarından standart 90 derecelik konuma geri dönerler, bu hareket gövdeye doğru saat yönünde olacaktır.

İLERİ ÇÖKME: Bacak 1 ve 2 Femur ve Tibia servoları kullanılarak alçaltılırken, bacaklar 5 ve 6 Femur ve Tibia servoları kullanılarak yükseltilirken, bacaklar 3 ve 4 standart pozisyonda kalır.

GERİ çömelme: 1. ve 2. bacaklar Femur ve Tibia servoları kullanılarak yükseltilirken, 5. ve 6. bacaklar Femur ve Tibia servoları kullanılarak indirilir, 3. ve 4. bacaklar standart pozisyonda kalır.

SALLAMA: Bu rutinde yalnızca 1. ve 2. bacaklar kullanılır. Coax servolar 50 derecelik bir yayda hareket ederken, Femur ve Tibia da 50 derecelik bir yayda hareket ediyor. Bacak 3 ve 4 başa doğru 20 derece ileri hareket eder, bu daha dengeli bir platform sağlar.

İLERİ YÜRÜYÜŞ: Ayak 1 ve 6, 2 ve 5 ve 3 ve 4 birlikte çalışmalıdır. Yani 1. bacak vücudu çekerken 6. bacak vücudu itiyor olmalı, bu hareket biter bitmez 2. ve 5. bacaklar aynı hareketi yapmalı, bu hareket döngülerinin her biri gerçekleşirken 3. ve 4. bacaklar kendi görevlerini yapmalıdır. ilerleme rutini.

İlk test bacak modülü işlevleri, üç bacak hareketinin her biri için bir tasarıma izin verdi. Karşıt bacaklar basitçe ters hareketleri gerçekleştirdiğinden üç bacak hareketi gereklidir. Yeni bir birleşik bacak 1, 3 ve 6 modülü geliştirildi, test edildi ve ikinci bir ters bacak 2, 4 ve 5 bacak modülü için kopyalandı. Hexapod bacak hareketlerinin test edilmesi, hexapod yükseltilmiş bir blok üzerine yerleştirerek bacakların yere değmeden tam hareket etmesine izin vererek gerçekleştirildi. Bacaklar hareket halindeyken yapılan ölçümlerde, tüm bacakların yatay olarak 80 mm hareket ettiği, aynı zamanda hareket sırasında en alt noktasında yerden 10 mm yukarıda kaldığı tespit edildi. Bu, Hexapod'un hareket sırasında basitçe bir yandan diğer yana sallanacağı ve hareket sırasında tüm bacakların eşit bir çekme kuvvetine sahip olacağı anlamına gelir.

GERİ YÜRÜME:

YENGEÇ SOL YÜRÜYÜŞÜ: İlk hareket, 1, 2, 5 ve 6 numaralı ayakların hareket yönüne doğru 45 derece dönmesiyle başlar. Bu, tüm bacakları hareket yönüne göre yerleştirir, bacaklar 3 ve 4 zaten doğru yöndedir. Varsayılan 90 derecelik pozisyonda başlayan her bacağın Femur ve Tibia. Bu yürüyüş, alternatif adımlar üzerinde çalışan üç bacaklı iki set, bacaklar 1, 5 ve 4 ve bacaklar 3, 2 ve 6'dan oluşur. bacak 4, bu hareket daha sonra tersine çevrilir, böylece bacak 2 ve 6 iterken bacak 3 çeker, bu hareket sırasında Coax servolarının hiçbiri herhangi bir iş yapmaz. Üç ayaklı her set, ilk set hareket ettikçe sabit diğer ayak setini kaldırır.

SAĞDAN YÜRÜYEN YENGEÇ:

NOT: Baş, yengeç yürüyüşü yönünde sola veya sağa dönecektir. Bu, yürürken HC-SR04 ultrasonik algılamanın kullanılmasına izin verir.

AYAK AYARI: Hexapod'un düz durması için tüm bacakların aynı yükseklikte durması gerekir. Hexapod'u bloklar üzerine yerleştirip ardından stand ve Rest rutinlerini kullanarak her bir uç efektörünün zeminden uzaklığını ölçmek mümkün oldu. Her bir uç efektörüne, önce tutuş sağlamak, ancak aynı zamanda tüm bacaklar arasında 5 mm veya daha az hedefle bacak boyunda küçük bir miktar ayarlamaya izin vermek için lastik çizmeler ekledim. Her servoyu 90 dereceye ayarlamak kolaydı, ancak her bir servo kornasının Femur'un her iki ucuna takılması, boynuzların iç dikenlerinin dönüş açılarındaki çok küçük farklılıklar bacak yüksekliklerinin 20 mm farklı olmasına neden olabileceğinden sorunlara neden olabilir ve yaptı. Servo kornalardaki vidaların farklı sabitleme deliklerine değiştirilmesi bu 20 mm'lik yükseklik farkını düzeltti. Yazılım kullanarak bu yükseklik farklarını telafi etmek zorunda kalmak yerine, bu sorunu bu yöntemle çözmeye kararlıydım.

Önerilen: