Hangsúlyok - MATLAB; Simulink

A prediktív vezérlő modell kialakítása általában megköveteli a költségfüggvények súlyának bizonyos beállítását. Ez a témakör hangolási tippeket tartalmaz. A költségfüggvény-egyenletek részleteit lásd az Optimalizálási probléma részben.

Kezdeti hangolás

A költségfüggvény súlyainak beállítása előtt adjon meg skála tényezőket az egyes üzemek bemeneti és kimeneti változóihoz. Tartsa állandóan ezeket a léptéktényezőket a vezérlő hangolásakor. További információkért lásd: Méretfaktorok megadása.

A hangolás során használja az érzékenység és áttekintés parancsokat a diagnosztikai visszajelzés megszerzéséhez. Az érzékenység parancs segít a költségfüggvény súlyának kiválasztásában.

Változtasson meg egy súlyt a megfelelő vezérlő tulajdonságának beállításával, az alábbiak szerint:

Ennek a súlynak a megváltoztatásához állítsa be ezt a vezérlő tulajdonságot
OV referenciakövetés (w y) Súlyok.OV p-by- ny
MV referenciakövetés (w u) Súlyok.MV p-by- nu
MV növekmény-elnyomás (w Δu) Súlyok.MVRate p-by- nu

Itt az MV egy növény által manipulált változó, a nu pedig az MV-k száma. Az OV növényi kimeneti változó, ny pedig az OV-k száma. Végül p az előrejelzési horizont lépéseinek száma.

Ha egy tömegtömb n p sort tartalmaz, a vezérlő megduplázza az utolsó sort, hogy teljes sor p sort kapjon. Az alapértelmezett érték (n = 1) minimalizálja a beállítandó paraméterek számát, ezért ajánlott. Az alternatívát lásd: Az idő változó súlyok és korlátozások.

Tippek az OV súlyának beállításához

Figyelembe véve a ny OV-kat, tegyük fel, hogy a nyc-t referenciaértéknél (alapértéknél) vagy annak közelében kell tartani. Ha az i. OV nem tartozik ebbe a csoportba, állítsa be a Súlyok.OV (:, i) = 0 értéket.

Ha nu ≥ nyc, akkor állandó állapotban nulla OV követési hiba érhető el, ha legalább a nyc MV-ket nem korlátozzák. Az alapértelmezett Súlyok.OV = egyek (1, ny) jó kiindulópont ebben az esetben.

Ha azonban nu> nyc, akkor túlzott mértékű szabadságod van. Hacsak megelőző intézkedéseket nem tesz, az MV-k akkor is elsodródhatnak, ha az OV-k a referenciaértékük közelében vannak.

A legelterjedtebb megelőző intézkedés az, hogy referenciaértékeket (célokat) határozzon meg a meglévő többlet MV - k számához. Az ilyen célok gazdaságilag vagy műszakilag kívánatos egyensúlyi értékeket képviselhetnek.

Alternatív intézkedés a w∆u> 0 beállítása legalább az új MV-k számára, hogy visszatartsa a vezérlőt a változtatásuktól.

Ha ny nyc, akkor nincs elég szabadságfoka ahhoz, hogy az összes előírt OV-t egy alapértéken tartsa. Ebben az esetben fontolja meg a referenciakövetés fontossági sorrendjét. Ehhez állítsa be a Súlyok.OV (:, i)> 0 értéket az i. OV prioritásának megadásához. Ennek durva irányelvei a következők:

0,05 - Alacsony prioritás: Nagy követési hiba elfogadható

0,2 - Átlag alatti prioritás

1 - Átlagos prioritás - az alapértelmezett. Használja ezt az értéket, ha nyc = 1.

5 - Átlagon felüli prioritás

20 - Magas prioritás: Kis követési hiba szükséges

Tippek az MV súlyának beállításához

Alapértelmezés szerint a Súlyok.MV = nullák (1, nu). Ha néhány MV-nek vannak célpontjai, akkor a megfelelő MV referencia követési súlyoknak nem nullának kell lenniük. Ellenkező esetben a célokat figyelmen kívül hagyják. Ha az MV célpontok száma kisebb, mint (nu - nyc), próbáljon mindegyikhez ugyanazt a súlyt használni. A javasolt érték 0,2, megegyezik az átlagosnál alacsonyabb OV követéssel. Ez az érték lehetővé teszi az MV-k számára, hogy ideiglenesen eltávolodjanak a céltól, hogy javítsák az OV nyomon követését.

Ellenkező esetben az MV és OV referenciakövetési célok valószínűleg ütköznek. Prioritást állítson be a Weights.MV (:, i) értékek beállításával a Weights.OV-nál javasolthoz hasonló módon (lásd fent). A tipikus gyakorlat az átlagos MV nyomkövetési prioritást alacsonyabbra állítja, mint az átlagos OV nyomkövetési prioritást (pl. 0,2 i-nek az MV-nek nincs cél, beállított súlyok. MV (:, i) = 0 (alapértelmezett).

Tippek az MVRate súlyok beállításához

Alapértelmezés szerint a Súly.MVRate = 0,1 * egy (1, nu). Ennek az alapértelmezésnek az okai a következők:

Ha az üzem nyitott hurkú stabil, akkor a nagy lépések feleslegesek és valószínűleg nem kívánatosak. Például, ha a modell előrejelzései tökéletlenek, mint a gyakorlatban mindig, a konzervatívabb lépések általában erőteljesebb vezérlőteljesítményt nyújtanak, de gyengébb referenciakövetést.

Ezek az értékek arra kényszerítik a QP Hessian mátrixot, hogy pozitív-határozott legyen, így a QP-nek egyedi megoldása van, ha nincsenek korlátozások.

Annak ösztönzésére, hogy a vezérlő még kisebb lépésekben használja az i-es MV-t, növelje a súlyokat. MVRate (:, i) érték.

Ha az üzem nyitott hurkú instabil, akkor lehet, hogy csökkentenie kell az átlagos Súlyt. MVRate érték ahhoz, hogy kellő gyors reagálást biztosítson a felborulásokra.

Tippek az ECR súlyok beállításához

A Weights.ECR tulajdonsággal kapcsolatos tippeket lásd a kényszerlágyításban.

Tesztelés és finomítás

Az egyes költségfüggvények súlyának beállítására összpontosítva végezzen zárt hurkú szimulációs teszteket a következő feltételek mellett:

Nincs jóslási hiba. A vezérlő előrejelzési modelljének meg kell egyeznie az üzem modelljével. Mind az MPC Designer alkalmazás és a sim funkció lehetőséget nyújt a szimulációra ilyen körülmények között.

Használja a referencia- és a mért zavarjelek változását (ha vannak ilyenek) a dinamikus válasz kényszerítésére. Az egyes tesztek eredményei alapján fontolja meg a kiválasztott súlyok nagyságának megváltoztatását.

Az egyik javasolt megközelítés az állandó Súlyok.OV (:, i) = 1 használata az „átlagos OV követési prioritás” jelölésére, és az összes többi súly beállításához viszonyítsa ezt az értéket. Használja az érzékenység parancsot. A review paranccsal ellenőrizheti a tipikus hangolási problémákat, például a zárt hurok stabilitásának hiányát.

A kontroller zavarelutasító képességére összpontosító teszteket lásd a Zavar és zajmodellek beállítása részben.

Robusztus

Miután a fenti körülmények között jól működik a súlya, ellenőrizze az érzékenységet az előrejelzési hibákra. Ennek többféle módja van:

Ha nemlineáris üzemi modellje van a rendszerének, például egy Simulink ® modell, akkor szimulálja a zárt hurkú teljesítményt olyan működési pontokon, amelyekre az LTI előrejelzési modell vonatkozik.

Alternatív megoldásként futtasson zárt hurkú szimulációkat, amelyekben az üzemet képviselő LTI-modell (például a szerkezet vagy a paraméterértékek tekintetében) eltér az MPC előrejelzési modellnél alkalmazottaktól. Mind az MPC Designer alkalmazás és a sim funkció lehetőséget nyújt a szimulációra ilyen körülmények között. Például lásd: A vezérlő robusztus működésének tesztelése.

Ha úgy tűnik, hogy a vezérlő teljesítménye jelentősen romlik az előrejelzési hiba nélküli tesztekhez képest, akkor egy nyitott hurkú stabil üzem esetében fontolja meg a vezérlő kevésbé agresszívebbé tételét.

In MPC Designer, a Tuningon lapon megteheti a Zárt hurok teljesítményével csúszka.

körülmények között

A robusztusabb irányítás felé történő elmozdulás csökkenti az OV/MV súlyokat és növeli az MV Rate súlyokat, ami a kimenetek nyugodt vezérléséhez és konzervatívabb vezérlési lépésekhez vezet.

A parancssorban a következő módosításokat hajthatja végre a vezérlő agresszivitásának csökkentése érdekében:

Növelje az összes Weight.MVRate értéket egy 2. rendű szorzótényezővel.

Csökkentse az összes Weight.OV és Weight.MV értéket ugyanazzal a tényezővel osztva.

A súlyok beállítása után értékelje át a teljesítményt előrejelzési hibával és anélkül is.

Ha mindkettő elfogadható, ne állítsa be a súlyokat.

Ha javulás tapasztalható, de a modellhibával még mindig túl sok a degradáció, növelje tovább a vezérlő robusztusságát.

Ha a változás nem érezhetően javítja a teljesítményt, állítsa vissza az eredeti súlyokat, és koncentráljon az állapotbecslő hangolására (lásd: Zavar és zajmodellek beállítása).

Végül, ha a hangolási változtatások nem nyújtanak megfelelő robusztust, fontolja meg a következő lehetőségek egyikét: