Kendi kendini dengeleyen robot algoritmasına yeni bir bakış

Kendi kendini dengeleyen robot, birçok üreticinin robotik dünyasındaki yolculukları sırasında bir yerlerde inşa etmeyi sevdiği harika bir proje.

İnternette bulabileceğiniz çoğu durumda, kendi kendini dengeleyen robotlarda kullanılan üç farklı motor türü vardır:

Seçenekler a) ve b) mesafe hakkında size geri bildirim vermez (step motor durumunda bile adımları kaybetmek kolaydır), bu nedenle enkoderlerle DC motorları kullanmaya karar verdik. Robot şu şekilde dengeyi koruyor:

Gördüğünüz şey, temelde, herhangi bir yerden, paylaşılabilir bağlantı aracılığıyla internet üzerinden kontrol edilebilen bir telepresence robotudur.

Şimdi hikayenin derinliklerine inelim.

Mevcut kendi kendini dengeleyen robot yapıları ve kendimizinkini yapma yolumuz

İnternette bulunan tüm kendi kendini dengeleyen yapıların% 90’dan fazlası Arduino’ya dayanıyor, bu nedenle bunları yeni işlevlerle genişletmek, bilgi işlem gücü eksikliği ve içinde yapılan her şeyin olduğu tek bir sonsuz döngü nedeniyle oldukça zor.

Kendi kendini dengeleyen yapımızı oluştururken şu varsayımları aklımızda tuttuk:

İlk önce kullandığımız donanımla başlayalım.

Robotumuz, “donanımda” işlenen dört evreli kodlayıcılara sahip en fazla 4 DC motor için entegre arabirimlere sahip Husarion CORE2 robotik denetleyiciye dayanmaktadır (özel bir dört evreli kodlayıcı modunda çalışan zamanlayıcı), böylece kodlayıcıları işlemek için CPU’nun işlem gücünü boşa harcamaz. Husarion CORE2 denetleyicisi, Arduino uyumluluk katmanı ile (bu değildir) https://github.com/husarion/hFramework (MIT lisansı) adresinde bulunan açık kaynak programlama çerçevesi tarafından sağlanan C ++ 11’deki kolay API sayesinde programlanmıştır. bu yazılımda kullanılır, ancak bir Arduino meraklısıysanız olabilir 😊).

Sonuçlar nelerdir? Sadece bir göz atın

Amacımız yalnızca kontrol algoritmasını hazırlamak değil, aynı zamanda kullanımı kolay API sağlamaktı. Şöyle görünüyor:

Bu API’yi kullanarak, telepresence robotumuzu oluşturduk. Nihai projenin temel özellikleri şunlardır:

Sorunsuz sürüş

Kesintilere karşı dayanıklılık

Dengelemeyi başlatmak / durdurmak için servo kontrollü ayak

Sezgisel web kullanıcı arayüzü – bu robotu bir web tarayıcısından klavyenizdeki oklarla veya kullanıcı arayüzünde yerleşik kumanda koluyla kontrol edebilirsiniz

Stabilizasyon algoritması açıklandı

Pek çok deneme ve hatadan sonra nihayet 4 PID düzenleyicisine dayalı bir kontrol algoritması oluşturduk:

İlk bakışta karmaşık görünebilir ancak anlaşılması oldukça kolaydır. Bunu sağdan sola analiz edelim:

Donanım düzeyinde, motorlar ve sensörler tarafından sağlanan aşağıdaki arayüze sahibiz:

Aşağıda, stabilizasyon algoritması kodunun bir örneğini bulabilirsiniz:

Nasıl başlayabilirsiniz?

Tam kaynak kodu şu adreste bulunabilir:

https://github.com/husarion/self-balancing-telepresence-robot .

Umarım bu makaleyi faydalı bulursunuz ve kendi kendini dengeleyen harika bir robot oluşturma deneyimi diliyorum 😊. Geri bildiriminiz çok şey ifade ediyor, bu nedenle paylaşmak isterseniz [email protected] adresinden bana ping atabilir veya topluluk forumumuzda https://community.husarion.com/ gönderi yayınlayabilirsiniz. senin düşüncelerin. Kendinize iyi bakın!