Blog

Sie befinden sich hier: :/
  • 'Ostansicht' von Stefan Eissing unter CC-BY2.0 Lizenz von flickr.com
Mrz2015

Vorhersage der Parkhausbelegung mit Offenen Daten

By |03/2015|Categories: DataLab|Tags: , , , |0 Comments

Wir engagieren uns seit geraumer Zeit in der Open Knowledge Foundation, welche das Ziel verfolgt, ohnehin schon öffentliche Daten auch noch standardisiert und maschinenlesbar verfügbar zu machen, damit Mehrwert daraus generiert werden kann.

Ein schönes Beispiel für den Nutzen von Offenen Daten (Open Data) möchten wir am Beispiel der freien Parkplätze in Dresden zeigen. Die Stadt Dresden hat ein intelligentes Verkehrsleitsystem und -konzept (VAMOS), welches auch die freien Parkplätze in den jeweiligen Parkhäusern und -plätzen erfasst und bereitstellt.

Leider stehen diese Daten nicht offen – heißt: über eine Schnittstelle für jedermann – zur Verfügung. Die Open Data Aktivisten vom OKLab Dresden haben deshalb einen Scraper geschrieben, der die Zahlen von der Webseite holt und in eine Datenbank speichert sowie eine maschinenlesbare Schnittstelle zur Verfügung stellt. Erste Anwendungen auf Grund der offenen Daten sind bereits entstanden:

ParkenDD – eine Smartphone App für Android (von J. Kliemann) und iOS (von K. Költzsch)
Karte mit freien Parkplätzen Dresden

Da die Daten nun fast für ein gesamtes Jahr vorhanden sind (03/2014 – 03/2015) ist der Zeitpunkt gekommen, sich diese einmal anzusehen.

Zum einen sind statistische Aussagen interessant, zum anderen ist das Ziel ein Modell aufzustellen, welches die Belegung von innerstädtischen Parkhäusern vorhersagen kann. Wer samstags 11Uhr mit Auto zum Shopping nach Dresden kommt, der wird wissen, dass sich fast überall lange Schlangen vor den Parkhäusern bilden. Es ist für Touristen (auch aus Tschechien) also durchaus interessant, schon vorher zu wissen, wie in 1h die Belegung des angesteuerten Parkhauses ist. Dies ermöglicht intelligente Verkehrssteuerung. Man könnte sagen: Smart City!
Datenbasis: Open Data
Leider nicht von der Stadt Dresden direkt bereitgestellt, aber wenigstens von den Open Data Aktivisten aus Dresden. Ein aktueller Auszug aus der Datenbank kann hier heruntergeladen werden. Dieser bildet die Basis der nachfolgenden Visualisierungen.
Zeitreihenanalyse der Belegung
Die einfachste und logischste Analyse ist zuerst einmal die Zeitreihenanalyse. […]

  • rviz_screenshot_2015_02_18-15_28_02
Feb2015

Aufbau eines Roboters in ROS aus CAD-Daten mit Hilfe von Blender, Meshlab und urdf-File

By |02/2015|Categories: Entwicklungen|Tags: , , , , , , , |0 Comments

Das Robot-Operating-System, kurz ROS, ist ein weit verbreitetes Open-Source-Softwaresystem, welches für viele Zwecke in der Robotik genutzt werden kann.

Die Hauptbestandteile und -aufgaben von ROS sind

Hardwareabstraktion
Gerätetreiber
Oft wiederverwendete Funktionalität
Nachrichtenaustausch zwischen Programmen bzw. Programmteilen
Paketverwaltung
Programmbibliotheken zum Verwalten und Betreiben der Software auf mehreren Computern

Kurzum: Für viele Anwendungsfälle im Umgang mit Robotern wurde schon viel Software geschrieben, getestet und erprobt. Keine Notwendigkeit also, das Rad noch einmal neu zu erfinden, wie auch Andreas Bihlmaier in folgendem Video demonstriert:

Für einen mittelständischen Betrieb haben wir die Aufgabe ein Arbeitsgerät zu simulieren, Kollisionsanalysen und Bewegungssteuerung auszuführen. Die Bauteile liegen in CAD-Software vor, sodass die Roboterkonfiguration in ROS überführt werden muss.

[…]

  • weniger ist besser
Jan2015

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

By |01/2015|Categories: DataLab|Tags: , , , , , , |0 Comments

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 […]

  • BlenSor-Blender-2.72b
Dez2014

BlenSor Laserscanner Simulation mit Blender 2.72, numpy und Cycles Render Engine

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

Blender, die wahnsinnig umfangreiche OpenSource 3D Authoring Software, erlaubt es, auch eigene Module (Add-Ons) einzupflegen. Michael Gschwandtner tat dies im Rahmen seiner Dissertation und integrierte physikalische Modelle einiger Umfeldscanner und nannte sein Derivat BlenSor: Blender Sensor Simulation Toolbox M. Gschwandtner, R. Kwitt, A. Uhl In Advances in Visual Computing: 7th International Symposium, (ISVC 2011) Las Vegas, Nevada, USA, September 26 – 28, 2011. Er integrierte zum Beispiel:

ibeo Lux
Velodyne HDL-64E2
Microsoft Kinect

Wir nutzen BlenSor in unserer Virtual Lidar Test Bench, um damit Algorithmen synthetisch zu testen, bevor sie in den realen Einsatz mit vielen möglichen aber unbekannten Störeinflüssen kommen.

Die ursprüngliche Version enthielt leider kein Numpy und konnte auch nur mit der Blender Engine Rendern. Dies war nicht optimal. Die kürzlich aktualisierte Version, ermöglicht dies nun!
How to Build from Source for MacOS X Yosemite?
Eine ausführliche Anleitung kann auf der Blender Webseite gefunden werden. Hier nur kurz Step-by-Step.
Die aktuelle Version von BlenSor aus dem Github Repository ziehen. Darin enthalten ist bereits die aktuelle Blender Version 2.72.

Anschließend parallel zum `blensor` Ordner einen Ordner `build_darwin` erstellen.

Anschließend noch extern benötigte Libraries downloaden, welche bereits vorkompiliert für MacOS X auf der Blender Webseite zur Verfügung gestellt werden.

Nun sollte man 3 Verzeichnisse haben.

blensor
lib
build_darwin

Nun erfolgt das Konfigurieren der makefiles mit cmake. Dazu am einfachsten den grafischen Editor cmake 3.0.2 GUI starten.

Dort als Source den Ordner `blensor` auswählen und als Build Destination den Ordner `build_darwin`. Ein Klick auf

sollte mit ein paar roten Fehlermeldungen durchlaufen, sodass am Ende ein `Done.` erscheint. Ein anschließender Klick auf

erzeugt die nötigen Dateien für das Kompilieren:

Anschließend liegt nach ca. 10min Wartezeit im Verzeichnis `\build_darwin\bin\` die Blender.app, welche man aber auch direkt hier fertig kompiliert herunter laden kann:
Download für MacOS X Yosemite
Hier zum Download die für das aktuelle Mac OS X Yosemite kompilierte Version von BlenSor, […]

  • SICK Laserscanner mit Tinkerforge IMU und GPS
Okt2014

IMU+Laserscanner+Octomap = 3D World Builder

By |10/2014|Categories: Entwicklungen|Tags: , , , , , , , |0 Comments

Die gleichen Algorithmen, welche eine verbesserte Positionserkennung des Fahrzeugs sowie eine Lageerkennung des Fahrzeugs ermöglichen, können natürlich auch direkt angewendet werden, um die Lage und Position eines Laserscanners zu bestimmen. Damit ist das Erfassen der Umgebung möglich, unabhängig von der Lage des Laserscanners. Die lokalen Laserscannermesspunkte, welche erfasst werden, können durch entsprechende Transformationsmatrizen in globale Punkte umgerechnet werden.

[…]

  • Headerimage
Okt2014

CodeWeek Workshop: Datenvisualisierung für Journalisten

By |10/2014|Categories: Allgemein|Tags: , , |0 Comments

Vom 11. – 17. Oktober findet in der ganzen Europäischen Union die CodeWeek statt, welche das Programmieren und Offene Daten einem breiterem Publikum zugänglich machen soll.

Wir finden, das Datenvisualisierung ein elementarer Baustein zum Finden und Erzählen von Geschichten ist. Eine Auflistung von Zahlen in ein anschauliches Diagramm gepackt oder Sachverhalte georeferenziert aufgearbeitet, ergeben ein umfangreicheres Bild auf eine Geschichte. Das hilft, einen Mehrwert für den Leser zu schaffen.

Daher bieten wir einen Grundlagen-Workshop Datenvisualisierung für Journalisten an, an dem Sie im Rahmen der CodeWeek am Mittwoch, 15.10.2014 um 19:00Uhr in der Kamenzer Str. 52 in Dresden kostenlos teilnehmen können.

Datenvisualisierung für Journalisten

Der Beruf des Journalisten ist im Wandel. Journalisten müssen eigene Wege gehen, um auch in Zukunft einen konkreten Mehrwert für die Leser zu generieren. Datenvisualisierung bietet dafür enorme Chancen – man muss sie nur zu nutzen wissen.

Datenvisualisierung ist ein enorm boomender Zweig und geradezu prädestiniert von Journalisten besetzt zu werden.

Die Inhalte sind speziell auf Programmier-Anfänger und bisherige Excel Nutzer ausgerichtet und bieten einen idealen Start in das unendliche Themengebiet. Alle eingesetzten Tools sind kostenfrei. Der Ablauf wird in etwa folgender sein:

Was erwartet Sie?

Beispiel Einwohnerdichte der Dresdner Stadtteile
Wir nehmen uns eine Tabelle aus der Wikipedia vor, z.B. die Dresdner Stadtteile, bereiten die Daten auf, sodass sie ein Algorithmus verarbeiten kann und stellen die Daten in einem so genannten Scatter Diagramm Einwohnerzahl vs. Fläche dar:

Es fällt sofort auf, dass die Stadtteile Altfranken, Oberwartha, Schönborn, Langebrück, Cossebaude, Mobschatz, Gompitz und Weixdorf dicht beieinander liegen, somit bezüglich der Einwohnerdichte ähnliche Gegebenheiten dort vorzufinden sind. Weiterhin fällt auf, dass Loschwitz ein Extrem in Dresden ist (seeeeehr viel Fläche für sehr wenig Einwohner), Blasewitz das Andere (seeehr viele Einwohner auf relativ wenig Fläche).

Und für Onlineangebote erstellen wir daraus eine interaktive Grafik, zum Einbetten:

Unterstützt wird der […]

  • Kamm'scher Kreis stellt Längs- über Querbeschleunigung dar. Farben visualisieren die relative Häufigkeit der Parameter.
Jun2014

Zwischenauswertung: Naturalistische Fahrverhaltensbeobachtung und Nutzung des KFZ im städtischen Umfeld

By |06/2014|Categories: DataLab, Low Budget Car PC|Tags: , , , , , , , , |0 Comments

Unser Low Budget Car PC befindet sich nun seit mehreren Monaten im realen Praxiseinsatz und loggt unermütlich Kilometer um Kilometer mit. Dabei ist vor allem die „Beobachtung“ des natürlichen Fahrverhaltens interessant. Nicht nur Wissenschaft und Forschung interessieren sich für das Fahr- und Nutzungsverhalten, auch maßgeschneiderte Versicherungstarife oder die optimale Planung der Flottenauslastung (Business Intelligence) sind ein interessanter Anwendungsfall.

Im Folgenden soll beispielhaft das natürliche Fahr- und Nutzungsverhalten eines PKW in einem Zeitraum von 9 Wochen ausgewertet werden.
[…]

  • Entstehung-OPNV-Fahrzeit-Heatmaps-20
Mai2014

[Tutorial] Entstehung der ÖPNV Fahrzeit Heatmaps 2.0 mit PostgresApp, TileMill und QGIS

By |05/2014|Categories: DataLab|Tags: , , , , , , , , |0 Comments

Wie entsteht eine ÖPNV Fahrzeit Heatmap Karte?

[…]

  • unter CC BY-ND 2.0 Lizenz von  lil'_wiz auf flickr.com
Mai2014

GNTM Finale 2014 – Stimmungsanalyse auf Twitter

By |05/2014|Categories: DataLab|Tags: , , , , |0 Comments

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!
[…]

  • Tatort-Twitter-Logo
Mai2014

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

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

[…]