Jeffrey Cross
Jeffrey Cross

Arduino ile Dörtlü Robot Nasıl Programlanır

Bacaklı robotlar harika! Arazileri tekerlekli meslektaşlarından daha iyi idare edebilir ve çeşitli ve hayvansal yollarla hareket edebilirler. Bununla birlikte, bu bacaklı robotları daha karmaşık ve çoğu üretici için daha az erişilebilir hale getirir.

Hadi dört ayaklı bir robot (dörtlü olarak da bilinir) yürüyüşüne çıkalım. Sizi ortak bir yürüyüş stilinden geçiririm (yürüyüş denir) ve size bunu bir Arduino'da nasıl programlayacağınızı göstereceğim.

Dergideki makaleleri buradan oku. Yapmak:. Henüz bir aboneliğiniz yok mu? Bugün bir tane al.

Dörtlü Bir Kelime

Dört ayak pasif stabilite veya aktif olarak pozisyon ayarlamadan ayakta durma kabiliyeti sağlar çünkü doğada bol miktarda dörtlü bulacaksınız. Aynısı robotlar için de geçerlidir. Dört bacaklı bir robot daha fazla bacaklı bir robottan daha ucuz ve basittir, ancak yine de stabilite sağlayabilir.

Pasif ve Aktif Kararlılık

Bir sandalye pasif olarak dengelidir, çünkü dik kalmak için herhangi bir kontrol veya ayar gerektirmez. Ayakta duran bir insan aktif olarak kararlıdır, çünkü vücudunuz ayakta kalmak için sürekli pozisyon kontrolü gerektirir.

Dört ayak dört ayak üzerinde durduğunda pasif olarak kararlıdır. Yürürken, seçenekleri var. Üç ayağını yerde tutarak ve dördüncü ile uzanarak yürürken pasif stabiliteyi koruyabilir. Aynı zamanda pasif stabilite vazgeçebilir ve daha hızlı hareket etmek için daha hızlı hareket etmek için aktif stabilite kullanabilir. Bu iki yürüyen yürüme çeşidine sünme ve tırmık denir. Size sürünme yürüyüşünün nasıl çalıştığını göstereceğim.

Sürünme Yürüyüşü

Sürünme yürüme, kullanımı en kolay yürüme yürüme şeklidir. Robot üç ayağı yerde tutar ve bu üç ayağın oluşturduğu üçgenin içindeki ağırlık merkezini (CoG) tutar. CoG bu üçgenin dışına çok uzun süre basarsa düşecek (Şekil A).

Hep Svadja'nın özellik fotoğrafı. Juliann Brown tarafından diyagramlar

Yeterince basit. Sorun, yürürken bu stabilitenin nasıl korunacağıdır. Şekil B'deki desen size saatlerce süren denemeler ve hatalar kazandırır (güven bana, biliyorum). Basit bir pasif stabil sürünme yürüyüşü türüdür.

Sürünme Yürüyüşü Kırmak

1. Bu, başlangıçta iki bacak bir tarafta uzatılmış ve diğer iki bacak içe doğru çekilmiştir.

2. Sağ üst bacak yukarı kalkar ve robottan çok ileride uzanır.

3. Tüm bacaklar geriye doğru kayar, vücudu ileri doğru hareket ettirir.

4. Sol arka bacak kaldırılır ve gövdeye doğru ileri gider. Bu pozisyon başlangıç ​​pozisyonunun ayna görüntüsüdür.

5. Sol üst bacak, robottan çok önce ileri doğru kalkar ve uzanır.

6. Yine, tüm bacaklar geriye doğru kayar ve vücudu ileri doğru hareket ettirir.

7. Sağ arka bacak, bizi başlangıç ​​pozisyonuna getirerek kaldırır ve vücuda geri adım atar.

Her zaman, yerde bacakların oluşturduğu üçgenin CoG içerdiğine dikkat edin. Bu, sürünme yürüyüşünün özüdür.

Bu paterne baktığımızda, esasen iki yansıtılmış hareketler kümesi olduğunu görebiliriz. Adım, adım ve vardiya, ardından başka bir adım, adım ve diğer tarafta vardiya.

Kodu yaz

Yürüyüş oldukça basittir - fakat bunu gerçekten nasıl koda dönüştürürüz? Eh, yapılacak ilk şey, bacakların her bir pozisyondaki spesifik x, y pozisyonlarına karar vermektir (Şekil C).

Her bacağın kendi x ve y eksenleri vardır. Her bacağın ayağına, o eksene göre milimetre cinsinden bir konum verebiliriz. Örneğin, sol üst bacak pozisyonda (-50,50). Şimdi bu pozisyonları sürünme yürüyüşünün her aşamasına uygulayabiliriz. İstediğiniz pozisyonların robotunuzun bacağının uzunluğuna bağlı olacağını unutmayın. Herhangi bir isteğe bağlı dörtlü için, doğru sayıları bulmak için bir miktar ölçüm yapmanız gerekecektir. Şekil D pozisyonlara bir örnektir.

Her adım arasında, sadece yukarıdaki dizideki yeşil oklarla gösterilen konumdaki değişiklikle ilgilenmemiz gerekir. Öyleyse bu kodda nasıl çevrilir? Uygulamak için Arduino koduna bakalım (ki bu bir txt dosyası olarak da görüntüleyebilirsiniz).

Şaşırtıcı derecede basit, değil mi? Şimdi, E'den K'ya kadar olan Şekillerde daha da parçalayalım.

Bu yaklaşımla robotunuzun zaman kaybetmeden yürümesini sağlayabilirsiniz. Servo motor kullanıyorsanız, önce servo motor açılarını burada açıklanan pozisyonlara çevirmenizi sağlayacak olan ters kinematikte uzmanlaşmanız gerekecektir.

Hisse

Yorum Bırakmak