İçindekiler:

Hexapod: 14 Adım (Resimlerle)
Hexapod: 14 Adım (Resimlerle)

Video: Hexapod: 14 Adım (Resimlerle)

Video: Hexapod: 14 Adım (Resimlerle)
Video: Artificial Intelligence Hexapod Robot with Raspberry Pi 4B by XiaoR GEEK 2024, Temmuz
Anonim
altı ayaklı
altı ayaklı
altı ayaklı
altı ayaklı
altı ayaklı
altı ayaklı

Birkaç yıldır etrafta oynamak ve robotlar yaratmakla ilgileniyorum ve Zenta'dan çok ilham aldım, burada Youtube kanalını bulacaksınız https://www.youtube.com/channel/UCmCZ-oLEnCgmBs_T ve web sitesi https://www.youtube.com/channel/UCmCZ-oLEnCgmBs_T://zentasrobots.com.tr

İnternette birçok farklı satıcıdan birçok kit bulabilirsiniz, ancak bunlar çok maliyetlidir, 4 DoF hexapod için 1.500$+'a kadar ve Çin'den gelen kitlerin kalitesi iyi değildir. Bu yüzden, kendi yolumda hexapod'da yaratmaya karar verdim. Zenta'nın hexapod Phoenix'inden esinlenerek, onu Youtube kanalında bulacaksınız (ve https://www.lynxmotion.com/c-117-phoenix.aspx bulabileceğiniz bir kit, sıfırdan kendiminkini yaratmaya başladım.

if oluşturmak için kendim için aşağıdaki hedefleri/gereksinimleri ayarlayın:

1.) Çok eğlenin ve yeni şeyler öğrenin.

2.) Maliyet odaklı tasarım (kahretsin, şirketim beni tamamen şımarttı)

3.) Kontrplaktan yapılmış parçalar (çünkü çoğu insan ve benim için odun kesmek daha kolay)

4.) Mevcut ücretsiz araçları kullanma (yazılım)

Peki şimdiye kadar ne kullandım?

a) SketchUp, mekanik tasarım için.

b) Kayın kontrplak 4mm ve 6mm (1/4 ).

c) Arduino Uno, Mega, IDE.

d) Dijital standart servolar (amazon'da iyi bir fiyata bulunur).

e) Dosuki ve Şerit Testere, bir delme makinesi, zımpara kağıdı ve bir eğe.

Adım 1: Ayaklar ve Servo Braketlerin Yapısı

Ayak ve Servo Braket Yapısı
Ayak ve Servo Braket Yapısı
Ayak ve Servo Braket Yapısı
Ayak ve Servo Braket Yapısı
Ayak ve Servo Braket Yapısı
Ayak ve Servo Braket Yapısı

İlk önce robot nasıl yapılır diye internette biraz araştırma yapıyordum ama mekanik tasarımın nasıl yapılacağına dair sağlıklı bilgiler bulmakta pek başarılı olamadım. Bu yüzden çok uğraşıyordum ve sonunda SketchUp'ı kullanmaya karar verdim.

SketchUp ile birkaç saat çalışarak öğrendikten sonra, ilk bacak tasarımımı bitirdim. Femur, kullandığım servo boynuzların boyutuna göre optimize edildi. Anladığım kadarıyla orijinali 1 çapında görünüyor, ancak servo kornalarım 21 mm'ye sahip.

Bilgisayarımdaki SketchUp ile doğru ölçekte çıktı almak düzgün çalışmıyordu, bu yüzden PDF olarak kaydettim, %100 çıktı aldım, biraz ölçüm yaptım ve sonunda doğru ölçeklendirme faktörü ile tekrar yazdırdım.

İlk denemede sadece iki ayak için sanat yapıyordum. Bunun için iki tahta istifledim, üzerine çıktıyı yapıştırdım (duvar kağıdı için) ve parçaları maket şerit testere ile kestim.

Kullanılan malzeme: kayın kontrplak 6mm (1/2 )

Daha sonra bazı deneyler yaptım, belgelemedim ve bazı optimizasyonlar yaptım. Gördüğünüz gibi tibia femur gibi biraz büyük.

Servo kornaları femur içinden monte etmek için malzemenin 2 mm'si kesilmelidir. Bu farklı şekillerde yapılabilir. Bir yönlendirici veya bir Forstner matkabı ile. Forstner'ın çapı sadece 200 mm idi, bu yüzden savaş sonrası bir kısmı bir keski ile elle yapmak zorunda kaldım.

Adım 2: Femur ve Tibia'yı Optimize Etme

Femur ve Tibia'yı Optimize Etme
Femur ve Tibia'yı Optimize Etme
Femur ve Tibia'yı Optimize Etme
Femur ve Tibia'yı Optimize Etme
Femur ve Tibia'yı Optimize Etme
Femur ve Tibia'yı Optimize Etme
Femur ve Tibia'yı Optimize Etme
Femur ve Tibia'yı Optimize Etme

Tasarımı biraz değiştirdim.

1.) Tibia şimdi kullandığım servoya çok daha iyi uyuyor.

2.) Femur şimdi biraz daha küçük (eksenden eksene yaklaşık 3 inç) ve servo boynuzları (21 mm çap) takıyor.

6 mm kontrplak tahtadan 6 tahta kullandım ve bunları çift taraflı bantla yapıştırdım. Bu yeterince güçlü değilse, tüm panolarda bir delik açabilir ve bunları birbirine sabitlemek için bir vida kullanabilirsiniz. daha sonra şerit testere ile bir kerede bir parça kesilir. Yeterince sertseniz, bir yapboz da kullanabilirsiniz:-)

Adım 3: Servo Braketinin Tasarlanması

Servo Braketini Tasarlamak
Servo Braketini Tasarlamak
Servo Braketini Tasarlamak
Servo Braketini Tasarlamak
Servo Braketini Tasarlamak
Servo Braketini Tasarlamak
Servo Braketini Tasarlamak
Servo Braketini Tasarlamak

Şimdi servo braketini tasarlama zamanı. Bu, kullandığım kullanılmış servo ile ilgili olarak güçlü bir şekilde tasarlanmıştır. Tüm parçalar 6 mm kayın ağacından yapılmıştır, bir sonraki adıma bakınız.

Adım 4: Servo Braketlerin Kesilmesi ve Birleştirilmesi

Servo Braketlerin Kesilmesi ve Montajı
Servo Braketlerin Kesilmesi ve Montajı
Servo Braketlerin Kesilmesi ve Montajı
Servo Braketlerin Kesilmesi ve Montajı

Yine şerit testerede aynı anda altı parça kestim. Yöntem öncekiyle aynıdır.

1.) Panoları birbirine yapıştırmak için çift taraflı bant kullanmak.

2.) Keserken daha fazla stabilite sağlamak için vidalar (burada gösterilmemiştir).

Sonra onları birbirine yapıştırmak için bir model zanaat yapıştırıcısı ve iki SPAX vida kullandım (henüz fotoğrafta uygulanmadı).

Orijinal hexapod'a kıyasla henüz bilyeli yatak kullanmıyorum, bunun yerine bacakları gövde/şasi ile birleştirmek için daha sonra sadece 3 mm vidalar, rondelalar ve kendinden sabitlenen somunlar kullanıyorum.

Adım 5: Bacakları Birleştirme ve Test Etme

Image
Image
Bacakların Montajı ve Test
Bacakların Montajı ve Test
Bacakların Montajı ve Test
Bacakların Montajı ve Test

İlk iki resimde bir bacağın ilk halini görüyorsunuz. Ardından, eski ve yeni parçaların karşılaştırmasını ve yeni parçaların (sürüm iki) orijinaliyle (arka planda fotoğraf) karşılaştırmasını görürsünüz.

Sonunda bir ilk hareket testi yapacaksınız.

Adım 6: Gövdenin Oluşturulması ve Birleştirilmesi

Gövde Yapımı ve Montajı
Gövde Yapımı ve Montajı
Gövde Yapımı ve Montajı
Gövde Yapımı ve Montajı
Gövde Yapımı ve Montajı
Gövde Yapımı ve Montajı

Fotoğraflardan yeniden oluşturmaya çalıştığım vücut. Referans olarak 1" çapında olduğunu varsaydığım servo kornayı kullandım. Böylece ön taraf 4,5" ve orta 6.5" genişliğinde oluyor. Uzunluk için 7" varsaydım. Daha sonra orijinal gövde kitini satın aldım ve karşılaştırdım. Orijinaline çok yaklaştım. Sonunda, orijinalin 1:1 kopyası olan üçüncü bir versiyonunu yaptım.

6 mm kontrplak ahşaptan yaptığım ilk gövde kiti, burada 4 mm kontrplak ahşaptan yapılmış ikinci versiyonu görüyorsunuz, bunun yeterince güçlü ve sert olduğunu öğrendim. Orijinal kitten farklı olarak, servo kornayı üste monte ediyordum. malzeme aracılığıyla (bunu femur ile de görebilirsiniz). Sebebi, pahalı alüminyum kornalar alma havamda değilim, bunun yerine zaten teslim edilen plastik kornaları kullanmak istiyorum. Diğer bir sebep ise, servoya yaklaşıyorum, bu yüzden kesme kuvvetleri daha az. Bu daha kararlı bir bağlantı sağlar.

Bu arada, bazen Ganesh'in gemide olması iyidir. Arkadaşım Tejas'a teşekkürler:-)

7. Adım: İlk Elektronik Testleri

Image
Image
Tibia ve Coxa EV3
Tibia ve Coxa EV3

Artık tüm sanatlar bir araya toplanmıştır. Tamam, çok güzel görünmediğini biliyorum ama aslında çok şey deniyorum. Videoda bazı basit önceden tanımlanmış dizilerin oynatıldığını görebilirsiniz, aslında hiçbir ters kinematik uygulanmamıştır. 2 DoF için tasarlandığı için önceden tanımlanmış yürüyüş düzgün çalışmıyor.

Bu örnekte Lynxmotion'dan SSC-32U servo kontrol cihazını kullanıyorum, burada bulacaksınız:

Birkaç gün önce başka bir PWM kontrolörü kullanıyordum (Adafruit 16-kanal PWM kontrolörü, https://www.adafruit.com/product/815), ama SCC'nin aslında servoları yavaşlatmak gibi bazı güzel özellikleri var.

Yani, şimdiye kadar. Daha sonra, ters kinematik (IK) çalışmalarını nasıl yapacağımı bulmam gerekiyor, belki SSC kontrolöründe önceden tanımlandığı gibi basit bir yürüyüş programlayacağım. Burada zaten kullanıma hazır bir örnek buldum https://github.com/KurtE/Arduino_Phoenix_Parts, ancak henüz çalıştırmadım. Neden bilmiyorum ama üzerinde çalışıyorum.

İşte kısa bir Yapılacaklar listesi.

1.) SSC'de yerleşik gibi basit bir yürüyüş programlayın.

2.) Arduino Phoenix için bir PS3 kontrolör sınıfı/sarmalayıcı programlayın.

3.) Kodu çalışan KurtE'den alın veya kendi kodumu yazın.

Kullandığım servoları Amazon https://www.amazon.de/dp/B01N68G6UH/ref=pe_3044161_189395811_TE_dp_1 adresinde buldum. Fiyatı oldukça iyi, ancak kalitesi çok daha iyi olabilirdi.

Adım 8: İlk Basit Yürüyüş Testi

Son adımda bahsettiğim gibi, kendi yürüyüş dizimi programlamaya çalıştım. Bu çok basit, mekanik bir oyuncak gibi ve burada kullandığım bedene göre optimize edilmemiş. Basit bir düz vücut çok daha iyi olurdu.

İyi eğlenceler dilerim. Şimdi IK öğrenmeliyim;-)

Açıklamalar: Bacakları dikkatlice izlediğinizde bazı servoların garip davrandığını göreceksiniz. Demek istediğim, her zaman düzgün hareket etmiyorlar, belki de onları başka servolarla değiştirmem gerekiyor.

9. Adım: PS3 Denetleyicisini Taşıma

Bu sabah Phoenix kodu için bir sarmalayıcı yazmaya çalışıyordum. Bunu yapmam 2-3 saatimi aldı. kod sonunda hata ayıklanmadı ve konsola fazladan hata ayıklama ekledim. Şimdiye kadar çalışıyor:-)

Ama bu arada, Phoenix kodunu çalıştırırken, tüm servolar ters (ters yönde) çalışıyor gibi görünüyor.

Kendi başınıza denemek istediğinizde, temel olarak KurtE'den gelen koda ihtiyacınız var https://github.com/KurtE/Arduino_Phoenix_Parts. Kodu yüklemek için talimatları izleyin. Phoenix_Input_PS klasörünü Arduino kütüphane klasörünüze (genellikle çizim klasörünüzün alt klasörü) ve Phoenix_PS3_SSC32 klasörünü çizim klasörünüze kopyalayın.

Bilgi: Arduino ve araçlar konusunda deneyiminiz yoksa ve biraz sorun yaşıyorsanız, lütfen Arduino topluluğu ile iletişime geçin (www.arduino.cc). KurtE'nin Phoenix koduyla ilgili bir sorununuz olduğunda lütfen onunla iletişime geçin. Teşekkürler.

Uyarı: Kodu anlamak bence yeni başlayanlar için hiçbir şey değil, bu yüzden C/C++, programlama ve algoritmaya çok aşina olmalısınız. Kodun ayrıca #defines tarafından kontrol edilen birçok koşullu derlenmiş kodu vardır, bu okumayı ve anlamayı çok zorlaştırır.

Donanım listesi:

  • Arduino Mega 2560
  • USB ana bilgisayar kalkanı (Arduino için)
  • PS3 denetleyicisi
  • LynxMotion SSC-32U servo denetleyici
  • Pil 6 V (lütfen tüm HW'nizdeki gereksinimleri okuyun, aksi takdirde zarar verebilirsiniz)
  • Arduino IDE
  • Gerektiğinde bazı USB kabloları, anahtarlar ve diğer küçük parçalar.

Bir PS2 denetleyicisini seviyorsanız, internette Arduino'ya nasıl bağlanacağınızla ilgili birçok bilgi bulacaksınız.

Bu yüzden lütfen sabırlı olun. Yazılım düzgün çalıştığında bu adımı güncelleyeceğim.

Adım 10: İlk IK Testi

Image
Image

Phoenix kodunun çok daha iyi çalışan farklı bir bağlantı noktası buldum (https://github.com/davidhend/Hexapod), belki diğer kodla yapılandırma sorunum var. Kod biraz sorunlu gibi görünüyor ve yürüyüşler pek düzgün görünmüyor ama benim için bu büyük bir adım önde.

Lütfen düşünün, kod aslında deneyseldir. Bir çok şeyi temizlemem ve düzeltmem gerekiyor ve önümüzdeki günlerde bir güncelleme yayınlayacağım. PS3 bağlantı noktası, önceden yayınlanmış PS3 bağlantı noktasına dayanmaktadır ve PS2 ve XBee dosyalarını attım.

Adım 11: İkinci IK Testi

Çözüm çok kolaydı. Bazı konfigürasyon değerlerini düzeltmem ve tüm servo açılarını ters çevirmem gerekiyordu. Şimdi çalışıyor:-)

Adım 12: Tibia ve Coxa EV3

Tibia ve Coxa EV3
Tibia ve Coxa EV3
Tibia ve Coxa EV3
Tibia ve Coxa EV3

Dayanamadım, yeni kaval kemiği ve koksa (servo braketler) yaptım. Bu şimdi yaptığım üçüncü versiyon. Yenileri daha yuvarlak şekilli ve daha organik/biyonik bir görünüme sahip.

Yani, gerçek durum. Hexapod çalışıyor, ancak hala birkaç şeyde sorun var.

1.) BT'nin neden 2.3 saniyelik bir gecikmeye sahip olduğunu bulamadım.

2.) Servo kalitesi kötü.

Yapılacak şeyler:

* Servoların kablolaması iyileştirilmelidir.

* İyi bir pil tutucuya ihtiyacınız var.

* Elektronikleri monte etmenin bir yolunu bulmalısınız.

* Servoları yeniden kalibre edin.

* Akü için sensörler ve voltaj monitörü ekleme.

Adım 13: Pürüzsüz Şekilli Femur

Pürüzsüz Şekilli Femur
Pürüzsüz Şekilli Femur
Pürüzsüz Şekilli Femur
Pürüzsüz Şekilli Femur
Pürüzsüz Şekilli Femur
Pürüzsüz Şekilli Femur
Pürüzsüz Şekilli Femur
Pürüzsüz Şekilli Femur

Birkaç gün önce, bir öncekinden tam olarak memnun olmadığım için yeni bir uyluk kemiği yaptım. İlk resimde farkları göreceksiniz. Eskilerin uçlarında 21 mm çap vardı, yenilerinin çapı 1 inç. Aşağıdaki üç resimde de göreceğiniz gibi basit bir yardımcı aletle freze makinemle uyluk kemiğine delikler açtım.

Femura batmadan önce tüm delikleri delmek mantıklıdır, aksi takdirde zorlaşabilir. Servo korna çok iyi uyuyor, burada gösterilmeyen sonraki adım, kenarlara yuvarlak bir şekil vermek. Bunun için 3 mm yarıçaplı bir freze ucu kullandım.

Son resimde eski ve yeninin karşılaştırmasını göreceksiniz. Ne düşünüyorsun bilmiyorum ama ben yenisini daha çok beğendim.

Adım 14: Son Adımlar

Image
Image
Son Adımlar
Son Adımlar
Son Adımlar
Son Adımlar
Son Adımlar
Son Adımlar

Bu öğreticiyi şimdi bitireceğim, yoksa sonsuz bir hikaye olacak:-).

Ben videoda KurtE'nin Phoenix kodunun bazı değişikliklerimle çalıştığını göreceksiniz. Robot mükemmel hareket etmiyor, bunun için üzgünüm ama ucuz servoların kalitesi kötü. Başka servolar sipariş ettim, iki tanesini iyi sonuçlarla test ettim ve hala teslimatı bekliyorum. Bu yüzden üzgünüm size robotun yeni servolarla nasıl çalıştığını gösteremem.

Arkadan görünüm: 10 k potun solunda 20 amperlik bir akım sensörü. Robot yürürken rahatlıkla 5 amper tüketir. 10 k potun sağında, bazı durum bilgilerini gösteren bir OLED 128x64 piksel göreceksiniz.

Önden görünüm: Henüz SW'ye entegre edilmemiş basit bir ultrasonik sensör HC-SR04.

Sağdan görünüm: MPU6050 hızlandırıcı ve deviro (6 eksenli).

Soldan görünüm: Piezo hoparlör.

Servolar dışında mekanik tasarım az çok yapılıyor. Bu nedenle, sonraki görevler bazı sensörleri SW'ye entegre etmek olacaktır. Bunun için kullandığım SW ile KurtE'nin Phoenix SW'sinin anlık görüntüsünü temel alan bir GitHub hesabı oluşturdum.

OLED:

GitHub'ım:

Önerilen: