Geri Bildirim Analizi

Önemli

Bu kazanımlar aslında “eğitimli tahminlerdir” - mükemmel olmaları garanti edilmez ve daha fazla ayarlama için “başlangıç noktası-starting point” olarak görülmelidir.

Uyarı

Geri besleme kazancı hesaplaması, sensör ölçümünde mekanik boşluk, sensör gürültüsü veya faz gecikmesi olmadığını varsayar. Bunlar birçok durumda makul varsayımlar olsa da, hiçbiri pratikte kesinlikle doğru değildir. Özellikle, birçok “akıllı motor kontrol cihazı” (Talon SRX, Talon FX ve `` SPARK MAX`` gibi) önemli ölçüde geçerli olan varsayılan ayarlara sahiptir : ref: düşük geçişli filtreleme <docs/software/advanced-controls/filters/introduction:Introduction to Filters> önemli miktarda faz gecikmesi ortaya çıkaran kodlayıcı hız ölçümlerine. Bu, hız döngüleri için hesaplanan kazançların kararsız olmasına neden olabilir. Bunu düzeltmek için, ya denetleyicinin API’si aracılığıyla filtreleme miktarını azaltın ya da PID kazançlarının büyüklüğünü azaltın - kazançların yaklaşık 10 kat azaltılmasının çoğu varsayılan filtreleme ayarı için iyi çalıştığı bulunmuştur.

İleri besleme katsayıları hesaplandıktan sonra Feedback Analysis bölmesindeki kontroller kullanılabilir hale gelir.

Picture of the feedback analysis pane

Bunlar, mekanizmanız için bir PD veya P kontrolörü için optimum geri bildirim kazanımlarını hesaplamak için kullanılabilir (LQR) aracılığıyla.

Denetleyici Parametrelerini Girin

Not

“Spark Max” ön ayarı, kullanıcının denetleyiciyi SPARK MAX API’nin konum / hız ölçekleme faktörü özelliği ile analiz birimlerinde çalışacak şekilde yapılandırdığını varsayar.

Hesaplanan ileri besleme kazançları boyutlandırılmış miktarlardır. Ne yazık ki, FRC ® kontroller ve bu nedenle PID kontrolör uygulamaları için çeşitli tipik seçenekler, kendi ünite kurallarında farklılık gösterir (bunlar genellikle kullanıcıya açıklanmaz).

PID denetleyiciniz için doğru ayarları belirlemek için aşağıdaki seçenekleri kullanın.

Picture of the controller settings
  • Gain Settings Preset-Kazanç Ayarları Ön Ayarı: Bu açılır menü, kalan alanları bir dizi genel FRC denetleyici kurulumundan biri için olası ayarlarla otomatik olarak dolduracaktır. Kodlayıcı sonrası dişli, PPR ve takipçi motor varlığı gibi bazı ayarların yine de manuel olarak belirtilmesi gerektiğini (analizörün bunları kullanıcı girişi olmadan bilmesinin bir yolu olmadığı için) ve diğerlerinin verilen varsayılanlardan farklı olabileceğini unutmayın. kullanıcı kurulumuna bağlı olarak.

  • Controller Period: Bu, kontrol döngüsünün saniye cinsinden yürütme periyodudur. Varsayılan RIO döngü hızı 50Hz’dir ve 0.02sn’lik bir süreye karşılık gelir. Çoğu “akıllı denetleyicideki” yerleşik denetleyiciler 1 Khz’de veya 0,001 saniye süreyle çalışır.

  • Max Controller Output: Bu, PID hesaplamasına göre denetleyici çıkışının maksimum değeridir. Çoğu kontrolör, maksimum değeri 1 olan çıktıları hesaplar, ancak Talon kontrolörlerinin maksimum çıkışı 1023’tür.

  • Time-Normalized Controller: Bu, PID hesaplamasının, D kazancının ölçeklendirmesini etkileyen yürütme süresine normalize edilip edilmeyeceğini belirtir.

  • **Controller Type-Denetleyici Tipi: ** Bu, denetleyicinin yerleşik bir RIO döngüsü olup olmadığını veya Talon veya SPARK MAX gibi akıllı bir motor denetleyicisinde çalışıp çalışmadığını belirtir.

  • Post-Encoder Gearing: Bu, kodlayıcı ile mekanizmanın kendisi arasındaki dişlileri belirtir. Bu, PID hesaplamalarında kullanıcı tanımlı birim ölçeklendirmesine izin vermeyen kontrol döngüleri için gereklidir (örneğin, Talon’da çalışanlar). İlgili değilse bu devre dışı bırakılacaktır.

  • Enkoder EPR: Bu, Kullanılan enkoderin, Post-Encoder Gearing ile aynı durumlarda gerekli olan, devir başına kenarlarını (devir başına döngüleri değil) belirtir.

  • Has Follower-İzleyici Var: Kontrol döngüsü bir çevresel aygıt üzerinde çalıştırılıyorsa, kontrol döngüsünü çalıştıran denetleyiciyi takip eden bir motor denetleyicisinin olup olmadığı. Bu, etkin döngü süresini değiştirir.

  • **Follower Update Period-Takipçi Güncelleme Süresi: ** Takipçinin (varsa) güncellenme oranı. Varsayılan olarak bu, Talon SRX, Talon FX ve SPARK MAX için 100 Hz’dir (her 0.01 saniyede), ancak değiştirilebilir.

Not

Ön ayar olarak bir akıllı motor kontrolörü seçerseniz (örneğin, TalonSRX, SPARK MAX, vb.) Convert Gains onay kutusu otomatik olarak işaretlenir. Bu, aracın kazançlarınızı akıllı motor denetleyicisinin PID yöntemleriyle kullanılabilecek şekilde dönüştüreceği anlamına gelir. Bu nedenle, WPILib’in PID Döngülerini kullanmak istiyorsanız, bu kutunun işaretini kaldırmalısınız.

Optimallik Kriterlerini Belirtin

Son olarak, kullanıcı neyin “optimal” kontrolör olarak kabul edileceğini belirlemelidir. Bu, sistem hatası ve kontrol çabası için istenen tolerans formunu alır - sistemin bu toleranslara her zaman uyacağının garanti olmadığını unutmayın.

Entering optimality criteria for the feedback controller

Kural olarak, Max Acceptable Error için daha küçük değerler veguilabel:Max Acceptable Control Effort için daha büyük değerler daha büyük kazançlarla sonuçlanacaktır - bu daha büyük kontrol çabaları ile sonuçlanacak ve bu da daha iyi ayar noktası sağlayabilecektir. ancak daha şiddetli davranışlara ve bileşenlerde daha fazla aşınmaya neden olabilir.

Max Acceptable Control Effort tam akü voltajına karşılık geldiğinden asla 12V’yi aşmamalıdır ve ideal olarak bundan biraz daha düşük olmalıdır.

Select Loop Type-Döngü Tipini Seçin

Uygulamaya bağlı olarak, mekanizmaları hem konum hem de hız PID’leri ile kontrol etmek tipiktir. Aşağı açılır Loop Type menüsü kullanılarak ikisi de seçilebilir.

Specifying characterization loop type

Bilinen Hızı/İvmeyi Girin

Not

Bazen, olağanüstü hafif bir mekanizma/robot ve/veya son derece gürültülü verilerle, kA değerinin son derece küçük (veya hatta biraz negatif) olması mümkündür. Bu durumda kullanıcı kA yı sıfıra ayarlamalıdır. Bu durumda hesaplanan geri bildirim kazanımları da sıfır olabilir - bunun nedeni, böyle bir mekanizmanın LQR varsayımları altında ayar noktasını doğru bir şekilde izlemek için geri bildirime ihtiyaç duymaması gerektiğidir. Bu varsayımlar tam olarak doğru olmayabilir ve kullanıcıların ne olursa olsun geri bildirim eklemesi gerekebilir - bu durumda döngü manuel olarak ayarlanmalıdır.

Bir veri kümesi üzerinde tam bir analiz çalıştırmadan:guilabel:Feedback Analysis bölmesini kullanmak veya kV ve kA değerlerini değiştirmenin etkisini başka bir şekilde görüntülemek isterseniz, bu yapılabilir. buraya.

Entering known acceleration and velocities

Kazançları Hesapla

Son olarak, geribildirim kazanımlarını belirlemek için Calculate Optimal Controller Gains-Optimal Denetleyici Kazançlarını Hesapla seçeneğine basın.

Calculating the Optimal Controller Gains