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...

Full description

Bibliographic Details
Main Author: Sundling, Emma
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