System Engineer for Humanoid Robots (Human)
Role details
Job location
Tech stack
Job description
Als Robotics Software Engineer mit Fokus auf System Engineering bist du die treibende Kraft hinter der Software, die unsere humanoiden Roboter zum Leben erweckt. Du entwirfst, entwickelst und integrierst den Low-Level- bis Mid-Level-Software-Stack und sorgst für eine nahtlose Kommunikation - von der Hardware-Abstraktionsschicht bis zur Anwendungsebene. Deine Arbeit bildet die Grundlage für eine robuste, performante und skalierbare Softwarearchitektur, auf der alle robotischen Funktionen aufbauen.
Du arbeitest intensiv mit Echtzeit-Kommunikationsprotokollen, Robotics Middleware und High-Performance-C++, um ein zuverlässiges, konsistentes System zu schaffen.
- Entwerfe und implementiere die Software-Systemarchitektur unserer humanoiden Robotikplattformen - modular, zuverlässig und echtzeitfähig.
- Schreibe sauberen, effizienten und wartbaren Code in modernem C++ (C++17/20) für das zentrale Robotik-Framework.
- Architekturiere und verwalte Datenflüsse sowie Kommunikationsschnittstellen mit ROS2 und dem zugrundeliegenden DDS-Framework.
- Integriere verschiedene Hardware-Komponenten (Aktuatoren, Sensoren, Recheneinheiten) zu einem einheitlichen Softwaresystem.
- Arbeite eng mit Hardware-, Control- und Application-Engineering-Teams zusammen, um Anforderungen zu definieren und eine reibungslose Systemintegration sicherzustellen.
- Entwickle Tools für Systemdiagnose, Monitoring und Performance-Analyse.
- Erstelle und pflege technische Dokumentationen zu Systemarchitektur, APIs und Kommunikationsprotokollen.
- Etabliere und fördere Best Practices in der Softwareentwicklung - inklusive Versionsverwaltung (Git), CI/CD-Pipelines und automatisiertem Testing.
Requirements
- Ausbildung: Bachelor oder Master in Informatik, Software Engineering, Robotik, Mechatronik oder einem verwandten technischen Fachgebiet.
- Erfahrung: Mindestens 3 Jahre Berufserfahrung in der Softwareentwicklung für Robotik oder komplexe Hardware-Systeme.
- C++-Expertise: Sehr gute Kenntnisse in modernem C++ (C++11 oder neuer) - insbesondere objektorientiertes Design, Datenstrukturen und Performance-Optimierung.
- Robotik-Verständnis: Fundiertes Wissen in Kinematik, Dynamik, Regelungstechnik und Sensorfusion.
- EtherCAT-Erfahrung: Praktische Erfahrung in der Implementierung und Fehlersuche von EtherCAT-Netzwerken für Echtzeitsteuerung - inklusive CoE (CANopen over EtherCAT), Distributed Clocks und Master/Slave-Konfigurationen.
- Middleware: Nachweisliche Erfahrung mit ROS2 und tiefes Verständnis der zugrunde liegenden DDS-Konzepte.
- Erfahrung mit weiteren Feldbusprotokollen wie CANopen oder Profinet.
- Kenntnisse in Echtzeitbetriebssystemen (RTOS) wie QNX, VxWorks oder Linux mit PREEMPT_RT.
- Vertraut mit Simulationsumgebungen wie Gazebo oder NVIDIA Isaac Sim.
- Routine im Einsatz von Python für Scripting, Automatisierung und Testing.
- Erfahrung in der Entwicklung und Wartung von EtherCAT-Stacks und Gerätekonfigurationen für Echtzeitsteuerung.
- Wissen im Umgang mit Container-Technologien (z. B. Docker, Kubernetes).
- Grundkenntnisse in Safety-relevanten Softwarestandards (z. B. ISO 26262).