Adım 1: Robot Sürüşünüzü karakterize etmek

Not

FRC Karakterizasyon aracını kullanma hakkında ayrıntılı talimatlar için, bkz konu ile ilgili dokümantasyon.

Not

Sürücü karakterizasyon süreci, robotun hareket etmesi için geniş alan gerektirir. Karakterizasyon rutini sırasında robotun hareket edebileceği *en az * 10’ uzatmaya (ideal olarak 20’ ye yakın) sahip olduğunuzdan emin olun.

Not

Bu eğiticinin karakterizasyon verileri, 2019 North Carolina Eyalet Üniversitesi P2P Çalıştayında bu işlevselliğin gösteriminin bir parçası olarak onu oluşturan Team 5190 tarafından cömertçe sağlanmıştır.

Bir robotla bir yolu doğru bir şekilde takip etmeden önce, robotun kontrol girdilerine yanıt olarak nasıl hareket ettiğine dair doğru bir modele sahip olmak önemlidir. Böyle bir modelin belirlenmesi, “system identification-sistem tanımlama” adı verilen bir süreçtir. WPILib’in FRC-Karakterizasyonu, sürücü sistemi tanımlaması için bir araçtır.

Veri toplama

Sürücü karakterizasyon verilerimizi toplayarak başlıyoruz.

  1. Bir rovot projesi üretmek.

  • Örnek projemiz “simple” proje türünü kullanır. Diğer proje türleri (örneğin, Talon ve NEO) çok fazla fark olmadan kullanılabilir; ancak proje türünden bağımsız olarak gerekli robot parametrelerini doğru şekilde belirlediğinizden emin olun!

  • WPILib’in yörünge kitaplığı, metre birimlerinin mesafe için evrensel olarak kullanıldığını varsayar - buna göre, robotunuzun tekerlek çapının metre cinsinden belirtildiğinden emin olun!

  1. Robot projesini yüklemek.

  2. Karakterizasyon Rutinini Çalıştır.

Veriti analiz etmek

Karakterizasyon rutini çalıştırıldıktan ve veri dosyası kaydedildikten sonra, sıra analiz bölmesinde.

Teşhis Kontrolü

FRC-Karakterizasyon kılavuzu uyarınca, verilerimizin makul görünmesini sağlamak için önce tanılamayı inceliyoruz:

Combined Voltage-Domain Plots.

Verilerimiz makul derecede doğrusal göründüğünden ve eşik değerimiz doğru ayarlanmış gibi göründüğünden, bir sonraki adıma geçebiliriz.

İleri Bildirim Kazançlarını kaydetmek

Not

Feedforward-İlerbesleme kazançları genel olarak robotlar arasında transfer edilemez. Bu eğitimden elde edilen kazançları kendi robotunuz için kullanmayın.

Şimdi araç tarafından hesaplanan ileribesleme kazançlarını kaydediyoruz:

Highlights where to get the kS, kV, kA, and r-squared results from in the center of the window.

Tekerlek çapımız metre olarak belirtildiğinden, ileriye dönük kazançlarımız aşağıdaki birimlerdedir:

  • kS: Volts

  • kV: Volts * Seconds / Meters

  • kA: Volts * Seconds^2 / Meters

Birimlerinizi doğru bir şekilde belirlediyseniz, ileriye dönük kazanımlarınız muhtemelen burada bildirilenlerin büyüklüğü içinde olacaktır (kA için olası bir istisna mevcuttur ve robotunuz hafifse kaybolacak kadar küçük olabilir). Değilse, robot projenizi oluştururken sürücü parametrelerinizden birini yanlış belirtmiş olabilirsiniz. Bunun için iyi bir test, 12 volt olan kV nin “teorik” değerini, aktarma sisteminizin teorik serbest hızına (bu da motorun serbest hızının tekerlek çevresi ile çarpılmasının dişli redüksiyonuna bölünmesine karşılık gelir) hesaplamaktır. Bu değer, alet tarafından ölçülen kV ile çok yakından uyuşmalıdır - eğer uymuyorsa, muhtemelen bir yerde bir hata yapmışsınızdır.

Geri besleme kazançlarını hesaplama

Not

Geribesleme kazanımları genel olarak robotlar arasında aktarılmaz. Bu eğitimde bahsedilen kazançları kendi robotunuz için kullanmayın .

Şimdi yolu takip etmek için kullanacağımız PID kontrolü için geri besleme kazanımlarını hesaplayacağız. WPILib’in RAMSETE denetleyicisi ile takip edilen yörünge, hız kapalı döngü kontrolünü kullanır, bu nedenle önce karakterizasyon aracında Velocity modunu seçeriz:

How to specify velocity mode in the "Loop Type" dropdown.

Hız döngümüz için WPILib PIDController’ı kullanacağımızdan, ayrıca açılır “presets” menüsünden ``WPILib (2020-)``seçeneğini seçiyoruz. Doğru ön ayarı seçmezsek geri bildirim kazanımları doğru birimlerde olmayacağından bu çok önemlidir:

Highlights choosing "WPILib (2020-)" from the "Gain Setting Preset" dropdown.

Son olarak, kontrol döngümüz için geri bildirim kazanımlarını hesaplıyor ve kaydediyoruz. Hız kontrolörü olduğundan, sadece bir P kazancı gereklidir:

Highlights the calculated kP and kD controller gains.

Her şeyi doğru yaptığımızı varsayarsak, orantılı kazancımız Volt * Saniye / Metre cinsinden olacaktır. Bu nedenle, hesapladığımız kazancımız, her bir metre / saniye hız hatası için kontrolörün ek olarak 8,5 volt vereceği anlamına gelir.