OBRÁZEK 1: Graf návrhu řídicího systému zobrazuje charakteristiky odezvy servosystému s otevřenou smyčkou. Všechny obrázky poskytl Peter Galan, technik řídicího softwaru v důchodu OBRÁZEK 1: Graf návrhu řídicího systému zobrazuje charakteristiky odezvy servosystému s otevřenou smyčkou. Všechny obrázky poskytl Peter Galan, technik řídicího softwaru v důchodu

Návrháři řídicích systémů chtějí co nejlepší způsob ovládání aplikace. Podívejte se na příklady a obrázky.

Každý uživatel/návrhář řídicího systému se pravděpodobně často setkává se stejnou otázkou: Jaká je nejlepší metoda regulace? Otázka metod regulace je dnes obzvláště důležitá, protože možností je mnohem více než před desetiletími. Kdysi dávno byl „zlatým“ (vlastně jediným) řešením proporcionálně-integračně-derivační regulátor (PID). Ačkoli na regulaci PID není nic špatného, v mnoha aplikacích jsou kvůli praktickým omezením vhodnější jiné metody regulace. Jaké „jiné“ metody regulace jsou k dispozici?

Tento článek se kromě klasické regulace PID zabývá optimálním řízením, fuzzy regulací a umělými neuronovými sítěmi (neboli řízením na bázi sítě ANN – Artificial Neural Networks). Omezení klasického regulátoru PID jsou patrná z analýzy typického řízeného systému (závodu). Níže uvedené příklady se zaměřují na polohový servomechanismus, který se hojně využívá v průmyslových robotech, autonomních vozidlech a mnoha dalších, nejen průmyslových aplikacích. 

Identifikace polohy servosystému

Pokud je řízeným systémem servomechanismus založený na stejnosměrném motoru s konstantním buzením (např. s permanentními magnety), lze jej popsat zjednodušenou přenosovou funkcí, úhlovým posunem nad napětím v s-doméně jako 

Φ(s) / V(s) = K/(1 sT)sTi,

kde K představuje konstantu krouticího momentu motoru, T představuje mechanické parametry motoru J/B, kde J je celková setrvačnost včetně zátěže a B tlumení motoru, a Ti představuje integrační konstantu (určenou otáčkami motoru a převodovým poměrem).

Výše uvedená přenosová funkce představuje systém prvního řádu v kombinaci s integrátorem. Je zde použit další filtr prvního řádu, dolní propust, který má časovou konstantu ekvivalentní poměru indukčnosti a odporu vinutí motoru; tato časová konstanta je výrazně menší než dominantní konstanta T, takže ji není třeba brát v úvahu.

Pokud jste uživatel motoru, nikoli jeho konstruktér, může být jednodušší zjistit (dominantní) časové konstanty experimentálním měřením jeho odezvy v otevřené smyčce. Za tímto účelem aplikujte na servopohon určitou akční proměnnou (napětí VIN), například 50 % hodnoty, která by odpovídala maximální rychlosti servopohonu. Servo musí být plně zatíženo jako za běžných pracovních podmínek. Skenujte odezvu polohy serva a vypněte jej těsně před dosažením maximální polohy. Vynesením naměřených hodnot do grafu může vzniknout graf, který je znázorněn na obrázku 1.

Z výše uvedených charakteristik a na základě znalosti vstupní hodnoty (krokové funkce VIN, která odpovídá například 50% maximální rychlosti serva) určete konstanty T a Ti této „astatické“ přenosové funkce prvního řádu (integrátor kombinovaný se zpožděním prvního řádu) typického servosystému. 

Syntéza servosystému

Polohovací systém servomotoru a servopohonu může využívat různé uzavřené řídicí smyčky, které jsou níže popsány pomocí rovnic, příkladů, schémat, tabulek a grafů. 

Jak používat regulátor PID

Kompenzace PID je jednou z nejběžnějších forem řízení v uzavřené smyčce. Proč je tak populární? Ve většině aplikací lze řízený proces modelovat přenosovou funkcí prvního nebo druhého řádu. Regulátor PID dokáže zrušit nebo alespoň výrazně kompenzovat přesně dva póly přenosové funkce.

Přenosovou funkci regulátoru PID, (U(s))/(E(s)), v s-doméně lze vyjádřit jako

Gc (s) = KP + (KI / s) + KD s.

Nyní mějme řízený systém, který lze aproximovat astatickou přenosovou funkcí prvního řádu

Gp (s) = K / ((1 + sτ1) sτ2).

Přenosová funkce otevřené smyčky řídicího systému, (Y(s))/(E(s)), je

Proč používat PD místo PID? Nejprve si všimněte, že v úplném PID regulátoru chybí integrační část. Proč? Protože integrátor je již přítomen v řízeném servosystému. U optimálně vyladěného řídicího systému bude muset poměr KD/KP odpovídat hodnotě časové konstanty τ1, takže přenosová funkce otevřené smyčky bude redukována pouze na (KPK)/(sτ2). Přenosová funkce uzavřené smyčky ideálně vyladěného řídicího systému PD, (Y(s))/(R(s)), bude

To odpovídá jednopólové přenosové funkci s časovou konstantou τ, která se rovná τ2 / (KP K), kde τ2 je integrační časová konstanta τi, KP je proporcionální konstanta regulátoru a K je zesílení řízeného systému. Pokud však byly časové konstanty nalezeny pomocí charakteristiky odezvy, jak je znázorněno na obrázku 1, pak se hodnota zesílení (tj. konstanta K) stává 1,0. Potom se časová konstanta přenosové funkce uzavřené smyčky τ rovná τ2 / KP. To je velmi dobré, protože s přiměřeně velkou konstantou KP lze dosáhnout mnohem rychlejší časové odezvy uzavřeného řídicího systému. V praxi může „přiměřeně velká“ konstanta poskytnout 5- až 10krát rychlejší odezvu. Vyšší hodnota KP může vést k nestabilní odezvě. Nezapomeňte, že v pouze aproximovaných parametrech systému se skutečné hodnoty určitě liší.

Příklad toho, proč regulátory potřebují omezovače: Takto optimálně vyladěný regulátor P(I)D má však své nedostatky. Sledujte výstupní (akční) proměnnou regulátoru P(I)D, abyste viděli, že v prvních krocích regulačního procesu dosahuje téměř nekonečně vysokých hodnot. Ty rychle klesají, ale po relativně dlouhou dobu zůstávají vysoko nad tím, co takový řízený systém (servomechanismus) snese. Představte si, že by servomotor, který pracuje na jmenovitém přívodu 24 V, v prvních krocích dostával napětí v řádu tisíců voltů a později stovek voltů. Žádný regulátor by nedokázal řídit tak vysoké napětí, ale i kdyby to dokázal, motor by tak vysoké napětí nevydržel. Co je potřeba? Přidání omezovače do regulátoru zaručuje, že akční proměnná nikdy nepřekročí maximální hodnotu přijatelnou pro řízený systém (v tomto případě stejnosměrný motor). Konečné uspořádání PID regulace servomechanismu je znázorněno na obrázku 2.

CTL2209 MAG2 F3 AI PeterGalan Figure2 PID for servo positionOBRÁZEK 2: Schéma návrhu řídicího systému zobrazuje proporcionálně-integračně-derivační (PID) řízení polohového servosystému

Ke konci článku je uvedeno porovnání chování PID regulátoru s jinými typy regulátorů. Optimálně vyladěný PD regulátor s neomezenou akční proměnnou (tj. ideální regulátor) má tvar výstupní charakteristiky znázorněný žlutou barvou (obrázek 8); jeho praktická verze (s akční proměnnou omezenou na maximální přípustné hodnoty) je znázorněna červenou barvou. 

Použití časově optimálního řízení

Optimální řízení je předmětem rozsáhlého výzkumu již mnoho desetiletí. Některé základní myšlenky o optimálním řízení stojí za připomenutí.

Definice časově optimálního řízení s příkladem: Představte si běžný elektrický servomechanismus se stejnosměrným motorem. Úkolem je řídit servo tak, aby dosáhlo nového referenčního bodu v co nejkratším čase. Optimálně vyladěný PID regulátor by tohoto cíle nedosáhl, pokud by měl aplikovat reálnou akční proměnnou. Intuitivní reakcí by bylo přivést na stejnosměrný motor maximální přípustné napětí a nechat motor běžet na plné otáčky vpřed.

Pak v určitém okamžiku změnit polaritu napětí, aby motor začal maximálním možným tempem zpomalovat. Později, tj. v okamžiku, kdy jsou otáčky motoru nulové, napětí vypnout. Pokud se polarita napětí změní ve správnou chvíli, pak v okamžiku, kdy motor přestane běžet, bude servo přesně v požadované poloze. Tomu se říká optimální řízení. Protože je v tomto případě kritériem optimálního řízení čas, nazývá se řízení časově optimální. 

CTL2209 MAG2 F3 AI PeterGalan Figure3 state space time optimal controlOBRÁZEK 3: Graf návrhu řídicího systému zobrazuje časově optimální řízení ve stavovém prostoru

Zjištění tvaru spínací křivky

Obrázek 3 vysvětluje výše popsaný proces časově optimálního řízení ve stavovém prostoru, který je v tomto případě dvourozměrným prostorem (plochou); jeden rozměr představuje výstupní proměnnou a druhý rozměr její (časovou) derivaci. V okamžiku, kdy je použita nová referenční hodnota, je výstupní proměnná posunuta podél vodorovné osy, takže představuje regulační odchylku (err), což je rozdíl mezi referenčním a skutečným výstupem. Současně je na stejnosměrný motor přivedeno maximální napětí t0. Servo opustí výchozí polohu P0 a začne zrychlovat. V čase t1 regulátor změní polaritu napětí a otáčky motoru začnou brzy klesat. V okamžiku t2, právě když se otáčky motoru vynulují a je dosaženo požadované polohy P2 , se vypne akční proměnná, napětí. Ačkoli se to zdá být jednoduché, znát tvar spínací křivky není tak snadné. Pokud je řízeným systémem servomechanismus se zjednodušenou přenosovou funkcí, je úhlový posun nad napětím v s-doméně 

Φ (s) / V (s) = K / (1 + sT) sTi,

pak může mít kompletní, časově optimální řídicí systém blokové schéma podle obrázku 4. 

CTL2209 MAG2 F3 AI PeterGalan Figure4 time optimal control for servoOBRÁZEK 4: Schéma návrhu řídicího systému zobrazuje časově optimální řídicí systém pro servomechanismus

Původ názvu regulátoru typu „bang-bang“: Toto regulační schéma je zcela odlišné od PID regulace. Jedná se o nelineární řízení, a protože druhá nelinearita N2 představuje relé zajišťující hodnotu ±U akční veličiny, nazývá se takové řízení „bang-bang“ (dvoustavové). Pokud jde o první nelinearitu N1, která představuje spínací křivku, funkce „sqrt“ (odmocnina) z regulační odchylky E poskytuje docela rozumné výsledky. V praxi je vždy obtížné najít přesnou spínací křivku; v důsledku toho může regulátor donekonečna přepínat budicí napětí mezi jeho maximem a minimem. Chcete-li tomu zabránit, zvětšete pásmo necitlivosti relé.

Ke konci článku je uvedeno, jak dobře si takový časově optimální regulátor poradí ve srovnání s jinými typy regulátorů. Funkce jeho výstupní proměnné je zobrazena světle modrou barvou (obrázek 8). 

Jak použít fuzzy regulaci

Fuzzy řízení je další nelineární metoda řízení, která může být velmi dobrým řešením pro řízené systémy, které se obtížně analyzují, nebo pro systémy, jejichž dynamické chování není v době návrhu známo.

Fuzzy řízení lze přirovnat k „suboptimálnímu“ časově optimálnímu řízení, které může poskytovat horší než optimální výsledky, i když stále mohou být velmi dobré. Více informací o fuzzy řízení a časově optimálním řízení najdete v článku časopisu Control Engineering.

V tomto konkrétním případě s řízením polohového servomechanismu lze použít následující schéma řízení (obrázek 5) s použitím fuzzy regulátoru.

CTL2209 MAG2 F3 AI PeterGalan Figure5 fuzzy control for servoOBRÁZEK 5: Schéma návrhu řídicího systému zobrazuje fuzzy řízení servosystému

Vysvětlení fuzzifikace, defuzzifikace: Fuzzy řízení lze považovat za rozšíření nebo modifikaci fuzzy logiky. V první fázi fuzzy logika převádí (v procesu známém jako fuzzifikace) „ostré“ vstupní proměnné na „fuzzy“ množiny. Ve druhé fázi tyto fuzzy množiny zpracovává. V závěrečné fázi převede (v procesu známém jako defuzzifikace) zpracované fuzzy množiny zpět na ostrou výstupní proměnnou.

Pro fuzzifikaci vstupních proměnných zvolte například sadu 5 funkcí příslušnosti ve tvaru lambda _/\_. Aby byl proces regulace lepší (jemnější), je v příkladu použito 7 funkcí příslušnosti. Pokrývají celý rozsah regulační odchylky err a její derivace der, stavových proměnných, které mohou nabývat hodnot mezi
–1000 a +1000. Mohou se nazývat: velká záporná (High-Negative – HN), střední záporná (Medium-Negative – MN), malá záporná (Low-Negative – LN), malá (Small – S), malá kladná (Low-Positive – LP), střední kladná (Medium-Positive – MP) a velká kladná (High-Positive – LP).

Pro fuzzifikaci výstupní (akční) proměnné se používá sedm podobných úrovní: plná záporná (Full-Negative – FN), střední záporná (Medium-Negative – MN), malá záporná (Low-Negative – LN), nula (Zero – Z), malá kladná (Low-Positive – LP), střední kladná (Medium-Positive – MP) a plná kladná (Full-Positive – FP).

CTL2209 MAG2 F3 AI PeterGalan Figure6 fuzzy control knowledge baseOBRÁZEK 6: Při návrhu řídicího systému je užitečné vidět znalostní bázi fuzzy řízení

Zpracování fuzzy množin je nejkritičtější fází fuzzy regulace. Je „řízeno“ znalostní bází fuzzy regulace. Obrázek 6 ukazuje příklad takové vhodné znalostní báze. Všimněte si, jak jsou kvantifikovány vstupní proměnné err a der. Jejich distribuční funkce nejsou rozloženy rovnoměrně; funkce příslušnosti err jsou „posouvány“ více ke středu (S), zatímco funkce příslušnosti der jsou posouvány více k nejvyšším hodnotám. Proč je takové uspořádání lepší? Odpovědí je zkoumání rozložení výstupních proměnných ve znalostní bázi. Podívejte se na nulové úrovně (Z). Jsou uspořádány tak, aby velmi přesně sledovaly výstup funkce druhé odmocniny odchylky err, což je nejlepší možná emulace spínací křivky použité v časově optimálním řízení. Dále se dozvíte, jak dobře si tento fuzzy regulátor vede ve srovnání s jinými regulátory. Oranžová barva (obrázek 8) znázorňuje tvar výstupní proměnné. 

Použití řízení na bázi ANN

Existuje nespočet možností využití umělých neuronových sítí (ANN) v řídicích systémech. Řada z nich využívá modely řízených systémů (závodů) na bázi ANN nebo modelují jejich inverzní dynamiku, což v kombinaci s klasickými PID regulátory pomáhá vytvářet adaptivní a další, sofistikovanější řídicí systémy. Vyzkoušejte jiný přístup, a to trénováním takové ANN pro modelování spínací křivky polohového servosystému. Jak jsme se dozvěděli, nejlepšího (nejrychlejšího) pohybu servomechanismu lze dosáhnout použitím časově optimálního řízení. Nejjednodušší aproximací spínací křivky (nejkritičtější aspekt) je použití odmocninové funkce regulační odchylky. Dokonce i fuzzy regulátor byl „vyladěn“ tak, aby emuloval takovou funkci druhé odmocniny. Skutečná spínací křivka se může stále lišit od její aproximace například pomocí funkce sqrt(). Existuje způsob, jak zjistit skutečnou spínací křivku polohového servomechanismu? Odpověď zní ano. Je možné zjistit skutečnou spínací křivku polohového servomechanismu, „natrénovat“ síť ANN, aby si ji zapamatovala, a na požádání ji vygenerovala. Pokud půjdeme ještě o krok dál, je možné ANN natrénovat tak, aby převzala celý dvoustavový řídicí systém (typu „bang-bang“) (viz obrázek 4).

Spínací křivka je posloupnost hodnot dvojice err a der, při nichž regulátor servomotoru komutuje polaritu jmenovitého (maximálního) napětí, které lze na motor přivést. Tyto hodnoty zjistíte tak, že servomechanismus spustíte v otevřené smyčce (tj. bez zpětné vazby) a budete měřit a zaznamenávat jeho polohu err a jeho rychlost der. Nejprve si připravte řadu očekávaných hodnot der (otáček servomechanismu) od nejnižší po nejvyšší hodnotu. Nyní aplikujte maximální kladnou akční proměnnou (napětí +U) na motor a nechte jej běžet, dokud servomechanismus nedosáhne první očekávané hodnoty der v této sérii. Důležité: Zaznamenejte polohu serva ve stejném okamžiku jako P1 a současně přepněte akční proměnnou na hodnotu -U. V okamžiku, kdy rychlost serva (der) klesne na nulu, vypněte napětí a aktuální polohu zaznamenejte jako P2. Tento postup poskytne první dvojici souřadnic err a der (kde err = P2  – P1) prvního bodu spínací křivky. Servomechanismus musí samozřejmě pracovat plně zatížený, tj. přesně tak, jak je určen k použití.

Posloupnost souřadnic err a der představuje body spínací křivky. Pro optimální výsledky vezměte asi 50 souřadnic (párů) rovnoměrně rozložených podél osy der. Poté natrénujte vhodnou síť ANN, která bude tyto spínací body využívat ke komunikaci akční proměnné se servomechanismem. To je možné i u nejjednodušší sítě ANN s jednou skrytou vrstvou a přibližně 12 uzly. Více informací o použití ANN v řídicích aplikacích najdete v článku časopisu Control Engineering.

CTL2209 MAG2 F3 AI PeterGalan Figure7 ANN training tableOBRÁZEK 7: Tato jednoduchá tabulka tréninkových dat umělých neuronových sítí (ANN) pomáhá při návrhu řídicího systému na bázi ANN

Obrázek 7 ukazuje tabulku výstupních hodnot, kterou lze použít k trénování ANN regulátoru. Po zachycení bodů spínací křivky má smysl trénovat ANN regulátor off-line, tj. ne přímo na fyzickém řízeném systému. Začněte od dolní (nebo horní) části zachycené řady souřadnic a pro každý jednotlivý vstup der musíte vygenerovat několik (20?) hodnot err (od –max do +max) a ke každé kombinaci souřadnic err a der zadat (na výstupu ANN) konkrétní výstupní hodnotu.

Všechny výstupní hodnoty vlevo od spínací křivky by měly odpovídat maximální záporné akční hodnotě; všechny výstupní hodnoty na pravé straně spínací křivky by měly být kladná maxima. A samozřejmě na těchto konkrétních souřadnicích err a der, které byly dříve nalezeny jako body spínací křivky, aplikujte nulové hodnoty. Čím dále jsou souřadnice err od spínací křivky, tím méně často je třeba tyto hodnoty ±U uvádět, protože výstupní plocha zde zůstává rovná: +U nebo –U.

Všimněte si, že tato tabulka trénovacích dat je velmi podobná znalostní bázi fuzzy systému (obrázek 6). Nejprve se pro trénování ANN regulátoru použije pouze horní polovina stavového prostoru (obrázek 3). Pokud se má servo pohybovat opačným směrem, regulátor ANN pouze prohodí výstupní hodnoty. Pokud se servosystém nechová identicky v obou směrech pohybu, je třeba regulátor ANN naučit chování v celém stavovém prostoru. Jak může řídicí systém založený na ANN konkurovat ostatním? Podívejte se na tvar jeho výstupní proměnné (bílá barva).

Porovnání řídicích systémů

Snímek obrazovky (obrázek 8) s použitím jazyka Python ukazuje výsledky simulace servomechanismu a jeho regulátorů. Přenosová funkce servomechanismu byla aproximována jako

1 / ((1 + s100) s200), kde časové konstanty jsou v počtech vzorků. (Podrobnější vysvětlení viz článek časopisu Control Engineering: https://www.controleng.com/articles/from-simulationto-computer-aided-design-of-control-systems). Kroková funkce (požadovaná poloha servopohonu) byla generována od nuly do 800 (kde 1000 je maximum požadované polohy a akční proměnné) a později, po 1000 vzorcích, klesla z 800 na 400. Vstupní kroková funkce je znázorněna zelenou barvou.

CTL2209 MAG2 F3 AI PeterGalan Figure8 Control method comparisonOBRÁZEK 8: Graf porovnává řídicí systémy a pomáhá určit ten nejlepší pro danou aplikaci. Zastoupeno je optimální řízení, fuzzy řízení, umělé neuronové sítě a klasické proporcionálně-integračně-derivační řízení (PID). Vysvětlení najdete v článku. Podívejte se na detailní výřez grafiky v internetové verzi tohoto článku

Obrázek 8 rovněž ukazuje, jak si vedly jednotlivé řídicí systémy. Prvním byl optimálně vyladěný PD regulátor, který reagoval na krokovou funkci okamžitě. Jeho parametr KP byl nastaven na hodnotu 5. To je však skutečně pouze ideální regulace PD. Reálný, optimálně vyladěný PD regulátor s omezenou akční proměnnou se chová tak, jak ukazuje červená exponenciální křivka. V porovnání s ostatními regulátory je vlastně nejhorší (nejpomalejší). Pokud je však správně nastaven, nedochází k překmitům, což může být v určitých aplikacích velmi důležité.

Nejlepším (nejrychlejším) regulátorem byl regulátor založený na ANN (znázorněný bílou křivkou). To by nemělo být překvapivé – regulátor ANN byl natrénován k napodobování přesné spínací křivky, takže se chová jako dokonalý, časově optimální řídicí systém. Klasický, časově optimální regulátor (azurová barva) simulující spínací křivku pomocí funkce sqrt(e) si vedl o něco hůře (pomaleji). Vzhledem k jeho velmi jednoduché implementaci by neměly být žádné stížnosti na jeho výkon. Fuzzy regulátor (oranžová barva) v tomto konkrétním případě nefungoval tak dobře. Nebyl však vyladěn na nejlepší výkon (bylo provedeno pouze počáteční ladění, aby se zhruba simulovala spínací křivka), takže je zde prostor pro další zlepšení výkonu. Teoreticky by fuzzy regulátor neměl fungovat hůře než klasický, časově optimální regulátor.

ANN a fuzzy regulace pro řízení

Na základě tohoto příkladu je potvrzeno použití sítě ANN pro aplikace v řídicím průmyslu. Pokud systémy mění chování/parametry „za běhu“, je zapotřebí regulátor, který je k takovým změnám tolerantnější. Tolerance je to, v čem fuzzy regulátory vynikají. Mezi překvapivá zjištění patří, že klasický, časově optimální regulátor (založený na funkci sqrt()), který se na univerzitách vyučoval před více než 50 lety, stále dobře funguje.

Peter Galan, autor článku, je designer řídicího softwaru v důchodu. Upravil Mark T. Hoske, obsahový ředitel časopisu Control Engineering, CFE Media and Technology, Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript..

Control Engineering Česko

Control Engineering Česko je přední časopis o průmyslové automatizaci. Je vydáván v licenci amerického Control Engineering, které poskytuje novinky z této oblasti více než 60 let.

www.controlengcesko.com