Real-time terrain excavation in a training simulator with NVIDIA PhysX
Rantala, Henri (2026)
Rantala, Henri
2026
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
Hyväksymispäivämäärä
2026-04-14
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202604103826
https://urn.fi/URN:NBN:fi:tuni-202604103826
Tiivistelmä
This thesis investigates the modelling and simulation of excavation processes within the Creanex simulator framework, with the goal of extending and improving its existing deformable terrain system. The work was motivated by two partially overlapping concerns: pre-existing limitations in the Creanex excavation implementation, and the requirements introduced by a snow groomer training simulator developed as part of the THEIA-XR project.
The work reviews relevant terrain modelling approaches and the constraints imposed by NVIDIA PhysX, the underlying physics engine, which offers no native support for dynamic terrain deformation. Given these constraints and the practical benefits of building on an already functional system, the existing heightmap-based approach was retained and extended. The resulting implementation introduces material pushing as a new terrain interaction mode, enabling fully dynamic, modifiable snow in the snow groomer simulator and expanding the operational range of excavator and wheel loader simulations. Additional contributions include multi-sandbox grid support with cross-boundary volume exchange, a more geometrically accurate volume estimation method based on tetrahedral calculations, and obstacle-aware material piling via raycasting.
Because both the Creanex simulator and comparable commercial solutions are proprietary, external benchmarking was not feasible. Evaluation was therefore conducted through internal validation and qualitative assessment, which confirmed that the developed features meet their functional objectives and meaningfully improve simulation fidelity. However, the new features introduce a significant increase in computational cost. Material pushing in particular imposes per-frame costs that scale with both sandbox resolution and excavation tool size, and in the snow groomer simulation these costs compound to the point where obstacle detection must be disabled when material pushing is active. This trade-off is acceptable in practice but highlights that further performance optimisation remains an important direction for future work. Despite this, approaches developed as part of this work may also serve as conceptual reference points for real-time simulation in similarly constrained frameworks. Tässä työssä tutkitaan maaston muokkaamisen mallintamista ja simulointia Creanexin simulaattoriympäristöissä. Työn tavoitteena on laajentaa sekä kehittää Creanixin muokattavan maaston simulointia. Kehityksen taustana ja motivoijana on nykyisen totetutuksen puutteet sekä osana THEIA-XR-projektia kehitetyn rinnekone simulaattorin vaatimukset.
Työssä tarkastellaan useita eri tarkoituksenmukaisia maaston mallinnuskeinoja sekä rajoituksia, joita käytössä oleva fysiikkamottori Nvidia PhysX tuo. Yksi PhysX:n merkittävimpiä haasteita on se, että se ei natiivisti tue maaston muokkaksen simulointia. Ottaen huomioon mallinnustekniikkojen ja PhysX:n rajoitukset, sekä olemassa olevan toimivan järjestelmän päälle rakentamisen edut, lopullinen päätös oli hyödyntää olemassa olevaa korkeuskarttaan perustuvaa mokattavan maaston simulointia ja laajentaa totetusta. Lopullinen kehitystyö tuo uutena ominaisuutena materiaalin pusku-ominaisuuden, joka mahdollistaa ajonaikaisen lumen muokkaamisen rinnekoneella. Tämä pusku-ominaisuus lisää myös olemassa olevien kaivinkone- ja pyöräkuormaaja-simulaattoreiden realismia mahdollistamalla koneen käyttötapoja, jotka eivät aikasemmin olleet mahdollisia. Muita työssä kehitettyjä ominaisuuksia ovat: tuki useamman muokattavan maastosegmentin kokonaisuuksille ja materiaalin liikuttaminen segmentistä toiselle mahdollistaen laajemman muokattavan maastoalueen, tetraedriin perustuva tilavuusarvionti sekä raycast-tekniikkaan perustuva esteet huomioiva materiaalin kasaus.
Koska sekä Creanexin simulaattorit että vertailukelpoiset ratkaisut ovat suljetun lähdekoodin ohjelmistoja, vertailu muiden vastaavien ratkaisujen kanssa ei ollut mahdollista. Tämän vuoksi arvionti toteutettiin sisäisellä validoinnilla ja laadun analyysillä. Tämän arvioinnin pohjalta voitiin todeta työssä kehitettyjen ominaisuuksien täyttävän työtä motivoineet vaatimukset ja parantaneen Creanexin simulaattoreiden maaston muokkauksen simuloinnin ominaisuuksia ja realismia. Uudet kehitetyt ominaisuudet kuitenkin kasvattavat maaston muokkauksen simuloinnin kuormaa. Erityisesti materiaalin pusku-ominaisuus aiheuttaa huomattavasti suurempaa kourmitusta jokaisessa käsitellyssä korkeuskartan koordinaatissa. Rinnekone-simulaatiossa kuormitus on huomattavasti suurempi, sillä leveän auran takia rinnekone muokkaa suurempaa aluetta kerralla kuin muut maastoa muokkaavat koneet. Tämän merkittävän kuormituksen takia esteiden tunnistamista ei voida käyttää kyseisessä simulaatiossa suorituskykyrajoitteista johtuen. Vaikka tämä on käytännössä hyväksyttävä kompromissi, tämä osoittaa suorikyvyn optimoinnin oleva merkittävä jatkokehityskohde. Tästä huolimatta tässä työssä kehitety ratkaisut voivat toimia suuntaa antavina ratkaisuina vastaavasti rajoitetuissa realiaikaisissa simulointiympäristöissä.
The work reviews relevant terrain modelling approaches and the constraints imposed by NVIDIA PhysX, the underlying physics engine, which offers no native support for dynamic terrain deformation. Given these constraints and the practical benefits of building on an already functional system, the existing heightmap-based approach was retained and extended. The resulting implementation introduces material pushing as a new terrain interaction mode, enabling fully dynamic, modifiable snow in the snow groomer simulator and expanding the operational range of excavator and wheel loader simulations. Additional contributions include multi-sandbox grid support with cross-boundary volume exchange, a more geometrically accurate volume estimation method based on tetrahedral calculations, and obstacle-aware material piling via raycasting.
Because both the Creanex simulator and comparable commercial solutions are proprietary, external benchmarking was not feasible. Evaluation was therefore conducted through internal validation and qualitative assessment, which confirmed that the developed features meet their functional objectives and meaningfully improve simulation fidelity. However, the new features introduce a significant increase in computational cost. Material pushing in particular imposes per-frame costs that scale with both sandbox resolution and excavation tool size, and in the snow groomer simulation these costs compound to the point where obstacle detection must be disabled when material pushing is active. This trade-off is acceptable in practice but highlights that further performance optimisation remains an important direction for future work. Despite this, approaches developed as part of this work may also serve as conceptual reference points for real-time simulation in similarly constrained frameworks.
Työssä tarkastellaan useita eri tarkoituksenmukaisia maaston mallinnuskeinoja sekä rajoituksia, joita käytössä oleva fysiikkamottori Nvidia PhysX tuo. Yksi PhysX:n merkittävimpiä haasteita on se, että se ei natiivisti tue maaston muokkaksen simulointia. Ottaen huomioon mallinnustekniikkojen ja PhysX:n rajoitukset, sekä olemassa olevan toimivan järjestelmän päälle rakentamisen edut, lopullinen päätös oli hyödyntää olemassa olevaa korkeuskarttaan perustuvaa mokattavan maaston simulointia ja laajentaa totetusta. Lopullinen kehitystyö tuo uutena ominaisuutena materiaalin pusku-ominaisuuden, joka mahdollistaa ajonaikaisen lumen muokkaamisen rinnekoneella. Tämä pusku-ominaisuus lisää myös olemassa olevien kaivinkone- ja pyöräkuormaaja-simulaattoreiden realismia mahdollistamalla koneen käyttötapoja, jotka eivät aikasemmin olleet mahdollisia. Muita työssä kehitettyjä ominaisuuksia ovat: tuki useamman muokattavan maastosegmentin kokonaisuuksille ja materiaalin liikuttaminen segmentistä toiselle mahdollistaen laajemman muokattavan maastoalueen, tetraedriin perustuva tilavuusarvionti sekä raycast-tekniikkaan perustuva esteet huomioiva materiaalin kasaus.
Koska sekä Creanexin simulaattorit että vertailukelpoiset ratkaisut ovat suljetun lähdekoodin ohjelmistoja, vertailu muiden vastaavien ratkaisujen kanssa ei ollut mahdollista. Tämän vuoksi arvionti toteutettiin sisäisellä validoinnilla ja laadun analyysillä. Tämän arvioinnin pohjalta voitiin todeta työssä kehitettyjen ominaisuuksien täyttävän työtä motivoineet vaatimukset ja parantaneen Creanexin simulaattoreiden maaston muokkauksen simuloinnin ominaisuuksia ja realismia. Uudet kehitetyt ominaisuudet kuitenkin kasvattavat maaston muokkauksen simuloinnin kuormaa. Erityisesti materiaalin pusku-ominaisuus aiheuttaa huomattavasti suurempaa kourmitusta jokaisessa käsitellyssä korkeuskartan koordinaatissa. Rinnekone-simulaatiossa kuormitus on huomattavasti suurempi, sillä leveän auran takia rinnekone muokkaa suurempaa aluetta kerralla kuin muut maastoa muokkaavat koneet. Tämän merkittävän kuormituksen takia esteiden tunnistamista ei voida käyttää kyseisessä simulaatiossa suorituskykyrajoitteista johtuen. Vaikka tämä on käytännössä hyväksyttävä kompromissi, tämä osoittaa suorikyvyn optimoinnin oleva merkittävä jatkokehityskohde. Tästä huolimatta tässä työssä kehitety ratkaisut voivat toimia suuntaa antavina ratkaisuina vastaavasti rajoitetuissa realiaikaisissa simulointiympäristöissä.
