Schlagworte
Skills
Primär:
C/C++, Python
KI mit Machine Learning: Scikit learn (Numpy, Pandas),
Deep Learning: Keras/TensorFlow
Computer Vision: OpenCV und Adaptive Vision
Enterprise Architect: UML / SysML
STM32 Cortex M1/M3/M4/M7 bspw. STM32F303, NXP iMX RT 117x, AM335x ARM Cortex-A8, ESP32
Capl (Canoe + VT-System)
Schnittstellen: Seriell (bspw. RS485), SPI, CAN, Bluetooth low energy (BLE)
Sekundär:
MATLAB / Simulink
Eigenes Repository
https://github.com/embmike
Branchenerfahrung
Automobil (Automotive), Verkehrstechnik, Nachrichtentechnik , Train und IT
Bildung
Ausbildung:
Energieanlagenelektroniker
Studium:
An der Fachhochschule für Technik und Wirtschaft in Berlin, Fachrichtung
Elektrotechnik, Studiengang Automatisierungstechnik
Abschluss: Diplom-Ingenieur (FH), Prädikat "gut bestanden"
Weiterbildung
Qualifizierungen 2021: Robotics Software Engineer (Udacity), https://graduation.udacity.com/confirm/R9JHTW9K
Build your own home service roboter: Gazebo, ROS with C++ : Kalman filter, Monte Carlo Localization, Graph SLAM, Path Planning (A* Search)
Qualifizierungen 2020: Computer Vision Nanodegree (Udacity), https://graduation.udacity.com/confirm/YPNKTEWC
Libraries: OpenCV + PyTorch; Image recognition: CNN + LSTM; Object tracking and localization: Kalman filter, Graph SLAM, Bayes Filter Grid Localization
Qualifizierungen 2019: Autosar Basis Workshop (bei Vector mit DaVinci)
Qualifizierungen 2018: Intro to Machine Learning with Keras/Tesorflow (Udacity)
Libraries: Scikit learn + Keras/Tensorflow, Machine Learning: Unsupervised Learning + Supervised Learning + Deep Learning
Qualifizierungen 2012: Systems Engineering mit SysML (inkl. OCSMP-Zertifizierung)
Qualifizierungen 2010: Funktionale Sicherheit ISO 26262 (bei TÜV Süd)
Qualifizierungen 2009: ISTQB Certified Tester: Advanced Level - Test Manager
Qualifizierungen 2006: AutomationDesk Basic and Advanced Training (bei dSpace)
Qualifizierungen 2005: ISTQB Certified Tester: Foundation Level
Projekthistorie
Funktionen, bspw.
- Integration der "IEC 60730 Class B Safety Library" in die Software
- Treiber für exteren Peripherie: ADS131, TMP116, ...
- Treiber-Anpassung für interne Peripherie: SPI, Timer, CAN, I2C, ...
- Algorithmen zur Messgrößenauswertung
- RTOS: MicroC/OS-II
Technik
Mikrocontroller: NXP iMX RT 1170 - Dual Core ARM Cortex M7 und M4, NXP KV4 - Cortex M4
Programmiersprache: C++ (Version 17), Inline Assembler
Entwicklungsumgebung: Rowley CrossWorks
Entwicklungsprozess: Scrum mit Jira
Versionsverwaltung: Bitbucket Git
Bildsystem: Jenkins
Unittest: Google Test und Moc
Integrationstest: Aqua und NXP Freemaster, Saleae-Logic-Analyzer, R&S Oszillioskop
Softwaredesign: Enterprise Architect
Dokumentation: Markdown (*.md) mit Visual Studio Code, Plugins: Markdown PDF, ...
Eigenes Projekt
Projekt
Modellauto erkennt selbstständig Objekte mittels einer Kamera. Dafür wurde ein CNN mit PyTorch in Python trainiert. Die C++17-Fahrapplikation Applikation greift auf das Modell übers die PyTorch-C++-Bibliothek libtorch zu.
(Umsetzung in Python und in C++)
Aktuell seit 02/2021:
- Wechsel auf Ubuntu als Entwicklungsrechner (VMWare mit Ubuntu Robo V2)
- Gazebo Robosimulation
- Strukturierung der C++ -Software mit ROS (Robot Operating System)
- Untersuchung: Import der KI-Modelle in Matlab/Simulink (Deep-Learning-Framework) mit Codegenerierung und Einbindung in die C++ -ROS-Application.
Technik
- Bilderkennung mittels Kamera und trainierten CNN mit PyTorch. CNN: Convolutional Neural Network.
- IDE für Python: Jupyter Notebook in Amazon AWS (Training GPU)
- IDE: Visual Studio 19 C++ mit C++17 (Templates, Thread/async/future, STL und Range-V3)
- Zielrechner: Raspberry PI 4 mit Linux
- Entwicklungsrechner: Windows
- Modellauto: Sunfounder Smart Video Car Kit
Analyse und Auswertung von Testdaten (große Datenmengen) für ADAS-Funktionen eines Fahrerassistenzsystems im Nutzfahrzeugumfeld mit Data- Science und KI-Methoden.
- Analyse Mileage Data (Leistungsdaten)
- Clusteranalyse (Unsupervised Learning) bildung von Fehlerklassen mittels Scikit learn
- Automatische Fahrerklassifizierung (Deep Learning) mittels Keras/TensorFlow
- Schreiben eines Analysetools in Python
- Statistische Auswertung von Testdaten (Große Datenmengen)
- Validierung der tolerierbaren Fehlalarmrate der Radarerkennung (False-Positives)
- Vergleich ADAS-Software mit Fahrer-Fahrstrecke-Fahrzeugmodell (Multilayer)
- Abgleich anhand GPS mit Open Steet Map und Wetterdaten
- Abgleich mit Sensordaten (Beschleunigung, Geschwindigkeit, usw.).
- Erstellung eines Testdaten-Reports für die sicherheitsrelante Dokumentation
- Daten wurden mittels REST-API aus Altran VueForge Services geholt oder lagen im CSV-Format vor
- Verarbeitung der großen Datenmengen über Servercluster mittels Hadoop
- Test der Python-Applikation mit Robot Framework und Python unittest
Werkzeuge
Deep Learning mit Anaconda Python (Numpy, Pandas, Dask, Keras/TensorFlow, Scikit Learn, Seaborn, Matplotlib). Altran VueForge/REST-API, HTTP, JSON. Robot Framework und Python unittest.
07/2018- 06/2019
Service (Teilauslastung): Neue Anforderungen und Abschlusstest
12/2017 – 06/2018
Software-Spezifikation (MS Word)
Anwendungsfälle in Gherkin-Syntax
Software-Architektur (MS Word / Enterprise Architekt)
Textuell unterstützt mit UML-Diagrammen
Programmierung der Software
Programmiersprache C (Misra-C:2012)
Entwicklungsumgebung: Eclipse C/C++ OpenSTM32 + CubeMX
Modellierung: Enterprise Architect UML/SysML
Kommentierung: Doxygen
Funktionen: Sicherheitsfunktionen Torsteuerung + uC-Selbsttest
Microcontroller: STM32F303 (ARM Cortex-M4)
Entwickler-Tests
SW-Modul- + SW-Integrations-Test: Unity-Framework
Integrationstest: PIL-Testplatine, Putty
Normen
Safety: DIN EN 60730, Klasse B
DIN EN ISO 13849
11/2013 – 06/2014: Testspezifikation, Testdurchführung und Testbericht.
Inbetriebnahme und Test der Steuergeräte
SW/HW-Integrationstest
SW-Modultest C (+Ergänzung der Doxygen-Kommentare)
Integrationstest zweier Steuergeräte
Review und Unterstützung bei den Anforderungen
Unterstützung bei den Dokumenten für den TÜV
Einführung von Enterprise Architect (EA)
Unterstützung beim Erstellen der Software-Anforderungen
Unterstützung bei Software- und System-Design mit EA
07/2015 – 12/2015 Software (Bibliothek) in C für Seriell/RS485 (Ampelkommunikation)
Programmierung der Bibliothek
IDE: Eclipse C/C++ OpenSTM32
Microcontroller: Cortex-M0+/M4
01/2016 – 11/2017: Programmierung eines Ampelprogrammgenerators in C+11
Programmierung eines Programmgenerators für Ampelprogramme
JSON -> C++11-Ampelprogramm
Auflaufumgebung: DIMM-Modul AM335x ARM Cortex-A8 Microprozessor mit RT-Linux
IDE: Visual Studio
Pflege von Softwaremodulen
Teilprojektleitung Embedded-Softwareentwicklung
Unterstützung beim Projektmanagement
Werkzeuge:
MS Office (+Project, Visio), Oszilloskop Rigol DS4024E, C#, Debugger, Tessy, Enterprise Architect, AM335x ARM Cortex-A8, Visual Studio, C++11, JSON
Methoden:
Normen und Richtlinien (RiLSA, VDE 0832-100, -200, -500, DIN EN 12675, NEN 3384,..), SysML /UML / Enterprise Architect
Entwicklung von Software:
Testautomatisierung mit C# und PythonSoftware mit C++, QT4 und CanCardX
Autocode in C mit Ascet und Matlab/Simulink
C barmetal auf Microkontroller
Testing
Integrationtest mit modellbasierter Testautomatisierung mit den Werkzeugen dSpace-HIL, Control Desk/Automation Desk, Matlab/Simulink
Werkzeuge:
Visual Studio für C# und C++,QT,
Python IDE,
Ascet, Matlab/Simulink für C (Autocode-Generierung),
Eclipse-CDT-Varianten für C
NI-Measurement Studio in C#,
Enterprise Architect für UML,
HIL: dSpace HIL, Vector VT-System, Canoe, Control Desk/Automation Desk
Normen und Methoden:
Modellierung mit UML und Matlab/Simulink,
Safety nach ISO 26262 ASIL D,
Testkonzept nach IEEE 829
ASPICE
Betriebssysteme
Windows,
Mikrocontroller: Barmetal und RTOS
Microcontroller
Windows,
Linux
Mikrocontroller: RTOS