zastosowanie sztucznych sieci neuronowych do obliczania

Transkrypt

zastosowanie sztucznych sieci neuronowych do obliczania
Journal of KONES Internal Combustion Engines 2003, vol. 10, 3-4
CALCULATION OF SELECTED ENGINE PARAMETERS OF S.I.
ENGINE WITH THE USE OF NEURAL NETWORK WITH RADIAL
BASIS FUNCTION
Różycki Andrzej
e-mail: [email protected]
Politechnika Radomska
26-600 Radom, ul. Chrobrego 45
Abstract
The article presents the radial basis network architecture which was used to calculate the selected
parameters combustion process. For teaching the network on algorithm of back propagation errors were used.
The input and output teaching data files were received from the measurement and from the calculation was
based on the First Thermodynamics’ Law. The application of the radial basis network enabled to minimize the
input data files. In order to verify the structure of the net, the calculations of the accidentally chosen engine
cycles were carried out. Additionally, some calculation results obtained with the use of the feedforward
multilayer perceptron network were presented. Analysis of results obtained from calculation carried out with the
use of both methods shows that the radial basis network allows to reduce input data files and minimize
calculation errors.
SIEĆ NEURONOWA O RADIALNEJ FUNKCJI BAZOWEJ W
OBLICZENIACH WYBRANYCH PARAMETRÓW OBIEGU PRACY
SILNIKA SPALINOWEGO O ZAPŁONIE ISKROWYM
Streszczenie
W artykule przedstawiono architekturę sztucznej sieci neuronowej o radialnej funkcji bazowej, którą wykorzystano do obliczeń wybranych parametrów procesu spalania. W procesie uczenia sieci zastosowano algorytm
propagacji wstecznej. Wejściowe i wyjściowe zbiory uczące zastosowane do trenowania sieci uzyskano z pomiarów wykonanych na stanowisku hamownianym oraz z metody bazującej na pierwszej zasadzie termodynamiki.
Zastosowanie sieci neuronowej o radialnej funkcji bazowej pozwoliło zminimalizować zbiory wejściowe. W celu
weryfikacji struktury sieci przeprowadzono obliczenia dla przypadkowo wybranych przebiegów ciśnień. Wyniki
obliczeń przeprowadzonych przy użyciu sieci neuronowej wykazały dużą zbieżność z obliczeniami za pomocą
wspomnianej wyżej metody. Dodatkowo przedstawiono porównanie wyników obliczeń otrzymanych przy pomocy
sieci jednokierunkowej wielowarstwowej. Z porównania wynika, że zastosowanie sieci o radialnej funkcji bazowej pozwala na znaczne zredukowanie wielkości zbiorów uczących przy jednoczesnym zmniejszeniu błędów
obliczeń. Również czas uczenia sieci neuronowej uległ znacznemu skróceniu.
Wykaz oznaczeń
SSN
RBF
KWCM CM
KKS
KWPD
JWSN
sztuczna sieć neuronowa,
sieć neuronowa o radialnej funkcji bazowej
kąt występowania ciśnienia maksymalnego,
ciśnienie maksymalne,
kąt końca spalania,
kąt wypalenia połowy dawki paliwa,
jednokierunkowa wielowarstwowa sieć neuronowa.
Wstęp
Coraz wyższe standardy emisji składników toksycznych spalin oraz dążenie do zmniejszania jednostkowego zużycia paliwa są głównym stymulatorem rozwoju zaawansowanych sys-
temów sterowania silnika spalinowego. Konwencjonalne systemy sterowania silnikiem wyposażone w wiele czujników monitorujących stan silnika i stosujące procedury sterowania oparte na mapach zapisanych w pamięci komputera pokładowego w coraz mniejszym stopniu zapewniają jego efektywną pracę. Z tego powodu prowadzone są prace badawcze sprawdzające
możliwości wykorzystania w algorytmach sterowania silnikiem parametrów związanych bezpośrednio z procesem spalania. Parametry te można obliczać z przebiegów ciśnienia w cylindrze. Efektywne zastosowanie tego typu parametrów było niemożliwe z dwóch powodów:
•
zbyt dużych kosztów aparatury pomiarowej,
•
zbyt dużego czasu obliczeń.
Obecnie dzięki szybkiemu rozwojowi aparatury pomiarowej opartej na tanich i wytrzymałych czujnikach ciśnienia wykonanych na bazie światłowodu [1], pierwszy z wyżej wymienionych powodów staje się nieaktualny. Drugi z wyżej wymienionych powodów możliwy jest
do wyeliminowania, gdy do obliczania wybranych parametrów procesu spalania zastosuje się
sztuczną sieć neuronową (SSN). Znane są już opracowania opisujące sterowanie mocą silnika
przy wykorzystaniu takich parametrów obiegu pracy jak: kąt występowania ciśnienia maksymalnego w cylindrze, kąt wypalenia połowy dawki paliwa [2,3].
Również, możliwość obliczania ww. parametrów w czasie rzeczywistym umożliwi tworzenie wirtualnych sensorów wykorzystywanych do przewidywania emisji silników bezpośrednio w trakcji. Wymóg ten związany jest z wprowadzaniem kolejnej generacji systemu
diagnostyki pokładowej OBD.
W prezentowanym artykule opisano SSN o radialnej funkcji bazowej RBF, która na podstawie danych wejściowych w postaci zbioru ciśnień w cylindrze, zmierzonych w trakcie jednego cyklu pracy, oblicza takie parametry, jak: kąt występowania ciśnienia maksymalnego
(KWCM), wartość ciśnienia maksymalnego (CM), kąt końca spalania (KKS), kąt wypalenia
połowy dawki paliwa (KWPD).
Analiza obliczeń ww. parametrów za pomocą jednokierunkowej sieci wielowarstwowej
opisana w [4] doprowadziła do sformułowania następujących wniosków:
•
należy zmniejszyć zbiory wejściowe co pozwoli uprościć strukturę sieci,
•
należy wyeliminować z obliczeń kąt początku spalania ze względu na duże błędy.
Zmniejszenie zbiorów wejściowych polegało na zmodyfikowaniu wektorów wejściowych
ciśnień do 54 wartości odpowiadającym procesowi spalania skupionych w okolicach jego
punktów charakterystycznych, do których zaliczono: kąt wyprzedzenia zapłonu, GMP oraz
80oOWK po GMP. Jednakże wyniki obliczeń uzyskane przy użyciu jednokierunkowej sieci
wielowarstwowej obarczone były dużymi błędami. Dużo lepsze wyniki uzyskano stosując
sieć o RBF. Dodatkową zaletą sieci o RBF było znaczne zwiększenie szybkości uczenia sieci.
1. Struktura sieci neuronowej
Do eksperymentów numerycznych została wytypowana sieć neuronowa o radialnych funkcjach bazowych. Składa się ona z warstwy wejściowej o R=54 wejściach, na które podawane
są wektory P wartości ciśnień w cylindrze (zawarte w zbiorach wejściowych), warstwy ukrytej zawierającej S1=54 neurony typu „radbas” oraz warstwy wyjściowej zawierającej S2=4
neurony typu „purelin” rys.1. Na wyjściu z SSN otrzymuje się wektory T wartości opisanych
wyżej parametrów procesu spalania (w procesie trenowania sieci wektory T zebrane są w
zbiorze wyjściowym).
Uczenie i badania symulacyjne SSN wykonano w programie MATLAB 6.1 wyposażonym
w narzędzie nn (neural network). W programie dostępne są neurony z funkcjami aktywacji
typu „radbas” i „purelin”, które przedstawiono na rys.2.
Na wejścia PR SSN (rys.1) podawane były przebiegi ciśnienia zawarte w przedziałach kątowych obejmujących charakterystyczne punkty procesu spalania. Liczba wejść SSN wynika
z ilości pomiarów wykonywanych w zakresie tych kątów. Całkowity przedział kątowy był
dobrany w taki sposób, aby rozpoczynał się kilkanaście stopni OWK przed zapłonem natomiast kończył kilkanaście stopni przed otwarciem zaworu wylotowego.
warstwa
wejściowa
P1
warstwa ukryta o radialnych funkcjach
bazowych
S1 * R
warstwa wyjściowa z funkcjami
liniowymi
a
IW 1,1
P2
P3
1
S1 * 1
dist
S1 * 1
*
2
1
S2 * S1
S1 * 1
Σ
S2 * 1
S2 * 1
b2
P
R
b1
S1 * 1
T
IW2,1
S*1
2
S1
S2
Rys.1. Struktura sieci neuronowej o radialnej funkcji bazowej
Fig.1. Radial basis network architecture
Rys.2. Funkcje aktywacji typu radbas i purelin [6]
Fig.2. Radial basis and purelin function [6]
Dobrane w taki sposób zakresy kątowe historii ciśnienia obejmują z pewnym zapasem cały
proces spalania. Wyjątkiem mogą być tylko cykle pracy, w których proces spalania nie został
zakończony. Struktura sieci neuronowej została wygenerowana w sposób automatyczny w
programie Matlab. Zależy ona jedynie od wektora wejściowego ciśnień P oraz od wektora
wyjściowego parametrów procesu spalania T.
2. Zbiory uczące
Prawidłowe wytrenowanie SSN, które umożliwiałoby szybkie obliczenia wybranych parametrów obiegu pracy jest pracochłonne ze względu na konieczność tworzenia zbiorów
uczących wejściowych i wyjściowych obejmujących cały zakres pracy silnika. W prezentowanym artykule ograniczono się do utworzenia zbioru uczącego składającego się z przebiegów ciśnień uśrednionych z 200 kolejnych cykli pracy silnika. Ciśnienia mierzone były w
wybranych punktach charakterystyk regulacyjnych składu mieszanki (współczynnik nadmiaru
powietrza w zakresie 0.9 do 1.5) dla dwóch kątów wyprzedzenia zapłonu 360 i 480 oraz dla
prędkości obrotowej 3000 obr/min. Opisana procedura pozwalała na utworzenie zbioru wejściowego zawierającego 54 kolumny z przebiegami ciśnień. Liczba wierszy w zbiorze była
równa liczbie kolumn i zależała od przedziałów kątowych. Zawartość zbioru uczącego przedstawiono w sposób graficzny na wykresie (rys.2).
Ciśnienia w cylindrze użyte do uczenia sieci zawarte są w trzech przedziałach kątowych
obrotu wału korbowego. Pierwszy przedział kątowy od 310÷340 oOWK obejmuje okolice
kątów wyprzedzenia zapłonu. Drugi przedział od 356÷380 oOWK obejmuje okolice GMP i
okolice kąta występowania ciśnienia maksymalnego. W trzecim przedziale od 420÷440
o
OWK zawarte są okolice końca spalania.
3.0
ciśnienie, MPa
2.5
2.0
1.5
1.0
0.5
0.0
310
320
330
340
350
360
370
380
390
400
410
420
430
440
kąt obrotu wału korbowego, o OWK
Rys.3. Historie ciśnienia zawarte w zbiorach uczących
Fig.3. Cylinder pressure diagram contained in teaching data files
a)
3
5
b)
CM1
4
KKS1
ciśnienie w cylindrze, [MPa]
3
CM2
2
1.5
0.5
KWCM2
1
KWCM1
ciśnienie w cylindrze, [MPa]
2.5
0
350
360
370
380
390
400
410
420
kąt obrotu wału korbowego, [oOWK]
430
440
450
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
30
40
50
60
70
80
90
100
objętość, [cm3]
200
3
110
100
90
80
70
60
50
40
30
KWPDP2
c)
340
1.00.9
KWPDP1
330
stopień wypalenia dawki paliwa, [%]
320
KKS2
2
20
10
0
-10
320
330
340
350
360
370
380
kąt obrotu wału korbowego, [oOWK]
390
400
410
Rys.4. Graficzna ilustracja obliczanych parametrów obiegu pracy: a) ciśnienia maksymalne CM i kąty występowania ciśnień maksymalnych KWCM, b) kąty końców spalania KKS, c) kąty wypalenia połowy dawki paliwa KWPDP. Indeks 1 - kąt wyprzedzenia zapłonu 480 i współczynnik nadmiaru powietrza λ = 0.9, indeks 2 - obieg pracy kąt wyprzedzenia zapłonu 360, λ = 1.5
Fig.4. Ilustration of calculation of engine cycle parameters: a) peak pressure CM and location of peak pressure
KWCM, b) location of the end of combustion KKS, c) location of burning of 50% fuell mass KWPDP. Index 1 – ignition timing is 48o before top dead centre (BTDC) and air excess coefficient λ = 0.9, index 2 –
ignition timing is 36o before top dead centre (BTDC) and air excess coefficient λ = 1.5
Zbiory uczące wyjściowe zawierające wartości czterech wytypowanych parametrów obiegu pracy (rys.3) otrzymano z obliczeń przeprowadzonych przy użyciu programu komputerowego napisanego w pakiecie MATHCAD2000. Program ten oparty jest algorytmie wykorzy-
stującym metodę obliczania parametrów obiegu pracy opisaną w [6].
3. Archiwizacja danych
Do archiwizacji danych wykorzystano stanowisko pomiarowe wyposażone: w silnik
170.A000 montowany seryjnie w samochodzie FIAT Cinquecento 700, hamulec elektrowirowy Wibrometer 3WB15, dawkomierz paliwa PG80, analizator spalin DIGAZ 465 oraz
komputerowy system do pomiaru ciśnień w cylindrze silnika opracowany i wykonany w Zakładzie Silników Spalinowych i Pojazdów Politechniki Radomskiej. Dokładny opis stanowiska pomiarowego zawierają prace [7, 8]. Dane techniczne silnika przedstawiono w tabeli 1.
Tabela 1. Parametry techniczne silnika 170.A000
Moc maksymalna
Ilość cylindrów
Objętość skokowa
23kW
2 w tym jeden wyłączony z pracy
352 cm3
Średnica cylindra
Skok tłoka
Stopień sprężania
80 mm
70 mm
9
4. Wyniki trenowania sieci
Trenowanie sieci odbywało się przy pomocy zbioru wejściowego (wektory P) i
wyjściowego (wektory T) zawierającego dane opisane w rozdziale 2. Wyniki wytrenowania
sieci, czyli możliwość obliczania parametrów procesu spalania na podstawie danych
zawartych w wejściowych zbiorach uczących jest zgodna z danymi zawartymi w
wyjściowych zbiorach uczących, współczynniki korelacji równe 1. Świadczy to o bardzo
dobrej zdolności SSN o radialnej funkcji bazowej do rozpoznawania parametrów procesu
spalania na podstawie przebiegu ciśnień ograniczonego do wybranych zakresów kątowych
obrotu wału korbowego.
W celu zbadania zdolności do uogólniania (generalizacji) wytypowanej SSN
przeprowadzono eksperyment numeryczny polegający na próbie obliczenia omawianych
parametrów procesu spalania na podstawie zbiorów wejściowych utworzonych z losowo
wybranych, spośród 200 przebiegów ciśnień mierzonych w kolejnych cyklach pracy silnika,
dla wytypowanych punktów charakterystyki regulacyjnej składu mieszanki. Charakterystyki
regulacyjne, jak wspomniano w poprzednich rozdziałach, sporządzane były dla dwóch kątów
wyprzedzenia zapłonu. Pozwoliło to na utworzenie dwóch zbiorów testujących działanie
sieci, które nie brały udziału w trenowaniu SSN. Wyniki obliczeń zestawiono na wspólnych
wykresach (rys.4) z danymi otrzymanymi z programu komputerowego (rozdział 2).
Do analizy dokładnosci wykorzystano współczynniki korelacji (Pearsona) obliczane przy
pomocy funkcji corr dostępnej w pakiecie MATHCAD.
Obliczone wartości współczynników korelacji pozwalają na sformułowanie następujących
wniosków:
•
najlepsze dopasowanie wyników obliczeń zachodzi dla ciśnień maksymalnych obiegu,
kątów występowania ciśnień maksymalnych, kątów końca spalania oraz kątów
wypalenia połowy dawki paliwa (współczynniki korelacji powyżej 0.9),
•
nieco mniejsze jest dopasowanie wyników w przypadku kątów końca spalania
(współczynniki korelacji 0.7 i 0.846), może to być wynikiem błędów związanych z
rozdzielczością karty analogowo-cyfrowej.
obliczenia mathcad
symulacja SSN
obliczenia mathcad
symulacja SSN
480
a)
kor=0.7
520
480
440
KKS
KKS
a)
kor=0.846
460
560
420
440
400
400
360
380
320
0
10
20
30
40
50
0
60
10
20
30
40
50
60
40
50
60
400
390
390
kor=0.956
KWPD
KWPD
380
370
360
360
340
0
10
20
30
40
50
0
60
10
20
30
3.2
3.2
2.8
2.8
kor=0.999
2.4
CM
CM
370
350
350
kor=0.997
2.4
2
2
1.6
1.6
1.2
1.2
0
10
20
30
40
50
0
60
10
20
30
40
50
60
40
50
60
390
388
kor=0.941
384
kor=0.91
380
KWCM
KWCM
kor=0.928
380
376
372
380
370
368
360
364
0
10
20
30
40
numer wiersza w zbiorze wejściowym
50
60
0
10
20
30
numer wiersza w zbiorze wejściowym
Rys.4. Wyniki obliczeń wybranych parametrów obiegu pracy wykonanych w pakiecie: a) MathCad,
b) za pomocą SSN o RBF
Fig.4. Results of engine cycle parameters calculation prepared by means of: a) Mathcad, b) SSN o RBF.
5. Obliczenia przy użyciu sieci jednokierunkowej wielowarstwowej
W obliczeniach parametrów procesu spalania używana jest również jednokierunkowa wielowarstwowa sieć neuronowa o wstecznej propagacji (JWSN). Strukturę takiej sieci i wyniki
jej wytrenowania przedstawiono w [4]. W celu porównania dokładności obliczania ww. parametrów obiegu pracy przez obydwie struktury SSN przeprowadzono proces trenowania
(uczenia) JWSN wykorzystując te same zbiory wejściowe i wyjściowe. Następnie wykonano
obliczenia parametrów obiegu pracy stosując te same zbiory wejściowe. Podobnie jak w
przypadku SSN o RBF wyniki obliczeń zestawiono na wspólnych wykresach (rys.5) z danymi
otrzymanymi z programu komputerowego napisanego w środowisku pakietu MATHCAD
(rozdział 2) i obliczono współczynniki korelacji. Jak wynika z wykresów oraz z wartości
współczynników korelacji JWSN wykazuje mniejszą dokładność obliczeń wytypowanych
parametrów obiegu pracy.
6. Wnioski
Otrzymane wyniki obliczeń wykonanych przy użyciu SSN o RBF pozwalają na sformułowanie następujących wniosków:
•
zaprezentowana struktura może być wykorzystana w algorytmach sterujących pracą silnika, które bazują na parametrach obiegu pracy,
•
zastosowanie sieci neuronowej o radialnej funkcji bazowej pozwoliło zmniejszyć zbiór
wejściowy ciśnienia w cylindrze do zakresów kątowych zawierających wartości ciśnień
skupione wokół charakterystycznych położeń wału korbowego odpowiadających początkowi spalania, GMP i końcowi spalania,
zmniejszenie pojemności zbioru wejściowego ciśnień pozwoliło na zmniejszenie rozmiaru struktury sieci neuronowej i w konsekwencji zmniejszenie czasu uczenia się sieci,
znacznie większe dokładności obliczeń, w porównaniu z jednokierunkową wielowarstwową siecią neuronową, wykazuje sieć o radialnej funkcji bazowej.
•
•
obliczenia mathcad
symulacja SSN
obliczenia mathcad
symulacja SSN
460
a)
700
a)
kor=0.829
600
KKS
KKS
440
420
kor=-0.273
500
400
400
380
0
10
20
30
40
50
60
0
380
KWPD
KWPD
30
40
50
60
kor=-0.053
360
kor=0.962
350
380
360
340
340
320
0
10
20
30
40
50
60
0
3.2
10
20
30
40
50
60
20
30
40
50
60
50
60
3.2
2.8
2.8
kor=0.99
2.4
CM
CM
20
400
370
2
2.4
2
kor=0.964
1.6
1.6
1.2
1.2
0
10
20
30
40
50
60
0
390
10
390
385
380
kor=0.936
380
KWCM
KWCM
10
420
375
370
kor=0.222
360
370
365
350
0
10
20
30
40
numer wiersza w zbiorze wejściowym
50
60
0
10
20
30
40
numer wiersza w zbiorze wejściowym
Rys.5. Wyniki obliczeń wybranych parametrów obiegu pracy wykonanych w pakiecie: a) MathCad,
b) za pomocą JWSN
Fig.5. Results of engine cycle parameters calculation prepared by means of: a) Mathcad, b) JWSN.
Literatura
[1] Poorman, T. J., Kalashnikov, S., Wlodarczyk, M. T. and Danielson, E.: In-cylinder fiberoptic pressure sensor for engine monitoring and control. In Spring Technical Conference, ASME ICE-Vol. 26-2, Vol. 2, 1996.
[2] Park', S., Yoon P., Sunwoo M.: Feedback error learning neural networks for spark advance control using cylinder pressure. Proc Instn Mech Engrs Vo 215 Part D.
[3] Miller, R. and Hemberger, H.-H. Neural adaptive ignition control. SAE paper 981057,
1998.
[4] Różycki A.: Zastosowanie sztucznych sieci neuronowych do obliczania wybranych parametrów obiegu pracy silnika spalinowego zapłonie iskrowym. KONES’2002, Jurata,
2002
[5] Różycki A.: Obliczenia wybranych parametrów procesu spalania w kolejnych cyklach
pracy silnika o zapłonie iskrowym, Autoprogress-Konmot2002, Pasym 2002.
[6] Demuth H., Beale M.: Neural network toolbox for use with MATLAB, User Guide
Version 4.
[7] Różycki A.: System do pomiarów wielkości szybkozmiennych w zastosowaniu do badań
silnikowych. Silniki Spalinowe nr 115, Poznań, 1995.
[8] Różycki A.: Microkomputer system for measurement of high speed parameters for IC
engines. Bratislava 2001 8th EAEC Congres, Bratislava 2001, paper n° SAITS 01196.