Validation toolbox for a Physics Engine
Physics engines become more and more common due to the rapid development and increasing demand of simulations. With this comes a need of testing the engine, a way to measure its performance, not only its speed but also its accuracy and stability. The purpose of this thesis has been to create a set o...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
Umeå universitet, Institutionen för fysik
2016
|
Subjects: | |
Online Access: | http://urn.kb.se/resolve?urn=urn:nbn:se:umu:diva-121972 |
id |
ndltd-UPSALLA1-oai-DiVA.org-umu-121972 |
---|---|
record_format |
oai_dc |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
topic |
multi-body dynamics evaluation real-time simulation dynamic simulation |
spellingShingle |
multi-body dynamics evaluation real-time simulation dynamic simulation Sundling, Emma Validation toolbox for a Physics Engine |
description |
Physics engines become more and more common due to the rapid development and increasing demand of simulations. With this comes a need of testing the engine, a way to measure its performance, not only its speed but also its accuracy and stability. The purpose of this thesis has been to create a set of benchmark tests. They aim to check the physical aspects, especially mechanics, of the engine. A strategy and export functions for the test results in order to automate the testing have also been developed. The resulting tests became a beam on piles which analyses constraint stability, an overdetermined system consisting of a static door on multiple hinges, a falling object investigating the accuracy of the integrator, a box on an inclined plane for testing the friction model, a single pendulum as well as a multibody pendulum checking constraint accuracy and energy conservation, the Earth orbiting around the Sun which tests the stability of the integrator and finally a cantilever beam that is a static test of a real scenario. After the tests are performed the results are presented on an HTML-page. A prototype of a Web application is also established as well as a set of scalar tests that can be performed continuously, in order to follow trends or compare the engine's performance from time to time. This thesis was initialized by Algoryx Simulation AB which also provided the engine, AgX Dynamics, with the numerical method called SPOOK. It mainly performed well on all tests. In order to build a fully general toolbox more tests need to be added such as material interactions, scalable test with thousands of bodies, torque tests as well as more complex scenarios, for example a scissor lift and robots. The work can also be extended with more developed export functions, both to the Web and to documents. Hopefully this thesis can be seen as a complement to the earlier efforts done in creating a general set of benchmarks and automation framework for continuous integration and testing. === Fysikmotorer blir mer och mer vanliga på grund av den snabba utvecklingen och efterfrågan på simuleringar. I och med detta ökar också behovet av att testa motorerna och ett sätt att mäta prestandan, inte bara snabbheten utan också noggrannheten och stabiliteten. Syftet med detta examensarbete har varit att skapa ett set av prestandatester. De syftar till att testa de fysikaliska aspekterna av fysikmotorn, särskilt inom mekanik. En strategi och exportfunktioner för testresultaten för att automatisera testningen har också utvecklats. De resulterande testerna blev en balk på pålar som analyserar stabiliteten hos villkoren, ett överbestämt system bestående av en statisk dörr på flera gångjärn, ett fallande objekt som granskar precisionen hos integratorn, en låda på ett lutande plan som testar friktionsmodellen, en enkel pendel samt en flerkropppspendel som kontrollerar villkorsprecisionen och energikonservering, jordens bana runt solen som testar integratorns stabilitet och slutligen en utskjutande balk som är ett statiskt test av ett verkligt fall. När testerna är genomförda presenteras resultaten på en HTML-sida. En prototyp av en webb-applikation har också utvecklats samt ett set med skalära tester som kan utföras kontinuerligt för att följa upp trender och jämföra motorns prestanda över tid. Det här examensarbetet initierades av Algoryx Simulation AB som även tillhandahållit fysikmotorn, AgX Dynamics, med den numeriska metoden SPOOK. Motorn presterade överlag bra på testerna. För att bygga en allmän verktygslåda behövs fler tester så som interaktion mellan material, skalbara tester med tusentals kroppar samt mer komplexa simuleringar, t.ex. en saxlyft och robotar. Arbetet kan också utökas med mer utvecklade exportfunktioner, både mot webben och som dokument. Förhoppningsvis kan detta ses som ett komplement till de tidigare ansträgningar som gjorts för att skapa ett generellt set av prestandatester och ett automatiskt ramverk för kontinuerlig testning. |
author |
Sundling, Emma |
author_facet |
Sundling, Emma |
author_sort |
Sundling, Emma |
title |
Validation toolbox for a Physics Engine |
title_short |
Validation toolbox for a Physics Engine |
title_full |
Validation toolbox for a Physics Engine |
title_fullStr |
Validation toolbox for a Physics Engine |
title_full_unstemmed |
Validation toolbox for a Physics Engine |
title_sort |
validation toolbox for a physics engine |
publisher |
Umeå universitet, Institutionen för fysik |
publishDate |
2016 |
url |
http://urn.kb.se/resolve?urn=urn:nbn:se:umu:diva-121972 |
work_keys_str_mv |
AT sundlingemma validationtoolboxforaphysicsengine AT sundlingemma valideringsverktygforenfysikmotor |
_version_ |
1718304655266545664 |
spelling |
ndltd-UPSALLA1-oai-DiVA.org-umu-1219722016-06-14T05:06:22ZValidation toolbox for a Physics EngineengValideringsverktyg för en fysikmotorSundling, EmmaUmeå universitet, Institutionen för fysik2016multi-body dynamicsevaluationreal-time simulationdynamic simulationPhysics engines become more and more common due to the rapid development and increasing demand of simulations. With this comes a need of testing the engine, a way to measure its performance, not only its speed but also its accuracy and stability. The purpose of this thesis has been to create a set of benchmark tests. They aim to check the physical aspects, especially mechanics, of the engine. A strategy and export functions for the test results in order to automate the testing have also been developed. The resulting tests became a beam on piles which analyses constraint stability, an overdetermined system consisting of a static door on multiple hinges, a falling object investigating the accuracy of the integrator, a box on an inclined plane for testing the friction model, a single pendulum as well as a multibody pendulum checking constraint accuracy and energy conservation, the Earth orbiting around the Sun which tests the stability of the integrator and finally a cantilever beam that is a static test of a real scenario. After the tests are performed the results are presented on an HTML-page. A prototype of a Web application is also established as well as a set of scalar tests that can be performed continuously, in order to follow trends or compare the engine's performance from time to time. This thesis was initialized by Algoryx Simulation AB which also provided the engine, AgX Dynamics, with the numerical method called SPOOK. It mainly performed well on all tests. In order to build a fully general toolbox more tests need to be added such as material interactions, scalable test with thousands of bodies, torque tests as well as more complex scenarios, for example a scissor lift and robots. The work can also be extended with more developed export functions, both to the Web and to documents. Hopefully this thesis can be seen as a complement to the earlier efforts done in creating a general set of benchmarks and automation framework for continuous integration and testing. Fysikmotorer blir mer och mer vanliga på grund av den snabba utvecklingen och efterfrågan på simuleringar. I och med detta ökar också behovet av att testa motorerna och ett sätt att mäta prestandan, inte bara snabbheten utan också noggrannheten och stabiliteten. Syftet med detta examensarbete har varit att skapa ett set av prestandatester. De syftar till att testa de fysikaliska aspekterna av fysikmotorn, särskilt inom mekanik. En strategi och exportfunktioner för testresultaten för att automatisera testningen har också utvecklats. De resulterande testerna blev en balk på pålar som analyserar stabiliteten hos villkoren, ett överbestämt system bestående av en statisk dörr på flera gångjärn, ett fallande objekt som granskar precisionen hos integratorn, en låda på ett lutande plan som testar friktionsmodellen, en enkel pendel samt en flerkropppspendel som kontrollerar villkorsprecisionen och energikonservering, jordens bana runt solen som testar integratorns stabilitet och slutligen en utskjutande balk som är ett statiskt test av ett verkligt fall. När testerna är genomförda presenteras resultaten på en HTML-sida. En prototyp av en webb-applikation har också utvecklats samt ett set med skalära tester som kan utföras kontinuerligt för att följa upp trender och jämföra motorns prestanda över tid. Det här examensarbetet initierades av Algoryx Simulation AB som även tillhandahållit fysikmotorn, AgX Dynamics, med den numeriska metoden SPOOK. Motorn presterade överlag bra på testerna. För att bygga en allmän verktygslåda behövs fler tester så som interaktion mellan material, skalbara tester med tusentals kroppar samt mer komplexa simuleringar, t.ex. en saxlyft och robotar. Arbetet kan också utökas med mer utvecklade exportfunktioner, både mot webben och som dokument. Förhoppningsvis kan detta ses som ett komplement till de tidigare ansträgningar som gjorts för att skapa ett generellt set av prestandatester och ett automatiskt ramverk för kontinuerlig testning. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:umu:diva-121972application/pdfinfo:eu-repo/semantics/openAccess |