What is PyDy?

Updated

PyDy (short for Python Dynamics) is a workflow and a set of software packages for studying multibody dynamics with Python. It is aimed at people who need to derive and then simulate the motion of mechanical systems with multiple interconnected bodies — for example, linked pendulums, robotic arms, or vehicle models. The core of the toolset is the SymPy mechanics package, which generates symbolic equations of motion for complex multibody systems; PyDy then extends that symbolic output into the numerical domain for simulation, analysis, and visualization.

How the pieces fit together

PyDy is best understood as two things at once:

  • A workflow — a way of working that combines several scientific Python tools to go from a mechanical system description to simulated results.
  • A set of software packages — code that automates and enhances that workflow.

The division of labor is the key idea:

Stage What handles it What you get
Symbolic derivation SymPy mechanics package Symbolic equations of motion for the multibody system
Numerical work PyDy Simulation, analysis, and visualization of those equations

So SymPy produces the equations; PyDy carries them into numerical simulation and plotting.

What it builds on

PyDy does not stand alone. It builds on the widely used scientific Python stack, including NumPy, SciPy, IPython, matplotlib, Cython, and Theano. If you already work in that ecosystem, PyDy fits into it rather than replacing it.

What you can find on the site

The PyDy website organizes its material into a few main areas:

  • Download — with a latest version and a development version
  • Documentation
  • History
  • Google Summer of Code
  • Commands
  • Beginner's Tutorial
  • A Chaotic Pendulum Example
  • A Double Pendulum Example

The two worked examples — a chaotic pendulum and a double pendulum — are useful starting points if you want to see the workflow applied to concrete systems before setting up your own.

Release and community history

The site's recent posts and archives give a sense of the project's activity:

  • PyDy 0.3.1 was released on 06 Jan, 2016
  • PyDy 0.3.0 was released on 18 Jun, 2015
  • PyDy participated in Google Summer of Code in 2015, and also in 2014
  • PyDy was presented at SciPy 2014

Posts are categorized under Google Summer of Code and Releases, with archives spanning 2013 through 2016.

Who it is for

PyDy suits you if your problem involves multiple interacting bodies and you want equations of motion derived symbolically rather than by hand, then simulated numerically. If your interest is purely numerical simulation without symbolic derivation, or purely symbolic manipulation without simulation, only part of the toolset will be relevant. The beginner's tutorial and the pendulum examples are the natural entry points to judge whether the workflow matches how you want to work.