-
Die Erfindung betrifft ein computerimplementiertes Verfahren zur Selbstkalibrierung eines Inertialsensors. Des Weiteren betrifft die Erfindung einen Inertialsensor zum Vornehmen des Verfahrens, ein Computerprogramm und ein computerlesbares Medium.
-
Stand der Technik
-
Typischerweise ist die Empfindlichkeit von Inertialsensoren nicht konstant, sondern sie weicht nach dem Löten und während der gesamten Betriebslebensdauer aufgrund von Schwankungen der mechanischen und thermischen Belastungen vom Sollwert ab. Insbesondere ändert sich das Verhältnis zwischen dem Sensorausgangswert und dem Sensoreingangswert, was zur Ungenauigkeit der Sensormessungen führt. Nach dem Einbau von Mikrosystem-Geräten (engl. „microelectromechanical system devices“ oder „MEMS devices“), die Inertialsensoren aufweisen, in Zielprodukte, wie z.B. Smartphones, Drohnen, ist auf Kundenseite eine genaue Charakterisierung und Korrektur der Empfindlichkeit der Inertialsensoren mit spezifischen Prüfständen meistens nicht mehr möglich, weil die Kunden sehr selten über dedizierte spezifische Prüfstände verfügen.
-
Die Erfassungsempfindlichkeit eines Inertialsensors beschreibt eine elektrische Reaktion auf eine physikalische Anregung, wie z.B. die Rotations- bzw. Giergeschwindigkeit eines Gyroskops oder die Beschleunigungsgeschwindigkeit eines Beschleunigungsmessers. Die Empfindlichkeit von elektrischen Testsignalen beschreibt eine elektrische Reaktion auf elektrische Testsignale.
-
Die beiden oben erwähnten Empfindlichkeiten sind zwei verschiedene Maßnahmen, stehen jedoch in enger Wechselbeziehung zueinander. Die Variation der Erfassungsempfindlichkeit eines Inertialsensors wird hauptsächlich durch geometrische und strukturelle Änderungen der Struktur eines Mikrosystems verursacht, beispielsweise durch eine Änderung des Abstandes zwischen den Elektroden und dem Sensorelement.
-
In mehrachsigen Gyroskopen, für deren jede Achse mindestens ein Paar Testelektroden implementiert sind, kann die Variation der elektrischen Empfindlichkeit des Testsignals für jede Achse bestimmt werden. Es wurde vorgeschlagen, eine lineare Anpassung erster Ordnung anzuwenden, um die Empfindlichkeitsabweichung für jede Achse abzuschätzen. Die lineare Anpassung ist einfach zu implementieren. Jedoch hat diese eine geringe Genauigkeit und kann die nichtlinearen Verzerrungen nicht modellieren.
-
Um nichtlineare Verhalten zu behandeln, können Methoden des maschinellen Lernens angewendet werden. Eine Lösung zur Abbildung der Kalibrierung der thermischen Vorspannung von Mikrosystem-Gyroskopen ist aus dem Artikel „MEMS gyros temperature calibration through artificial neural networks“ von Rita Fontanellaa et al. bekannt.
-
Lineare Anpassungen sind in ihrer Komplexität begrenzt. Sie sind daher ungeeignet, angewendet zu werden, um komplexe funktionale Zusammenhänge zwischen Daten zu lernen. Wenn eine lineare Funktion der Beziehung zwischen Eingabe und Ausgabe nicht angemessen angenähert werden kann, zeigt das Modell eine schlechte Prognose. Bei herkömmlichen künstlichen neuronalen Netzen (engl. „artificial neural networks“ oder „ANN“) werden normalerweise nichtlineare Aktivierungsfunktionen verwendet. Leistungsfähige Annährungen sind durch diese künstlichen neuronalen Netze möglich, mit denen komplexe und komplizierte Formulardaten jeder Art berechnet und gelernt werden können. Sie repräsentieren nichtlineare beliebige funktionale Abbildungen zwischen Ein- und Ausgängen. Wenn die Anzahl der Eingaben und/oder Schichten zunimmt, können jedoch die Ausgaben unter unerwünschter Überanpassung (engl. „overfitting“) leiden, was zu einer gravierenden Verschlechterung der Genauigkeit der Sensormessungen führt.
-
Nach 2 wird beispielsweise ein Vergleich der Verteilungen 80, 90 der endgültigen Empfindlichkeit eines Inertialsensors gezeigt, die unter Verwendung einer linearen Anpassungsfunktion, deren angenäherte Verteilung 80 mit einer gestrichelten Linie gezeigt ist, und eines künstlichen neuronalen Netzes mit einer nichtlinearen Aktivierungsfunktion, deren angenäherte Verteilung 90 mit einer durchgezogenen Linie gezeigt ist, korrigiert wurde. Aus statistischer Sicht sind beide Verteilungen symmetrisch und unimodal. Die Verteilung 80 hat bei dem Mittelwert von 1,0 eine geringere Wahrscheinlichkeitsdichte und einen engeren Gesamtbereich, während die Verteilung 90 bei dem Mittelwert einen höheren Wert (siehe die gezeigte Differenz 91) hat, jedoch aufgrund von Ausreißern 92, die durch die Überanpassung verursacht wurden, mit einem größeren Gesamtbereich. Die erhöhte Punktzahl der Verteilung 90 beim Mittelwert ist die erwartete Verbesserung, die durch die nichtlinearen Aktivierungsfunktionen erreicht wird.
-
Die Druckschrift
US 2015/0121990 A1 offenbart einen Gierratensensor, umfassend eine bewegliche Massenstruktur, eine Antriebskomponente, die geeignet ist, die bewegliche Massenstruktur in Bewegung zu setzen, und eine Analysekomponente, die geeignet ist, eine Reaktion der beweglichen Massenstruktur auf eine Giergeschwindigkeit zu erfassen.
-
Offenbarung der Erfindung
-
Die vorliegende Erfindung schafft ein computerimplementiertes Verfahren zur Selbstkalibrierung eines Inertialsensors nach Anspruch 1, einen Inertialsensor zum Vornehmen des Verfahrens nach Anspruch 7, ein Computerprogramm nach Anspruch 9 und ein computerlesbares Medium nach Anspruch 10.
-
Bevorzugte Weiterbildungen sind Gegenstand der Unteransprüche.
-
Vorteile der Erfindung
-
Gemäß einem ersten Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zur Selbstkalibrierung eines Inertialsensors. Das Verfahren weist folgende Schritte auf: Festlegen von Daten, die sich auf den Inertialsensor beziehen; Unterteilen der Daten in Trainingsdaten und Testdaten; Festsetzen eines ersten Ziel-Genauigkeitswertes für ein erstes künstliches neuronales Netz, das lineare und/oder nichtlineare Aktivierungsfunktionen aufweist; Trainieren des ersten künstlichen neuronalen Netzes mit den Trainingsdaten; Eingeben der Testdaten in das trainierte erste künstliche neuronale Netz, um einen ersten Ausgangswert des ersten künstlichen neuronalen Netzes zu erlangen; Festlegen eines ersten Output-Genauigkeitswertes basierend auf einem Vergleichsergebnis zwischen dem ersten Ausgangswert und den Testdaten; Abspeichern von Gewichtungen und der linearen und/oder nichtlinearen Aktivierungsfunktionen des ersten künstlichen neuronalen Netzes in einer Speichereinheit des Inertialsensors, wenn der erste Output-Genauigkeitswert größer als der erste Ziel-Genauigkeitswert ist, oder Trainieren des ersten künstlichen neuronalen Netzes wieder mit den Trainingsdaten, wenn der erste Output-Genauigkeitswert geringer als der erste Ziel-Genauigkeitswert ist; Festlegen eines oberen Einschränkungswertes und eines unteren Einschränkungswertes für ein zweites künstliches neuronales Netz, das nichtlineare Aktivierungsfunktionen aufweist, basierend auf einer vorgegebenen Konstante und dem ersten Ausgangswert des ersten künstlichen neuronalen Netzes; Trainieren des zweiten künstlichen neuronalen Netzes mit den Trainingsdaten; Eingeben der Testdaten in das trainierte zweite künstliche neuronale Netz, um einen zweiten Ausgangswert des zweiten künstlichen neuronalen Netzes zu erlangen; Vergleichen des zweiten Ausgangswertes des zweiten künstlichen neuronalen Netzes mit einem Wertbereich von dem oberen Einschränkungswert bis zu dem unteren Einschränkungswert; Festlegen eines dritten Ausgangswertes auf den zweiten Ausgangswert, wenn der zweite Ausgangswert innerhalb des Wertbereiches liegt, oder auf den ersten Ausgangswert, wenn der zweite Ausgangswert nicht innerhalb des Wertbereiches liegt; und Abspeichern von Gewichtungen und der nichtlinearen Aktivierungsfunktionen des zweiten künstlichen neuronalen Netzes sowie der vorgegebenen Konstante in der Speichereinheit.
-
Erfindungsgemäß wird ein datenbasiertes Verfahren zur Abschätzung des Empfindlichkeitsfehlers bzw. der ungenauen Empfindlichkeit eines Inertialsensors vorgeschlagen. Mit dem erfindungsgemäßen Verfahren, und zwar mit dem Einsatz des oberen Einschränkungswertes und des unteren Einschränkungswertes, wird die beim Stand der Technik ungewünschte Überanpassung wirksam vermieden. Die erfindungsgemäße Zusammenarbeit des ersten und des zweiten künstlichen neuronalen Netzes und die erfindungsgemäße Strategie bezüglich der Entscheidung für die Ausgangswerte der beiden neuronalen Netze führen zu einer verbesserten Korrektur bzw. Kalibrierung der Empfindlichkeit des Inertialsensors.
-
Es ist erfindungsgemäß vorteilhaft, dass, wenn Signale vom Inertialsensor erfasst werden, mit der Ausgestaltung des ersten und zweiten künstlichen neuronalen Netzes die Verteilung der endgültigen Empfindlichkeit des Inertialsensors keine durch die Überanpassung verursachten Ausreißer aufweist, was fatale Fehler bezüglich der Empfindlichkeit des Inertialsensors vermeidet.
-
Beim erfindungsgemäßen Verfahren werden möglichst viele auf den Inertialsensor bezogene Informationen berücksichtigt und die relevanten Merkmale automatisch entnommen, ohne zusätzliche komplizierte Messungen an dedizierten speziellen Prüfständen durchführen zu müssen. Diese Informationen umfassen beispielhaft Testsignale und Umgebungsänderungen, die (von Auswertung-ASIC des Sensors) während der Betriebslebensdauer erhalten wurden, Prozesstoleranzen, strukturelle Asymmetrien und andere intrinsische Eigenschaften des Inertialsensors, die durch lineare Funktionen sehr schwierig zu behandeln sind. Bei Mehrachsensensoren berücksichtigt das erfindungsgemäße Verfahren aufgrund der mechanischen und elektrischen Kopplung der verschiedenen Achsen, die bei dem Design, dem Herstellungsprozess und der Verpackung eingeführt wurde, auch die Zusammenhänge zwischen den Achsen. Mit anderen Worten nutzt das erfindungsgemäße Verfahren Informationen über die übrigen Achsen, um die abgewichene Empfindlichkeit jeder Achse abzuschätzen. Die Empfindlichkeitsfehler bzw. Empfindlichkeitsabweichungen eines Inertialsensors können daher erfindungsgemäß genauer prognostiziert werden als mit den linearen Anpassungsfunktionen.
-
Erfindungsgemäß ist es außerdem vorteilhaft, bei der Trainingsphase des ersten künstlichen neuronalen Netzes einen ersten Ziel-Genauigkeitswert als Sollwert zum Vergleich mit dem ersten Output-Genauigkeitswert als Istwert festzusetzen.
-
Damit wird ein erwünschtes Trainingsergebnis für das erste künstliche neuronale Netz gewährleistet.
-
In einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist es vorgesehen, dass das Verfahren ferner folgende Schritte aufweist: Festsetzen eines zweiten Ziel-Genauigkeitswertes für das zweite künstliche neuronale Netz; Festlegen eines zweiten Output-Genauigkeitswertes basierend auf einem Vergleichsergebnis zwischen dem dritten Ausgangswert und den Testdaten; und Abspeichern von Gewichtungen und der nichtlinearen Aktivierungsfunktionen des zweiten künstlichen neuronalen Netzes sowie der vorgegebenen Konstante in der Speichereinheit, wenn der zweite Output-Genauigkeitswert größer als der zweite Ziel-Genauigkeitswert ist, oder Trainieren des zweiten künstlichen neuronalen Netzes wieder mit den Trainingsdaten, wenn der zweite Output-Genauigkeitswert geringer als der zweite Ziel-Genauigkeitswert ist.
-
Es ist besonders vorteilhaft, bei der Trainingsphase des zweiten künstlichen neuronalen Netzes einen zweiten Ziel-Genauigkeitswert als Sollwert zum Vergleich mit dem zweiten Output-Genauigkeitswert als Istwert festzusetzen. Damit wird ein erwünschtes Trainingsergebnis für das zweite künstliche neuronale Netz gewährleistet.
-
In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist es vorgesehen, dass basierend auf den in der Speichereinheit abgespeicherten Gewichtungen und den linearen und/oder nichtlinearen Aktivierungsfunktionen des ersten künstlichen neuronalen Netzes, den Gewichtungen und den nichtlinearen Aktivierungsfunktionen des zweiten künstlichen neuronalen Netzes sowie der vorgegebenen Konstante ein statistisches Modell aufgebaut wird. Mit dem Modell ist es möglich, nach dem Einbau des Inertialsensors in ein Gerät die Empfindlichkeitsabweichungen zu erkennen und den Sensor selbst kalibrieren zu lassen.
-
In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist es vorgesehen, dass durch den Inertialsensor Signale erfasst werden, und dass das statistische Modell angewendet wird, indem die erfassten Signale in das Modell eingegeben werden und das Modell einen vierten Ausgangswert ausgibt. Dieser vierte Ausgangswert kann als der erfindungsgemäße korrigierte Ausgangswert des Inertialsensors verwendet werden.
-
In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist es vorgesehen, dass die erfassten Signale in das erste künstliche neuronale Netz und das zweite künstliche neuronale Netz des Modells eingegeben werden, um einen fünften Ausgangswert des ersten künstlichen neuronalen Netzes und einen sechsten Ausgangswert des zweiten künstlichen neuronalen Netzes zu ergeben.
-
In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist es vorgesehen, dass der vierte Ausgangswert auf den sechsten Ausgangswert festgelegt wird, wenn der sechste Ausgangswert innerhalb des sich basierend auf dem fünften Ausgangswert und der vorgegebenen Konstante ergebenen Wertbereiches liegt, oder, dass der vierte Ausgangswert auf den fünften Ausgangswert festgelegt wird, wenn der sechste Ausgangswert nicht innerhalb des Wertbereiches liegt. So wird eine Selbstkalibrierung des Inertialsensors erreicht.
-
Gemäß einem zweiten Aspekt betrifft die Erfindung einen Inertialsensor zum Vornehmen des Verfahrens nach dem ersten Aspekt der Erfindung. Der Inertialsensor weist zumindest eine Speichereinheit, eine Steuereinheit und eine Multiply-Accumulate-Einheit auf.
-
In einer bevorzugten Ausführungsform des erfindungsgemäßen Inertialsensors ist es vorgesehen, dass die Speichereinheit so eingerichtet ist, die Gewichtungen und die linearen und/oder nichtlineare Aktivierungsfunktionen des ersten künstlichen neuronalen Netzes, die Gewichtungen und die nichtlinearen Aktivierungsfunktionen des zweiten künstlichen neuronalen Netzes, die vorgegebene Konstante sowie die erfassten Signale abzuspeichern, dass die Steuereinheit so eingerichtet ist, in der Speichereinheit Adressen zu generieren und den Speicherzugriff zu steuern, und dass die Multiply-Accumulate-Einheit so eingerichtet ist, die erfassten Signale bzw. Neuro-Outputs mit den entsprechenden Gewichtungen zu multiplizieren und die entsprechenden Produkte zu addieren.
-
Gemäß einem dritten Aspekt betrifft die Erfindung ein Computerprogramm, das Befehle umfasst, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren nach dem ersten Aspekt der Erfindung auszuführen.
-
Gemäß einem vierten Aspekt betrifft die Erfindung ein computerlesbares Medium, das Befehle umfasst, die bei der Ausführung durch einen Computer diesen veranlassen, das Verfahren nach dem ersten Aspekt der Erfindung auszuführen.
-
Figurenliste
-
Die vorliegende Erfindung wird nachfolgend anhand der in den schematischen Figuren angegebenen Ausführungsbeispiele näher erläutert. Es zeigen:
- 1 ein stark vereinfachtes Blockdiagramm der wesentlichen Elemente einer Ausführungsform des erfindungsgemäßen computerimplementierten Verfahrens;
- 2 beispielhaft zwei Verteilungen der kalibrierten Empfindlichkeit unter Verwendung einer linearen Anpassungsfunktion und eines künstlichen neuronalen Netzes mit einer nichtlinearen Aktivierungsfunktion;
- 3 die Struktur eines herkömmlichen künstlichen neuronalen Netzes;
- 4 ein Flussdiagramm einer weiteren Ausführungsform des erfindungsgemäßen computerimplementierten Verfahrens;
- 5 ein Flussdiagramm einer weiteren Ausführungsform des erfindungsgemäßen computerimplementierten Verfahrens;
- 6 ein schematisch dargestelltes Blockdiagramm eines Teils einer Ausführungsform des erfindungsgemäßen Inertialsensors;
- 7 eine schematisch dargestellte Ausführungsform des erfindungsgemäßen Computerprogramms; und
- 8 eine schematisch dargestellte Ausführungsform des erfindungsgemäßen computerlesbaren Mediums.
-
Ausführungsformen der Erfindung
-
In den Figuren bezeichnen gleiche Bezugszeichen gleiche bzw. funktionsgleiche Elemente.
-
Die in 1 gezeigten wesentlichen Elemente einer Ausführungsform des erfindungsgemäßen computerimplementierten Verfahrens sind ein erstes
künstliches neuronales Netz 10, ein zweites künstliches neuronales Netz 20 und eine Einheit 25, insbesondere ein Prozessor, zur Kontrolle des Grenzwertes der Ausgabe des zweiten künstlichen neuronalen Netzes 20 und zur Festlegung des endgültigen Ausgangswertes.
-
Das erste und zweite künstliche neuronale Netz 10, 20 können jeweils auf ein herkömmliches künstliches neuronales Netz, dessen Struktur beispielsweise wie die in 3 gezeigte Struktur aussieht, aufgebaut werden. Das in 3 gezeigte herkömmliche künstliche neuronale Netz weist eine Eingabeschicht 11 mit drei Eingaben 13, eine verdeckte Schicht 15 mit drei Neuronen 17 und eine Ausgangsschicht 27 mit einem Neuron 19 auf. Der Ausgang des Neurons 19 ist mit dem Bezugszeichen 21 bezeichnet. Jedes Neuron weist eine Aktivierungsfunktion 23 auf.
-
Die Eingabedaten
2 werden sowohl dem ersten künstlichen neuronalen Netz
10, als auch dem zweiten künstlichen neuronalen Netz
20 zugeführt (siehe
1). Das erste künstliche neuronale Netz
10 nutzt lineare Aktivierungsfunktionen, um eine Prognose y
c zu generieren. Das zweite künstliche neuronale Netz
20 nutzt nichtlineare Aktivierungsfunktionen, um eine Prognose y
f zu generieren. Bei der Einheit
25 werden wie folgt basierend auf der Prognose y
c und einer vorgegebenen Konstante c
0 ein oberer Einschränkungswert bu und ein unterer Einschränkungswert b
L für das zweite künstliche neuronale Netz
20 generiert:
Die beiden Einschränkungswerte definieren den erlaubten Bereich der Prognose y
f, in dem die Prognose y
f als nicht überangepasst (engl. „overfit“) angesehen wird. Die Prognose y
f wird mit der oberen und unteren Grenze verglichen. Liegt die Prognose y
f dazwischen, wird diese als gültige Ausgabe
4 akzeptiert. Ansonsten wird die Prognose y
f als Wert mit hoher Wahrscheinlichkeit für eine Überanpassung betrachtet und nicht als gültige Ausgabe akzeptiert. In diesem Fall wird stattdessen die Prognose y
C als gültige Ausgabe
4 verwendet, um die Empfindlichkeitsabweichungen zu korrigieren.
-
Bevor das erfindungsgemäße Verfahren beim Einsatz eines Inertialsensors zur Selbstkalibrierung dieses verwendet wird, müssen zunächst das entsprechende erste und zweite künstliche neuronale Netz 10, 20 trainiert werden. Hierfür werden vorhandene Messdaten genutzt.
-
4 zeigt ein Flussdiagramm einer Ausführungsform des erfindungsgemäßen computerimplementierten Verfahrens. Im Schritt S10 werden die oben erwähnten, auf den Inertialsensor bezogenen Messdaten festgelegt. Im Schritt S20 werden die Messdaten in Trainingsdaten und Testdaten unterteilt, und ein erster Ziel-Genauigkeitswert wird für das erste künstliche neuronale Netz 10 festgesetzt. Im Schritt S30 wird das erste künstliche neuronale Netz 10 initialisiert, wobei das erste künstliche neuronale Netz 10 mit den Trainingsdaten trainiert wird.
-
Im Schritt S40 werden die Testdaten in das trainierte erste künstliche neuronale Netz 10 eingegeben, um einen ersten Ausgangswert des ersten künstlichen neuronalen Netzes 10 zu erlangen, und ein erster Output-Genauigkeitswert wird basierend auf einem Vergleichsergebnis zwischen dem ersten Ausgangswert und den Testdaten festgelegt. Im Schritt S50 werden in einer Speichereinheit des Inertialsensors die Gewichtungen und die linearen Aktivierungsfunktionen des ersten künstlichen neuronalen Netzes 10 abgespeichert, wenn der erste Output-Genauigkeitswert größer als der erste Ziel-Genauigkeitswert ist. Ansonsten, nämlich, wenn der erste Output-Genauigkeitswert geringer als der erste Ziel-Genauigkeitswert ist, wird das erste künstliche neuronale Netz 10 im Schritt S35 wieder mit den Trainingsdaten trainiert.
-
Falls die Gewichtungen und der linearen Aktivierungsfunktionen des ersten künstlichen neuronalen Netzes 10 bereits abgespeichert wurden, werden ein oberer Einschränkungswert und ein unterer Einschränkungswert für das zweite künstliche neuronale Netz 20 basierend auf einer vorgegebenen Konstante und dem ersten Ausgangswert des ersten künstlichen neuronalen Netzes 10 festgelegt. Ein zweiter Ziel-Genauigkeitswert wird für das zweite künstliche neuronale Netz 20 festgesetzt. Im Schritt S60 wird das zweite künstliche neuronale Netz 20 initialisiert, wobei das zweite künstliche neuronale Netz 20 mit den Trainingsdaten trainiert wird.
-
Im Schritt S70 werden die Testdaten in das trainierte zweite künstliche neuronale Netz 20 eingegeben, um einen zweiten Ausgangswert des zweiten künstlichen neuronalen Netzes 20 zu erlangen. Der zweite Ausgangswert des zweiten künstlichen neuronalen Netzes 20 wird mit einem Wertbereich von dem oberen Einschränkungswert bis zu dem unteren Einschränkungswert verglichen. Ein dritter Ausgangswert bzw. die endgültige Ausgabe 4 wird als der zweite Ausgangswert festgelegt, wenn der zweite Ausgangswert innerhalb des Wertbereiches liegt. Ansonsten, also, wenn der zweite Ausgangswert nicht innerhalb des Wertbereiches liegt, wird die endgültige Ausgabe 4 als des ersten Ausgangswertes festgelegt. Ein zweiter Output-Genauigkeitswert wird basierend auf einem Vergleichsergebnis zwischen dem dritten Ausgangswert und den Testdaten festgelegt.
-
Wenn der zweite Output-Genauigkeitswert größer als der zweite Ziel-Genauigkeitswert ist, werden im Schritt S80 in der Speichereinheit die Gewichtungen und die nichtlinearen Aktivierungsfunktionen des zweiten künstlichen neuronalen Netzes 20 sowie die vorgegebene Konstante abgespeichert. Andernfalls wird im Schritt S65 das zweite künstliche neuronale Netz 20 wieder mit den Trainingsdaten trainiert.
-
5 zeigt ein Beispiel, wie das erfindungsgemäße Verfahren zur Selbstkalibrierung eines Initialsensors mit Mehrachsen verwendet wird. Eine anwendungsspezifische integrierte Schaltung (engl. „ASIC“) des Initialsensors misst die elektrische Empfindlichkeit für jede Achse, bestimmt die aktuelle Temperatur und andere notwendige Systemparameter. Die in Echtzeit gemessenen Daten 30 und die gespeicherten Parameter bzw. Messdaten 32 werden als Eingangsvektor zusammengesetzt. Basierend auf den während des Trainings erhaltenen Modellparametern generieren das erste und zweite künstliche neuronale Netz 10, 20 ihre Ausgaben yC und yF. Zusätzlich werden der obere und untere Einschränkungswert bU und bL basierend auf der Ausgabe yC erzeugt. Eine Entscheidung über das Endergebnis wird im Schritt S90 getroffen, indem die Ausgabe yF mit den Einschränkungswerten bu und bL verglichen wird. Wenn die Ausgabe yF zwischen bu und bL liegt, wird die Ausgabe yF als die endgültig gültige Ausgabe behandelt. Andernfalls wird die Ausgabe yC verwendet.
-
6 zeigt ein schematisch dargestelltes Blockdiagramm eines Teils einer Ausführungsform des erfindungsgemäßen Inertialsensors, welcher drei Speichereinheiten 34, 36, 38, eine Steuereinheit 40 und eine Multiply-Accumulate-Einheit 42 aufweist.
-
Die erste Speichereinheit 34 kann so eingerichtet werden, die Gewichtungen der beiden künstlichen neuronalen Netze 10, 20, die vorgegebene Konstante und die Aktivierungsfunktionen des ersten künstlichen neuronalen Netzes 10 wie Relu und/oder Satlin, die im Trainingsprozess erhalten wurden, abzuspeichern. Alternativ werden einfache nichtlineare Aktivierungsfunktionen wie Relu und/oder Satlin durch Programmierung direkt eingesetzt, ohne diese abgespeichert werden zu müssen. Dadurch wird der Prozess vereinfacht. Die zweite Speichereinheit 36 dient während der Berechnung zum Puffern der in Echtzeit erfassten Signalen und der Ausgaben von Neuronen. Die dritte Speichereinheit 38 ist eine Nachschlagetabelle, die so eingerichtet ist, die komplizierten nichtlinearen Aktivierungsfunktionen wie die Sigmoid- und/oder Tansig-Funktion abzuspeichern.
-
Die Steuereinheit 40 erzeugt Adressen für die Speichereinheiten 34, 36, 38 und kontrolliert in jedem Schritt, welche Adresse besucht wird. Die Multiply-Accumulate-Einheit 42 multipliziert die erfassten Signale oder die Neuro-Ausgaben mit ihren entsprechenden Gewichtungen und addiert das Produkt zu vorherigen Produkten, um eine kumulative Summe zu bilden.
-
In jedem Schritt erzeugt die Steuereinheit
40 zwei Adressen, die mit Bezugszeichen
48,
50 bezeichnet sind, um auf die Speichereinheiten
34,
36 zuzugreifen. Basierend auf der Adresse
48 gibt die Speichereinheiten
34 einen Gewichtungsfaktor w
i, aus. Basierend auf der Adresse
50 erzeugt die Speichereinheit
36 einen Wert x
i,, der entweder ein gemessener Wert oder eine Ausgabe eines vorherigen Neurons ist. Der Multiply-Accumulate-Einheit
42 ergibt wie folgt eine kumulative Summe:
wobei i und j das i-te Neuron und dessen j-te Eingabe/Gewichtung bezeichnen. p
i, bezieht sich auf die kumulative Summe aller Produkte für das i-te Neuron im j-ten Schritt. Für jedes Neuron ist die erste kumulative Produktsumme p
i,0 Null. Die Berechnung wird wiederholt, bis alle Eingaben eines Neurons beteiligt wurden (siehe Schritt
S92). Danach wird die Endproduktsumme des i-ten Neurons als Eingabe an die Nachschlagetabelle
38 gesendet, und basierend auf den gespeicherten Aktivierungsfunktionen wird die endgültige Ausgabe des i-ten Neurons als n
i bestimmt. Dieser Wert wird für die nächste Berechnung der Steuereinheit
36 zugeführt. Die Berechnung wird wiederholt, bis alle Neuronen des neuronalen Netzwerks behandelt wurden. Die in einem Puffer
44 abgespeicherte Ausgabe y
c des ersten künstlichen neuronalen Netzes
10 und die Einschränkungswerte b
U und b
L werden verwendet, um bei einem Entscheider
46 die endgültige Entscheidung für die endgültige Ausgabe
4 zu treffen.
-
Die in 7 dargestellte Ausführungsform des erfindungsgemäßen Computerprogramms 200 umfasst Befehle 250, die bei der Ausführung des Programms 200 durch einen Computer diesen veranlassen, das Verfahren nach 4 auszuführen.
-
Die in 8 dargestellte Ausführungsform des erfindungsgemäßen computerlesbaren Mediums 300 umfasst Befehle 350, die bei der Ausführung durch einen Computer diesen veranlassen, das Verfahren nach 4 auszuführen.
-
Obwohl die vorliegende Erfindung anhand bevorzugter Ausführungsbeispiele vorstehend vollständig beschrieben wurde, ist sie darauf nicht beschränkt, sondern auf vielfältige Art und Weise modifizierbar. Beispielsweise kann das erfindungsgemäße Verfahren auch zur Überwachung von Systemzuständen angewendet werden, um Fehlfunktionen von defekten Chips zu erkennen. Das erfindungsgemäße Verfahren kann ferner verwendet werden, um neue Systemparameter vorherzusagen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 2015/0121990 A1 [0009]