Merken

Multibody Simulation using sympy, scipy and vpython

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
the but so this is the outline of my
my talk today at the 1st of all an introduction about what about simulation next um yeah OK some background information and then I would like to show you some assemblies so I would fill this talk um at least half of it but to show you some assemblies so that you get an X. impression what is in
fact possible that this package in the end and this package is not uh in public already it will be published maybe in September and in the end I will give you a short short note of Due to work and
and some think baggage name it is said what move Boston which is variance mortarboard
symbolic so in fact there are 2 different ways to approach this problem you can use symbolic equations and you can stick more to it American side most of the most of the in Industrial Park and industrial products that stick to the numerical side but we decided to approach it analytically a what aim is to provide on the basis of existing bed Python packages to pro-whites once in a while a complete multibody simulation to with soul why is this important for us and mean you can guess that we want to be independent from market leaders and market leaders in for example a simple or also yellow or also Adams and cause a whole lot
of money and the license and and all of these companies are now not so they are now yeah bought by a very big companies so it is not possible to work with them to stick in this development process much the 2nd scripting abilities include its head and of course that's in Python so it's uh it's so I'm of course include and 3rd educational purposes so what this modified simulation wanted but assimilation deals with them systems which can be described by these equations do that in Newtonian on the equations and they they had differential equations and so they are well known since several hundred
years what is the problem writing them down and integrating them well the problem here is as you will see it in my talk
and this is not only an expression which you can write down on it said it happens that most of what he body simulation assemblies include constraints and constraints on like a ball which runs on the table and or sliders so what so ever so this constraint forces are infects the difficult thing in multiple assimilation and we look back at the development process of 30 years more or there's not ask but in general so that there a the on the community at the end the scientific community and work on was working on this problem since more than 30 years and you can imagine there come up with a whole constant papers or the fair and and yeah and you cannot expect to to climb up within half a year on top but we are very enthusiastic and we think we can go ahead to so use cases itself this mode of assimilation is mechanical engineering grounding the dynamic robotics and by mechanics each of these branches and more of where
a each of the spreading branches and it's
modern and relevant so I'm working and ground read the dynamics and some on 7 years and I'm doing right and handling simulation for another company right now and I know but how what would do difficulties oranges
and so what package of using empire smallest the the basis of this 1 simple idea
is edited these guys who produce some pie they were doing a really really really great job and I would like to
thank you with those people it's a symbolic algebra package so 100 places more than these 3 product and it's on a very it's a right at the moment it's on the advanced level so it's not that you can just through some guided by derivatives so integrals it's it's on the high advanced level and it also includes already you want mechanics so why do not pass all these together so these loose ends together and and produce something which with which you can do all your multiple discrimination so finally we tried to do
this and yeah I
not I would like not to forget these packages it's really
really helpful and maybe the core of numerical and scientific Python programming compliance and and without these it would not happen anything about the of these
foreign linear algebraic so was the username and they're very very worried that once and not forget well tested so with these packages are so well tested that you can trust
and this is good and there are some ODE solvers in some fine the way will so in the end we need some
graphics graphics we did with the Python the price in is that yeah and medium
bonds it's it's really really nice but it's the test primitives called primitive some rocks springs and so on and you can put these together and make all of of these your some of your graphics simulation in fact you need this to make sure that your are assembled equations behave value so just a visual check off your own solutions I mean you cannot just solve your operations and then put some some some graphs and then you cannot judge if this this done really nice so a really good have some visualize them j
now some background theory on the other side to make this short William blocks of from mechanical system and you have your body's everybody has 6 degrees of freedom the translation of patients including the time derivatives you end up with 12 degrees of freedom so each body shirts and leads to uh uh yeah tool to 12th lines in your and system of ordinary differential equations if there wouldn't be some possibilities to boil it down my each of these
bodies has much mass the moment of inertia of intrinsic so this is the figure citation this is not mine this is all some of my figures so either side it's you can't boil down
but you can boil down on the number of degrees of freedom by 2 points joints you can think about these 2 bodies are connected to reinstalling sliding of scarlet color and in fact it's technically done more necessary in each of these joints and can be produced in a technical sense and In the end but this joints you reduce the numbers of degrees of freedom here we
talk about this type of joint cut down the excess revenue would for example if you think about higher on a car
it's just read the except that appear in front front tire can also steer but Monasterevin good so it's a revenue joint these in
these equations appears forces and torques forces and torques accelerates masters so forces most of the time appear pairwise so if 1 body and subtracting another it's it's it's the same done for you for that for the other body so but you have different types of forces pairwise forces so think about son and Earth for example the external forces if you just want to find um a system of government out of a mechanical system on earth you would enter degradation of force of course and you wouldn't include office as an independent and mask but just would at your gravitational field as an ex kind of external forces and the difficult things the constraint forces for example if you have here so affairs and a abortus running on the surface the surface would x the force on the ball to be on surface so
in we divide assimilation will see most many times these kind of and these kind of drawings because these kind of drawings so most of the things included here for example you have a change of bodies and their their yard joints and you can see if you if you switch from Cartesian coordinates to adjust the angle here you can reduce it somehow the number of degrees of freedom nobody will write this down in Cartesian coordinates at an angle so that's you know if the generalized coordinates are minimal it equals the number of degrees of freedom but it is not always the case so you can have more generalized coordinates so you would have on top of it some equations which gives you with the constraints and even the generalized coordinates are not unique so you can for example measured the angle towards the that axis or towards the axis of the previous body so is not at all unique the dataset often corner
uh 1 problem which is really a maybe a domain on the call 1 of the core problems in which a body simulation is this 1 so if you have uh this is called the constrained you if you do not just have a yacht yachts joins but if you have another constraint in the end which yields a constrained you or you can say OK these angles here on top of that are somehow connected to each other they cannot see the cannot be independent at all and this is called constraint you and this constant produces another equation most of the time algebraic equations and as added vibration you can take care of it in the several possibilities to to to solve these kind of problems that most of the time there are dead differential algebraic equation methods but they are very costly and in Python may be too slow so we propose here solution according to the partial 1 with additional job force for
linearization you can always put this like job at the right equation into your answer to the question and here
this is this is the set of methods we can use to make to generate our equations of motion and in this package some pie they produced you already canes method which is also called the principle of function and low-cost methods number 2 evidence patients this and another possible possibility but not used OK so I will show you what how it is used and just needs to spend you're using you just need to have an object which set up your world and just give you of world coordinate system and a market a market is always the coordinate system in the language of antibodies which and there are methods provided to and bodies and markers so extra coordinate systems and external forces extra constraints and for example reflective balls an ODE solver is connected 1 is automatically in a 3 D strategic geographical vector and connected automatically so each each body you signs up in the graphical back and and appears somehow as you want it to be a period I will show you examples later some physical quantities are provided like energy forces velocity and so on you can if and if you what I mean we are inside Python so you can you can calculate what ever you want here and this is this is the advantage new and interesting so uh what what put what did we put into this work we would like to have a completeness of joints and tools and that the Jacobian is calculated for linearization analysis so this is on top of and nice feature of the nice features the linearization toward which is already in some part is kind of completed and you can we can detect automatically independent independent coordinates and so on constraints you our more this kind of solves to external models and parameters can be included as a very important point here the external models which I will show you in 1 example would I We have also some B-splines which can be used if you don't have an analytical expression for the force you can
also include some kind of B-splines for having a representative of the 4th functions so sometimes measurements don't give you analytical expressions OK according size set up the system here is this your your model simulation world you enter bodies democracy forces and your force models to external force model your geometric constraint and
solving sampling and solving this the US Justice 1 here you have maybe use some constant like the gravitational constant you give it a number you produced equations of motion and integrates them processing is calculation of linear analysis of linearizations of stability analysis to prepare and animate your wrist OK if you would like to be developed once in time or if you would like to work with some pie once the time you should be aware of these 3 things I mean you should be be aware of many things but these 3 especially never use empire for numerics and do not try to use for for example to use some prior to solve for the eigenvectors it is it will
never happen that it is it will never be as fast as online so find the the right steps between simple to employ OK so I get assigned for 10 minutes and also I will
hurry and up and land if i is 1 of the core functions of some part I mean if you have an edge of rights expression what
can you do with it and uh in a computer you would like to introduce that as a function and to use it as a function you use this word which is called 95 you 95 expressions into Python functions and this is remote maybe the most impressive in mention here not our from supply and ODE solvers that don't use your own so even if you
if it looks like fun to produce 1 it is not never as good as those which are around and use those we use and audio so I and this is also called sundials maybe if you are interested in these topics
you know did sundials is an open source which is all there but not connected to Python at the moment disconnected but it stopped kind of enterprise and 2 . 6 or so so I would like to really I would like to connect to floor and used to send us all of which is really good my OK
I will show say examples and for his
examples and not
only the picture but also the results movies this could be strike
OK this is bad because knowledge of this here on my screen and not on the screen I wanted it to be a so this is what comes out more this is the crank slide something called prints light and the system this is a simple example for constrained you hear this goes round and round and this goes linearly so this is rotating linear this CV and put in all forces and here and uh extra constraint so so this if you don't put this constraint forces here would be just dependent so I don't
know if I give you a little sigh 11 skip some
of these because they have 12 and this is too much maybe this 1 and yeah some some spring and so reflective walls here it said that this uh um positioned as a reflective for it's interesting because it's not so fluent but I don't know why because it's in the middle of 2 2 screens be here so this is reflective for example that
would show on this 1 this is a simple kind and this is non-trivial and mean maybe you can you can see there's uh that status sampling these equations takes around 60 seconds ago yeah so in these
equations state has come out by this mechanism and this mechanism has told you it was quite easy so we just bodies markers special forces and so on and in the end here this is the steering wheel is in India and India and the existence of studying starting vector so you need starting vectors and India and we just call here came the fife and then these equations are assembled and now it's and 60 seconds something which was of motion and a wise
is non-trivial because there is not only the mechanics which you can see here is also kind of an external model that's a prior model which you plug in and prior models gives you a mean if you if you think about tires and if you think about tires it's a nontrivial external model and I'm working in ground because
dynamics so it matters a lot to plug it into your system nontrivial external models and bigger the nice thing here is that did it as a possible to do this now it's integrating but the have
their own 27 degrees of freedom in fact want to get a not 28 so it's it's OK it's fast it's not real time at the moment but it's fast so it's not about I mean if you would like to make it real time you would have to export its on it in a C or Fortran codes then it would be real time but at this level it does not
but it's OK so but somehow it's a little bit slower don't know why meaning some resources here yeah and I can tell you this we used Pacheco model and particle maybe 1 of the uh some some of you
may know this but you guys so it's a professor on his working on time models and he's really really famous on this in this area of research and tires they are quite interesting to model the cost that's rubble and rapid it's always difficult so for example if you think about and Rolling rolling tyres so uh you all of these sometimes include the no-slip and no slip um constraint but the bias this would never work was highest producing and the longitudinal and vertical force only with slip so you have to include in your calculations some known and you on top of this we have calculated in the and the eigenvalues of the Jacobian so you can see this and now I will I will go into the animation In
this step all of these degrees
of freedom has to keep that in Cartesian coordinates that it works with so now here's let's this is this is
all kind model it looks simple but that's OK and it is in fact moralist fixed on 1 0 so that and this is the sign staring at a simple manner assigned during and but it's nice that it's but it's working working
well can see it's breaking India and here on top I can show you just we have also some outputs calculated for the Tigers special special values for the tires and put this into these and graph OK
so I would give the
examples and goes to a future work what do is the this the last this is
not very but but but and
I was really thought about what make it this as simply a creations persistent is is non-trivial because they understand yeah OK there simply is an hour not
they're quite a complex objects so that ordered view which is marked with which I really like but it's based on a serialization and very complex objects can be serialized this way and then I would like to do is to make it persistent because to skip the Assembly which may take a little bit of time so graphics always some
improvements to be done model validation and testing time compilation is another nice idea to speed up the cost of processing is upon us maybe you you know this package OK so Due to the work completed basic sciences September and for the the simulation so going to to end up with a nice for the assimilation better than that 1 I showed you October and December 1915 and thank you for your attention and I would like to invite you to ask questions thank you very much be it a if
you want all the but you talked about transitioning from symphytum number right to do an American compilations computations is the ultimate that ball from symphytum hard perhaps and and at the moment I'm not aware that they are closely connected and and this is this is a kind of a picture for I think that you have to yeah and except for this land like land defined you need sometimes if you plot the numbers in just a converts your system climate justice to to to nonparametric this 1 by 1 and this is how I did it and this works fine thanks OK so what few
Assembler
Font
Mathematisierung
Information
Datensicherung
Computersimulation
Computeranimation
Metropolitan area network
Programmierumgebung
Datensicherung
Computersimulation
Varianz
Computeranimation
Prozess <Physik>
Gleichungssystem
Physikalisches System
Programmierumgebung
Biprodukt
Computersimulation
Computeranimation
Metropolitan area network
Basisvektor
Skript <Programm>
Nichtnewtonsche Flüssigkeit
Softwareentwickler
Stochastische Abhängigkeit
Computersimulation
Schreib-Lese-Kopf
Kraftfahrzeugmechatroniker
Nebenbedingung
ATM
Prozess <Physik>
System Dynamics
Assembler
Verzweigendes Programm
Computersimulation
Computeranimation
Roboter
Metropolitan area network
Arithmetischer Ausdruck
Multiplikation
Forcing
Softwareentwickler
Baum <Mathematik>
Computersimulation
Tabelle <Informatik>
System Dynamics
Verzweigendes Programm
Computersimulation
Computersimulation
Computeranimation
Algebraisches Modell
Kraftfahrzeugmechatroniker
Momentenproblem
Algebraisches Modell
Derivation <Algebra>
Symboltabelle
Biprodukt
Computersimulation
Computeranimation
Übergang
Integral
Metropolitan area network
Prozess <Informatik>
Rechter Winkel
Basisvektor
Pi <Zahl>
Gewöhnliche Differentialgleichung
Lineare Abbildung
Algebraisches Modell
Speicherabzug
Kardinalzahl
Optimierung
Computersimulation
Computeranimation
Gewöhnliche Differentialgleichung
Metropolitan area network
Algebraisches Modell
Computersimulation
Computeranimation
Gewöhnliche Differentialgleichung
Quelle <Physik>
Softwaretest
Systemprogrammierung
Quelle <Physik>
Quader
Metropolitan area network
Nichtlinearer Operator
Gleichungssystem
Primitive <Informatik>
Ungerichteter Graph
Computersimulation
Computersimulation
Computeranimation
Kraftfahrzeugmechatroniker
Trägheitsmoment
Siedepunkt
Ruhmasse
Trägheitsmoment
Derivation <Algebra>
p-Block
Physikalisches System
Extrempunkt
Computersimulation
Physikalische Theorie
Computeranimation
Gewöhnliche Differentialgleichung
Physikalisches System
Freiheitsgrad
Momentenproblem
Ruhmasse
Translation <Mathematik>
Derivation <Algebra>
p-Block
Figurierte Zahl
Gerade
Kartesische Koordinaten
Physikalisches System
Freiheitsgrad
Punkt
Siedepunkt
Zahlenbereich
Kantenfärbung
p-Block
Computersimulation
Computeranimation
Kartesische Koordinaten
Data Encryption Standard
Metropolitan area network
Physikalisches System
Konstante
Datentyp
Ruhmasse
Kraft
p-Block
Schnitt <Graphentheorie>
Computersimulation
Computeranimation
Kartesische Koordinaten
Nebenbedingung
Gravitation
Subtraktion
Mathematisierung
Zahlenbereich
Gleichungssystem
Kartesische Koordinaten
Kraft
Computeranimation
Freiheitsgrad
Physikalisches System
Flächentheorie
Datentyp
Konstante
Ortsoperator
Kraftfahrzeugmechatroniker
Data Encryption Standard
Winkel
Winkel
Physikalisches System
Paarvergleich
Computersimulation
Verdeckungsrechnung
Office-Paket
Moment <Stochastik>
Forcing
p-Block
Nebenbedingung
Gleichungssystem
Kraft
Computeranimation
Metropolitan area network
Physikalisches System
Domain-Name
Prozess <Informatik>
Punkt
Computersimulation
Aussage <Mathematik>
Addition
Differential-algebraisches Gleichungssystem
Stochastische Abhängigkeit
Winkel
Systemaufruf
Algebraische Gleichung
Erschütterung
Computersimulation
Linearisierung
Portscanner
Forcing
Loop
Speicherabzug
p-Block
Spiegelung <Mathematik>
Punkt
Formale Sprache
Selbstrepräsentation
Analysis
Computeranimation
Gewöhnliche Differentialgleichung
Metropolitan area network
Arithmetischer Ausdruck
Jacobi-Verfahren
Einflussgröße
Inklusion <Mathematik>
Lineares Funktional
Parametersystem
Vervollständigung <Mathematik>
Datentyp
Trägheitsmoment
Frequenz
Computersimulation
Linearisierung
Endlicher Graph
Menge
Forcing
Koordinaten
Ext-Funktor
Mathematische Größe
Geschwindigkeit
Nebenbedingung
Lineare Abbildung
Zahlenbereich
Kraft
Physikalisches System
Service provider
Front-End <Software>
Konstante
Pi <Zahl>
Virtuelle Realität
Computersimulation
Analysis
Transformation <Mathematik>
Bewegungsgleichung
Physikalisches System
Vektorraum
Menge
Gewöhnliche Differentialgleichung
Objekt <Kategorie>
Portscanner
Energiedichte
Thetafunktion
Loop
Mereologie
Parametersystem
Simulation
Softwareentwickler
Stabilitätstheorie <Logik>
Datentyp
Prozess <Physik>
Bewegungsgleichung
Regulärer Ausdruck
Zahlenbereich
Kardinalzahl
Extrempunkt
Rechnen
Computersimulation
Computeranimation
Linearisierung
Physikalisches System
Metropolitan area network
Trigonometrische Funktion
Funktion <Mathematik>
Eigenwert
Stichprobenumfang
Pi <Zahl>
Analysis
Lineares Funktional
Softwareentwickler
Regulärer Ausdruck
Computersimulation
Computeranimation
Gewöhnliche Differentialgleichung
Metropolitan area network
Arithmetischer Ausdruck
Funktion <Mathematik>
Rechter Winkel
Mereologie
Speicherabzug
Wort <Informatik>
Computersimulation
Gewöhnliche Differentialgleichung
Metropolitan area network
Softwareentwickler
Funktion <Mathematik>
Momentenproblem
Open Source
Regulärer Ausdruck
Unternehmensarchitektur
Systemaufruf
Computersimulation
Computeranimation
Resultante
Metropolitan area network
Kreisbewegung
Lineare Abbildung
Analog-Digital-Umsetzer
Computersimulation
Computeranimation
Kartesische Koordinaten
Rechenschieber
Metropolitan area network
Nebenbedingung
Forcing
Datenerfassung
Unrundheit
Physikalisches System
Computeranimation
Gammafunktion
Touchscreen
Quelle <Physik>
Spiegelung <Mathematik>
Vererbungshierarchie
Zeiger <Informatik>
Computeranimation
Touchscreen
Kraftfahrzeugmechatroniker
Vererbungshierarchie
Zwei
Gleichungssystem
Vektorraum
Computeranimation
Kreisbogen
Sinusfunktion
Metropolitan area network
Forcing
Existenzsatz
Konstante
ATM
Verweildauer
Freier Ladungsträger
Gammafunktion
Aggregatzustand
Informationssystem
Binärdaten
Kraftfahrzeugmechatroniker
System Dynamics
Decodierung
Abstrakter Syntaxbaum
Schlüsselverwaltung
Kraft
Physikalisches System
Menge
Computeranimation
Arithmetisches Mittel
Metropolitan area network
Trigonometrische Funktion
Konstante
Computersimulation
Gammafunktion
Bit
Momentenproblem
Schlüsselverwaltung
Stichprobe
Kraft
Extrempunkt
Computeranimation
Übergang
Freiheitsgrad
Metropolitan area network
Echtzeitsystem
Ebene
Konstante
Codierung
Partikelsystem
Computersimulation
Informationssystem
Gammafunktion
Eigenwertproblem
Nebenbedingung
Decodierung
Schlüsselverwaltung
Spielkonsole
Stichprobe
Kraft
Extrempunkt
Rechnen
Computeranimation
Arithmetisch-logische Einheit
Metropolitan area network
Trigonometrische Funktion
Minimalgrad
Forcing
Flächeninhalt
Konstante
Datenerfassung
Gleitendes Mittel
Computersimulation
Gammafunktion
Binärdaten
SCSI
Schlüsselverwaltung
Spielkonsole
Stichprobe
Kraft
Extrempunkt
Menge
Computeranimation
Arithmetisch-logische Einheit
Metropolitan area network
Trigonometrische Funktion
Vorzeichen <Mathematik>
Computersimulation
Gammafunktion
Metropolitan area network
Jensen-Maß
Gradient
Computeranimation
Funktion <Mathematik>
Metropolitan area network
Diskrete-Elemente-Methode
Julia-Menge
Konstante
Hausdorff-Raum
Extrempunkt
Ext-Funktor
Maskierung <Informatik>
Personal Area Network
Computeranimation
Tabusuche
Kreisbewegung
Lineare Abbildung
Metropolitan area network
Loop
Analog-Digital-Umsetzer
ATM
Konstante
Unruh-Effekt
Extrempunkt
Computersimulation
Computeranimation
Softwaretest
Objekt <Kategorie>
Schnittstelle
Bit
Prozess <Physik>
Sichtenkonzept
Standardabweichung
Compiler
Validität
Serielle Schnittstelle
Computersimulation
Computersimulation
Computeranimation
Umsetzung <Informatik>
Momentenproblem
Rechter Winkel
Compiler
Zahlenbereich
Physikalisches System
Computersimulation
Computeranimation

Metadaten

Formale Metadaten

Titel Multibody Simulation using sympy, scipy and vpython
Serientitel EuroPython 2015
Teil 170
Anzahl der Teile 173
Autor Braun, Oliver
Lizenz CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
DOI 10.5446/20177
Herausgeber EuroPython
Erscheinungsjahr 2015
Sprache Englisch
Produktionsort Bilbao, Euskadi, Spain

Technische Metadaten

Dauer 30:05

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Oliver Braun - Multibody Simulation using sympy, scipy and vpython The talk is about the implementation of multibody simulation in the scientific python world on the way to a stage usefull for engineering and educational purposes. Multibody simulation (MBS) requires two major steps: first the formulation of the specific mechanical problem. Second step is the integration of the resulting equations. For the first step we use the package sympy which is on a very advanced level to perform symbolic calculation and which supports already Lagrange's and Kane's formalism. The extensions we made are such that a complex mechanical setup can be formulated easily with several lines of python code. The functionality is analogous to well known MBS-tools, with that you can assemble bodies, joints, forces and constraints. Also external forces even in a cosimulation model can be added on top. The second step, the integration is done via ode- integrators implemented in scipy. Finally for visual validation the results are visualized with the vpython package and for further analytics with matplotlib. Conclusion: not only highly constrained pendulums with many rods and springs but also driving simulation of passenger cars an be performed with our new extension using python packages off the shelf.
Schlagwörter EuroPython Conference
EP 2015
EuroPython 2015

Ähnliche Filme

Loading...