Jaké jsou dobré strategie pro ladění PID smyček?

Zisk ladění řadiče může být obtížný, jaké obecné strategie fungují dobře, aby získal stabilní systém, který konverguje ke správnému řešení?

Komentáře

  • Otázka zaměřená na konkrétnější otázku by byla více užitečný. Jinak byste se měli podívat pouze na PID článek s částí o vyladění
  • I ‚ vždy našel ladicí PID velmi závislé na charakteristikách systému, a proto jsem ‚ nikdy nenašel automatické ladění systémů strašně užitečné. Jsou vhodné pro první průchod, sadu parametrů s nízkým výkonem, ale jsou daleko od optimálních a budete mít stejný problém s jakoukoli obecnou strategií, která není optimalizována pro mechanické, elektrické a řídicí aspekty daného systému.

Odpověď

Pro malé motory s nízkým točivým momentem s malým nebo žádným převodem, jedním z postupů, které můžete použít k získání dobrého základního naladění, je otestovat jeho reakci na narušení.

Chcete-li vyladit PID, použijte následující kroky:

  1. Nastavte všechny zesílení na nulu.
  2. Zvyšujte zesílení P, dokud reakce na narušení nebude stabilní oscilace.
  3. Zvyšujte zesílení D, dokud oscilace nezmizí (tj. je kriticky tlumený).
  4. Opakujte kroky 2 a 3, dokud zvýšení zisku D nezastaví oscilace.
  5. Nastavte hodnoty P a D na poslední stabilní hodnoty.
  6. Zvyšte zesílení, dokud se nedostanete na požadovanou hodnotu s požadovaným počtem oscilací (obvykle nula, ale rychlejší odezva může být, pokud vám nevadí pár oscilací překročení)

To, jaké rušení používáte, závisí na mechanismu, ke kterému je ovladač připojen. Normálně stačí posunout mechanismus rukou od požadované hodnoty a uvolnit ho. Pokud oscilace rostou stále větší a větší, musíte snížit Zisk P.

Pokud nastavíte příliš vysoký zisk D, systém začne kmitat (vibrovat na vyšší frekvenci než oscilace zisku P.). Pokud k tomu dojde, snižte zisk D, dokud se nezastaví.

Věřím, že tato technika má své jméno. Když ji najdu, vložím ji sem.

Komentáře

  • Zní to jako Ziegler-Nichols: en.wikipedia.org/wiki/Ziegler%E2%80%93Nichols_method
  • @ Throwback1986, toto je určitě ne Ziegler-Nichols, který používá pouze zisk P a kde Zisk I a D se podle toho vypočítá z oscilačního zisku P a periody oscilace.
  • Máte další rady pro konkrétní vyladění robotického ramene, které má více kloubů a které je třeba vyladit? Začínáte od základny a pracujete směrem ven ke koncovému efektoru, nebo naopak, nebo na tom vůbec záleží?
  • V akademickém nebo průmyslovém prostředí budete chtít sofistikovanější způsob ovládání. Pro nejzajímavější; gravitace má tlumicí účinek, takže každý kloub vylaďte v úhlu, kde gravitace působí nejméně na motory. Například s ramenem směřujícím vzhůru, takže gravitace působí na ložiska, nikoli na motor. Na pořadí nezáleží. Přidání termínu kompenzace gravitace dopředu do vaší kontroly je pravděpodobně nejjednodušší vylepšení (pro sériové rameno použijte rekurzivní Newton-Euler), pokud ‚ nedosáhnete požadovaného výkonu.
  • Nástroj pidtuner.com mi přinesl lepší výsledky než metoda Ziegler-Nichols, která má několik známých nevýhod; folk.ntnu.no/skoge/publications/2003/tuningPID/more/…

Odpověď

Podobná experimentální metoda jako odpověď hauptmech, kterou mě učili na vysoké škole:

  1. Nastavte všechny zisky na 0.
  2. Zvyšujte Kd , dokud systém neosciluje.
  3. Snižte K d faktorem 2-4.
  4. Nastavit Kp na přibližně 1% K d .
  5. Zvětšujte Kp , dokud nezačne oscilace.
  6. Snižovat Kp s faktorem 2-4.
  7. Nastavit Ki na přibližně 1% z Kp .
  8. Zvyšujte Ki , dokud nezačne oscilace.
  9. Snížení Ki o faktor 2-4.

Metoda Ziegler-Nichols je přesnější, pokud můžete získat přesné číslo pro období oscilace. Obecně způsobuje oscilace pomocí kla ssic PID „čísla jsou uvedena, takže to není vždy optimální.

Obecná pravidla týkající se vlivu každého termínu na dobu náběhu, překmit, dobu ustálení, chybu v ustáleném stavu a stabilitu, viz tabulka 1 of „PID Control System Analysis and Design“ , Li, Ang a Chong v časopise IEEE Control Systems Magazine.

Komentáře

  • Nejprve KD? Vždycky jsem si myslel, že je nejlepší začít s Kp.
  • I ‚ přepisuji ze starých přednáškových snímků, pokud ‚ je dobrý důvod, proč to tak nedělat, ‚ bych byl zvědavý, jestli to uslyším.
  • To ‚ s algoritmus, který obhajuji pro “ sedadlo kalhot “ ladění. ‚ vás dostane tak blízko, jak jen můžete, aniž byste modelovali systém nebo měřili jeho odezvu. (Modelování a / nebo měření je jediný způsob, jak postupovat, pokud opravdu potřebujete správné ladění.)
  • Ladění Kd nejdříve mi ‚ nedává smysl , stejně jako v každém PID, jsem ‚ implementoval, znaménko Kd je záporné. Používá se ‚ ke snížení řídicího signálu, když dojde k velmi velkým změnám chyb, což v podstatě utlumí systém. Pokud máte pouze Kd, systém se bude pohybovat v opačném směru, čímž se zvýší chyba a problém se ještě zhorší. Pokud je Kd kladné, pak kdykoli dojde k velké změně chyby správným směrem, ‚ uděláte, aby se to změnilo ještě rychleji a překročilo váš cíl.
  • Ve skutečnosti má ladění D zisku nejprve nějaký smysl, ale ‚ předpokládám, že “ zvýšení “ Zisk D znamená zvýšení absolutní hodnoty a ‚ pouze zvýšení tlumení. Největší problém se ziskem D spočívá v tom, že zesiluje vysokofrekvenční šum a je ‚ hezké vidět tento efekt bez P zisku. Takže ‚ začínáte v podstatě hledáním zisků, při kterých se přestane chovat jako tlumení a začne zesilovat šum a zpožděné chybové signály. I ‚ Předpokládám-li, že v kroku 2 budete muset svoji rostlinu poklepat, abyste zjistili, zda osciluje.

Odpovědět

Embedded.com znovu přesunul můj článek, ale tady je teď. Ukážeme vám, jak psát smyčku PID (zjišťování, jak to udělat v něčem jiném, než je plovoucí čárka, je ponecháno jako cvičení pro čtenáře), a jak ji vyladit.

PID bez doktorátu

Nejlepší způsob hodně závisí na vašich schopnostech. Způsob, jak získat nejlepší vyladění , za předpokladu, že jste zkušenou rukou řídicího systému, je obvykle měřit odezvu zařízení („plant“ == „věc, kterou„ ovládáte “), pak v závislosti na tom, jak jste provedli měření, extrahujte model rostliny a design k tomu, nebo jednoduše navrhněte přímo na měření.

U některých obtížných rostlin zjistíte, že nikdy nebudete moci uspokojivý měření, v takovém případě musíte jít pouze podle modelů. Ty jsou vzácné, ale uspokojivé, když je necháte pracovat.

Odpověď

Sebastian Thrun představil jednoduchý algoritmus pro vyladění PID v jeho Třída „Jak programovat robotické auto“. Jmenuje se „twiddle“, popisuje ho zde .

Twiddle je velmi náchylný k hledání místních minim – to znamená, že vy by mohl přijít se sadou tří konstant, které jsou v pořádku, ale nejsou optimální pro danou situaci. Problém vyladění PID konstant je podmnožinou obecnějšího problému s hledáním k nalezení určitých parametrů k maximalizaci užitečnosti ( v tomto případě minimalizace chyby PID algoritmu). Můžete se podívat na další obecná řešení tohoto problému, jako je lezení do kopce, simulované žíhání, genetické algoritmy atd., která by mohla vést k nalezení optimálnějších řešení.

Odpověď

Na rozdíl od ostatních dvou odpovědí bych řekl, že dobrý manuální způsob ladění PID ignoruje Kd. Začněte tedy od 0 a zvyšujte Kp, dokud se nedostanete k cíli, poté zvyšujte Ki, abyste se zbavili chyby ustáleného stavu.

Kd může problém zmást, protože špatně reaguje na šum, pak začnete přidávat filtry na vašem analogovém vstupu a pak se zeptejte, co to dělá, kromě zpomalení vaší kontroly a zkomplikování celé věci …

Další věc, která mě musí zmást, je, pokud je rovnice PID ve standardní formě nebo v nezávislé (paralelně ve wikipedii) formě. Zdá se, že účinek Ki se obrací, když je forma nesprávnou cestou k tomu, co si myslíte, že je. Oba typy se používají v automatizaci, někdy s možností přepínání mezi nimi.

Odpověď

Modelování systému

Samozřejmě lze provést experimentální ladění, jak je uvedeno v ostatních odpovědích, ale pokud jste schopni definovat přiměřený dynamický model pro cokoli, co chcete ovládat, a jste schopni identifikujte jeho parametry , měli byste být schopni navrhnout svůj ovladač na základě přesně definovaných kritérií, jako je překročení , doba náběhu , doba ustavení , stálá -state chyba a tak dále.

V MATLABu jsou dokonce nástroje , které dokáží vyladit váš ovladač tak, aby optimalizoval kombinaci těchto kritérií, což ho ještě vylepšuje k použití.

Poznejte svůj ovladač

Zjistěte, co jednotlivé parametry v PID regulátor je také velmi užitečný. Všechny experimentální algoritmy jsou na tomto druhu znalostí nějak založeny. Pokud postupujete nejen podle pokynů, ale dokážete tento pocit získat i sami, může být snazší vyladit ovladač ručně.

Problémy ve skutečném světě

Je možné, že se jedna z těchto věcí dostane mimo jiné i při ladění ovladače: windup , neadekvátní vzorkovací frekvence , sytost .

Závěr

Nakonec vše záleží na tom, co ve skutečnosti můžete s vaším systému získat nějaké znalosti o tom, jak to funguje a jaký druh experimentů lze provést. Nejlepší je se vlastně dozvědět více o PID regulátorech a teorii řízení obecně, IMO, ale já jsem zaujatý 🙂

Komentáře

  • I don ‚ nerozumíme, proč lidé stále navrhují heuristiku pro vyladění PID, zatímco dnes máme k dispozici spoustu automatických nástrojů pro identifikaci zařízení a návrh regulátoru, které don ‚ nevyžadují hluboké teoretické základy. Pak pro tuto odpověď posuňte palec nahoru.

Odpovědět

Pokusím se trochu rozšířit své zkušenosti pro ty, kteří by mohli mít zájem. Myslím, že problém spočívá v tom, že máme spoustu teorií řízení, které jsou poněkud nepřístupné (a někdy ne užitečné), a pak máme obecná pravidla, která vytvářejí předpoklady o systémech, které jsou často nepřesné.

Stabilita

Pojďme si nejprve promluvit o tom, proč jsou regulační smyčky nestabilní. Pro tuto diskusi předpokládám lineární systém . Neformálně to znamená, že pokud je vaším řídicím signálem sinusová vlna na dané frekvenci, pak je váš pozorovaný výstup na stejné frekvenci a pokud změníte amplitudu vašeho řídicího systému, váš výstup bude reagovat ve stejném poměru. Tento předpoklad je dobrou aproximací pro mnoho systémů v reálném světě a umožňuje nám podívat se na různé frekvence izolovaně.

Pokud se podíváte na cestu řízení, máte nastavenou hodnotu, váš PID ovladač, váš systém (aka „Plant“) a poté váš senzor. Představte si pevnou požadovanou hodnotu a sinusovou vlnu z vašeho snímače (to se rovná rušení skutečného světa u snímače, zpětné hlášení). V nestabilním systému vaše zpětná vazba způsobí, že řídicí smyčka zesílí chybu, spíše než ji sníží tak, že jak čas zvyšuje vaši amplitudu. Důvodem je to kvůli zpoždění nebo pro tuto konkrétní frekvenci fázový posun mezi vstupem a výstupem. Pro danou frekvenci se můžeme podívat na ten otevřený cyklus smyčky (tj. Bez zpětné vazby) a amplitudu výstupu a když nakreslíme všechny ty na grafu, dostaneme něco jako Bode Plot . Pokud máme v tomto grafu otevřené smyčky situaci, kdy se chyba stále zesiluje, máme nestabilní systém. Pokud je zpoždění menší než 1/2 vlnové délky nebo zisk menší než x1, bude systém stabilní . V praxi chceme od tohoto bodu určité rozpětí (ziskové rozpětí a fázové rozpětí), a proto uvidíte toto „zálohování“ v mnoha manuálních / heuristických metodách.

Hlavní problém těchto manuálů Metody spočívají v tom, že „létáte naslepo a je vám zaručeně špatný řídicí systém.

Mějte také na paměti, že význam P, I a D souvisí s tím, co váš senzor měří a jakou kontrolu uplatňujete. Častou chybou v domácích řadičích je to, že si lidé myslí, že „používají P, když ve skutečnosti ne. Řídicí jednotky motorů mají často polohovou smyčku, která běží přes rychlostní smyčku přes smyčku momentu. (A kaskáda )

Dobře, ale jak nám to pomůže?

První bod, který bych chtěl udělat, je, že pokud vytváříte svůj vlastní PID regulátor, měli byste také vytvořit způsob měření otevřené smyčky Odezva. Proveďte frekvenční rozmítání na vstupu do vašeho ovladače a změřte výstup senzoru s odpojenou zpětnou vazbou. Poté můžete nakreslit Bode graf s otevřenou smyčkou a vidět proč je váš systém stabilní a schopen obchodovat mimo různé ovládací prvky. Je také užitečné měřit odezvu uzavřené smyčky a můžete to udělat s jakýmkoli systémem tak, že provedete kmitočet požadované hodnoty, když je smyčka uzavřená. Obojí není tak těžké a nevyžaduje mnoho teoretických znalostí.

Pokud jednoduše vyladíte ovládací prvky, aniž byste pochopili, co se pod kapotou děje, nebudete schopni optimalizovat váš systém. Vytváření intuice o těchto systémech není tak těžké. Např. proporcionální zisk nemá žádný vliv na fázi, ale jednoduše zvyšuje zisk otevřené smyčky na všech frekvencích. Takže to, co „děláte, když zvyšujete proporcionální zisk ve všech těchto metodách ručního ladění, je nalezení frekvence, kde fáze přechází na -180. V tomto získáte další představu o dopadu různých ovládacích prvků na vaši frekvenční odezvu.

Získání nejlepšího výkonu v uzavřené smyčce vyžaduje často vyladění systému a nejen zisk řadiče. Chcete, aby byl systém co nejtužší. To vám umožní zvýšit kontrolní parametry a získat nejlepší šířku pásma otevřené a uzavřené smyčky. Podle mých zkušeností s aplikacemi řízení motoru je poměrný zisk ten, který by měl dělat většinu „práce“ a integrátor „zbytek“. Nemyslím si, že vůbec potřebujete výraz D. Mít dolní propust a zářezový filtr hodně pomáhá v situacích, kdy můžete mít nějakou mechanickou rezonanci, ale jejich nastavení bez Bodeho grafu je velmi obtížné (oscilační frekvence, kterou pozorujete v uzavřené smyčce se může lišit od otevřené smyčky).

Pokud jde o bezpečnost (velmi výkonné motory nebo systém, který by mohl být zničen tím, že by motor zmizel z kontroly), musíte do limity, než začnete ladit (např. aktuální limit, maximální chyba polohy), abyste ochránili systém. Pak musíte získat určitý cit pro rozsah parametrů. Pokud má vaše zpětná vazba 40 impulzů na rotaci nebo 4000 impulzů na rotaci, vaše parametry bude pro daný systém činitelem 100. Mým přístupem by bylo nejprve najít rozsah, ve kterém máte špatnou ovladatelnost, a odtud se rozběhnout počínaje P a pak já (i když zase létáte naslepo). Zpětným vytvořením se vytvoří tato stabilita.

Za uzavřenou smyčkou

Uzavřená smyčka pokusí se odstranit chybu ze systému. Vždy bude mít poněkud omezený výkon. Co chcete udělat, je minimalizovat chybu, kterou váš řadič uzavřené smyčky vidí, a jedním ze způsobů, jak to udělat, je technika zvaná feed dopředu . Při posuvu vpřed obejdete řídicí jednotku a odešlete příkaz přímo do systému. Příkladem toho může být akcelerace posuvu vpřed. Pokud víte, že jste „konstantní“ točivý moment motoru a znáte zatížení můžete docela dobře říct, kolik proudu potřebujete k dosažení určitého zrychlení zátěže. Jednoduše vezmete zrychlení vstupního příkazu, vynásobíte jej konstantou a přidáte to k příkazu pohonu řadiče. V zásadě děláte to, co by bylo potřeba k řízení systému, pokud by nebyl žádný ovladač, a čím blíže se dostanete, tím méně chyb bude vaše smyčka muset odstranit a tím lépe bude váš systém fungovat. V praxi to znamená obrovský rozdíl.

Komentáře

  • “ Podle mých zkušeností s aplikacemi pro řízení motoru je poměrný zisk ten, který by měl být dělat většinu “ práce “ a integrátora “ zbytek „. ‚ si nemyslím, že vůbec potřebujete výraz D. “ Souhlasím s tím pro typické aplikace řízení motoru. P dělá hlavní práci a já kompenzuji dlouhodobý drift / chyby. Ale tady bude kvadrokoptéra vystavena spoustě vnějších turbulencí, takže D je důležitý pro rychlou odezvu. pro termín I, pokud není quad v režimu autonomní navigace, je to to není tak zásadní.
  • @ dm76: Většinu mých zkušeností mám s ovládáním motoru a dělám to odmítnutí odpovědnosti 😉 Moje intuice však říká, že ‚ Stále mám v kvadrokoptéře prostor a myslím si, že pokud je P velmi vysoký, mohl by se vypořádat s vnějšími poruchami (stejně jako v ovládání motoru). Opravdu bych se musel podrobněji podívat na tyto systémy, abych řekl něco jednoznačného o kvadrokoptérách …Myslím, že hodně z toho, co zde říkám, platí (zejména vaše ladění ve frekvenční doméně a reakce systému s otevřenou smyčkou).
  • @ dm76: A opravdu ty “ Pravidlo “ Ladění PID má za následek velmi průměrný výkon motorů a pravděpodobně stejný u kvadrokoptér. Někdy může dobře umístěný zářezový filtr způsobit řádový rozdíl …

Odpověď

Ziegler-Nichols je snadná manuální metoda. Existují také robustnější metody – obvykle se spoléhají na matematická řešení (analytická, iterativní optimalizace atd.)

Kromě toho si u některých automatizovaných technik vygooglete „samoladicí PID“. Moje oblíbené je použití neuronových sítí na ladění PID.

Odpověď

Pokud chcete mít přesný PID koeficient:

  • Získejte statistické údaje aktuátoru (tj. shromažďování vstupních napětí + impulsů kodéru v konstantní podobě (0.01sec) čas pro 20secs jako 3 x 2000 matice)
  • Získejte přenosovou funkci (TF) akčního členu (pomocí sady nástrojů Ident v MATLABu).
  • Nakonec použijte Nástroj PIDTool v MATLABu a nahrajte svou transformační funkci.

Nebo rychlým a jednoduchým způsobem:

Existuje rychlejší přístup s názvem Ziegler – Nichols : zadat popis obrázku zde

A na tomto obrázku předvedeme efekty parametrů PID :
efekty parametrů PID

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *