Das "Cockpit" ist eine in Qt entwickelte Display-Software, die auf einem Raspberry-Pi-Display aufbaut. Es zeigt den aktuellen Status verschiedener fliegender Komponenten wie Höhe, Fahrgeschwindigkeit, vertikale Geschwindigkeit oder Stromverteiler an. Der Status aller Batterien hinsichtlich Temperatur oder System on Charge, sowie ein möglicher Fehler in einem Batteriesystem werden kontinuierlich auf Monitoren angezeigt. Außerdem werden die Zustände und der Schubwert des elektronischen Antriebs aller Motorsteuerungen gezeigt. Die Kommunikation zwischen dem Cockpit und dem Display-UCC erfolgt über ein serielles USB-Gerät, das die Daten kontinuierlich in die Cockpit-Software einliest. Das Cockpit kann automatisch Daten einer Konfigurationsdatei lesen, zum Beispiel grundlegende Flugzeugdaten wie die ID, die Firmware des Batteriemanagementsystems oder die Mindest- und Höchstgeschwindigkeit der Rotoren. Es analysiert alle eingehenden Flugdaten, die von der Anzeige UCC kommen, und hinterlegt sie in einem seriellen Gerät als binäre Protokolldateien in Form eines .INI-Headers. Diese kann für weitere Tests verwendet werden.
Ich war beteiligt an der Neuentwicklung des Cockpits für zukünftige Flugzeuge nach Vorgabe eines System Design Teams
Der Kunde gehört zu den führenden Unternehmen im Bereich der autonomen Flugtaxis. Die Gründer haben ein einzigartiges Konzept für ein Mesh-Netzwerk entwickelt, in dem alle fliegenden Komponenten wie Motorcontroller, Batterien, Flugsteuerung und Joysticks in einer Mesh-Topologie für eine effektive Kommunikation verbunden sind. Um die volle Funktionalität eines Mesh-Netzwerks zu überprüfen, haben Sie ein proprietäres Kommandozeilen-Tool entwickelt, das die Binary-Log-Dateien liest und in den ASCII-Standard konvertiert.
Aufgaben:
Das Core Avionik-Team hat vier verschiedene Mesh-Layouts entwickelt, die in diesem Tool hart codiert sind. Die Anforderung, diese Mesh-Layouts zu ändern hat das Team veranlasst ein Befehlszeilentool für jede Änderung der Mesh-Layouts zu erstellen und zu kompilieren. Daher haben wir alle hartcodierten Mesh-Parameter aus der Konfigurationsdatei entfernt und sie als Argumente einer Kommandozeile parametrierbar gemacht.
Die Arbeit umfasst das Erstellen einer Konfigurationsdatei für alle Mesh-Layoutdaten und die Unterstützung für die neue Firmware von Mesh-Komponenten sowie Mesh-Nachrichten.
Buildroot ist ein Tool, das den Prozess der Erstellung eines kompletten Linux-Systems für ein Embedded-System mittels Cross Compilation vereinfacht und automatisiert. Mit dem Buildroot kann eine Cross-Compilation-Toolchain, ein Rootfile-System, ein Linux-Kernel-Image sowie ein Bootloader für Ihre Zielplattform generiert werden. Die Idee dieses internen Projekts ist es, sich mit der Funktionalität des Linux-Systems vertraut zu machen und ein einfaches Buildroot-System für Beagle Bone Black zu entwickeln. Das Buildroot-System wurde mit der Entwicklung eines Bibliotheksdatenmanagement-Systems getestet. Die Bibliotheksdaten enthalten Informationen über Buch-ID, Name, relative Adresse und ein boolsches Status-Flag zur Statusanzeige des Buches. Die Arbeit besteht aus zwei Teilen: der Entwicklung von einem C++-System, das eine unbekannte Menge an Bibliotheksdaten in einer Datei speichert, und der Implementierung einer Schnittstelle zum Abrufen bestimmter Daten des Buchs.
Aufgaben:
Tools und Technologien:
Oracle VM Virtual Box, Linux-Debian, Buildroot, VI, C++ Programmierung
Beschreibung:
Im Rahmen des Ausbildungsprogramms „Boot Camp“ habe ich mich intensiv mit den hier aufgelisteten Themen befasst. Einige der Kenntnisse und Fähigkeiten konnte ich somit noch weiter vertiefen, manche andere mir zusätzlich aneignen.
Tools und Technologien:
Tuples Data management mit C++ Linkedlist und ADT
Maßnahmen an der Hardware eröffnen dem Entwickler die Möglichkeit, das Rechentempo selbst für einen komplexen Algorithmus zu erhöhen, indem er ihn in einen FPGA, quasi ein kundenspezifisches Hardwarebauelement, überträgt. Folglich geht es bei dieser Art von Hardware-Beschleunigung um Näherungsrechnungen, die nach kürzerer Rechenzeit und mit weniger Energieverbrauch ein nicht ganz exaktes Ergebnis auf zurückliefert. Viele Anwendungsbereiche wie Datenanalyse oder Data Mining, Bild- und Videoverarbeitung, mobiles Rechnen und künstliche Intelligenz eignen sich wegen ihrer inbegriffenen Toleranz gegenüber Näherungsungenauigkeiten gut für Annäherungs-Berechnungen. Folglich wird bei bei fehlerunempfindlichen Anwendungen durch Annäherungs-Berechnungen die Rechenqualität (z.B. Exaktheit) den Berechnungs-Aufwänden (z.B. Energie) gegenübergestellt.
Annähernde Addierer sind das Herzstück von Annäherungs-Berechnungen. Diese sehr leistungsfähigen Addierer sind eine Gruppierung unterschiedlicher, kleiner untergeordneter Addierer, alle mit Einheiten zur Übertrags-Vorhersage und Fehlerkorrektur versehen.
In dieser Projektarbeit haben wir einen konfigurierbaren Addierer mit geringer Latenzzeit und mittelmäßiger Genauigkeit entworfen. Verglichen mit anderen Addierern wie einem Error Tolerant Adder (ETA) oder Almost Correct Adder (ACA) bietet er eine höhere Ausstattung und anpassungsfähigere Struktur.
Das Neuartige daran sind die Entwicklung und Ausführung eines Multi-Prozessor-Systems auf einem FPGA zur Hardwarebeschleunigung und Annäherungs-Berechnungen eines Algorithmus zur Sobel Flankenerkennung. Damit kann zu einem späteren Zeitpunkt eine andere Software für Näherungstechniken entwickelt und getestet werden.
Aufgaben:
Auf Grund der Kundenanweisung konzentrierte sich die Arbeit auf das Design, der Hardware-Beschleuniger und der effizienten Umsetzung des multicore embedded-System mit Altera DE2-115-Entwicklungsboard. Die Methodik dieser Arbeit besteht aus folgenden Stufen:
Beschreibung:
Diese Projektarbeit beschreibt die Implementierung von HAAR Wavelet Transformation auf einem FPGA
Verilog, DE2-150 Altera FPGA, D5M-CCD Kamera, Quartus2
Beschreibung:
Fahrzeugverfolgung setzt das Platzieren eines GPS-Gerätes in einem Fahrzeug voraus. Dieses Gerät sammelt Informationen über die Lage eines Fahrzeugs und sendet es an eine zentrale Stelle. Dort kann ein Mitarbeiter die Informationen überwachen, um die genaue Lage eines Fahrzeugs zu einem bestimmten Zeitpunkt zu erfassen. Ebenfalls kann man das Fahrzeug auch dann verfolgen, wenn die Wegstrecke bekannt ist. GPS-Tracking wird heute nicht nur in Firmen, sondern auch in vielen anderen Anwendungen eingesetzt.
Dieses Projekt verwendet nur ein GPS-Gerät. Die Zwei-Wege-Kommunikation wird mit einem GSM-Modem erreicht. Sie können Ihr Fahrzeug einfach mit Ihrem Mobiltelefon verfolgen, indem Sie die Mobiltelefonnummer der an das GSM-Modem angeschlossenen SIM wählen.
Aufgaben:
Diese Projektarbeit wurde mit dem AVR ATMEGA16 Mikrocontroller und dem GSM / GPS Modul realisiert. Das GPS-Modul erhält die Ortsinformation von Satelliten, in Form von Breiten- und Längengrad. Der Mikrocontroller verarbeitet die Informationen und sendet sie an das GSM-Modem. Das GSM-Modem sendet dann die Informationen an das Mobiltelefon des Besitzers.
Tools und Technologien:
C Programmierung, ATMEGA16 μController, MAX232 IC, iWave GPS Modul, SIM300 GSM Modem, AVR Studio
Embedded Software Entwickler
Das "Cockpit" ist eine in Qt entwickelte Display-Software, die auf einem Raspberry-Pi-Display aufbaut. Es zeigt den aktuellen Status verschiedener fliegender Komponenten wie Höhe, Fahrgeschwindigkeit, vertikale Geschwindigkeit oder Stromverteiler an. Der Status aller Batterien hinsichtlich Temperatur oder System on Charge, sowie ein möglicher Fehler in einem Batteriesystem werden kontinuierlich auf Monitoren angezeigt. Außerdem werden die Zustände und der Schubwert des elektronischen Antriebs aller Motorsteuerungen gezeigt. Die Kommunikation zwischen dem Cockpit und dem Display-UCC erfolgt über ein serielles USB-Gerät, das die Daten kontinuierlich in die Cockpit-Software einliest. Das Cockpit kann automatisch Daten einer Konfigurationsdatei lesen, zum Beispiel grundlegende Flugzeugdaten wie die ID, die Firmware des Batteriemanagementsystems oder die Mindest- und Höchstgeschwindigkeit der Rotoren. Es analysiert alle eingehenden Flugdaten, die von der Anzeige UCC kommen, und hinterlegt sie in einem seriellen Gerät als binäre Protokolldateien in Form eines .INI-Headers. Diese kann für weitere Tests verwendet werden.
Ich war beteiligt an der Neuentwicklung des Cockpits für zukünftige Flugzeuge nach Vorgabe eines System Design Teams
Der Kunde gehört zu den führenden Unternehmen im Bereich der autonomen Flugtaxis. Die Gründer haben ein einzigartiges Konzept für ein Mesh-Netzwerk entwickelt, in dem alle fliegenden Komponenten wie Motorcontroller, Batterien, Flugsteuerung und Joysticks in einer Mesh-Topologie für eine effektive Kommunikation verbunden sind. Um die volle Funktionalität eines Mesh-Netzwerks zu überprüfen, haben Sie ein proprietäres Kommandozeilen-Tool entwickelt, das die Binary-Log-Dateien liest und in den ASCII-Standard konvertiert.
Aufgaben:
Das Core Avionik-Team hat vier verschiedene Mesh-Layouts entwickelt, die in diesem Tool hart codiert sind. Die Anforderung, diese Mesh-Layouts zu ändern hat das Team veranlasst ein Befehlszeilentool für jede Änderung der Mesh-Layouts zu erstellen und zu kompilieren. Daher haben wir alle hartcodierten Mesh-Parameter aus der Konfigurationsdatei entfernt und sie als Argumente einer Kommandozeile parametrierbar gemacht.
Die Arbeit umfasst das Erstellen einer Konfigurationsdatei für alle Mesh-Layoutdaten und die Unterstützung für die neue Firmware von Mesh-Komponenten sowie Mesh-Nachrichten.
Buildroot ist ein Tool, das den Prozess der Erstellung eines kompletten Linux-Systems für ein Embedded-System mittels Cross Compilation vereinfacht und automatisiert. Mit dem Buildroot kann eine Cross-Compilation-Toolchain, ein Rootfile-System, ein Linux-Kernel-Image sowie ein Bootloader für Ihre Zielplattform generiert werden. Die Idee dieses internen Projekts ist es, sich mit der Funktionalität des Linux-Systems vertraut zu machen und ein einfaches Buildroot-System für Beagle Bone Black zu entwickeln. Das Buildroot-System wurde mit der Entwicklung eines Bibliotheksdatenmanagement-Systems getestet. Die Bibliotheksdaten enthalten Informationen über Buch-ID, Name, relative Adresse und ein boolsches Status-Flag zur Statusanzeige des Buches. Die Arbeit besteht aus zwei Teilen: der Entwicklung von einem C++-System, das eine unbekannte Menge an Bibliotheksdaten in einer Datei speichert, und der Implementierung einer Schnittstelle zum Abrufen bestimmter Daten des Buchs.
Aufgaben:
Tools und Technologien:
Oracle VM Virtual Box, Linux-Debian, Buildroot, VI, C++ Programmierung
Beschreibung:
Im Rahmen des Ausbildungsprogramms „Boot Camp“ habe ich mich intensiv mit den hier aufgelisteten Themen befasst. Einige der Kenntnisse und Fähigkeiten konnte ich somit noch weiter vertiefen, manche andere mir zusätzlich aneignen.
Tools und Technologien:
Tuples Data management mit C++ Linkedlist und ADT
Maßnahmen an der Hardware eröffnen dem Entwickler die Möglichkeit, das Rechentempo selbst für einen komplexen Algorithmus zu erhöhen, indem er ihn in einen FPGA, quasi ein kundenspezifisches Hardwarebauelement, überträgt. Folglich geht es bei dieser Art von Hardware-Beschleunigung um Näherungsrechnungen, die nach kürzerer Rechenzeit und mit weniger Energieverbrauch ein nicht ganz exaktes Ergebnis auf zurückliefert. Viele Anwendungsbereiche wie Datenanalyse oder Data Mining, Bild- und Videoverarbeitung, mobiles Rechnen und künstliche Intelligenz eignen sich wegen ihrer inbegriffenen Toleranz gegenüber Näherungsungenauigkeiten gut für Annäherungs-Berechnungen. Folglich wird bei bei fehlerunempfindlichen Anwendungen durch Annäherungs-Berechnungen die Rechenqualität (z.B. Exaktheit) den Berechnungs-Aufwänden (z.B. Energie) gegenübergestellt.
Annähernde Addierer sind das Herzstück von Annäherungs-Berechnungen. Diese sehr leistungsfähigen Addierer sind eine Gruppierung unterschiedlicher, kleiner untergeordneter Addierer, alle mit Einheiten zur Übertrags-Vorhersage und Fehlerkorrektur versehen.
In dieser Projektarbeit haben wir einen konfigurierbaren Addierer mit geringer Latenzzeit und mittelmäßiger Genauigkeit entworfen. Verglichen mit anderen Addierern wie einem Error Tolerant Adder (ETA) oder Almost Correct Adder (ACA) bietet er eine höhere Ausstattung und anpassungsfähigere Struktur.
Das Neuartige daran sind die Entwicklung und Ausführung eines Multi-Prozessor-Systems auf einem FPGA zur Hardwarebeschleunigung und Annäherungs-Berechnungen eines Algorithmus zur Sobel Flankenerkennung. Damit kann zu einem späteren Zeitpunkt eine andere Software für Näherungstechniken entwickelt und getestet werden.
Aufgaben:
Auf Grund der Kundenanweisung konzentrierte sich die Arbeit auf das Design, der Hardware-Beschleuniger und der effizienten Umsetzung des multicore embedded-System mit Altera DE2-115-Entwicklungsboard. Die Methodik dieser Arbeit besteht aus folgenden Stufen:
Beschreibung:
Diese Projektarbeit beschreibt die Implementierung von HAAR Wavelet Transformation auf einem FPGA
Verilog, DE2-150 Altera FPGA, D5M-CCD Kamera, Quartus2
Beschreibung:
Fahrzeugverfolgung setzt das Platzieren eines GPS-Gerätes in einem Fahrzeug voraus. Dieses Gerät sammelt Informationen über die Lage eines Fahrzeugs und sendet es an eine zentrale Stelle. Dort kann ein Mitarbeiter die Informationen überwachen, um die genaue Lage eines Fahrzeugs zu einem bestimmten Zeitpunkt zu erfassen. Ebenfalls kann man das Fahrzeug auch dann verfolgen, wenn die Wegstrecke bekannt ist. GPS-Tracking wird heute nicht nur in Firmen, sondern auch in vielen anderen Anwendungen eingesetzt.
Dieses Projekt verwendet nur ein GPS-Gerät. Die Zwei-Wege-Kommunikation wird mit einem GSM-Modem erreicht. Sie können Ihr Fahrzeug einfach mit Ihrem Mobiltelefon verfolgen, indem Sie die Mobiltelefonnummer der an das GSM-Modem angeschlossenen SIM wählen.
Aufgaben:
Diese Projektarbeit wurde mit dem AVR ATMEGA16 Mikrocontroller und dem GSM / GPS Modul realisiert. Das GPS-Modul erhält die Ortsinformation von Satelliten, in Form von Breiten- und Längengrad. Der Mikrocontroller verarbeitet die Informationen und sendet sie an das GSM-Modem. Das GSM-Modem sendet dann die Informationen an das Mobiltelefon des Besitzers.
Tools und Technologien:
C Programmierung, ATMEGA16 μController, MAX232 IC, iWave GPS Modul, SIM300 GSM Modem, AVR Studio
Embedded Software Entwickler
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.