Entwicklungen

Sie befinden sich hier: :/Entwicklungen
  • 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):

  • rviz_screenshot_2015_02_18-15_28_02

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

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.

[…]

By |02/2015|Categories: Entwicklungen|Tags: , , , , , , , |0 Comments
  • BlenSor-Blender-2.72b

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

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

By |12/2014|Categories: Entwicklungen|Tags: , , , , , , , , , |0 Comments
  • SICK Laserscanner mit Tinkerforge IMU und GPS

IMU+Laserscanner+Octomap = 3D World Builder

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.

[…]

By |10/2014|Categories: Entwicklungen|Tags: , , , , , , , |0 Comments
  • Kamm'scher Kreis stellt Längs- über Querbeschleunigung dar. Farben visualisieren die relative Häufigkeit der Parameter.

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

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

  • Tinkerforge IMU, Power Supply, GPS und Master Bricks sowie RaspberryPi Model B mit CarPC Case

Erste Lieferung Car PC Cases eingeflogen

[…]

By |04/2014|Categories: Low Budget Car PC|Tags: , , , |0 Comments
  • by placeit.net

Elektronischer Begleiter für Fahranfänger

Im Rahmen eines Forschungsprojekts für die Bundesanstalt für Straßenwesen (BaSt), sind wir mit Erstellung einer Smartphone App beauftragt worden, welche Fahrdynamikdaten (Beschleunigung, Drehrate, Geschwindigkeit) aufzeichnet und zusätzlich ein Riskantmaß als Nutzereingabe ermöglicht.

[…]

By |04/2014|Categories: Apps, Entwicklungen|0 Comments
  • Fahrzeug Koordinatensystem nach DIN70000

Tinkerforge IMU zur Lageerkennung von Fahrzeugen

Die deutsche Firma Tinkerforge hat sich durch erstklassige Produkte in der OpenSource Welt einen Namen gemacht. Die Bricks und Bricklets ermöglichen das Erfassen von verschiedensten physikalischen Werten. Vor allem die ausgezeichnete Dokumentation sowie eine API für fast alle gängigen Programmiersprachen, machen die Produkte so interessant für’s Rapid Prototyping.

Auch wir setzen für unseren Low Budget Car PC auf Tinkerforge Produkte. So ist der Tinkerforge IMU Brick sowie das GPS Bricklet mit an Board.

IMU Brick
GPS Bricklet

Voll ausgestattetes AHRS mit 9 Freiheitsgraden
Keine akkumulierenden Fehler, kein Gimbal Lock!
Vorkalibriert, einfach Anwendungsspezifisch zu kalibrieren
Berechnet Quaternionen sowie Roll-, Nick- (Pitch) und Gier- (Yaw) Winkel

Empfängt Bewegungs-, Positions-, Höhen- und Zeitdaten
Interne Antenne, externe Antenne optional
66 Kanäle, 10Hz Update-Rate
Hohe Empfindlichkeit und Genauigkeit, Störunterdrückung

Die IMU (Inertial Measurement Unit) ermöglicht dabei die Lageerfassung sowie Drehraten- und Beschleunigungsmessung. Doch  so einfach, wie es scheint, ist es nicht: Die IMU erfasst Roll-/Pitch- und Gierwinkel im globalen Koordinatensystem, d.h. nicht unbedingt im Fahrzeug-Koordinatensystem. Die ausgegebenen „Roll, Pitch, Yaw“ Winkel können also nicht direkt zur Lageerfassung des Fahrzeugs genutzt werden.

Die Lagebestimmung aus der Quaternion ermöglicht allerdings eine Berechnung.

[…]

  • Extended-Kalman-Filter-CTRV-Adaptive-Kurve

Verbesserte Positionsschätzung durch Kalman Filter

Die in unserem Low Budget Car PC verbauten Sensoren sind, wie der Name es vermuten lässt, relativ preisgünstig. Die Einbauposition sowie die kleine Antenne des GPS Empfängers tragen ebenfalls nicht zur Verbesserung der Positionsangabe bei. Vor allem in urbanen Gebieten, in denen Satelliten durch Bebauung nicht direkt sichtbar sind, bricht die Positionsgenauigkeit prinzipbedingt ein.

Thanks to http://sethoscope.net/heatmap/. Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.

Der vom GPS Receiver ermittelte Estimated Position Error (EPE) ist ein Maß für die Ungenauigkeit der Positionsmessung.

[…]

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