Python

Sie befinden sich hier: :/Tag:Python
  • Teaser

Reglerauslegung mit Python Control Systems Library

Nicht nur Matlab hat eine Control System Toolbox zur Auslegung und Analyse von Regelkreisen, auch Python ist mit der Control Systems Library recht gut aufgestellt.

Im Folgenden soll an einem Beispiel gezeigt werden, wie man mit Python einen Regler entwirft und parametriert, der einen Regelkreis stabilisieren kann.
Regelkreis: Wasserbehälter mit Störung
Das Beispiel ist entnommen aus „Systemdynamische Grundlagen der Regelungstechnik“ der Uni Stuttgart, wo auch die Herleitung der Übertragungsfunktionen erläutert wird. Dies soll hier und im nachfolgenden Tutorial nicht mehr geschehen.

Angesteuert wird der Elektromotor, welcher auf ein Getriebe (Spindel) wirkt, welches ein Ventil stellt, wodurch Wasser in den Behälter einfließt. Die Füllstandshöhe im Behälter wird von einem Sensor (Schwimmer) erfasst und ist die Rückführung.

Der Regler soll nun den Füllstand des Wasserbehälters konstant halten, obwohl es Störungen gibt (z.B. Regen fließt ein oder Wasser wird entnommen).
Reglerauslegung mit Hilfe der Wurzelortskurve
Die Wurzelortskurve (engl. Root-Locus) ist eine von vielen Möglichkeiten einen Regelkreis auszulegen.

Dabei werden die Nullstellen (0) und Pole (X) des gesamten, offenen Regelkreises in der Imaginären Ebene aufgespannt. Dominante Pole sind dicht an der Imaginären Achse (Real=0). Es zeigt sich, dass der Regelkreis grenzstabil ist.

Im folgenden Video wird gezeigt, wie ein Regler ausgelegt und parametriert wird, sodass der Regelkreis ein relativ gutes Störübertragungsverhalten aufweist.

Regelungstechnik mit Python: Wie man einen Regler auslegt
(HD Version mit Klick auf ‚HD‘)

By |03/2015|Categories: Academy|Tags: , , |0 Comments
  • weniger ist besser

Wie man große Dateien auch auf einem kleinen Notebook bearbeitet

Wer sich mit Data Analytics beschäftigt, hat hin und wieder mit sehr großen Dateien zu kämpfen. Diese entstehen schlichtweg heutzutage in vielen Wirtschaftszweigen. Ob Industrie 4.0 oder M2M Kommunikation, überall werden Zahlenkolonnen gespeichert und dann auch hoffentlich irgendwann ausgewertet.

Dabei überschlagen sich die Consultants im Jahrestakt mit neuen Buzzworts zum Thema. Vor einigen Jahren hieß es  noch ‚Cloud‘, aktuell wird über ‚Big Data‘ geschrieben und bald kann man von ‚Smart Data‘ lesen.

Dabei gilt:

Vielleicht liegt es ja daran, dass viele PowerPoint Profis nur Excel auf dem Laptop installiert haben und das ein oder andere mal die nachfolgende Meldung gelesen haben:

Die Reaktion von Excel, wenn man versucht eine 1GB große Daten-Datei in eine Arbeitsmappe zu laden. Ist aber noch kein Big Data Problem. Wer selbst probieren möchte:

Excel stößt mit dieser Datei schon an seine Grenzen. Enthalten sind beispielhafte Daten, wie sie z.B. von unserem CarPC gesendet werden.
UUID, Latitude, Longitude, Value
Und von diesen Datenzeilen eben sehr viele. Versuchen wir nun diese Datei zu öffnen, um damit Berechnungen auszuführen, zu filtern oder Diagramme zu erstellen.
Effizientes Einlesen von großen CSV Dateien mit Python
Mit Python hat man mehrere Möglichkeiten eine Textdatei einzulesen. Wir konzentrieren uns auf 3 typische Module:

das Python CSV Modul, welches der Standard ist
Python Pandas, welches alles vereinfacht
Python Blaze

Schauen wir mal. Alle nachfolgenden Zeitangaben sind natürlich vom System abhängig. Die Zeiten sind auf einem MacBook Pro, 2.5GHz Intel Core i5, 8GB 1600MHz DDR3-RAM, SSD Festplatte mit IPython in der Anaconda Distribution und nur 1x ermittelt.

Einlesen einer 1GB Datei mit Python CSV Modul

Das Lesen der 1GB großen Datei dauert knapp 35s.
Einlesen einer 1GB Datei mit Python Pandas

Das Lesen der 1GB großen Datei dauert knapp 25s. Das ist schnell! Der Entwickler von Pandas, Wes McKinney schreibt
pandas.read_csv from pandas 0.5.0 onward […]

By |01/2015|Categories: DataLab|Tags: , , , , , , |0 Comments
  • unter CC BY-ND 2.0 Lizenz von  lil'_wiz auf flickr.com

GNTM Finale 2014 – Stimmungsanalyse auf Twitter

Wie sieht es aus, wenn eine Maschine den Twitter Stream zu einem Thema mit ließt und Informationen aus diesem generiert? Am Beispiel des „Germany’s Next Topmodel Finale 2014“ möchten wir das mal im Schnelldurchlauf präsentieren.

Die Technik ist die Gleiche, wie am Beispiel des Tatort vorgestellt. Es erfolgt ein Mitschreiben des gesamten Twitter Traffic zu den Hashtags #GNTM, #GNTMFinale und #GNTM2014. Anschließend wird mit dem Natural Language Toolkit eine Analyse der Inhalte der Tweets vorgenommen. Dabei gilt vor allem eines:
Umso mehr Tweets, umso besser!
[…]

By |05/2014|Categories: DataLab|Tags: , , , , |0 Comments
  • Tatort-Twitter-Logo

German #Tatort on Twitter: Natural Language Processing and Sentiment Analysis with Python Pandas and NLTK

[…]

By |05/2014|Categories: DataLab|Tags: , , , , , , , |1 Comment

Fahrdynamik Datenanalyse mit Python Pandas

Unser Low Budget Car PC ist die ideale und kostengünstigste Basis, um Fahrdynamikdaten automatisch und solide mitzuloggen. An die 12V Spannungsversorgung des Fahrzeugs angeschlossen (beispielsweise über den Zigarettenanzünder), übernimmt er ohne weiteres manuelles Zutun beim Einschalten der Zündung das Aufzeichnen der Daten.

[…]

By |01/2014|Categories: Entwicklungen|Tags: , , , , , |0 Comments
  • DataViewServer-Datenquellen

Datenaufzeichnung ist das Eine, unser DataViewServer das Andere

Smartphones machen es so leicht wie nie Daten aufzuzeichnen. Initiativen wie das funf Open Sensing Framework oder auch die Torque App sind relativ einfache Werkzeuge um Daten – sogar mit Zusatzsensorik – aufzuzeichnen.

Doch was kommt danach?

[…]

By |12/2013|Categories: Entwicklungen|Tags: , , , , , , , , |0 Comments