Contents — find the section you need

PID (orantılı-integral-türev) kontrolü, bir referansı bir ölçümle karşılaştırdıktan sonra girişi değiştirir. Isıtıcılarda, sürücülerde, akış döngülerinde, robot eklemlerinde ve uçaklarda kullanılır çünkü mükemmel bir tesis modeli olmadan da iyi çalışabilir. Görünürdeki basitliği aldatıcıdır: Belirtilen birimleri, çıkış limiti, zamanlama politikası, sensör doğrulaması veya güvenli durdurma yolu olmayan bir kontrolör, uygulanabilir bir kontrolör değildir. Başarısızlığı bekleyen bir denklemdir.

Bu makale, pratik sonuçla başlar, ardından sezgiyi, sinyal akışını ve denklemleri, Ziegler-Nichols ayarını, kısıtlamaları ve güvenliği ve güncel yazılım örneklerini ele alır. Robot kontrolörü etrafındaki düğüm, zamanlama ve donanım sınırları için ROS 2 Primer'e bakın. Konumlandırma gecikmesi ve sıçramaların neden kontrol sorunları olduğu için Visual SLAM Primer'e bakın.

PID girişi e=r-y hatasıdır ve çıkışı u komutudur. P mevcut hataya tepki verir, I kalıcı sapmayı giderir ve D değişim hızından sönümleme ekler.

Kısa Sonuç

  • P şu anki hataya tepki verir; I kalıcı olan hatayı giderir; D değişim hızından sönümleme sağlar. P ile başlayın, sınırları belirleyin, yalnızca sabit bir sapma kaldığında I ekleyin ve yalnızca açık bir amacı olduğunda filtrelenmiş D ekleyin.

  • Uygulama hem komutu hem de komut hızını sınırlandırmalıdır. Anti-windup olmadan doygunluk, entegratörün aktüatörün sağlayamayacağı bir talebi depolamasına neden olur.

  • Çoğu fiziksel sistemde, basamak benzeri bir referans hatasını türevlemek yerine, filtrelenmiş bir ölçümü türevleyin. Türev sıçramasını önler ve referans değişikliklerine duyarlılığı azaltır.

  • PID, genellikle mütevazı bir gecikmeyle tek bir hızlı döngü için en iyi çözümdür. Daha gelişmiş optimizasyon, hızlı, gözlemlenebilir, güvenli bir iç döngüye olan ihtiyacı ortadan kaldırmaz.

Sezgisel Yaklaşım: Üç Operatörün Tek Bir Hatayı İzlemesi

Oda sıcaklığının referans değerinin altında olduğunu varsayalım. P operatörü, “Şu anda beş derece düşük, bu yüzden şimdi ısı uygulayın” diyor. I operatörü, “Uzun süredir düşük kaldı, bu nedenle temel ısı yetersiz” diyor. D operatörü, “Sıcaklık zaten hızla yükseliyor; aşırı yükselmeden önce ısıyı azaltın” diyor. Bunların toplamı hızlı bir yanıt, sabit bir ısı kaybının reddedilmesi ve daha az aşırı yükselme sağlayabilir.

Bu benzetme, döngünün güvenli olup olmadığını belirleyen gerçekleri göz ardı ediyor: ısıtıcı gücü sınırlıdır, termometre gürültülüdür ve ısının yayılması zaman alır. Bir türev, gürültüyü hareketle karıştırabilir; bir entegratör, ısıtıcı zaten doygunluğa ulaşmışken biriktirmeye devam edebilir. Bu nedenle PID tasarımı, kazanç değerleriyle değil, ölçülen ve güvenli bir şekilde komut verilebilen şeylerle başlar.

Sinyal Akışı: Kontrolör yalnızca bir bloktur

Diagram 1 · Use the button to switch views
PID closed-loop signal flowReference, summing junction, PID, saturation, plant, sensor feedback and disturbance are connected in a closed loop.reference rΣPIDP + I + Dlimitssaturationplant Gmotor / thermal / robotsensor H, sampling, delay and noise are part of feedbackdisturbance d

Diyagram: Duskcoil, ölçülmüş bir kablolama diyagramı yerine kavramsal bir diyagram. Kalibrasyon, taşıma gecikmesi, iletişim ve aktüatör iç döngüleri gerçek sinyal yoluna aittir.

Eğer tesis G ise ve sensör veya tahminci H, sadece kontrol ünitesi C'i daha yetenekli hale getirmek, G ve H'deki gecikmeyi, doygunluğu veya hataları ortadan kaldırmaz. Örneğin, bir mobil robot izleme için SLAM yerelleştirmesini kullandığında, tahmindeki sıçramalar ve gecikmeler PID'ye ölçüm gürültüsü ve bozulma olarak görünür. Görsel SLAM Temel Bilgileri'de tartışılan koordinat çerçeveleri, zaman senkronizasyonu ve yeniden yerelleştirme, kontrol ünitesi etrafındaki kontrol probleminin bir parçasıdır.

Temel denklemler ve birimler

r referans, y ölçüm, e=r-y ve u_{ff} ileri besleme komutu olsun. Paralel sürekli PID şöyledir:

u(t)=u_{ff}(t)+K_Pe(t)+K_I\int_0^t e(\tau)d\tau+K_D\frac{d e(t)}{dt}

K_P'ün birimleri u/e, K_I'in birimleri u/(e\cdot s) ve K_D'nin birimleri u\cdot s/e'dir. Bunlar özünde boyutsuz değildir. Dereceleri radyanlara çevirmek, bir kodlayıcıyı tersine çevirmek veya milisaniyelik bir zaman damgasını saniye tabanlı bir kazançla karıştırmak döngüyü değiştirir. Ayarlamadan önce birimleri, işaretleri, çerçeveleri ve referans güncelleme politikasını kaydedin.

Örnekleme periyodu T_s ile, temel bir ayrık uygulama integral durumu I_k ve fark türevi D_k'i tutar:

I_k=I_{k-1}+T_s e_k,\qquad D_k=\frac{e_k-e_{k-1}}{T_s}

Kontrolör daha sonra u_k=K_Pe_k+K_II_k+K_DD_k'ü hesaplar. Bu form zaten kritik mühendislik sorularını ortaya koymaktadır: T_s ölçülüyor mu yoksa varsayılıyor mu; bir mesaj gönderildiğinde ne olur? Geç; bayat bir örnekle ne yapılır; ve kontrolör deterministik bir hızda mı çalışır? Ölçümde yaygın olarak kullanılan filtrelenmiş türev,

\alpha=\tau_f/(\tau_f+T_s) katsayısını ve

D_k=\alpha D_{k-1}+(1-\alpha)\frac{y_{k-1}-y_k}{T_s}
katsayısını kullanır.

Referans adımından kaynaklanan türev sıçramasını önler. Filtresi ayrıca faz gecikmesi de ekler, bu nedenle filtreleme, kötü örneklenmiş veya mekanik olarak gevşek bir sistemi telafi edemez.

P, I ve D'yi tek tek anlamak

P'yi artırmak genellikle anlık tepkiyi ve bozucu etkiyi gidermeyi iyileştirir, ta ki gecikme ve tesis dinamikleri onu aşırı tepkiye veya salınıma dönüştürene kadar. I, yerçekimi, sürtünme veya ısı kaybı gibi sabit bir sapmayı ortadan kaldırır, ancak çok fazla I, tesis tepki vermeden önce talebi entegre eder. D sönümleme sağlayabilir, ancak kodlayıcı nicelemesini, titreşimi ve tahminci titremesini artırır. Bir konum-hız kademesinde, önce hızlı, kararlı hız döngüsünü, sonra konum döngüsünü ayarlayın. Her hatayı tek bir yavaş PID'ye koymayın.

Doygunluk ve Anti-windup

Fiziksel komutlar u_{min}\leq u\leq u_{max}'ye uyar. Hesaplanan doymamış komut u^* ve gönderilen komut u=\operatorname{sat}(u^*) olsun. Bir aktüatör bir sınırda sabitlenmişken I birikmeye devam ederse, hata tersine döndükten sonra döngü sabitlenebilir. Bu, entegratör sarmalanmasıdır: entegratör, u onu takip edemese bile e'u biriktirmeye devam eder ve integral durumu I_k daha sonra toparlanmayı geciktirir.

Koşullu entegrasyon, çıktı doygun olduğunda ve integral daha da doygunluğa doğru ilerlediğinde entegratörü dondurur. Geri hesaplama daha düzgün bir alternatiftir:

I_k=I_{k-1}+T_se_k+K_{aw}(u_k-u_k^*)

Burada I_k entegre edilmiş hata durumudur, bu nedenle K_{aw} komut başına hata birimlerine sahiptir. Bazı uygulamalar saklar K_I I_k'yı integral çıkışı olarak kullanın ve bunun yerine 1/T_t'yi (ters izleme süresi) kullanın; seçilen birimleri ve denklemi belgeleyin. Doygunluk uyumsuzluğu entegratöre geri beslenir. K_{aw} bu düzeltmenin hızını ayarlar. Entegratör kelepçeleri, referans rampaları ve sorunsuz manuel/otomatik aktarım tamamlayıcı önlemlerdir. Anti-windup bir performans iyileştirmesi değildir; kaçınılmaz bir sınırdan sonraki toparlanmayı tahmin edilebilir hale getirir.

Belirti Muhtemel mekanizma Önce inceleyin Tipik yanıt
Yavaş yanıt veya sapma P çok düşük, sabit bozulma işaretler, birimler, çıkış sınırı P'yi kademeli olarak yükseltin; gerekirse hafif I ekleyin
Salınım veya aşırı tepki P/I çok yüksek, gecikme döngü periyodu, gecikme, sensör izi P/I'yi azaltın; bir referans rampası kullanın
Bir sınırdan kurtulamıyor entegratör windup komut ve integral kayıtları koşullu I, Sıkıştırma, geri hesaplama
Ayar noktası adımında tetikleme hata türevi D giriş yolu ölçümde türev
Düşük hızda titreşim sürtünme, niceleme, boşluk enkoder ve mekanik iç hız döngüsü, telafi, filtre

Ayarlama, Ziegler-Nichols dahil

Kapalı döngü Ziegler-Nichols prosedürü, I ve D'yi sıfıra ayarlar, P'yi sürekli salınım kazancına yükseltir K_u, periyodu ölçer T_u, ardından klasik bir PID başlangıç noktası kullanır

K_P=0.6K_u,\quad T_i=0.5T_u,\quad T_d=0.125T_u,

burada K_I=K_P/T_i ve K_D=K_PT_d . Sürekli salınıma kasıtlı olarak yaklaşmak, termal bir işlemde, araçta, basınç sisteminde veya insanların yakınındaki bir robotta kabul edilemez olabilir. Bu, tarihsel bir sezgisel yöntemdir, kararlılık sınırında test etme izni değildir.

Daha güvenli bir iş akışı, simülasyon veya düşük genlikli yöntemler kullanır. Statik kazanç, gecikme ve zaman sabitini tahmin etmek için adım testleri yapın; önce limitleri ve durdurma mantığını etkinleştirin; P'yi ayarlayın; gözlemlenen bir sapmayı gidermek için yalnızca I ekleyin; daha sonra ölçülen bir sönümleme ihtiyacını gidermek için yalnızca filtrelenmiş bir D ekleyin. Referans izleme ve bozucu reddini ayrı ayrı test edin. Her değişiklik için tepe akımını, sıcaklığı, hızı, durma mesafesini, doyma süresini ve integral durumunu kaydedin.

Kısıtlamalar ve güvenlik PID denkleminin dışında yer alır

PID çıktısını güvenlik fonksiyonu yapmayın. Bağımsız acil durdurma, aşırı akım/aşırı sıcaklık/aşırı basınç koruması, hareket limitleri, bekçi köpekleri ve veri veya iletişim kaybolduğunda tanımlanmış güvenli bir komut kullanın. Bir kontrolör bir referansa ulaşmaya çalışır; bir güvenlik fonksiyonu, kontrolör arızası da dahil olmak üzere hata varsayımları altında güvenli olmayan bir duruma girmeyi önler.

En azından örnek aralıklarını, zaman damgalarını ve tazeliği doğrulayın; referansları, ivmeyi, çıkışı ve çıkış eğimini sınırlayın; entegratörün sıfırlama/tutma davranışını belirtin; darbe olmadan manuel devralmayı test edin; ve sensör kaybı, gecikmeli örnekler, işlemci yeniden başlatma ve değişen yükü ekleyin. ROS 2 Hayatta olmak, deterministik zamanlamanın veya fonksiyonel güvenliğin kanıtı değildir.

Mevcut uygulama ve araştırma örnekleri

ros2_control çerçevesi, donanım arayüzlerini, kontrolör yönetimini ve kontrolörleri ayırır ve kontrolör zincirleme ve PID kontrolörlerini belgeler. Resmi dokümantasyonu ve PID kontrolör sayfası, kazançları, sınırlamaları, anti-windup seçeneklerini, referansları, ölçülen durumları ve yayınlanan kontrolör durumunu ortaya koymaktadır. Bu, arayüzleri ve durumu gözlemlenebilir hale getirir; ancak fiziksel bir robotu otomatik olarak ayarlamaz.

Endüstriyel kontrolörler de aynı endişeleri taşır. Siemens, S7-1200 sistem kılavuzunda SIMATIC S7-1200/S7-1500 PLC'ler için PID işlevselliğini belgelemektedir. Araştırmalar, küçük, incelenebilir bir yapıyı korurken, sürtünme ve gecikme adaptasyonu, veri odaklı ayarlama ve öğrenilmiş yüksek seviye referans üretimi ile PID'yi genişletmektedir. Daha güvenli mimari olan düşük seviyeli döngü.

Uygulama Kontrol Listesi

  1. Kontrol edilen değişkeni, komutu, birimleri, pozitif yönleri, geçerli aralıkları ve döngü hızını tanımlayın.

  2. Kontrol hesaplamasından önce kalibrasyonu, zaman damgalarını, eskimeyi ve aykırı değerleri doğrulayın.

  3. u ve dönüş hızını sınırlandırın; bağımsız E-stop, watchdog ve iletişim kaybı davranışını test edin.

  4. Sadece P, PI ve ardından PID'yi ayarlayın ve kaydedin; komutları ve bozulmaları ayrı ayrı test edin.

  5. Referans, ölçüm, gerçek komut, doymuş komut, integral durum ve hata bayraklarını tek bir saatte kaydedin.

  6. Titreme, yük değişimi, yeniden başlatma, sensör kaybı ve aktüatör doygunluğunu kasıtlı olarak test edin.

  7. ROS 2 topolojisini ROS 2 Primer ve tahminci zamanlamasını Visual SLAM ile çapraz kontrol edin. Başlangıç.

Anlayışınızı kontrol edin
Çıktı doygunken entegrasyon devam ederse ne olur?

Depolanmış integral eylemi daha sonra aşırı tepkiye neden olabilir. Yalnızca integral kazancını ayarlamak yerine, anti-windup davranışını kontrol edin.

Referanslar

Related reading

Explore another aspect of this fieldMPC Laboratuvarı — bir ufuk ve direksiyon sınırları içinde eğrilik dizisini yeniden çözmeExplore another aspect of this fieldYol takibi karşılaştırma Laboratuvarı — PP, APP, RPP, Stanley ve MPC'yi aynı koşullar altında çalıştırınExplore another aspect of this fieldPure Pursuit Laboratuvarı — sabit ileri-bakış mesafeli yol takibini karşılaştırın