Arduino ile kendini dengeleyen bir otonom bot nasıl yapılır.

RobotikForum

RF Admin
Yönetici
19 Şub 2020
84
48
13
Balıkesir
www.robotikforum.net
Robot becerilerinizi düzeltmeye hazır mısınız? ArduRoller, iç mekanda veya dışarıda özerk navigasyon yeteneğine sahip, kendi kendini dengeleyen, ters çevrilmiş bir sarkaç robotudur. Bunu, yıllık SparkFun Özerk Aracı Yarışması için bir giriş olarak tasarladım: Amaç, birden çok dönüş, engebeli arazi, 50 galonluk varil ve rampalar dahil bir engel parkurunda hızlıca gezinebilen geleneksel olmayan bir araç yaratmaktı.

Tek bir kart üzerinde bot oluşturmak için gereken tüm sensörleri içerdiğinden, 3D Robotics'ten bir artı APM 2.5 otopilotu seçtim. Yapı basittir ve yazılım DIY Drones topluluğu tarafından geliştirilen ArduPilot sistemine dayanan ücretsiz ve açık kaynaklıdır. Özerk robotlara başlamak için harika bir yol.


Kendinden dengeleyici bir botun kalbi, 3 eksenli jiroskoplar, ivmeölçerler ve manyetometrelerden oluşan IMU veya atalet ölçüm birimidir. Bu 9 sensör, saniyede 1.000 kereye kadar örneklenir ve her bir sensörün en iyi özelliklerini bir araya getiren bir matematik filtresi olan DCM (yön-kosinüs-matris algoritması) adlı bir kod parçası ile entegre edilir. Robotun üst seviye kodu, DCM'den dengeleme için gereken şekilde açıyı ve botun dönüş hızını sorabilir.



Robot Dengesi Nasıl Yapılır?


Ters çevrilmiş bir sarkaç denge botu doğal olarak dengesizdir. Elverişli olarak, yüksek ağırlık merkezi, düşme hızını yavaşlatan büyük bir atalet momenti yaratır. Bu yavaş düşüşü, tekerlekleri aracın altına düştükçe sürekli hareket ettirerek kaldırabiliriz. İleriye doğru eğilirse, tekerlekler düşmeye karşı koymak için öne doğru döner.

Robotun yazılımındaki basit bir PID döngüsü, denge kontrolünün temelidir:

  • Orantılı terim, botun açı hatasını alır ve tekerleklerin düşmesini önlemek için bu ölçeklenmiş değerleri motora gönderir.
  • İntegral terimi aynı şekilde kullanılır, ancak zaman içindeki tüm açı hatalarının toplamıdır ve ağırlık merkezi sorunlarının iptal edilmesine yardımcı olur.
  • Türev terimi kritiktir. Bu olmadan, ivme kontrol edemedik.




Seyahat Yap
Basit bir bot, sadece seyahat yönüne doğru eğilir. Bu bir süre işe yarıyor, ancak bot sürekli olarak hızlanıyor ve yakında düşüyor (A). Botun kendisi doğru çalışırsa, ileri hareket durur.

Bunun yerine dikey olarak ilerlerken ileriye doğru gitmemiz gerekiyor (B). İlk adım, tekerlekleri dengeli ve mükemmel şekilde dik tutmak için yeterli gücü bırakırken, tekerleklerin istenen hızda dönmesini sağlamaktır. Daha sonra, tekerleklerin hızını alır ve bunu istenen hıza iletiriz. Bu, botu, botu itmeye çalışan bir kişi gibi, açıda hızlı değişimlere direnme yeteneği verir. Bu algoritma, insanların itildiklerinde nasıl denge kurdukları gözlemiyle geliştirilmiştir. Örneğin, bir futbol oyunundaki bir yan hakem bacağını geri fırlatır ve vurulduğunda yanar.

Bu iki ek giriş, dengeleme algoritmasıyla toplanır ve tekerlere gönderilerek, botun zarif bir şekilde hızlanmasına ve uzun mesafelere seyahat etmesine olanak verir.



Navigasyon yap
Robotu yönlendirmek için, nerede ve nerede gittiğini tam olarak bilmemiz gerekir. GPS harika, ama sadece birkaç metre için doğru. Daha yüksek doğrulukta ihtiyacımız var - santimetre ölçeğine kadar.



Tekerlek kodlayıcılar hassasiyeti milimetreye kadar düşürür ve GPS için iyi bir tamamlayıcıdır. Pololu tarafından satılan motorlar, bir bisiklet bilgisayarı gibi çalışan isteğe bağlı Hall etkisi (manyetik) sensörlere sahiptir: Küçük mıknatıslar, dönerken tekerleklerin hızını bize veren sensörden geçerler. Arduino Pro Mini, enkoderler tarafından gönderilen saniyede binlerce darbeyi okur ve bu verileri I2C arayüzü üzerinden otomatik pilota aktarır. Tekerleklerin çapını ölçtüğünüzde, bot tam olarak ne kadar hızlı ve ne kadar ilerlediğini bilecektir. Bot ayrıca pusula yönünü de bildiğinden, 2D uzayda kesin konumunu çizebilir. Mevcut olduğunda, tekerlek kayması veya diğer hataların oluşmadığından ve rotadan çıkarıldığından emin olmak için bu çözümü yavaşça hafifçe döndürmek için GPS kullanılır.

Araç otopilotta fitil sırasında sıkışırsa, tekerleklerin durduğunu hissedecektir. Bot rotayı tersine çevirecek ve tekrar sağa hafifçe tekrar deneyecek.

Yol noktası navigasyonu dahil olmak üzere robotun kontrol yazılımının geri kalanı sadece 4 yıl önce kurduğum açık kaynaklı drone projesi ArduCopter'ın değiştirilmiş bir versiyonudur. Bu, drone tutkunlarının oluşturduğu bir topluluk tarafından inşa edilen büyük bir iş hacminden faydalanmamızı sağlar.

Yapma zamanı! Aşağıdaki projenin tamamlanması yaklaşık 3–5 saat sürüyor

Adım:1





  • İlk görüntü Pololu tarafından kodlanmış enkoder üniteleri ile fırçalı DC motorları göstermektedir. Torku artırmak için 34: 1 vites küçültme seçildi.
  • Pololu'nun off-road tekerlekleri, 4mm motor millerine mükemmel şekilde bağlanan adaptörlerle birlikte geliyor. Yumuşak lastikler, botun herhangi bir arazi üzerinde gitmesine yardımcı olur ve normalde devrilecek olan yumruları emer.


Adım # 2: Gövde bölümlerini 3D yazdır


Adım:3



Motorları 3D baskılı tabanına takın. İç kaburgalar tarafından sıkıca tutulurlar, ancak 2 kaburga arasında sıcak tutkal ekledim.

Adım # 4: Elektronikleri bağlayın



  • APM otopilotu, motor siperi, lojik seviye konvertörü ve Arduino Mini'yi bağlantı şemasında gösterildiği gibi bağlayın
  • Otonom çalışma için GPS modülünü ve telemetri radyosunu bağlayın.
  • Botu manuel olarak kontrol etmek için R / C alıcınızı bağlayın. PPM alıcıları için APM ile gelen atlama tellerini kullanın
Adım # 5: Elektroniği bağlayın, devam



  • Orta gövde bölümünü (cam ile) elektronik üzerinden kaydırın ve tabanına bastırın. Sonra üst kısmı yerine doğru bastırın. Pil üst kısımda, kubbe altında saklanır. Güç anahtarı kullanışlı bir eklentidir ve botun yan tarafına monte edilebilir.
  • Henüz yapmadıysanız tekerlekleri monte edin.
  • Cam kubbe aslında Amazon tarafından satılan bir plastik ağaç süs. Elektronikteki LED'ler (isteğe bağlı) pleksiglas pencereden botun iç kısımlarını aydınlatır.
  • Telemetri telsizini botun yan tarafına monte edin; Görevleri programlamak veya botu doğrudan kontrol etmek için kullanabilirsiniz.
Adım # 7: Denge botunuzu programlayın



Kaynak: makerteknoloji.com
 
  • Beğen
Tepkiler: kudretuzuner

yassow42

Yeni Üye
4 Mar 2020
5
5
3
Güzel kaynak olmuş... Bir sorum olacak. Robotumun birinde sağ tekere az güç geliyor. Beslemede sorun yok motoru bile değiştirdim ama bulamadım. baglantıları sol tekerle degıstirdim bu sefer sol tekere az güç geliyor. Sorun kartın neresınde olabilir.
 
  • Beğen
Tepkiler: RobotikForum

ONUR

Robotik - Teknoloji
20 Şub 2020
37
21
13
onurias.com
Güzel kaynak olmuş... Bir sorum olacak. Robotumun birinde sağ tekere az güç geliyor. Beslemede sorun yok motoru bile değiştirdim ama bulamadım. baglantıları sol tekerle degıstirdim bu sefer sol tekere az güç geliyor. Sorun kartın neresınde olabilir.
Merhabalar öncelikle koddaki pwm değerinde sorun olduğunu düşünüyorum. Eğer öyleyse rahatlıkla çözebiliriz ama biraz daha detaylı yazarsan (kod+resim) daha iyi olur.
 
  • Beğen
Tepkiler: RobotikForum

ONUR

Robotik - Teknoloji
20 Şub 2020
37
21
13
onurias.com
Güzel kaynak olmuş... Bir sorum olacak. Robotumun birinde sağ tekere az güç geliyor. Beslemede sorun yok motoru bile değiştirdim ama bulamadım. baglantıları sol tekerle degıstirdim bu sefer sol tekere az güç geliyor. Sorun kartın neresınde olabilir.
Veyada olması çok zor da olsa kartın donanımına bir sorun olabilir bunu anlamak için yazilim dan ve donanimdan başka bir pine geçiş yapman lazım. Hız kontrolü varsa sistemde ~ işareti olan pinleri kullan yani pwm pinlerini.
 
  • Beğen
Tepkiler: RobotikForum

Robotikforum.net Nedir?

  • Robotikforum.net 2020 yılında kurulup yayın hayatına başlayan ve Türkiye’de robotik kodlama alanının gelişimine katkıda bulunmak için bu alan ile ilgilenen bireylerin bir birleri ile yardımlaşmaları ve fikir danışmalarını sağlayarak daha iyi öğrenmek için her bir bireyin bilgisini ve tecrübesini alarak kendini geliştirebileceği ve sorularına cevap bulabileceği bir platform olarak kurulmuştur.

Bilgilendirme!!!

İçerik sağlayıcı paylaşım sitelerinden biri olan www.robotikforum.net Adresimizde T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur.

Sayfamızı beğendin mi?

X Merhaba ziyaretçi Robotikforum.net adresine hoşgeldin. Robotikforum.net
adresi gelişen teknoloji ile günden güne yaygınlaşan robotik teknolojileri
hakkında yardımlaşabileceğin ve tartışabileceğin bir platformdur.
Aramıza katılmaya ne dersin?
Kayıt Ol