You are on page 1of 4

Laboratorium nr 2:

Optymalizacja i Wspomaganie Decyzji 2023


Kierunek: Automatyka i Systemy Sterowania - studia inżynierskie
Optymalizacja parametrów regulatora PID za pomocą metod numerycznych optymalizacji

Cel ćwiczeń laboratoryjnych:


Zastosowanie algorytmów optymalizacji numerycznej do doboru parametrów regulatora PID na przykładzie
optymalizacji układu sterowania kursem statku z modelem Nomoto I rzędu.

Wiadomości wstępne:
Schemat układu sterowania kursem statku:

Rys.1 Schemat układu regulacji kursem statku z modelem Nomoto

𝜓 - zmienna regulowana/kurs statku;


𝜓𝑟 - zadany skokowo kurs statku;
𝜓𝑑 - zadana trajektoria referencyjna kursu;
𝛿 - sygnał sterujący/kąt wychylenia steru;
𝛿𝑐 – zadany kąt wychylenia steru;

Poszczególne bloki schematu na Rys. 1 i parametry przedstawiają odpowiednio:

• Model Nomoto I rzędu:


Równanie w postaci transmitancji:

(1)

Równanie w dziedzinie czasu:

Schemat blokowy:

Uwaga! Parametry K, T różnią się dla różnych typów statków. W modelu Nomoto, przy prędkości postępowej
statku 8.1m/s można przyjąć parametry K=-0.019 T=-153.7.

• Model referencyjny:
Równanie w postaci transmitancji drugiego rzędu:

Schemat blokowy:
Laboratorium nr 2:
Optymalizacja i Wspomaganie Decyzji 2023
Kierunek: Automatyka i Systemy Sterowania - studia inżynierskie

gdzie 𝜔n =0.03 rad/s reprezentuje częstotliwość sygnału, natomiast 𝜁 = 1 reprezentuje współczynnik


tłumienia. Do optymalizacji można przyjąć sygnał zadany kursu 𝜓r skokowo zmieniający się według
wartości [100: 30o: 20o] co 1500 sekund. Przyjąć wartości początkowe kursu zadanego w chwili t0=00.

• Dynamika maszyny sterowej:

W układzie sterowania blok „Ruder system” reprezentuje urządzenie wykonawczo-sterujące – maszynę


sterową.
Schemat maszyny sterowej:

W bloku „Rudder angle limit” przyjąć ograniczenie na maksymalną amplitudę sygnału sterującego |𝛿| ≤
30𝑜 . W bloku „Rudder angle response speed” przyjąć maksymalną prędkość zmiany tego sygnału |𝛿̇ | ≤
2.33𝑜 /𝑠 .

• Regulator PID:

Równanie regulatora:

Parametry regulatora PID można wyznaczyć na drodze analitycznej, z następujących wzorów (szczegóły
[literatura]):

przyjmują następujące wartości:


Laboratorium nr 2:
Optymalizacja i Wspomaganie Decyzji 2023
Kierunek: Automatyka i Systemy Sterowania - studia inżynierskie
ZADANIA DO WYKONANIA
Część 1.

1. Zamodelować w Matlab/Simulink układ regulacji kursem statku 𝜓, z regulatorem typu PID (o


wzmocnieniu całkującym KI, proporcjonalnym KP i różniczkującym KD) i modelem inercyjnym
pierwszego rzędu (Rys.1). Wykorzystaj Matlab file o nazwie nomoto_model.slx.
2. Przeprowadzić eksperymenty w celu określenia ograniczeń na zakres zmiany wartości zmiennych
decyzyjnych (parametrów regulatora PID) i w celu doboru wartości początkowych parametrów
regulatora PID. W tym celu należy przebadać pewien procent odchylenia parametrów regulatora od
wartości wyliczonych analitycznie).
3. Sformułować zadanie optymalizacji parametrów regulatora PID (funkcja celu, zmienne decyzyjne,
ograniczenia).
4. Napisać skrypt optymalizujący parametry regulatora PID, minimalizując wskaźnik jakości regulacji Jc,
na przyjętym horyzoncie czasowym.

Szczegóły – wskazówki, poszczególne kroki:

1. Używając bloku ToWorkspace, wyprowadzić do przestrzeni roboczej sygnał uchybu regulacji oraz
sygnału regulowanego (error oraz y).
2. Napisać osobno 4 funkcje. Będą one potrzebne w procesie optymalizacji.
ise = fCalculateISE (gain)
itae = fCalculateITAE (gain)
iae = fCalculateIAE (gain)
error = fCalculateError (gain)

które w wyniku dadzą wartości wskaźnika jakości typu ISE, ITAE, IAE oraz funkcję zwracającą wektor
błędów regulacji, na przyjętym horyzoncie czasowym. Na wejściu funkcji będzie podawany wektor gain
parametrów regulatora PID (gain= [KI, KP, KD]).

Przykład:

• Zdefiniuj dwie funkcje:


%funkcja pobierająca błąd regulacji z modelu symulacyjnego Nomoto (model_nomoto.slx)

function [time, y, error] = fSim_plant_and_actuator(P_pid, I_pid, D_pid)


P = P_pid;
I = I_pid;
D = D_pid;
simOut = sim('model_nomoto.slx',...
'SaveOutput','on',...
'OutputSaveName','outSignals',...
'SrcWorkspace','current');
time = simOut.get('tout'); % czas
outSignals = simOut.get('outSignals'); %funkcja pobierająca
%sygnał wyjściowy z workspace
y = outSignals.signals(2).values; %wyjscie nr 2/kurs
error = outSignals.signals(1).values; %wyjście nr 1 error
end

%funkcja wyliczająca wartości funkcji celu na podstawie parametrów regulatora PID.


function ise = fCalculateISE(gain)
[~,~,error] = fSim_plant_and_actuator(gain(1), gain(2), gain(3));
ise = sum(error.^2); % wyliczenie wartości funkcji ISE
end
Laboratorium nr 2:
Optymalizacja i Wspomaganie Decyzji 2023
Kierunek: Automatyka i Systemy Sterowania - studia inżynierskie
• Sprawdź działanie:

%Ustaw parametry regulatora na wartości wyznaczone analitycznie


gain=[7.2805, 0.0218, 538]);
%Uruchom symulację
>>fSim_plant_and_actuator(gain(1), gain(2), gain(3));
%Odczytaj wartość funkcji celu ISE
>> fCalculateISE(gain)
• Przetestuj dla różnych wartości parametrów regulatora z przyjętego zakresu ograniczeń.

Część 2:
1. Napisać skrypt, przeprowadzający optymalizację (dobór parametrów regulatora PID) zamodelowanego
układu regulacji

• osobno dla każdej skokowo zadanej wartości kursu 10, 30, 20 na horyzoncie czasowym (1500 sekund).
• na całym przyjętym horyzoncie czasowym (4500 sekund), uwzględniając sygnał skokowo zmienny.

minimalizując wskaźniki jakości regulacji (Jc). Do rozwiązania problemu optymalizacji użyć


następujących funkcji Matlaba: fminsearch, lsqnonline, fmincon, wywołując je ze strukturą:
options=optimset('Display','iter'). Dla funkcji lsqnonline i fmincon przyjąć ograniczenia dolne i górne na
wartości parametrów regulatora PID.
1. Przeprowadzić analizę efektywności pracy algorytmów optymalizacji dla różnych
a) wartości początkowych parametrów regulatora PID.
b) wskaźników jakości regulacji (ISE, ITAE, IAE)
c) ustawień parametrów stopu użytych algorytmów optymalizacji w funkcjach fminsearch, lsqnonline,
fmincon.
2. Narysować wykres zmiany wartości funkcji celu w poszczególnych generacjach algorytmu
numerycznego optymalizacji.
3. Narysować wykres zmiany wartości parametrów regulatora PID w poszczególnych generacjach
algorytmu numerycznego optymalizacji.
4. Porównać charakterystyki wyjściowe układu regulacji dla optymalnych wartości parametrów regulatora
oraz uzyskanych metodą symulacyjną lub inżynierską.

Dodatkowe materiały pomocnicze:

1. Wykłady z Optymalizacja i Wspomaganie Decyzji


2. Pliki przykładowe.
3. Literatura.

You might also like