Dörtlü Yürüyüşe iyi bir yaklaşım nedir?


12

Üzerinde çalıştığım üç serbestlik dereceli bacaklara sahip küçük bir dörtlü var: 3DOF Mini Quadruped .

Orijinal kodum arduino üzerinde basit bir servo denetleyicisi ve tel üzerinden servo komutları gönderecek olan Scala kodu idi. Scala'da tüm Ters Kinematik ve Yürüyüş mantığını yaptım ve yürümesini sağladım : 3dof ilk yürüyüşü dört katına çıkardı .

Scala'daki Yürüyüş mantığım biraz naifti; bacakların başlangıçta doğru pozisyonda olmasına bağlıydı (bir tarafı öne ve arkaya, diğer tarafı birbirine doğru). Mantık, dört ayağın hepsini y boyunca 1 mm geriye doğru çevirirdi ve bir kakao açısı aşırı derecede geriye döndüğünde, durun ve bu ayağın z'de 10 mm kaldırıldığı, ardından y boyunca 60 mm ileri doğru çevrildiği ve geri çekildiği yerde biraz rutin bir işlem yapın. Saf, ama etkili.

Şimdi, IK kodumu arduino C'de yeniden yazdım ve Yürüyüş dinamikleriyle nasıl ilerleyeceğime karar vermeye çalışıyorum. Yürüyüşler hakkında iyi, anlaşılması kolay kaynaklar bulmakta zorlandım. Vücudun her zaman sabit bir tripod olduğu dinamik olarak stabil yürüyüşler (sürünme yürüyüşleri gibi) ve iki bacağın bir anda yerden kalktığı dinamik olarak dengesiz yürüyüşler (yürüme, paça) arasındaki fark hakkında biraz bilgim var. aslında ilerleyen bacağın içine düşüyor.

Devlet makineleri ve vücut merkezinin, hangi ayağın kaldırılmasının güvenli olduğuna karar vermek için kalan ayakların oluşturduğu bir üçgen içine düşüp düşmediğini hesaplamaya çalıştım, ancak bunların araştırmaya değer fikirler olup olmadığından emin değilim.

Bunun biraz genel bir soru olduğunu biliyorum, ama diğer insanların bu soruna nasıl saldırdıklarını görmekle ilgileniyorum ve bulabildiğim tek şey araştırma yazıları.


Robotlar üzerinde yaptığınız çalışmalardan çok etkilendim. Bazı değerli çözümler aramak için yardımınıza çok ihtiyacım var. Son 6 aydır hexapod kinematiğini olumlu sonuçlarla çözmek için çözümler arıyordum .. Tüm servo açıları için vücuda zemine paralel olan denklemleri bulmayı başardım, ancak bunu yapamadım. vücut bir tarafa eğik. Yardım edebilecek olursanız teşekkür ederiz :-) Saygılarımızla Gary

R.Se @ user2350'e hoş geldiniz - lütfen cevap olarak ek sorular (ne kadar önemli olursa olsun) sormayın
Andrew

Yanıtlar:


5

Ayaklarınız yeterli çekişe sahip olmamasına rağmen, sahip olduğunuz yürüyüş aslında çok kötü değil, bu yüzden gerçekten ne kadar iyi olduğunu görmek zor.

Dinamik olarak dengeli yürüyüş terminolojinizden emin değilim. Her zaman anladığım gibi, iki tripod tarzı yürüyüş, statik olarak dengeli bir yürüyüş olarak bilinirken , Petman gibi iyi bir yürüyüş , dinamik olarak kararlı bir yürüyüş kullanıyor. Dinamik olarak dengesiz bir yürüyüşü hiç duymadım. Bu daha çok sarhoşluk gibi geliyor.

Yerdeki iki bacak muhtemelen bu robot tasarımı için alt sınırdır. Genel olarak, bu işi düşmek uzun zaman alan uzun, insansı robotlarla yapmak daha kolaydır. Geniş düz robotlar, yerde çok fazla kalmıyorlarsa ayaklarını oldukça hızlı bir şekilde kaldırmalı ve yerleştirmelidirler.

Ancak robotunuz için nasıl bir kazanç geliştirilir. İlk olarak, yürüyüşten ne elde etmek istediğinize karar vermelisiniz. Düz bir yüzeyde maksimum hız mı yoksa pürüzlü yüzeylerde maksimum kararlılık mı arıyorsunuz?

Hedefiniz istikrar ise, o zaman kesinlikle robotun ağırlık merkezi ile ayaklarına göre farkında olmasına değer. Bunu bilmesine yardımcı olmak için, ayaklarına bazı kuvvet sensörleri eklemeye değer olabilir, böylece bunu kolayca hesaplayabilir.

Hedefiniz yalnızca maksimum hız ise, o zaman en uygun yürüyüş modelini finanse etmeye odaklanacağım. Bunu yapmak daha zor. Buna yaklaşmanın iki iyi yolu vardır:

  1. Modelleme. Robotun kütle, sertlik, tork vb. Dahil olmak üzere kapsamlı bir bilgisayar modeli oluşturun. Dinamik davranışı tam olarak anlamak için bu modeli kullanın.

  2. Deneme ve hata. Bunu zor yoldan yapabilir, rastgele yürüyüşlerle programlayabilir, bir yığın üzerinde ayarlayabilir ve performanslarını ölçebilirsiniz. Hem ileri hem de çapraz olarak yürümeyi deneyin. Veya otomatik olarak daha iyi yürüyüşler aramanıza yardımcı olması için genetik bir algoritma kullanabilirsiniz . Bir GA kullanmanın zorluğu, yürüyüşün performansını otomatik olarak ölçmek için bir yol bulmanız gerektiğidir.

Üçüncü bir yol, robotu kendisi hakkında hipotezleri doğrulamak ve Cornell Üniversitesi'nin deniz yıldızı robotu gibi nasıl yürüyeceğini anlamak için kendi üzerine bilinçli deneyler yapan bir bilim insanı haline getirmektir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.