Sterowanie Napędów Maszyn i Robotów
Wykład 4 - Model w przestrzeni stanów
dr inż. Jakub Możaryn
Instytut Automatyki i Robotyki
Warszawa, 2015
Do zaprojektowania układu regulacji pozycji siłownika pneumatycznego, poszukiwany jest model dynamiki układu w postaci modelu w
przestrzeni stanów z czasem ciągłym
X (t) = A˙ mcX (t) + BmcU(t)
y (t) = CmcX (t) (1)
gdzie: X (t) ∈ Rn- wektor stanu, U(t) ∈ Rm - wektor sygnałów sterujących, y (t) ∈ Rp - sygnał wyjściowy wyjście / wektor sygnałów wyjściowych, Amc ∈ Rn×n - macierz stanu Bmc∈ Rn×m - macierz sterowania, Cmc∈ Rp×m - macierz wyjścia.
Równania stanu - zmienne fizykalne
Zmienne stanu i sterujące
unt(t) = Unt(t) upt(t) = Upt(t) x1= s(t) x2= v (t)
x3= Pnt(t) − Patm
x4= Ppt(t) − Patm
(2)
gdzie:
unt(t) = Unt(t) – napięcie wysterowania rozdzielacza proporcjonalnego (dla komory nadtłokowej)
upt(t) = Upt(t) – napięcie wysterowania rozdzielacza proporcjonalnego (dla komory podtłokowej)
x1(t) = s(t) – położenie (przemieszczenie) tłoka siłownika x2(t) = v (t) – prędkość ruchu tłoka siłownika
x3(t) = Pnt(t) − Patm = pnt(t) - ciśnienie względne w komorze nadtłokowej siłownika
x4(t) = Ppt(t) − Patm = ppt(t) - ciśnienie względne w komorze podtłokowej siłownika
Równania stanu
dx1(t)
dt = x2(t) dx2(t)
dt = −ktvP mobc
x2(t) +Atlont mobc
x3(t) −Atlopt mobc
x4(t) dx3(t)
dt = −nntoPntoAtlont
Vnto x2(t) +nntoRϑntokqmnt
Vnto unt(t) dx4(t)
dt =nptoPptoAtlopt
Vpto x2(t) +nptoRϑptokqmpt
Vnto upt(t)
(3)
Równanie wyjścia
y (t) = x1(t) (4)
Równania stanu - zmienne fizykalne
Ostatecznie, dla sterowania dławieniowego rozdzielonego, model procesu ruchu realizowanego przez pneumatyczny napęd siłownikowy opisują zależności macierzowe
X (t) =˙
0 a12 0 0 0 a22 a23 a24
0 a32 0 0 0 a42 0 0
x1(t) x2(t) x3(t) x4(t)
+
0 0
0 0
b31 0 0 b42
unt(t) upt(t)
+
(5)
y (t) = [1 0 0 0]X (t) (6)
gdzie
a12= 1; a22= −ktvP mobc
; a32= −nntoPntoAtlont Vnto
; a42=nptoPptoAtlopt Vpto
(7)
a23= Atlont
mobc; a24= −Atlopt
mobc; b31=nntoRϑntokqmnt
Vnto ; b42=nptoRϑptokqmpt
Vnto (8) Układ liniowy : parametry macierzy mają stałe wartości
przyjmując
u(t) = unt(t) = −upt = U(t)∆P(t) = pnt(t) − ppt(t) (9) a następnie przechodząc od fizykalnych do fazowych zmiennych stanu, po wprowadzeniu jako trzeciej zmiennej przyspieszenia a(t) ruchu tłoka siłownika i uwzględnieniu zależności
x3(t) = a(t) = Atlont
mobc∆P(t) − ktvP
mobcv (t) (10) Fazowe zmienne stanu i zmienne sterujące są następujące
unt(t) = Unt(t) upt(t) = Upt(t) x1(t) = s(t) x2(t) = v (t) x3(t) = a(t)
(11)
Równania stanu - zmienne fazowe
Równania stanu
dx1(t)
dt = x2(t) dx2(t)
dt = x3(t) dx3(t)
dt = − 1 mobc
"
nntoPntoA2tlont
Vnto +nptoPptoA2tlopt Vpto
#
x2(t) − ktvP
mobcx3(t)+
+nntoRϑntokqmntAtlont mobcVnto
unt(t) −nptoRϑptokqmptAtlopt mobcVpto
upt(t)
(12) Równanie wyjścia
y (t) = x1(t) (13)
oznaczając
Cmntωom2 =nntoRϑntokqmntAtlont
mobcVnto
; Cmptωom2 =nptoRϑptokqmptAtlopt
mobcVpto
(14)
2Dmωom = ktvP
mobc (15)
ω2om= − 1 mobc
"
nntoPntoA2tlont Vnto
+nptoPptoA2tlopt Vpto
#
(16)
Równania stanu i wyjścia można sprowadzić do postaci macierzowej, z trzema parametrami liniowego modelu zachowań prędkościowych ru- chu tłoka napędu pneumatycznego o właściwościach oscylacyjnych z:
wzmocnieniem prędkościowym Cm, pulsacją drgań swobodnych ωom tłumieniem Dm
Równania stanu - zmienne fazowe
W ten sposób otrzymuje się model stanu procesu ruchu jako członu oscylacyjnego zachowań prędkościowych
X (t) =˙
0 1 0
0 0 1
0 −ωom2 −Dmωom
X (t)+
0 0
0 0
Cntmω2om −Cptmω2om
U(t) (17)
y (t) = [1 0 0] x1(t) (18)
Szczególne miejsce pośród wielu modeli (różne warianty dławienia i różne układy wartości parametrów) zajmuje - ze względu na prostotę zapisu i wykorzystania - model zlokalizowany w położeniu odpowiadającym poło- wie objętości cylindra siłownika (0, 5Vcyl), opisany przez stałe (’mode- lowe’) wartości parametrów przemian gazowych (nm, ϑm), współczyn- nika tarcia (ktm) oraz ciśnienia roboczego (Pm): dla siłownika z połączo- nym sterowaniem komór (r = 1) i tłokiem równopowierzchniowym (Atlo) w postaci
Cm=Rϑmkqm AtloPm
; ωom = 2Atlo
s nmPm mobcVcyl
; Dm= ktm 4Atlo
r Vcyl nmPmmobc
(19)
Równania stanu - zmienne fazowe
Model ten pozwala, przy ograniczeniu liczby koniecznych do podania warto- ści parametrów, w prosty sposób estymować dynamikę napędu w oparciu o minimalną wartość pulsacji ωom, przy stałym wzmocnieniu prędko- ściowym Cm i tłumieniu Dm, dla wybranych położeń tłoka siłownika so
ωom= s
nmPmAtlo
mobc
1 so
+ 1
smax − so
(20) Dobrym, ze względu na zgodność modelu z wynikami doświadczalnymi, przybliżeniami są:
wartość wykładnika przemiany politropowej: nm ≈ 1, 35, stałej rozdzielacza: kqm≈ 2 · 10−8kg /s∆Pa,
ciśnienia: Pm≈ 0, 65Pzas
stałej tarcia napędu: ktm≈ 125Ns/m
Podane modele obliczeniowe z czasem ciągłym procesu ruchu w pneumatycznym układzie napędowym mają 4 zalety:
1 pojęcia typu wzmocnienie prędkościowe, pulsacja drgań, tłumienie są dla inżynierów zrozumiałe, oraz jako wartości parametrów -
intuicyjne i inżyniersko weryfikowalne,
2 jakościowo poprawnie modelują zależność dynamiki napędu od położenia tłoka, obciążenia masowego i warunków pracy,
3 spełniają warunki sterowalności i obserwowalności układu w sensie Kalmana oraz istotny w przypadku układu napędowego warunek sterowalności wyjściowej,
4 przekładają się w implementacyjnie prosty sposób w algorytm wyboru macierzy sprzężeń zwrotnych, uwzględniając założone właściwości statyczne i dynamiczne układu pozycyjnego.
Równania stanu - dyskretyzacja modeli
Chcąc zaprojektować układ regulacji w technice mikroprocesorowej, poszukiwany jest model dynamiki układu w postaci modelu w przestrzeni stanów z czasem dyskretnym
X (k + 1) = AmdX (k) + BmdU(k)
y (k) = CmdX (k) (21)
gdzie: X (k) ∈ Rn- wektor stanu, U(k) ∈ Rm - wektor sygnałów sterujących, y (k) ∈ Rp - sygnał wyjściowy wyjście / wektor sygnałów wyjściowych, Amd ∈ Rn×n - macierz stanu Bmd∈ Rn×m - macierz sterowania, Cmd∈ Rp×m - macierz wyjścia.
Transformacja ciągłych równań różniczkowych do dyskretnych równań różnicowych.
Uwzględniając : czas dyskretny k,
okres próbkowania (dyskretyzacji) Tp
sterowanie sygnałami odcinkowo - stałymi zmienianymi wyłącznie w chwili próbkowania (sygnałami schodkowymi) , czyli:
U(t) = U(kTp) dla t ∈ hkTp, k + 1Tpi (22)
Równania stanu - dyskretyzacja modeli
Równanie stanu modelu przekształca się, zgodnie z zasadami dyskretyzacji w postać:
X (k + 1) = exp (AmcTpx (k)) +
Tp
Z
0
exp (Amct)BmcdtU(k) (23)
gdzie
Amd= exp (AmcTp) = L−1[(sI − Amc)−1]; (24)
Bmd =
Tp
Z
0
exp (Amct)Bmcdt = A−1mc[exp (AmcTp) − I ]Bmc, det A 6= 0 (25)
W przypadku modelu opisanego przez wzmocnienie prędkościowe Cm, pulsację drgań swobodnych ωom i tłumienie Dm – macierz Amd poszukiwana jest przy pomocy zależności
Amd= L−1[(sI − Amc)−1] t=T
p (26)
eAmcTp = L−1
1 s
s + 2Dmωom
s3+ 2Dmωoms2+ ωom2 s
1
s3+ 2Dmωoms2+ ω2oms 0 s + 2Dmωom
s2+ 2Dmωoms + ω2om
1
s2+ 2Dmωoms + ωom2
0 −ω2om
s2+ 2Dmωoms + ω2om
1
s + 2Dmωom+ ωom2 /s
t=Tp
(27) gdzie L−1 - odwrotne przekształcenie Laplace’a.
Bmd = A−1mc(Amd− I )Bmc, det Amc 6= 0 (28)
Równania stanu - dyskretyzacja modeli
Ostatecznie otrzymuje się model z czasem dyskretnym:
X (k + 1) = AmdX (k) + BmdU(k)
y (k) = CmdX (k) (29)
UWAGA: W praktyce do realizacji w czasie rzeczywistym procedur iden- tyfikacji i sterowania przy użyciu formalnie uzyskanych macierzy modelu dyskretnego zaleca się stosować przybliżony sposób transformacji opisu modelu ciągłego w dyskretny.
szereg Taylora
Jeśli funkcja f : D → Y , gdzie D ⊆ R oraz Y jest przestrzenią unormowaną i ma w punkcie x0∈ D pochodne dowolnego rzędu, to można rozważać szereg
∞
X
n=0
1
n!f(n)(x0)(x − x0)n, (30) gdzie przyjęto f(0)(x0) = f (x0).
Jeżeli x0= 0, to szereg ten nazywamy szeregiem Maclaurina. Rozwinięcie funkcji w szereg Maclaurina ma następującą postać
f (x ) = f (0) +
∞
X
n=1
f(n)(0)
n! xn (31)
Dla funkcji wykładniczej, szereg Maclaurina ma postać ex =
∞
X
n=1
xn
n! (32)
Równania stanu - dyskretyzacja modeli (uproszczenia)
W praktyce do realizacji w czasie rzeczywistym procedur identyfikacji i sterowania przy użyciu formalnie uzyskanych macierzy modelu
dyskretnego zaleca się stosować przybliżony sposób transformacji opisu modelu ciągłego w dyskretny polegający na:
Krok 1: zastąpieniu funkcji exp (AmcTp) szeregiem funkcyjnym MacLaurina,
Krok 2: zapisie macierzy Amd i Bmd w postaci
Amd =
∞
X
i =0
Aimc
i ! Tpi; Bmd= Tp
∞
X
i =0
Aimc
(i + 1)!TpiBmc (33)
Krok 3: uwzględnieniu tylko kilku pierwszych (lub pierwszego) wyrazów tego rozwinięcia.
Postępowanie to odwołuje się do transformacji Tustina polegającej na ograniczeniu rozwinięcia potęgowego operatora s do jednego wyrazu przy wyznaczaniu transmitancji dyskretnej.
Transformacja Tustina polega na aproksymacji Pad´e funkcji eksponencjalnej
z = esT (34)
Przekształcenie metodą Tustina polega na wykorzystaniu następujących podstawień przy transformacji z przestrzeni Laplace’a do przestrzeni ’z’:
s = 2 T
(z − 1)
(z + 1) (35)
Równania stanu - dyskretyzacja modeli (uproszczenia)
Prawidłowość doboru okresu próbkowania i przeprowadzenia powyższej aproksymacji wynika z twierdzenia Kotielnikowa- Shannona, określa- jącego pod jakim warunkiem z sygnału dyskretnego x (k) złożonego z pró- bek danego sygnału ciągłego x (t), można wiernie odtworzyć sygnał x (t).
Częstotliwość próbkowania musi być większa niż dwukrotność naj- wyższej składowej częstotliwości w mierzonym sygnale.
ωp= 2π Tp
; ωp 2ωom (36)
Taka aproksymacja znajduje swe uzasadnienie w stwierdzeniu skali róż- nic wartości pomiędzy pulsacją próbkowania ωp wynikająca z okresu Tp a pulsacją ωom .
Przy milisekundowym okresie próbkowania, np. Tp ∈< 0, 8, 2 > ms, otrzy- muje się pulsację próbkowania ωp∈< 7850, 3140 > rd /s która jest o rzędy wielkości większa od pulsacji drgań swobodnych ωom∈< 10, 60 > rd /s za- chowań ruchowych (siłowych) napędu - takie częstotliwości charakteryzują nawet szybkie napędy pozycyjne.
Model z czasem ciągłym
X (t) =˙
0 1 0
0 0 1
0 −ωom2 −Dmωom
X (t)+
0 0
0 0
Cntmω2om −Cptmω2om
U(t)
y (t) = [1 0 0] x1(t)
Doprowadzany jest przez usunięcie z zależności wyrazów z czynnikiem Tpwyższym niż kwadratowy, do postaci modelu z czasem dyskretnym
X (k+1) =
1 Tp 0
0 1 − αTp βTp
0 −2αβ 1 − αTp− 2β(1 − β)
X (k)+
0 CmTpα 2Cmαβ
U(k)
y (k) = [1 0 0] X (k) gdzie
α = 1
2ω2omTp; β = 1 − DmωomTp
Sterowanie Napędów Maszyn i Robotów
Wykład 4 - Model w przestrzeni stanów
dr inż. Jakub Możaryn
Instytut Automatyki i Robotyki
Warszawa, 2015