Experimentální optimalizace
polohovacího servopohonu

Pavel Píša ( pisa@cmp.felk.cvut.cz )
Abstrakt
Článek popisuje praktické problémy, řešení a zkušenosti při řízení polohovacího systému vybaveného stejnosměrnými motory s lehkou kotvou a inkrementálními snímači polohy. Hlavním cílem bylo navržení a optimalizace regulátoru, který by i při relativně jednoduché struktuře splňoval požadované parametry regulace. Pro optimalizaci bylo využito propojení regulační jednotky se systémem Matlab, který podle zadaných kritérií hodnotil odezvu systému a optimalizoval parametry regulátoru. Pro hodnocení kvality regulace bylo využiťí metod vybudovaných pro indentifikaci a regulaci stochastických systémů.
Obsah
1 Úvod >
2 Požadavky na konkrétní systém >
3 Řešení polohovacího mechanizmu >
4 Návrh řídící jednotky a regulátoru >
5 Optimalizace >
6 Závěr >

1 Úvod

Teorie řízení elektrických motorů patří mezi nejlépe propracované oblasti moderní teorie řízení. Z teoretického hlediska se jedná o relativně jednoduché systémy druhého nebo vyššího řádu, jejichž fyzikální popis se pro stejnosměrné motory s permanentními magnety blíží ideálnímu lineárnímu modelu.
Avšak za praktickou realizací takového systému se skrývá velké množství problémů, které vnáší do systému nelinearita, klidové tření, relativně malé rozlišení polohových snímačů a výkonových stupňů. Následující článek si neklade za cíl prokazovat vysokou vědeckou úroveň při popisu řešení, spíše se zaměřuje na praktická řešení, která se osvědčila.
Jedním z hlavních problémů kromě vlasní konstrukce systému bylo nalezení optimálního nastavení parametrů regulátoru. Pro klasický lineární model by nebyl problém nalézt parametry pro optimální LQ řízení. Systém s klidovým třením a kvantizací jak v čase tak v hodnotách veličin vytvoření dokonalého modelu neumožňuje, na druhou stranu není pro systém, který má provádět několik polohovacích operací za sekundu, problém provést relativně velké množství experimentů. Teoreticky je možné vyzkoušet všechny kombinace parametrů, problém však nastává při hodnocení kvality regulace. I pro shodné parametry regulátoru a průběhy požadovaného pohybu jsou získány rozdílné odezvy, ovlivněné nelinearitami a třením. Proto bylo využito pro hodnocení metod vybudovaných pro indentifikaci a regulaci stochastických systémů.

Požadavky na konkrétní systém

Popisovaná řídící jednotka je použita pro speciální scanner určený pro vyhledávání látkových vláken na vzorcích sejmutých ze zdí a jiných povrchů. Takovéto vzorky jsou získány na místech kriminálních činnů. Samolepící pásky pro snímání vláken jsou nejdříve přiloženy ke stěnám a poté nalepeny na skleněnou desku. Dříve byla tato deska ručně prohledávána pod mikroskopem. Popisované zařízení je schopno samostatně vyhledat výskyty vláken na desce a poté se k zajímavým místům vrátit. Deska je prohledávána počítačovým systémem vybaveným kamerou, připevněnou na mikroskop. Protože vlákna mohou být velmi malá ( 7 až 40 μm průměr, 1 mm a více délka ), je deska přibližně formátu A4 prohledávána po základních polích 1.9 x 1.4 mm ( diagonála objektivem snímaných ploch 0.9 až 20 mm ). Obraz každé takovéhoto pole je digitalizován barevnou kamerou s rozlišením 752x582 bodů a obazy jsou zpracovány počítačem.
Pro polohovací systém z výše uvedeného vyplývají následující požadavky :

Řešení polohovacího mechanizmu

Protože hmotnost kamerového systému ani vlastního rámu se skleněnou deskou a vzorkem není zanedbatelná, byl systém navržen s nezávislým pohybem desky v podélném směru pod mostem, na kterém se pohybuje kamera. Pro dosažení požadované přesnosti byl pro převod rotačního pohybu na lineární použit kuličkový šroub. Jak uložení šrubu tak matice jsou navrženy tak, aby byly veškeré vůle vymezeny pružinami. Pro vedení matic a zachycení jejich momentu byly použity přesná skleněná vodítka. Celý systém je postaven na mohutné desce, která je izolována od chvění podstavce.
Pro rychlé polohování byly použity motory s lehkou kotvou od firmy Maxon vybavené inkrementálními snímači polohy s 500 fázově posunutými impulsy na jednu otáčku. Pro stoupání šroubu 3 mm na otáčku a vyhodnocení všech čtyřech změn ve fázově posunutém signálu snímače odpovídá výsledné úhlové rozlišení 1/2000 otáčky, to je 1.5 μm. Ostatní katalogové hodnoty parametrů použitých motorů Maxon jsou uvedeny v tabulce.
Rotor motoru je se šroubem spojen planžetovou Kardanovou spojkou, která vykrývá nepřesnosti souososti. Tato spojka však vnáší do systému pružné spojení mezi rotor motoru a šroub. Moment setrvačnosti šroubu je přibližně poloviční než moment setrvačnosti rotoru. Zároveň se při otáčení šroubu v kuličkové matici projevuje nelinearita třecí síly. Při velmi malých rychlostech se uplatňuje i složka klidového tření ( před začátkem pohybu kuliček v matici ), která se vlivem nepatrných nepřesností obrobení šroubu, matice a kuliček mění po délce pohybu.
Matice přes kolík s vymezením vůle unáší v jednom směru rám s pozorovanou deskou a druhá matice unáší v druhém směru vozík s kamerou. Protože vozík s kamerou je těžšší než rám s deskou, provádí se skenování vždy průchodem všech požadovaných poloh desky a poté posunem kamery. Z hlediska rychlosti skenování je tedy nejdůležitější rychlá regulace posunu rámu s deskou.
Uvažovaná soustava je přibližně čtvrtého řádu. Jednotlivé integrátory - akumulátory energie jsou
Setrvačnost polohovacího rámu lze vzhedem k pevnému spojení s maticí a šroubem, relativne lineárnímu průběhu tření ( pohyb po mazaných a velmi přesně obrobených lištách ) a relativně nízkým rychlostem zanedbat nebo sloučit se setvačností šroubu. Zjednodušený model výše uvažovaného systému s vloženým subsystémem regulátoru je na obrázku 1. Bohužel tento model je těžko linearizovatelný a přesné určení parametrů některých prvků je téměř nemožné.
image: fig/mod4.png
Obrázek 1: Zjednodušený model motoru a šroubu
Třetí regulovanou osou systému je nastavování zaostření objektivu. Kvalita regulace a rychlost této osy není kritická.

Návrh řídící jednotky a regulátoru

Za základ řídící jednotky bylo použito již několíkrát použité procesorové jádro s osmibitovým mikroprocesorem 80552. Uvažované byly také jednotky s 32 bitovým mikroprocesorem, ale pro cenovou náročnost a dobu vývoje byly zavrženy. Jak se při testech ukázalo, vzhledem ke kvantizaci rychlosti na počty inkrementů je osmibitové vyjádření odchylky rychlosti a polohy dostatečné. Procesor je doplněn obvodem CF32006, který obsahuje tři fázové diskriminátory a 16 bitové čítače polohy. Mechanická časová konstanta motoru okolo 10 ms vyžaduje relativně krátkou vzorkovací periodu a ještě kratší dobu výpočtu regulačního zásahu pro všechny tři osy. Byla zvolen vzorkovací frekvence 600 Hz, která vyhovuje jak časové konstantě motoru tak maximální době výpočtu. Zároveň tato vzorkovací frekvence pro osmibitové vyjádření přírůstku polohy odpovídá 25660600/2000=4608ot/min , což je o něco více než maximální povolené otáčky motoru.
Protože šestnáctibitový rozsah polohy z obvodu CF32006 nestačí, je procesorem rozšířen na 24 bitů. To je možné, pokud se poloha mezi dvěma okamžiky vzorkování nemůže změnit o více než 32767. Tak rychlá změna polohy však není fyzikálně možná ( změna o 223 odpovídá maximálním otáčkám motoru ). Pak lze větší změnu interpretovat jako přetečení čítače a podle nejvyššího bitu nové hodnoty nebo podle příznaku přetečení rozdílu poloh lze určit, jestli se jedná o přetečení nebo podtečení 16 bitového čítače a provést inkrement nebo dekrement rozšíření čítače.
Požadovaná rychlost a poloha jsou v každém regulačním cyklu vypočteny v příslušném generátoru požadované polohy :
Jednotka rychlosti 1 inkrement 600 za sekundu by byl příliš hrubý, je požadovaná rychlost a poloha rozšířena o osm bitů určujících zlomky inkrementů ( jednotkou je pak 1/256 inkrementu ).
Vlastní regulátor musí být rychlý a proto jednoduchý. Protože použitý procesor obsahuje instrukci rychlého násobení 8 bitů násobeno 8 bity s výsledkem 16 bitů, je výhodné většinu lineárních závislostí polohovat do těchto rozsahů. Při překročení vstupní hodnoty ±255 je za výsledek operace braná limitní hodnota ±32767 výsledku.
V prvním návrhu byl uvažovaný klasický diskrétní filtr prvního řádu z odchylky polohy ve tvaru U(z)=P z-b/256 z-a/256 E(z) . Takovýto druh regulátoru je používaný v komerčních servomechanizmech a existují přímo obvody realizující generátor lichoběžníkového průběhu rychlosti, regulátoru s digitálním diskrétním filtrem a pulzně šířkovým výstupem ( například HCTL1100 od firmy HP ). Tento druh regulátoru však nevyhověl požadavkům regulace. Regulátor neumožňuje trvalý nárůst integrační složky při zatuhnutí mechanizmu vlivem klidového tření nebo působení vnější síly. Proto ani v nekonečném čase nemusí dojít k úplnému vynulování regulační odchylky. Pro zmenšení této chyby je nutné volit velké zesílení P a konstantu a, pak se ovšem systém stává nestabilní a nelze ho stabilizovat ani konstantou b.
Jako vhodnější se ukázal diskrétní PID regulátor s diskrétním integrátorem pro složku I. Složku D lze počítat z rozdílu diferencí požadované a skutečné rychlosti. Protože jak generátory tak odečty polohy potřebují znát změny polohy za vzorkovací periodu, je regulátor řešen jako dvouvstupový. Výstup je uvažován v rozsahu ±32767. Integrační složka je také limitována rozsahem 16 bitového sumátoru a paměti. Při rozboru a testování vlasntností regulátoru vzhledem ke kvantizaci derivační složky možnosti limitace integrační složky se ukázalo, že je výhodné, aby integrační složka byla napojena na výstup součtu proporcionální a derivační složky. Integrační složka při rozjezdech a brzdění má menší snahu limitovat a celá regulace pak probíhá v lineárních oblastech všech složek. Zároveň pro velmi malé rychlosti, kdy dochází k zatuhnutí pohybu vlivem klidového tření a postupnému nárůstu integrační složky, dojde po překonání tření k rychlému nárůstu rychlosti, který nuluje integrační složku dříve, než dojde k překmitu. Model takto navrženého regulátoru se nachází na obrázku 2.
image: fig/reglin.png
I takto navržený regulátor vykazuje překmity při nízkých rychlostech blížících se krokovému režimu. Mírného zlepšení bylo dosaženo vložením nelinearity do integrační složky regulátoru. Velikost přičítané hodnoty do sumátoru je násobena dvěma pokud dochází ke snižování absolutní hodnoty výstupu integrátoru. Takto navržený nelineární PID regulátor již vykazuje uspokojivé výsledky i pro nízké rychlosti a dojezdy pohybů s lichoběžníkovým průběhem rychlosti.
Pro manuální testování vlastností a odezvy jednotlivých navržených regulátorů byl vytvořen program v systému Matlab, který umožňuje vygenerovat různé druhy požadovaných průběhů rychlosti, posloupnost vyslat do řídící jednotky po lince RS-232, nastavit požadovaný druh regulátoru ( nelineární PID, lineární PID, diskrétní filtr a testovací reléovou charakteristiku ), vyslat příkaz k provedení pohybu a načíst zpět údaje o provedeném pohybu a výstupu regulačního zásahu regulátoru. Hlavní ovládací panel programu je na obrázku 3. Výstupní graf lze přepínat mezi zobrazením polohy, rychlosti, chyby polohy a chyby rychlosti. Pri výběru libovolného grafu ( požadovaného průběhu, odezvy regulátoru, odezvy soustavy ) myší dojde k vytvoření samostatného okna, které pro výstup polohy a rychlosti zobrazuje i požadovaný průběh.
image: fig/reg1.png
Podstatná je také úvaha o vhodných testovacích průbězích rychlosti. V aplikaci je využíván lichoběžníkový průběh rychlosti, ten však není vhodný ke sledování dynamických vlastností regulátoru, protože odchylky jsou relativně malé a nedocházá k dobrému vybuzení regulátoru. Odezva na jednotkový skok rychlosti nebo polohy také není příliš vhodná, protože dochází k limitacím v regulátoru a pro větší rychlosti se neuplatňuje vliv tření. Jako vhodný kompromis se jeví odezva na bílý šum odpovídající okamžité hodnotě zrychlení, což je veličina, která se i ve výsledném zařízení bude měnit skokově. Proměnným parametrem je pak maximální uvažovaná hodnota zrychlení. Pro sledování při nízkých rychlostech byl vyzkoušen i binární signál s prouměnnou pravděpodobností změny hodnoty.

Optimalizace

Nastavení regulátoru přes identifikaci soustavy a výpočet optimálních parametrů regulátoru se ukázalo jako velmi problematické. Již opakované hledání parametrů lineárního modelu metodami ARMAX vykazovalo značné změny i při po sobě opakovaných pokusech a při změně požadovaného průběhu rychlosti identifikace vykazovala již velké chyby. Hlavními překážkami jsou nelinearity tření a nízké rozlišení okamžité hodnoty rychlosti.
Pro uvažovaný polohovací systém lze pro regulátor celkem snadno manuálně nalézt oblast, ve které dochází k uspokojivému řízení. Větším problémem se ukazuje výběr nejlepších parametrů z nalezené oblasti. Manuálně lze vybírat parametry podle rychlosti ustalování po skončení pohybu nebo podle překmitů rychlosti při přechodech mezi oblastí zrychlování, rovnoměrného pohybu a zpomalení. Protože vlivy nelinearit nejsou při opakovaných pohybech shodné, nevede tento postup k jednoznačnému vhodnému nastavení.
Při opakovaném vybuzení systému ( například bílým šumem ) je možné považovat poruchy vzniklé třením a lokálními nelinearitami za poruchy statistického charakteru a vyhodnocovat zlepšení kvality regulace jako snížení hodnoty ztrátové funkce počítané přes odchylku polohy a rychlosti. Pro optimalizaci energetických výdajů regulátoru a snížení oscilací regulačního zásahu je vhodné přidat do ztrátové funkce i hodnotu výstupu regulátoru. Jako vhodné se ukazuje často používané kritérium minimalizace sumy čtverců odchylek ( LQ řízení, aproximace funkcí, atd. ).
Pro optimalizace byly po řadě pokusů vybrány dva druhy průběhů požadované hodnoty rychlosti. Pro optimalizaci dynamických parametrů při rozjezdech a brždění byl vybrán náhodný signál s podobnými hodnotami zrychlení jako při pracovním režimu. Jednalo se o frekvenčně omezený bílý šum. Protože předpokládaný průběh rychlosti je spojitý, byl šumový signál zintegrován. Přesto změny požadované rychlosti jsou byly dostatečně rychlé a regulátor byl dostatečně vybuzen.
Druhým kritickým parametrem řízení polohování je rychlost ustálení po dojetí na požadovanou polohu. Při malých rychlostech se již výrazně projevuje diskrétní charakter odměru polohy a klidové tření, proto optimální parametry regulátoru pro předchozí případ nejsou pro malé rychlosti vhodné. Regulátor optimalizovaný na rychlé pohyby vykazoval snahu kmitat okolo požadované hodnoty o ± 1 inkrement snímače. Takovéto chvění by mělo vliv na ostrost snímaného obrazu, proto bylo nutné nalézt kritérium pro optimalizaci regulátoru na rychlé ustálení. Jako požadovaný průběh rychlosti byla použita náhodná posloupnost impulsů o náhodné výšce a jednotkové šířce. Klasické kvadratické kritérium selhávalo kvůli velké odchylce rychlosti a polohy v okamžiku počátku reakce na impuls, proto byla hodnota kritéria v době příchodu impulsu nahrazena nulovou hodnotou. Pak minimální hodnota vhodně nastaveného kvadratického kritéria skutečně odpovídala parametrům, pro které dochází k rychlému ustálení systému.
Pro nastavování parametrů systému bylo použito propojení řídící jednotky polohovacího systému se sytémem Matlab přes rozhraní RS-232. Pro testování odezvy systému byly naprogramovány jak v řídící jednotce tak v prostředí Matlab funkce pro inicializaci spojení, nastavování parametrů a výběr typu regulátoru, naplnění paměti jednotky požadovaným průběhem, spuštění regulace nebo přímé odezvy motoru, vyčtení zaznamenaných údajů o okamžité rychlosti a hodnotě výstupu regulátoru a řada dalších pomocných funkcí.
Byl navržen automatický systém vyhledávání minima kriteria - ztrátové funkce, který vždy postupně vyzkoušel odezvu systému na změnu každého parametru o ±1 a pak vybral nejlepší směr změny parametrů vedoucí k největšímu snížení ztrátové funkce. Tento systém optimalizace však většinou po nalezení oblasti minima nedokázal jednoznačně vybrat nejlepší kombinaci parametrů regulace. Nepříznivě působila jistá náhodnost v půbězích jednotvých pokusů. Zároveň tvar ztrátové funkce pro některé parametry naznačoval, že by bylo vhodné přejít do oblasti parametrů, která by pro stabilitu systému a ustalování nebyla vhodná. Proto byl použit postup umožňující manuální vybrání nejlepší kombinace parametrů.
Po určení oblasti použitelných parametrů byly určeny minimální a maximální hodnoty parametrů a provedeno zjištění odezvy systému pro všechny kombinace parametrů v této oblasti na předem vybraný průběh požadované rychlosti. Protože se jedná o relativně rychlé zařízení nebyla doba takovýchto testů příliš dlouhá ( okolo 15 min ). Veškeré nasnímané průběhy rychlosti a řízení byly vždy uloženy do souboru. Pro prohlížení byl vytvožen program v prostředí Matlab, jehož hlavní okno je na obrázku 4. Tento program umožňnuje zobrazení řezů ztrátové funkce o více parametrech ( tří pro uvažovaný regulátor ). Parametry regulátoru, kterými jsou řezy vedeny, je možno v otestovaném rozsahu zadávat číselně nebo nastavovat myší v grafech. Dále je možno nastavit parametry na nalezené minimum ztrátové funkce a měnit matematický předpis kritéria - ztrátové funkce. Pro nastavené parametry jsou vždy také zobrazeny průběhy rychlosti a další vybrané funkce ( polohy, odchylky polohy nebo rychlosti, řídící veličiny nebo okamžité hodnoty kritéria v čase ).
image: fig/opt.png
image: fig/reglin3.png
Obrázek 5: Optimalizace rychlosti ustálení

Závěr

S pomocí navrženého postupu optimalizace se podařilo nalézt uspokojivé nastavení regulátoru řídící jednotky polohovacího zařízení. Ukázalo se však, že by v budoucnu bylo vhodné jednotku vybavit přepínáním hodnot parametrů nebo celého regulátoru s jedním nastavením pro čas pohybu a s druhým pro ustalování při zastavení. Celý systém i se snímáním se podařilo vyladit pro sejmutí a zpracování až 5 obrázků za sekundu ( vyšší rychlost než byla zadaná ). Systém byl dodán zákazníkovi a je již rok v provozu. další systém byl postaven pro výstavní účely. Samostatná řídící jednotka byla též dodána na elektrotechnicou fakultu ČVUT pro řízení polohování předmětů při snímání kamerou.