Fysiikkamallin yhdistäminen simulaattoriin
Kaikkonen, Sami (2025)
Kaikkonen, Sami
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025051612728
https://urn.fi/URN:NBN:fi:amk-2025051612728
Tiivistelmä
Opinnäytetyön aiheena oli rajapinnan luominen Simulink-fysiikkamallin ja Ponssen simulaattorisovelluksen välille. Työn toimeksiantajana toimi Ponsse Oyj. Metsäkoneen kuormaimen fysiikan laskeminen korvattiin simulaattorissa Simulink-mallilta saaduilla arvoilla. Tarkoituksena oli kehittää simulaattoria lähemmäs todenmukaista fysiikkaa ja mahdollistaa uudenlaisia testejä. Työn tavoitteena oli luoda toimiva rajapinta fysiikkamallin ja simulaattorisovelluksen välille. Lisätavoitteena oli saada rajapinta toimimaan itsenäisesti ilman Simulink-sovellusta, millä mahdollistettiin laajempi käyttö testikäytössä.
Aluksi käydään läpi teoriaa tuote- ja ohjelmistokehityksestä yleisesti. Työhön olennaisesti liittyvistä aihealueista, kuten rajapinnoista, ohjelmistotestauksesta, mallipohjaisesta suunnittelusta ja yhteissimulaatiosta kerrotaan myös. Työ alkoi työryhmän perustamisella, tavoitteiden ja toteutusvaihtoehtojen läpikäymisellä sekä projektin suunnittelulla. Projektissa edettiin ketterän ohjelmistokehityksen menetelmiä käyttäen. Toimeksiantajan toiveena oli testata jo olemassa olevaa rajapintaa, joka oli kehitetty Ponssen tarpeisiin yhteistyökumppanin toimesta. Aluksi perehdyttiin olemassa olevan rajapinnan toimintaan, jonka jälkeen Simulink-sovellukseen itsessään ja myöhemmin sillä kehitettyyn fysiikkamalliin. Tämän jälkeen pohdittiin, mitä dataa fysiikkamalli ja simulaattorisovellus vaihtaisivat rajapinnan ylitse. Rajapinta otettiin käyttöön fysiikkamallissa ja sitä kehitettiin eteenpäin sitä mukaa kun fysiikkamalli kehittyi. Rajapinta saatiin toimimaan, mutta sen käytöstä luovuttiin, koska kokonaisuutta ei sen avulla ollut mahdollista saada toimimaan itsenäisesti. Rajapinnassa siirryttiin käyttämään UDP-yhteystapaa, jonka avulla fysiikkamallista sai generoitua jaetun kirjaston. Jaetulle kirjastolle kehitettiin testisovellus, jolla sen sai käyttöön. Lopuksi rajapinnan toimintaa testattiin testikäyttöön suunnitellulla laitteistolla ja dokumentoitiin, miten rajapinnan sai käyttöön.
Työn tuloksena syntyi kaksi tapaa muodostaa yhteys fysiikkamallin ja simulaattorisovelluksen välille. Jo olemassa oleva rajapinta, joka vaati Simulink-sovelluksen toimiakseen, ja rajapinta, joka toimi täysin itsenäisesti. Kaikki työlle asetetut tavoitteet saavutettiin. Yhteys fysiikkamallin ja simulaattorisovelluksen välille saatiin muodostettua onnistuneesti ja myös lisätavoitteeseen päästiin.
Rajapinta mahdollistaa simulaattorissa todenmukaisemman fysiikan laskemisen. Tämän avulla simulaattorilla voidaan suorittaa testejä, jotka eivät aiemmin ole olleet mahdollisia. Testauksen parantuminen taas edistää ohjelmisto- ja tuotekehitystä kokonaisuudessaan, kun toiminta voidaan todeta oikeaksi virtuaalisesti aiemmassa kehitysvaiheessa.
Aluksi käydään läpi teoriaa tuote- ja ohjelmistokehityksestä yleisesti. Työhön olennaisesti liittyvistä aihealueista, kuten rajapinnoista, ohjelmistotestauksesta, mallipohjaisesta suunnittelusta ja yhteissimulaatiosta kerrotaan myös. Työ alkoi työryhmän perustamisella, tavoitteiden ja toteutusvaihtoehtojen läpikäymisellä sekä projektin suunnittelulla. Projektissa edettiin ketterän ohjelmistokehityksen menetelmiä käyttäen. Toimeksiantajan toiveena oli testata jo olemassa olevaa rajapintaa, joka oli kehitetty Ponssen tarpeisiin yhteistyökumppanin toimesta. Aluksi perehdyttiin olemassa olevan rajapinnan toimintaan, jonka jälkeen Simulink-sovellukseen itsessään ja myöhemmin sillä kehitettyyn fysiikkamalliin. Tämän jälkeen pohdittiin, mitä dataa fysiikkamalli ja simulaattorisovellus vaihtaisivat rajapinnan ylitse. Rajapinta otettiin käyttöön fysiikkamallissa ja sitä kehitettiin eteenpäin sitä mukaa kun fysiikkamalli kehittyi. Rajapinta saatiin toimimaan, mutta sen käytöstä luovuttiin, koska kokonaisuutta ei sen avulla ollut mahdollista saada toimimaan itsenäisesti. Rajapinnassa siirryttiin käyttämään UDP-yhteystapaa, jonka avulla fysiikkamallista sai generoitua jaetun kirjaston. Jaetulle kirjastolle kehitettiin testisovellus, jolla sen sai käyttöön. Lopuksi rajapinnan toimintaa testattiin testikäyttöön suunnitellulla laitteistolla ja dokumentoitiin, miten rajapinnan sai käyttöön.
Työn tuloksena syntyi kaksi tapaa muodostaa yhteys fysiikkamallin ja simulaattorisovelluksen välille. Jo olemassa oleva rajapinta, joka vaati Simulink-sovelluksen toimiakseen, ja rajapinta, joka toimi täysin itsenäisesti. Kaikki työlle asetetut tavoitteet saavutettiin. Yhteys fysiikkamallin ja simulaattorisovelluksen välille saatiin muodostettua onnistuneesti ja myös lisätavoitteeseen päästiin.
Rajapinta mahdollistaa simulaattorissa todenmukaisemman fysiikan laskemisen. Tämän avulla simulaattorilla voidaan suorittaa testejä, jotka eivät aiemmin ole olleet mahdollisia. Testauksen parantuminen taas edistää ohjelmisto- ja tuotekehitystä kokonaisuudessaan, kun toiminta voidaan todeta oikeaksi virtuaalisesti aiemmassa kehitysvaiheessa.