Programové optimálne riadenie
Nech je dané:
- Stavová rovnica riadeného dynamického systému (1.11)
- počiatočný čas t = t0,časový interval < t0, T > >a počiatočný stav riadeného systému
- koncový stav systému
- kritérium optimálneho riadenia (1.12) a množina prípustných riadení
Úlohou programového optimálneho riadenia je nájsť také riadenie, ktoré prevádza dynamický systém z počiatočného stavu do požadovaného koncového stavu a minimalizuje kritérium optimálneho riadenia (1.12)
Problém sledovania pomocou dopredných a inverzných neurónových modelov v riadiacej štruktúre s dopredným regulátorom
V tejto časti za zameriame na aplikáciu neurónovej siete typu MLP v riadiacej štruktúre s dopredným regulátorom na riešenie problému sledovania optimálnej trajektórie (Optimal Neuro-Tracking Problem) pre nelineárny systém - robot, ktorého model dynamiky budeme uvažovať v stavovom priestore.
Úlohy optimálneho sledovania trajektórie manipulátora s dvoma stupňami vožnosti pozostáva z dvoch etáp:
- z výpočtu nominálnych trajektórií pohybu xref a riadiacich zásahov uref pomocou iteračných metód programového optimálneho riadenia (POR), konkrétne algoritmom gradientnej metódy využitím korekčných funkcií
- z LQ návrhu deterministického regulátora v spätnej väzbe spočívajúceho v riešení systému Riccatiho nelineárnych diferenciálnych rovníc s časovo-premenlivými koeficientami algoritmom spätnoväzobného optimálneho riadenia (SOR), ktorý zabezpečuje korekciu odchýliek skutočnej polohy koncového bodu robota od daných (off-line) vypočítaných nominálnych trajektórií xref , uref ,
Na obr. 1.1 je znázornená riadiaca štruktúra s neurónovým regulátorom, ktorý sa skladá z dvoch neurónových sietí typu MLP:
Obr. 1.1 Štruktúra zapojenia s neurónovým regulátorom
kde:
xref(k) | vektor optimálnych trajektórií |
uref(k) | vektor optimálnych riadiecich zásahov |
dx(k) | vektor odchýliek od predpísanej trajektórie |
du(k) | korekcia vektora riadiaceho zásahu |
u(k) | aktuálny vektor riadiaceho zásahu |
x(k) | reálny výstup nelineárneho dynamického systému - robota. |
Ako trénovaciu množinu dát pre neurónovú sieť NN1, ktorá je trénovaná ako inverzný model v zapojení "general learning" (obr. 1.2) použijeme výsledky POR, t.j. vektor riadiacich zásahov uref a vektor nominálnych trajektórií pohybu xref , ktoré sú riešením dvojbodovej okrajovej úlohy algoritmom korekčných funkcií.
Obr. 1.2 Trénovanie neurónovej siete NN1
Popis algoritmu programového optimálneho riadenia:
- Inicializácia počiatočných hodnôt parametrov
- parametre robota manipulátora(hmotnosti, momenty zotrvačnosti, konštanty akčných veličín), ktoré predstavujú koeficienty sústavy nelineárnych diferenciálnych rovníc
- počiatočné podmienky dynamického systému - robota
- počiatočné podmienky kovektora
- počiatočné podmienky citlivostných rovníc Uij(0)=0 , Vij(0)=1 ak i=j, inač Vij(0)=0
- požadovaný koncový stav systému
- parametre pre vlastný podprogram, ktorý rieši sústavu diferenciálnych rovníc metódou Runge-Kuta (počiatočný a koncový čas výpočtu, integračný krok)
- požadovaná presnosť dosiahnutia koncového stavu
- Riešenie systému združených diferenciálnych rovníc a citlivostných rovníc
- Zapamätanie si hodnôt vektora koncového stavu dosiahnutého v dannej iterácií z aktuálnych počiatočných podmienok
- Test na presnosť medzi vypočítaným a vektorom a požadovaným vektorom stavu
- Ak nie je splnená predpísaná presnosť dosiahnutia koncového stavu potom:
- vypočítamé korekcie, ktoré sú riešením algebraických rovníc:
- vykonáme opravu počiatočných podmienok kovektora podľa:
- Ak predpísaná presnosť dosiahnutia koncového stavu je dodržaná:
- vypočítame optimálne trajektórie
- grafické znázornenie optimálnych trajektórií a odpovedajúceho optimálneho riadenia