-
Die Erfindung betrifft ein Verfahren und eine entsprechende Vorrichtung zur Ermittlung eines Schätzwertes des Schwimmwinkels eines Fahrzeugs. Des Weiteren betrifft die Erfindung die Steuerung und/oder Regelung der Fahrdynamik eines Fahrzeugs.
-
Ein Fahrzeug weist typischerweise ein oder mehrere Systeme zur Steuerung und/oder Regelung der Fahrdynamik des Fahrzeugs auf. Derartige Fahrdynamiksysteme, wie z.B. ABS (Antiblockiersystem), ASR (Antriebsschlupfregelung), ESP (elektronisches Stabilitätsprogramm), CDC (Continuous Damper Control), ARC (Active Roll Control), etc., führen automatische Eingriffe auf eine Bremsvorrichtung, eine Antriebsvorrichtung, eine Lenkvorrichtung und/oder eine Feder-Dämpfer-Vorrichtung des Fahrzeugs durch, um einen stabilen und/oder komfortablen Fahrbetrieb des Fahrzeugs zu ermöglichen.
-
Ein Fahrdynamiksystem verwendet typischerweise Messwerte oder Schätzwerte von ein oder mehreren Zustandsgrößen, insbesondere von einem Schätzwert des Schwimmwinkels, des Fahrzeugs, um den Zeitpunkt, das Ausmaß und/oder die Form eines automatischen Eingriffs zu bestimmen. Der Schätzwert des Schwimmwinkels kann typischerweise nicht direkt gemessen werden, sondern muss meist über ein Fahrzeugmodell aus den Messwerten von anderen Zustandsgrößen berechnet werden, was jedoch mit relativ großen Ungenauigkeiten verbunden sein kann.
-
Das vorliegende Dokument befasst sich mit der technischen Aufgabe, einen aktuellen Wert des Schwimmwinkels eines Fahrzeugs in effizienter und präziser Weise zu ermitteln.
-
Die Aufgabe wird durch jeden der unabhängigen Ansprüche gelöst. Vorteilhafte Ausführungsformen werden u.a. in den abhängigen Ansprüchen beschrieben. Es wird darauf hingewiesen, dass zusätzliche Merkmale eines von einem unabhängigen Patentanspruch abhängigen Patentanspruchs ohne die Merkmale des unabhängigen Patentanspruchs oder nur in Kombination mit einer Teilmenge der Merkmale des unabhängigen Patentanspruchs eine eigene und von der Kombination sämtlicher Merkmale des unabhängigen Patentanspruchs unabhängige Erfindung bilden können, die zum Gegenstand eines unabhängigen Anspruchs, einer Teilungsanmeldung oder einer Nachanmeldung gemacht werden kann. Dies gilt in gleicher Weise für in der Beschreibung beschriebene technische Lehren, die eine von den Merkmalen der unabhängigen Patentansprüche unabhängige Erfindung bilden können.
-
Gemäß einem Aspekt wird ein (Computer-implementiertes) Verfahren zum Anlernen einer Maschinen-erlernten Vorrichtung (z.B. einer Steuereinheit eines Fahrzeugs) beschrieben, die eingerichtet ist, einen Schätzwert des Schwimmwinkels des Fahrzeugs auf Basis von Bilddaten einer Kamera und auf Basis von Abstandsdaten eines Abstandssensors (z.B. eines Lidar- und/oder Radarsensors) des Fahrzeugs zu ermitteln. Das Verfahren kann durch einen Server ausgeführt werden.
-
Das Verfahren umfasst, für eine Vielzahl von Trainings-Datensätzen, das Ermitteln von ersten Merkmalswerten für eine Mehrzahl von ersten Merkmalen, auf Basis von Bilddaten in Bezug auf ein Umfeld eines Test-Fahrzeugs. Die Bilddaten können aus einem bestimmten Trainings-Datensatz aus der Vielzahl von Trainings-Datensätzen entnommen werden.
-
Insbesondere kann das Verfahren umfassen, das Ermitteln von ersten Flussdaten in Bezug auf den optischen Fluss einer Sequenz von Bildern aus den Bilddaten des bestimmten Trainings-Datensatzes. Die ersten Flussdaten können dabei mittels eines im Vorfeld angelernten neuronalen Netzes, insbesondere mittels eines Convolutional Neural Networks (CNN), ermittelt werden. Die zweiten Merkmalswerte können dann in präziser Weise auf Basis der ersten Flussdaten ermittelt werden.
-
Die ersten Merkmalswerte können (z.B. auf Basis der ersten Flussdaten) mittels eines ersten neuronalen Netzes (z.B. mittels eines CNN) ermittelt werden. Das erste neuronale Netz kann im Rahmen dieses Verfahrens angelernt werden.
-
Des Weiteren umfasst das Verfahren das Ermitteln von zweiten Merkmalswerten für eine Mehrzahl von zweiten Merkmalen, auf Basis von Abstandsdaten in Bezug auf das Umfeld des Test-Fahrzeugs. Die Abstandsdaten können aus dem bestimmten Trainings-Datensatz aus der Vielzahl von Trainings-Dantesätzen entnommen werden.
-
Insbesondere kann das Verfahren umfassen, das Ermitteln, auf Basis der Abstandsdaten (z.B. der Lidar- und/oder der Radardaten), eines Abstandsbildes des Umfelds des Test-Fahrzeugs aus der Vogelperspektive. Die Abstandsdaten können eine Punktwolke von Abstands-Messwerten (z.B. von Reflexionspunkten des Lidar- und/oder Radarsensors) in unterschiedlichen Höhen des Umfelds des Test-Fahrzeugs umfassen. Es können dann unterschiedliche Kanäle (z.B. für die virtuellen Kanäle „R“ (red), „G“ (green) und „B“ (blue) des Abstandsbildes für unterschiedliche Höhen des Umfelds des Test-Fahrzeugs ermittelt werden. Die zweiten Merkmalswerte können dann auf Basis des Abstandsbildes (mit den ein oder mehreren Kanälen) ermittelt werden. Durch das Überführen der Abstandsdaten in ein Abstandsbild aus der Vogelperspektive können in effizienter und präziser Weise Algorithmen der Bildverarbeitung verwendet werden, um Information in Bezug auf Objekte im Umfeld eines Fahrzeugs zu ermitteln.
-
Beispielsweise kann das Verfahren das Ermitteln von zweiten Flussdaten in Bezug auf den optischen Fluss des Abstandsbildes und/oder in Bezug auf den optischen Fluss einer zeitlichen Sequenz von Abstandsbildern umfassen. Die zweiten Flussdaten können mittels eines (ggf. im Vorfeld ermittelten) neuronalen Netzes ermittelt werden. Die zweiten Merkmalswerte können dann in präziser Weise auf Basis der zweiten Flussdaten ermittelt werden.
-
Die zweiten Merkmalswerte können (z.B. auf Basis der zweiten Flussdaten) mittels eines zweiten neuronalen Netzes ermittelt werden. Das zweite neuronale Netz kann im Rahmen dieses Verfahrens angelernt werden.
-
Das Verfahren umfasst ferner das Ermitteln eines Schätzwertes des Schwimmwinkels auf Basis der ersten und zweiten Merkmalswerte mittels eines (ggf. weiteren) neuronalen Netzes. Dabei umfasst das (weitere) neuronale Netz eine Mehrzahl von Parametern. Das weitere neuronale Netz kann ein neuronales Netz mit einer Erinnerungsfunktion umfassen. Insbesondere kann das weitere neuronale Netz ein neuronales Netz mit ein oder mehreren Long short-term memory (LSTM) Zellen umfassen.
-
Die ersten und zweiten Merkmalswerte können überlagert, z.B. addiert, werden. Beispielsweise können die ersten Merkmale und die zweiten Merkmale zueinander entsprechend sein, so dass entsprechende erste und zweite Merkmalswerte addiert bzw. überlagert werden können. Die überlagerten Merkmalswerte können dann als Eingangswerte des (weiteren) neuronalen Netzes verwendet werden.
-
Des Weiteren umfasst das Verfahren das Ermitteln eines Fehlerwertes einer Fehlerfunktion auf Basis des ermittelten Schätzwertes und auf Basis eines Sollwertes des Schwimmwinkels aus dem bestimmten Trainings-Datensatz. Insbesondere kann der Fehlerwert auf Basis einer Abweichung des ermittelten Schätzwertes von dem Sollwert des Schwimmwinkels ermittelt werden. Dabei kann die Abweichung für alle Trainings-Datensätze der Vielzahl von Trainings-Datensätzen ermittelt werden.
-
Die Fehlerfunktion kann insbesondere einen Basis-Term in Bezug auf eine mittlere Abweichung, insbesondere eine mittlere quadratische Abweichung, der ermittelten Schätzwerte und der Sollwerte des Schwimmwinkels für die Vielzahl von Trainings-Datensätze umfassen.
-
Das Verfahren kann ferner umfassen, das Ermitteln eines Schätzwertes einer Fahrgeschwindigkeit des Test-Fahrzeugs auf Basis der ersten und zweiten Merkmalswerte mittels des (weiteren) neuronalen Netzes. Des Weiteren kann das Verfahren umfassen, das Ermitteln eines mittels eines Fahrzeugsensors (z.B. mittels eines Raddrehzahlsensors) des Test-Fahrzeugs erfassten Sollwerts der Fahrgeschwindigkeit. Der Sollwert der Fahrgeschwindigkeit kann aus dem bestimmten Trainings-Datensatz entnommen werden.
-
Die Fehlerfunktion kann dann ferner einen Geschwindigkeits-Term in Bezug auf eine mittlere Abweichung, insbesondere in Bezug auf eine mittlere quadratische Abweichung, der ermittelten Schätzwerte und der Sollwerte der Fahrgeschwindigkeit für die Vielzahl von Trainings-Datensätze umfassen. Durch die Berücksichtigung eines Geschwindigkeits-Terms kann die Güte der angelernten Vorrichtung zur Schätzung des Schwimmwinkels weiter erhöht werden.
-
Das Verfahren kann umfassen, das Berechnen eines alternativen Schätzwertes des Schwimmwinkels mittels eines Kinematikmodells des Test-Fahrzeugs, mittels eines Fahrdynamikmodells des Test-Fahrzeugs und/oder mittels eines Kalman Filters. Die Fehlerfunktion kann dann zumindest einen Plausibilitäts-Term in Bezug auf eine mittlere Abweichung, insbesondere in Bezug auf eine mittlere quadratische Abweichung, der ermittelten Schätzwerte und der berechneten alternativen Schätzwerte des Schwimmwinkels für die Vielzahl von Trainings-Datensätze umfassen. Durch die Berücksichtigung eines Plausibilitäts-Terms kann die Güte der angelernten Vorrichtung zur Schätzung des Schwimmwinkels weiter erhöht werden.
-
Der Geschwindigkeits-Term und/oder der Plausibilitäts-Term können ggf. Null sein, wenn die mittlere Abweichung (betraglich) kleiner als ein Abweichungs-Schwellenwert ist. So kann bewirkt werden, dass eine korrekte Funktionsweise der angelernten Vorrichtung nicht bestraft wird. Insbesondere können so Toleranzen der gemessenen Fahrgeschwindigkeit und/oder der berechneten Schwimmwinkel berücksichtigt werden. So kann die Güte der angelernten Vorrichtung weiter erhöht werden.
-
Alternativ oder ergänzend können der Geschwindigkeits-Term und/oder der Plausibilitäts-Term mit einem Gewichtungsfaktor gegenüber dem Basis-Term der Fehlerfunktion gewichtet werden. So kann die Güte der angelernten Vorrichtung weiter erhöht werden.
-
Das Verfahren umfasst ferner das Anpassen von Parameterwerten der Mehrzahl von Parametern in Abhängigkeit von dem Fehlerwert, z.B. unter Verwendung eines Backpropagation-Algorithmus. Insbesondere können Parameterwerte der Mehrzahl von Parametern des ersten, des zweiten und des weiteren neuronalen Netzes in Abhängigkeit von dem Fehlerwert angepasst werden.
-
Das Verfahren ermöglicht es, eine Vorrichtung (insbesondere ein neuronales Netz und/oder eine Kombination aus mehreren neuronalen Netzen) bereitzustellen, mit dem der Schwimmwinkel eines Fahrzeugs in effizienter und präziser Weise geschätzt werden kann.
-
Das Verfahren kann umfassen, das Ermitteln von Inertialdaten eines Inertialsensors (z.B. der Gierrate und/oder der Längs- und/oder Querbeschleunigung) des Test-Fahrzeugs aus dem bestimmten Trainings-Datensatz der Vielzahl von Trainings-Datensätzen. Es können dann dritte Merkmalswerte von ein oder mehreren dritten Merkmalen auf Basis der Inertialdaten ermittelt werden (z.B. mittels eines LSTM-basierten neuronalen Netzes). Der Schätzwert des Schwimmwinkels kann dann auch auf Basis der dritten Merkmalswerte mittels des (weiteren) neuronalen Netzes ermittelt werden. So kann die Güte der ermittelten Schätzwerte des Schwimmwinkels weiter erhöht werden.
-
Gemäß einem weiteren Aspekt wird eine Vorrichtung zum Anlernen eines neuronalen Netzes (bzw. einer Kombination von neuronalen Netzen) beschrieben, das eingerichtet ist, einen Schätzwert des Schwimmwinkels eines Fahrzeugs auf Basis von Bilddaten einer Kamera und auf Basis von Abstandsdaten eines Abstandssensors des Fahrzeugs zu ermitteln. Die Vorrichtung ist eingerichtet, für eine Vielzahl von Trainings-Datensätzen, auf Basis von Bilddaten in Bezug auf ein Umfeld eines Test-Fahrzeugs aus einem bestimmten Trainings-Datensatz erste Merkmalswerte für eine Mehrzahl von ersten Merkmalen zu ermitteln. Des Weiteren ist die Vorrichtung eingerichtet, auf Basis von Abstandsdaten in Bezug auf das Umfeld des Test-Fahrzeugs aus dem bestimmten Trainings-Datensatz zweite Merkmalswerte für eine Mehrzahl von zweiten Merkmalen zu ermitteln. Außerdem ist die Vorrichtung eingerichtet, auf Basis der ersten und zweiten Merkmalswerte mittels des anzulernenden neuronalen Netzes einen Schätzwert des Schwimmwinkels zu ermitteln, wobei das neuronale Netz eine Mehrzahl von Parametern umfasst. Die Vorrichtung ist ferner eingerichtet, auf Basis des ermittelten Schätzwertes und auf Basis eines Sollwertes des Schwimmwinkels aus dem bestimmten Trainings-Datensatz einen Fehlerwert einer Fehlerfunktion zu ermitteln, sowie Parameterwerte der Mehrzahl von Parametern in Abhängigkeit von dem Fehlerwert anzupassen.
-
Gemäß einem weiteren Aspekt wird ein Verfahren zur Ermittlung eines Schätzwertes des Schwimmwinkels eines Fahrzeugs auf Basis von Bilddaten einer Kamera und auf Basis von Abstandsdaten eines Abstandssensors des Fahrzeugs beschrieben. Im Rahmen des Verfahrens können ein oder mehrere neuronale Netze verwendet werden, die gemäß dem in diesem Dokument beschriebenen Anlern-Verfahren angelernt wurden. Die in Bezug auf das Anlern-Verfahren beschriebenen Aspekte gelten in entsprechender Weise für dieses Verfahren.
-
Das Verfahren umfasst das Ermitteln von ersten Merkmalswerten für eine Mehrzahl von ersten Merkmalen, auf Basis der Bilddaten in Bezug auf ein Umfeld des Fahrzeugs (z.B. mittels eines ersten neuronalen Netzes). Des Weiteren umfasst das Verfahren das Ermitteln von zweiten Merkmalswerten für eine Mehrzahl von zweiten Merkmalen, auf Basis der Abstandsdaten in Bezug auf das Umfeld des Fahrzeugs (z.B. mittels eines zweiten neuronalen Netzes). Außerdem umfasst das Verfahren das Ermitteln des Schätzwertes des Schwimmwinkels auf Basis der ersten und zweiten Merkmalswerte mittels eines neuronalen Netzes. So kann der Schwimmwinkel in präziser Weise innerhalb eines Fahrzeugs ermittelt werden.
-
Gemäß einem weiteren Aspekt wird eine Vorrichtung (z.B. eine Steuereinheit) für ein Fahrzeug zur Ermittlung eines Schätzwertes des Schwimmwinkels des Fahrzeugs auf Basis von Bilddaten einer Kamera und auf Basis von Abstandsdaten eines Abstandssensors des Fahrzeugs beschrieben. Die Vorrichtung ist eingerichtet, auf Basis der Bilddaten in Bezug auf ein Umfeld des Fahrzeugs erste Merkmalswerte für eine Mehrzahl von ersten Merkmalen zu ermitteln, sowie auf Basis der Abstandsdaten in Bezug auf das Umfeld des Fahrzeugs zweite Merkmalswerte für eine Mehrzahl von zweiten Merkmalen zu ermitteln. Außerdem ist die Vorrichtung eingerichtet, den Schätzwert des Schwimmwinkels auf Basis der ersten und zweiten Merkmalswerte mittels eines neuronalen Netzes zu ermitteln.
-
Gemäß einem weiteren Aspekt wird ein (Straßen-)Kraftfahrzeug (insbesondere ein Personenkraftwagen oder ein Lastkraftwagen oder ein Bus oder ein Motorrad) beschrieben, das die in diesem Dokument beschriebene Steuereinheit bzw. Vorrichtung umfasst.
-
Gemäß einem weiteren Aspekt wird ein Software (SW) Programm beschrieben. Das SW Programm kann eingerichtet werden, um auf einem Prozessor (z.B. auf einem Steuergerät eines Fahrzeugs) ausgeführt zu werden, und um dadurch eines der in diesem Dokument beschriebenen Verfahren auszuführen.
-
Gemäß einem weiteren Aspekt wird ein Speichermedium beschrieben. Das Speichermedium kann ein SW Programm umfassen, welches eingerichtet ist, um auf einem Prozessor ausgeführt zu werden, und um dadurch eines der in diesem Dokument beschriebenen Verfahren auszuführen.
-
Es ist zu beachten, dass die in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systeme sowohl alleine, als auch in Kombination mit anderen in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systemen verwendet werden können. Des Weiteren können jegliche Aspekte der in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systemen in vielfältiger Weise miteinander kombiniert werden. Insbesondere können die Merkmale der Ansprüche in vielfältiger Weise miteinander kombiniert werden.
-
Im Weiteren wird die Erfindung anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen
- 1 beispielhafte Komponenten eines Fahrzeugs;
- 2a ein beispielhaftes neuronales Netz;
- 2b ein beispielhaftes Neuron;
- 2c eine beispielhafte Schicht eines Convolutional Neural Networks (CNN);
- 3 eine beispielhafte (maschinen-erlemte) Signalverarbeitung zur Ermittlung eines Schätzwertes des Schwimmwinkels eines Fahrzeugs;
- 4 eine beispielhafte Ermittlung von unterschiedlichen Kanälen eines Abstandsbildes;
- 5 eine beispielhafte Long short-term memory (LSTM) Zelle für ein neuronales Netz;
- 6a ein Ablaufdiagramm eines beispielhaften Verfahrens zur Ermittlung eines Schätzwertes des Schwimmwinkels eines Fahrzeugs; und
- 6b ein Ablaufdiagramm eines beispielhaften Verfahrens zum Anlernen eines neuronalen Netzes zur Ermittlung eines Schätzwertes des Schwimmwinkels eines Fahrzeugs.
-
Wie eingangs dargelegt, befasst sich das vorliegende Dokument mit der zuverlässigen und effizienten Ermittlung eines Schätzwertes des Schwimmwinkels eines Fahrzeugs. In diesem Zusammenhang zeigt 1 beispielhafte Komponenten eines Fahrzeugs 100. Insbesondere zeigt 1 die Räder 103 der Achsen 101, 102 eines Fahrzeugs 100, wobei die Räder 103 jeweils Radbremsen 110 aufweisen.
-
Des Weiteren umfasst das Fahrzeug 100 einen Antrieb 107 zum Antrieb zumindest einer Achse 101, 102 des Fahrzeugs 100. Außerdem umfasst das Fahrzeug 100 ein oder mehrere Sensoren 106, die eingerichtet sind, Sensordaten in Bezug auf ein oder mehrere Messgrößen zu erfassen. Beispielhafte Messgrößen sind die Fahrgeschwindigkeit, die Längsbeschleunigung, die Querbeschleunigung, die Gierrate, den Lenkwinkel der Vorderachse 101, den Lenkwinkel der Hinterachse 102, etc. Alternativ oder ergänzend können die ein oder mehreren Sensoren 106 eingerichtet sein, Sensordaten in Bezug auf ein Umfeld des Fahrzeugs 100 zu erfassen. Beispielhafte Sensoren 106 sind eine Bildkamera, ein Radarsensor, ein Lidarsensor, etc.
-
Eine Steuereinheit 105 des Fahrzeugs 100 kann eingerichtet sein, auf Basis der Sensordaten der ein oder mehrere Sensoren 106 automatische Eingriffe an ein oder mehrere Fahrdynamik-Aktoren 107, 110 (z.B. den Antrieb 107 und/oder die Bremsen 110) zu bewirken, um die Fahrdynamik des Fahrzeugs 100 zu verändern, insbesondere um die Stabilität und/oder den Komfort des Fahrzeugs 100 zu erhöhen. Zu diesem Zweck kann die Steuereinheit 105 auf ein Fahrzeug-Modell, insbesondere ein lineares Einspurmodell, zurückgreifen, das z.B. auf einer Speichereinheit 104 des Fahrzeugs 100 gespeichert sein kann. Das Fahrzeug-Modell weist typischerweise ein oder mehrere Modellparameter auf. Ein beispielhafter Modellparameter zur Beschreibung der Lenkbewegung des Fahrzeugs 100 ist der Schwimmwinkel β. Die Steuereinheit 105 des Fahrzeugs 100 kann eingerichtet sein, automatische Eingriffe an ein oder mehrere Fahrdynamik-Aktoren 107, 110 des Fahrzeugs 100 in Abhängigkeit eines Schätzwertes des Schwimmwinkels zu tätigen, z.B. um die Fahrdynamik des Fahrzeugs 100 zu verändern.
-
Der Wert des Schwimmwinkels kann z.B. auf Basis eines Kinematikmodells berechnet werden, z.B. mittels der folgenden Formel
-
Die Güte der Schätzung hängt dabei von der Güte der verfügbaren Messwerte für die Längsbeschleunigung ax, die Querbeschleunigung ay, und/oder für die Gierrate ψ̇ des Fahrzeugs 100 ab. Dabei können sich jedoch systematische Fehler der Inertialsensorik des Fahrzeugs 100 ergeben, wodurch die Güte des ermittelten Schätzwertes des Schwimmwinkels beeinträchtigt wird.
-
In diesem Dokument wird ein Verfahren zur Schätzung des Schwimmwinkels beschrieben, das eine Datenfusion der Inertialsensoren, einer Kamera, eines Lidarsensors und/oder eines Radarsensors eines Fahrzeugs 100 durchführt, um die Eigenbewegung des Fahrzeugs 100 auf Basis der Erfassung der Fahrzeugumgebung zu ermitteln. Insbesondere werden ein oder mehrere (statische) Objekte in der Fahrzeugumgebung ermittelt, um auf Basis der ein oder mehreren Objekte einen zuverlässigen Schätzwert des Schwimmwinkels des Fahrzeugs 100 zu ermitteln. Der Schätzwert des Schwimmwinkels kann insbesondere durch den Zusammenschluss mehrerer künstlicher neuronaler Netze (KNN) ermittelt werden. Die Genauigkeit der Schätzung kann dabei durch Plausibilisierung der Schätzwerte anhand von Daten der Intertialsensoren verbessert werden.
-
2a zeigt ein beispielhaftes neuronales Netz 200, insbesondere ein Feedforward-Netz. Das Netz 200 umfasst in dem dargestellten Beispiel zwei Eingangs-Neuronen bzw. Eingabe-Knoten 202, die zu einem bestimmten Zeitpunkt jeweils einen aktuellen Wert einer Messgröße bzw. eines Merkmals als Eingangswert 201 aufnehmen. Die ein oder mehrere Eingangs-Knoten 202 sind Teil einer Eingangs-Schicht 211.
-
Das neuronale Netz 200 umfasst ferner Neuronen 220 in ein oder mehreren verdeckten Schichten 212 des neuronalen Netzes 200. Jedes der Neuronen 220 weist als Eingangswerte die einzelnen Ausgangswerte der Neuronen der vorhergehenden Schicht 212, 211 auf. In jedem der Neuronen 220 erfolgt eine Verarbeitung, um in Abhängigkeit von den Eingangswerten einen Ausgangswert des Neurons 220 zu ermitteln. Die Ausgangswerte der Neuronen 220 der letzten verdeckten Schicht 212 können in einem Ausgangs-Neuron bzw. Ausgabe-Knoten 220 einer Ausgangs-Schicht 213 verarbeitet werden, um einen Ausgangswert 203 des neuronalen Netzes 200 zu ermitteln.
-
2b veranschaulicht die beispielhafte Signalverarbeitung innerhalb eines Neurons 220, insbesondere innerhalb der Neuronen 202 der ein oder mehreren verdeckten Schichten 212 und/oder der Ausgangs-Schicht 213. Die Eingangswerte 221 des Neurons 220 werden mit individuellen Gewichten 222 gewichtet, um in einer Summeneinheit 223 eine gewichtete Summe 224 der Eingangswerte 221 zu ermitteln (ggf. unter Berücksichtigung eines Bias bzw. Offsets 227). Durch eine Aktivierungsfunktion 225 kann die gewichtete Summe 224 auf einen Ausgangswert 226 des Neurons 220 gemappt werden. Dabei kann durch die Aktivierungsfunktion 225 z.B. eine Begrenzung des Wertebereichs erfolgen. Für ein Neuron 220 kann z.B. eine Sigmoid-Funktion oder eine Tangens hyperbolicus (tanh)-Funktion oder eine Rectified Linear Unit (ReLU), z.B. f(x) = max(0, x), als Aktivierungsfunktion 225 verwendet werden. Die Aktivierungsfunktion 225 kann ggf. den Wert der gewichteten Summe 224 mit einem Offset 227 verschieben.
-
Ein Neuron 220 weist somit Gewichte 222 und/oder einen Offset 227 als Neuron-Parameter auf. Die Neuron-Parameter der Neuronen 220 eines neuronalen Netzes 200 können in einer Trainingsphase angelernt werden, um zu bewirken, dass das neuronale Netz 200 eine bestimmte Funktion ausführt.
-
Das Anlernen eines neuronalen Netzes 200 kann z.B. anhand des Backpropagation-Algorithmus erfolgen. Zu diesem Zweck können in einer ersten Phase einer qten Epoche eines Lern-Algorithmus für die Eingangswerte 201 an den ein oder mehreren Eingangs-Knoten 202 des neuronalen Netzes 200 entsprechende Ausgangswerte 203 an dem Ausgang der ein oder mehreren Ausgangs-Neuronen 220 ermittelt werden. Die Eingangswerte 201 können aus Trainingsdaten (d.h. aus tatsächlichen Fahrzeugdaten, Umfelddaten, Positionsdaten und/oder digitaler Karteninformation) entnommen werden, die auch entsprechende Soll-Ausgangswerte (d.h. das Vorliegen bzw. das Nicht-Vorliegen einer Fahrsituation mit Interaktionsbedarf, die Interaktionsklasse des Interaktionsbedarfs und/oder das Vorliegen bzw. das Nicht-Vorliegen einer zukünftigen Fahrsituation mit Interaktionsbedarf) anzeigen. Die von dem neuronalen Netz 200 ermittelten bzw. prädizierten Ist-Ausgangswerte können mit den Soll-Ausgangswerten aus den Trainingsdaten verglichen werden, um den Wert einer Optimierungs- bzw. Fehlerfunktion zu ermitteln.
-
In einer zweiten Phase der qten Epoche des Lern-Algorithmus erfolgt eine Rückpropagation des Fehlers bzw. des Fehlerwertes von dem Ausgang zum Eingang des neuronalen Netzes, um schichtweise die Neuron-Parameter der Neuronen 220 zu verändern. Dabei kann die ermittelte Optimierungsfunktion am Ausgang partiell nach jedem einzelnen Neuron-Parameter des neuronalen Netzes 200 abgeleitet werden, um ein Ausmaß zur Anpassung der einzelnen Neuron-Parameter zu ermitteln. Dieser Lern-Algorithmus kann iterativ für eine Vielzahl von Epochen wiederholt werden, bis ein vordefiniertes Konvergenzkriterium erreicht wird. Dabei können in unterschiedlichen Epochen zumindest teilweise unterschiedliche Trainingsdaten verwendet werden.
-
Eine weitere Form eines neuronalen Netzes 200, insbesondere ein sogenanntes Convolutional Neural Network (CNN), wird in Zusammenhang mit 2c beschrieben. Ein CNN 200 eignet sich insbesondere zur Verarbeitung von matrixförmigen Sensordaten 230, wie z.B. Bilddaten und/oder gerasterte Lidar- oder Radarsensordaten, die in einer Matrix von N x M Datenpunkten angeordnet sind (z.B. N, M jeweils größer als 100). Jeder einzelne Datenpunkt 231 kann als Eingangswert 221 einen Neuronal 220 betrachtet werden. Es kann dann eine Teilmatrix 233 mit n x m Datenpunkten 231 betrachtet werden (z.B. n, m jeweils kleiner als 10), die zeilenweise (dargestellt durch den Pfeil 237) und/oder spaltenweise (dargestellt durch den Pfeil 238) jeweils um eine Spalte bzw. Zeile verschoben wird, um jeweils mittels eines Neurons 220 einen Ausgangswert 236 zu berechnen. Es kann somit eine (zweidimensionale) Faltungsoperation der matrixförmigen Sensordaten 230 durchgeführt werden.
-
3 zeigt eine beispielhafte Signalverarbeitung 300 zur Fusionierung der Daten mehrere Sensoren 301, 302, 303, 304 des Fahrzeugs 100, mit dem Ziel einen Schätzwert β̂ 343 des Schwimmwinkels zu ermitteln. Die Sensoren umfassen eine Kamera 301, die eingerichtet ist, Bilddaten (d.h. eine Sequenz von Bildern) der Fahrzeugumgebung zu erfassen. Aus der Sequenz von Bildern kann auf Basis der Verschiebung von Bildpunkten entlang der Zeit Information in Bezug auf die Geschwindigkeit eines Objektes ermittelt werden. Insbesondere kann eine Bildsequenz 311 (z.B. zwei direkt aufeinander folgenden Bilder) dazu verwendet werden, den optischen Fluss in einem aktuellen Bild an einem aktuellen Zeitpunkt zu ermitteln. Der optische Fluss kann mittels eines speziell zur Ermittlung des optischen Flusses angelernten neuronalen Netzes 321 ermittelt werden (wie z.B. anhand des sogenannten „Flownet“ der Universität Freiburg).
-
Aus Basis der Flussdaten in Bezug auf den optischen Fluss an dem aktuellen Zeitpunkt können mittels eines ersten neuronalen Netzes 331 erste Merkmalswerte von ein oder mehreren ersten Merkmalen an dem aktuellen Zeitpunkt ermittelt werden.
-
Des Weiteren können die Sensordaten eines Lidarsensors 302 und/oder eines Radarsensors 303 des Fahrzeugs 100 an dem aktuellen Zeitpunkt ausgewertet werden. Die Sensordaten des Lidarsensors 302 und des Radarsensors 303 können überlagert werden (in der „Merge“-Einheit 315), um eine Punktwolke 312 von Reflexionspunkten in der Umgebung des Fahrzeugs 100 zu ermitteln. Auf Basis der Punktwolke 312 können dann ein oder mehrere Bird-Eye-View Abstandsbilder 313 (d.h. Bilder 313 aus der Vogelperspektive) ermittelt werden, die Objekte in der Umgebung aus einer Vogelperspektive anzeigen.
-
Die ein oder mehrere Bilder 313 können mittels eines neuronalen Netzes 322 (z.B. einem für Abstandsbilder 313 angelernten Flownet) analysiert werden, um den optischen Fluss der Bird-Eye-View Bilder 313 zu ermitteln. Auf Basis der Flussdaten in Bezug auf den optischen Fluss der ein oder mehreren Bird-Eye-View Bilder 313 können mittels eines zweiten neuronalen Netzes 332 zweite Merkmalswerte von ein oder mehreren zweiten Merkmalen an dem aktuellen Zeitpunkt ermittelt werden.
-
Die Punkte (d.h. die Bildpunkte aus den Bildern oder Punkte aus der Punktwolke 312) der Fahrzeugumgebung können nach ihrer Geschwindigkeit unterschieden werden. Mittels eines „Flownets“ kann jeweils der optische Fluss ermittelt werden. Ein Flownet besteht dabei typischerweise aus mehreren Schichten von Convolutional Neural Networks (CNN). Durch Transfer Learning (d.h. durch Implementierung eines fertig trainierten künstlichen NN) kann das Flownet die Umgebungsdaten auf solche Weise filtern, dass stationäre Objekte erkannt werden. Relevante Informationen (hier stationäre Objekte) werden fokussiert, unrelevante Informationen werden herausgefiltert. Eingangsgrößen in das jeweilige Flownet sind die Daten der Umfeldsensorik des Fahrzeugs 100 bestehend aus Kamera 301 bzw. Lidar 302 und/oder Radar 303. Ausgangsgrößen sind Feature Maps bzw. Merkmalsmatrizen, die durch weitere neuronale Netze 331, 332 weiter fokussiert bzw. komprimiert werden können. Die neuronalen Netze 331, 332 können mehrere Schichten 212 umfassen.
-
Die ermittelten ersten Merkmalswerte der ein oder mehreren ersten Merkmale (aus den Bilddaten) und die ermittelten zweiten Merkmalswerte der ein oder mehreren zweiten Merkmale (aus den Lidar- und/oder Radardaten) können zusammengefasst, vereint bzw. gemerged werden (in der „Merge“-Einheit 333). Insbesondere kann der erste Merkmalwert eines ersten Merkmals mit einem zweiten Merkmalswert eines entsprechenden zweiten Merkmals überlagert bzw. vereint (z.B. addiert) werden.
-
Des Weiteren können die Sensordaten 314 eines Inertialsensors 304 des Fahrzeugs 100 verwendet werden, um die Güte des Schätzwertes 343 des Schwimmwinkels zu erhöhen. Die Sensordaten 314 des Inertialsensors 304 können in einem Long short-term memory (LSTM) neuronalen Netzwerk (NN) 324 verarbeitet werden, um dritte Merkmalswerte von ein oder mehreren dritten Merkmalen zu ermitteln, die mit den o.g. ersten und/oder zweiten Merkmalswerten verkettet werden können (in der „Concatenate“-Einheit 334). Die sich daraus ergebenden Merkmalswerte für ein oder mehrere Merkmale können in einem weiteren LSTM-NN 341 und/oder in einem weiteren NN 342 mit voll verbundenen Schichten 232 (d.h. mit fully connected layers) weiter verarbeitet werden, um den Schätzwert 343 für den Schwimmwinkel zu ermitteln.
-
4 veranschaulicht, wie aus der Punktwolke 312 des Lidarsensors 302 und/oder des Radarsensors 303 ein oder mehrere Bird-Eye-View Bilder 313 generiert werden können. Die Punktwolke 312 umfasst (insbesondere aufgrund des Lidarsensors 302) Höheninformation, so dass ein Würfel 401 der Umgebung des Fahrzeugs 100 ermittelt werden kann (der auch Höheninformation Z(H) umfasst). Der Würfel 402 kann auf mehrere horizontale Scheiben 402 projiziert bzw. zusammengefasst werden, um unterschiedliche Kanäle bzw. Teilbilder 403, 404 zu ermitteln, die zu einem Bird-Eye-View Bild 313 mit mehreren Kanälen 403, 404 zusammengefasst werden können.
-
5 zeigt eine beispielhafte Zelle bzw. ein beispielhaftes Neuron eines LSTM-NN
341. Ein LSTM-NN
341 kann dazu verwendet werden, eine Erinnerungsfunktion aus vergangenen Zeitpunkten mit in die Signalverarbeitung aufzunehmen. Dabei gelten folgende Funktionen: Sigmoid Funktion:
Tangens hyperbolicus:
forget gate: f
t = σ(W
f · [a
t-1,x
t]+b
f); update gate: i
t = σ(W
i · [a
t-1,x
t]+b
f); x
t] + b
i); output gate: o
t = σ(W
o · [a
t-1,x
t]+b
f); x
t] + b
o); candidate of cell state: c̃
t = tanh(W
c · [a
t-1,x
t]+b
f); x
t] + b
c); cell state: c
t = f
t * c
t-1 + i
t * c̃
t; cell state: c
t = f
t * c
t-1 + i
t * c̃
t; Activation: a
t = o
t * tanh(c
t); wobei für die Operatoren gilt: ▪ : vektorweise Multiplikation, und * : elementweise Multiplikation.
-
Die neuronalen Netze aus der Signalverarbeitung 300 können anhand von Trainingsdaten angelernt werden (z.B. mittels des o.g. Backpropagation-Algorithmus). Dabei können als Ausgangsgrößen 343 der Signalverarbeitung 300 neben dem Schätzwert des Schwimmwinkels auch die Längsgeschwindigkeit und/oder die Quergeschwindigkeit des Fahrzeugs 100 ermittelt werden. Die geschätzte Längs- und/oder Quergeschwindigkeit kann dabei zur Plausibilisierung und/oder zur Verbesserung der Schwimmwinkelschätzung verwendet werden.
-
Die (Neuron-)Parameter des KNN sollen während des Lernprozesses derart verändert werden, dass eine bestimmte Fehler- bzw. Optimierungsfunktion (bzw. Loss Function) minimiert wird. Anpassungen der Parameter im KNN werden durch alle Schichten des KNN propagiert (d.h. das ganze Netz wird trainiert). Die Fehlerfunktion kann dabei eine Überlagerung mehrerer Einzelfunktionen bzw. Fehler-Terme sein, welche nachfolgend erläutert werden.
-
Die Fehlerfunktion kann eine Basis-Funktion (bzw. eine Basis Loss Function) umfassen:
wobei ŷ: eine Schätzgröße
343 des Schwimmwinkels ist, und wobei y
ref eine in den Trainingsdaten angezeigte Referenz bzw. ein Sollwert des Schwimmwinkels ist. Die Basis-Funktion kann somit eine mittlere quadratische Abweichung (Mean Square Error) des Schätzwertes
343 und des Sollwerts des Schwimmwinkels umfassen.
-
Des Weiteren kann eine Geschwindigkeits-Fehlerfunktion
auf Basis der Längsgeschwindigkeit v
x (z.B. der von den Raddrehzahlsensoren gemessenen Längsgeschwindigkeit) ermittelt werden. Dabei kann eine Bandbreite
(z.B.
festgelegt werden, die die maximale Abweichung der durch die Sensoren angezeigten Längsgeschwindigkeit v
x,BUS anzeigt (z.B. 10%). Es kann dann ein unterer Grenzwert (z.B. ein Abweichungs-Schwellenwert)
und ein oberer Grenzwert ermittelt werden
-
Wenn für den durch die Signalverarbeitung
300 ermittelten Schätzwert v̂
x der Längsgeschwindigkeit v̂
x > v
x, lb und v̂
x < v
x, ub gilt, dann kann
gesetzt werden, so dass die Geschwindigkeits-Fehlerfunktion keinen Einfluss hat, wenn der Schätzwert v̂
x der Längsgeschwindigkeit innerhalb des Toleranzbereichs liegt. Andererseits kann die Geschwindigkeits-Fehlerfunktion als mittlere quadratische Abweichung der geschätzten und der gemessenen Längsgeschwindigkeit ermittelt werden:
-
Des Weiteren kann eine Kinematik-Fehlerfunktion L
kine auf Basis des Schwimmwinkels aus dem Kinematikmodell ermittelt werden. Der geschätzte Schwimmwinkel aus dem Kinematikmodell ergibt sich z.B. als
wobei v
x, start ein Offset ist, z.B. v
x,
start = 10 km/h, da unter 10 km/h der Schwimmwinkel relativ sensitiv gegen Fehler der Längsgeschwindigkeit v̂
x ist.
-
Die Kinematik-Fehlerfunktion L
kine kann dann als mittlere quadratische Abweichung des geschätzte Schwimmwinkels aus dem Kinematikmodell und dem durch die Trainingsdaten angezeigten Werten ermittelt werden:
-
Des Weiteren kann eine Fahrdynamik-Fehlerfunktion
auf Basis des Schwimmwinkels aus dem linearen Fahrdynamikmodell ermittelt werden. Im linearen Bereich kann ein Schwimmwinkel β
lin durch das Einspurmodell des Fahrzeugs
100 ausgerechnet werden. Dabei kann wiederum eine Bandbreite
für die Fehlertoleranz des Schwimmwinkel β
lin festgelegt werden. Es ergeben sich dann ein unterer und ein oberer Grenzwert (d.h. Abweichungs-Schwellenwerte)
-
Wenn der durch die Signalverarbeitung
300 ermittelte Schätzwert β̂ des Schwimmwinkels in diesem Intervall ist
so kann festgelegt werden
-
Andererseits kann (ggf. nur wenn gilt |a
x| < 1.5m/s
2 und |a
y| < 4 m/s
2) die mittlere quadratische Abweichung zwischen dem Schätzwert β̂ und dem Schwimmwinkel β
lin, aus dem Fahrdynamikmodell betrachtet werden:
-
Ferner kann eine Kalman-Fehlerfunktion
definiert werden. Im nichtlinearen Bereich kann ein Schwimmwinkel β
nlin mittels eines Extended Kalman Filters (durch eine Kombination von Fahrdynamikmodell und Kinematikmodell) ausgerechnet werden. Es kann dann auf Basis einer Bandbreite
(z.B.
ein unterer Grenzwert und ein oberer Grenzwert (d.h. Abweichungs-Schwellenwerte) berechnet werden:
-
Wenn für den Schätzwert gilt
kann die Fehlerfunktion sein
-
Andererseits kann (ggf. nur wenn gilt |a
y| > 4 m/s
2 und
die Fehlerfunktion als mittlere quadratische Abweichung definiert werden
-
Die einzelnen Fehlerfunktionen können zu einer Gesamt-Fehlerfunktion zusammengefasst werden, wobei die nebengeordneten Fehlerfunktionen mit einem Faktor f
straf gewichtet werden können. Als Gesamt-Fehlerfunktion L ergibt sich z.B.
-
Der Faktor fstraf kann durch verschiedene Methoden optimiert werden. Beispielsweise kann der Trainingsverlauf manuell beobachtet und der Faktor dabei angepasst werden. Alternativ oder ergänzend können die ein oder mehreren Netze mit verschiedenen Werten von fstraf trainiert werden, und es kann der Faktor mit den besten Ergebnissen bei einem Validierungs-Datensatz ausgewählt werden. Beispielsweise kann fstraf = 0.03 verwendet werden.
-
6a zeigt ein Ablaufdiagramm eines beispielhaften Verfahrens 600 zur Ermittlung eines Schätzwertes 343 des Schwimmwinkels eines Fahrzeugs 100 auf Basis von Bilddaten einer Kamera 301 und auf Basis von Abstandsdaten eines Abstandssensors 302 (insbesondere eines Radar- und/oder Lidarsensors) des Fahrzeugs 100. Das Verfahren 600 kann durch eine Steuereinheit 105 des Fahrzeugs 100 ausgeführt werden. Das Verfahren 600 kann an einer Sequenz von aufeinanderfolgenden Zeitpunkten wiederholt werden, um eine zeitliche Sequenz von Schätzwerten 343 des Schwimmwinkels zu ermitteln.
-
Das Verfahren 600 umfasst das Ermitteln 601 von ersten Merkmalswerten für eine Mehrzahl von ersten Merkmalen, auf Basis der Bilddaten in Bezug auf ein Umfeld des Fahrzeugs 100. Die erste Merkmalswerte können anhand von ein oder mehreren neuronalen Netzen 321, 331 (insbesondere CNNs) ermittelt werden.
-
Des Weiteren umfasst das Verfahren 600 das Ermitteln 602 von zweiten Merkmalswerten für eine Mehrzahl von zweiten Merkmalen, auf Basis der Abstandsdaten in Bezug auf das Umfeld des Fahrzeugs 100. Die zweiten Merkmalswerte können anhand von ein oder mehreren neuronalen Netzen 322, 332 (insbesondere CNNs) ermittelt werden.
-
Das Verfahren 600 umfasst ferner das Ermitteln 603 des Schätzwertes 343 des Schwimmwinkels auf Basis der ersten und zweiten Merkmalswerte mittels zumindest eines (weiteren) neuronalen Netzes 341, 342. Das weitere neuronale Netz 341, 342 kann ein LSTM basiertes Netz und/oder ein Netz mit vollständig verknüpften Schichten umfassen. Die ein oder mehreren neuronalen Netze 341, 342 können mit dem in diesem Dokument beschriebenen Verfahren 610 angelernt worden sein.
-
6b zeigt ein Ablaufdiagramm eines beispielhaften Verfahrens 610 zum Anlernen einer Vorrichtung 105 (z.B. einer Kombination von neuronalen Netzen), die eingerichtet ist, einen Schätzwert 343 des Schwimmwinkels eines Fahrzeugs 100 auf Basis von Bilddaten einer Kamera 301 und auf Basis von Abstandsdaten eines Abstandssensors 302 (z.B. eines Lidar- und/oder Radarsensors) des Fahrzeugs 100 zu ermitteln. Das Verfahren 610 kann durch einen Server ausgeführt werden.
-
Das Verfahren 610 umfasst, für eine Vielzahl von Trainings-Datensätzen, das Ermitteln 611 von ersten Merkmalswerten für eine Mehrzahl von ersten Merkmalen, auf Basis von Bilddaten in Bezug auf ein Umfeld eines Test-Fahrzeugs. Die Bilddaten können aus einem bestimmten Trainings-Datensatz der Vielzahl von Trainings-Datensätzen entnommen werden. Die ersten Merkmalswerte können anhand von ein oder mehreren neuronalen Netzen 321, 331 (insbesondere CNNs) ermittelt werden.
-
Außerdem umfasst das Verfahren 610 das Ermitteln 612 von zweiten Merkmalswerten für eine Mehrzahl von zweiten Merkmalen, auf Basis von Abstandsdaten in Bezug auf das Umfeld des Test-Fahrzeugs. Die Abstandsdaten können aus dem bestimmten Trainings-Datensatz entnommen werden. Die zweiten Merkmalswerte können anhand von ein oder mehreren neuronalen Netzen 322, 332 (insbesondere CNNs) ermittelt werden.
-
Das Verfahren 610 umfasst ferner das Ermitteln 613 eines Schätzwertes 343 des Schwimmwinkels auf Basis der ersten und zweiten Merkmalswerte mittels zumindest eines (weiteren) neuronalen Netzes 341, 342. Dabei umfasst das neuronale Netz 341, 342 eine Mehrzahl von Parametern. Die Schätzwerte 343 können für jedes der Trainings-Datensätze aus der Vielzahl von Trainings-Datensätzen ermittelt werden.
-
Außerdem umfasst das Verfahren 610 das Ermitteln 614 eines Fehlerwertes einer Fehlerfunktion auf Basis des ermittelten Schätzwertes 343 und auf Basis eines Sollwertes des Schwimmwinkels aus dem bestimmten Trainings-Datensatz. Insbesondere kann der Fehlerwert der Fehlerfunktion für die Vielzahl von Trainings-Datensätze ermittelt werden (z.B. auf Basis der mittleren Abweichung des jeweiligen Schätzwerte 343 von den jeweiligen Sollwerten des Schwimmwinkel s).
-
Das Verfahren 610 umfasst ferner das Anpassen 615 von Parameterwerten der Mehrzahl von Parametern in Abhängigkeit von dem Fehlerwert. Zu diesem Zweck kann der Backpropagation-Algorithmus verwendet werden.
-
Durch die in diesem Dokument beschriebenen Maßnahmen kann der Schwimmwinkel unabhängig von Fahrzeugparametern geschätzt werden (insbesondere unabhängig von der Längsgeschwindigkeit aus den Raddrehzahlsensoren eines Fahrzeugs 100). Es kann eine robuste und präzise Schätzung ermöglicht werden (auch bei Ausfall von ein oder mehreren Umfeldsensoren 301, 302, 303).
-
Die vorliegende Erfindung ist nicht auf die gezeigten Ausführungsbeispiele beschränkt. Insbesondere ist zu beachten, dass die Beschreibung und die Figuren nur das Prinzip der vorgeschlagenen Verfahren, Vorrichtungen und Systeme veranschaulichen sollen.