Merken

# Multibody Simulation using sympy, scipy and vpython

#### Automatisierte Medienanalyse

## Diese automatischen Videoanalysen setzt das TIB|AV-Portal ein:

**Szenenerkennung**—

**Shot Boundary Detection**segmentiert das Video anhand von Bildmerkmalen. Ein daraus erzeugtes visuelles Inhaltsverzeichnis gibt einen schnellen Überblick über den Inhalt des Videos und bietet einen zielgenauen Zugriff.

**Texterkennung**–

**Intelligent Character Recognition**erfasst, indexiert und macht geschriebene Sprache (zum Beispiel Text auf Folien) durchsuchbar.

**Spracherkennung**–

**Speech to Text**notiert die gesprochene Sprache im Video in Form eines Transkripts, das durchsuchbar ist.

**Bilderkennung**–

**Visual Concept Detection**indexiert das Bewegtbild mit fachspezifischen und fächerübergreifenden visuellen Konzepten (zum Beispiel Landschaft, Fassadendetail, technische Zeichnung, Computeranimation oder Vorlesung).

**Verschlagwortung**–

**Named Entity Recognition**beschreibt die einzelnen Videosegmente mit semantisch verknüpften Sachbegriffen. Synonyme oder Unterbegriffe von eingegebenen Suchbegriffen können dadurch automatisch mitgesucht werden, was die Treffermenge erweitert.

Erkannte Entitäten

Sprachtranskript

00:02

the but so this is the outline of my

00:08

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

00:32

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

00:52

and some think baggage name it is said what move Boston which is variance mortarboard

01:03

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

02:00

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

02:56

years what is the problem writing them down and integrating them well the problem here is as you will see it in my talk

03:06

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

04:21

a each of the spreading branches and it's

04:25

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

04:46

and so what package of using empire smallest the the basis of this 1 simple idea

04:57

is edited these guys who produce some pie they were doing a really really really great job and I would like to

05:06

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

05:52

this and yeah I

05:56

not I would like not to forget these packages it's really

06:01

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

06:18

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

06:33

and this is good and there are some ODE solvers in some fine the way will so in the end we need some

06:42

graphics graphics we did with the Python the price in is that yeah and medium

06:50

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

07:42

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

08:21

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

08:38

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

09:10

talk about this type of joint cut down the excess revenue would for example if you think about higher on a car

09:18

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

09:34

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

10:47

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

12:11

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

13:21

linearization you can always put this like job at the right equation into your answer to the question and here

13:31

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

16:08

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

16:38

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

17:37

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

17:52

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

18:03

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

18:31

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

18:49

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

19:09

I will show say examples and for his

19:12

examples and not

19:15

only the picture but also the results movies this could be strike

20:00

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

20:47

know if I give you a little sigh 11 skip some

20:56

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

21:45

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

22:07

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

22:54

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

23:19

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

23:45

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

24:12

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

24:43

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

25:49

this step all of these degrees

25:52

of freedom has to keep that in Cartesian coordinates that it works with so now here's let's this is this is

26:02

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

26:28

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

26:50

so I would give the

26:52

examples and goes to a future work what do is the this the last this is

27:19

not very but but but and

27:33

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

27:44

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

28:10

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

28:55

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

00:00

Assembler

Font

Mathematisierung

Information

Datensicherung

Computersimulation

Computeranimation

00:30

Metropolitan area network

Programmierumgebung

Datensicherung

Computersimulation

Varianz

Computeranimation

01:02

Prozess <Physik>

Gleichungssystem

Physikalisches System

Programmierumgebung

Biprodukt

Computersimulation

Computeranimation

Metropolitan area network

Basisvektor

Skript <Programm>

Softwareentwickler

Nichtnewtonsche Flüssigkeit

Stochastische Abhängigkeit

Computersimulation

Schreib-Lese-Kopf

02:55

ATM

Kraftfahrzeugmechatroniker

Nebenbedingung

Prozess <Physik>

System Dynamics

Assembler

Verzweigendes Programm

Computersimulation

Computeranimation

Roboter

Metropolitan area network

Arithmetischer Ausdruck

Multiplikation

Forcing

Softwareentwickler

Baum <Mathematik>

Computersimulation

Tabelle <Informatik>

04:20

System Dynamics

Verzweigendes Programm

Computersimulation

Computersimulation

Computeranimation

04:43

Algebraisches Modell

Kraftfahrzeugmechatroniker

Momentenproblem

Algebraisches Modell

Symboltabelle

Derivation <Algebra>

Biprodukt

Computersimulation

Computeranimation

Übergang

Integral

Metropolitan area network

Prozess <Informatik>

Rechter Winkel

Basisvektor

Pi <Zahl>

05:51

Gewöhnliche Differentialgleichung

Lineare Abbildung

Algebraisches Modell

Speicherabzug

Kardinalzahl

Optimierung

Computersimulation

Computeranimation

06:17

Gewöhnliche Differentialgleichung

Metropolitan area network

Algebraisches Modell

Computersimulation

Computeranimation

Gewöhnliche Differentialgleichung

06:41

Quelle <Physik>

Softwaretest

Systemprogrammierung

Quelle <Physik>

Quader

Metropolitan area network

Nichtlinearer Operator

Gleichungssystem

Primitive <Informatik>

Ungerichteter Graph

Computersimulation

Computersimulation

Computeranimation

07:41

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

08:34

Physikalisches System

Freiheitsgrad

Punkt

Siedepunkt

Zahlenbereich

Kantenfärbung

p-Block

Computersimulation

Computeranimation

Kartesische Koordinaten

09:07

Data Encryption Standard

Metropolitan area network

Physikalisches System

Konstante

Datentyp

Ruhmasse

Kraft

p-Block

Schnitt <Graphentheorie>

Computersimulation

Computeranimation

Kartesische Koordinaten

09:33

Gravitation

Nebenbedingung

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

Office-Paket

Verdeckungsrechnung

Moment <Stochastik>

Forcing

p-Block

12:09

Nebenbedingung

Gleichungssystem

Kraft

Computeranimation

Metropolitan area network

Physikalisches System

Domain-Name

Prozess <Informatik>

Punkt

Computersimulation

Aussage <Mathematik>

Differential-algebraisches Gleichungssystem

Addition

Winkel

Stochastische Abhängigkeit

Algebraische Gleichung

Systemaufruf

Erschütterung

Computersimulation

Linearisierung

Portscanner

Forcing

Loop

Speicherabzug

p-Block

13:28

Punkt

Spiegelung <Mathematik>

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

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

16:36

Softwareentwickler

Stabilitätstheorie <Logik>

Datentyp

Prozess <Physik>

Bewegungsgleichung

Regulärer Ausdruck

Zahlenbereich

Kardinalzahl

Extrempunkt

Rechnen

Computersimulation

Computeranimation

Linearisierung

Physikalisches System

Metropolitan area network

Funktion <Mathematik>

Eigenwert

Stichprobenumfang

Pi <Zahl>

Analysis

17:52

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

18:31

Gewöhnliche Differentialgleichung

Metropolitan area network

Softwareentwickler

Funktion <Mathematik>

Momentenproblem

Open Source

Regulärer Ausdruck

Unternehmensarchitektur

Systemaufruf

Computersimulation

Computeranimation

19:07

Resultante

Metropolitan area network

Kreisbewegung

Lineare Abbildung

Analog-Digital-Umsetzer

Computersimulation

Computeranimation

Kartesische Koordinaten

19:43

Rechenschieber

Metropolitan area network

Nebenbedingung

Forcing

Datenerfassung

Unrundheit

Physikalisches System

Computeranimation

Gammafunktion

Touchscreen

20:50

Quelle <Physik>

Spiegelung <Mathematik>

Vererbungshierarchie

Zeiger <Informatik>

Computeranimation

Touchscreen

21:43

Kraftfahrzeugmechatroniker

Vererbungshierarchie

Zwei

Gleichungssystem

Vektorraum

Computeranimation

Kreisbogen

Sinusfunktion

Metropolitan area network

Forcing

Existenzsatz

Konstante

ATM

Verweildauer

Freier Ladungsträger

Gammafunktion

Aggregatzustand

Informationssystem

22:53

Binärdaten

Kraftfahrzeugmechatroniker

System Dynamics

Decodierung

Abstrakter Syntaxbaum

Schlüsselverwaltung

Kraft

Physikalisches System

Menge

Computeranimation

Arithmetisches Mittel

Metropolitan area network

Konstante

Computersimulation

Gammafunktion

23:44

Bit

Momentenproblem

Schlüsselverwaltung

Stichprobe

Kraft

Extrempunkt

Computeranimation

Übergang

Freiheitsgrad

Metropolitan area network

Echtzeitsystem

Ebene

Konstante

Codierung

Partikelsystem

Computersimulation

Informationssystem

Gammafunktion

24:42

Eigenwertproblem

Nebenbedingung

Decodierung

Schlüsselverwaltung

Spielkonsole

Stichprobe

Kraft

Extrempunkt

Rechnen

Computeranimation

Arithmetisch-logische Einheit

Metropolitan area network

Minimalgrad

Flächeninhalt

Forcing

Konstante

Datenerfassung

Gleitendes Mittel

Computersimulation

Gammafunktion

25:51

Binärdaten

SCSI

Schlüsselverwaltung

Spielkonsole

Stichprobe

Kraft

Extrempunkt

Menge

Computeranimation

Arithmetisch-logische Einheit

Metropolitan area network

Vorzeichen <Mathematik>

Computersimulation

Gammafunktion

26:23

Metropolitan area network

Jensen-Maß

Gradient

Computeranimation

Funktion <Mathematik>

26:51

Metropolitan area network

Diskrete-Elemente-Methode

Julia-Menge

Konstante

Hausdorff-Raum

Extrempunkt

Ext-Funktor

Maskierung <Informatik>

Personal Area Network

Computeranimation

27:16

Tabusuche

Kreisbewegung

Lineare Abbildung

Metropolitan area network

Loop

Analog-Digital-Umsetzer

ATM

Konstante

Unruh-Effekt

Extrempunkt

Computersimulation

Computeranimation

27:43

Softwaretest

Objekt <Kategorie>

Schnittstelle

Bit

Prozess <Physik>

Sichtenkonzept

Standardabweichung

Compiler

Validität

Serielle Schnittstelle

Computersimulation

Computersimulation

Computeranimation

28:50

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 |

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