Öffentliche Projektarbeit
Robotik-Plattform-Projekte
Ich entwickle und veröffentliche Projekte rund um den Betrieb von Robotern: Flottensteuerung, Telemetrie, den Umgang mit Verbindungsabbrüchen und Bedienoberflächen. Dafür arbeite ich mit ROS 2 und Simulationen.
Überblick
Über die Projekte
Diese Projekte entstehen in Eigeninitiative oder stammen aus meiner Forschungsarbeit. Ich habe bisher nicht beruflich an Robotern im produktiven Einsatz oder an sicherheitszertifizierten Robotersystemen gearbeitet. Mich interessiert, wie Befehle und Telemetriedaten zwischen Roboter und Plattform fließen, was bei Verbindungsabbrüchen passiert und was eine Bedienoberfläche zeigen muss, wenn etwas nicht funktioniert.
Dabei hilft mir meine Erfahrung mit zuverlässiger Software im laufenden Betrieb, Observability und verteilten Datenflüssen. Ich arbeite mit TypeScript, Python, C++, Java, Docker und Cloud-Umgebungen.
Projekte
Robotik-Projekte
Veröffentlichte Prototypen und frühere Forschungsprojekte zur Software hinter Robotern und vernetzten Geräten.
Ausgewählte Projekte
Flottenbetrieb, veraltete Telemetrie und Wiederanlauf nach Verbindungsabbrüchen
RoboOps Control Plane
RoboOps ist mein Prototyp für den Betrieb von Roboterflotten. Die Bedienoberfläche zeigt Roboterzustände, Befehle und Verbindungsfehler. Die Steuerung in TypeScript prüft, ob Telemetriedaten noch aktuell sind, gleicht nach Verbindungsabbrüchen die Zustände ab und protokolliert den Verlauf. Dieselbe Edge-Schnittstelle habe ich mit einem simulierten Nova-Carter-Roboter in Isaac Sim und ROS 2 auf NVIDIA Brev getestet.
Vollständiges Erklärvideo und Transkript anzeigen
Transkript
Ich habe RoboOps rund um NVIDIA Isaac Sim gebaut, weil ich untersuchen wollte, wie Flottenbetrieb wirkt, wenn ein realistisch simulierter Roboter Teil der Schleife ist. In diesem Setup läuft Isaac Sim über ein NVIDIA-Isaac-Launchable auf einer L40S-GPU.
Auf der Plattformseite läuft RoboOps auf AWS als kleines Flotten-Backend. Ich klone das Projekt in die Brev-Umgebung, starte den Isaac-Workflow und fahre die Simulation hoch. Dann starte ich einen Sidecar neben Isaac Sim. Das ist der roboternah laufende Teil des Prototyps: Er beobachtet die Simulation und sendet Telemetrie zurück an die Flottenplattform.
Das Dashboard zeigt also nicht nur Mock-Daten. Es empfängt Zustand von einem simulierten Roboter über dieselbe Art von Grenze, die ich auch in einem echten System erwarten würde. Hier sieht man Isaac Sim und die RoboOps-Operator-UI nebeneinander. Ich klicke im Dashboard auf Go to pose, und dann beginnt der Nova-Carter-Roboter, sich im Lager zu bewegen.
Das ist der Happy Path: Der Operator sendet einen Befehl, der Roboter reagiert, und die UI spiegelt wider, was passiert. Der wichtige Teil ist die Kontrollschleife: Befehl, Bewegung, Telemetrie und Feedback für den Operator.
Ich wollte aber nicht nur den Happy Path zeigen, denn Robotiksysteme sind selten so sauber. Hier trenne ich die Verbindung zum Roboter, während die Operator-UI weiterläuft. Nach einem kurzen Moment ist die Telemetrie nicht mehr aktuell. Die UI macht das sichtbar, statt es hinter Logs oder stillem Versagen zu verstecken.
Dann drücke ich in Isaac Sim wieder Play. Der Roboter verbindet sich neu, die Telemetrie beginnt wieder zu fließen, und die Operator-Ansicht erholt sich. Genau dieses Verhalten ist mir bei Operator-Tools wichtig: nicht nur zu zeigen, dass alles funktioniert, sondern das System verständlich zu machen, wenn etwas schiefgeht.
RoboOps ist weiterhin ein Prototyp, kein fertiges Produkt und kein Sicherheitssystem. Aber es war eine gute Übung, um die unsauberen Teile von Robotik-Tooling zu durchdenken: veraltete Telemetrie, Reconnects, Recovery und wie man diese Zustände für den Operator sichtbar macht. Das vollständige Repository findet man auf meiner Website, mrza.ch.
Erstautor des Konferenzbeitrags, über 100.000 Messwerte
Raspberry-Pi-Edge-Gateway für Gebäudemonitoring
Für ein Forschungsprojekt zum Gebäudemonitoring an der TU Wien habe ich ein Edge-Gateway in Java auf einem Raspberry Pi entwickelt. Den Konferenzbeitrag dazu habe ich als Erstautor veröffentlicht und die Ergebnisse auf der ECPPM 2014 in Wien vorgestellt. Das Gateway empfing die Funktelegramme von EnOcean-Sensoren über eine serielle Schnittstelle und wertete sie anhand der Sensorprofile aus. Bei Verbindungsabbrüchen speicherte es die Messwerte lokal in einer eingebetteten Derby-Datenbank und leitete sie später an einen entfernten Monitoring-Dienst weiter. In Testaufbauten und Büros wurde der Prototyp mit über 100.000 weitergeleiteten Messwerten überprüft.
Getrennte Überwachung der Datenströme, Umstellung von Python auf C++ mit Tests abgesichert
Robot Telemetry Gateway
Mit ROS 2 Lyrical habe ich einen deterministischen Python-Simulator mit einem Gateway in C++20/rclcpp verbunden. Die Entwicklungsumgebung lässt sich mit Docker reproduzieren. Der Simulator unterbricht das Senden von Positions- und Batteriedaten unabhängig voneinander. Das Gateway misst mit einer monotonen Uhr die Zeit seit dem letzten Empfang und meldet, wenn Daten veraltet sind oder wieder eintreffen. Automatisierte Launch-Tests prüfen, ob es sich wie das ursprüngliche Python-Gateway verhält. Sie decken auch alle vier Reliable-/Best-Effort-Kombinationen von Publisher und Subscriber ab und prüfen das erwartete DDS-QoS-Verhalten. Nach diesen Tests habe ich den Standard-Launch auf C++ umgestellt und das Python-Gateway entfernt.
Community
Gemeinsam mit anderen aus der Zürcher Robotik-Community diskutiere ich aktuelle Forschung.
Robot Learning Paper Club Zürich
Ich bin beim Zürcher Robot Learning Paper Club dabei. Dort treffen sich Entwickler, Forschende, Studierende und Startup-Teams aus der Robotik. Beim Treffen im Juli 2026 habe ich das Paper „Emerging Extrinsic Dexterity in Cluttered Scenes via Dynamics-aware Policy Learning“ von Zheng et al. vorgestellt und mit der Gruppe diskutiert. Anschließend habe ich einen kurzen Video-Rückblick auf das Treffen erstellt.
Kontakt
Wenn du an Robotik-Plattformen, Flottenbetrieb, Bedienoberflächen, Telemetrie oder Simulation arbeitest, lass uns darüber sprechen.