Створення Rule Oriented-Движка На Базі Мови Скриптової Мови Програмув

Total Page:16

File Type:pdf, Size:1020Kb

Створення Rule Oriented-Движка На Базі Мови Скриптової Мови Програмув УДК 004.415.2.22 © 2010 р. В.С.Семенякін, Т.М.Заболотня Національний технічний університет України «Київський політехнічний інститут», м.Київ, Україна МОДИФІКОВАНИЙ ОБ’ЄКТНООРІЄНТОВАНИЙ ПІДХІД ДО ПОБУДОВИ ПРОГРАМНИХ ЗАСОБІВ МОДЕЛЮВАННЯ ФІЗИЧНИХ ПРОЦЕСІВ У статті розглядається питання побудови архітектури програмних засобів моделювання фі- зичних процесів. Пропонується новий SIM підхід до організації об’єктів простору моделюван- ня, орієнтований на максимальне абстрагування останніх. Визначаються основні кроки ство- рення програмного забезпечення у межах описаного підходу. Розробляється SIM архітектура фізичного движка та проводиться її модифікація з метою підвищення ефективності алгоритмів обробки фізичних об’єктів за критерієм швидкодії. На основі отриманої архітектури здійснена програмна реалізація основних класів фізичного движка. This article is devoted to the question of development of the software architecture for physical processes modeling. The new SIM approach to the organization of simulation space’s objects is pro- posed. It is oriented to the maximum abstraction of the latter. Basic steps of software creating accord- ing to the described approach are defined. SIM architecture of the physics engine is implemented and its modification for enhance the effectiveness of physical objects processing algorithms on the criteria of speed performance is considered. The software implementation of major classes of the physical en- gine is done based on the SIM architecture. Вступ грамного моделювання фізичних процесів є У галузі створення сучасної анімації і розро- актуальною задачею. бки комп’ютерних ігор все частіше виникає З огляду на вищезазначене метою даної ро- необхідність у побудові програмних систем, боти є створення відкритого до розширення здатних реалістично відтворювати різні фізичні функціонального ядра програмних засобів для явища. Використання таких систем сприяє зна- моделювання фізичних процесів. чному прискоренню процесу створення Відповідно до вказаної мети в роботі поста- комп’ютерної мультиплікації, оскільки автома- влені і розв’язані такі задачі: тизована обробка «фізики» знімає необхідність - визначення підходу до побудови та роз- відтворення останньої вручну. В комп’ютерних робка базової архітектури фізичного движка; іграх програмне моделювання фізичних проце- - модифікація отриманої архітектури для сів дозволяє зробити графічне зображення вір- забезпечення реалізації ефективних за критері- туального світу максимально подібним до реа- єм швидкодії алгоритмів обробки фізичних льного світу. об’єктів. Існуючі у даній галузі програмні рішення здатні відтворювати закони динаміки, статики, 1. Огляд існуючих рішень гідродинаміки, фізики газів, тканин тощо. Всі Програмний комплекс, що реалізує симуля- вони мають оптимізований щодо часу виконан- цію фізичних законів реального світу з деякою ня код і, як правило, можуть виконувати моде- ступінню апроксимації, називається фізичним лювання фізичних законів в реальному часі. движком [1]. Під симуляцією в даному випад- Їх спільним недоліком є архітектура, що до- ку будемо розуміти програмну імітацію фізич- зволяє працювати з описами лише заданого за- ного процесу або об’єкта [2]. здалегідь спектра законів фізики. Робота з да- Поняття архітектура програмного забезпе- ними, які стосуються інших областей фізики, чення включає в себе: або неможлива, або потребує перебудови дви- 1. Набір значущих рішень з приводу ор- жка. Тому пошук нових рішень у галузі про- ганізації системи програмного забезпечення. 1 2. Набір структурних елементів та їх Слід помітити також, що в системі класів інтерфейсів, за допомогою яких компонується усіх движків, що розглядаються, існує поняття система, разом з їх поведінкою, що визначаєть- зв’язків (joints), які описують взаємодію між ся взаємодією між цими елементами. двома об’єктами. Але для жодного з движків 3. Компоновку елементів у підсистеми, можливість створення користувацьких joints-ів що поступово розширюються. не розглядалася як головна ідея побудови архі- 4. Стиль архітектури, котрий спрямо- тектури движка. вує цю організацію – елементи та їх інтерфей- Таким чином, можна зробити висновок, що си, взаємодії та компоновку [3]. за ідеєю розробників архітектура вищезгада- Статичною будемо називати таку архітек- них движків є статичною. туру фізичного движка, що не підтримує (або APE [10] – відкритий, дещо застарілий робить складною) можливість підключення до фізичний движок. нього бібліотек обробки даних щодо фізичних Побудова: Движок не має структури, що законів або колекцій законів з цілих розділів описує об’єкт фізичного простору. Є набір ал- фізики. горитмів і класів для фізичного моделювання, Проаналізуємо існуючі фізичні движки з то- та пошук колізій між формами, що описуються чки зору їх архітектури: багатокутниками. З метою спрощення роботи у Box2D – зручний у використані та ефе- APE введене поняття груп, у які розробник мо- ктивний з точки зору швидкодії движок з відк- же об’єднувати об’єкти. ритим кодом. Існують його реалізації різними Архітектура движка є незакінченою: взагалі мовами, у тому числі ActionScript. Вважається не описане поняття фізичного об’єкту. На ос- одним з кращих двовимірних движків [4, 5]. нові движка можлива реалізація гнучкої до ро- NAPE [6, 7] – новий відкритий движок; зширення архітектури, але на досліджуваному зараз закінчується розробка, але вже йде широ- етапі розробки APE фактично є лише калькуля- ке застосування. Автор движка анонсував реа- тором фізичних законів. лізацію широкого спектру фізичних законів – Примітка 1: У даному огляді не наведена ін- не лише механіки, зокрема йдеться про симу- формація про комерційні движки через те, що ляцію води [8]. їх програмний код є закритим, а, отже, немож- ODE (Open Dynamics Engine) [9] – відк- ливо детально розглянути їх архітектуру. Од- ритий, частково безкоштовний тривимірний нак, слід згадати такі движки як PhysX і Havok, фізичний движок, орієнтований на реалістичне що є одними з найкращих комерційних рішень відтворення складних з’єднань (шарнірів, пру- в області моделювання фізичних об’єктів (вони жин, тощо). використовують апаратну оптимізацію і пара- Побудова вищезгаданих движків. Головний лельне програмування для прискорення обчис- контейнер містить у собі менеджери, напри- лень). клад: менеджер обробки колізій, розподільник Судячи з прикладів коду програмних проду- пам’яті движка (потрібен для реалізацій движ- ктів, що їх використовують [11, 12], архітекту- ків на нескриптових мовах програмування), а ра цих движків також є статичною. також список об’єктів та список осей, що їх фі- Примітка 2: Також слід згадати програмний ксують. Вищезгадані менеджери описані в продукт Phun та його комерційну версію – окремих класах. Програмні об’єкти, що збері- ALGODOO [13]. Останній здатен моделювати гають динамічні властивості, містять велику процеси, напевне, найбільшого спектру розді- кількість даних щодо фізичних властивостей лів фізики серед усіх сучасних систем програм- тіла і одночасно виконують роль об’єктів вірту- ного моделювання: динаміки, статики, гідроди- ального простору. Це робить опис нових для наміки та оптики. Мінусом є закритість систе- движка властивостей незручним у використан- ми. ALGODOO не є бібліотекою моделювання ні. «фізики», це закінчений програмний продукт з Відтворення фізичного впливу на об’єкт мо- реалізованим графічним інтерфейсом. делювання у коді здійснюється за допомогою Таким чином, доцільним є проведення дос- виклику спеціальних функцій додавання сил та лідження можливості створення програмної імпульсів. системи моделювання фізичних процесів з об’єктами, що є максимально абстрагованими. 2 2. Обґрунтування ідеї побудови движка нього: правила можна додавати до об’єкту, але Об’єкт віртуального простору доцільно їх набір не може бути фіксованим. визначати, включаючи до його структури екзе- Поставлені задачі не можуть бути реалізова- мпляри класів-контролерів, що описують певні ні з використанням лінійних відношень між ідейно різні сутності об’єкту - зони відповіда- класами. Вони потребують розробки більш роз- льності. Така побудова проекту робить код галуженої, ієрархічної архітектури програмних проекту більш структурованим і зручним. засобів. У нашому випадку об’єкт віртуального про- стору включатиме в себе екземпляр графічного 3. SIM підхід об’єкту, зоною відповідальності якого є оброб- У даній статті пропонується підхід до побу- ка зовнішнього вигляду об’єкту (графічний дови архітектури програмних комплексів, реа- об’єкт не буде розглянутий детально у даній лізація якого дозволить гнучко редагувати на- статті), і екземпляр фізичного об’єкту, що буде бори використовуваних властивостей та мето- здійснювати контроль фізичної складової дів об’єктів. Новий підхід – SIM підхід (Shell- об’єкту. Influence-Model) – побудований на основі Фізичним об’єктом будемо називати суку- об’єктноорієнтованої парадигми програмуван- пність двох складових: набору властивостей ня, ідеї так званого предметноорієнтованого об’єкту (положення у просторі, маса, швидкість підходу до програмування (subject-oriented тощо), і законів (правил), що впливають на programming) [14] та використанні шаблону об’єкт (закон тяжіння, правило пружного зітк- проектування стратегія [15]. В межах SIM по- нення твердих тіл тощо). ведінка об’єктів і групи властивостей (принцип Найбільш поширеним підходом щодо реалі- об’єднання вказаний нижче) розглядаються як зації фізичних об’єктів є об’єктноорієнтований окремі сутності. підхід (див. архітектуру будь-якого фізичного Підхід має такі особливості: движка), відповідно до якого програмний опис 1. Відокремлені групи властивостей
Recommended publications
  • Master's Thesis
    MASTER'S THESIS Online Model Predictive Control of a Robotic System by Combining Simulation and Optimization Mohammad Rokonuzzaman Pappu 2015 Master of Science (120 credits) Space Engineering - Space Master Luleå University of Technology Department of Computer Science, Electrical and Space Engineering Mohammad Rokonuzzaman Pappu Online Model Predictive Control of a Robotic System by Combining Simulation and Optimization School of Electrical Engineering Department of Electrical Engineering and Automation Thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Technology Espoo, August 18, 2015 Instructor: Professor Perttu Hämäläinen Aalto University School of Arts, Design and Architecture Supervisors: Professor Ville Kyrki Professor Reza Emami Aalto University Luleå University of Technology School of Electrical Engineering Preface First of all, I would like to express my sincere gratitude to my supervisor Pro- fessor Ville Kyrki for his generous and patient support during the work of this thesis. He was always available for questions and it would not have been possi- ble to finish the work in time without his excellent guidance. I would also like to thank my instructor Perttu H¨am¨al¨ainen for his support which was invaluable for this thesis. My sincere thanks to all the members of Intelligent Robotics group who were nothing but helpful throughout this work. Finally, a special thanks to my colleagues of SpaceMaster program in Helsinki for their constant support and encouragement. Espoo, August 18,
    [Show full text]
  • Software Design for Pluggable Real Time Physics Middleware
    2005:270 CIV MASTER'S THESIS AgentPhysics Software Design for Pluggable Real Time Physics Middleware Johan Göransson Luleå University of Technology MSc Programmes in Engineering Department of Computer Science and Electrical Engineering Division of Computer Science 2005:270 CIV - ISSN: 1402-1617 - ISRN: LTU-EX--05/270--SE AgentPhysics Software Design for Pluggable Real Time Physics Middleware Johan GÄoransson Department of Computer Science and Electrical Engineering, LuleºaUniversity of Technology, [email protected] October 27, 2005 Abstract This master's thesis proposes a software design for a real time physics appli- cation programming interface with support for pluggable physics middleware. Pluggable means that the actual implementation of the simulation is indepen- dent and interchangeable, separated from the user interface of the API. This is done by dividing the API in three layers: wrapper, peer, and implementation. An evaluation of Open Dynamics Engine as a viable middleware for simulating rigid body physics is also given based on a number of test applications. The method used in this thesis consists of an iterative software design based on a literature study of rigid body physics, simulation and software design, as well as reviewing related work. The conclusion is that although the goals set for the design were ful¯lled, it is unlikely that AgentPhysics will be used other than as a higher level API on top of ODE, and only ODE. This is due to a number of reasons such as middleware speci¯c tools and code containers are di±cult to support, clash- ing programming paradigms produces an error prone implementation layer and middleware developers are reluctant to port their engines to Java.
    [Show full text]
  • Physics Engine Design and Implementation Physics Engine • a Component of the Game Engine
    Physics engine design and implementation Physics Engine • A component of the game engine. • Separates reusable features and specific game logic. • basically software components (physics, graphics, input, network, etc.) • Handles the simulation of the world • physical behavior, collisions, terrain changes, ragdoll and active characters, explosions, object breaking and destruction, liquids and soft bodies, ... Game Physics 2 Physics engine • Example SDKs: – Open Source • Bullet, Open Dynamics Engine (ODE), Tokamak, Newton Game Dynamics, PhysBam, Box2D – Closed source • Havok Physics • Nvidia PhysX PhysX (Mafia II) ODE (Call of Juarez) Havok (Diablo 3) Game Physics 3 Case study: Bullet • Bullet Physics Library is an open source game physics engine. • http://bulletphysics.org • open source under ZLib license. • Provides collision detection, soft body and rigid body solvers. • Used by many movie and game companies in AAA titles on PC, consoles and mobile devices. • A modular extendible C++ design. • Used for the practical assignment. • User manual and numerous demos (e.g. CCD Physics, Collision and SoftBody Demo). Game Physics 4 Features • Bullet Collision Detection can be used on its own as a separate SDK without Bullet Dynamics • Discrete and continuous collision detection. • Swept collision queries. • Generic convex support (using GJK), capsule, cylinder, cone, sphere, box and non-convex triangle meshes. • Support for dynamic deformation of nonconvex triangle meshes. • Multi-physics Library includes: • Rigid-body dynamics including constraint solvers. • Support for constraint limits and motors. • Soft-body support including cloth and rope. Game Physics 5 Design • The main components are organized as follows Soft Body Dynamics Bullet Multi Threaded Extras: Maya Plugin, Rigid Body Dynamics etc. Collision Detection Linear Math, Memory, Containers Game Physics 6 Overview • High level simulation manager: btDiscreteDynamicsWorld or btSoftRigidDynamicsWorld.
    [Show full text]
  • Dynamic Simulation of Manipulation & Assembly Actions
    Syddansk Universitet Dynamic Simulation of Manipulation & Assembly Actions Thulesen, Thomas Nicky Publication date: 2016 Document version Peer reviewed version Document license Unspecified Citation for pulished version (APA): Thulesen, T. N. (2016). Dynamic Simulation of Manipulation & Assembly Actions. Syddansk Universitet. Det Tekniske Fakultet. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal ? Take down policy If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. Download date: 09. Sep. 2018 Dynamic Simulation of Manipulation & Assembly Actions Thomas Nicky Thulesen The Maersk Mc-Kinney Moller Institute Faculty of Engineering University of Southern Denmark PhD Dissertation Odense, November 2015 c Copyright 2015 by Thomas Nicky Thulesen All rights reserved. The Maersk Mc-Kinney Moller Institute Faculty of Engineering University of Southern Denmark Campusvej 55 5230 Odense M, Denmark Phone +45 6550 3541 www.mmmi.sdu.dk Abstract To grasp and assemble objects is something that is known as a difficult task to do reliably in a robot system.
    [Show full text]
  • Chapter 9 Animation System
    Chapter 10 Collision and Rigid Body Dynamics asyrani.com 10.1 Do You Want Physics in Your Game? Things You Can Do with a Physics System A LOT Is Physics Fun? Simulations (Sims) Gran Turismo Flight Simulator Need For Speed Physics Puzzle Games Bridge Builder Fantastic Contraption Crayon Physics The Incredible Machine Sandbox Games LittleBigPlanet GTA 5 Spore Goal-Based and Story-Driven Games A goal-based game has rules and specific objectives that the player must accomplish in order to progress; in a story-driven game , telling a story is of paramount importance. Integrating a physics system into these kinds of games can be tricky. We generally give away control in exchange for a realistic simulation, and this loss of control can inhibit the player’s ability to accomplish goals or the game’s ability to tell the story. Impact of Physics on a Game Predictability Tuning and control Emergent behaviors Engineering Impacts Collision Tools pipeline User interface detection Animation Rag doll AI and character physics motion Networking Record and Graphics and playback multiplayer Art Impacts Additional tool More-complex and workflow content complexity Loss of control Other Impacts Interdisciplinary impacts. The introduction of a dynamics simulation into your game requires close cooperation between engineering, art, and design. Production impacts. Physics can add to a project’s development costs, technical and organizational complexity, and risk. 10.2 Collision/Physics Middleware I-Collide SWIFT V-Collide RAPID ODE ODE stands for “Open Dynamics Engine ” (http://www.ode.org). As its name implies, ODE is an open-source collision and rigid body dynamics SDK.
    [Show full text]
  • Digital Control Networks for Virtual Creatures
    Digital control networks for virtual creatures Christopher James Bainbridge Doctor of Philosophy School of Informatics University of Edinburgh 2010 Abstract Robot control systems evolved with genetic algorithms traditionally take the form of floating-point neural network models. This thesis proposes that digital control sys- tems, such as quantised neural networks and logical networks, may also be used for the task of robot control. The inspiration for this is the observation that the dynamics of discrete networks may contain cyclic attractors which generate rhythmic behaviour, and that rhythmic behaviour underlies the central pattern generators which drive low- level motor activity in the biological world. To investigate this a series of experiments were carried out in a simulated physically realistic 3D world. The performance of evolved controllers was evaluated on two well known control tasks — pole balancing, and locomotion of evolved morphologies. The performance of evolved digital controllers was compared to evolved floating-point neu- ral networks. The results show that the digital implementations are competitive with floating-point designs on both of the benchmark problems. In addition, the first re- ported evolution from scratch of a biped walker is presented, demonstrating that when all parameters are left open to evolutionary optimisation complex behaviour can result from simple components. iii Acknowledgements “I know why you’re here... I know what you’ve been doing... why you hardly sleep, why you live alone, and why night after night, you sit by your computer.” I would like to thank my parents and grandmother for all of their support over the years, and for giving me the freedom to pursue my interests from an early age.
    [Show full text]
  • Systematic Literature Review of Realistic Simulators Applied in Educational Robotics Context
    sensors Systematic Review Systematic Literature Review of Realistic Simulators Applied in Educational Robotics Context Caio Camargo 1, José Gonçalves 1,2,3 , Miguel Á. Conde 4,* , Francisco J. Rodríguez-Sedano 4, Paulo Costa 3,5 and Francisco J. García-Peñalvo 6 1 Instituto Politécnico de Bragança, 5300-253 Bragança, Portugal; [email protected] (C.C.); [email protected] (J.G.) 2 CeDRI—Research Centre in Digitalization and Intelligent Robotics, 5300-253 Bragança, Portugal 3 INESC TEC—Institute for Systems and Computer Engineering, 4200-465 Porto, Portugal; [email protected] 4 Robotics Group, Engineering School, University of León, Campus de Vegazana s/n, 24071 León, Spain; [email protected] 5 Universidade do Porto, 4200-465 Porto, Portugal 6 GRIAL Research Group, Computer Science Department, University of Salamanca, 37008 Salamanca, Spain; [email protected] * Correspondence: [email protected] Abstract: This paper presents a systematic literature review (SLR) about realistic simulators that can be applied in an educational robotics context. These simulators must include the simulation of actuators and sensors, the ability to simulate robots and their environment. During this systematic review of the literature, 559 articles were extracted from six different databases using the Population, Intervention, Comparison, Outcomes, Context (PICOC) method. After the selection process, 50 selected articles were included in this review. Several simulators were found and their features were also Citation: Camargo, C.; Gonçalves, J.; analyzed. As a result of this process, four realistic simulators were applied in the review’s referred Conde, M.Á.; Rodríguez-Sedano, F.J.; context for two main reasons. The first reason is that these simulators have high fidelity in the robots’ Costa, P.; García-Peñalvo, F.J.
    [Show full text]
  • Desktop Haptic Virtual Assembly Using Physically-Based Part Modeling" (2005)
    Iowa State University Capstones, Theses and Retrospective Theses and Dissertations Dissertations 1-1-2005 Desktop haptic virtual assembly using physically- based part modeling Brad M. Howard Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/rtd Recommended Citation Howard, Brad M., "Desktop haptic virtual assembly using physically-based part modeling" (2005). Retrospective Theses and Dissertations. 18810. https://lib.dr.iastate.edu/rtd/18810 This Thesis is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Retrospective Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. Desktop haptic virtual assembly using physically-based part modeling by Brad M. Howard A thesis submitted to the graduate faculty in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Major: Mechanical Engineering Program of Study Committee: Judy M. Vance (Major Professor) James H. Oliver Chris J. Harding Iowa State University Ames, Iowa 2005 11 Graduate College Iowa State University This is to certify that the master's thesis of Brad M. Howard has met the thesis requirements of Iowa State University Signatures have been redacted for privacy lll TABLE OF CONTENTS TABLE OF CONTENTS ....................................... ............... ............................. .....................
    [Show full text]
  • Physics-Based Simula1on
    Physics-based Simula1on • simple (independent par1cles), or complex (robust colliding, stacking, sliding 3D rigid bodies) • many many simulators! – PhysX (Unity, Unreal), Bullet, Open Dynamics Engine, MuJoCo, Havok, Box2D, Chipmunk, OpenSim, RBDL, Simulink (MATLAB), ADAMS, SD/FAST, DART, Vortex, SOFA, Avatar, Project Chrono, Cannon.js, … – many course projects, theses, abandon-ware Resources • hUps://processing.org/examples/ see “Simulate”; 2D par1cle systems • Non-convex rigid bodies with stacking 3D collision processing and stacking hUp://www.cs.ubc.ca/~rbridson/docs/rigid_bodies.pdf • Physically-based Modeling, course notes, SIGGRAPH 2001, Baraff & Witkin hUp://www.pixar.com/companyinfo/research/pbm2001/ • Doug James CS 5643 course notes hUp://www.cs.cornell.edu/courses/cs5643/2015sp/ • Rigid Body Dynamics, Chris Hecker hUp://chrishecker.com/Rigid_Body_Dynamics • Video game physics tutorial hUps://www.toptal.com/game/video-game-physics-part-i-an-introduc1on-to-rigid-body-dynamics • Box2D javascript live demos hUp://heikobehrens.net/misc/box2d.js/examples/ • Rigid body collisions javascript demo hUps://www.myphysicslab.com/engine2D/collision-en.html • Rigid Body Collision Reponse, Michael Manzke, course slides hUps://www.scss.tcd.ie/Michael.Manzke/CS7057/cs7057-1516-09-CollisionResponse-mm.pdf • Rigid Body Dynamics Algorithms. Roy Featherstone, 2008 • Par1cle-based Fluid Simula1on for Interac1ve Applica1ons, SCA 2003, PDF • Stable Fluids, Jos Stam, SIGGRAPH 1999. interac1ve demo: hUps://29a.ch/2012/12/16/webgl-fluid-simula1on Simula1on
    [Show full text]
  • Simulation Tools for Model-Based Robotics: Comparison of Bullet, Havok, Mujoco, ODE and Physx
    Simulation Tools for Model-Based Robotics: Comparison of Bullet, Havok, MuJoCo, ODE and PhysX Tom Erez, Yuval Tassa and Emanuel Todorov. Abstract— There is growing need for software tools that can many of these engines are aimed at graphics and animation, accurately simulate the complex dynamics of modern robots. where it is often sufficient to achieve visually-plausible While a number of candidates exist, the field is fragmented. simulation, reducing the motivation to pursue the more It is difficult to select the best tool for a given project, or to predict how much effort will be needed and what the elusive goal of physically-accurate simulation. Simulating ultimate simulation performance will be. Here we introduce contact dynamics with a velocity-stepping method is in itself new quantitative measures of simulation performance, focusing problematic because it calls for solving NP-hard problems at on the numerical challenges that are typical for robotics as each simulation step. Consequently much recent effort in this opposed to multi-body dynamics and gaming. We then present area has focused on developing convex approximations that extensive simulation results, obtained within a new software framework for instantiating the same model in multiple engines yield similar contact behavior while being more tractable and running side-by-side comparisons. Overall we find that computationally [8], [9], [10], [11], further complicating the each engine performs best on the type of system it was designed question of physical accuracy. and optimized for: MuJoCo wins the robotics-related tests, The notion of a physics engine in multi-body dynamics while the gaming engines win the gaming-related tests without and gaming dates back to MathEngine, and indeed many of a clear leader among them.
    [Show full text]
  • Evaluation of Open Dynamics Engine Software
    Evaluation Of Open Dynamics Engine Software R.C.Kooijman D&C 2010.022 Traineeship report Coach(es): dr.ir.D.Kostic Supervisor: prof.dr.ir.H.Nijmeijer Eindhoven University of Technology Department of Mechanical Engineering Dynamics & Control Eindhoven, March, 2010 2 Contents 1 Introduction and Overview 5 1.1 Introduction . 5 1.2 Goals and Contributions . 5 2 Introduction to OpenDE 7 2.1 Introduction . 7 2.2 Definitions . 7 2.3 Simulation Environment . 8 2.3.1 Objet Oriented Approach . 8 2.3.2 Users . 8 2.3.3 Wrapper . 9 2.3.4 Open Source . 10 2.4 Simulation Architecture . 10 3 Closer Look at Open Dynamics Engine 12 3.1 OpenDE In Robotics . 12 3.2 ODE Features . 12 3.3 Coulomb Friction model . 13 3.4 EPR and CFM Parameters . 14 3.4.1 Soft constraint and constraint force mixing (CFM) . 14 3.4.2 Using ERP and CFM . 15 3.5 Sources Of Error . 15 3.5.1 Numerical Integration . 15 3.5.2 Degrees Of Freedom . 15 3.5.3 Machine Precision . 16 3.5.4 Friction Model . 16 3.5.5 Solutions to the error problem . 16 4 Simulations 17 4.1 Introduction . 17 4.2 Evaluation Criterium . 17 5 Double Pendulum 18 5.1 Model Description . 18 5.1.1 Deriving the Equations Of Motion . 18 5.1.2 Newton-Euler with Constraints, as Implemented in OpenDE . 19 5.1.3 Integration . 21 5.2 Implementation . 22 5.2.1 Introduction . 22 5.2.2 Particle object . 22 5.2.3 Force object .
    [Show full text]
  • 10: Multiple Contact Resolution 22/02/2016
    10: MULTIPLE CONTACT RESOLUTION 22/02/2016 CS7057: REALTIME PHYSICS (2015-16) - JOHN DINGLIANA PRESENTED BY MICHAEL MANZKE 22/02/2016 2 Image © 2003 E. Guendelman, R. Bridson and R. Fedkiw CS7057: REALTIME PHYSICS (2015-16) - JOHN DINGLIANA PRESENTED BY MICHAEL MANZKE 22/02/2016 3 COMPLEX CONTACT MANIFOLDS Most contacts usually not just a single point colliding but contact manifold Contact Force and Equivalence Principle [Erleben05] : Equivalent forces or impulses exist such that when they are applied to the convex hull of the contact region, the same resulting motion is obtained, which would have resulted from integrating the true contact force or impulse over the actual contact region [Erleben05] Erleben, K., Sporring, J., Henriksen, K., and Dohlman, H., Physics Based Animation. Charles River Media, August 9, 2005. CS7057: REALTIME PHYSICS (2015-16) - JOHN DINGLIANA PRESENTED BY MICHAEL MANZKE Images © 2014 John Dingliana 22/02/2016 4 CONTACT REDUCTION Contacts reduced to those on the convex hull of the manifold. Use K-means clustering Then further reduce those that and cluster reduction cause minimal change to the hull area Pre-process features in a scene making edges inactive if not important for collisions e.g. interior edges, concave edges Use initial guess and then warm starting in subsequent frames exploiting temporal coherency. [Morvanszky04] Morvanszky and Terdiman. Fast Contact Reduction for Dynamics Simulation. Game Programming Gems 4. Charles River Media. 2004. pp 253-263 CS7057: REALTIME PHYSICS (2015-16) - JOHN DINGLIANA PRESENTED BY MICHAEL MANZKE 22/02/2016 5 PENALTY METHODS Amongst the earliest solutions and still widely used Easy to implement compared to other methods Some problems for rigid objects Objects too springy → not plausible Increase stiffness → leads to instability for large time steps Increase # timesteps → computationally expensive Images © Erleben et al & Charles River Media 2005.
    [Show full text]