Laboratorium Sterowania Robotów - Katedra Sterowania i Inżynierii

Transkrypt

Laboratorium Sterowania Robotów - Katedra Sterowania i Inżynierii
Laboratorium Sterowania Robotów
Katedra Sterowania i Inżynierii Systemów
Politechnika Poznańska
KSIS-PP
oprac. M. Michałek
ĆWICZENIE B
Sterowanie pozycyjne ze sprzężeniem od stanu
Celem ćwiczenia jest implementacja na platformie z procesorem DSP
układu sterowania ze sprzężeniem od stanu dla modelu pozycyjnego
manipulatora o jednym stopniu swobody (PM1R). Przeprowadzona
implementacja ma stanowić eksperymentalną weryfikację jakości działnia wybranych technik sterowania dla zadań śledzenia i stabilizacji
dedykowanych dla pojedynczego serwonapędu.
1
Model pozycyjny systemu PM1R
Znajomość i wykorzystanie dobrego modelu sterowanego systemu pozwala na uzyskanie wysokiej
jakości sterowania. Poniżej przedstawiono procedurę wyprowadzenia i krótkiej analizy podstawowych bloków dynamicznych systemu PM1R przy założeniu, że interesującym nas sygnałem
wyjściowym jest pozycja kątowa ogniwa (napędu), a rozkład masy obciążenia (ogniwa) względem
osi obrotu jest równomierny. Poglądowy schemat systemu PM1R przedstawia rys. 1.
Rys. 1: Schemat poglądowy systemu PM1R na stanowisku laboratoryjnym wraz z definicją sygnałów wejściowego u i wyjściowego θ.
2
KSIS-PP: Laboratorium Sterowania Robotów – B
1.1
Model części mechanicznej
Przedmiotem rozważań będzie manipulator PM1R (rys. 1) złożony z silnika prądu stałego połączonego za pośrednictwem przekładni redukcyjnej z ogniwem o masie równomiernie rozłożonej
względem osi obrotu. Równomierne rozłożenie masy ogniwa usuwa problem oddziaływania nieliniowego składnika grawitacyjnego τ g = mgL cos θl . Zatem równanie równowagi momentów sił po
stronie ogniwa przyjmuje postać:
Jl θ̈l + fl (θ̇l ) = τl − τz ,
(1)
gdzie θl jest pozycją kątową ogniwa, Jl jest momentem bezwładności ogniwa względem osi obrotu,
fl (θ̇l ) stanowi moment siły tarcia w przegubie (złączu) wynikający z przyjętego modelu tarcia, a
τl oraz τz stanowią odpowiednio: moment siły napędzający ogniwo oraz zewnętrzny moment siły
zakłócenia (w idealnym przypadku τ z = 0). Równanie równowagi momentów po stronie silnika
można zapisać w następującej postaci:
Jm θ̈m + fm (θ̇m ) = τm − τl∗ ,
(2)
gdzie θm jest pozycją kątową silnika, Jm jest momentem bezwładności napędu względem osi
obrotu, fm (θ̇m ) stanowi model momentu siły tarcia napędu, τ m jest momentem napędowym
silnika, a τl∗ jest całkowitym momentem siły obciążenia oddziaływującym bezpośrednio na wał
silnika.
Równania (1) oraz (2) łączy zależność wynikająca z zastosowania przekładni redukcyjnej
między silnikiem a ogniwem (zakładamy brak luzów w połączeniu mechanicznym):
τl∗ = ητl ,
(3)
gdzie η > 0 jest współczynnikiem przełożenia przekładni zdefiniowanym jako:
∆
η=
θl
<1
θm
⇒
η=
θ̇l
,
θ̇m
η=
θ̈l
.
θ̈m
(4)
Podstawiając (3) do (2) i korzystając z równania (1) oraz zależności (4) otrzymujemy wypadkowe
równanie równowagi momentów sił po stronie silnika:
(Jm + η 2 Jl )θ̈m + fm (θ̇m ) + ηfl (η θ̇m ) = τm − τz∗ ,
τz∗ = η τz ,
(5)
gdzie τz∗ jest wypadkowym momentem zakłócającym widzianym po stronie silnika.
1.1.1
Modele tarcia
W tym momencie musimy zdefiniować model tarcia, który będzie wykorzystywany w dalszej
części ćwiczenia. Rozważymy trzy modele zależne od prędkości napędu, przy czym dla prostoty
zastosowane zostanie oznaczenie ω ≡ θ̇. Pierwszy model ma strukturę liniową i jest tzw. modelem
tarcia wiskotycznego (związanego z ruchem):
∆
f (ω) = b ω,
(6)
gdzie b > 0 jest współczynnikiem tarcia wiskotycznego. Pozostałe modele uwzględniają dodatkowo
składnik tarcia statycznego fC (tzw. tarcie suche lub tarcie Coulomb’a) i mogą mieć dwie postaci:
symetryczną


 fC + b ω dla ω > 0
∆
f (ω) = fC sign(ω) + b ω =
0
dla ω = 0
(7)

 −f + b ω dla ω < 0
C
3
KSIS-PP: Laboratorium Sterowania Robotów – B
i niesymetryczną względem początku układu charakterystyki tarcia:
∆
f (ω) =


 fC1 + b1 ω
dla ω > 0
0
dla ω = 0 ,


fC2 + b2 ω dla ω < 0
(8)
gdzie fC1 , b1 , b2 > 0 oraz fC2 < 0 są elementami odpowiednich składników tarcia. Charakterystyki
wszystkich modeli tarcia1 przedstawiono na rys. 2.
Rys. 2: Charakterystyki trzech modeli tarcia zdefiniowanych odpowiednio w (6), (7) oraz (8).
Podstawiając powyższe definicje modeli tarcia do równania (5) otrzymujemy ostateczną postać
równania modelującego część mechaniczną rozważanego manipulatora:
J θ̈m + f (θ̇m ) = τm − η τz ,
(9)
przy czym J = (Jm + η 2 Jl ) oraz
• dla modelu (6):
f (θ̇m ) ≡ f (ωm ) = b ωm ,
(10)
f (θ̇m ) ≡ f (ωm ) = b ωm + fC sign(ωm ),
(11)
• dla modelu (7):
• dla modelu (8):
f (θ̇m ) ≡ f (ωm ) =
gdzie:


 fC1 + b1 ωm
dla ωm > 0
dla ωm = 0 ,
dla ωm < 0
(12)
fC = (fCm + ηfCl ),
fC1 = (fC1m + ηfC1l ),
fC2 = (fC2m + ηfC2l ).
(13)
0

 f +b ω
C2
2 m
b = (bm + η 2 bl ),
b1 = (b1m + η 2 b1l ),
b2 = (b2m + η 2 b2l ),
Należy zaznaczyć, iż w rozważanym modelu pozycyjnym po stronie silnika, wyjściowym sygnałem dla części mechanicznej jest pozycja kątowa napędu θ m , a sygnałem wejściowym jest
moment napędowy τm .
1.2
Model części elektromagnetycznej
Równanie bilansu napięć obwodu twornika silnika prądu stałego ze wzbudzeniem od magnesów
trwałych ma następującą postać:
di
L + Ri = ua − E,
(14)
dt
1
Są to charakterystyki statyczne.
4
KSIS-PP: Laboratorium Sterowania Robotów – B
gdzie R jest rezystancją uzwojenia wirnika, L indukcyjnością uzwojenia wirnika, i prądem płynącym w uzwojeniu, E napięciem indukowanym w uzwojeniu twornika, a u a stanowi napięcie podawane na zaciski uzwojenia wirnika (sygnał wejściowy).
W rozważanym modelu po stronie silnika, sygnałem wyjściowym dla części elektromagnetycznej jest prąd w uzwojeniu wirnika silnika i, a sygnałem wejściowym jest napięcie na zaciskach
twornika ua .
1.3
Pełny model manipulatora
Oba podsystemy – mechaniczny i elektromagnetyczny – są ze sobą ściśle związane strukturą i
zasadą działania napędu prądu stałego. Zatem pełny opis zjawisk zarówno o charakterze mechanicznym jak i elektromagnetycznym charakteryzujący działanie manipulatora PM1R wymaga
matematycznego powiazania równań (9) oraz (14). Zakładając stałość strumienia magnetycznego
pochodzącego od magnesów trwałych umieszczonych w stojanie silnika możemy zapisać następujące słuszne zależności:
E = E(ωm ) = kE ωm ,
τm = τm (i) = kI i,
(15)
gdzie kE , kI > 0 są stałymi parametrami silnika (często zawartymi w danych katalogowych).
Powyższe równania pozwalają połączyć (9) z (14). Rozważymy dwa przypadki takiego połączenia
związane z wartością indukcyjności L.
1.3.1
Wartość indukcyjności L istotna.
Równanie (14) możemy przepisać na podstawie (15) jako:
L
R
τ̇m + τm = ua − kE ωm
kI
kI
(16)
co w połączeniu z równaniem (9) oraz zależnością θ̇m = ωm daje układ sprzężonych równań
różniczkowych opisujących pełny model manipulatora:
θ̇m = ωm
(17)
J θ̈m + f (θ̇m ) = τm − η τz ,
L
R
τ̇m + τm = −kE ωm + ua .
kI
kI
(18)
(19)
Powyższy układ równań można zapisać w postaci równania stanu w trójwymiarowej przestrzeni
stanu:





ωm
0
θ̇m
   1
  η
1
ω̇m  = − J f (ωm ) + J τm  + − J
τ̇m
− kELkI ωm − R
0
L τm

0 " #
τz
0

ua
kI
⇒
ẋ = f (x) + Bu
(20)
L
gdzie x = [θm ωm τm ]T jest stanem systemu, a u = [τz ua ]T jest wektorem sygnałów wejściowych
(sygnały wejściowe to odpowiednio zakłócenie τ z i sygnał sterujący ua ). Równanie wyjścia w
modelu pozycyjnym przymuje postać:
∆
y = θm
⇒
h
y = Cx,
i
C= 1 0 0 .
(21)
Zakładając liniowy model tarcia (6) składnik f (ω m ) = b ωm i układ równań (20) jest układem
równań liniowych postaci:



0
1
θ̇m
  
− Jb
ω̇m  = 0
τ̇m
0 − kELkI
0



0
θm
  η
1 
J  ω m  + − J
τm
0
−R
L

0 " #
τz
0

u
a
kI
L
⇒
ẋ = Ax + Bu.
(22)
5
KSIS-PP: Laboratorium Sterowania Robotów – B
Korzystając ze znanej zależności G(s) = C(sI − A) −1 B można wyprowadzić model obu torów
dynamiki w postaci następujących transmitancji operatorowych:
Θm (s)
Ua (s)
∆ Θm (s)
G2 (s) =
Tz (s)
∆
G1 (s) =
=
=
kI
,
s[JLs2 + (JR + Lb)s + (Rb + kI kE )]
−η(Ls + R)
,
2
s[JLs + (JR + Lb)s + (Rb + kI kE )]
(23)
(24)
gdzie J oraz b zdefiniowano w (13).
1.3.2
Wartość indukcyjności L pomijalnie mała.
W przypadku, gdy indukcyjność uzwojeń silnika jest pomijalnie mała 2 , czyli dla L ≈ 0, równanie
różniczkowe (14) przechodzi w równanie algebraiczne Ri ≈ u a − E(ωm ) i pozwala (na podstawie
(15)) zapisać algebraiczną zależność wiążącą moment napędowy z napięciem twornika:
τm ≈
kI
[ua − kE ωm ] .
R
(25)
Podstawiając powyższe równanie do modelu części mechanicznej (9) uzyskujemy uproszczone
(przybliżone) równanie dynamiki manipulatora PM1R w dwuwymiarowej przestrzeni stanu:
"
#
"
ωm
θ̇m
=
ω̇m
− J1 f (ωm ) −
kE kI
JR ωm
#
"
0
+
− Jη
0
kI
RJ
#"
τz
ua
#
⇒
ẋ∗ = f (x∗ ) + Bu,
(26)
gdzie x∗ = [θm ωm ]T jest zredukowanym wektorem stanu manipulatora PM1R oraz ponownie u a
jest sygnałem wejściowym o charakterze sterującym, a τ z jest sygnałem wejściowym o charakterze
zakłócenia zewnętrznego (oddziaływującego na ogniwo manipulatora). Zakładając liniowy model
tarcia (6) składnik f (ωm ) = b ωm i zależność (26) jest równaniem liniowym:
"
#
"
0
1
θ̇m
=
Rb+kE kI
0 − JR
ω̇m
#"
#
"
0
θm
+
ωm
− Jη
0
kI
RJ
#"
τz
ua
#
⇒
ẋ∗ = Ax∗ + Bu.
(27)
Można zatem wyprowadzić model obu interesujących nas torów dynamiki w postaci następujących
transmitancji operatorowych:
∆
G1 (s) =
Θm (s)
kI
=
,
Ua (s)
s[JRs + (Rb + kI kE )]
∆
G2 (s) =
Θm (s)
−ηR
=
,
Tz (s)
s[JRs + (Rb + kI kE )]
(28)
gdzie J oraz b zdefiniowano w (13).
Warto podkreślić, iż w pełnym modelu łączącym część mechaniczną i elektromagnetyczną
(zarówno w formie (20)-(21) jak i uproszczonej (26)) wejściowym sygnałem sterującym (fizycznie
realizowalnym) jest napięcie twornika u a , natomiast sygnałem wyjściowym (zmienną regulowaną)
jest pozycja kątowa θm . Model manipulatora PM1R z wydzielonymi blokami mechanicznym i
elektromagnetycznym przedstawia rys. 3. W tab. 1 zebrano ponadto wszystkie wielkości fizyczne
występujące w rozważanym modelu manipulatora wraz z jednostkami układu SI.
W praktyce mamy do czynienia z modelem nieco bardziej złożonym niż ten wynikający z
powyższej idealizowanej analizy. Musimy bowiem dodatkowo uwzględnić występowanie dwóch istotnych zjawisk, a mianowicie efektów nieliniowych wynikających z nasycenia sygnału napięcia
twornika oraz nasycenia wartości prądu twornika. Bloki nieliniowe reprezentujące wspomniane
2
Taka tendencja projektowa dominuje wśród producentów współczesnych napędów pradu stałego.
KSIS-PP: Laboratorium Sterowania Robotów – B
6
Rys. 3: Schemat blokowy modelu manipulatora PM1R dla sterowania pozycyjnego z wyróżnioną
częścią elektromagnetyczną (B1) oraz mechaniczną (B2).
efekty zaznaczono na rys. 4. Rysunek ten ukazuje także blok opóźnienia charakterystyczny dla
wzmacniaczy mocy stosowanych we współczesnych napędach 3 (wartość tego opóźnienia jest jednak pomijalnie mała), a również dodatkową pętlę regulacyjną z blokiem BOP (blok ograniczenia
prądu) spełniającą rolę zabezpieczenia przetężeniowego dla prądu twornika. Pętla ta może być
traktowana jako przezroczysta w trybie rozważanego wymuszenia napięciowego. Dodatkowo należy
zaznaczyć, że w zastosowanym napędzie pomiarowo dostępny jest jedynie sygnał pozycji wału
silnika θm , zatem sygnał prędkości ωm (jeżeli wymaga tego algorytm regulacji) musi być estymowany programowo (patrz kolejny punkt). Wspomniane względy każą traktować wyprowadzone
wcześniej modele jedynie jako przyjęte aproksymacje nieliniowego systemu z rys. 4.
Rys. 4: Schemat blokowy modelu manipulatora PM1R z uwzględnieniem wzmacniacza mocy
(WM ), bloku ograniczenia prądu (BOP) oraz bloków nasycenia (Sat) sygnałów wymuszających.
2
Układ sterowania
Zadaniem sterowania w systemie z manipulatorem PM1R będzie odtwarzanie zadanej (referencyjnej) pozycji kątowej θd definiowanej jako wartość odcinkami stała lub jako trajektoria pozycji
θd (t) (sygnał θd zmienny w czasie w sposób ciągły). Do realizacji tego zadania wykorzystamy
3
Tzw. H-mostków.
7
KSIS-PP: Laboratorium Sterowania Robotów – B
Tab. 1: Wielkości fizyczne modelu manipulatora wraz z jednostkami
Wielkość
J
f (ω)
τ
ω
θ
η
b
fC
ua
E
i
kI
kE
R
L
Opis
moment bezwładności (napędu/ogniwa)
moment siły tarcia
moment siły (napędowy/zakłócenia)
prędkość obrotowa (napędu/ogniwa)
pozycja (napędu/ogniwa)
współczynnik przełożenia przekładni
współczynnik tarcia wiskotycznego
moment siły tarcia statycznego (Coulomba)
napięcie twornika
napięcie indukowane w uzwojeniu twornika
prąd twornika
stała prądowa
współczynnik prędkościowy
rezystancja uzwojenia wirnika
indukcyjność uzwojenia wirnika
Jednostka
[kg m 2 ]
[Nm]
[Nm]
[obr/s]=[Hz]
[obr]
[-]
[Nm s/obr]
[Nm]
[V]
[V]
[A]
[Nm/A]
[V s/obr]
[ohm]
[H]
sterowanie będące sumą dwóch składników: sprzężenia od stanu u e (ściślej: sprzężenia od wektora uchybu śledzenia) oraz sprzężenia wyprzedzającego u F F . Implementacja układu sterowania
odbywać się będzie na platformie z procesorem sygnałowym TMS320F2812, zatem rozważone
zostaną dyskretne wersje poszczególnych składników sterowania obliczanych z przyjętym okresem próbkowania Tp .
2.1
Generator sygnałów referencyjnych
Zadaniem bloku generatora sygnałów referencyjnych (GSR) jest generowanie w czasie rzeczywistym sygnału zadanego pozycji θmd napędu manipulatora PM1R oraz odpowiednich pochodnych tego sygnału.
2.1.1
Sygnał zadany odcinkami stały
Jakkolwiek w zadaniach sterowania pozycyjnego manipulatorów nie stosuje się sygnałów zadanych
pozycji w postaci przebiegów prostokątnych 4 , to ze względów dydaktycznych sygnały takie będą
rozważone. Pozwoli to na porównanie jakości sterowania i realizacji ruchu w sytuacji, gdy sygnał pozycji zadanej posiada bądź nie posiada własności ciągłej różniczkowalności. W przypadku
sygnału zadanego θmd odcinkami stałego (czyli w postaci przebiegu prostokątnego), równania
generatora w dyskretnej dziedzinie czasu mają postać (przebieg symetryczny względem zera):
θmd (nTp ) =
(
+Θmd dla nTp ∈ [0, T2 )
,
−Θmd dla nTp ∈ [ T2 , T )
θ̇md (nTp ) ≡ 0,
(29)
θ̈md (nTp ) ≡ 0,
4
Realizacja przebiegów prostokątnych pozycji może prowadzić do ujawnienia zjawiska rezonansów strukturalnych
elementów manipulatora, a także zwykle skutkuje zwiększeniem kosztu energetycznego sterowania.
8
KSIS-PP: Laboratorium Sterowania Robotów – B
gdzie Θmd [obr] jest parametrem projektowym, a znak wartości tego parametru ulega zmianie co
pół okresu T zadanego przebiegu prostokątnego (T [s] jest drugim parametrem projektowym i
winien stanowić całkowitą wielokrotność okresu próbkowania T p ).
2.1.2
Sinusoidalna trajektoria zadana
W przypadku sygnału zadanego θmd w postaci przebiegu sinusoidalnego równania generatora w
dyskretnej dziedzinie czasu mają postać:
θmd (nTp ) = Θmd sin(wnTp ),
θ̇md (nTp ) = wΘmd cos(wnTp ),
(30)
2
θ̈md (nTp ) = −w Θmd sin(wnTp ),
gdzie Θmd [obr] oraz w[rad/s] są parametrami projektowymi trajektorii.
2.1.3
Wielomianowa trajektoria zadana
Jeżeli sygnał zadany θmd będzie zdefiniowany jako wielomian stopnia trzeciego, wówczas równania
generatora w dyskretnej dziedzinie czasu dla zadanych warunków początkowych θ md (0), θ̇md (0)
oraz zadanych warunków końcowych θ md (Tk ), θ̇md (Tk ) mają postać:
θmd (nTp ) = a0 + a1 · (nTp ) + a2 · (nTp )2 + a3 · (nTp )3 ,
θ̇md (nTp ) = a1 + 2a2 · (nTp ) + 3a3 · (nTp )2 ,
(31)
θ̈md (nTp ) = 2a2 + 6a3 · (nTp ),
gdzie
a0 = θmd (0),
a1 = θ̇md (0),
a2 =
3[θmd (Tk ) − θmd (0)] − [2θ̇md (0) + θ̇md (Tk )]Tk
,
Tk2
a3 =
2[θmd (0) − θmd (Tk )] + [θ̇md (0) + θ̇md (Tk )]Tk
,
Tk3
natomiast θmd (0), θmd (Tk ) [obr], θ̇md (0), θ̇md (Tk ) [obr/s] oraz Tk = kTp , k ∈ N są parametrami
projektowymi trajektorii (Tk [s] jest całkowitym czasem realizacji trajektorii).
2.2
Regulator ze sprzężeniem od stanu + sprzężenie wyprzedzające
Aby zrealizować cel sterowania zastosujemy algorytm sterowania ze sprzężeniem od błędu śledzenia 5
ue uzupełniony o składnik sprzężenia wyprzedzającego u F F :
∆
u = ue + uF F ,
∆
ue = kT e = [k1 k2 ]e,
(32)
gdzie e jest uchybem odtwarzania sygnałów referencyjnych (patrz dalej). Zastosowanie nominalnego sygnału sterującego uF F wynikającego z przebiegu sygnałów zadanych, zwanego sygnałem
sprzężenia wyprzedzającego6 , pozwala na znaczne polepszenie jakości sterowania szczególnie dla
5
Sformułowanie sprzężenie od stanu należy tutaj rozumieć jako sprzężenie od wektora błędu odtwarzania, który
jest wektorem stanu w przestrzeni błędu śledzenia.
6
W języku angielskim: Feed-Forward.
9
KSIS-PP: Laboratorium Sterowania Robotów – B
zadania odtwarzania sygnałów ciągłych i zmiennych w czasie (np. sinusoidalnych). Sposób obliczania sterowania wyprzedzającego uF F wynika z analizy teoretycznej równania błędu śledzenia.
Wyprowadzenie postaci sygnału uF F przeprowadzone zostanie dla zredukowanego rzędu modelu
manipulatora PM1R reprezentowanego równaniem (26), przy założeniu, że na układ nie oddziaływuje sygnał zakłócenia (τz ≡ 0):
"
#
"
ωm
θ̇m
=
1
ω̇m
− J f (ωm ) −
kE kI
JR ωm
#
+
"
0
kI
RJ
#
⇒
u
ẋ = f (x) + bu,
(33)
gdzie przez u oznaczyliśmy wejściowe napięcie sterujące (u ≡ u a , gdy rozważamy idealny wzmacniacz mocy o wzmocnieniu jednostkowym - patrz rys. 4). Zdefiniujmy uchyb odtwarzania jako:
∆
e = xd − x
⇒
" #
"
#
"
#
e1
x − x1
θ − θm
= 1d
= md
.
e2
x2d − x2
ωmd − ωm
(34)
Pochodną powyższego równania można zapisać w następujący sposób:
(33)
ė = ẋd − ẋ = ẋd − f (x) − bu = ẋd − f (xd − e) − bu.
(35)
Podstawiając do powyższego wyrażenia definicję (32), przyjmując nieliniowy model tarcia (7)
oraz rozpisując składnik f (xd − e) jako f (xd − e) = γ(ωmd , e2 ) − He, gdzie:
"
ωmd
γ(ωmd , e2 ) =
− J1 fC sign(ωmd − e2 ) −
Rb+kE kI
ωmd
JR
#
,
"
0
1
H=
I kE
0 − Rb+k
JR
#
(36)
otrzymujemy następujące równanie w dziedzinie błędu śledzenia:
ė = (H − bkT )e + [ẋd − γ(ωmd , e2 ) − buF F ] .
(37)
Składnik uF F sterowania (32) wynika teraz z założenia zerowania wyrażenia w nawiasie po prawej
stronie (37): uF F = (bT b)−1 bT [ẋd − γ(ωmd , e2 )]. Skoro jednak sterowanie wyprzedzające jest definiowane jako sterowanie nominalne wzdłuż trajektorii zadanej, to winno być ono określone dla
e ≡ 0, czyli także dla e2 ≡ 0. Zatem ostatecznie składnik uF F wynosi:
uF F
= (bT b)−1 bT [ẋd − γ(ωmd )] .
(38)
Dla symetrycznego modelu tarcia (7) w dyskretnej dziedzinie czasu mamy:
R
Rb + kI kE
uF F (n) =
θ̇md (n) + fC sign(θ̇md (n)) ,
J θ̈md (n) +
kI
R
(39)
natomiast dla modelu niesymetrycznego (8):
uF F (n) =

R
Rb1 + kI kE


J
θ̈
(n)
+
θ̇
(n)
+
f
sign(
θ̇
(n))

C1
md
md
md

 kI
R


R
Rb2 + kI kE



J θ̈md (n) +
θ̇md (n) + fC2 sign(θ̇md (n))
kI
R
dla θ̇md (n) > 0,
(40)
dla θ̇md (n) < 0.
Podstawienie zależności (38) do równania (37) skutkuje następującym równaniem układu zamkniętego
w dziedzinie błędu śledzenia:
ė = He,
T
H = (H − bk ) =
"
0
1
I k1
− kJR
kE +kI k2
− Rb+kIJR
#
,
(41)
10
KSIS-PP: Laboratorium Sterowania Robotów – B
w którym współczynniki k1 , k2 pozwalają na swobodne lokowanie wartości własnych macierzy
H zgodnie z założeniami projektowymi dotyczącymi jakości dynamicznej sterowania (przebiegu
przejściowego błędu śledzenia e).
Ostatecznie zatem w dyskretnej dziedzinie czasu sygnał sterujący (32) przyjmuje postać:
u(n) = k1 e1 (n) + k2 e2 (n) + uF F (n),
(42)
gdzie składnik uF F (nTp ) wynika z (39) lub (40) w zależności od przyjętego modelu tarcia oraz
(34)
e1 (n) = θmd (n) − θm (n),
2.3
(34)
e2 (n) = θ̇md (n) − θ̇m (n).
(43)
Nasycenie sygnału sterującego
W praktyce nie można fizycznie zrealizować dowolnej wartości sygnału sterującego. Ograniczenia
wynikają z dostępnej mocy zastosowanego wzmacniacza mocy napędu. Aby mieć dodatkową
możliwość programowego nasycania sygnału sterującego (42), czyli sprowadzania go do wartości
uSat , wprowadza się nieliniowy blok ograniczania sygnału, którego działanie definiuje poniższa
funkcja:


u > umax ,
 umax , gdy
∆
u,
gdy umin < u < umax ,
uSat = Sat(u, umax , umin ) =
(44)

 u
u 6 umin ,
min , gdy
gdzie założone wartości umin , umax (stanowiące dolne i górne ograniczenie sterowania) wynikają
z zastosowanego wzmacniacza mocy napędu lub mogą być nałożone sztucznie (programowo).
2.4
Estymator prędkości napędu
Zamknięcie sprzężenia zwrotnego od drugiej zmiennej stanu x 2 = ωm w docelowym układzie
sterowania (42) wymaga pomiaru rzeczywistej prędkości napędu θ̇m ≡ ωm manipulatora PM1R.
W dostępnym zestawie laboratoryjnym bezpośredni pomiar prędkości nie jest możliwy, ponieważ
system nie jest wyposażony w czujnik prędkości. Pomiarowo dostępny jest natomiast sygnał
pozycji wału silnika θm jako wyjście optycznego enkodera przyrostowego. Dysponując pomiarem
pozycji kątowej możemy przeprowadzić prostą estymację prędkości silnika realizując cyfrowe
różniczkowanie pozycji z filtracją dolnoprzepustową (filtracja pozwala na ograniczenie amplitudy szumu w sygnale estymowanym). Blok estymatora prędkości napędu (EPN) można opisać
następującą transmitancją:
∆
GEP N (s) =
Ωmf (s)
sΘmf (s)
s
≡
=
,
Θm (s)
Θm (s)
Tf s + 1
(45)
gdzie ωmf ≡ θ̇mf = L−1 {Ωmf } jest estymowaną (i filtrowaną) prędkością napędu, a T f [s] jest
stałą czasową definiującą pasmo przenoszenia filtru. Zastosowanie transformacji Eulera wstecz
do dyskretyzacji powyższej transmitancji daje w efekcie następujące równanie definiujące sposób
obliczania prędkości napędu:
θ̇mf (n) =
Tf
1
θ̇mf (n − 1) +
[θm (n) − θm (n − 1)].
Tf + T p
Tf + T p
(46)
Należy zwrócić uwagę, iż wprowadzenie bloku estymatora (45) implikuje pojawienie się dodatkowej inercji w torze sprzężenia zwrotnego, którego wpływ na jakość sterowania będzie tym
bardziej istotny, im większa zostanie przyjęta wartość stałej czasowej T f . Fakt ten należy także
uwzględnić podczas parametrycznej syntezy regulatora.
11
KSIS-PP: Laboratorium Sterowania Robotów – B
Wszystkie wyżej opisane bloki funkcjonalne układu sterowania przedstawia rys. 5. Powinny
one stanowić odpowiednie funkcje programu umieszczonego na pokładzie procesora TMS320F2812
wykonywane synchronicznie z założonym okresem pracy T p .
Rys. 5: Schemat blokowy układu sterowania pozycją manipulatora z zaznaczonym generatorem
sygnałów referencyjnych (GSR), sprzężeniem od stanu, sprzężeniem wyprzedzającym (FF), blokiem programowego nasycenia sterowania (Sat) oraz blokiem estymacji prędkości napędu (EPN).
B.1 Programowo wybrać tryb wymuszenia napięciowego. Ustawić ograniczenie prądowe na
wartości odpowiadającej 50% wartości maksymalnej.
B.2 Zaimplementować na pokładzie procesora DSP funkcję GeneratorSR() obliczającą w czasie rzeczywistym aktualne próbki sygnałów referencyjnych θ md , θ̇md , θ̈md dla wszystkich
trzech rodzajów sygnałów: odcinkami stałego, sinusoidalnego oraz wielomianowego – równania (29), (30), (31). Uwaga: przyjąć następujące zakresy parametrów:
|Θmd | 6 36[obr],
|θmd (Tk ) − θmd (0)| 6 36[obr],
w < 4[rad/s],
θ̇md (0) = θ̇md (Tk ) = 0.
B.3 Zaimplementować blok estymatora prędkości napędu
EstymatorVm(). Przyjąć stałą czasową inercji estymatora
(46)
w
postaci
funkcji
Tf ≈ 0.025[s].
Sprawdzić jakość estymacji prędkości napędu (również ze względu na wartość stałej T f ).
B.4 Zrealizować blok obliczeniowy regulatora (42) bez sprzężenia wyprzedzającego (u F F ≡ 0)
w postaci funkcji StateReg().
B.5 Zrealizować blok programowego nasycania sterowania w postaci funkcji USaturation() –
równanie (44). Przyjąć następujące wartości ograniczenia sygnału sterującego:
umin = −12[V],
umax = +12[V].
B.6 Przeprowadzić syntezę parametryczną regulatora ze sprzężeniem od stanu (u = u e = kT e)
w oparciu o wybrane kryterium odpowiedzi skokowej dla układu zamkniętego.
Zamknąć pętlę sprzężenia zwrotnego od wektora błędu śledzenia. Sprawdzić i porównać
jakość odtwarzania wszystkich dostępnych rodzajów sygnałów referencyjnych dla różnych
wartości nastaw regulatora.
12
KSIS-PP: Laboratorium Sterowania Robotów – B
B.7 Zaimplementować blok sprzężenia wyprzedzającego (40) (model tarcia (8)) w postaci
funkcji UFFBlok(), przy czym parametry f C1 , fC2 oraz b1 , b2 wyznaczyć doświadczalnie.
Załączyć sygnał sprzężenia wyprzedzającego u F F w tor sterowania (u = ue + uF F ) i
sprawdzić jakość odtwarzania dla wszystkich dostępnych sygnałów referencyjnych.
Wywołanie wszystkich bloków synchronizować okresem próbkowania
Tp = 0.001[s].
Podczas realizacji ćwiczenia analizować przebiegi
e1 (n), e2 (n), uSat (n), ue (n), uF F (n), θm (n), θmd (n).
następujących
sygnałów:
♦