Python based modular simulation & postprocessing kickass toolbox
Project description
PyMoskito
PyMoskito stands for Python based modular simulation & postprocessing kickass toolbox and is Free software (GPLv3)
PyMoskito is targeted at students and researchers working in control engineering. It takes care of all structure related programming a let’s you focus on the important things in life: control design.
It features a modular control loop structure that already contains most of the needed blocks a control engineer needs. Basically you implement your systems dynamics as well as a fancy control law and you are ready to go. On top PyMoskito also contains a GUI which let’s you easily fine-tune the parameters of your simulation.
Go ahead and give it a try!
Documentation can be found at https://pymoskito.readthedocs.org.
PyMoskito at work
The main application simulating the Tandem Pendulum system:
Still here? So PyMoskito features
Quick setup due to lightweight dependencies
Modular control loop structure allowing easy configuration
Easy integration of own system models through open interface
Automatic simulation of simulation regimes (i.e. for parameter ranges)
Export of simulation results for dedicated post processing
VTK based 3D visualization interface
Playback functions for 3D visualization
Ready-to-go graphs for all simulation signals
Execution of external C++ code via pybind11
Getting started
Install with pip:
$ pip install pymoskito
and run an example:
$ python -m pymoskito.examples.pendulum
History
0.4.0 (2021-09-17)
Added support to compile and call external C and C++ functions for hardware in the loop tests (Thanks to Jens)
Add the possibility for the visualization the render the current model parameters (#56)
Various improvements regarding plot creation and handling
Visualizers can now be changed during runtime
Migrated CI pipeline to Github Actions
Fix various coding style issues
Fix issue in playback logic (#62)
Dropped support for Python 3.6
0.3.0 (2018-10-01)
Added a new plot system
Added a last simulation list
Added more log messages
Removed latex as an requirement for the main GUI, only required for the Postprocessor
0.2.3 (2018-05-14)
Added sensible examples for Post- and Meta processors in the Ball and Beam example
Fixed Issue regarding the Disturbance Block
Removed error-prone pseudo post processing
Fixed problems due to changes in trajectory generators
0.2.2 (2018-03-28)
Added extensive beginners guide (thanks to Jonas) and tutorial section
Added extended documentation for examples (again, thanks to Jonas)
0.2.1 (2017-09-07)
Fixed issue when installing via pip
Fixed issue with metaprocessors and added example metaprocessor for ballbeam
Downgraded requirements
0.2.0 (2017-08-18)
Second minor release with lots of new features.
Completely overhauled graphical user interface with menus and shortcuts.
PyMoskito now comes with three full-fledged examples from the world of control theory, featuring the Ball and Beam- and a Tandem-Pendulum system.
The main application now has a logger window which makes it easier to see what is going on in the simulation circuit.
Several bugs concerning encoding issues have been fixed
Unittest have been added and the development now uses travis-ci
Version change from PyQt4 to Pyt5
Version change form Python 2.7 to 3.5+
Changed version to GPLv3 and added appropriate references for the used images.
Improved the export of simulation results
Introduced persistent settings that make opening files less painful.
Made vtk an optional dependency and added matplotlib based visualizers.
Large improvements concerning the sphinx-build documentation
Fixed issue concerning possible data types for simulation module properties
Introduced new generic modules that directly work on scipy StateSpace objects.
0.1.0 (2015-01-11)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.