WCD-20 spark diagnostic
Eteläpää, Arttu (2021-02-10)
Eteläpää, Arttu
10.02.2021
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe202102104377
https://urn.fi/URN:NBN:fi-fe202102104377
Tiivistelmä
Spark plugs are used to ignite the fuel in the Wärtsilä’s SG engine ignition process and over-time they can suffer from various conditions such as wearing and fouling. More diagnostic information about the health condition of the spark plugs is needed and machine learning can be used to train a model with data from spark plugs to find the underlying relationship between the created model’s inputs and outputs. This thesis evaluates if machine learning can be used to provide such diagnostic information from the WCD-20 engine module data, and as a result a concept machine learning model is implemented and tested.
The machine learning model is first designed, and the chosen learning technique and algorithm are supervised learning and neural network, respectively. The designed machine learning model classifies spark plugs into three different classes based on the input features, and these classes present the health conditions of the spark plugs. The data for the model’s training and validation processes is gathered by testing spark plugs in different conditions with a spark plug test rig machine. During this testing, the spark plugs are labeled into the three different classes according to their conditions. The machine learning model is implemented with Python programming language using Tensorflow library, and after implementing and training, the model is saved and downloaded into an engine module. The engine module’s source code is programmed to be able to run the machine learning model.
The machine learning model’s accuracy is tested, and it achieves an overall accuracy of 82% when testing it with unseen data. The model has a high recall value for the output class that presents the spark plugs in good condition, but the model does not classify the spark plugs that are in bad condition as well. The model increases the overall CPU usage of the used engine module by 4,3%, which is relatively high, and this is due to the many matrix multiplication that are performed in the model’s dense layers for each spark plug separately. Based on these results it is evident that spark plug health condition can be generally diagnosed by using machine learning, but some misclassifications can still occur. Sytytystulppia käytettään Wärtsilän SG moottoreissa sytyttämään polttoaine, ja ajan kuluessa ne voivat kärsiä monenlaisista kuntoa heikentävistä asioista, kuten likaantumisesta ja kulumisesta. Sytytystulppien kunnosta tarvitaan lisää diagnostiikka informaatioita ja koneoppimisen avulla voidaan kouluttaa malli mikä käyttää sytytystulpista saatavaa dataa löytääkseen suhteen luodun mallin sisään- ja ulostulojen välillä. Tämä opinnäytetyö arvio koneoppimisen soveltuvuutta tuottamaan tarvittavaa diagnostiikka informaatioita sytytystulpista WCD-20 moottorimoduulista saatavalla datalla, ja lopputuloksena konsepti koneoppimismalli toteutetaan ja testataan.
Koneoppimismalli suunnitellaan ensimmäisenä ja valittu koneoppimisen oppimistekniikka ja algoritmi ovat valvottu oppiminen ja hermoverkko. Suunniteltu koneoppimismalli luokittelee sytytystulppia kolmeen eri luokkaan valittujen sisäänmeno piirteiden perusteella, ja nämä luokat edustavat sytytystulppien kunnon tiloja. Koneoppimismallin opetuksessa käytetty on kerätty testaamalla erikuntoisia sytytystulppia käyttäen sytytystulppien testaus laitteistoa. Näiden testien aikana sytytystulpat luokitellaan kolmeen eri luokkaan niiden kunnon perusteella. Koneoppimismalli toteutetaan ja koulutetaan käyttäen Python ohjelmointikieltä ja Tensorflow kirjastoa, mikä jälkeen malli tallennetaan ja ladataan moottorimoduulille. Moottorimoduulin lähdekoodia ohjelmoidaan siten että se pystyy käyttämään koneoppimismallia.
Koneoppimismallin tarkkuus testataan ja se saavuttaa 82 %:n kokonaistarkkuuden testattaessa sitä ennennäkemättömällä datalla. Mallilla on korkea herkkyysarvo ulostuloluokalle mikä edustaa sytytystulppia hyvässä kunnossa, mutta malli ei luokittele huonokuntoisia sytytystulppia yhtä hyvin. Malli kasvattaa prosessorin käyttöastetta 4,3 %, mikä on melko korkea lisäys. Tämä lisäys johtuu monista matriisien kertolaskuista mitkä suoritetaan mallin tiheissä kerroksissa jokaiselle sytytystulpalle erikseen. Näiden tuloksien perusteella koneoppimista voidaan yleisesti käyttää sytytystulppien kunnon luokittelemiseen, mutta vääriä luokittelutuloksia voi silti tapahtua.
The machine learning model is first designed, and the chosen learning technique and algorithm are supervised learning and neural network, respectively. The designed machine learning model classifies spark plugs into three different classes based on the input features, and these classes present the health conditions of the spark plugs. The data for the model’s training and validation processes is gathered by testing spark plugs in different conditions with a spark plug test rig machine. During this testing, the spark plugs are labeled into the three different classes according to their conditions. The machine learning model is implemented with Python programming language using Tensorflow library, and after implementing and training, the model is saved and downloaded into an engine module. The engine module’s source code is programmed to be able to run the machine learning model.
The machine learning model’s accuracy is tested, and it achieves an overall accuracy of 82% when testing it with unseen data. The model has a high recall value for the output class that presents the spark plugs in good condition, but the model does not classify the spark plugs that are in bad condition as well. The model increases the overall CPU usage of the used engine module by 4,3%, which is relatively high, and this is due to the many matrix multiplication that are performed in the model’s dense layers for each spark plug separately. Based on these results it is evident that spark plug health condition can be generally diagnosed by using machine learning, but some misclassifications can still occur.
Koneoppimismalli suunnitellaan ensimmäisenä ja valittu koneoppimisen oppimistekniikka ja algoritmi ovat valvottu oppiminen ja hermoverkko. Suunniteltu koneoppimismalli luokittelee sytytystulppia kolmeen eri luokkaan valittujen sisäänmeno piirteiden perusteella, ja nämä luokat edustavat sytytystulppien kunnon tiloja. Koneoppimismallin opetuksessa käytetty on kerätty testaamalla erikuntoisia sytytystulppia käyttäen sytytystulppien testaus laitteistoa. Näiden testien aikana sytytystulpat luokitellaan kolmeen eri luokkaan niiden kunnon perusteella. Koneoppimismalli toteutetaan ja koulutetaan käyttäen Python ohjelmointikieltä ja Tensorflow kirjastoa, mikä jälkeen malli tallennetaan ja ladataan moottorimoduulille. Moottorimoduulin lähdekoodia ohjelmoidaan siten että se pystyy käyttämään koneoppimismallia.
Koneoppimismallin tarkkuus testataan ja se saavuttaa 82 %:n kokonaistarkkuuden testattaessa sitä ennennäkemättömällä datalla. Mallilla on korkea herkkyysarvo ulostuloluokalle mikä edustaa sytytystulppia hyvässä kunnossa, mutta malli ei luokittele huonokuntoisia sytytystulppia yhtä hyvin. Malli kasvattaa prosessorin käyttöastetta 4,3 %, mikä on melko korkea lisäys. Tämä lisäys johtuu monista matriisien kertolaskuista mitkä suoritetaan mallin tiheissä kerroksissa jokaiselle sytytystulpalle erikseen. Näiden tuloksien perusteella koneoppimista voidaan yleisesti käyttää sytytystulppien kunnon luokittelemiseen, mutta vääriä luokittelutuloksia voi silti tapahtua.