Paul Balzer

Sie befinden sich hier: :/Paul Balzer

About Paul Balzer

Geschäftsführer, CEO
  • LinearRegression() predicted an RSSI based on measurements for ITS-G5 in 5.9GHz (WLANp)

Deploy your Machine Learning Model as REST-API in Less than 1 hour with Scikit-Learn and Docker

While working on our research project CartoX², we had to deploy a Machine Learning model for prediction of the received signal strength with V-2-X communication ITS-G5 (German name: WLANp). We will use a very simple and easy to understand linear prediction model and serve an API via a Docker container. Up in running in less than 1 hour!

WLANp Prediction Model with SciKit-Learn
We are working with Python and SciKit-Learn, but this may also work with other libs and models. Here is how we trained our linear regression model. First, we need some measurement data.

This is a distance in meter and the received signal strength (RSSI) in dBm with 5.9GHz frequency. We want to fit a linear regression model to predict the RSSI as function of distance. The distance could be between two cars or between a car and infrastructure.

With knowledge in the field of communication, you will know, that the physical model of free space path loss could be formulated with

\

On the first look, this is not a linear model, but if we provide the distance in and let the frequency be constant (ITS-G5 is around ), this leads to a linear model in the form of

\
Load the Data

Now we have the distance in r and the measured RSSI in vector y.
Train the Model

Now we have a trained prediction model.
Evaluate the model
For sure this model is not very sophisticated nor useful in real world scenarios, because you may never have the ideal free space condition, but for now it can provide some feedback.

The model estimated the linear factors . Because we didn’t had a variance in the frequency, the model consolidated the last […]

By |11/2017|Categories: Allgemein|Tags: , , , , , , |0 Comments
  • CAD2Robot: Von standardisierten CAD Daten (.wrl) zum fertigen Roboter-Script

Smart Production: Der Roboter unterstützt bei der Einzelteilfertigung

Roboter kommen oftmals dann zum Einsatz, wenn monotone, eintönige und immer gleiche Tätigkeiten zu verrichten sind. Produktionsbereiche mit extrem variantenreicher Fertigung sind bisher schwer von Robotern zu unterstützen, da die nötigen Bewegungen von Produktionsauftrag zu Produktionsauftrag abweichen. Die klassische Robotik funktioniert an Fließbändern nach wie vor mit Teach-In-Verfahren, was bedeutet, dass ein Mensch dem Roboter vorher „zeigen“ muss, was die korrekte Bewegung ist und der Roboter wiederholt diese dann einfach auf Kommando. So der Stand bisher!

Werden viele verschiedene Varianten gefertigt, müssen dafür jeweils eigene Programme geteached werden. Ganz unsinnig schien ein Roboter bisher für Einzelteilfertigung, bei der jeder neue Auftrag eine andere Roboterbewegung verlangt.
Von Daten zu Bewegungsabläufen in der Einzelteilfertigung
Der Smart Production Ansatz: Gemeinsam mit Sherpa.Dresden entwickelten wir eine Software, die aus standardisierten CAD-Daten die für die Fertigung erforderlichen Bewegungen des Roboters berechnet und das entsprechende Programm automatisch erstellt. Ein CAD-2-Robot Converter sozusagen.

Als Randbedingung stand, dass möglichst keine eigenen CAD-Formate erstellt werden sollen, sondern auf standardisierte CAD-Daten-Formate basierend, eine geschlossene Lösung entsteht. Das Programm soll auf Knopfdruck die CAD-Dateien (die Wahl fiel auf VRML .wrl und .wri) einlesen, alle für den Roboter relevanten Bauteile samt Daten (Größe, Nullpunkt, Position, Rotation, …) heraus parsen und daraus ein Montagereihenfolge bestimmen. Daraus generiert das CAD2Robot Programm vollautomatisch eine Bewegungsabfolge zur Produktion (Pick & Place) der Teile.
CAD-2-Robot Programm: Übersetzer zwischen den Welten
Beispielhaft wurde dies für einen Universal Robot UR10 in C# umgesetzt.

Das generierte Roboterprogramm kann nun direkt an den Roboter gesendet werden oder in Form einer .script File abgespeichert und dem Auftrag zugeordnet werden.
Demo einer automatisch generierten Bewegung
Nachfolgend ist eine Simulation der Bewegung zu sehen, welche in der Realität das Pick&Place von 3 Teilen vollführt.

Der Abholort (Pick) kann für jedes in der CAD-File befindliche Teil vorab konfiguriert werden (z.B. verschiedene Zuführautomaten für verschiedene Bauteile), die Ablageposition (Place) […]

By |11/2017|Categories: Allgemein|Tags: , , , , , |0 Comments
  • Vorgehen für Daten der CartoX-Plattform: Bestehende Daten (z.B. aus mCloud) werden zum Anlernen eines Vorhersagemodells genutzt, um ein Konnektivitätsprädiktionsmodell für die gesamte Bundesrepublik zu erstellen

Startschuss für Forschungsprojekt CartoX² aus dem mFUND des BMVI

Startschuss zum CartoX² Projekt: Die MechLab Engineering UG ist teil eines Forschungsverbunds zwischen Fraunhofer IVI Dresden, TU Dresden, CETECOM GmbH, Software AG und hrd.consulting.

Edge Computing für das autonome Fahren ist essentiell. Das Forschungsprojekt Cartox² des BMVI hatte Kick-off. https://t.co/wtSs6OvGoD pic.twitter.com/pErI0DUzR7

— Software AG Dtld. (@SoftwareAG_D) 17. August 2017

Das Forschungsprojekt entwickelt eine Plattform für Basisdienste des vernetzten und automatisierten Fahrens. Die Plattform erfasst und verarbeitet Informationen über die Car-2-Car Konnektivität. Ebenfalls integriert ist die Netzabdeckung für die Car-2-Infrastructure Kommunikation sowie des Datenroutings zwischen den Edge-Clouds und den Zugangspunkten der Cloud-Umgebung.

Die Aufgabe von MechLab Engineering ist vor allem das Aufbereiten und Visualisieren von vorhandenen Daten bzw. das Bereitstellen korrekter Datenformate zur Integration in die Plattform. Auch das Vorhersagen von Datenpunkten mit Hilfe maschineller Lernverfahren, wird Aufgabe sein.

 

Die Projektlaufzeit ist 05/2017 – 04/2020.

By |07/2017|Categories: Firma|Tags: , |1 Comment
  • Firmenschild-Bergstrasse

Neuer Geschäftssitz

Wir sind ab sofort unter einer neuen Anschrift, nämlich im Sherpa.Dresden Basislager, aufzufinden:
Bergstr. 19, 01069 Dresden

 

By |05/2017|Categories: Firma|0 Comments
  • Classification2

Improved Activity Classification: 97.91% Accuracy

Vor einiger Zeit haben wir eine Maschine Learning Activity Classification vorgestellt, welche laufen, rennen, stillstehen und radfahren mit Hilfe einer 6DoF IMU (=3 Beschleunigungen und 3 Drehraten) erkennen kann.


Neueste Version: Mehr Daten = Besserer Algorithmus
Die neueste Version wurde mit dem PAMAP2 Dataset trainiert und es wurde eine Support Vector Machine mit Radial Kernel eingesetzt, statt bisher linearem Kernel.

Der so verbesserte Detektionsalgorithmus ermöglicht Erkennungsraten von im Schnitt 97.91%. Die Confusion Matrix ist nachfolgend abgebildet (Train/Test 80/20, Subject 106 des PAMAP2 Dataset):

Verbesserte Detektion: Verbesserte Sicherheit!
Mit dieser hohen Erkennungsrate eignet sich der Machine Learning Algorithmus noch besser, um Aktivitäten von hoch verletzlichen Verkehrsteilnehmern zu erkennen. Mit der Aktivität können Rückschlüsse auf Bewegungsgeschwindigkeiten und auch Bewegungsrichtungen gezogen werden. Eine verbesserte Vorhersage der Bewegungstrajektorien ist möglich.
Source Code
Der Code ist OpenSource auf Github zu finden (like to see the Link):

  • AMG_Partner_HIGHTS

MechLab Engineering ist neuer assoziierter Partner des HIGHTS EU Projekts

Das EU Projekt HIGHTS beschäftigt sich mit hochpräziser Ortung für kooperative, intelligente Transportsysteme. Diese benötigen für neue Anwendungsfälle (z.b. hochautomatisiert Fahrt) ihre Position genauer als es ein konventionelles GPS, v.a. in Häuserschluchten von Großstädten, leisten kann. Deshalb müssen verschiedenste Lokalisierungslösungen kombiniert werden, um zukünftige Anforderungen bezüglich Genauigkeit und Sicherheit zu erfüllen. MechLab Engineering beschäftigt sich mit Aktivitätenerkennung von nicht motorisierten Verkehrsteilnehmern (so genannter „Highly Vulnerable Road User“).

In Kooperation mit der ZigPos GmbH können damit innovative kooperative Lokalisierungslösungen entwickelt werden, welche in Zukunft dabei helfen werden die Unfallszahlen und/oder Verletzungsschwere zu reduzieren.

MechLab Engineering ist ab sofort assoziierter Partner des Projekts, gemeinsam mit Firmen wie Preh Car Connect GmbH (ehemals TechniSat GmbH), IAV Automotive Engineering und BMW AG.

Mehr dazu auf http://hights.eu…

By |06/2016|Categories: Allgemein|Tags: , , |0 Comments
  • 4-kind-of-people-Teaser

PyData Berlin 2015 Review

Wow, that was a blast! We are back from PyData Berlin 2015 and it was such an input for Python enthusiasts like us. Thank’s for the organisation and food and drinks and talks and everything. What impressed most, explained in one chart:

the four kind of mindsets you frequently meet in your company or while talking with customers, CC-BY 2.0

Every single person there was located in the very top left corner of this chart and this is actually not representative for the business daily routine or private life. Sometimes even a colleague in your company is in the top right corner, because your idea is better than his and he knows that it will outperform everything he did, so he is willing to fight your idea. In the bottom left corner, you have sometimes friends, who don’t like your idea but they at least help you to find a contact or something like this. Most of the business daily routine is in the bottom right corner, depends on your company. The bigger it is, the more people will settle in the bottom right corner. You will find examples…

[…]

By |05/2015|Categories: Allgemein|0 Comments
  • ActivityClassification

Motion Activity Classification with Acceleration and Rotation Sensor

A lot of devices are able to measure acceleration and rotation. For example every Smartphone is capable of this, the Tinkerforge IMU or even Sensor Tags for Car-2-X Communication, if they are equipped with such sensors. The interesting question is, how to get information out of the raw sensor data? For example Car-2-X communication: Every advanced driver assistant system (ADAS) nowadays is just able to ’see‘ a potential collision within the line of sight, like shown in this video:

If, for example, a child is crossing the street from behind a bus, the collision avoidance system of the car (camera system) is not able to ’see‘ the approaching child, because it is hidden behind the bus.
City of the Future: Smart and Connected
What if a sensor tag could broadcast the information, that somebody/something is ‚walking‘ behind the bus in direction of the street, where the car is approaching? What, if a device is estimating ‚biking’/’running‘ in direction of the car? Life-saving!

Modern Car-2-X Communication infrastructure is able to share movement information between traffic lights, cars, bikes and people in a city. If the system is able to determine the position (via GPS or sensor networks) and the direction of the movement, it is able to calculate a possible collision.
Activity Classification using Machine Learning
The hard part is to predict the kind of movement (standing, walking, running, biking), because this is an essential information for collision prevention algorithms (in the car). We have developed a real time classification algorithm, which is able to predict, whether the device is walking, running, sitting or going by bike.

 

We used sensor data of an iPhone to get data for these 4 different activities and developed a highly sophisticated classifier based on rotation rates and acceleration sensor data. The activity classification […]

By |04/2015|Categories: Allgemein|Tags: , , , |0 Comments
  • Durchschnittlicher Fahrpreis mit Uber ab HU Berlin Campus Adlershof

Uber Pricing Heatmap

Uber – der durchaus umstrittene Fahrdienst – hat eine Developer Schnittstelle geschaffen, womit man auf verschiedene Parameter des Softwaresystems zugreifen kann.

Wir haben den geschätzten Fahrpreis für viele hundert Ziele in Berlin abgefragt, als ob wir vormittags am HU Campus Berlin Adlershof ein Uber ordern wollen. Die aggregierten und interpolierten Daten werden dann georeferenziert und über OpenStreetmap gelegt, sodass eine Heatmap heraus kommt, welche die durchschnittliche Fahrpreise (ohne Surge Pricing) mit Uber übersichtlich visualisiert.
Was kostet eine Uber Fahrt ab HU Campus Adlershof
In ein blaues Gebiet durchschnittliche 2€, in ein grünes durchschnittlich 4€ usw… bishin zu 16€ oder mehr in ein rotes Gebiet.

Tools used:

Python (requests, json, Scypi, Matplotlib)
QGis (Georeferencer)
TileMill
OSM in Postgres

By |04/2015|Categories: DataLab|Tags: , , , , |0 Comments
  • 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