KI-gestützte Signalkorrektur Neuronale Netze als Echtzeitfilter auf einem Embedded Device

Von Jasmin Frick* 5 min Lesedauer

Anbieter zum Thema

Wie viel KI passt auf einen Mikrocontroller? Praktische Erfahrung aus einem Lenkradprojekt zeigt, wie kompakte neuronale Netze auf STM32-Systemen magnetische Störungen von Hall-Sensoren in Echtzeit ausgleichen und die Sicherheit erhöhen.

Bild 1: Hall-Sensor-Schalteraufbau mit zwei Hall-Sensor-ICs (schwarz), einem beweglichen Permanentmagneten und einem störenden externen Magneten.(Bild:  Invenio)
Bild 1: Hall-Sensor-Schalteraufbau mit zwei Hall-Sensor-ICs (schwarz), einem beweglichen Permanentmagneten und einem störenden externen Magneten.
(Bild: Invenio)

Künstliche Intelligenz findet zunehmend Eingang in industrielle Anwendungen. Während große Sprachmodelle derzeit viel Aufmerksamkeit erhalten, bieten auch kompakte neuronale Netze interessante Möglichkeiten für Embedded-Systeme. In der Praxis greifen Entwickler jedoch meistens noch auf klassische Signalverarbeitungsverfahren zurück, da KI-Modelle oftmals als zu ressourcenintensiv gelten. Tatsächlich verbrauchen neuronale Netzwerke im Verhältnis zu herkömmlichen Algorithmen immer noch mehr Ressourcen, können aber mittlerweile auch auf ressourcenschwachen Systemen effektiv eingesetzt werden . Gerade in Anwendung mit sehr vielen Variablen können neuronale Netzwerke trotz der höheren Anforderungen Probleme allerdings effizienter lösen, als klassische Algorithmen . Der Nutzen muss hierbei im Einzelfall gegen den Verbrauch abgewogen werden.

Am Beispiel eines Lenkradprojekts zeigt dieser Beitrag der invenio GmbH, dass neuronale Netze auch auf ressourcenbeschränkten Mikrocontrollern der STM32-Familie wirtschaftlich und sicher eingesetzt werden können. Ziel war die Kompensation von Störungen durch externe Magnetfelder, die Hall-Sensorsignale verfälschen und dadurch sicherheitskritische Fehlfunktionen auslösen können. Grundlage der Lösung ist ein neuronales Netz, das als Echtzeitfilter direkt auf dem Embedded-System ausgeführt wird.

Hall-Sensoren unter Einfluss externer Magnetfelder

Das betrachtete Schaltersystem basiert auf zwei Hall-Sensor-ICs und einem beweglichen Permanentmagneten. Wird der Schalter betätigt, verändert sich das gemessene Magnetfeld an den Sensoren. Die Feldkomponenten dienen als Eingangssignale für die Steuerung verschiedener Fahrzeugfunktionen.

Problematisch wird die Situation, wenn externe Magnetfelder Einfluss auf das zu messende Signal nehmen, da die resultierende Überlagerung zu erheblichen Signalverfälschungen führen kann. In sicherheitsrelevanten Anwendungen besteht dadurch die Gefahr von Fehlfunktionen wie z.B. dem unbeabsichtigten Anfahren eines Fahrzeugs, obwohl der Schalter nicht betätigt wurde.

Das Ausmaß dieser Störung hängt von verschiedenen Parametern ab, darunter:

  • Orientierung des externen Magnetfelds;
  • Abstand zum Schalter; und
  • Magnetisches Dipolmoment des Störmagneten.

Durch die Vielzahl möglicher Kombinationen entsteht ein hochdimensionaler Parameterraum. Eine vollständige Kompensation mit klassischen, regelbasierten Verfahren gestaltet sich deshalb schwierig.

Durch die Vielzahl möglicher Kombinationen entsteht ein hochdimensionaler Parameterraum. Eine vollständige Kompensation mit klassischen, regelbasierten Verfahren gestaltet sich deshalb schwierig.

Um die komplexen Zusammenhänge zwischen Störung und Sensorsignal abzubilden, wurden Daten in Form von realen Messdaten sowie Simulationsdaten gesammelt.

Simulation des Sensorsystems

Zunächst wurde das Sensorsystem mit der Python-Bibliothek Magpylib modelliert. Berücksichtigt wurden:

  • Geometrie des Lenkrads;
  • Position der Hall-Sensoren;
  • Bewegung der Permanentmagnete; und
  • Externe Magnetfelder unterschiedlicher Stärke und Ausrichtung.

Auf diese Weise konnten zahlreiche Störszenarien automatisiert erzeugt und analysiert werden.

Generierung von Referenzdaten

Für jede Schalterstellung wurde das ideale Magnetfeld ohne äußere Einflüsse berechnet. Diese Signale dienten als Referenz für das spätere Training (vgl Bild 2).Die Unterschiede zwischen gestörten und idealen Signalen wurden als Korrekturvektoren beschrieben und als Zielgrößen für das neuronale Netz verwendet.

Während die Simulation eine breite Abdeckung des Parameterraums ermöglichte, wurden kritische Bereiche zusätzlich mit realen Messdaten ergänzt. Dadurch konnten Modellabweichungen reduziert und die Robustheit verbessert werden.

Training des neuronalen Netzes - Feedforward-Netze versus CNNs

Das neuronale Netz lernte, aus den gemessenen und simulierten Magnetfeldern die zugehörigen idealen Referenzwerte zu rekonstruieren. Es fungiert damit als intelligenter Filter zwischen Sensorik und Steuerungssoftware. Da das Zielsystem ein STM32-Mikrocontroller mit begrenzten Ressourcen war, mussten Modellgröße und Laufzeit sorgfältig bewertet werden.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Untersucht wurden sowohl Feedforward Neural Networks (FNN) als auch Convolutional Neural Networks (CNN). Da keine zeitlichen Abhängigkeiten vorlagen, wurden rekurrente Netze von Beginn an ausgeschlossen. Beide Netzwerktypen wurden mit TensorFlow implementiert und anhand ihrer Vorhersagequalität bewertet.

Modellqualität

Als zentrales Bewertungskriterium wurde ein Bestimmtheitsmaß R² von mindestens 0,9 definiert. Bei einem mittleren Fehler unterhalb von 10% des maximalen Sensorausschlag. Bereits kleine FNN-Modelle mit einer versteckten Schicht und lediglich 32 Neuronen erreichten diesen Zielwert. CNNs lieferten teilweise hier die besseren Ergebnisse mit einem niedrigeren Mittleren Fehler als die FNNs gleicher Größe (siehe Bild 3, Bild 4a & Bild 4b).

Bildergalerie
Bildergalerie mit 8 Bildern

Echtzeitfähigkeit auf STM32

Entscheidend war letztendlich die Ausführungszeit auf dem Zielcontroller. Während CNNs eine fast 10 mal höhere Inferenzzeit benötigten, erzielten die FNN-Modelle lediglich eine Inferenzzeit von ca. 10 ms pro Sensor. Für die insgesamt sieben Sensoren ergab sich eine Gesamtverarbeitungszeit von etwa 70 ms auf dem STM32-System. Damit lag die Verarbeitungszeit deutlich unter den typischen menschlichen Reaktionszeiten (von angenommenen rund 100 ms) und erfüllte die Echtzeitanforderungen der Anwendung (siehe Bild 5).

Finale Architektur

Die Wahl fiel schließlich auf kleine, separate Feedforward-Netze für jeden einzelnen Sensor. Dadurch konnten sowohl Speicherverbrauch als auch Rechenzeit minimiert werden, ohne Kompromisse bei der Signalqualität einzugehen.

Für die Bereitstellung der auf dem PC trainierten Modelle auf dem STM32 wurde STM32Cube AI Studio (ehemals STM32Cube.AI) verwendet, das die Optimierung, Validierung und automatische Codegenerierung für STM32-Mikrocontroller ermöglicht.

Innovate Your Software – for a Smarter Future

Deutschlands Leitkongress der Embedded-Softwarebranche

Embedded Software Engineering Kongress

Das Programm des ESE Kongress umfasst 96 Vorträge, 21 Seminare und 3 Keynotes. Seien Sie dabei, wenn sich die Embedded-Software-Community trifft, und nutzen Sie Diskussionen und Expertengespräche für einen ergiebigen Wissenstransfer und erfolgreiches Networken. Während der vier Kongresstage erwartet Sie zudem eine große Fachausstellung mit den führenden Firmen der Branche. Erfahren Sie alles über die neuesten Trends, Herausforderungen und Lösungen im Embedded Software Engineering, von KI, Safety und Security bis hin zu Management und Innovation.

Analyse und Optimierung des KI-Filters

Nach dem Training wurde untersucht, welche Eingangssignale die Vorhersagen der Netze tatsächlich beeinflussen.

Die Analyse zeigte:

  • Benachbarte Sensoren hatten nur einen geringen Einfluss auf die Vorhersage.
  • Die Netze konzentrierten sich überwiegend auf die physikalisch relevanten Achsen des jeweiligen Sensors.
  • Einige Bereiche des Parameterraums waren in den Trainingsdaten unzureichend repräsentiert.

Zur Verbesserung wurde ein Fine-Tuning mit realen Messdaten durchgeführt. Dabei zeigte sich ein bekanntes Problem neuronaler Netze: das sogenannte „Catastrophic Forgetting“. Durch die ausschließliche Verwendung eines kleinen Datensatzes verschlechterte sich die Modellgüte deutlich.

Die Lösung bestand darin, die ursprünglichen Simulationsdaten wieder in den Fine-Tuning-Prozess einzubinden und die neuen Messdaten lediglich stärker zu gewichten. Dadurch blieb die Generalisierungsfähigkeit erhalten, während die Genauigkeit in kritischen Bereichen verbessert werden konnte. Nach dem Fine-Tuning stimmten die korrigierten Sensorsignale nahezu mit den Referenzwerten überein. Der entwickelte Filter kompensierte magnetische Störeinflüsse zuverlässig und robust (vgl. Bilder 7 & 8).

Bildergalerie
Bildergalerie mit 8 Bildern

Fazit: Neuronale Netze auch mit beschränkten Ressourcen praktikabel

Die Ergebnisse zeigen, dass kompakte neuronale Netze auch auf ressourcenbeschränkten Embedded-Plattformen wie STM32-Mikrocontrollern praktikabel eingesetzt werden können. Für die vorliegende Anwendung erwiesen sich kleine Feedforward-Netze als optimale Lösung, da sie eine hohe Rekonstruktionsgenauigkeit mit kurzen Inferenzzeiten kombinieren.

Besonders erfolgreich war die Aufteilung auf einzelne Sensormodelle. Dadurch konnten die Rechenanforderungen niedrig gehalten und gleichzeitig die Anforderungen an Sicherheit und Echtzeitfähigkeit erfüllt werden.

Der vorgestellte Ansatz ist nicht auf Lenkradanwendungen beschränkt. Überall dort, wo komplexe Störeinflüsse klassische Filterverfahren an ihre Grenzen bringen, können kleine neuronale Netze auch auf embedded Systemen eine leistungsfähige Alternative darstellen.  (sg)

* Jasmin Frick ist Senior Embedded Software Engineer bei invenio Engineers Karlsruhe.

(ID:50985680)