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.