Forschungsprojekt
KI-gestützte Programmierung von Steuerungssystemen für Elektromotoren
Die Programmierung von eingebettetem Steuerungscode erfordert fundierte Kenntnisse über hardwarespezifische APIs und die Programmiersprache C. Viele Nutzer der Hardware verfügen nicht über die erforderlichen Programmierkenntnisse, um die Steuerungslogik selbst zu implementieren.
Diese Masterarbeit schloss diese Lücke durch die Entwicklung einer Software, die generative künstliche Intelligenz (KI) nutzt, um Beschreibungen des gewünschten Hardwareverhaltens in natürlicher Sprache automatisch in ausführbaren C-Code für die eingebettete Plattform zu übersetzen. Dies vereinfacht die Entwicklung eingebetteter Anwendungen, verkürzt die Entwicklungszeit und macht sie auch für Nutzer ohne fundierte Programmierkenntnisse zugänglich.
Als Grundlage für die Softwarearchitektur wurde ein RAG-Ansatz (Retrieval-Augmented Generation) gewählt, da die begrenzte Menge an verfügbaren Daten kein Training eines Modells zuliess. Die Hardware-Dokumentation und die Code-Beispiele werden in einer Vektordatenbank gespeichert und dienen als Wissensbasis für die Codegenerierung. Für jede Benutzereingabe werden die relevantesten Informationen aus dieser Wissensbasis abgerufen und dem lokal ausgeführten Large Language Model (LLM) als Kontext bereitgestellt.
Auch der Prozess der Codegenerierung wurde strukturiert und erweitert. Die Softwarearchitektur basiert auf einem Multi-Agenten-System, in dem die Aufgaben der Informationsgewinnung, der Codegenerierung und der Qualitätssicherung von spezialisierten Agenten übernommen werden. Zur Sicherstellung der Codequalität kommen zwei Rückkopplungsschleifen zum Einsatz. In der ersten Schleife wird jeder Codeabschnitt automatisch vom Compiler überprüft, der alle gemeldeten Fehler automatisch korrigiert. Die zweite Schleife umfasst einen LLM-basierten Code-Review-Schritt, bei dem der generierte Code mit der ursprünglichen Benutzereingabe verglichen wird, um etwaige Abweichungen zwischen der Anforderung und ihrer Umsetzung zu identifizieren und zu korrigieren.
Die entwickelte Software kann auf einem Standardcomputer ohne spezielle Grafikhardware und ohne leistungsstarke KI-Workstation ausgeführt werden. Sechs Open-Source-LLMs wurden systematisch evaluiert, um das am besten geeignete Modell zu ermitteln. Das Modell „qwen3coder:30b-a3b“ erwies sich unter Berücksichtigung der verfügbaren Ressourcen als die insgesamt beste Lösung für die jeweilige Aufgabe.
Anhand dieses Modells wurden die erzielbare Codequalität und die Verarbeitungszeit auf einem Standardcomputer und einer KI-Workstation verglichen. Die Ergebnisse zeigen, dass auf dem Standardcomputer Code generiert werden kann, dessen Qualität mit der auf der leistungsstärkeren Workstation erzielten vergleichbar ist. Dies ist besonders relevant für Anwendungen, bei denen die Verarbeitungszeit ebenso wichtig ist wie die Ausgabequalität, da der Generierungsprozess mindestens 14-mal mehr Zeit in Anspruch nimmt. Die Software läuft auf kostengünstiger Standardhardware statt auf einer speziellen KI-Infrastruktur, wodurch die Kosten für den Einsatz generativer KI in der Embedded-Entwicklung gesenkt werden.





