-
Querverweis auf verwandte Anwendung
-
Diese Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung Nr.
63/106,102 , eingereicht am 27. Oktober 2020. Der Inhalt der vorstehenden Anmeldung wird durch Bezugnahme vollständig hierin aufgenommen.
-
HINTERGRUND
-
Technisches Gebiet
-
Die vorliegende Offenbarung betrifft im Allgemeinen die Fahrzeugnavigation, und insbesondere Systeme und Verfahren zum Evaluieren eines Navigationssystems eines Host-Fahrzeugs.
-
Hintergrundinformationen
-
Da die Technologie weiter voranschreitet, erscheint das Ziel eines vollständig autonomen Fahrzeugs, das in der Lage ist, auf Straßen zu navigieren, am Horizont. Autonome Fahrzeuge müssen möglicherweise eine Vielzahl von Faktoren berücksichtigen, und basierend auf diesen Faktoren geeignete Entscheidungen treffen, um ein beabsichtigtes Ziel sicher und genau zu erreichen. Beispielsweise kann ein autonomes Fahrzeug möglicherweise visuelle Informationen (z. B. von einer Kamera aufgenommene Informationen), Informationen von Radar oder Lidar, verarbeiten und interpretieren, und kann auch Informationen verwenden, die von anderen Quellen (z. B. von einer GPS-Vorrichtung, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Aufhängungssensor usw.) erhalten werden. Gleichzeitig muss ein autonomes Fahrzeug, um zu einem Ziel zu navigieren, möglicherweise auch seinen Ort auf einer bestimmten Fahrspur (z. B. einer bestimmten Fahrspur auf einer mehrspurigen Straße) identifizieren, neben anderen Fahrzeugen navigieren, Hindernissen und Fußgängern ausweichen, Verkehrssignale und Schilder beachten, an geeigneten Kreuzungen oder Anschlussstellen von einer Straße zu einer anderen fahren, und auf jede andere Situation reagieren, die während des Betriebs des Fahrzeugs auftritt oder sich entwickelt. Darüber hinaus muss das Navigationssystem möglicherweise bestimmte auferlegte Beschränkungen einhalten. In einigen Fällen können sich diese Beschränkungen auf Interaktionen zwischen einem Host-Fahrzeug und einem oder mehreren anderen Objekten beziehen, wie etwa anderen Fahrzeugen, Fußgängern usw. In anderen Fällen können sich die Beschränkungen auf Haftungsregeln beziehen, die beim Implementieren einer oder mehrerer Navigationsaktionen für ein Host-Fahrzeug zu befolgen sind.
-
Auf dem Gebiet des autonomen Fahrens gibt es zwei wichtige Überlegungen für realisierbare autonome Fahrzeugsysteme. Die erste ist eine Standardisierung der Sicherheitsgewährleistung, einschließlich der Anforderungen, die jedes selbstfahrende Auto erfüllen muss, um die Sicherheit zu gewährleisten, und wie diese Anforderungen überprüft werden können. Die zweite ist die Skalierbarkeit, da technische Lösungen, die zu freigesetzten Kosten führen, nicht auf Millionen von Autos skaliert werden können und eine weit verbreitete, oder sogar nicht so weit verbreitete, Einführung autonomer Fahrzeuge verhindern können. Daher besteht ein Bedarf an einem interpretierbaren mathematischen Modell zur Sicherheitsgewährleistung und einem Entwurf eines Systems, das die Anforderungen der Sicherheitsgewährleistung einhält und gleichzeitig auf Millionen von Autos skalierbar ist.
-
KURZDARSTELLUNG
-
Ausführungsformen gemäß der vorliegenden Offenbarung stellen Systeme und Verfahren zur autonomen Fahrzeugnavigation bereit. Die offenbarten Ausführungsformen können Kameras verwenden, um autonome Fahrzeugnavigationsfunktionen bereitzustellen. Beispielsweise können die offenbarten Systeme in Übereinstimmung mit den offenbarten Ausführungsformen eine, zwei oder mehr Kameras aufweisen, die die Umgebung eines Fahrzeugs überwachen. Die offenbarten Systeme können eine Navigationsreaktion bereitstellen, die beispielsweise auf einer Analyse von Bildern basiert, die von einer oder mehreren der Kameras aufgenommen wurden. Die Navigationsreaktion kann auch andere Daten berücksichtigen, einschließlich beispielsweise Daten des globalen Positionsbestimmungssystems (GPS), Sensordaten (z. B. von einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.), und/oder andere Kartendaten.
-
In einer Ausführungsform wird ein System zum Evaluieren eines Navigationssystems eines Host-Fahrzeugs offenbart. Das System kann mindestens eine Verarbeitungsvorrichtung umfassen, die dazu programmiert ist, Eigenschaften eines oder mehrerer Sensoren zu erfassen, die in dem Host-Fahrzeug enthalten sind; eine Testdomäne einzurichten, wobei die Testdomäne mindestens eine abgebildete Darstellung einer geografischen Region aufweist; den Betrieb des einen oder der mehreren Sensoren bezüglich der Testdomäne simulieren; und, basierend auf dem simulierten Betrieb des einen oder der mehreren Sensoren, zu bestimmen, ob eine oder mehrere Regionen innerhalb der geografischen Region existieren, in denen Ausgaben des einen oder der mehreren Sensoren nicht ausreichen, um sicherzustellen, dass eine jeweilige durch das Navigationssystem des Host-Fahrzeugs implementierte Navigationsaktion nicht zu einem Umfall führt, den das Host-Fahrzeug verschuldet hat.
-
In einer Ausführungsform wird ein Verfahren zum Evaluieren eines Navigationssystems eines Host-Fahrzeugs offenbart. Das Verfahren kann Erfassen von Eigenschaften eines oder mehrerer Sensoren, die in dem Host-Fahrzeug enthalten sind; Einrichten einer Testdomäne, wobei die Testdomäne mindestens eine abgebildete Darstellung einer geografischen Region aufweist; Simulieren des Betriebs des einen oder der mehreren Sensoren bezüglich der Testdomäne; und, basierend auf dem simulierten Betrieb des einen oder der mehreren Sensoren, Bestimmen, ob eine oder mehrere Bereiche innerhalb der geografischen Region existieren, in denen Ausgaben des einen oder der mehreren Sensoren nicht ausreichen, um sicherzustellen, dass eine jeweilige durch das Navigationssystem des Host-Fahrzeugs implementierte Navigationsaktion nicht zu einem Umfall führt, den das Host-Fahrzeug verschuldet hat, umfassen.
-
In einer Ausführungsform wird ein System zum Navigieren eines Host-Fahrzeugs offenbart. Das System kann mindestens einen Prozessor umfassen, der eine Schaltung umfasst und Zugriff auf einen Speicher hat, wobei der Speicher Anweisungen aufweist, die bei Ausführung durch die Schaltungen den mindestens einen Prozessor veranlassen, eine Route für das Host-Fahrzeug zu identifizieren, wobei die Route eine geografische Region aufweist; eine oder mehrere Umgebungsbedingungen zu identifizieren, die der geografischen Region zugeordnet sind; mindestens eine abgebildete Darstellung der geografischen Region, der einen oder mehreren Umgebungsbedingungen, und Eigenschaften eines oder mehrerer Sensoren des Host-Fahrzeugs zu analysieren, wobei die Analyse bestimmt, ob eine oder mehrere Regionen innerhalb der geografischen Region existieren, in denen Ausgaben des einen oder der mehreren Sensoren nicht ausreichen, um sicherzustellen, dass eine jeweilige durch das Navigationssystem des Host-Fahrzeugs implementierte Navigationsaktion nicht zu einem Umfall führt, den das Host-Fahrzeug verschuldet hat; und basierend auf der Analyse mindestens eine Modifizierung der Route zu bestimmen, um die eine oder die mehreren Regionen zu vermeiden.
-
In einer Ausführungsform wird ein Verfahren zum Navigieren eines Host-Fahrzeugs offenbart. Das Verfahren kann Identifizieren einer Route für das Host-Fahrzeug, wobei die Route eine geografische Region aufweist; Identifizieren einer oder mehrerer Umgebungsbedingungen, die der geografischen Region zugeordnet sind; Analysieren mindestens einer abgebildeten Darstellung der geografischen Region, der einen oder mehreren Umgebungsbedingungen, und von Eigenschaften eines oder mehrerer Sensoren des Host-Fahrzeugs, wobei die Analyse bestimmt, ob eine oder mehrere Regionen innerhalb der geografischen Region existieren, in denen Ausgaben des einen oder der mehreren Sensoren nicht ausreichen, um sicherzustellen, dass eine jeweilige durch das Navigationssystem des Host-Fahrzeugs implementierte Navigationsaktion nicht zu einem Umfall führt, den das Host-Fahrzeug verschuldet hat; und basierend auf der Analyse, Bestimmen mindestens einer Modifizierung der Route, um die eine oder die mehreren Regionen zu vermeiden, umfassen.
-
In Übereinstimmung mit anderen offenbarten Ausführungsformen können nichtflüchtige computerlesbare Speichermedien Programmanweisungen speichern, die von mindestens einer Verarbeitungsvorrichtung ausführbar sind und beliebige der hierin beschriebenen Schritte und/oder Verfahren ausführen.
-
Die vorstehende allgemeine Beschreibung und die folgende ausführliche Beschreibung sind nur beispielhaft und erklärend, und schränken die Ansprüche nicht ein.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die beigefügten Zeichnungen, die in dieser Offenbarung enthalten sind und einen Teil davon bilden, veranschaulichen verschiedene offenbarte Ausführungsformen. In den Zeichnungen:
- 1 ist eine schematische Darstellung eines beispielhaften Systems in Übereinstimmung mit den offenbarten Ausführungsformen.
- 2A ist eine schematische Seitenansichtsdarstellung eines beispielhaften Fahrzeugs, das ein System aufweist, das mit den offenbarten Ausführungsformen übereinstimmt.
- 2B ist eine schematische Draufsichtdarstellung des in 2A gezeigten Fahrzeugs und Systems, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 2C ist eine schematische Draufsichtdarstellung einer anderen Ausführungsform eines Fahrzeugs, das ein System aufweist, das mit den offenbarten Ausführungsformen übereinstimmt.
- 2D ist eine schematische Draufsichtdarstellung noch einer anderen Ausführungsform eines Fahrzeugs, das ein System aufweist, das mit den offenbarten Ausführungsformen übereinstimmt.
- 2E ist eine schematische Draufsichtdarstellung noch einer anderen Ausführungsform eines Fahrzeugs, das ein System aufweist, das mit den offenbarten Ausführungsformen übereinstimmt.
- 2F ist eine schematische Darstellung beispielhafter Fahrzeugsteuersysteme in Übereinstimmung mit den offenbarten Ausführungsformen.
- 3A ist eine schematische Darstellung eines Innenraums eines Fahrzeugs mit einem Rückspiegel und einer Benutzerschnittstelle für ein Fahrzeugbildgebungssystem in Übereinstimmung mit den offenbarten Ausführungsformen.
- 3B ist eine Veranschaulichung eines Beispiels einer Kamerahalterung, die dazu ausgelegt ist, hinter einem Rückspiegel und gegen eine Fahrzeugwindschutzscheibe positioniert zu sein, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 3C ist eine Darstellung der in 3B gezeigten Kamerahalterung aus einer anderen Perspektive, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 3D ist eine Veranschaulichung eines Beispiels einer Kamerahalterung, die dazu ausgelegt ist, hinter einem Rückspiegel und gegen eine Fahrzeugwindschutzscheibe positioniert zu sein, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 4 ist ein beispielhaftes Blockdiagramm eines Speichers, der dazu ausgelegt, Anweisungen zum Durchführen einer oder mehrerer Operationen in Übereinstimmung mit den offenbarten Ausführungsformen zu speichern.
- 5A ist ein Flussdiagramm, das einen beispielhaften Prozess zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf einer monokularen Bildanalyse zeigt, in Übereinstimmung mit offenbarten Ausführungsformen.
- 5B ist ein Flussdiagramm, das einen beispielhaften Prozess zum Erkennen eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 5C ist ein Flussdiagramm, das einen beispielhaften Prozess zum Erkennen von Straßenmarkierungen und/oder Spurgeometrieinformationen in einem Satz von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 5D ist ein Flussdiagramm, das einen beispielhaften Prozess zum Erkennen von Ampeln in einem Satz von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 5E ist ein Flussdiagramm, das einen beispielhaften Prozess zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf einem Fahrzeugpfad zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 5F ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bestimmen, ob ein vorausfahrendes Fahrzeug die Spur wechselt, zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 6 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf einer Stereobildanalyse zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 7 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 8 ist eine Blockdiagrammdarstellung von Modulen, die durch eine oder mehrere spezifisch programmierte Verarbeitungsvorrichtungen eines Navigationssystems für ein autonomes Fahrzeug implementiert werden können, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 9 ist ein Diagramm mit Navigationsoptionen in Übereinstimmung mit den offenbarten Ausführungsformen.
- 10 ist ein Diagramm mit Navigationsoptionen in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 11A, 11B und 11C liefern eine schematische Darstellung von Navigationsoptionen eines Host-Fahrzeugs in einer Einfädelzone, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 11D liefert eine schematische Darstellung eines Szenarios mit doppelter Einfädelung, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 11E liefert einen Optionsgraph, der möglicherweise in einem Szenario mit doppelter Einfädelung nützlich ist, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 12 liefert ein Diagramm eines repräsentativen Bildes, das von einer Umgebung eines Host-Fahrzeugs aufgenommen wurde, zusammen mit potenziellen Navigationsbeschränkungen, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 13 liefert ein algorithmisches Flussdiagramm zum Navigieren eines Fahrzeugs, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 14 liefert ein algorithmisches Flussdiagramm zum Navigieren eines Fahrzeugs, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 15 liefert ein algorithmisches Flussdiagramm zum Navigieren eines Fahrzeugs, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 16 liefert ein algorithmisches Flussdiagramm zum Navigieren eines Fahrzeugs, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 17A und 17B liefern eine schematische Darstellung eines Host-Fahrzeugs, das in einen Kreisverkehr navigiert, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 18 liefert ein algorithmisches Flussdiagramm zum Navigieren eines Fahrzeugs, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 19 veranschaulicht ein Beispiel eines Host-Fahrzeugs, das auf einer mehrspurigen Autobahn fährt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 20A und 20B veranschaulichen Beispiele eines Fahrzeugs, das vor einem anderen Fahrzeug einschert, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 21 veranschaulicht ein Beispiel eines Fahrzeugs, das einem anderen Fahrzeug folgt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 22 veranschaulicht ein Beispiel eines Fahrzeugs, das einen Parkplatz verlässt und in eine möglicherweise stark befahrene Straße einfädelt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 23 veranschaulicht ein Fahrzeug, das auf einer Straße fährt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 24A-24D veranschaulichen vier beispielhafte Szenarien in Übereinstimmung mit den offenbarten Ausführungsformen.
- 25 veranschaulicht ein beispielhaftes Szenario in Übereinstimmung mit den offenbarten Ausführungsformen.
- 26 veranschaulicht ein beispielhaftes Szenario in Übereinstimmung mit den offenbarten Ausführungsformen.
- 27 veranschaulicht ein beispielhaftes Szenario in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 28A und 28B veranschaulichen ein Beispiel eines Szenarios, in dem ein Fahrzeug einem anderen Fahrzeug folgt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 29A und 29B veranschaulichen beispielhafte Schuldhaftigkeiten in Einscher-Szenarien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 30A und 30B veranschaulichen beispielhafte Schuldhaftigkeiten in Einscher-Szenarien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 31A-31D veranschaulichen beispielhafte Schuldhaftigkeiten in Drift-Szenarien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 32A und 32B veranschaulichen beispielhafte Schuldhaftigkeiten in Zweirichtungsverkehrs-Szenarien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 33A und 33B veranschaulichen beispielhafte Schuldhaftigkeiten in Zweirichtungsverkehrs-Szenarien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 34A und 34B veranschaulichen beispielhafte Schuldhaftigkeiten in Routenprioritätsszenarien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 35A und 35B veranschaulichen beispielhafte Schuldhaftigkeiten in Routenprioritätsszenarien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 36A und 36B veranschaulichen beispielhafte Schuldhaftigkeiten in Routenprioritätsszenarien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 37A und 37B veranschaulichen beispielhafte Schuldhaftigkeiten in Routenprioritätsszenarien, in Übereinstimmung mit den offenbarten Ausführungsformen. d
- Die 38A und 38B veranschaulichen beispielhafte Schuldhaftigkeiten in Routenprioritätsszenarien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 39A und 39B veranschaulichen beispielhafte Schuldhaftigkeiten in Routenprioritätsszenarien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 40A und 40B veranschaulichen beispielhafte Schuldhaftigkeiten in Ampel-Szenarien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 41A und 41B veranschaulichen beispielhafte Schuldhaftigkeiten in Ampel-Szenarien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 42A und 42B veranschaulichen beispielhafte Schuldhaftigkeiten in Ampel-Szenarien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 43A-43C veranschaulichen beispielhafte Szenarien für ungeschützte Verkehrsteilnehmer (VRUs) in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 44A-44C veranschaulichen beispielhafte Szenarien für ungeschützte Verkehrsteilnehmer (VRUs), in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 45A-45C veranschaulichen beispielhafte Szenarien für ungeschützte Verkehrsteilnehmer (VRUs), in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 46A-46D veranschaulichen beispielhafte Szenarien für ungeschützte Verkehrsteilnehmer (VRUs), in Übereinstimmung mit den offenbarten Ausführungsformen.
- 47A ist eine Veranschaulichung der Schuldzeit und geeigneter Reaktionen, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 47B ist eine Veranschaulichung der Routenpriorität für Routen mit unterschiedlichen Geometrien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 47C ist eine Veranschaulichung einer Längsordnung für Routen mit unterschiedlichen Geometrien, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 47D ist eine Veranschaulichung eines Sicherheitsabstands in Längsrichtung zwischen Fahrzeugen, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 47E ist eine Veranschaulichung einer Situation, in der ein Fahrzeug den Weg eines anderen Fahrzeugs nicht vorhersagen kann, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 47F ist eine Veranschaulichung der Routenpriorität an einer Verkehrsampel, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 47G ist eine Veranschaulichung beispielhafter unstrukturierter Routen, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 47H ist eine Veranschaulichung eines beispielhaften seitlichen Verhaltens in einer unstrukturierten Situation, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 47I ist eine Veranschaulichung des Expositionszeitpunkts und der Schuldzeit in einem Verdeckungsbereich, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 48A veranschaulicht ein beispielhaftes Szenario mit zwei Fahrzeugen, die in entgegengesetzten Richtungen fahren, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 48B veranschaulicht ein Beispiel eines Zielfahrzeugs, das auf ein Host-Fahrzeug zufährt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 49 veranschaulicht ein Beispiel eines Host-Fahrzeugs, das einen Sicherheitsabstand in Längsrichtung einhält, in Übereinstimmung mit den offenbarten Ausführungsformen.
- Die 50A und 50B liefert ein Flussdiagramm, das einen beispielhaften Prozess zum Beibehalten eines Sicherheitsabstands in Längsrichtung darstellt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 51A veranschaulicht ein beispielhaftes Szenario mit zwei Fahrzeugen, die einen Querabstand zueinander haben, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 51B veranschaulicht ein Beispiel eines Host-Fahrzeugs, das einen sicheren Querabstand einhält, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 52A veranschaulicht ein Beispiel eines Host-Fahrzeugs, das eine geplante Navigationsaktion durchführt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 52B zeigt ein Beispiel eines Host-Fahrzeugs, das bestimmt, ob eine Navigationsaktion durchgeführt werden soll.
- Die 53A und 53B liefern ein Flussdiagramm, das einen beispielhaften Prozess zum Beibehalten eines sicheren Querabstands darstellt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 54 veranschaulicht ein beispielhaftes Host-Fahrzeug, das mit einem Sensor ausgestattet ist, der basierend auf einer Simulation evaluiert werden kann, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 55 veranschaulicht eine beispielhafte Testdomäne zum Simulieren des Betriebs eines oder mehrerer Sensoren, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 56 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Evaluieren eines Navigationssystems eines Host-Fahrzeugs zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
- 57 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Navigieren eines Host-Fahrzeugs zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende ausführliche Beschreibung bezieht sich auf die begleitenden Zeichnungen. Wo immer es möglich ist, werden in den Zeichnungen und der folgenden Beschreibung dieselben Bezugszeichen verwendet, um sich auf dieselben oder ähnliche Teile zu beziehen. Während hier mehrere veranschaulichende Ausführungsformen beschrieben werden, sind Modifizierungen, Anpassungen, und andere Implementierungen möglich. Beispielsweise können Ersetzungen, Hinzufügungen oder Modifizierungen an den in den Zeichnungen dargestellten Komponenten vorgenommen werden, und die hierin beschriebenen veranschaulichenden Verfahren können durch Ersetzen, Neuanordnen, Entfernen oder Hinzufügen von Schritten zu den offenbarten Verfahren modifiziert werden. Dementsprechend ist die folgende ausführliche Beschreibung nicht auf die offenbarten Ausführungsformen und Beispiele beschränkt. Stattdessen wird der richtige Geltungsbereich durch die beigefügten Ansprüche definiert.
-
Übersicht über autonome Fahrzeuge
-
Wie in der gesamten Offenbarung verwendet, bezieht sich der Begriff „autonomes Fahrzeug“ auf ein Fahrzeug, das in der Lage ist, mindestens eine Navigationsänderung ohne Fahrereingabe zu implementieren. Eine „Navigationsänderung“ bezieht sich auf eine Änderung in einem oder mehreren von Lenkung, Bremsung oder Beschleunigung/Verzögerung des Fahrzeugs. Um autonom zu sein, muss ein Fahrzeug nicht vollautomatisch (z. B. ohne Fahrer, oder ohne Fahrereingabe, voll funktionsfähig) sein. Vielmehr weist ein autonomes Fahrzeug solche auf, die während bestimmter Zeiträume unter Fahrerkontrolle und während anderer Zeiträume ohne Fahrerkontrolle betrieben werden können. Autonome Fahrzeuge können auch Fahrzeuge aufweisen, die nur einige Aspekte der Fahrzeugnavigation steuern, wie etwa das Lenken (z. B., um einen Fahrzeugkurs zwischen Fahrspurbeschränkungen beizubehalten) oder einige Lenkvorgänge unter bestimmten Umständen (aber nicht unter allen Umständen), aber andere Aspekte dem Fahrer überlassen können (z. B. Bremsen, oder Bremsen unter bestimmten Umständen). In einigen Fällen können autonome Fahrzeuge einige oder alle Aspekte des Bremsens, der Geschwindigkeitsregelung und/oder des Lenkens des Fahrzeugs handhaben.
-
Da sich menschliche Fahrer typischerweise auf visuelle Hinweise und Beobachtungen verlassen, um ein Fahrzeug zu steuern, werden Transportinfrastrukturen entsprechend mit Fahrspurmarkierungen, Verkehrsschildern und Ampeln gebaut, die dazu ausgelegt sind, Fahrern visuelle Informationen bereitzustellen. In Anbetracht dieser Konstruktionsmerkmale von Transportinfrastrukturen kann ein autonomes Fahrzeug eine Kamera und eine Verarbeitungseinheit, die visuelle Informationen analysiert, die aus der Umgebung des Fahrzeugs aufgenommen werden, aufweisen. Die visuellen Informationen können beispielsweise Bilder aufweisen, die Komponenten der Transportinfrastruktur (z. B. Fahrspurmarkierungen, Verkehrszeichen, Ampeln usw.), die von Fahrern wahrnehmbar sind, und andere Hindernisse (z. B. andere Fahrzeuge, Fußgänger, Trümmer usw.) darstellen. Außerdem kann ein autonomes Fahrzeug auch gespeicherte Informationen verwenden, wie etwa Informationen, die beim Navigieren ein Modell der Umgebung des Fahrzeugs bereitstellen. Beispielsweise kann das Fahrzeug GPS-Daten, Sensordaten (z. B. von einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.) und/oder andere Kartendaten verwenden, um während der Fahrt Informationen bezüglich seiner Umgebung bereitzustellen, und das Fahrzeug (sowie andere Fahrzeuge) kann die Informationen verwenden, um sich selbst in dem Modell zu lokalisieren. Einige Fahrzeuge können auch in der Lage sein, untereinander zu kommunizieren, um Informationen über eine Beeinflussung des Peer-Fahrzeugs durch Gefahren oder Änderungen in der Umgebung der Fahrzeuge usw. auszutauschen.
-
Überblick über das System
-
1 ist eine Blockdiagrammdarstellung eines Systems 100 in Übereinstimmung mit den beispielhaft offenbarten Ausführungsformen. Das System 100 kann in Abhängigkeit von den Anforderungen einer bestimmten Implementierung verschiedene Komponenten aufweisen. In einigen Ausführungsformen kann das System 100 eine Verarbeitungseinheit 110, eine Bilderfassungseinheit 120, einen Positionssensor 130, eine oder mehrere Speichereinheiten 140, 150, eine Kartendatenbank 160, eine Benutzerschnittstelle 170 und einen drahtlosen Transceiver 172 aufweisen. Die Verarbeitungseinheit 110 kann eine oder mehrere Verarbeitungsvorrichtungen aufweisen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 einen Anwendungsprozessor 180, einen Bildprozessor 190 oder eine andere geeignete Verarbeitungsvorrichtung aufweisen. In ähnlicher Weise kann die Bilderfassungseinheit 120 je nach den Anforderungen einer bestimmten Anwendung eine beliebige Anzahl von Bildaufnahmevorrichtungen und -komponenten aufweisen. In einigen Ausführungsformen kann die Bilderfassungseinheit 120 eine oder mehrere Bildaufnahmevorrichtungen (z. B. Kameras, CCDs oder jede andere Art von Bildsensor) aufweisen, wie etwa die Bildaufnahmevorrichtung 122, die Bildaufnahmevorrichtung 124 und die Bildaufnahmevorrichtung 126. Das System 100 kann auch eine Datenschnittstelle 128 aufweisen, die die Verarbeitungseinheit 110 kommunikativ mit der Bilderfassungseinheit 120 verbindet. Beispielsweise kann die Datenschnittstelle 128 eine beliebige drahtgebundene und/oder drahtlose Verbindung, oder Verbindungen zum Senden von durch die Bilderfassungseinheit 120 erfassten Bilddaten an die Verarbeitungseinheit 110 aufweisen.
-
Der drahtlose Transceiver 172 kann eine oder mehrere Vorrichtungen aufweisen, die dazu ausgelegt sind, Übertragungen über eine Luftschnittstelle mit einem oder mehreren Netzwerken (z. B. Mobilfunk, Internet usw.) unter Verwendung einer Hochfrequenz, Infrarotfrequenz, eines Magnetfelds oder eines elektrischen Felds auszutauschen. Der drahtlose Transceiver 172 kann jeden bekannten Standard verwenden, um Daten zu senden und/oder zu empfangen (z. B. Wi-Fi, Bluetooth®, Bluetooth Smart, 802.15.4, ZigBee, usw.). Solche Übertragungen können Kommunikationen von dem Host-Fahrzeug zu einem oder mehreren entfernt angeordneten Servern aufweisen. Solche Übertragungen können auch Kommunikationen (in einer Richtung oder in beide Richtungen) zwischen dem Host-Fahrzeug und einem oder mehreren Zielfahrzeugen in einer Umgebung des Host-Fahrzeugs aufweisen (z. B., um die Koordination der Navigation des betrachteten Host-Fahrzeugs oder in Hinblick auf oder zusammen mit Zielfahrzeugen in der Umgebung des Host-Fahrzeugs zu erleichtern), oder sogar eine Rundsendung an unbestimmte Empfänger in einer Umgebung des sendenden Fahrzeugs.
-
Sowohl der Anwendungsprozessor 180 als auch der Bildprozessor 190 können verschiedene Arten von Hardware-basierten Verarbeitungsvorrichtungen aufweisen. Beispielsweise können entweder der Anwendungsprozessor 180 oder der Bildprozessor 190 oder beide einen Mikroprozessor, Präprozessoren (wie etwa einen Bildpräprozessor), Grafikprozessoren, eine zentrale Verarbeitungseinheit (CPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher, oder andere Arten von Vorrichtungen, die zum Ausführen von Anwendungen und zur Bildverarbeitung und - analyse geeignet sind, aufweisen. In einigen Ausführungsformen können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 jede Art von Einzel- oder Mehrkernprozessor, Mobilgerät-Mikrocontroller, Zentraleinheit usw. aufweisen. Es können verschiedene Verarbeitungsvorrichtungen verwendet werden, die beispielsweise Prozessoren aufweisen, die von Herstellern, wie Intel®, AMD® usw., erhältlich sind, und die verschiedene Architekturen (z. B. x86-Prozessor, ARM® usw.) aufweisen können.
-
In einigen Ausführungsformen kann der Anwendungsprozessor 180 und/oder der Bildprozessor 190 einen beliebigen Prozessorchip der EyeQ-Reihe aufweisen, der von Mobileye® erhältlich ist. Diese Prozessordesigns weisen jeweils mehrere Verarbeitungseinheiten mit lokalem Speicher und Befehlssätzen auf. Solche Prozessoren können Videoeingänge zum Empfangen von Bilddaten von mehreren Bildsensoren aufweisen, und können auch Videoausgabefähigkeiten aufweisen. In einem Beispiel verwendet der EyeQ2® eine 90-nm-Mikron-Technologie, die mit 332 MHz arbeitet. Die EyeQ2®-Architektur besteht aus zwei Gleitkomma-Hyper-Thread-32-Bit-RISC-CPUs (MIPS32® 34K®-Keme), fünf Vision Computing Engines (VCE), drei Vektor-Mikrocode-Prozessoren (VMP®), einem Denali 64-Bit Mobilgerät-DDR-Controller, einer internen 128-Bit-Sonics-Verbindung, zwei 16-Bit-Videoeingangs- und 18-Bit-Videoausgangscontroller, einem 16-Kanal-DMA, und mehreren Peripherievorrichtungen. Die MIPS34K-CPU verwaltet die fünf VCEs, drei VMP™ und den DMA, die zweite MIPS34K-CPU und den Mehrkanal-DMA sowie die andere Peripherie. Die fünf VCEs, drei VMP® und die MIPS34K-CPU können intensive Bildberechnungen durchführen, die für Multifunktionspaketanwendungen erforderlich sind. In einem anderen Beispiel kann der EyeQ3®, der ein Prozessor der dritten Generation ist und sechsmal leistungsstärker als der EyeQ2® ist, in den offenbarten Ausführungsformen verwendet werden. In anderen Beispielen können der EyeQ4® und/oder der EyeQ5® in den offenbarten Ausführungsformen verwendet werden. Natürlich können auch beliebige neuere oder zukünftige EyeQ-Verarbeitungsvorrichtungen zusammen mit den offenbarten Ausführungsformen verwendet werden.
-
Jede der hierin offenbarten Verarbeitungsvorrichtungen kann dazu ausgelegt sein, eine bestimmte Funktionen auszuführen. Das Konfigurieren einer Verarbeitungsvorrichtung, wie etwa eines der beschriebenen EyeQ-Prozessoren oder eines anderen Controllers oder Mikroprozessors, zum Durchführen bestimmter Funktionen kann ein Programmieren von computerausführbaren Anweisungen und Bereitstellen dieser Anweisungen für die Verarbeitungsvorrichtung zur Ausführung während des Betriebs der Verarbeitungsvorrichtung aufweisen. In einigen Ausführungsformen kann das Konfigurieren einer Verarbeitungsvorrichtung direktes Programmieren der Verarbeitungsvorrichtung mit Architekturanweisungen aufweisen. In anderen Ausführungsformen kann das Konfigurieren einer Verarbeitungsvorrichtung Speichern von ausführbaren Anweisungen in einem Speicher, auf den die Verarbeitungsvorrichtung während des Betriebs zugreifen kann, aufweisen. Beispielsweise kann die Verarbeitungsvorrichtung auf den Speicher zugreifen, um die gespeicherten Anweisungen während des Betriebs zu erhalten und auszuführen. In jedem Fall stellt die Verarbeitungsvorrichtung, die dazu ausgelegt ist, die hier offenbarten Erfassungs-, Bildanalyse- und/oder Navigationsfunktionen auszuführen, ein spezialisiertes hardwarebasiertes System zur Steuerung mehrerer hardwarebasierter Komponenten eines Host-Fahrzeugs dar.
-
Während 1 zwei getrennte Verarbeitungsvorrichtungen zeigt, die in der Verarbeitungseinheit 110 enthalten sind, können mehr oder weniger Verarbeitungsvorrichtungen verwendet werden. Beispielsweise kann in einigen Ausführungsformen eine einzelne Verarbeitungsvorrichtung verwendet werden, um die Aufgaben des Anwendungsprozessors 180 und des Bildprozessors 190 zu erfüllen. In anderen Ausführungsformen können diese Aufgaben von mehr als zwei Verarbeitungsvorrichtungen durchgeführt werden. Ferner kann das System 100 in einigen Ausführungsformen eine oder mehrere von der Verarbeitungseinheit 110 aufweisen, ohne andere Komponenten, wie etwa die Bilderfassungseinheit 120, aufzuweisen.
-
Die Verarbeitungseinheit 110 kann verschiedene Typen von Vorrichtungen umfassen. Beispielsweise kann die Verarbeitungseinheit 110 verschiedene Vorrichtungen aufweisen, wie etwa eine Steuerung, einen Bildpräprozessor, eine zentrale Verarbeitungseinheit (CPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder beliebige andere Arten von Vorrichtungen zur Bildverarbeitung und Analyse. Der Bildpräprozessor kann einen Videoprozessor zur Aufnahme, zum Digitalisieren und zum Verarbeiten der Bilder von den Bildsensoren aufweisen. Die CPU kann eine beliebige Anzahl von Mikrocontrollern oder Mikroprozessoren umfassen. Die Unterstützungsschaltungen können eine beliebige Anzahl von Schaltungen sein, die im Stand der Technik allgemein bekannt sind, die Cache-, Stromversorgungs-, Takt- und Eingabe-Ausgabe-Schaltungen aufweisen. Der Speicher kann Software speichern, die, wenn sie von dem Prozessor ausgeführt wird, den Betrieb des Systems steuert. Der Speicher kann Datenbanken und Bildverarbeitungssoftware enthalten. Der Speicher kann eine beliebige Anzahl von Direktzugriffsspeichern, Nur-Lese-Speichern, Flash-Speichern, Plattenlaufwerken, optischen Speichern, Bandspeichern, entfernbaren Speichern und anderen Arten von Speichern umfassen. In einem Fall kann der Speicher von der Verarbeitungseinheit 110 getrennt sein. In einem anderen Fall kann der Speicher in die Verarbeitungseinheit 110 integriert sein.
-
Jeder Speicher 140, 150 kann Softwarebefehle aufweisen, die, wenn sie von einem Prozessor (z. B. dem Anwendungsprozessor 180 und/oder dem Bildprozessor 190) ausgeführt werden, den Betrieb verschiedener Aspekte des Systems 100 steuern können. Diese Speichereinheiten können verschiedene Datenbanken und Bildverarbeitungssoftware sowie ein trainiertes System, wie beispielsweise ein neuronales Netz oder ein tiefes neuronales Netz, aufweisen. Die Speichereinheiten können Speicher mit wahlfreiem Zugriff, Nur-Lese-Speicher, Flash-Speicher, Plattenlaufwerke, optische Speicher, Bandspeicher, entfernbare Speicher und/oder beliebige andere Arten von Speicher aufweisen. In einigen Ausführungsformen können die Speichereinheiten 140, 150 von dem Anwendungsprozessor 180 und/oder dem Bildprozessor 190 getrennt sein. In anderen Ausführungsformen können diese Speichereinheiten in den Anwendungsprozessor 180 und/oder den Bildprozessor 190 integriert sein.
-
Der Positionssensor 130 kann jede Art von Vorrichtung aufweisen, die zum Bestimmen eines Orts geeignet ist, der mindestens einer Komponente des Systems 100 zugeordnet ist. In einigen Ausführungsformen kann der Positionssensor 130 einen GPS-Empfänger aufweisen. Solche Empfänger können eine Benutzerposition und -geschwindigkeit bestimmen, indem sie Signale verarbeiten, die von Satelliten des globalen Positionsbestimmungssystems gesendet werden. Positionsinformationen von dem Positionssensor 130 können dem Anwendungsprozessor 180 und/oder dem Bildprozessor 190 zur Verfügung gestellt werden.
-
In einigen Ausführungsformen kann das System 100 Komponenten, wie etwa einen Geschwindigkeitssensor (z. B. einen Tachometer), zum Messen einer Geschwindigkeit des Fahrzeugs 200, aufweisen. Das System 100 kann auch einen oder mehrere Beschleunigungsmesser (entweder einachsig oder mehrachsig) zum Messen von Beschleunigungen des Fahrzeugs 200 entlang einer oder mehrerer Achsen aufweisen.
-
Die Speichereinheiten 140, 150 können eine Datenbank oder in einer beliebigen anderen Form organisierter Daten aufweisen, die einen Ort bekannter Orientierungspunkte anzeigen. Sensorische Informationen (wie etwa Bilder, ein Radarsignal, Tiefeninformationen von einer Lidar- oder Stereoverarbeitung von zwei oder mehr Bildern) der Umgebung können zusammen mit Positionsinformationen, wie etwa einer GPS-Koordinate, der Eigenbewegung des Fahrzeugs usw. verarbeitet werden, um einen aktuellen Ort des Fahrzeugs bezüglich den bekannten Orientierungspunkten zu bestimmen, und den Fahrzeugort zu verfeinern. Bestimmte Aspekte dieser Technologie sind in einer Lokalisierungstechnologie enthalten, die als REM™ bekannt ist und von dem Rechteinhaber der vorliegenden Anmeldung vermarktet wird.
-
Die Benutzerschnittstelle 170 kann eine beliebiges Vorrichtung aufweisen, das zum Bereitstellen von Informationen für oder zum Empfangen von Eingaben von einem oder mehreren Benutzern des Systems 100 geeignet ist. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 Benutzereingabevorrichtungen aufweisen, einschließlich beispielsweise eines Touchscreens, eines Mikrofons, einer Tastatur, Zeigervorrichtungen, Track Wheels, Kameras, Knöpfe, Schalter usw. Mit solchen Eingabevorrichtungen kann ein Benutzer in der Lage sein, Informationseingaben oder Befehle an das System 100 bereitzustellen, indem er Anweisungen oder Informationen eingibt, Sprachbefehle bereitstellt, Menüoptionen an einem Bildschirm unter Verwendung von Schaltflächen, Zeigern oder Blickverfolgungsfähigkeiten auswählt, oder durch beliebige andere geeignete Techniken zum Kommunizieren von Informationen an das System 100.
-
Die Benutzerschnittstelle 170 kann mit einer oder mehreren Verarbeitungsvorrichtungen ausgestattet sein, die dazu ausgelegt sind, Informationen an oder von einem Benutzer bereitzustellen und zu empfangen, und diese Informationen zu verarbeiten, um beispielsweise durch den Anwendungsprozessor 180 verwendet zu werden. In einigen Ausführungsformen können solche Verarbeitungsvorrichtungen Anweisungen zum Erkennen und Verfolgen von Augenbewegungen, Empfangen und Interpretieren von Sprachbefehlen, Erkennen und Interpretieren von Berührungen und/oder Gesten auf einem Touchscreen, Reagieren auf Tastatureingaben oder Menüauswahlen usw. ausführen. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 eine Anzeige, einen Lautsprecher, eine taktile Vorrichtung und/oder beliebige andere Vorrichtungen zum Bereitstellen von Ausgabeinformationen für einen Benutzer aufweisen.
-
Die Kartendatenbank 160 kann jede Art von Datenbank zum Speichern von Kartendaten aufweisen, die für das System 100 nützlich sind. In einigen Ausführungsformen kann die Kartendatenbank 160 Daten aufweisen, die sich auf die Position verschiedener Elemente in einem Referenzkoordinatensystem beziehen, einschließlich Straßen, Wasser, geografische Merkmale, Geschäfte, Sehenswürdigkeiten, Restaurants, Tankstellen usw.,. Die Kartendatenbank 160 kann nicht nur die Orte solcher Gegenstände speichern, sondern auch Beschreibungen, die sich auf diese Gegenstände beziehen, einschließlich beispielsweise Namen, die irgendwelchen gespeicherte Merkmalen der Gegenstände zugeordnet sind. In einigen Ausführungsformen kann sich die Kartendatenbank 160 physisch auf anderen Komponenten des Systems 100 befinden. Alternativ oder zusätzlich kann sich die Kartendatenbank 160, oder ein Teil davon, in Bezug auf andere Komponenten des Systems 100 (z. B. die Verarbeitungseinheit 110) entfernt befinden. In solchen Ausführungsformen können Informationen von der Kartendatenbank 160 über eine drahtgebundene oder drahtlose Datenverbindung zu einem Netzwerk (z. B. über ein Mobilfunknetz und/oder das Internet usw.) heruntergeladen werden. In einigen Fällen kann die Kartendatenbank 160 ein spärliches Datenmodell speichern, das Polynomdarstellungen bestimmter Straßenmerkmale (z. B. Fahrspurmarkierungen) oder Zieltrajektorien für das Host-Fahrzeug aufweist. Die Kartendatenbank 160 kann auch gespeicherte Darstellungen verschiedener erkannter Orientierungspunkte aufweisen, die verwendet werden können, um eine bekannte Position des Host-Fahrzeugs in Bezug auf eine Zieltrajektorie zu bestimmen oder zu aktualisieren. Die Orientierungspunktdarstellungen können neben anderen potenziellen Identifikatoren Datenfelder, wie beispielsweise Orientierungspunkttyp, Orientierungspunktort, enthalten.
-
Die Bildaufnahmevorrichtungen 122, 124 und 126 können jeweils jede Art von Vorrichtung aufweisen, die zum Aufnahmen mindestens eines Bildes einer Umgebung geeignet ist. Darüber hinaus kann eine beliebige Anzahl von Bildaufnahmevorrichtungen verwendet werden, um Bilder zur Eingabe in den Bildprozessor aufzunehmen. Einige Ausführungsformen können nur eine einzige Bildaufnahmevorrichtung aufweisen, während andere Ausführungsformen zwei, drei oder sogar vier oder mehr Bildaufnahmevorrichtungen aufweisen können. Die Bildaufnahmevorrichtungen 122, 124 und 126 werden unten unter Bezugnahme auf die 2B-2E weiter beschrieben.
-
Eine oder mehrere Kameras (z. B. die Bildaufnahmevorrichtungen 122, 124 und 126) können Teil eines Sensorblocks sein, der in einem Fahrzeug enthalten ist. Verschiedene andere Sensoren können in dem Sensorblock enthalten sein, und man kann sich auf einen oder alle der Sensoren stützen, um einen erfassten Navigationszustand des Fahrzeugs zu entwickeln. Zusätzlich zu Kameras (Front, Heck, Seite, usw.) können andere Sensoren, wie etwa RADAR, LIDAR, und akustische Sensoren, in dem Sensorblock enthalten sein. Außerdem kann der Sensorblock eine oder mehrere Komponenten aufweisen, die dazu ausgelegt sind, Informationen bezüglich der Umgebung des Fahrzeugs zu kommunizieren und zu senden/empfangen. Beispielsweise können solche Komponenten drahtlose Transceiver (RF usw.) aufweisen, die von einer in Bezug auf das Host-Fahrzeug entfernt angeordneten Quelle sensorbasierte Informationen oder jede andere Art von Informationen in Bezug auf die Umgebung des Host-Fahrzeugs empfangen können. Solche Informationen können Sensorausgabeinformationen oder verwandte Informationen aufweisen, die von anderen Fahrzeugsystemen als dem Host-Fahrzeug empfangen werden. In einigen Ausführungsformen können solche Informationen Informationen aufweisen, die von einer entfernten Computervorrichtung, einem zentralisierten Server, usw. empfangen werden. Darüber hinaus können die Kameras viele verschiedene Konfigurationen annehmen: einzelne Kameraeinheiten, mehrere Kameras, Kameracluster, langes FOV, kurzes FOV, Breitwinkel, Fischauge, usw.
-
Das System 100 oder verschiedene Komponenten davon können in eine Vielzahl von unterschiedlichen Plattformen integriert werden. In einigen Ausführungsformen kann das System 100 in einem Fahrzeug 200 enthalten sein, wie in 2A gezeigt wird. Beispielsweise kann das Fahrzeug 200 mit einer Verarbeitungseinheit 110 und beliebigen der anderen Komponenten des Systems 100 ausgestattet sein, wie oben in Bezug auf 1 beschrieben wird. Während das Fahrzeug 200 in einigen Ausführungsformen mit nur einer einzigen Bildaufnahmevorrichtung (z. B. einer Kamera) ausgestattet ist, können in anderen Ausführungsformen, wie z. B. jenen, die in Verbindung mit 2B-2E diskutiert werden, mehrere Bildaufnahmevorrichtungen verwendet werden. Beispielsweise kann jede der Bildaufnahmevorrichtungen 122 und 124 des Fahrzeugs 200, wie in 2A gezeigt wird, Teil eines ADAS- (Advanced Driver Assistance Systems) Bildgebungssatzes sein.
-
Die in dem Fahrzeug 200 als Teil der Bilderfassungseinheit 120 enthaltenen Bildaufnahmevorrichtungen können an jedem geeigneten Ort positioniert sein. In einigen Ausführungsformen, wie die in den 2A-2E und 3A-3C gezeigten, kann die Bildaufnahmevorrichtung 122 in der Nähe des Rückspiegels angeordnet sein. Diese Position kann eine Sichtlinie bereitstellen, die der des Fahrers des Fahrzeugs 200 ähnlich ist, was dabei helfen kann, zu bestimmen, was für den Fahrer sichtbar ist und was nicht. Die Bildaufnahmevorrichtung 122 kann an einer beliebigen Stelle in der Nähe des Rückspiegels positioniert sein, aber das Platzieren der Bildaufnahmevorrichtung 122 auf der Fahrerseite des Spiegels kann ferner dabei helfen, Bilder zu erhalten, die das Sichtfeld und/oder die Sichtlinie des Fahrers darstellen.
-
Es können auch andere Orte für die Bildaufnahmevorrichtungen der Bilderfassungseinheit 120 verwendet werden. Beispielsweise kann sich die Bildaufnahmevorrichtung 124 an oder in einem Stoßfänger des Fahrzeugs 200 befinden. Eine solche Stelle kann besonders für Bildaufnahmevorrichtungen mit einem breiten Sichtfeld geeignet sein. Die Sichtlinie von Bildaufnahmevorrichtungen, die sich an einem Stoßfänger befinden, kann sich von der des Fahrers unterscheiden, und daher sehen die Stoßfänger-Bildaufnahmevorrichtung und der Fahrer möglicherweise nicht immer die gleichen Objekte. Die Bildaufnahmevorrichtungen (z. B. die Bildaufnahmevorrichtungen 122, 124 und 126) können sich auch an anderen Orten befinden. Beispielsweise können sich die Bildaufnahmevorrichtungen an oder in einem oder beiden Seitenspiegeln des Fahrzeugs 200, auf dem Dach des Fahrzeugs 200, auf der Motorhaube des Fahrzeugs 200, auf dem Kofferraum des Fahrzeugs 200, an den Seiten des Fahrzeugs 200, an einem der Fenster des Fahrzeugs 200 montiert, oder dahinter positioniert, oder in oder in der Nähe von Beleuchtungskörpern an der Vorderseite und/oder Rückseite des Fahrzeugs 200 positioniert und montiert, usw. befinden.
-
Zusätzlich zu den Bildaufnahmevorrichtungen kann das Fahrzeug 200 verschiedene andere Komponenten des Systems 100 aufweisen. Beispielsweise kann die Verarbeitungseinheit 110 in dem Fahrzeug 200 enthalten sein, entweder integriert in oder getrennt von einer Motorsteuereinheit (ECU) des Fahrzeugs. Das Fahrzeug 200 kann auch mit einem Positionssensor 130, wie etwa einem GPS-Empfänger, ausgestattet sein, und kann auch eine Kartendatenbank 160 und Speichereinheiten 140 und 150 aufweisen.
-
Wie zuvor diskutiert, kann der drahtlose Transceiver 172 Daten über eines oder mehrere Netzwerke (z. B. Mobilfunknetzwerke, das Internet usw.) senden und/oder empfangen. Beispielsweise kann der drahtlose Transceiver 172 von dem System 100 gesammelte Daten auf einen oder mehrere Server hochladen, und Daten von dem einen oder den mehreren Servern herunterladen. Über den drahtlosen Transceiver 172 kann das System 100 beispielsweise periodische oder bedarfsgesteuerte Aktualisierungen von Daten empfangen, die in der Kartendatenbank 160, dem Speicher 140 und/oder dem Speicher 150 gespeichert sind. In ähnlicher Weise kann der drahtlose Transceiver 172 beliebige Daten (z. B von der Bilderfassungseinheit 120 aufgenommene Bilder, von dem Positionssensor 130 oder anderen Sensoren, Fahrzeugsteuerungssystemen usw. empfangene Daten) von dem System 100, und/oder von der Verarbeitungseinheit 110 verarbeitete Daten auf den einen oder die mehreren Server hochladen.
-
Das System 100 kann Daten basierend auf einer Datenschutzstufeneinstellung auf einen Server (z. B. in die Cloud) hochladen. Beispielsweise kann das System 100 Datenschutzstufeneinstellungen implementieren, um die Arten von Daten (einschließlich Metadaten), die an den Server gesendet werden und die ein Fahrzeug und/oder einen Fahrer/Eigentümer eines Fahrzeugs eindeutig identifizieren können, zu regulieren oder zu begrenzen. Solche Einstellungen können von dem Benutzer über beispielsweise den drahtlosen Transceiver 172, durch werkseitige Standardeinstellungen initialisiert, oder durch Daten, die von dem drahtlosen Transceiver 172 empfangen werden, eingestellt werden.
-
In einigen Ausführungsformen kann das System 100 Daten gemäß einer „hohen“ Datenschutzstufe hochladen, und unter Einstellen einer Einstellung kann das System 100 Daten (z. B. Ortsinformationen in Bezug auf eine Route, aufgenommene Bilder usw.) ohne irgendwelche Details über das spezifische Fahrzeug und/oder den Fahrer/Eigentümer übertragen. Wenn beispielsweise Daten gemäß einer „hohen“ Datenschutzeinstellung hochgeladen werden, kann das System 100 möglicherweise keine Fahrzeugidentifizierungsnummer (VIN) oder einen Namen eines Fahrers oder Eigentümers des Fahrzeugs enthalten, und kann stattdessen Daten, wie etwa aufgenommene Bilder und /oder begrenzte Ortsinformationen in Bezug auf eine Route, übertragen.
-
Andere Datenschutzstufen werden ebenfalls in Betracht gezogen. Beispielsweise kann das System 100 Daten gemäß einer „mittleren“ Datenschutzstufe an einen Server übertragen werden und zusätzliche Informationen aufweisen, die unter einem „hohen“ Datenschutzstufe nicht enthalten sind, wie etwa eine Marke und/oder ein Modell eines Fahrzeugs und/oder einen Fahrzeugtyp (z. B. Personenkraftwagen, Geländewagen, Lastkraftwagen usw.). In einigen Ausführungsformen kann das System 100 Daten gemäß einer „niedrigen“ Datenschutzstufe hochladen. Unter einer „niedrigen“ Datenschutzstufen-Einstellung kann das System 100 Daten hochladen und Informationen enthalten, die ausreichen, um ein spezifisches Fahrzeug, einen Besitzer/Fahrer und/oder einen Teil oder die Gesamtheit einer von dem Fahrzeug gefahrenen Route eindeutig zu identifizieren. Solche Daten mit „niedriger“ Datenschutzstufe können eines oder mehrere von beispielsweise einer VIN, einem Fahrer-/Eigentümernamen, einem Ausgangspunkt eines Fahrzeugs vor der Abfahrt, einem beabsichtigten Ziel des Fahrzeugs, einer Marke und/oder einem Modell des Fahrzeugs, einer Art des Fahrzeugs usw. aufweisen.
-
2A ist eine schematische Seitenansichtsdarstellung eines beispielhaften Fahrzeugbildgebungssystems in Übereinstimmung mit den offenbarten Ausführungsformen. 2B ist eine schematische Draufsichtdarstellung der in 2A gezeigten Ausführungsform. Wie in der 2B veranschaulicht wird, können die offenbarten Ausführungsformen ein Fahrzeug 200 aufweisen, das in seiner Karosserie ein System 100 mit einer ersten Bildaufnahmevorrichtung 122, die in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert ist, einer zweiten Bildaufnahmevorrichtung 124, die an oder in einem Stoßfängerbereich (z. B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert ist, und einer Verarbeitungseinheit 110 aufweist.
-
Wie in 2C veranschaulicht wird, können die Bildaufnahmevorrichtungen 122 und 124 beide in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert sein. Außerdem, obgleich in den 2B und 2C zwei Bildaufnahmevorrichtungen 122 und 124 gezeigt sind, versteht es sich, dass andere Ausführungsformen mehr als zwei Bildaufnahmevorrichtungen aufweisen können. Beispielsweise sind in den in den 2D und 2E gezeigten Ausführungsformen eine erste, eine zweite und eine dritte Bildaufnahmevorrichtung 122, 124 und 126 in dem System 100 des Fahrzeugs 200 enthalten.
-
Wie in 2D veranschaulicht wird, kann die Bildaufnahmevorrichtung 122 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert sein, und die Bildaufnahmevorrichtungen 124 und 126 können an oder in einem Stoßfängerbereich (z. B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert sein. Und wie in 2E gezeigt wird, können die Bildaufnahmevorrichtungen 122, 124 und 126 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrersitzes des Fahrzeugs 200 positioniert sein. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Anzahl und Konfiguration der Bildaufnahmevorrichtungen beschränkt, und die Bildaufnahmevorrichtungen können an jeder geeigneten Stelle innerhalb und/oder an dem Fahrzeug 200 positioniert sein.
-
Es versteht sich, dass die offenbarten Ausführungsformen nicht auf Fahrzeuge beschränkt sind, und in anderen Kontexten angewendet werden könnten. Es versteht sich auch, dass die offenbarten Ausführungsformen nicht auf einen bestimmten Fahrzeugtyp 200 beschränkt sind und auf alle Fahrzeugtypen anwendbar sein können, einschließlich Automobil, Lastwagen, Anhänger, und andere Fahrzeugtypen.
-
Die erste Bildaufnahmevorrichtung 122 kann jede geeignete Art von Bildaufnahmevorrichtung aufweisen. Die Bildaufnahmevorrichtung 122 kann eine optische Achse aufweisen. In einem Fall kann die Bildaufnahmevorrichtung 122 einen Aptina M9V024 WVGA-Sensor mit einem globalen Verschluss aufweisen. In anderen Ausführungsformen kann die Bildaufnahmevorrichtung 122 eine Auflösung von 1280×960 Pixeln bereitstellen und kann einen Rollverschluss aufweisen. Die Bildaufnahmevorrichtung 122 kann verschiedene optische Elemente aufweisen. In einigen Ausführungsformen können beispielsweise eine oder mehrere Linsen enthalten sein, um eine gewünschte Brennweite und ein gewünschtes Sichtfeld für die Bildaufnahmevorrichtung bereitzustellen. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 einem 6-mm-Objektiv oder einem 12-mm-Objektiv zugeordnet sein. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 dazu ausgelegt sein, Bilder mit einem gewünschten Sichtfeld (FOV) 202 zu aufzunehmen, wie in 2D veranschaulicht. Beispielsweise kann die Bildaufnahmevorrichtung 122 dazu ausgelegt sein, ein reguläres FOV zu haben, wie etwa innerhalb eines Bereichs von 40 Grad bis 56 Grad, einschließlich eines FOV von 46 Grad, eines FOV von 50 Grad, eines FOV von 52 Grad, oder größer. Alternativ kann die Bildaufnahmevorrichtung 122 dazu ausgelegt sein, ein schmales FOV im Bereich von 23 bis 40 Grad zu haben, wie etwa ein FOV von 28 Grad oder 36 Grad FOV. Außerdem kann die Bildaufnahmevorrichtung 122 dazu ausgelegt sein, ein breites FOV im Bereich von 100 bis 180 Grad aufzuweisen. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 eine Weitwinkel-Stoßfängerkamera oder eine mit einem FOV von bis zu 180 Grad aufweisen. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 eine 7,2-M-Pixel-Bildaufnahmevorrichtung mit einem Seitenverhältnis von ca. 2:1 (z. B. H×V = 3800×1900 Pixel) mit einem horizontalen FOV von ungefähr 100 Grad. Eine solche Bildaufnahmevorrichtung kann anstelle einer Konfiguration mit drei Bildaufnahmevorrichtungen verwendet werden. Aufgrund der erheblichen Linsenverzerrung kann das vertikale FOV einer solchen Bildaufnahmevorrichtung in Implementierungen, in denen die Bildaufnahmevorrichtung eine radialsymmetrische Linse verwendet, erheblich weniger als 50 Grad betragen. Beispielsweise ist eine solche Linse möglicherweise nicht radialsymmetrisch, was ein vertikales FOV von mehr als 50 Grad bei einem horizontalen FOV von 100 Grad ermöglichen würde.
-
Die erste Bildaufnahmevorrichtung 122 kann eine Vielzahl von ersten Bildern bezüglich einer dem Fahrzeug 200 zugeordneten Szene erfassen. Jedes der Vielzahl von ersten Bildern kann als eine Serie von Bildscanlinien erfasst werden, die unter Verwendung eines Rollverschluss erfasst werden können. Jede Scanlinie kann eine Vielzahl von Pixeln aufweisen.
-
Die erste Bildaufnahmevorrichtung 122 kann eine Scanrate aufweisen, die der Erfassung jeder der ersten Serie von Bildscanlinien zugeordnet ist. Die Scanrate kann sich auf eine Rate beziehen, mit der ein Bildsensor Bilddaten erfassen kann, die jedem Pixel zugeordnet sind, das in einer bestimmten Scanlinie enthalten ist.
-
Die Bildaufnahmevorrichtungen 122, 124 und 126 können jeden geeigneten Typ und jede geeignete Anzahl von Bildsensoren aufweisen, einschließlich beispielsweise CCD-Sensoren oder CMOS-Sensoren. In einer Ausführungsform kann ein CMOS-Bildsensor zusammen mit einem Rollverschluss verwendet werden, so dass jedes Pixel in einer Zeile einzeln gelesen wird und das Scannen der Zeilen zeilenweise fortschreitet, bis ein ganzer Bildframe erfasst wurde. In einigen Ausführungsformen können die Zeilen sequentiell von oben nach unten bezüglich des Frames aufgenommen werden.
-
In einigen Ausführungsformen können eine oder mehrere der hierin offenbarten Bildaufnahmevorrichtungen (z. B. die Bildaufnahmevorrichtungen 122, 124 und 126) einen hochauflösenden Bildgeber darstellen, und können eine Auflösung von mehr als 5 M Pixel, 7 M Pixel, 10 M Pixel oder größer aufweisen.
-
Die Verwendung eines Rollverschlusses kann dazu führen, dass Pixel in unterschiedlichen Zeilen zu unterschiedlichen Zeiten belichtet und erfasst werden, was eine Schräglage und andere Bildartefakte in dem erfassten Bildframe verursachen kann. Wenn andererseits die Bildaufnahmevorrichtung 122 dazu ausgelegt ist, mit einem globalen oder synchronen Verschluss zu arbeiten, können alle Pixel mit der gleichen Zeitdauer und während einer gemeinsamen Expositionsdauer belichtet werden. Als Ergebnis stellen die Bilddaten in einem Frame, die von einem System gesammelt werden, das einen globalen Verschluss verwendet, eine Momentaufnahme des gesamten FOV (wie etwa FOV 202) zu einem bestimmten Zeitpunkt dar. Im Gegensatz dazu wird bei einer Rollverschluss-Anwendung jede Zeile in einem Frame belichtet, und Daten werden zu unterschiedlichen Zeiten aufgenommen. Somit können sich bewegende Objekte verzerrt erscheinen bei einer Bildaufnahmevorrichtung mit einem Rollverschluss. Dieses Phänomen wird nachstehend ausführlicher beschrieben.
-
Die zweite Bildaufnahmevorrichtung 124 und die dritte Bildaufnahmevorrichtung 126 können jede Art von Bildaufnahmevorrichtung sein. Wie die erste Bildaufnahmevorrichtung 122 kann jede der Bildaufnahmevorrichtungen 124 und 126 eine optische Achse aufweisen. In einer Ausführungsform kann jede der Bildaufnahmevorrichtungen 124 und 126 einen Aptina M9V024 WVGA-Sensor mit einem globalen Verschluss aufweisen. Alternativ kann jede der Bildaufnahmevorrichtungen 124 und 126 einen Rollverschluss aufweisen. Wie die Bildaufnahmevorrichtung 122, können die Bildaufnahmevorrichtungen 124 und 126 dazu ausgelegt sein, verschiedene Linsen und optische Elemente aufzuweisen. In einigen Ausführungsformen können die den Bildaufnahmevorrichtungen 124 und 126 zugeordneten Linsen FOVs (wie die FOVs 204 und 206) bereitstellen, die gleich oder schmaler als ein FOV (wie etwa das FOV 202) sind, das der Bildaufnahmevorrichtung 122 zugeordnet ist. Beispielsweise können die Bildaufnahmevorrichtungen 124 und 126 FOVs von 40 Grad, 30 Grad, 26 Grad, 23 Grad, 20 Grad oder weniger haben.
-
Die Bildaufnahmevorrichtungen 124 und 126 können eine Vielzahl von zweiten und dritten Bildern bezüglich einer dem Fahrzeug 200 zugeordneten Szene erfassen. Jedes der Vielzahl von zweiten und dritten Bildern kann als eine zweite und dritte Zeile von Bildscanlinien erfasst werden, die mit einem Rollverschluss erfasst werden können. Jede Scanlinie oder -zeile kann eine Vielzahl von Pixeln aufweisen. Die Bildaufnahmevorrichtungen 124 und 126 können zweite und dritte Scanraten aufweisen, die der Erfassung jeder der Bildscanlinien, die in der zweiten und dritten Zeile enthalten sind, zugeordnet sind.
-
Jede Bildaufnahmevorrichtung 122, 124 und 126 kann in jeder geeigneten Position und Ausrichtung relativ zu dem Fahrzeug 200 positioniert sein. Die relative Positionierung der Bildaufnahmevorrichtungen 122, 124 und 126 kann so gewählt sein, dass sie dabei hilft, die von den Bildaufnahmevorrichtungen erfassten Informationen miteinander zu verschmelzen. Beispielsweise kann in einigen Ausführungsformen ein FOV (wie etwa das FOV 204), das der Bildaufnahmevorrichtung 124 zugeordnet ist, teilweise oder vollständig mit einem FOV (wie etwa dem FOV 202), das der Bildaufnahmevorrichtung 122 zugeordnet ist, und einem FOV (wie etwa dem FOV 206), das der Bildaufnahmevorrichtung 126 zugeordnet ist, überlappen.
-
Die Bildaufnahmevorrichtungen 122, 124 und 126 können an dem Fahrzeug 200 in beliebigen geeigneten relativen Höhen angeordnet sein. In einem Fall kann es einen Höhenunterschied zwischen den Bildaufnahmevorrichtungen 122, 124 und 126 geben, der ausreichend Parallaxeninformationen liefern kann, um eine Stereoanalyse zu ermöglichen. Wie beispielsweise in 2A gezeigt wird, befinden sich die beiden Bildaufnahmevorrichtungen 122 und 124 in unterschiedlichen Höhen. Es kann auch einen Unterschied in der Verschiebung in Querrichtung zwischen den Bildaufnahmevorrichtungen 122, 124 und 126 geben, was zusätzliche Parallaxeninformationen für die Stereoanalyse beispielsweise durch die Verarbeitungseinheit 110 liefert. Der Unterschied in der Verschiebung in Querrichtung kann mit dx bezeichnet werden, wie in den 2C und 2D gezeigt. In einigen Ausführungsformen kann zwischen den Bildaufnahmevorrichtungen 122, 124 und 126 eine Vorwärts- oder Rückwärtsverschiebung (z. B. eine Abstandsverschiebung) bestehen. Beispielsweise kann sich die Bildaufnahmevorrichtung 122 0,5 bis 2 Meter oder mehr hinter der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 befinden. Diese Art der Verschiebung kann es ermöglichen, dass eine der Bildaufnahmevorrichtungen potenzielle tote Winkel der anderen Bildaufnahmevorrichtung(en) abdeckt.
-
Die Bildaufnahmevorrichtungen 122 können ein beliebiges geeignetes Auflösungsvermögen (z. B. eine Anzahl von Pixeln, die dem Bildsensor zugeordnet sind) aufweisen, und die Auflösung des Bildsensors/der Bildsensoren, der/die der Bildaufnahmevorrichtung 122 zugeordnet sind, kann höher, niedriger oder gleich der Auflösung des Bildsensors/der Bildsensoren, die den Bildaufnahmevorrichtungen 124 und 126 zugeordnet sind, sein. In einigen Ausführungsformen können der/die Bildsensor(en), der/die der Bildaufnahmevorrichtung 122 und/oder den Bildaufnahmevorrichtungen 124 und 126 zugeordnet sind, eine Auflösung von 640 × 480, 1024 × 768, 1280 × 960, oder jeder andere geeignete Auflösung, aufweisen.
-
Die Framerate (z. B. die Rate, mit der eine Bildaufnahmevorrichtung einen Satz von Pixeldaten eines Bildframes erfasst, bevor sie fortfährt, Pixeldaten zu erfassen, die dem nächsten Bildframe zugeordnet sind) kann steuerbar sein. Die der Bildaufnahmevorrichtung 122 zugeordnete Bildfrequenz kann höher, niedriger oder gleich der den Bildaufnahmevorrichtungen 124 und 126 zugeordneten Bildfrequenz sein. Die den Bildaufnahmevorrichtungen 122, 124 und 126 zugeordnete Bildfrequenz kann von einer Vielzahl von Faktoren abhängig sein, die das Timing der Bildrate beeinflussen können. Beispielsweise können eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 eine wählbare Pixelverzögerungsdauer aufweisen, die vor oder nach der Erfassung von Bilddaten auferlegt wird, die einem oder mehreren Pixeln eines Bildsensors in der Bildaufnahmevorrichtung 122, 124 und/oder 126 zugeordnet sind. Im Allgemeinen können Bilddaten, die allen Pixel entsprechen, gemäß einer Taktrate für die Vorrichtung (z. B. ein Pixel pro Taktzyklus) erfasst werden. Außerdem können in Ausführungsformen mit einem Rollverschluss eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 eine wählbare horizontale Austastdauer aufweisen, die vor oder nach der Erfassung von Bilddaten auferlegt wird, die einer Zeile von Pixeln eines Bildsensors in der Bildaufnahmevorrichtung 122, 124 und/oder 126 zugeordnet sind. Ferner können eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und/oder 126 eine wählbare vertikale Austastdauer aufweisen, die vor oder nach der Erfassung von Bilddaten, die einem Frame einer Bildaufnahmevorrichtung 122, 124 und 126 zugeordnet sind, auferlegt wird.
-
Diese Timings können eine Synchronisierung von Bildraten ermöglichen, die den Bildaufnahmevorrichtungen 122, 124 und 126 zugeordnet sind, selbst wenn die Zeilenscanraten von allen unterschiedlich sind. Zusätzlich können diese wählbaren Timings, wie weiter unten ausführlicher diskutiert wird, neben anderen Faktoren (z. B. die Bildsensorauflösung, maximale Zeilenscanraten usw.) eine Synchronisierung der Bildaufnahme von einem Bereich ermöglichen, in dem sich das FOV der Bildaufnahmevorrichtung 122 mit einem oder mehreren FOVs der Bildaufnahmevorrichtungen 124 und 126 überlappt, selbst wenn sich das Sichtfeld des Bildaufnahmevorrichtung 122 von den FOVs der Bildaufnahmevorrichtungen 124 und 126 unterscheidet.
-
Das Timing der Bildrate in den Bildaufnahmevorrichtungen 122, 124 und 126 kann von der Auflösung der zugeordneten Bildsensoren abhängig sein. Wenn beispielsweise ähnliche Zeilenscanraten für beide Vorrichtungen angenommen werden, und eine Vorrichtung einen Bildsensor mit einer Auflösung von 640 × 480 und eine andere Vorrichtung einen Bildsensor mit einer Auflösung von 1280 × 960 aufweist, dann wird mehr Zeit benötigt, um Frames von Bilddaten von dem Sensor mit der höheren Auflösung zu erfassen.
-
Ein weiterer Faktor, der das Timing der Bilddatenerfassung in den Bildaufnahmevorrichtungen 122, 124 und 126 beeinflussen kann, ist die maximale Zeilenscanrate. Beispielsweise erfordert die Erfassung einer Zeile von Bilddaten von einem Bildsensor, der in den Bildaufnahmevorrichtungen 122, 124 und 126 enthalten ist, eine gewisse Mindestzeit. Unter der Annahme, dass keine Pixelverzögerungsdauern hinzugefügt werden, wird diese minimale Zeitdauer zum Erfassen einer Zeile von Bilddaten mit der maximalen Zeilenscanrate für eine bestimmte Vorrichtung in Beziehung gesetzt. Vorrichtungen, die höhere maximale Zeilenscanraten bieten, haben das Potenzial, höhere Bildraten bereitzustellen als Vorrichtungen mit niedrigeren maximalen Zeilenscanraten. In einigen Ausführungsformen können eine oder mehrere der Bildaufnahmevorrichtungen 124 und 126 eine maximale Zeilenscanrate haben, die höher als eine maximale Zeilenscanrate ist, die der Bildaufnahmevorrichtung 122 zugeordnet ist. In einigen Ausführungsformen kann die maximale Zeilenscanrate der Bildaufnahmevorrichtung 124 und/oder 126 das 1,25-, 1,5-, 1,75- oder 2-fache oder mehr als eine maximale Zeilenscanrate der Bildaufnahmevorrichtung 122 betragen.
-
In einer anderen Ausführungsform können die Bildaufnahmevorrichtungen 122, 124 und 126 die gleiche maximale Zeilenscanrate haben, aber die Bildaufnahmevorrichtung 122 kann mit einer Scanrate kleiner oder gleich ihrer maximalen Scanrate betrieben werden. Das System kann so ausgelegt sein, dass eine oder mehrere der Bildaufnahmevorrichtungen 124 und 126 mit einer Zeilenscanrate arbeiten, die gleich der Zeilenscanrate der Bildaufnahmevorrichtung 122 ist. In anderen Fällen kann das System so ausgelegt sein, dass die Zeilenscanrate der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 das 1,25-, 1,5-, 1,75- oder 2-fache oder mehr der Zeilenscanrate der Bildaufnahmevorrichtung 122 betragen kann.
-
In einigen Ausführungsformen können die Bildaufnahmevorrichtungen 122, 124 und 126 asymmetrisch sein. Das heißt, sie können Kameras mit unterschiedlichen Sichtfeldern (FOV) und Brennweiten aufweisen. Die Sichtfelder der Bildaufnahmevorrichtungen 122, 124 und 126 können beispielsweise jeden gewünschten Bereich bezüglich einer Umgebung des Fahrzeugs 200 aufweisen. In einigen Ausführungsformen können eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 dazu ausgelegt sein, Bilddaten von einer Umgebung vor dem Fahrzeug 200, hinter dem Fahrzeug 200, seitlich des Fahrzeugs 200, oder in Kombinationen davon, zu erfassen.
-
Ferner kann die einer jeweiligen Bildaufnahmevorrichtung 122, 124 und/oder 126 zugeordnete Brennweite wählbar sein (z. B. durch Einbeziehung geeigneter Linsen usw.), so dass jede Vorrichtung Bilder von Objekten in einem gewünschten relativen Abstandsbereich zu dem Fahrzeug 200 erfasst. Beispielsweise können die Bildaufnahmevorrichtungen 122, 124 und 126 in einigen Ausführungsformen Bilder von nahen Objekten innerhalb weniger Meter von dem Fahrzeug erfassen. Die Bildaufnahmevorrichtungen 122, 124 und 126 können auch dazu ausgelegt sein, Bilder von Objekten in Abständen zu erfassen, die weiter von dem Fahrzeug entfernt sind (z. B. 25 m, 50 m, 100 m, 150 m oder mehr). Ferner können die Brennweiten der Bildaufnahmevorrichtungen 122, 124 und 126 so ausgewählt sein, dass eine Bildaufnahmevorrichtung (z. B. die Bildaufnahmevorrichtung 122) Bilder von Objekten relativ nahe am Fahrzeug (z. B. innerhalb von 10 m oder innerhalb von 20 m) aufnehmen kann, während die anderen Bildaufnahmevorrichtungen (z. B. die Bildaufnahmevorrichtungen 124 und 126) Bilder von weiter von dem Fahrzeug 200 entfernten Objekten (z. B. mehr als 20 m, 50 m, 100 m, 150 m usw.) erfassen können.
-
Gemäß einigen Ausführungsformen kann das FOV einer oder mehrerer Bildaufnahmevorrichtungen 122, 124 und 126 einen weiten Winkel aufweisen. Beispielsweise kann es vorteilhaft sein, ein FOV von 140 Grad zu haben, insbesondere für die Bildaufnahmevorrichtungen 122, 124 und 126, die verwendet werden können, um Bilder des Bereichs in der Nähe des Fahrzeugs 200 aufzunehmen. Beispielsweise kann die Bildaufnahmevorrichtung 122 verwendet werden, um Bilder des Bereichs rechts oder links von dem Fahrzeug 200 aufzunehmen, und in solchen Ausführungsformen kann es wünschenswert sein, dass die Bildaufnahmevorrichtung 122 ein breites FOV (z. B. mindestens 140 Grad) hat.
-
Das Sichtfeld, das jeder der Bildaufnahmevorrichtungen 122, 124 und 126 zugeordnet ist, kann von den jeweiligen Brennweiten abhängig sein. Wenn beispielsweise die Brennweite zunimmt, nimmt das entsprechende Sichtfeld ab.
-
Die Bildaufnahmevorrichtungen 122, 124 und 126 können dazu ausgelegt sein, beliebige geeignete Sichtfelder zu haben. In einem bestimmten Beispiel kann die Bildaufnahmevorrichtung 122 ein horizontales FOV von 46 Grad haben, kann die Bildaufnahmevorrichtung 124 ein horizontales FOV von 23 Grad haben, und kann die Bildaufnahmevorrichtung 126 ein horizontales FOV zwischen 23 und 46 Grad haben. In einem anderen Fall kann die Bildaufnahmevorrichtung 122 ein horizontales FOV von 52 Grad haben, kann die Bildaufnahmevorrichtung 124 ein horizontales FOV von 26 Grad haben, und kann die Bildaufnahmevorrichtung 126 ein horizontales FOV zwischen 26 und 52 Grad haben. In einigen Ausführungsformen kann ein Verhältnis des FOV der Bildaufnahmevorrichtung 122 zu den FOVs der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 von 1,5 bis 2,0 variieren. In anderen Ausführungsformen kann dieses Verhältnis zwischen 1,25 und 2,25 variieren.
-
Das System 100 kann so ausgelegt sein, dass ein Sichtfeld der Bildaufnahmevorrichtung 122 sich mindestens teilweise oder vollständig mit einem Sichtfeld der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 überlappt. In einigen Ausführungsformen kann das System 100 so ausgelegt sein, dass die Sichtfelder der Bildaufnahmevorrichtungen 124 und 126 beispielsweise in das Sichtfeld des Bildaufnahmevorrichtung 122 fallen (z. B. schmaler sind) und ein gemeinsames Zentrum mit ihm teilen. In anderen Ausführungsformen können die Bildaufnahmevorrichtungen 122, 124 und 126 benachbarte FOVs aufnehmen, oder können eine teilweise Überlappung in ihren FOVs aufweisen. In einigen Ausführungsformen können die Sichtfelder der Bildaufnahmevorrichtungen 122, 124 und 126 so ausgerichtet sein, dass ein Zentrum der Bildaufnahmevorrichtungen 124 und/oder 126 mit schmalerem FOV in einer unteren Hälfte des Sichtfelds der Vorrichtung 122 mit breiterem FOV angeordnet sein kann.
-
2F ist eine schematische Darstellung beispielhafter Fahrzeugsteuersysteme in Übereinstimmung mit den offenbarten Ausführungsformen. Wie in 2F angegeben, kann das Fahrzeug 200 ein Drosselsystem 220, ein Bremssystem 230 und ein Lenksystem 240 aufweisen. Das System 100 kann Eingaben (z. B. Steuersignale) an eines oder mehrere von dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 über eine oder mehrere Datenverbindungen (z. B. jede drahtgebundene und/oder drahtlose Verbindung, oder Verbindungen zum Übertragen von Daten) bereitstellen. Beispielsweise kann das System 100 basierend auf einer Analyse von Bildern, die von den Bildaufnahmevorrichtungen 122, 124 und/oder 126 erfasst wurden, Steuersignale an eines oder mehrere von dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 bereitstellen, um das Fahrzeug 200 zu navigieren (z. B. durch Bewirken einer Beschleunigung, Abbiegen, einer Spuränderung usw.). Ferner kann das System 100 Eingaben von einem oder mehreren von dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 24 empfangen, die Betriebsbedingungen des Fahrzeugs 200 angeben (z. B. eine Geschwindigkeit, ob das Fahrzeug 200 bremst und/oder abbiegt, usw.). Weitere Einzelheiten werden unten in Verbindung mit den 4-7 bereitgestellt.
-
Wie in 3A gezeigt wird, kann das Fahrzeug 200 auch eine Benutzerschnittstelle 170 zum Interagieren mit einem Fahrer oder einem Beifahrer des Fahrzeugs 200 aufweisen. Beispielsweise kann die Benutzerschnittstelle 170 in einer Fahrzeuganwendung einen Touchscreen 320, Knöpfe 330, Schalter 340 und ein Mikrofon 350 aufweisen. Ein Fahrer oder Beifahrer des Fahrzeugs 200 kann auch Hebel (die z. B. an oder in der Nähe der Lenksäule des Fahrzeugs 200 angeordnet sind, einschließlich z. B. Blinkergriffe), Knöpfe (z. B. an dem Lenkrad des Fahrzeugs 200) und dergleichen verwenden, um mit dem System 100 zu interagieren. In einigen Ausführungsformen kann das Mikrofon 350 benachbart zu einem Rückspiegel 310 positioniert sein. In ähnlicher Weise kann die Bildaufnahmevorrichtung 122 in einigen Ausführungsformen in der Nähe des Rückspiegels 310 angeordnet sein. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 auch einen oder mehrere Lautsprecher 360 (z. B. einen Lautsprecher eines Audiosystems des Fahrzeugs) aufweisen. Beispielsweise kann das System 100 verschiedene Benachrichtigungen (z. B. Warnungen) über die Lautsprecher 360 bereitstellen.
-
Die 3B-3D sind Veranschaulichungen einer beispielhaften Kamerahalterung 370, die dazu ausgelegt ist, hinter einem Rückspiegel (z. B. den Rückspiegel 310) und gegen eine Fahrzeugwindschutzscheibe positioniert zu sein, in Übereinstimmung mit offenbarten Ausführungsformen. Wie in 3B gezeigt wird, kann die Kamerahalterung 370 Bildaufnahmevorrichtungen 122, 124 und 126 aufweisen. Die Bildaufnahmevorrichtungen 124 und 126 können hinter einem Blendschutz 380 positioniert sein, der bündig mit der Fahrzeugwindschutzscheibe sein kann und eine Zusammensetzung aus einer Folie und/oder Antireflexmaterialien aufweisen kann. Beispielsweise kann der Blendschutz 380 so positioniert sein, dass er mit einer passenden Neigung gegen eine Fahrzeugwindschutzscheibe ausgerichtet ist. In einigen Ausführungsformen kann jede der Bildaufnahmevorrichtungen 122, 124 und 126 hinter dem Blendschutz 380 positioniert sein, wie beispielsweise in 3D dargestellt wird. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration der Bildaufnahmevorrichtungen 122, 124 und 126, der Kamerahalterung 370 und des Blendschutzes 380 beschränkt. 3C ist eine Veranschaulichung der in 3B gezeigten Kamerahalterung 370 aus einer Vorderperspektive.
-
Wie von einem Fachmann mit Kenntnis dieser Offenbarung erkannt werden wird, können zahlreiche Variationen und/oder Modifizierungen an den vorstehend offenbarten Ausführungsformen vorgenommen werden. Beispielsweise sind nicht alle Komponenten für den Betrieb des Systems 100 wesentlich. Ferner kann sich jede Komponente in einem beliebigen geeigneten Teil des Systems 100 befinden, und die Komponenten können in einer Vielzahl von Konfigurationen neu angeordnet sein, während sie die Funktionalität der offenbarten Ausführungsformen bereitstellen. Daher sind die vorangehenden Konfigurationen Beispiele, und ungeachtet der oben diskutierten Konfigurationen kann das System 100 einen breiten Funktionsbereich bereitstellen, um die Umgebung des Fahrzeugs 200 zu analysieren und das Fahrzeug 200 als Reaktion auf die Analyse zu navigieren.
-
Wie nachstehend ausführlicher diskutiert und in Übereinstimmung mit verschiedenen offenbarten Ausführungsformen, kann das System 100 eine Vielzahl von Merkmalen in Bezug auf autonomes Fahren und/oder Fahrerassistenztechnologie bereitstellen. Beispielsweise kann das System 100 Bilddaten, Positionsdaten (z. B. GPS-Ortsinformationen), Kartendaten, Geschwindigkeitsdaten und/oder Daten von Sensoren, die in dem Fahrzeug 200 enthalten sind, analysieren. Das System 100 kann die Daten zur Analyse beispielsweise von der Bilderfassungseinheit 120, dem Positionssensor 130 und anderen Sensoren sammeln. Ferner kann das System 100 die gesammelten Daten analysieren, um zu bestimmen, ob das Fahrzeug 200 eine bestimmte Aktion ausführen sollte oder nicht, und dann automatisch die bestimmte Aktion ohne menschliches Eingreifen ausführen. Wenn das Fahrzeug 200 beispielsweise ohne menschliches Eingreifen navigiert, kann das System 100 automatisch das Bremsen, Beschleunigen und/oder Lenken des Fahrzeugs 200 steuern (z. B. durch Senden von Steuersignalen an eines oder mehrere von dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240). Ferner kann das System 100 die gesammelten Daten analysieren, und basierend auf der Analyse der gesammelten Daten Warnungen und/oder Alarme an Fahrzeuginsassen ausgeben. Zusätzliche Details bezüglich der verschiedenen Ausführungsformen, die durch das System 100 bereitgestellt werden, werden unten bereitgestellt.
-
Vorwärts ausgerichtetes Mehrfachbildgebungssystem
-
Wie oben diskutiert, kann das System 100 eine Fahrunterstützungsfunktion bereitstellen, die ein Mehrkamerasystem verwendet. Das Mehrkamerasystem kann eine oder mehrere Kameras verwenden, die in die Vorwärtsrichtung eines Fahrzeugs gerichtet sind. In anderen Ausführungsformen kann das Mehrkamerasystem eine oder mehrere Kameras aufweisen, die zur Seite eines Fahrzeugs oder zum Heck des Fahrzeugs gerichtet sind. In einer Ausführungsform kann das System 100 beispielsweise ein Bildgebungssystem mit zwei Kameras verwenden, wobei eine erste Kamera und eine zweite Kamera (z. B. Bildaufnahmevorrichtungen 122 und 124) an der Vorderseite und/oder den Seiten eines Fahrzeugs (z. B. Fahrzeug 200) positioniert sein können. Andere Kamerakonfigurationen stimmen mit den offenbarten Ausführungsformen überein, und die hierin offenbarten Konfigurationen sind Beispiele. Beispielsweise kann das System 100 eine Konfiguration aus einer beliebigen Anzahl von Kameras (z. B. eine, zwei, drei, vier, fünf, sechs, sieben, acht usw.) aufweisen. Ferner kann das System 100 „Cluster“ von Kameras aufweisen. Beispielsweise kann eine Gruppe von Kameras (einschließlich einer beliebigen geeigneten Anzahl von Kameras, z. B. eine, vier, acht usw.) bezüglich eines Fahrzeugs nach vorne gerichtet sein, oder kann in eine andere Richtung zeigen (z. B. nach hinten gerichtet, zur Seite gerichtet, in einem Winkel, usw.). Dementsprechend kann das System 100 mehrere Gruppen von Kameras aufweisen, wobei jede Gruppe in einer bestimmten Richtung ausgerichtet ist, um Bilder von einem bestimmten Bereich einer Fahrzeugumgebung aufzunehmen.
-
Die erste Kamera kann ein Sichtfeld aufweisen, das größer oder kleiner als das Sichtfeld der zweiten Kamera ist oder dieses teilweise überlappt. Außerdem kann die erste Kamera mit einem ersten Bildprozessor verbunden sein, um eine monokulare Bildanalyse von Bildern durchzuführen, die von der ersten Kamera bereitgestellt werden, und die zweite Kamera kann mit einem zweiten Bildprozessor verbunden sein, um eine monokulare Bildanalyse von Bildern durchzuführen, die von der zweiten Kamera bereitgestellt werden. Die Ausgaben (z. B. verarbeitete Informationen) des ersten und des zweiten Bildprozessors können kombiniert werden. In einigen Ausführungsformen kann der zweite Bildprozessor Bilder sowohl von der ersten Kamera als auch von der zweiten Kamera empfangen, um eine Stereoanalyse durchzuführen. In einer anderen Ausführungsform kann das System 100 ein Bildgebungssystem mit drei Kameras verwenden, wobei jede der Kameras ein unterschiedliches Sichtfeld hat. Ein solches System kann daher Entscheidungen basierend auf Informationen treffen, die von Objekten abgeleitet werden, die sich in unterschiedlichen Abständen sowohl vor dem Fahrzeug als auch an den Seiten davon befinden. Verweise auf die monokulare Bildanalyse können sich auf Fälle beziehen, in denen eine Bildanalyse basierend auf Bildern durchgeführt wird, die von einem einzigen Blickpunkt (z. B. von einer einzigen Kamera) aufgenommen wurden. Die Stereobildanalyse kann sich auf Fälle beziehen, in denen eine Bildanalyse basierend auf zwei oder mehr Bildern durchgeführt wird, die mit einer oder mehreren Variationen eines Bildaufnahmeparameters aufgenommen wurden. Beispielsweise können aufgenommene Bilder, die zum Durchführen einer Stereobildanalyse geeignet sind, Bilder aufweisen, die aufgenommen wurden: aus zwei oder mehr unterschiedlichen Positionen, aus unterschiedlichen Sichtfeldern, unter Verwendung unterschiedlicher Brennweiten, zusammen mit Parallaxeninformationen, usw.
-
Beispielsweise kann das System 100 in einer Ausführungsform eine Konfiguration mit drei Kameras unter Verwendung von Bildaufnahmevorrichtungen 122-126 implementieren. In einer solchen Konfiguration kann die Bildaufnahmevorrichtung 122 ein schmales Sichtfeld (z. B. 34 Grad, oder andere, aus einem Bereich von etwa 20 bis 45 Grad usw. ausgewählte Werte) bereitstellen, kann die Bildaufnahmevorrichtung 124 ein weites Sichtfeld (z. B. 150 Grad, oder andere, aus einem Bereich von etwa 100 bis etwa 180 Grad ausgewählte Werte) bereitstellen, und kann die Bildaufnahmevorrichtung 126 ein mittleres Sichtfeld (z. B. 46 Grad, oder andere, aus einem Bereich von etwa 35 bis etwa 60 Grad ausgewählte Werte) bereitstellen. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 126 als eine Haupt- oder primäre Kamera fungieren. Die Bildaufnahmevorrichtungen 122, 126 können hinter dem Rückspiegel 310 und im Wesentlichen Seite an Seite (z. B. 6 cm voneinander entfernt) positioniert sein. Ferner können in einigen Ausführungsformen, wie oben diskutiert, eine oder mehrere der Bildaufnahmevorrichtungen 122-126 hinter dem Blendschutz 380 montiert sein, der bündig mit der Windschutzscheibe des Fahrzeugs 200 ist. Eine solche Abschirmung kann dazu fungieren, den Einfluss jeglicher Reflexionen von innerhalb des Autos auf die Bildaufnahmevorrichtungen 122-126 zu minimieren.
-
In einer anderen Ausführungsform, wie oben in Verbindung mit den 3B und 3C diskutiert, kann die Kamera mit weitem Sichtfeld (z. B. die Bildaufnahmevorrichtung 124 in dem obigen Beispiel) weiter unten als die Kameras mit schmalem und Hauptsichtfeld (z. B. die Bildvorrichtungen 122 und 126 in dem obigen Beispiel) angebracht sein. Diese Konfiguration kann eine freie Sichtlinie von der Kamera mit weitem Sichtfeld bereitstellen. Um Reflexionen zu verringern, können die Kameras nahe an der Windschutzscheibe des Fahrzeugs 200 montiert sein, und können Polarisatoren an den Kameras aufweisen, um reflektiertes Licht zu dämpfen.
-
Ein System mit drei Kameras kann bestimmte Leistungsmerkmale bereitstellen. Beispielsweise können einige Ausführungsformen eine Fähigkeit zum Validieren der Erkennung von Objekten durch eine Kamera basierend auf Erkennungsergebnissen von einer anderen Kamera aufweisen. In der oben diskutierten Konfiguration mit drei Kameras kann die Verarbeitungseinheit 110 beispielsweise drei Verarbeitungsvorrichtungen (z. B. drei EyeQ-Serien von Prozessorchips, wie oben diskutiert) aufweisen, wobei jeder Verarbeitungsvorrichtung für die Verarbeitung von Bildern bestimmt ist, die von einem oder mehreren Bildaufnahmevorrichtungen 122-126 aufgenommen wurden.
-
In einem System mit drei Kameras kann eine erste Verarbeitungsvorrichtung Bilder sowohl von der Hauptkamera als auch der Kamera mit schmalem Sichtfeld empfangen, und eine Bildverarbeitung der Kamera mit schmalem Sichtfeld durchführen, um beispielsweise andere Fahrzeuge, Fußgänger oder Fahrspurmarkierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erkennen. Ferner kann die erste Verarbeitungsvorrichtung eine Disparität von Pixeln zwischen den Bildern von der Hauptkamera und der schmalen Kamera berechnen, und eine 3D-Rekonstruktion der Umgebung des Fahrzeugs 200 erstellen. Die erste Verarbeitungsvorrichtung kann dann die 3D-Rekonstruktion mit 3D-Kartendaten oder mit 3D-Informationen, die basierend auf Informationen einer anderen Kamera berechnet wurden, kombinieren.
-
Die zweite Verarbeitungsvorrichtung kann Bilder von der Hauptkamera empfangen und eine Sichtverarbeitung durchführen, um andere Fahrzeuge, Fußgänger, Fahrspurmarkierungen, Verkehrszeichen, Ampeln, und andere Straßenobjekte zu erkennen. Zusätzlich kann die zweite Verarbeitungsvorrichtung eine Kameraverschiebung berechnen, und basierend auf der Verschiebung eine Disparität von Pixeln zwischen aufeinanderfolgenden Bildern berechnen, und eine 3D-Rekonstruktion der Szene (z. B. eine Struktur aus einer Bewegung) erstellen. Die zweite Verarbeitungsvorrichtung kann die Struktur von der bewegungsbasierten 3D-Rekonstruktion an die erste Verarbeitungsvorrichtung senden, um sie mit den Stereo-3D-Bildern zu kombinieren.
-
Die dritte Verarbeitungsvorrichtung kann Bilder von der Breit-FOV-Kamera empfangen, und die Bilder verarbeiten, um Fahrzeuge, Fußgänger, Fahrspurmarkierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erkennen. Die dritte Verarbeitungsvorrichtung kann ferner zusätzliche Verarbeitungsanweisungen ausführen, um Bilder zu analysieren, um Objekte zu identifizieren, die sich in dem Bild bewegen, wie etwa Fahrzeuge, die die Fahrspur wechseln, Fußgänger, usw.
-
In einigen Ausführungsformen können Ströme von unabhängig aufgenommenen und verarbeiteten bildbasierten Informationen eine Gelegenheit zum Bereitstellen von Redundanz in dem System bieten. Eine solche Redundanz kann beispielsweise die Verwendung einer ersten Bildaufnahmevorrichtung und der von dieser Vorrichtung verarbeiteten Bilder aufweisen, um Informationen zu validieren und/oder zu ergänzen, die durch die Aufnahme und die Verarbeitung von Bildinformationen von mindestens einer zweiten Bildaufnahmevorrichtung erhalten wurden.
-
In einigen Ausführungsformen kann das System 100 zwei Bildaufnahmevorrichtungen (z. B. die Bildaufnahmevorrichtungen 122 und 124) verwenden, um eine Navigationsunterstützung für das Fahrzeug 200 bereitzustellen, und eine dritte Bildaufnahmevorrichtung (z. B. Bildaufnahmevorrichtung 126) verwenden, um eine Redundanz bereitzustellen und die Analyse der von den anderen beiden Bildaufnahmevorrichtungen empfangenen Daten zu validieren. Beispielsweise können in einer solchen Konfiguration die Bildaufnahmevorrichtungen 122 und 124 Bilder zur Stereoanalyse durch das System 100 bereitstellen, um das Fahrzeugs 200 zu navigieren, während die Bildaufnahmevorrichtung 126 Bilder zur monokularen Analyse durch das System 100 bereitstellen kann, um eine Redundanz und Validierung der erhaltenen Informationen basierend auf Bildern bereitzustellen, die von der Bildaufnahmevorrichtung 122 und/oder der Bildaufnahmevorrichtung 124 aufgenommen wurden. Das heißt, die Bildaufnahmevorrichtung 126 (und eine entsprechende Verarbeitungsvorrichtung) kann als ein redundantes Subsystem zum Bereitstellen einer Überprüfung der aus den Bildaufnahmevorrichtungen 122 und 124 abgeleiteten Analyse angesehen werden (z. B., um ein automatisches Notbrems- (AEB) System bereitzustellen). Darüber hinaus können in einigen Ausführungsformen Redundanz und Validierung von empfangenen Daten basierend auf Informationen ergänzt werden, die von einem oder mehreren Sensoren empfangen werden (z. B. Radar, Lidar, akustische Sensoren, Informationen, die von einem oder mehreren Transceivern außerhalb eines Fahrzeugs empfangen werden, usw.).
-
Ein Fachmann wird erkennen, dass die obigen Kamerakonfigurationen, Kameraplatzierungen, Anzahl von Kameras, Kamerapositionen usw. nur Beispiele sind. Diese und andere in Bezug auf das Gesamtsystem beschriebenen Komponenten können zusammengestellt und in einer Vielzahl unterschiedlicher Konfigurationen verwendet werden, ohne vom Schutzumfang der offenbarten Ausführungsformen abzuweichen. Weitere Einzelheiten bezüglich der Verwendung eines Mehrkamerasystems zum Bereitstellen von Fahrerunterstützung und/oder autonomer Fahrzeugfunktionalität folgen unten.
-
4 ist ein beispielhaftes Funktionsblockdiagramm des Speichers 140 und/oder 150, der mit Anweisungen zum Ausführen einer oder mehrerer Operationen gespeichert/programmiert werden kann, die mit den offenbarten Ausführungsformen übereinstimmen. Obwohl sich das Folgende auf den Speicher 140 bezieht, wird ein Fachmann erkennen, dass Anweisungen in dem Speicher 140 und/oder 150 gespeichert werden können.
-
Wie in 4 gezeigt wird, kann der Speicher 140 ein monokulares Bildanalysemodul 402, ein Stereobildanalysemodul 404, ein Geschwindigkeits- und Beschleunigungsmodul 406 und ein Navigationsreaktionsmodul 408 speichern. Die offenbarten Ausführungsformen sind nicht auf irgendeine besondere Konfiguration des Speichers 140 beschränkt. Ferner kann der Anwendungsprozessor 180 und/oder der Bildprozessor 190 die Anweisungen, die in einem der in dem Speicher 140 enthaltenen Module 402, 408 gespeichert sind, ausführen. Ein Fachmann wird verstehen, dass sich in den folgenden Diskussionen Verweise auf die Verarbeitungseinheit 110 einzeln oder gemeinsam auf den Anwendungsprozessor 180 und den Bildprozessor 190 beziehen können. Dementsprechend können Schritte eines beliebigen der folgenden Prozesse durch eine oder mehrere Verarbeitungsvorrichtungen durchgeführt werden.
-
In einer Ausführungsform kann das monokulare Bildanalysemodul 402 Anweisungen (wie etwa Computer-Vision-Software) speichern, die, wenn sie von der Verarbeitungseinheit 110 ausgeführt werden, eine monokulare Bildanalyse eines Satzes von Bildern durchführen, die von einer der Bildaufnahmevorrichtungen 122, 124 und 126 aufgenommen wurden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus einem Satz von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen von einem Radar) kombinieren, um die monokulare Bildanalyse durchzuführen. Wie unten in Verbindung mit den 5A-5D beschrieben, kann das monokulare Bildanalysemodul 402 Anweisungen zum Erkennen eines Satzes von Merkmalen innerhalb des Satzes von Bildern, wie Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Ampeln, gefährliche Objekte und beliebige andere Merkmale, die einer Umgebung eines Fahrzeugs zugeordnet sind, aufweisen. Basierend auf der Analyse kann das System 100 (z. B. über die Verarbeitungseinheit 110) eine oder mehrere Navigationsreaktionen im Fahrzeug 200 veranlassen, wie etwa Abbiegen, eine Spuränderung, eine Beschleunigungsänderung und dergleichen, wie nachstehend in Verbindung mit dem Navigationsreaktionsmodul 408 diskutiert.
-
In einer Ausführungsform kann das monokulare Bildanalysemodul 402 Anweisungen (wie etwa Computer-Vision-Software) speichern, die, wenn sie von der Verarbeitungseinheit 110 ausgeführt werden, eine monokulare Bildanalyse eines Satzes von Bildern durchführen, die von einer der Bildaufnahmevorrichtungen 122, 124 und 126 aufgenommen wurden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus einem Satz von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen von Radar, Lidar usw.) kombinieren, um die monokulare Bildanalyse durchzuführen. Wie unten in Verbindung mit den 5A-5D beschrieben, kann das monokulare Bildanalysemodul 402 Anweisungen zum Erkennen eines Satzes von Merkmalen innerhalb des Satzes von Bildern, wie Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Ampeln, gefährliche Objekte und beliebige andere Merkmale, die einer Umgebung eines Fahrzeugs zugeordnet sind, aufweisen. Basierend auf der Analyse kann das System 100 (z. B. über die Verarbeitungseinheit 110) eine oder mehrere Navigationsreaktionen in dem Fahrzeug 200 veranlassen, wie etwa Abbiegen, einer Spuränderung, eine Beschleunigungsänderung und dergleichen, wie nachstehend in Verbindung mit einer Navigationsreaktion diskutiert.
-
In einer Ausführungsform kann das Stereobildanalysemodul 404 Anweisungen (wie etwa Computer-Vision-Software) speichern, die, wenn sie von der Verarbeitungseinheit 110 ausgeführt werden, eine Stereobildanalyse von ersten und zweiten Sätzen von Bildern durchführt, die von einer Kombination von Bildaufnahmevorrichtungen, ausgewählt aus einer der Bildaufnahmevorrichtungen 122, 124 und 126, aufgenommen wurden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus dem ersten und zweiten Satz von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen von einem Radar) kombinieren, um die Stereobildanalyse durchzuführen. Beispielsweise kann das Stereobildanalysemodul 404 Anweisungen zum Durchführen einer Stereobildanalyse basierend auf einem ersten Satz von Bildern, die von der Bildaufnahmevorrichtung 124 aufgenommen wurden, und einem zweiten Satz von Bildern, die von der Bildaufnahmevorrichtung 126 aufgenommen wurden, aufweisen. Wie in unten Verbindung mit 6 beschrieben, kann das Stereobildanalysemodul 404 Anweisungen zum Erkennen eines Satzes von Merkmalen innerhalb des ersten und des zweiten Satzes von Bildern, wie Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, gefährliche Objekte und dergleichen, aufweisen. Basierend auf der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen in dem Fahrzeug 200 veranlassen, wie etwa Abbiegen, eine Spuränderung, eine Beschleunigungsänderung, und dergleichen, wie nachstehend in Verbindung mit dem Navigationsreaktionsmodul 408 diskutiert. Ferner kann in einigen Ausführungsformen das Stereobildanalysemodul 404 Techniken implementieren, die mit einem trainierten System (wie etwa einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem untrainierten System verbunden sind.
-
In einer Ausführungsform kann das Geschwindigkeits- und Beschleunigungsmodul 406 Software speichern, die dazu ausgelegt ist, Daten zu analysieren, die von einer oder mehreren Rechen- und elektromechanischen Vorrichtungen in dem Fahrzeug 200 empfangen werden, die dazu ausgelegt sind, eine Änderung der Geschwindigkeit und/oder Beschleunigung des Fahrzeugs 200 zu veranlassen. Beispielsweise kann die Verarbeitungseinheit 110 Anweisungen ausführen, die dem Geschwindigkeits- und Beschleunigungsmodul 406 zugeordnet sind, um eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf Daten zu berechnen, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet werden. Solche Daten können beispielsweise eine Zielposition, -geschwindigkeit und/oder -beschleunigung, die Position und/oder Geschwindigkeit des Fahrzeugs 200 bezüglich eines nahen Fahrzeugs, Fußgängers oder Straßenobjekts, Positionsinformationen für das Fahrzeug 200 bezüglich Spurmarkierungen der Straße, und dergleichen, aufweisen. Zusätzlich kann die Verarbeitungseinheit 110 eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf einer sensorischen Eingabe (z. B. Informationen von einem Radar) und einer Eingabe von anderen Systemen des Fahrzeugs 200, wie etwa dem Drosselsystem 220, dem Bremssystem 230 und/oder dem Lenksystem 240 des Fahrzeugs 200 berechnen. Basierend auf der berechneten Zielgeschwindigkeit kann die Verarbeitungseinheit 110 elektronische Signale an das Drosselsystem 220, das Bremssystem 230 und/oder das Lenksystem 240 des Fahrzeugs 200 senden, um eine Geschwindigkeits- und/oder Beschleunigungsänderung beispielsweise durch physisches Niederdrücken der Bremse oder Nachlassen des Gaspedals des Fahrzeugs 200 auszulösen.
-
In einer Ausführungsform kann das Navigationsreaktionsmodul 408 Software speichern, die durch die Verarbeitungseinheit 110 ausführbar ist, um eine gewünschte Navigationsreaktion basierend auf Daten zu bestimmen, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet werden. Solche Daten können Positions- und Geschwindigkeitsinformationen, die nahen Fahrzeugen, Fußgängern und Straßenobjekten zugeordnet sind, Zielpositionsinformationen für das Fahrzeug 200, und dergleichen, aufweisen. Zusätzlich kann die Navigationsreaktion in einigen Ausführungsformen (teilweise oder vollständig) auf Kartendaten, einer vorbestimmten Position des Fahrzeugs 200 und/oder einer relativen Geschwindigkeit oder einer relativen Beschleunigung zwischen dem Fahrzeug 200 und einem oder mehreren Objekten, die durch die Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 erkannt werden, basieren. Das Navigationsreaktionsmodul 408 kann auch eine gewünschte Navigationsreaktion basierend auf einer sensorischen Eingabe (z. B. Informationen von einem Radar) und Eingaben von anderen Systemen des Fahrzeugs 200, wie etwa dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 des Fahrzeugs 200, bestimmen. Basierend auf der gewünschten Navigationsreaktion kann die Verarbeitungseinheit 110 elektronische Signale an das Drosselsystem 220, das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 senden, um eine gewünschte Navigationsreaktion, wie beispielsweise ein Drehen des Lenkrads des Fahrzeugs 200, um eine Drehung um einen vorbestimmten Winkel zu erreichen, auszulösen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Ausgabe des Navigationsreaktionsmoduls 408 (z. B. die gewünschte Navigationsreaktion) als eine Eingabe zur Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 zum Berechnen einer Geschwindigkeitsänderung des Fahrzeugs 200 verwenden.
-
Darüber hinaus kann jedes der hier offenbarten Module (z. B. die Module 402, 404 und 406) Techniken implementieren, die mit einem trainierten System (wie z. B. einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem untrainierten System verbunden sind.
-
5A ist ein Flussdiagramm, das einen beispielhaften Prozess 500A zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf einer monokularen Bildanalyse zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Bei Schritt 510 kann die Verarbeitungseinheit 110 eine Vielzahl von Bildern über die Datenschnittstelle 128 zwischen der Verarbeitungseinheit 110 und der Bilderfassungseinheit 120 empfangen. Beispielsweise kann eine Kamera, die in der Bilderfassungseinheit 120 enthalten ist (wie etwa die Bildaufnahmevorrichtung 122 mit dem Sichtfeld 202), eine Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 (oder beispielsweise seitlich oder hinter einem Fahrzeug) aufnehmen und sie über eine Datenverbindung (z. B. digital, verdrahtet, USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 senden. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um die Vielzahl von Bildern in Schritt 520 zu analysieren, wie unten ausführlicher in Verbindung mit den 5B-5D beschrieben wird. Durch Durchführen der Analyse kann die Verarbeitungseinheit 110 einen Satz von Merkmalen innerhalb des Satzes von Bildern erkennen, wie beispielsweise Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln und dergleichen.
-
Die Verarbeitungseinheit 110 kann auch das monokulare Bildanalysemodul 402 ausführen, um bei Schritt 520 verschiedene Straßengefahren zu erkennen, wie beispielsweise Teile eines Lastwagenreifens, heruntergefallene Straßenschilder, lose Ladung, kleine Tiere, und dergleichen. Stra-ßengefahren können in Struktur, Form, Größe und Farbe variieren, was die Erkennung solcher Gefahren erschweren kann. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 das monokulare Bildanalysemodul 402 ausführen, um eine Multi-Frame-Analyse an der Vielzahl von Bildern durchzuführen, um Straßengefahren zu erkennen. Beispielsweise kann die Verarbeitungseinheit 110 die Kamerabewegung zwischen aufeinanderfolgenden Bildframes schätzen, und die Disparitäten in Pixeln zwischen den Bildframes berechnen, um eine 3D-Karte der Straße zu konstruieren. Die Verarbeitungseinheit 110 kann dann die 3D-Karte verwenden, um die Straßenoberfläche sowie auf der Straßenoberfläche vorhandene Gefahren zu erkennen.
-
Bei Schritt 530 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um basierend auf der bei Schritt 520 durchgeführten Analyse und den oben in Verbindung mit 4 beschriebenen Techniken eine oder mehrere Navigationsreaktionen in dem Fahrzeug 200 zu veranlassen. Navigationsreaktionen können beispielsweise Abbiegen, eine Spuränderung, eine Beschleunigungsänderung und dergleichen aufweisen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die von der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, um die eine oder die mehreren Navigationsreaktionen zu veranlassen. Außerdem können mehrere Navigationsreaktionen gleichzeitig, nacheinander oder in einer beliebigen Kombination auftreten. Beispielsweise kann die Verarbeitungseinheit 110 bewirken, dass das Fahrzeug 200 auf eine Spur wechselt und dann beschleunigt, indem sie beispielsweise nacheinander Steuersignale an das Lenksystem 240 und das Drosselsystem 220 des Fahrzeugs 200 sendet. Alternativ kann die Verarbeitungseinheit 110 bewirken, dass das Fahrzeug 200 bremst, während gleichzeitig Fahrspuren geändert werden, indem beispielsweise gleichzeitig Steuersignale an das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 gesendet werden.
-
5B ist ein Flussdiagramm, das einen beispielhaften Prozess 500B zum Erkennen eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500B zu implementieren. Bei Schritt 540 kann die Verarbeitungseinheit 110 einen Satz von Kandidatenobjekten bestimmen, die mögliche Fahrzeuge und/oder Fußgänger darstellen. Beispielsweise kann die Verarbeitungseinheit 110 eines oder eine Vielzahl von Bildern scannen, die Bilder mit einem oder mehreren vorbestimmten Mustern vergleichen, und in jedem Bild mögliche Orte identifizieren, die Objekte von Interesse (z. B. Fahrzeuge, Fußgänger oder Teile davon) aufweisen können. Die vorbestimmten Muster können so gestaltet sein, dass eine hohe Rate an „falschen Treffern“ und eine niedrige Rate an „Übersehenen“ erreicht wird. Beispielsweise kann die Verarbeitungseinheit 110 einen niedrigen Ähnlichkeitsschwellenwert mit vorbestimmten Mustern zum Identifizieren von Kandidatenobjekten als mögliche Fahrzeuge oder Fußgänger verwenden. Dies kann der Verarbeitungseinheit 110 ermöglichen, die Wahrscheinlichkeit zu verringern, dass ein Kandidatenobjekt, das ein Fahrzeug oder einen Fußgänger darstellt, übersehen (z. B. nicht identifiziert) wird.
-
Bei Schritt 542 kann die Verarbeitungseinheit 110 den Satz von Kandidatenobjekten filtern, um bestimmte Kandidaten (z. B. irrelevante oder weniger relevante Objekte) basierend auf Klassifizierungskriterien auszuschließen. Solche Kriterien können von verschiedenen Eigenschaften abgeleitet werden, die Objekttypen zugeordnet sind, die in einer Datenbank (z. B. einer in dem Speicher 140 gespeicherten Datenbank) gespeichert sind. Eigenschaften können Objektform, -abmessungen, -textur, -position (z. B. relativ des Fahrzeugs 200) und dergleichen aufweisen. Somit kann die Verarbeitungseinheit 110 einen oder mehrere Sätze von Kriterien verwenden, um falsche Kandidaten aus dem Satz von Kandidatenobjekten zurückzuweisen.
-
Bei Schritt 544 kann die Verarbeitungseinheit 110 mehrere Frames von Bildern analysieren, um zu bestimmen, ob Objekte in dem Satz von Kandidatenobjekten Fahrzeuge und/oder Fußgänger darstellen. Beispielsweise kann die Verarbeitungseinheit 110 ein erkanntes Kandidatenobjekt über aufeinanderfolgende Frames verfolgen, und Frame-für-Frame-Daten akkumulieren, die dem erkannten Objekt zugeordnet sind (z. B. Größe, Position relativ des Fahrzeugs 200 usw.). Zusätzlich kann die Verarbeitungseinheit 110 Parameter für das erkannte Objekt schätzen, und die Frame-für-Frame-Positionsdaten des Objekts mit einer vorhergesagten Position vergleichen.
-
Bei Schritt 546 kann die Verarbeitungseinheit 110 einen Satz von Messungen für die erkannten Objekte konstruieren. Solche Messungen können beispielsweise Positions-, Geschwindigkeits- und Beschleunigungswerte (in Bezug auf das Fahrzeug 200), die den erkannten Objekten zugeordnet sind, aufweisen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Messungen basierend auf Schätztechniken unter Verwendung einer Serie von zeitbasierten Beobachtungen, wie etwa Kalman-Filtern oder linearer quadratischen Schätzung (LQE), und/oder basierend auf verfügbaren Modellierungsdaten für verschiedene Objekttypen (z. B. Autos, Lastwagen, Fußgänger, Fahrräder, Straßenschilder usw.) konstruieren. Die Kalman-Filter können auf einer Messung der Skalierung eines Objekts basieren, wobei die Skalierungsmessung proportional zu einer Zeit bis zur Kollision ist (z. B. die Zeitdauer, die das Fahrzeug 200 benötigt, um das Objekt zu erreichen). Somit kann die Verarbeitungseinheit 110 durch Ausführen der Schritte 540-546 Fahrzeuge und Fußgänger identifizieren, die in dem Satz von aufgenommenen Bilder erscheinen, und Informationen (z. B. Position, Geschwindigkeit, Größe) ableiten, die den Fahrzeugen und Fußgängern zugeordnet sind. Basierend auf der Identifizierung und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 veranlassen, wie oben in Verbindung mit 5A beschrieben.
-
Bei Schritt 548 kann die Verarbeitungseinheit 110 eine optische Flussanalyse von einem oder mehreren Bildern durchführen, um die Wahrscheinlichkeiten zu verringern, einen „falschen Treffer“ zu erkennen und ein Kandidatenobjekt zu verfehlen, das ein Fahrzeug oder einen Fußgänger darstellt. Die optische Flussanalyse kann sich beispielsweise auf ein Analysieren von Bewegungsmustern relativ zu dem Fahrzeug 200 in dem einen oder den mehreren Bildern beziehen, die anderen Fahrzeugen und Fußgängern zugeordnet sind und sich von der Straßenoberflächenbewegung unterscheiden. Die Verarbeitungseinheit 110 kann die Bewegung von Kandidatenobjekten berechnen, indem sie die unterschiedlichen Positionen der Objekte über mehrere Bildframes hinweg beobachtet, die zu unterschiedlichen Zeiten aufgenommen werden. Die Verarbeitungseinheit 110 kann die Positions- und Zeitwerte als Eingaben in mathematische Modelle zum Berechnen der Bewegung der Kandidatenobjekte verwenden. Somit kann die optische Flussanalyse ein weiteres Verfahren zum Erkennen von Fahrzeugen und Fußgängern bereitstellen, die sich in der Nähe des Fahrzeugs 200 befinden. Die Verarbeitungseinheit 110 kann eine optische Flussanalyse in Kombination mit den Schritten 540-546 durchführen, um die Redundanz zum Erkennen von Fahrzeugen und Fußgängern bereitzustellen und die Zuverlässigkeit des Systems 100 zu erhöhen.
-
5C ist ein Flussdiagramm, das einen beispielhaften Prozess 500C zum Erkennen von Straßenmarkierungen und/oder Spurgeometrieinformationen in einem Satz von Bildern zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500C zu implementieren. Bei Schritt 550 kann die Verarbeitungseinheit 110 einen Satz von Objekten erkennen, indem sie eines oder eine Vielzahl von Bildem scannt. Um Segmente von Fahrspurmarkierungen, Fahrspurgeometrieinformationen, und andere relevante Straßenmarkierungen zu erkennen, kann die Verarbeitungseinheit 110 den Satz von Objekten filtern, um diejenigen auszuschließen, die als irrelevant bestimmt wurden (z. B. kleinere Schlaglöcher, kleine Steine usw.). In Schritt 552 kann die Verarbeitungseinheit 110 die in Schritt 550 erkannten Segmente, die zu derselben Straßenmarkierung oder Fahrspurmarkierung gehören, gruppieren. Basierend auf der Gruppierung kann die Verarbeitungseinheit 110 ein Modell entwickeln, um die erkannten Segmente darzustellen, wie beispielsweise ein mathematisches Modell.
-
Bei Schritt 554 kann die Verarbeitungseinheit 110 einen Satz von Messungen konstruieren, die den erkannten Segmenten zugeordnet sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Projektion der erkannten Segmente von der Bildebene in die Ebene der realen Welt erzeugen. Die Projektion kann unter Verwendung eines Polynoms 3. Grades charakterisiert werden, das Koeffizienten aufweist, die physikalischen Eigenschaften entsprechen, wie z. B. der Position, Neigung, Krümmung und Krümmungsableitung der erkannten Straße. Beim Erzeugen der Projektion kann die Verarbeitungseinheit 110 Änderungen der Straßenoberfläche sowie mit dem Fahrzeug 200 verbundene Nick- und Rollraten berücksichtigen. Außerdem kann die Verarbeitungseinheit 110 die Straßenhöhe modellieren, indem sie Positions- und Bewegungshinweise analysiert, die auf dem Straßenbelag vorhanden sind. Ferner kann die Verarbeitungseinheit 110 die dem Fahrzeug 200 zugeordneten Nick- und Rollraten schätzen, indem sie einen Satz von Merkmalspunkten in dem einen oder den mehreren Bildern verfolgt.
-
Bei Schritt 556 kann die Verarbeitungseinheit 110 eine Multi-Frame-Analyse durchführen, indem sie beispielsweise die erkannten Segmente über aufeinanderfolgende Bildframes verfolgt, und Frame-für-Frame Daten akkumuliert, die den erkannten Segmenten zugeordnet sind. Wenn die Verarbeitungseinheit 110 eine Multi-Frame-Analyse durchführt, kann der in Schritt 554 konstruierte Satz von Messungen zuverlässiger werden und einem zunehmend höheren Konfidenzniveau zugeordnet werden. Somit kann die Verarbeitungseinheit 110 durch Ausführen der Schritte 550-556 Straßenmarkierungen identifizieren, die innerhalb des Satzes von aufgenommenen Bildern erscheinen, und Spurgeometrieinformationen ableiten. Basierend auf der Identifizierung und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen in dem Fahrzeug 200 veranlassen, wie oben in Verbindung mit 5A beschrieben.
-
Bei Schritt 558 kann die Verarbeitungseinheit 110 zusätzliche Informationsquellen berücksichtigen, um ein Sicherheitsmodell für das Fahrzeug 200 im Kontext seiner Umgebung weiterzuentwickeln. Die Verarbeitungseinheit 110 kann das Sicherheitsmodell verwenden, um einen Kontext zu definieren, in dem das System 100 die autonome Steuerung des Fahrzeugs 200 auf sichere Weise ausführen kann. Um das Sicherheitsmodell zu entwickeln, kann die Verarbeitungseinheit 110 in einigen Ausführungsformen die Position und Bewegung anderer Fahrzeuge, die erkannten Straßenränder und -barrieren, und/oder allgemeine Straßenformbeschreibungen, die aus Kartendaten (wie etwa Daten aus der Kartendatenbank 160) extrahiert wurden, berücksichtigen. Durch Berücksichtigung zusätzlicher Informationsquellen kann die Verarbeitungseinheit 110 Redundanz zum Erkennen von Straßenmarkierungen und der Fahrspurgeometrie bereitstellen und die Zuverlässigkeit des Systems 100 erhöhen.
-
5D ist ein Flussdiagramm, das einen beispielhaften Prozess 500D zum Erkennen von Ampeln in einem Satz von Bildern zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500D zu implementieren. Bei Schritt 560 kann die Verarbeitungseinheit 110 den Satz von Bildern scannen, und Objekte identifizieren, die an Stellen in den Bildern erscheinen, die wahrscheinlich Ampeln enthalten. Beispielsweise kann die Verarbeitungseinheit 110 die identifizierten Objekte filtern, um einen Satz von Kandidatenobjekten zu konstruieren, wobei diejenigen Objekte ausgeschlossen werden, die wahrscheinlich Ampeln entsprechen. Das Filtern kann basierend auf verschiedenen Eigenschaften erfolgen, die Ampeln zugeordnet sind, wie etwa Form, Abmessungen, Textur, Position (z. B. relativ des Fahrzeugs 200) und dergleichen. Solche Eigenschaften können auf mehreren Beispielen von Ampeln und Verkehrssteuerungssignalen basieren und in einer Datenbank gespeichert werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Multi-Frame-Analyse an dem Satz von Kandidatenobjekten durchführen, die mögliche Verkehrsampeln widerspiegeln. Beispielsweise kann die Verarbeitungseinheit 110 die Kandidatenobjekte über aufeinanderfolgende Bildframes verfolgen, die reale Position der Kandidatenobjekte schätzen, und jene Objekte herausfiltern, die sich bewegen (die wahrscheinlich keine Ampeln sind). In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Farbanalyse an den Kandidatenobjekten durchführen und die relative Position der erkannten Farben identifizieren, die innerhalb möglicher Ampeln erscheinen.
-
Bei Schritt 562 kann die Verarbeitungseinheit 110 die Geometrie einer Kreuzung analysieren. Die Analyse kann auf einer beliebigen Kombination basieren aus: (i) der Anzahl der Fahrspuren, die auf beiden Seiten des Fahrzeugs 200 erkannt werden, (ii) auf der Straße erkannten Markierungen (wie Pfeilmarkierungen), und (iii) Beschreibungen der Kreuzung, die aus Kartendaten (wie etwa Daten aus der Kartendatenbank 160) extrahiert werden. Die Verarbeitungseinheit 110 kann die Analyse unter Verwendung von Informationen durchführen, die aus der Ausführung des monokularen Analysemoduls 402 abgeleitet werden. Zusätzlich kann die Verarbeitungseinheit 110 eine Entsprechung zwischen den bei Schritt 560 erkannten Ampeln und den in der Nähe des Fahrzeugs 200 erscheinenden Fahrspuren bestimmen.
-
Wenn sich das Fahrzeug 200 der Kreuzung nähert, kann die Verarbeitungseinheit 110 bei Schritt 564 das Konfidenzniveau aktualisieren, das der analysierten Kreuzungsgeometrie und den erkannten Ampeln zugeordnet ist. Beispielsweise kann die geschätzte Anzahl von Ampeln, die an der Kreuzung erscheinen, im Vergleich zu der Anzahl, die tatsächlich an der Kreuzung erscheinen, das Konfidenzniveau beeinflussen. Somit kann die Verarbeitungseinheit 110 basierend auf dem Konfidenzniveau die Steuerung an den Fahrer des Fahrzeugs 200 delegieren, um die Sicherheitsbedingungen zu verbessern. Durch Ausführen der Schritte 560-564 kann die Verarbeitungseinheit 110 Verkehrsampeln identifizieren, die innerhalb des Satzes von aufgenommenen Bildern erscheinen, und Kreuzungsgeometrieinformationen analysieren. Basierend auf der Identifizierung und der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen in dem Fahrzeug 200 veranlassen, wie oben in Verbindung mit 5A beschrieben.
-
5E ist ein Flussdiagramm, das einen beispielhaften Prozess 500E zum Veranlassen einer oder mehrerer Navigationsreaktionen in dem Fahrzeug 200 basierend auf einem Fahrzeugpfad zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen. Bei Schritt 570 kann die Verarbeitungseinheit 110 einen dem Fahrzeug 200 zugeordneten anfänglichen Fahrzeugpfad konstruieren. Der Fahrzeugpfad kann unter Verwendung eines Satzes von Punkten, ausgedrückt in Koordinaten (x, z), dargestellt werden, und der Abstand di zwischen zwei Punkten in dem Satz von Punkten kann in den Bereich von 1 bis 5 Metern fallen. In einer Ausführungsform kann die Verarbeitungseinheit 110 den anfänglichen Fahrzeugpfad unter Verwendung von zwei Polynomen, wie beispielsweise linken und rechten Straßenpolynomen, konstruieren. Die Verarbeitungseinheit 110 kann den geometrischen Mittelpunkt zwischen den zwei Polynomen berechnen, und jeden Punkt, der in dem resultierenden Fahrzeugpfad enthalten ist, um einen vorbestimmten Versatz versetzen (z. B. einen Smart-Lane-Versatz), falls vorhanden (ein Versatz von null kann einer Fahrt in der Mitte entsprechen). Der Versatz kann in einer Richtung senkrecht zu einem Segment zwischen zwei beliebigen Punkten in dem Fahrzeugpfad liegen. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 ein Polynom und eine geschätzte Fahrspurbreite verwenden, um jeden Punkt des Fahrzeugpfads um die Hälfte der geschätzten Fahrspurbreite plus einen vorbestimmten Versatz (z. B. einen intelligenten Fahrspurversatz) zu versetzen.
-
Bei Schritt 572 kann die Verarbeitungseinheit 110 den bei Schritt 570 konstruierten Fahrzeugpfad aktualisieren. Die Verarbeitungseinheit 110 kann den bei Schritt 570 konstruierten Fahrzeugpfad unter Verwendung einer höheren Auflösung rekonstruieren, so dass der Abstand dk zwischen zwei Punkten in dem Satz von Punkten, der den Fahrzeugpfad darstellt, kleiner ist als der oben beschriebene Abstand di. Beispielsweise kann der Abstand dk in den Bereich von 0,1 bis 0,3 Meter fallen. Die Verarbeitungseinheit 110 kann den Fahrzeugpfad unter Verwendung eines parabolischen Spline-Algorithmus rekonstruieren, der einen kumulativen Abstandsvektor S entsprechend der Gesamtlänge des Fahrzeugpfads ergeben kann (d. h., basierend auf dem Satz von Punkten, die den Fahrzeugpfad darstellen).
-
Bei Schritt 574 kann die Verarbeitungseinheit 110 einen Vorausschaupunkt (ausgedrückt in Koordinaten als (xl, zl)) basierend auf dem aktualisierten Fahrzeugpfad bestimmen, der bei Schritt 572 konstruiert wurde. Die Verarbeitungseinheit 110 kann den Vorausschaupunkt aus dem kumulativen Abstandsvektor S extrahieren, und der Vorausschaupunkt kann einem Vorausschauabstand und einer Vorausschauzeit zugeordnet sein. Der Vorausschauabstand, der eine untere Grenze im Bereich von 10 bis 20 Metern haben kann, kann als Produkt aus der Geschwindigkeit des Fahrzeugs 200 und der Vorausschauzeit berechnet werden. Wenn beispielsweise die Geschwindigkeit des Fahrzeugs 200 abnimmt, kann der Vorausschauabstand ebenfalls abnehmen (z. B., bis die untere Grenze erreicht ist). Die Vorausschauzeit, die im Bereich von 0,5 bis 1,5 Sekunden liegen kann, kann umgekehrt proportional zu der Verstärkung eines oder mehrerer Regelkreise sein, die dem Bewirken einer Navigationsreaktion in dem Fahrzeug 200 zugeordnet sind, wie beispielsweise dem Kursfehlerverfolgungsregelkreis. Beispielsweise kann die Verstärkung des Kursfehlerverfolgungsregelkreises von der Bandbreite einer Gierratenschleife, einer Lenkaktuatorschleife, der Dynamik des Fahrzeugs in Querrichtung, und dergleichen, abhängig sein. Je höher also die Verstärkung des Kursfehlerverfolgungsregelkreises ist, desto geringer ist die Vorausschauzeit.
-
Bei Schritt 576 kann die Verarbeitungseinheit 110 einen Kursfehler und einen Gierratenbefehl basierend auf dem bei Schritt 574 bestimmten Vorausschaupunkt bestimmen. Die Prozessoreinheit 110 kann den Kursfehler durch Berechnen des Arkustangens des Vorausblickpunkts bestimmen, z. B. arctan (xl /zl). Die Verarbeitungseinheit 110 kann den Gierratenbefehl als das Produkt des Kursfehlers und einer High-Level-Steuerungsverstärkung bestimmen. Die High-Level-Steuerungsverstärkung kann gleich sein zu: (2 / Vorausschauzeit), wenn der Vorausschauabstand nicht bei der unteren Grenze liegt. Andernfalls kann die High-Level-Steuerungsverstärkung gleich sein zu: (2 * Geschwindigkeit des Fahrzeugs 200 / Vorausschauabstand).
-
5F ist ein Flussdiagramm, das einen beispielhaften Prozess 500F zum Bestimmen, ob ein vorausfahrendes Fahrzeug die Spur wechselt, zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen. Bei Schritt 580 kann die Verarbeitungseinheit 110 Navigationsinformationen bestimmen, die einem vorausfahrenden Fahrzeug zugeordnet sind (z. B. einem Fahrzeug, das vor dem Fahrzeug 200 fährt). Beispielsweise kann die Verarbeitungseinheit 110 die Position, Geschwindigkeit (z. B. Richtung und Fahrzeuggeschwindigkeit) und/oder Beschleunigung des vorausfahrenden Fahrzeugs unter Verwendung der oben in Verbindung mit den 5A und 5B beschriebenen Techniken bestimmen. Die Verarbeitungseinheit 110 kann unter Verwendung der Techniken, die oben in Verbindung mit 5E beschrieben werden, auch eines oder mehrere Straßenpolynome, einen Vorausschaupunkt (der dem Fahrzeug 200 zugeordnet ist) und/oder eine Schneckenspur (z. B. einen Satz von Punkten, der einen von dem vorausfahrenden Fahrzeug genommenen Pfad beschreibt) bestimmen.
-
In Schritt 582 kann die Verarbeitungseinheit 110 die in Schritt 580 bestimmten Navigationsinformationen analysieren. In einer Ausführungsform kann die Verarbeitungseinheit 110 den Abstand zwischen einem Schneckenpfad und einem Straßenpolynom (z. B. entlang der Spur) berechnen. Wenn die Varianz dieser Strecke entlang des Pfads einen vorbestimmten Schwellenwert überschreitet (beispielsweise 0,1 bis 0,2 Meter auf einer geraden Straße, 0,3 bis 0,4 Meter auf einer mäßig kurvigen Straße, und 0,5 bis 0,6 Meter auf einer Straße mit scharfen Kurven), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Spur ändert. In dem Fall, in dem mehrere Fahrzeuge erkannt werden, die vor dem Fahrzeug 200 fahren, kann die Verarbeitungseinheit 110 die jedem Fahrzeug zugeordneten Schneckenspuren vergleichen. Basierend auf dem Vergleich kann die Verarbeitungseinheit 110 bestimmen, dass ein Fahrzeug, dessen Schneckenspur nicht mit den Schneckenspuren der anderen Fahrzeuge übereinstimmt, wahrscheinlich die Spur ändert. Die Verarbeitungseinheit 110 kann zusätzlich die Krümmung der Schneckenspur (die dem vorausfahrenden Fahrzeug zugeordnet ist) mit der erwarteten Krümmung des Straßenabschnitts vergleichen, auf dem das vorausfahrende Fahrzeug fährt. Die erwartete Krümmung kann aus Kartendaten (z. B. Daten aus der Kartendatenbank 160), aus Straßenpolynomen, aus Schneckenspuren anderer Fahrzeuge, aus Vorwissen über die Straße und dergleichen extrahiert werden. Wenn die Krümmungsdifferenz der Schneckenspur und der erwarteten Krümmung des Straßenabschnitts einen vorbestimmten Schwellenwert überschreitet, kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Spur ändert.
-
In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die momentane Position des vorausfahrenden Fahrzeugs mit dem (dem Fahrzeug 200 zugeordneten) Vorausschaupunkt über einen bestimmten Zeitraum (z. B. 0,5 bis 1,5 Sekunden) vergleichen. Wenn sich der Abstand zwischen der momentanen Position des vorausfahrenden Fahrzeugs und dem Vorausschaupunkt während des bestimmten Zeitraums ändert und die kumulative Summe der Abweichung einen vorbestimmten Schwellenwert überschreitet (z. B. 0,3 bis 0,4 Meter auf einer geraden Straße, 0,7 bis 0,8 Meter auf einer mäßig kurvigen Straße, und 1,3 bis 1,7 Meter auf einer Straße mit scharfen Kurven), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Spur ändert. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Geometrie der Schneckenspur analysieren, indem sie den entlang der Spur zurückgelegten Querabstand mit der erwarteten Krümmung der Schneckenspur vergleicht. Der erwartete Krümmungsradius kann gemäß der Berechnung bestimmt werden: (δz 2 + δx 2) / 2 / (δx), wobei δx den zurückgelegte Querabstand und δz den zurückgelegten Längsabstand darstellt. Wenn der Unterschied zwischen dem zurückgelegten Querabstand und der erwarteten Krümmung einen vorbestimmten Schwellenwert (z. B. 500 bis 700 Meter) überschreitet, kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Spur ändert. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Position des vorausfahrenden Fahrzeugs analysieren. Wenn die Position des vorausfahrenden Fahrzeugs ein Straßenpolynom verdeckt (z. B. das vorausfahrende Fahrzeug über das Straßenpolynom gelegt wird), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Spur ändert. In dem Fall, in dem die Position des vorausfahrenden Fahrzeugs derart ist, dass ein anderes Fahrzeug vor dem vorausfahrenden Fahrzeug erkannt wird und die Schneckenspuren der zwei Fahrzeuge nicht parallel sind, kann die Verarbeitungseinheit 110 bestimmen, dass das (näher) vorausfahrende Fahrzeug wahrscheinlich die Fahrspuren ändert.
-
Bei Schritt 584 kann die Verarbeitungseinheit 110 basierend auf der bei Schritt 582 durchgeführten Analyse bestimmen, ob das vorausfahrende Fahrzeug 200 die Spur ändert oder nicht. Beispielsweise kann die Verarbeitungseinheit 110 bei Schritt 582 die Bestimmung basierend auf einem gewichteten Durchschnitt der einzelnen durchgeführten Analysen vornehmen. Unter einem solchen Schema kann beispielsweise einer Entscheidung durch die Verarbeitungseinheit 110, dass das vorausfahrende Fahrzeug wahrscheinlich die Spur ändert, basierend auf einer bestimmten Art von Analyse ein Wert von „1“ zugewiesen werden (und „0“ zur Darstellung einer Bestimmung, dass das vorausfahrende Fahrzeug wahrscheinlich nicht die Fahrspur ändert). Unterschiedlichen Analysen, die in Schritt 582 durchgeführt werden, können unterschiedlichen Gewichtungen zugewiesen werden, und die offenbarten Ausführungsformen sind nicht auf irgendeine bestimmte Kombination von Analysen und Gewichtungen beschränkt. Darüber hinaus kann die Analyse in einigen Ausführungsformen ein trainiertes System (z. B. ein maschinelles Lern- oder Deep-Learning-System) verwenden, das beispielsweise einen zukünftigen Pfad vor einem aktuellen Ort eines Fahrzeugs basierend auf einem an dem aktuellen Ort aufgenommen Bildes schätzen kann.
-
6 ist ein Flussdiagramm, das einen beispielhaften Prozess 600 zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf einer Stereobildanalyse zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Bei Schritt 610 kann die Verarbeitungseinheit 110 eine erste und eine zweite Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. Beispielsweise können Kameras, die in der Bilderfassungseinheit 120 enthalten sind (wie etwa die Bildaufnahmevorrichtungen 122 und 124 mit Sichtfeldern 202 und 204), eine erste und eine zweite Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 aufnehmen, und über eine digitale Verbindung (z. B. USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 senden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die erste und die zweite Vielzahl von Bildern über zwei oder mehr Datenschnittstellen empfangen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenkonfigurationen oder -protokolle beschränkt.
-
Bei Schritt 620 kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um eine Stereobildanalyse der ersten und zweiten Vielzahl von Bildern durchzuführen, um eine 3D-Karte der Straße vor dem Fahrzeug zu erstellen und Merkmale in den Bildern zu erkennen, wie etwa Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Ampeln, Stra-ßenhindernisse und dergleichen. Die Stereobildanalyse kann auf ähnliche Weise wie die oben in Verbindung mit den 5A-5D beschriebenen Schritte durchgeführt werden. Beispielsweise kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um Kandidatenobjekte (z. B. Fahrzeuge, Fußgänger, Straßenmarkierungen, Verkehrsampeln, Straßenhindernisse usw.) innerhalb der ersten und zweiten Vielzahl von Bildern zu erkennen, und eine Teilmenge der Kandidatenobjekte basierend auf verschiedenen Kriterien herauszufiltern, und eine Mehrbildanalyse durchführen, Messungen erstellen, und ein Konfidenzniveau für die verbleibenden Kandidatenobjekte bestimmen. Bei der Durchführung der obigen Schritte kann die Verarbeitungseinheit 110 Informationen von sowohl der ersten als auch der zweiten Vielzahl von Bildern berücksichtigen, anstatt Informationen von einem Satz von Bildern allein. Beispielsweise kann die Verarbeitungseinheit 110 die Unterschiede in Daten auf Pixelebene (oder anderen Datenteilmengen aus den zwei Strömen aufgenommener) für ein Kandidatenobjekt analysieren, das sowohl in der ersten als auch in der zweiten Vielzahl von Bildern erscheint. Als weiteres Beispiel kann die Verarbeitungseinheit 110 eine Position und/oder Geschwindigkeit eines Kandidatenobjekts (z. B. bezüglich des Fahrzeugs 200) schätzen, indem sie beobachtet, dass das Objekt in einer der Vielzahl von Bildern erscheint, aber nicht in der anderen, oder bezüglich anderer Unterschiede, die relativ zu Objekten existieren können, die in den zwei Bildströmen erscheinen. Beispielsweise können Position, Geschwindigkeit und/oder Beschleunigung relativ zu dem Fahrzeug 200 basierend auf Trajektorien, Positionen, Bewegungseigenschaften usw. von Merkmalen, die einem Objekt zugeordnet sind, das in einem oder beiden der Bildströme erscheint, bestimmt werden.
-
Bei Schritt 630 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um basierend auf der bei Schritt 620 durchgeführten Analyse und den oben in Verbindung mit 4 beschriebenen Techniken eine oder mehrere Navigationsreaktionen in dem Fahrzeug 200 zu veranlassen. Navigationsreaktionen können beispielsweise Abbiegen, eine Spuränderung, eine Beschleunigungsänderung, eine Geschwindigkeitsänderung, ein Bremsen und dergleichen aufweisen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die von der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, um die eine oder die mehreren Navigationsreaktionen zu veranlassen. Außerdem können mehrere Navigationsreaktionen gleichzeitig, nacheinander oder in einer beliebigen Kombination davon auftreten.
-
7 ist ein Flussdiagramm, das einen beispielhaften Prozess 700 zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Bei Schritt 710 kann die Verarbeitungseinheit 110 eine erste, zweite und dritte Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. Beispielsweise können Kameras, die in der Bilderfassungseinheit 120 enthalten sind (wie etwa die Bildaufnahmevorrichtungen 122, 124 und 126 mit Sichtfeldern 202, 204 und 206) eine erste, zweite und dritte Vielzahl von Bildern eines Bereichs vor und/oder in seitlich des Fahrzeugs 200 aufnehmen und über eine digitale Verbindung (z. B. USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 senden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die erste, zweite und dritte Vielzahl von Bildern über drei oder mehr Datenschnittstellen empfangen. Beispielsweise kann jede der Bildaufnahmevorrichtungen 122, 124, 126 eine zugeordnete Datenschnittstelle zum Kommunizieren von Daten an die Verarbeitungseinheit 110 aufweisen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenkonfigurationen oder -protokolle beschränkt.
-
Bei Schritt 720 kann die Verarbeitungseinheit 110 die erste, zweite und dritte Vielzahl von Bildern analysieren, um Merkmale in den Bildern, wie etwa Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, Straßenhindernisse, und dergleichen, zu erkennen. Die Analyse kann auf ähnliche Weise wie die oben in Verbindung mit den 5A-5D und 6 beschriebenen Schritte durchgeführt werden. Beispielsweise kann die Verarbeitungseinheit 110 eine monokulare Bildanalyse (z. B. über die Ausführung des monokularen Bildanalysemoduls 402 und basierend auf den oben in Verbindung mit den 5A-5D beschriebenen Schritten) an jeder der ersten, zweiten und dritten Vielzahl von Bildern durchführen. Alternativ kann die Verarbeitungseinheit 110 eine Stereobildanalyse (z. B. über die Ausführung des Stereobildanalysemoduls 404 und basierend auf den oben in Verbindung mit 6 beschriebenen Schritten) an der ersten und zweiten Vielzahl von Bildern, der zweiten und dritten Vielzahl von Bildern und/oder der ersten und dritten Vielzahl von Bildern durchführen. Die verarbeiteten Informationen, die der Analyse der ersten, zweiten und/oder dritten Vielzahl von Bildem entsprechen, können kombiniert werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Kombination aus monokularen und Stereobildanalysen durchführen. Beispielsweise kann die Verarbeitungseinheit 110 eine monokulare Bildanalyse (z. B. durch Ausführung des monokularen Bildanalysemoduls 402) an der ersten Vielzahl von Bildern und eine Stereobildanalyse (z. B. durch Ausführung des Stereobildanalysemoduls 404) an der zweiten und dritten Vielzahl von Bildern durchführen. Die Konfiguration der Bildaufnahmevorrichtungen 122, 124 und 126 - einschließlich ihrer jeweiligen Positionen und Sichtfelder 202, 204 und 206 - kann die Arten von Analysen beeinflussen, die an der ersten, zweiten und dritten Vielzahl von Bildern durchgeführt werden. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration der Bildaufnahmevorrichtungen 122, 124 und 126 oder die Arten von Analysen, die an der ersten, zweiten und dritten Vielzahl von Bildern durchgeführt werden, beschränkt.
-
In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Tests am System 100 basierend auf den in den Schritten 710 und 720 erfassten und analysierten Bildern durchführen. Solche Tests können einen Indikator für die Gesamtleistung des Systems 100 für bestimmte Konfigurationen von Bildaufnahmevorrichtungen 122, 124 und 126 liefern. Beispielsweise kann die Verarbeitungseinheit 110 den Anteil von „falschen Treffern“ (z. B. Fällen, in denen das System 100 das Vorhandensein eines Fahrzeugs oder Fußgängers falsch bestimmt hat) und „Übersehenen“ bestimmen.
-
Bei Schritt 730 kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf Informationen veranlassen, die von zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet werden. Die Auswahl von zwei der ersten, zweiten und dritten Vielzahl von Bildern kann von verschiedenen Faktoren abhängen, wie beispielsweise der Anzahl, Art und Größe von Objekten, die in jedem der Vielzahl von Bildern erkannt werden. Die Verarbeitungseinheit 110 kann die Auswahl auch basierend auf der Bildqualität und -auflösung, dem effektiven Sichtfeld, das in den Bildern widergespiegelt wird, der Anzahl der aufgenommenen Bildframes, dem Ausmaß, in dem eines oder mehrere interessierende Objekte tatsächlich in den Bildframes erscheinen (z. B. dem Prozentsatz der Frames, in denen ein Objekt erscheint, dem Anteil des Objekts, der in jedem solchen Frame erscheint, usw.), und dergleichen, vornehmen.
-
In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen auswählen, die von zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet sind, indem sie das Ausmaß bestimmt, in dem von einer Bildquelle abgeleitete Informationen mit von anderen Bildquellen abgeleiteten Informationen übereinstimmen bzw. konsistent sind. Beispielsweise kann die Verarbeitungseinheit 110 die verarbeiteten Informationen kombinieren, die von jeder der Bildaufnahmevorrichtungen 122, 124 und 126 abgeleitet werden (ob durch monokulare Analyse, Stereoanalyse, oder eine beliebige Kombination der beiden), und visuelle Indikatoren (z. B. Fahrspurmarkierungen, ein erkanntes Fahrzeug und seinen Ort und/oder Pfad, eine erkannte Verkehrsampel usw.) bestimmen, die über die von jeder der Bildaufnahmevorrichtungen 122, 124 und 126 aufgenommenen Bilder hinweg konsistent sind. Die Verarbeitungseinheit 110 kann auch Informationen ausschließen, die über die aufgenommen Bilder hinweg inkonsistent sind (z. B. ein Fahrzeug, das die Fahrspur ändert, ein Fahrspurmodell, das ein Fahrzeug anzeigt, das dem Fahrzeug 200 zu nahe ist, usw.). Somit kann die Verarbeitungseinheit 110 Informationen, die von zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet sind, basierend auf den Bestimmungen konsistenter und inkonsistenter Informationen auswählen.
-
Navigationsreaktionen können beispielsweise Abbiegen, eine Spuränderung, eine Beschleunigungsänderung und dergleichen aufweisen. Die Verarbeitungseinheit 110 kann die eine oder die mehreren Navigationsreaktionen basierend auf der in Schritt 720 durchgeführten Analyse und den oben in Verbindung mit 4 beschriebenen Techniken veranlassen. Die Verarbeitungseinheit 110 kann auch Daten verwenden, die von der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, um die eine oder die mehreren Navigationsreaktionen zu veranlassen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die eine oder die mehreren Navigationsreaktionen basierend auf einer relativen Position, relativen Geschwindigkeit und/oder relativen Beschleunigung zwischen dem Fahrzeug 200 und einem in einem der ersten, zweiten und dritten Vielzahl von Bildern erkannten Objekt veranlassen. Mehrere Navigationsreaktionen können gleichzeitig, nacheinander oder in einer beliebigen Kombination davon auftreten.
-
Verstärkungslernen und trainierte Navigationssysteme
-
Die folgenden Abschnitte diskutieren autonomes Fahren zusammen mit Systemen und Verfahren zum Erzielen einer autonomen Steuerung eines Fahrzeugs, unabhängig davon, ob diese Steuerung vollständig autonom (ein selbstfahrendes Fahrzeug) oder teilweise autonom (z. B. eines oder mehrere Fahrerassistenzsysteme oder -funktionen) ist. Wie in 8 gezeigt wird, kann die autonome Fahraufgabe in drei Hauptmodule unterteilt werden, die ein Sensormoduls 801, ein Fahrrichtlinienmodul 803 und ein Steuermodul 805 aufweisen. In einigen Ausführungsformen können die Module 801, 803 und 805 in der Speichereinheit 140 und/oder der Speichereinheit 150 des Systems 100 gespeichert sein, oder die Module 801, 803 und 805 (oder Teile davon) können entfernt von dem System 100 gespeichert sein (z. B. auf einem Server gespeichert sein, auf den das System 100 beispielsweise über den drahtloser Transceiver 172 zugreifen kann). Darüber hinaus kann jedes der hier offenbarten Module (z. B. die Module 801, 803 und 805) Techniken implementieren, die mit einem trainierten System (wie z. B. einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem untrainierten System verbunden sind.
-
Das Sensormodul 801, das unter Verwendung der Verarbeitungseinheit 110 implementiert sein kann, kann verschiedene Aufgaben in Bezug auf das Erfassen eines Navigationszustands in einer Umgebung eines Host-Fahrzeugs handhaben. Solche Aufgaben können auf Eingaben von verschiedenen Sensoren und Sensorsystemen beruhen, die dem Host-Fahrzeug zugeordnet sind. Diese Eingaben können Bilder oder Bildströme von einer oder mehreren Bordkameras, GPS-Positionsinformationen, Beschleunigungsmesserausgaben, Benutzerfeedback oder Benutzereingaben in eine oder mehrere Benutzerschnittstellenvorrichtungen, Radar, Lidar usw. aufweisen. Eine Erfassung, die Daten von Kameras und/oder beliebigen anderen verfügbaren Sensoren aufweisen kann, kann zusammen mit Karteninformationen gesammelt, analysiert und in einen „erfassten Zustand“ formuliert werden, der Informationen beschreibt, die aus einer Szene in der Umgebung des Host-Fahrzeugs extrahiert wurden. Der erfasste Zustand kann erfasste Informationen in Bezug auf Zielfahrzeuge, Fahrspurmarkierungen, Fußgänger, Ampeln, Straßengeometrie, Fahrspurform, Hindernisse, Abstände zu anderen Objekten/Fahrzeugen, Relativgeschwindigkeiten, Relativbeschleunigungen, unter beliebigen anderen potenziell erfassten Informationen, aufweisen. Überwachtes maschinelles Lernen kann implementiert werden, um eine Erfassungszustandsausgabe basierend auf erfassten Daten zu erzeugen, die dem Sensormodul 801 bereitgestellt werden. Die Ausgabe des Sensormoduls kann einen erfassten Navigations-„Zustand“ des Host-Fahrzeugs darstellen, der an das Fahrrichtlinienmodul 803 weitergegeben werden kann.
-
Während ein erfasster Zustand basierend auf Bilddaten entwickelt werden kann, die von einer oder mehreren Kameras oder Bildsensoren empfangen werden, die einem Host-Fahrzeug zugeordnet sind, kann ein erfasster Zustand zur Verwendung bei der Navigation unter Verwendung eines beliebigen geeigneten Sensors oder einer Kombination von Sensoren entwickelt werden. In einigen Ausführungsformen kann der erfasste Zustand ohne Vertrauen auf aufgenommene Bilddaten entwickelt werden. Tatsächlich kann jedes der hierin beschriebenen Navigationsprinzipien auf erfasste Zustände anwendbar sein, die basierend auf aufgenommenen Bilddaten entwickelt wurden, sowie auf erfasste Zustände, die unter Verwendung anderer nicht bildbasierter Sensoren entwickelt wurden. Der erfasste Zustand kann auch über Quellen außerhalb des Host-Fahrzeugs bestimmt werden. Beispielsweise kann ein erfasster Zustand vollständig oder teilweise basierend auf Informationen entwickelt werden, die von Quellen empfangen werden, die von dem Host-Fahrzeug entfernt sind (z. B. basierend auf Sensorinformationen, verarbeiteten Zustandsinformationen usw., die von anderen Fahrzeugen geteilt werden, von einem zentralen Server geteilt werden, oder aus jeder anderen Informationsquelle, die für einen Navigationszustand des Host-Fahrzeugs relevant ist.)
-
Das Fahrrichtlinienmodul 803, das unten ausführlicher diskutiert wird und das unter Verwendung der Verarbeitungseinheit 110 implementiert werden kann, kann eine gewünschte Fahrrichtlinie implementieren, um über eine oder mehrere Navigationsaktionen zu entscheiden, die das Host-Fahrzeug als Reaktion auf den erfassten Navigationszustand tätigen soll. Wenn keine anderen Agierende (z. B. Zielfahrzeuge oder Fußgänger) in der Umgebung des Host-Fahrzeugs existieren, kann die erfasste Zustandseingabe in das Fahrrichtlinienmodul 803 auf relativ einfache Weise gehandhabt werden. Die Aufgabe wird komplexer, wenn der erfasste Zustand eine Verhandlung mit einem oder mehreren anderen Agierenden erfordert. Die Technologie, die verwendet wird, um die Ausgabe des Fahrrichtlinienmoduls 803 zu erzeugen, kann Verstärkungslernen aufweisen (weiter unten ausführlicher diskutiert). Die Ausgabe des Fahrrichtlinienmoduls 803 kann mindestens eine Navigationsaktion für das Host-Fahrzeug aufweisen und kann eine gewünschte Beschleunigung (die in eine aktualisierte Geschwindigkeit für das Host-Fahrzeug übersetzt werden kann), eine gewünschte Gierrate für das Host-Fahrzeug, und eine gewünschte Trajektorie aufweisen, neben anderen potenziellen erwünschten Navigationsaktionen.
-
Basierend auf der Ausgabe des Fahrrichtlinienmoduls 803 kann das Steuermodul 805, das auch unter Verwendung der Verarbeitungseinheit 110 implementiert sein kann, Steueranweisungen für einen oder mehrere Aktuatoren oder gesteuerte Vorrichtungen entwickeln, die dem Host-Fahrzeug zugeordnet sind. Solche Aktuatoren und Vorrichtungen können ein Gaspedal, eine oder mehrere Lenksteuerungen, eine Bremse, einen Signalsender, eine Anzeige oder einen beliebigen anderen Aktuator oder eine beliebige andere Vorrichtung, die als Teil einer Navigationsoperation gesteuert werden kann, die einem Host-Fahrzeug zugeordnet ist, aufweisen. Aspekte der Steuertheorie können verwendet werden, um die Ausgabe des Steuermoduls 805 zu erzeugen. Das Steuermodul 805 kann für das Entwickeln und Ausgeben von Anweisungen an steuerbare Komponenten des Host-Fahrzeugs verantwortlich sein, um die gewünschten Navigationsziele oder Anforderungen des Fahrrichtlinienmoduls 803 zu implementieren.
-
Um auf das Fahrrichtlinienmodul 803 zurückzukommen, kann in einigen Ausführungsformen ein trainiertes System, das durch Verstärkungs lernen trainiert wurde, verwendet werden, um das Fahrrichtlinienmodul 803 zu implementieren. In anderen Ausführungsformen kann das Fahrrichtlinienmodul 803 ohne einen maschinellen Lemansatz implementiert werden, indem spezifizierte Algorithmen verwendet werden, um die verschiedenen Szenarien „manuell“ anzugehen. Ein solcher Ansatz kann jedoch, obwohl er praktikabel ist, zu einer Fahrrichtlinie führen, die zu einfach ist und der möglicherweise die Flexibilität eines basierend auf maschinellem Lernen trainierten Systems fehlt. Ein trainiertes System kann beispielsweise besser dafür gerüstet sein, komplexe Navigationszustände zu handhaben, und kann besser bestimmen, ob ein Taxi parkt oder anhält, um einen Fahrgast abzuholen oder abzusetzen; zu bestimmen, ob ein Fußgänger beabsichtigt, die Straße vor dem Host-Fahrzeug zu überqueren; unerwartetes Verhalten anderer Fahrer mit Abwehrhaltung ausgleichen; in dichtem Verkehr mit Zielfahrzeugen und/oder Fußgängern verhandeln; entscheiden, wann bestimmte Navigationsregeln ausgesetzt oder andere Regeln erweitert werden; unvorhergesehene, aber erwartete Bedingungen antizipieren (z. B. ob ein Fußgänger hinter einem Auto oder einem Hindernis hervorkommen wird); usw. Ein trainiertes System, das auf Verstärkungslernen basiert, kann auch besser dafür gerüstet sein, einen kontinuierlichen und hochdimensionalen Zustandsraum zusammen mit einem kontinuierlichen Aktionsraum zu adressieren.
-
Das Training des Systems unter Verwendung von Verstärkungslernen kann das Lernen einer Fahrrichtlinie aufweisen, um von erfassten Zuständen Navigationsaktionen abzubilden. Eine Fahrrichtlinie ist eine Funktion π : S → A, wobei S ein Satz von Zuständen und A ⊂ ℝ2 der Aktionsraum ist (z. B. gewünschte Geschwindigkeit, Beschleunigung, Gierbefehle, usw.). Der Zustandsraum ist S = Ss × Sp, wobei Ss der Erfassungszustand und Sp zusätzliche Informationen zum Zustand, die von der Richtlinie gespeichert werden, sind. Beim Arbeiten in diskreten Zeitintervallen kann zum Zeitpunkt t kann der aktuelle Zustand |st ∈ S| beobachtet werden, und die Richtlinie kann angewendet werden, um eine gewünschte Aktion at = π(st) zu erhalten,.
-
Das System kann trainiert werden, indem es verschiedenen Navigationszuständen ausgesetzt wird, wobei das System die Richtlinie anwendet und eine Belohnung bereitstellt (basierend auf einer Belohnungsfunktion, die dazu ausgelegt ist, wünschenswertes Navigationsverhalten zu belohnen). Basierend auf dem Belohnungsfeedback kann das System die Richtlinie „lernen“, und wird darin trainiert, wünschenswerte Navigationsaktionen zu erzeugen. Beispielsweise kann das lernende System den aktuellen Zustand s
t ∈ S beobachten und basierend auf einer Richtlinie
über eine Aktion a
t ∈ A entscheiden. Basierend auf der entschiedenen Aktion (und der Implementierung der Aktion) bewegt sich die Umgebung zu dem nächsten Zustand s
t+1 ∈ S zur Beobachtung durch das lernende System. Für jede Aktion, die als Reaktion auf den beobachteten Zustand entwickelt wird, ist die Rückmeldung an das Lernsystem ein Belohnungssignal r
1, r
2, ... .
-
Das Ziel von Verstärkungslemen (RL) ist es, eine Richtlinie π zu finden. Üblicherweise wird angenommen, dass es zum Zeitpunkt t eine Belohnungsfunktion r
t gibt, die die momentane Qualität misst, in dem Zustand s
t zu sein und eine Aktion a
t zu vorzunehmen. Das Tätigen der Aktion a
t zum Zeitpunkt t wirkt sich jedoch auf die Umgebung aus und beeinflusst daher den Wert der zukünftigen Zustände. Daher sollten bei der Entscheidung über die zu tätigenden Aktionen nicht nur die aktuelle Belohnung, sondern auch zukünftige Belohnungen berücksichtigt werden. In einigen Fällen sollte das System eine bestimmte Aktion ausführen, obwohl sie mit einer niedrigeren Belohnung als einer anderen verfügbaren Option verbunden ist, wenn das System bestimmt, dass in Zukunft eine größere Belohnung realisiert werden kann, wenn jetzt die niedrigere Belohnungsoption gewählt wird. Um dies zu formalisieren, beachte, dass eine Richtlinie, π, und ein Anfangszustand, s, eine Verteilung über ℝ
T induzieren, wobei die Wahrscheinlichkeit eines Vektors (r
1, ... , r
T) die Wahrscheinlichkeit ist, die Belohnungen r
1, ... , r
T zu beobachten, wenn der Agierende im Zustand s
0 = s startet und von da an der Richtlinie π folgt. Der Wert des Anfangszustands s kann definiert werden als:
-
Anstatt den Zeithorizont auf T zu beschränken, können die zukünftigen Belohnungen diskontiert werden, um für einige festgelegte y∈ (0.1) zu definieren:
-
In jedem Fall ist die optimale Richtlinie die Lösung von
wo die Erwartung über dem Anfangszustand, s, liegt.
-
Es gibt mehrere mögliche Methoden zum Trainieren des Fahrrichtliniensystems. Beispielsweise kann ein Nachahmungsansatz (z. B. Verhaltensklonen) verwendet werden, bei dem das System von Zustands-/Aktionspaaren lernt, wobei die Aktionen diejenigen sind, die von einem guten Agierenden (z. B. einem Menschen) als Reaktion auf einen bestimmten beobachteten Zustand ausgewählt würden. Angenommen, ein menschlicher Fahrer wird beobachtet. Durch diese Beobachtung konnten viele Beispiele der Form (st, at), wobei st der Zustand und at die Aktion des menschlichen Fahrers ist, erhalten, beobachtet und als Basis für das Training des Fahrrichtliniensystems verwendet werden. Beispielsweise kann überwachtes Lernen verwendet werden, um eine Richtlinie π zu lernen, so dass π(st) ≈ at. Es gibt viele potenzielle Vorteile dieses Ansatzes. Erstens ist es nicht erforderlich, eine Belohnungsfunktion zu definieren. Zweitens wird das Lernen überwacht und findet offline statt (es besteht keine Notwendigkeit, den Agierenden im Lernprozess anzuwenden). Ein Nachteil dieses Verfahrens besteht darin, dass verschiedene menschliche Fahrer, und sogar dieselben menschlichen Fahrer, in ihren Richtlinienentscheidungen nicht deterministisch sind. Daher ist das Lernen einer Funktion, für die ||π(st)- at|| sehr klein ist, oft nicht machbar. Und selbst kleine Fehler können sich im Laufe der Zeit akkumulieren, um große Fehler zu ergeben.
-
Eine andere Technik, die eingesetzt werden kann, ist richtlinienbasiertes Lernen. Hier kann die Richtlinie in parametrischer Form ausgedrückt und unter Verwendung einer geeigneten Optimierungstechnik (z. B. stochastischer Gradientenabstieg) direkt optimiert werden. Der Ansatz besteht darin, das angegebene Problem
direkt zu lösen. Es gibt natürlich viele Möglichkeiten, das Problem zu lösen. Ein Vorteil dieses Ansatzes ist, dass er das Problem direkt angeht und daher oft zu guten praktischen Ergebnissen führt. Ein möglicher Nachteil besteht darin, dass es oft ein Training „auf Richtlinie“ erfordert, das Lernen von π nämlich ein iterativer Prozess ist, bei dem wir bei einer Iteration j eine nicht perfekte Richtlinie, π
j, haben, und um die nächste Richtlinie, π
j, zu konstruieren, müssen wir mit der Umgebung interagieren, während basierend auf π
j gehandelt wird.
-
Das System kann auch durch wertbasiertes Lernen (Lernen von Q- oder V-Funktionen) trainiert werden. Angenommen, eine gute Approximation der Optimalwertfunktion V* kann erlernt werden. Eine optimale Richtlinie kann konstruiert werden (z. B. indem man sich auf die Bellman-Gleichung verlässt). Einige Versionen des wertebasierten Lernens können offline implementiert werden (als „Off-Richtlinie“-Training bezeichnet). Einige Nachteile des wertbasierten Ansatzes können sich aus seiner starken Abhängigkeit von Markovschen Annahmen und der erforderlichen Approximation einer komplizierten Funktion ergeben (es kann schwieriger sein, die Wertfunktion zu approximieren als die Richtlinie direkt zu approximieren).
-
Eine andere Technik kann modellbasiertes Lernen und Planen aufweisen (Lernen der Wahrscheinlichkeit von Zustandsübergängen und Lösen des Optimierungsproblems zum Finden des optimalen V). Kombinationen dieser Techniken können auch verwendet werden, um das Lernsystem zu trainieren. Bei diesem Ansatz kann die Dynamik des Prozesses gelernt werden, nämlich die Funktion, die (st, at) annimmt und eine Verteilung über den nächsten Zustand st+1 ergibt. Sobald diese Funktion gelernt ist, kann das Optimierungsproblem gelöst werden, um die Richtlinie π zu finden, deren Wert optimal ist. Das nennt man „Planung“. Ein Vorteil dieses Ansatzes kann sein, dass der Lernteil überwacht wird und offline angewendet werden kann, indem Tripletts (st, at, st+1) beobachtet werden. Ein Nachteil dieses Ansatzes, ähnlich dem „Nachahmungs“-Ansatz, kann darin bestehen, dass sich kleine Fehler im Lernprozess akkumulieren und zu unzureichend funktionierenden Richtlinien führen können.
-
Ein anderer Ansatz zum Trainieren des Fahrrichtlinienmoduls 803 kann ein Zerlegen der Fahrrichtlinienfunktion in semantisch bedeutungsvolle Komponenten aufweisen. Dies ermöglicht die manuelle Implementierung von Teilen der Richtlinie, was die Sicherheit der Richtlinie gewährleisten kann, und die Implementierung anderer Teile der Richtlinie unter Verwendung von Verstärkungslemtechniken, die eine Anpassungsfähigkeit an viele Szenarien, ein menschenähnliches Gleichgewicht zwischen defensivem/aggressivem Verhalten, und eine menschenähnliche Verhandlung mit anderen Fahrern ermöglichen kann. Aus technischer Sicht kann ein Verstärkungslemansatz mehrere Methoden kombinieren und ein nachvollziehbares Trainingsverfahren bieten, bei dem der größte Teil des Trainings entweder mit aufgezeichneten Daten oder mit einem selbst konstruierten Simulator durchgeführt werden kann.
-
In einigen Ausführungsformen kann das Training des Fahrrichtlinienmoduls 803 auf einem „Options“-Mechanismus beruhen. Betrachte zur Veranschaulichung ein einfaches Szenario einer Fahrrichtlinie für eine zweispurige Autobahn. Bei einem direkten RL-Ansatz ist es eine Richtlinie π, die den Zustand in A ⊂ ℝ2 abbildet, wobei die erste Komponente von π (s) der gewünschte Beschleunigungsbefehl und die zweite Komponente von π(s) die Gierrate ist. In einem modifizierten Ansatz können die folgenden Richtlinien konstruiert werden:
-
Automatische Abstands- und Geschwindigkeitsregelungs-, ACC, Richtlinie, oACC : S → A: Diese Richtlinie gibt immer eine Gierrate von 0 aus und ändert die Geschwindigkeit nur, um ein sanftes und unfallfreies Fahren zu implementieren.
-
ACC+Links-Richtlinie, oL : S → A: Der Längsbefehl dieser Richtlinie ist derselbe wie der ACC-Befehl. Die Gierrate ist eine einfache Implementierung der Zentrierung des Fahrzeugs zur Mitte der linken Fahrspur, während eine sichere Querbewegung sichergestellt wird (z. B. nicht nach links bewegen, wenn sich auf der linken Seite ein Auto befindet).
-
ACC+Rechts-Richtlinie, oR : S → A: Dasselbe wie oL, aber das Fahrzeug kann in Richtung der Mitte der rechten Fahrspur zentriert sein.
-
Diese Richtlinien können als „Optionen“ bezeichnet werden. Unter Berufung auf diese „Optionen“ kann eine Richtlinie erlernt werden, die Optionen, πo : S → O, auswählt, wobei O der Satz verfügbarer Optionen ist. In einem Fall, O = {oACC, oL, oR}. Die Optionsselektor-Richtlinie, πo, definiert eine tatsächliche Richtlinie, π : S → A, durch Einstellen von π(s)=oπo(s)(s) für jedes s.
-
In der Praxis kann die Richtlinienfunktion in einen Optionsgraphen 901 zerlegt werden, wie in 9 gezeigt wird. Ein weiterer beispielhafter Optionsgraph 1000 ist in 10 gezeigt. Der Optionsgraph kann einen hierarchischen Satz von Entscheidungen darstellen, die als ein gerichteter azyklischer Graph (DAG) organisiert sind. Es gibt einen speziellen Knoten, der Wurzelknoten 903 des Graphen genannt wird. Dieser Knoten hat keine eingehenden Knoten. Der Entscheidungsprozess durchläuft den Graphen, beginnend mit dem Wurzelknoten, bis er einen „Blatt“-Knoten erreicht, der sich auf einen Knoten bezieht, der keine ausgehenden Entscheidungslinien hat. Wie in 9 gezeigt wird, können Blattknoten beispielsweise die Knoten 905, 907 und 909 aufweisen. Beim Auftreffen auf einen Blattknoten kann das Fahrrichtlinienmodul 803 die Beschleunigungs- und Lenkbefehle ausgeben, die einer gewünschten Navigationsaktion zugeordnet sind, die dem Blattknoten zugeordnet ist.
-
Innere Knoten, wie beispielsweise die Knoten 911, 913 und 915, können zur Implementierung einer Richtlinie führen, die ein Kind aus ihren verfügbaren Optionen auswählt. Der Satz verfügbarer Kinder eines inneren Knotens weist alle Knoten auf, die einem bestimmten inneren Knoten über Entscheidungslinien zugeordnet sind. Beispielsweise weist der in 9 als „Mischen“ bezeichnete innere Knoten 913 drei untergeordnete Knoten 909, 915 und 917 („Bleiben“, „Rechts überholen“ bzw. „Links überholen“) auf, die jeweils durch eine Entscheidungslinie mit dem Knoten 913 verbunden sind.
-
Die Flexibilität des Entscheidungsfindungssystems kann dadurch gewonnen werden, dass Knoten in die Lage versetzt werden, ihre Position in der Hierarchie des Optionsgraphen anzupassen. Beispielsweise kann es jedem der Knoten erlaubt sein, sich selbst als „kritisch“ zu deklarieren. Jeder Knoten kann eine Funktion „ist kritisch“ implementieren, die „Wahr“ ausgibt, wenn sich der Knoten in einem kritischen Abschnitt seiner Richtlinienimplementierung befindet. Beispielsweise kann sich ein Knoten, der für eine Überholen verantwortlich ist, während eines Manövers als kritisch deklarieren. Dies kann Beschränkungen auf den Satz verfügbarer Kinder eines Knotens u auferlegen, der alle Knoten v aufweisen kann, die Kinder des Knotens u sind und für die ein Pfad von v zu einem Blattknoten existiert, der durch alle als kritisch gekennzeichneten Knoten geht. Ein solcher Ansatz kann einerseits die Deklaration des gewünschten Pfads auf dem Graphen bei jedem Zeitschritt ermöglichen, während andererseits die Stabilität einer Richtlinie bewahrt werden kann, insbesondere während kritische Teile der Richtlinie implementiert werden.
-
Durch Definieren eines Optionsgraphen kann das Problem des Lernens der Fahrrichtlinie π : S → A in ein Problem des Definierens einer Richtlinie für jeden Knoten des Graphen zerlegt werden, wobei die Richtlinie innere Knoten aus verfügbaren Kindknoten auswählen sollte. Für einige der Knoten kann die jeweilige Richtlinie manuell implementiert werden (z. B. durch Algorithmen vom Wenn-Dann-Typ, die eine Reihe von Aktionen als Reaktion auf einen beobachteten Zustand spezifizieren), während für andere die Richtlinien unter Verwendung eines trainierten Systems, das durch Verstärkungslernen aufgebaut wurde, implementiert werden können. Die Wahl zwischen manuellen oder trainierten/erlernten Ansätzen kann von Sicherheitsaspekten im Zusammenhang mit der Aufgabe und ihrer relativen Einfachheit abhängig sein. Die Optionsgraphen können so konstruiert sein, dass einige der Knoten einfach zu implementieren sind, während andere Knoten auf trainierten Modellen beruhen können. Ein derartiger Ansatz kann einen sicheren Betrieb des Systems gewährleisten.
-
Die folgende Diskussion liefert weitere Details bezüglich der Rolle des Optionsdiagramms von 9 innerhalb des Fahrrichtlinienmoduls 803. Wie oben diskutiert, ist die Eingabe in das Fahrrichtlinienmodul ein „erfasster Zustand“, der die Umgebungskarte zusammenfasst, wie sie beispielsweise von verfügbaren Sensoren erhalten wird. Die Ausgabe des Fahrrichtlinienmoduls 803 ist ein Satz von Wünschen (optional zusammen mit einem Satz harter Beschränkungen), die eine Trajektorie als eine Lösung eines Optimierungsproblems definieren.
-
Wie oben beschrieben, stellt der Optionsgraph einen hierarchischen Satz von Entscheidungen dar, die als ein DAG organisiert sind. Es gibt einen speziellen Knoten, der als „Wurzel“ des Graphen bezeichnet wird. Der Wurzelknoten ist der einzige Knoten, der keine eingehenden Kanten (z. B. Entscheidungslinien) hat. Der Entscheidungsprozess durchläuft den Graphen beginnend mit dem Wurzelknoten, bis er einen „Blatt“-Knoten erreicht, nämlich einen Knoten, der keine ausgehenden Kanten hat. Jeder innere Knoten sollte eine Richtlinie implementieren, die ein Kind unter seinen verfügbaren Kindern auswählt. Jeder Blattknoten sollte eine Richtlinie implementieren, die basierend auf dem gesamten Pfad von der Wurzel bis zum Blatt einen Satz von Wünschen (z. B. einen Satz von Navigationszielen für das Host-Fahrzeug) definiert. Der Satz von Wünschen bildet zusammen mit einem Satz harter Beschränkungen, die direkt basierend auf dem erfassten Zustand definiert werden, ein Optimierungsproblem, dessen Lösung die Trajektorie für das Fahrzeug ist. Die harten Beschränkungen können verwendet werden, um die Sicherheit des Systems weiter zu erhöhen, und die Wünsche können verwendet werden, um Fahrkomfort und ein menschenähnliches Fahrverhalten des Systems bereitzustellen. Die als Lösung für das Optimierungsproblem bereitgestellte Trajektorie definiert wiederum die Befehle, die an die Lenk-, Brems- und/oder Motoraktuatoren geliefert werden sollten, um die Trajektorie zu bewerkstelligen.
-
Unter erneuter Bezugnahme auf 9 stellt der Optionsgraph 901 einen Optionsgraphen für eine zweispurige Autobahn dar, die Einfädel-Fahrspuren aufweist (was bedeutet, dass an einigen Punkten eine dritte Fahrspur entweder in die rechte oder die linke Fahrspur der Autobahn übergeht). Der Wurzelknoten 903 entscheidet zuerst, ob sich das Host-Fahrzeug in einem Szenario mit ebener Straße befindet oder sich einem Einfädelungs-Szenario nähert. Dies ist ein Beispiel für eine Entscheidung, die basierend auf dem Erfassungszustand implementiert werden kann. Der Ebene-Straße-Knoten 911 weist drei Kindknoten auf: den Bleiben-Knoten 909, den Links-Überholen-Knoten 917 und den Rechts-Überholen-Knoten 915. Bleiben bezieht sich auf eine Situation, in der das Host-Fahrzeug auf derselben Fahrspur weiterfahren möchte. Der Bleiben-Knoten ist ein Blattknoten (keine ausgehenden Kanten/Linien). Daher definiert der Bleiben-Knoten einen Satz von Wünschen. Der erste Wunsch, den er definiert, kann die gewünschte Querposition aufweisen - z. B. so nahe wie möglich an der Mitte der aktuellen Fahrspur. Es kann auch einen Wunsch geben, reibungslos zu navigieren (z. B. innerhalb vordefinierter oder zulässiger Beschleunigungsmaxima). Der Bleiben-Knoten kann auch definieren, wie das Host-Fahrzeug auf andere Fahrzeuge reagieren soll. Beispielsweise kann der Bleiben-Knoten erfasste Zielfahrzeuge überprüfen und jedem eine semantische Bedeutung zuweisen, die in Komponenten der Trajektorie übersetzt werden kann.
-
Verschiedene semantische Bedeutungen können Zielfahrzeugen in einer Umgebung des Host-Fahrzeugs zugewiesen werden. Beispielsweise kann die semantische Bedeutung in einigen Ausführungsformen eine der folgenden Bezeichnungen aufweisen: 1) nicht relevant: zeigt an, dass das erfasste Fahrzeug in der Szene derzeit nicht relevant ist; 2) nächste Fahrspur: gibt an, dass sich das erfasste Fahrzeug auf einer benachbarten Fahrspur befindet und ein angemessener Versatz relativ zu diesem Fahrzeug beibehalten werden sollte (der exakte Versatz kann in dem Optimierungsproblem berechnet werden, das die Trajektorie unter Berücksichtigung der Wünsche und harten Randbedingungen konstruiert, und kann möglicherweise fahrzeugabhängig sein - das Bleiben-Blatt des Optionsdiagramms legt den semantischen Typ des Zielfahrzeugs fest, der den Wunsch relativ zum Zielfahrzeug definiert); 3) Vorfahrt gewähren: das Host-Fahrzeug wird versuchen, dem erfassten Zielfahrzeug auszuweichen, indem es beispielsweise die Geschwindigkeit verringert (insbesondere, wenn das Host-Fahrzeug bestimmt, dass das Zielfahrzeug wahrscheinlich in die Fahrspur des Host-Fahrzeugs einschert); 4) Vorfahrt nehmen: das Host-Fahrzeug wird versuchen, sich die Vorfahrt zu nehmen, indem es beispielsweise die Geschwindigkeit erhöht; 5) Folgen: das Host-Fahrzeug möchte diesem Zielfahrzeug folgen und ein reibungsloses Fahren beibehalten; 6) Überholen links/rechts: das Host-Fahrzeug möchte einen Spurwechsel auf die linke oder rechte Spur einleiten. Der Links-Überholen-Knoten 917 und der Rechts-Überholen-Knoten 915 sind innere Knoten, die noch keine Wünsche definieren.
-
Der nächste Knoten in dem Optionsdiagramm 901 ist der Lückenauswahlknoten 919. Dieser Knoten kann dafür verantwortlich sein, eine Lücke zwischen zwei Zielfahrzeugen auf einer bestimmten Zielfahrspur auszuwählen, in die das Host-Fahrzeug einzufahren wünscht. Durch Wählen eines Knotens der Form IDj kommt das Host-Fahrzeug, für einen gewissen Wert von j, zu einem Blatt, das einen Wunsch für das Trajektorien-Optimierungs-Problem bezeichnet - z. B. möchte das Host-Fahrzeug ein Manöver durchführen, um an der ausgewählten Lücke anzukommen. Ein solches Manöver kann zunächst ein Beschleunigen/Bremsen auf der aktuellen Fahrspur und dann ein Übergehen auf die Zielfahrspur zu einem geeigneten Zeitpunkt, um in die ausgewählte Lücke einzufahren, aufweisen. Wenn der Lückenauswahlknoten 919 keine geeignete Lücke finden kann, bewegt er sich zum Abbruchknoten 921, der einen Wunsch definiert, sich zurück zur Mitte der aktuellen Fahrspur zu bewegen und das Überholen abzubrechen.
-
Um zum Einfädelknoten 913 zurückzukommen, wenn sich das Host-Fahrzeug einer Einfädelung nähert, hat es mehrere Optionen, die von einer bestimmten Situation abhängig sein können. Beispielsweise fährt das Host-Fahrzeug 1105, wie in 11A gezeigt wird, entlang einer zweispurigen Straße, ohne dass andere Zielfahrzeuge erkannt werden, weder auf den Hauptspuren der zweispurigen Straße noch auf der Einfädelspur 1111. In dieser Situation gilt: das Fahrrichtlinienmodul 803 kann beim Erreichen des Einfädelknotens 913 den Bleiben-Knoten 909 auswählen. Das heißt, es kann erwünscht sein, auf der aktuellen Fahrspur zu bleiben, wenn keine Zielfahrzeuge als auf die Fahrspur einfädelnd erfasst werden.
-
In 11B ist die Situation etwas anders. Hier erfasst das Host-Fahrzeug 1105 eines oder mehrere Zielfahrzeuge 1107, die von der Einfädelspur 1111 in die Hauptfahrspur 1112 einfahren. In dieser Situation kann es, sobald das Fahrrichtlinienmodul 803 auf den Einfädelknoten 913 trifft, wählen, ein Überholmanöver nach links einzuleiten, um diese Einfädel-Situation zu vermeiden.
-
In 11C begegnet das Host-Fahrzeug 1105 einem oder mehreren Zielfahrzeugen 1107, die von der Einfädelspur 1111 in die Hauptfahrspur 1112 einfahren. Das Host-Fahrzeug 1105 erkennt auch Zielfahrzeuge 1109, die auf einer Spur neben der Spur des Host-Fahrzeugs fahren. Das Host-Fahrzeug erkennt auch eines oder mehrere Zielfahrzeuge 1110, die auf derselben Fahrspur wie das Host-Fahrzeug 1105 fahren. In dieser Situation kann das Fahrrichtlinienmodul 803 entscheiden, die Geschwindigkeit des Host-Fahrzeugs 1105 anzupassen, um dem Zielfahrzeug 1107 auszuweichen und vor dem Zielfahrzeugs 1115 vorauszufahren. Dies kann beispielsweise erreicht werden, indem fortgefahren wird, indem der Lückenknoten 919 ausgewählt wird, der wiederum eine Lücke zwischen ID0 (Fahrzeug 1107) und ID1 (Fahrzeug 1115) als geeignete Einfädellücke auswählt. In einem solchen Fall definiert die geeignete Lücke der Einfädelungssituation das Ziel für ein Trajektorienplanungs-Optimierungsproblem.
-
Wie oben diskutiert, können Knoten des Optionsgraphen sich selbst als „kritisch“ deklarieren, was sicherstellen kann, dass die ausgewählte Option die kritischen Knoten passiert. Formal kann jeder Knoten eine Funktion IstKritisch implementieren. Nach dem Durchführen eines Vorwärtsdurchlaufs auf dem Optionsgraphen von der Wurzel zu einem Blatt und dem Lösen des Optimierungsproblems des Trajektorienplaners kann ein Rückwärtsdurchlauf von dem Blatt zurück zu der Wurzel durchgeführt werden. Entlang dieses Rückwärtsdurchlaufs kann die IstKritisch-Funktion aller Knoten im Durchlauf aufgerufen werden, und eine Liste aller kritischen Knoten kann gespeichert werden. In dem Vorwärtspfad, der dem nächsten Zeitrahmen entspricht, kann es erforderlich sein, dass das Fahrrichtlinienmodul 803 einen Pfad von dem Wurzelknoten zu einem Blatt wählt, der durch alle kritischen Knoten geht.
-
Die 11A-11C können verwendet werden, um einen potenziellen Vorteil dieses Ansatzes zu zeigen. Beispielsweise wäre es in einer Situation, in der ein Überholvorgang eingeleitet wird und das Fahrrichtlinienmodul 803 an dem Blatt ankommt, das IDk entspricht, unerwünscht, beispielsweise den Bleiben-Knoten 909 zu wählen, wenn sich das Host-Fahrzeug in der Mitte des Überholmanövers befindet. Um solche Sprünge zu vermeiden, kann sich der IDj-Knoten selbst als kritisch bezeichnen. Während des Manövers kann der Erfolg des Trajektorienplaners überwacht werden, und die Funktion IstKritisch gibt einen „Wahr“-Wert zurück, wenn das Überholmanöver wie beabsichtigt verläuft. Dieser Ansatz kann sicherstellen, dass das Überholmanöver im nächsten Zeitrahmen fortgesetzt wird (anstatt vor Abschluss des ursprünglich ausgewählten Manövers zu einem anderen, möglicherweise inkonsistenten Manöver zu springen). Wenn hingegen die Überwachung des Manövers anzeigt, dass das ausgewählte Manöver nicht wie beabsichtigt abläuft, oder wenn das Manöver unnötig oder unmöglich geworden ist, kann die Funktion IstKritisch einen „Falsch“-Wert zurückgeben. Dies kann es dem Lückenauswahlknoten ermöglichen, im nächsten Zeitrahmen eine andere Lücke auszuwählen oder das Überholmanöver insgesamt abzubrechen. Dieser Ansatz kann einerseits die Deklaration des gewünschten Pfads auf dem Optionsdiagramm bei jedem Zeitschritt ermöglichen, während er andererseits dazu beitragen kann, die Stabilität der Richtlinie in kritischen Teilen der Ausführung zu fördern.
-
Harte Beschränkungen, die unten ausführlicher diskutiert werden, können von Navigationswünschen unterschieden werden. Beispielsweise können harte Beschränkungen ein sicheres Fahren gewährleisten, indem eine zusätzliche Filterebene einer geplanten Navigationsaktion angewendet wird. Die implizierten harten Beschränkungen, die manuell programmiert und definiert werden können, anstatt durch die Verwendung eines trainierten Systems, das auf Verstärkungslernen aufbaut, können aus dem erfassten Zustand bestimmt werden. In einigen Ausführungsformen kann das trainierte System jedoch die anwendbaren harten Beschränkungen lernen, die anzuwenden und zu befolgen sind. Ein solcher Ansatz kann fördern, dass das Fahrrichtlinienmodul 803 zu einer ausgewählten Aktion gelangt, die bereits mit den anwendbaren harten Beschränkungen übereinstimmt, was ausgewählte Aktionen, die eine spätere Modifizierung erfordern können, um anwendbare harte Beschränkungen zu erfüllen, verringern oder eliminieren kann. Dennoch können als redundante Sicherheitsaktion harte Beschränkungen auf die Ausgabe des Fahrrichtlinienmoduls 803 angewendet werden, selbst wenn das Fahrrichtlinienmodul 803 darauf trainiert wurde, vorbestimmte harte Beschränkungen zu berücksichtigen.
-
Es gibt viele Beispiele möglicher harter Beschränkungen. Beispielsweise kann eine harte Beschränkung in Verbindung mit einer Leitplanke an einem Straßenrand definiert werden. In keinem Fall darf das Host-Fahrzeug durch die Leitplanke durchfahren. Eine solche Regel führt zu einer harten Querbeschränkung der Trajektorie des Host-Fahrzeugs. Ein weiteres Beispiel einer harten Beschränkung kann eine Straßenbodenwelle (z. B. eine Geschwindigkeitssteuerungsbodenwelle) aufweisen, die eine harte Beschränkung der Fahrgeschwindigkeit vor der Bodenwelle und während des Überquerens der Bodenwelle hervorrufen kann. Harte Beschränkungen können als sicherheitskritisch angesehen werden, und können daher manuell definiert werden, anstatt sich nur auf ein trainiertes System zu verlassen, das die Beschränkungen während des Trainings lernt.
-
Im Gegensatz zu harten Randbedingungen kann das Ziel von Wünschen darin bestehen, ein komfortables Fahren zu ermöglichen oder zu erreichen. Wie oben diskutiert, kann ein Beispiel eines Wunsches ein Ziel aufweisen, das Host-Fahrzeug an einer Querposition innerhalb einer Fahrspur zu positionieren, die der Mitte der Fahrspur des Host-Fahrzeugs entspricht. Ein anderer Wunsch kann die ID einer Lücke aufweisen, in die es passen soll. Beachte, dass es nicht erforderlich ist, dass sich das Host-Fahrzeug genau in der Mitte der Fahrspur befindet, sondern stattdessen der Wunsch, so nah wie möglich daran zu sein, sicherstellen kann, dass das Host-Fahrzeug dazu neigt, bei Abweichungen von der Fahrspurmitte zur die Mitte der Fahrspur zu ziehen. Wünsche sind möglicherweise nicht sicherheitskritisch. In einigen Ausführungsformen können Wünsche Verhandlungen mit anderen Fahrern und Fußgängern erfordern. Ein Ansatz zum Konstruieren der Wünsche kann sich auf den Optionsgraphen stützen, und die in mindestens einigen Knoten des Graphen implementierte Richtlinie kann auf Verstärkungslemen basieren.
-
Für die Knoten des Optionsgraphen 901 oder 1000, die als auf Lernbasis trainierte Knoten implementiert sind, kann der Trainingsprozess ein Zerlegen des Problems in eine Phase des überwachten Lernens und eine Phase des Verstärkungslernens aufweisen. In der überwachten Lernphase kann eine differenzierbare Abbildung von (st, at) auf ŝt+1 gelernt werden, so dass ŝt+1 ≈ st+1. Dies kann dem „modellbasierten“ Verstärkungslemen ähneln. In der Vorwärtsschleife des Netzwerks kann jedoch ŝt+1 durch den tatsächlichen Wert von st+1 ersetzt werden, wodurch das Problem der Fehlerakkumulation eliminiert wird. Die Rolle der Vorhersage von ŝt+1 besteht darin, Botschaften aus der Zukunft zurück zu vergangenen Aktionen zu verbreiten. In diesem Sinne kann der Algorithmus eine Kombination aus „modellbasiertem“ Verstärkungslernen mit „richtlinienbasiertem Lernen“ sein.
-
Ein wichtiges Element, das in einigen Szenarien bereitgestellt werden kann, ist ein unterscheidbarer Pfad von zukünftigen Verlusten/Belohnungen zurück zu Entscheidungen über Aktionen. Bei der Struktur des Optionsgraphen ist die Implementierung von Optionen, die Sicherheitsbeschränkungen aufweisen, normalerweise nicht differenzierbar. Um dieses Problem zu lösen, kann die Wahl eines Kindes in einem erlernten Richtlinienknoten stochastisch sein. Das heißt, ein Knoten kann einen Wahrscheinlichkeitsvektor,p, ausgeben, der Wahrscheinlichkeiten zuordnet, die beim Auswählen jedes der Kinder des bestimmten Knotens verwendet werden. Angenommen, ein Knoten hat k Kinder, und seien a
(1), ..., a
(k) die Aktionen des Pfades von jedem Kind zu einem Blatt. Die resultierende vorhergesagte Aktion ist daher
was einen differenzierbaren Pfad von der Aktion zu p zur Folge haben kann. In der Praxis kann eine Aktion α als a
(i) für i ~ p gewählt werden, und der Unterschied zwischen a und â kann als additives Rauschen bezeichnet werden.
-
Für das Training von ŝt+1 bei gegebenen st, at, kann überwachtes Lernen zusammen mit realen Daten verwendet werden. Für das Training können die Knotenrichtlinien-Simulatoren verwendet werden. Später kann die Feinabstimmung einer Richtlinie unter Verwendung echter Daten durchgeführt werden. Zwei Konzepte können die Simulation realistischer machen. Erstens kann durch Nachahmung eine anfängliche Richtlinie unter Verwendung des Paradigmas des „Verhaltensklonens“ erstellt werden, wobei große Datensätze aus der realen Welt verwendet werden. In einigen Fällen können die resultierenden Agierenden geeignet sein. In anderen Fällen bilden die resultierenden Agierende mindestens sehr gute Anfangsrichtlinien für die anderen Agierenden auf den Straßen. Zweitens kann unter Verwendung des Spiels gegen sich selbst unsere eigene Richtlinie verwendet werden, um das Training zu erweitern. Beispielsweise kann bei einer gegebenen anfänglichen Implementierung der anderen Agierenden (Autos/Fußgänger), die erfahren werden können, eine Richtlinie basierend auf einem Simulator trainiert werden. Einige der anderen Agierenden können durch die neue Richtlinie ersetzt werden, und der Vorgang kann wiederholt werden. Infolgedessen kann die Richtlinie weiter verbessert werden, da sie auf eine grö-ßere Vielfalt anderer Agierender reagieren sollte, die unterschiedliche Entwicklungsgrade aufweisen.
-
Ferner kann das System in einigen Ausführungsformen einen Ansatz mit mehreren Agierenden implementieren. Beispielsweise kann das System Daten aus verschiedenen Quellen und/oder Bildern, die aus mehreren Winkeln aufgenommen werden, berücksichtigen. Ferner können einige offenbarte Ausführungsformen eine Energieökonomie bereitstellen, da eine Vorwegnahme eines Ereignisses, das das Host-Fahrzeug nicht direkt betrifft, aber eine Auswirkung auf das Host-Fahrzeug haben kann, berücksichtigt werden kann, oder sogar eine Vorwegnahme eines Ereignisses, das zu unvorhersehbaren Umstände führen kann, an denen andere Fahrzeuge beteiligt sind, eine Berücksichtigung finden kann (z. B. kann das Radar durch das vorausfahrende Fahrzeug „durchschauen“ und ein unvermeidliches Ereignis, das das Host-Fahrzeug beeinträchtigen wird, oder sogar eine hohe Wahrscheinlichkeit davon, vorwegnehmen).
-
Trainiertes System mit auferlegten Navigationsbeschränkungen
-
Im Kontext des autonomen Fahrens besteht ein wesentliches Anliegen darin, wie sichergestellt werden kann, dass eine erlernte Richtlinie eines trainierten Navigationsnetzwerks sicher ist. In einigen Ausführungsformen kann das Fahrrichtliniensystem unter Verwendung von Beschränkungen trainiert werden, so dass die von dem trainierten System ausgewählten Aktionen bereits geltende Sicherheitsbeschränkungen berücksichtigen können. Zusätzlich kann in einigen Ausführungsformen eine zusätzliche Sicherheitsebene bereitgestellt werden, indem die ausgewählten Aktionen des trainierten Systems durch eine oder mehrere harte Beschränkungen geleitet werden, die durch eine bestimmte erfasste Szene in der Umgebung des Host-Fahrzeugs impliziert sind. Ein derartiger Ansatz kann sicherstellen, dass die von dem Host-Fahrzeug getätigten Aktionen auf diejenigen beschränkt wurden, von denen bestätigt wurde, dass sie geltende Sicherheitsbeschränkungen erfüllen.
-
Im Kern kann das Navigationssystem einen Lernalgorithmus aufweisen, der auf einer Richtlinienfunktion basiert, die einen beobachteten Zustand einer oder mehreren gewünschten Aktionen zuordnet. In einigen Implementierungen ist der Lernalgorithmus ein Deep-Learning-Algorithmus. Die gewünschten Aktionen können mindestens eine Aktion aufweisen, von der erwartet wird, dass sie eine erwartete Belohnung für ein Fahrzeug maximiert. Während in einigen Fällen die tatsächlich von dem Fahrzeug getätigte Aktion einer der gewünschten Aktionen entsprechen kann, kann die tatsächlich getätigte Aktion in anderen Fällen basierend auf dem beobachteten Zustand, einer oder mehreren gewünschten Aktionen, und nicht erlernter, harter Beschränkungen (z. B. Sicherheitsbeschränkungen), die der lernenden Navigationsmaschine auferlegt werden, bestimmt werden. Diese Beschränkungen können Fahrverbotszonen aufweisen, die verschiedene Arten von erkannten Objekten umgeben (z. B. Zielfahrzeuge, Fußgänger, stationäre Objekte am Straßenrand oder auf einer Fahrspur, sich bewegende Objekte am Straßenrand oder auf einer Fahrspur, Leitplanken, usw.). In einigen Fällen kann die Größe der Zone basierend auf einer erkannten Bewegung (z. B. Geschwindigkeit und/oder Richtung) eines erkannten Objekts variieren. Andere Beschränkungen können eine maximale Fahrgeschwindigkeit beim Passieren innerhalb einer Einflusszone eines Fußgängers, eine maximale Verzögerung (um einen Zielfahrzeugabstand hinter dem Host-Fahrzeug zu berücksichtigen), ein obligatorisches Stoppen an einem erfassten Zebrastreifen oder Bahnübergang, usw., aufweisen.
-
Harte Beschränkungen, die in Verbindung mit einem durch maschinelles Lernen trainierten System verwendet werden, können einen Grad an Sicherheit beim autonomen Fahren bieten, der einen Grad an Sicherheit übertreffen kann, der allein basierend auf der Ausgabe des trainierten Systems verfügbar ist. Beispielsweise kann das maschinelle Lernsystem unter Verwendung eines gewünschten Satzes von Beschränkungen als Trainingsrichtlinien trainiert werden, und daher kann das trainierte System eine Aktion als Reaktion auf einen erfassten Navigationszustand auswählen, der die Beschränkungen anwendbarer Navigationsbeschränkungen berücksichtigt und einhält. Das trainierte System hat jedoch immer noch eine gewisse Flexibilität bei der Auswahl von Navigationsaktionen, und daher kann es mindestens einige Situationen geben, in denen eine von dem trainierten System ausgewählte Aktion relevante Navigationsbeschränkungen nicht strikt einhalten kann. Um zu fordern, dass eine ausgewählte Aktion relevante Navigationsbeschränkungen strikt einhält, kann daher die Ausgabe des trainierten Systems unter Verwendung einer Nicht-Maschinenlernkomponente außerhalb des gelernten/trainierten Rahmenwerks, das die strikte Anwendung relevanter Navigationsbeschränkungen gewährleistet, kombiniert, verglichen, gefiltert, angepasst, modifiziert usw. werden.
-
Die folgende Diskussion liefert zusätzliche Details bezüglich des trainierten Systems und der potenziellen Vorteile (insbesondere aus der Sicherheitsperspektive), die aus der Kombination eines trainierten Systems mit einer algorithmischen Komponente außerhalb des trainierten/gelernten Rahmenwerks gewonnen werden können. Wie diskutiert, kann das Verstärkungslernziel durch die Richtlinie durch einen stochastischen Gradientenanstieg optimiert werden. Das Ziel (z. B. die erwartete Belohnung) kann definiert werden als
-
Ziele, die eine Erwartung aufweisen, können in maschinellen Lern-Szenarien verwendet werden. Ein solches Ziel kann jedoch, ohne an Navigationsbeschränkungen gebunden zu sein, keine Aktionen zurückgeben, die streng an diese Beschränkungen gebunden sind. Betrachtet man beispielsweise eine Belohnungsfunktion, für die R(s) = -r ist für Trajektorien, die ein zu vermeidendes seltenes „Eck“-Ereignis darstellen (z. B. einen Unfall), und R(s) ∈ |-1, 1| für den Rest der Trajektorien, kann ein Ziel für das Lernsystem darin bestehen lernen, ein Überholmanöver durchzuführen. Normalerweise würde, bei einer unfallfreien Trajektorie, R(s) ein erfolgreiches, reibungsloses Überholen belohnt werden und das Bleiben auf einer Fahrspur, ohne das Überholen abzuschließen, bestraft werden - daher der Bereich [-1, 1]. Wenn eine Sequenz, s, einen Unfall darstellt, sollte die Belohnung, -r, eine ausreichend hohe Strafe bereitstellen, um ein solches Ereignis zu verhindern. Die Frage ist, was r für einen Wert haben sollte, um ein unfallfreies Fahren zu gewährleisten.
-
Betrachte man nun, dass die Wirkung eines Unfalls auf
der additive Term -pr ist, wobei p die Wahrscheinlichkeitsmasse von Trajektorien mit einem Unfallereignis ist. Wenn dieser Term vernachlässigbar ist, d. h. p << 1/r, dann kann das lernende System eine Richtlinie bevorzugen, die einen Unfall durchführt (oder allgemein eine Richtlinie für rücksichtsloses Fahren anwenden), um das Überholmanöver häufiger erfolgreich auszuführen, als eine Richtlinie, die defensiver wäre auf Kosten einiger Überholmanöver, die nicht erfolgreich abgeschlossen werden. Mit anderen Worten, wenn die Wahrscheinlichkeit von Unfällen höchstens p sein soll, dann muss r so eingestellt werden, dass r >> 1/p. Es kann wünschenswert sein kann, p extrem klein zu machen (z. B. in der Größenordnung von p = 10
-9). Daher sollte r groß sein. Im Richtliniengradienten kann der Gradient von
geschätzt werden. Das folgende Lemma zeigt, dass die Varianz der Zufallsvariablen R(
s) mit pr
2 wächst, was größer als r für r >> 1/p ist. Daher kann das Schätzen des Ziels schwierig sein, und das Schätzen seines Gradienten kann noch schwieriger sein.
-
Lemma: Sei π
o eine Richtlinie und seien p und r Skalare, so dass mit der Wahrscheinlichkeit, p, R(
s) = -r erhalten wird, und mit Wahrscheinlichkeit, 1-p, R(
s) ∈ [-1, 1] erhalten wird. Dann gilt
wobei die letzte Näherung für den Fall r ≥ 1/p gilt.
-
Diese Diskussion zeigt, dass ein Einwand der Form
möglicherweise keine funktionale Sicherheit gewährleistet, ohne ein Varianzproblem zu verursachen. Das Basislinien-Subtraktionsverfahren zur Varianzreduzierung bietet möglicherweise keine ausreichende Abhilfe für das Problem, da sich das Problem von einer hohen Varianz von R(
s) zu einer gleich hohen Varianz der Basislinienkonstanten verschieben würde, deren Schätzung gleichermaßen unter numerischen Instabilitäten leiden würde. Darüber hinaus, wenn die Wahrscheinlichkeit eines Unfalls p ist, sollten außerdem im Durchschnitt mindestens 1/p Sequenzen abgetastet werden, bevor ein Unfallereignis erhalten wird. Dies impliziert eine Untergrenze von 1/p-Abtastwerten von Sequenzen für einen Lernalgorithmus, der darauf abzielt,
zu minimieren. Die Lösung für dieses Problem kann eher in dem hierin beschriebenen architektonischen Entwurf als durch numerische Konditionierungstechniken gefunden werden. Der Ansatz hier basiert auf der Vorstellung, dass harte Beschränkungen außerhalb des Lemrahmens eingeführt werden sollten. Mit anderen Worten, die Richtlinienfunktion kann in einen lernbaren Teil und einen nicht lernbaren Teil zerlegt werden. Formal kann die Richtlinienfunktion als
strukturiert sein, wobei
den (agnostischen) Zustandsraum auf einen Satz von Wünschen (z. B. gewünschte Navigationsziele usw.) abbildet wird, während π
(T) die Wünsche auf eine Trajektorie abbildet (die bestimmen kann, wie das Auto sich in einem kurzen Bereich bewegen sollte). Die Funktion
ist für den Fahrkomfort und das Treffen strategischer Entscheidungen verantwortlich, z. B. welche anderen Autos überholt oder vorgelassen werden sollen, und welche Position das Host-Fahrzeug innerhalb seiner Fahrspur haben soll usw. Die Abbildung aus dem erfassten Navigationszustand auf Wünsche ist eine Richtlinie
die aus Erfahrung gelernt werden kann, indem eine erwartete Belohnung maximiert wird. Die durch
erzeugten Wünsche können in eine Kostenfunktion über Fahrspuren übersetzt werden. Die Funktion π
(T), die keine erlernte Funktion ist, kann implementiert werden, indem eine Trajektorie gefunden wird, die die Kosten, die strengen Beschränkungen der funktionalen Sicherheit unterliegen, minimiert. Diese Zerlegung kann die Funktionssicherheit bei gleichzeitig komfortablem Fahren gewährleisten.
-
Eine Doppel-Einfädelungs-Navigationssituation, wie sie in 11D dargestellt ist, liefert ein Beispiel, das diese Konzepte weiter veranschaulicht. Bei einer doppelten Einfädelung nähern sich Fahrzeuge dem Einfädelbereich 1130 sowohl von der linken als auch von der rechten Seite. Und von jeder Seite kann ein Fahrzeug, wie z. B. das Fahrzeug 1133 oder das Fahrzeug 1135, entscheiden, ob es auf Fahrspuren auf der anderen Seite des Einfädelbereichs 1130 einfädelt. Das erfolgreiche Ausführen einer doppelten Einfädelung in verkehrsreichem Verkehr kann erhebliche Verhandlungsfähigkeiten und Erfahrung erfordern, und kann in einem heuristischen oder Brute-Force-Ansatz, bei dem alle potenziellen Trajektorien aufgezählt werden, die von allen Agierenden in der Szene genommen werden könnten, schwierig auszuführen sein. In diesem Doppel-Einfädelungs-Beispiel kann ein Satz von Wünschen, D, definiert werden, die für das Doppel-Einfädelungs-Manöver geeignet sind. D kann das kartesische Produkt der folgenden Mengen sein: D=[0,vmax] × L × {g, t, o}n wobei [0, vmax] die gewünschte Zielgeschwindigkeit des Host-Fahrzeugs ist, L = {1, 1.5, 2, 2.5, 3, 3.5, 4} die gewünschte Querposition in Fahrspureinheiten ist, wobei ganze Zahlen eine Fahrspurmitte bezeichnen und Bruchzahlen Fahrspurgrenzen bezeichnen, und {g, t, o} Klassifizierungslabels sind, die jedem der n anderen Fahrzeuge zugeordnet sind. Den anderen Fahrzeugen kann „g“ zugewiesen werden, wenn das Host-Fahrzeug dem anderen Fahrzeug ausweichen soll, ein „t“, wenn das Host-Fahrzeug in Bezug auf andere Fahrzeuge ausweichen soll, oder „o“, wenn das Host-Fahrzeug einen Versatzabstand bezüglich des anderen Fahrzeug beibehalten soll.
-
Unten ist eine Beschreibung, wie ein Satz von Wünschen, (v, l, c1, ... , cn) ∈ D, in eine Kostenfunktion über Fahrspuren übersetzt werden kann. Eine Fahrspur kann durch (x1, y1), ... , (xk, yk) dargestellt werden, wobei (xi, yi) die (Quer-, Längs-)Position des Host-Fahrzeugs (in egozentrischen Einheiten) zur Zeit r·i ist. In einigen Experimenten ist r = 0.1sec und k= 10. Natürlich können auch andere Werte gewählt werden. Die einer Trajektorie zugeordneten Kosten können eine gewichtete Summe von individuellen Kosten aufweisen, die der gewünschten Geschwindigkeit, der Querposition und dem Label zugeordnet sind, das jedem der anderen n Fahrzeuge zugeordnet ist.
-
Bei gegebener gewünschter Geschwindigkeit v ∈ [0, v
max] sind die Kosten einer Trajektorie, die der Geschwindigkeit zugeordnet ist
-
Bei gegebener gewünschter Querposition, l ∈ L, sind die mit der gewünschten Querposition verbundenen Kosten gleich
wobei dist(x, y, l) der Abstand von dem Punkt (x, y) zu der Spurposition l ist. Bezüglich der Kosten aufgrund von anderen Fahrzeugen kann
für jedes andere Fahrzeug das andere Fahrzeug in egozentrischen Einheiten des Host-Fahrzeugs darstellen, und i kann der früheste Punkt sein, für den j existiert, so dass der Abstand zwischen (x
i, y
i) und (x'
j, y'
j) klein ist. Wenn es keinen solchen Punkt gibt, kann i als i = ∞ gesetzt werden. Wenn ein anderes Auto als „Vorfahrt“ klassifiziert wird, kann es wünschenswert sein, dass τ i > τ j + 0.5, was bedeutet, dass das Host-Fahrzeug den Trajektorien-Schnittpunkt mindestens 0,5 Sekunden, nachdem das andere Fahrzeug an demselben Punkt ankommt, erreicht. Eine mögliche Formel zum Übersetzen der obigen Beschränkung in Kosten ist [τ (j - i) + 0.5]
+.
-
Ebenso kann es, wenn ein anderes Auto als „Vorfahrt“ klassifiziert wird, wünschenswert sein, dass τj > τi + 0.5, was in die Kosten [τ (i - j) + 0.5]+ übersetzt werden kann. Wenn ein anderes Auto als „Versatz“ klassifiziert wird, kann es wünschenswert sein, dass i = ∞ ist, was bedeutet, dass sich die Trajektorie des Host-Fahrzeugs und die Trajektorie des Versatz-Autos nicht schneiden. Diese Bedingung kann in Kosten umgewandelt werden, indem sie in Bezug auf den Abstand zwischen Trajektorien bestraft wird.
-
Das Zuweisen einer Gewichtung zu jedem dieser Kosten kann eine einzelne Zielfunktion für den Trajektorienplaner, π(T), bereitstellen. Dem Ziel können Kosten hinzugefügt werden, die ein reibungsloses Fahren fördern. Und um die funktionale Sicherheit der Trajektorie zu gewährleisten, können dem Ziel harte Bedingungen hinzugefügt werden. Beispielsweise kann für (xi,yi) verboten werden, sich von der Fahrspur zu entfernen, und für (xi,yi) kann verboten werden, nahe bei (x'j, y'j) zu sein, für jeden Trajektorienpunkt (x'j, y'j) jedes andere Fahrzeugs, wenn |i - j| ist klein.
-
Zusammenfassend lässt sich sagen, dass die Richtlinie, πθ, zerlegt werden kann in eine Abbildung des agnostischen Zustands auf einen Satz von Wünschen und eine Abbildung der Wünsche auf eine tatsächliche Trajektorie. Die letztgenannte Abbildung basiert nicht auf Lernen, und kann implementiert werden, indem ein Optimierungsproblem gelöst wird, dessen Kosten von den Wünschen abhängig sind und dessen harte Beschränkungen die funktionale Sicherheit der Richtlinie garantieren können.
-
Die folgende Diskussion beschreibt die Abbildung von dem agnostischen Zustand auf den Satz von Wünschen. Wie oben beschrieben, kann ein System, das allein auf Verstärkungslemen angewiesen ist, um die funktionale Sicherheit zu erfüllen, eine hohe und unhandliche Varianz der Belohnung R(s) erleiden. Dieses Ergebnis kann vermieden werden, indem das Problem in eine Abbildung von dem (agnostischen) Zustandsraum auf einen Satz von Wünschen unter Verwendung von Iterationen von Richtliniengradienten zerlegt wird, gefolgt von einer Abbildung auf eine tatsächliche Trajektorie, die kein basierend auf maschinellem Lernen trainiertes System aufweist.
-
Aus verschiedenen Gründen kann die Entscheidungsfindung weiter in semantisch bedeutungsvolle Komponenten zerlegt werden. Beispielsweise kann die Größe von D groß und sogar kontinuierlich sein. In dem oben mit Bezug auf
11D beschriebenen Doppel-Einfädelungs-Szenario wird D = [0,v
max]×L×{g,t,o}
n). Zusätzlich kann der Gradientenschätzer den Term
aufweisen. In einem solchen Ausdruck kann die Varianz mit dem Zeithorizont T wachsen. In einigen Fällen kann der Wert von T ungefähr 250 betragen, was hoch genug sein kann, um eine signifikante Varianz zu erzeugen. Unter der Annahme, dass eine Scanrate im Bereich von 10 Hz liegt und der Einfädelungsbereich 1130 100 Meter beträgt, kann die Vorbereitung für die Einfädelung ungefähr 300 Meter vor dem Einfädelungsbereich beginnen. Wenn das Host-Fahrzeug mit 16 Metern pro Sekunde (ungefähr 60 km pro Stunde) fährt, dann kann der Wert von T für eine Episode ungefähr 250 sein.
-
Um auf das Konzept eines Optionsgraphen zurückzukommen, ein Optionsgraph, der repräsentativ für das in
11D dargestellte Szenario einer doppelten Einfädelung sein kann, ist in
11E gezeigt. Wie zuvor diskutiert, kann ein Optionsgraph einen hierarchischen Satz von Entscheidungen darstellen, die als gerichteter azyklischer Graph (DAG) organisiert sind. Es kann einen speziellen Knoten in dem Graphen geben, der „Wurzel“-Knoten 1140 genannt wird, der möglicherweise der einzige Knoten sein kann, der keine ankommenden Kanten (z. B. Entscheidungslinien) hat. Der Entscheidungsprozess kann den Graphen ausgehend von dem Wurzelknoten durchlaufen, bis er einen „Blatt“-Knoten erreicht, nämlich einen Knoten, der keine ausgehenden Kanten hat. Jeder innere Knoten kann eine Richtlinienfunktion implementieren, die ein Kind aus seinen verfügbaren Kindern auswählt. Es kann eine vordefinierte Abbildung von dem Satz von Durchläufen über den Optionsgraphen zu dem Satz von Wünschen, D, geben. Mit anderen Worten, ein Durchlaufen des Optionsdiagramms kann automatisch in einen Wunsch in D übersetzt werden. Bei einem gegebenen Knoten, v, in dem Graphen kann ein Parametervektor θ
v die Richtlinie, ein Kind von v zu wählen, spezifizieren. Wenn θ die Verkettung aller θ
v ist, dann kann
durch Traversieren von der Wurzel des Graphen zu einem Blatt definiert werden, während an jedem Knoten v die durch θ
v definierte Richtlinie verwendet wird, um einen untergeordneten Knoten auszuwählen.
-
In dem Graphen 1139 der doppelten Einfädeloptionen von 11E kann der Wurzelknoten 1140 zuerst entscheiden, ob sich das Host-Fahrzeug innerhalb des Einfädelbereichs (z. B. Bereich 1130 von 11D) befindet, oder ob sich das Host-Fahrzeug stattdessen dem Einfädelbereich nähert, und muss sich auf ein mögliche Einfädelung vorbereiten. In beiden Fällen muss das Host-Fahrzeug möglicherweise entscheiden, ob es die Fahrspur ändert (z. B. nach links oder nach rechts) oder ob es auf der aktuellen Fahrspur bleibt. Wenn das Host-Fahrzeug entschieden hat, die Fahrspuren zu ändern, muss das Host-Fahrzeug möglicherweise entscheiden, ob die Bedingungen geeignet sind, um weiterzufahren und das Fahrspuränderungsmanöver durchzuführen (z. B. am „Los“-Knoten 1142). Wenn es nicht möglich ist, die Spur zu ändern, kann das Host-Fahrzeug versuchen, in Richtung der gewünschten Spur zu „schieben“ (z. B. bei Knoten 1144 als Teil einer Verhandlung mit Fahrzeugen auf der gewünschten Spur), indem es darauf abzielt, auf der Spurmarkierung zu sein. Alternativ kann sich das Host-Fahrzeug dafür entscheiden, auf der gleichen Spur zu „bleiben“ (z. B. am Knoten 1146). Ein derartiger Prozess kann die Querposition für das Host-Fahrzeug auf natürliche Weise bestimmen. Beispielsweise,
-
Dies kann eine Bestimmung der gewünschten Querposition auf natürliche Weise ermöglichen. Wenn Beispielsweise das Host-Fahrzeug die Spur von Spur 2 zu Spur 3 wechselt, kann der „Los“-Knoten die gewünschte Querposition auf 3 setzen, der „Bleiben“-Knoten kann die gewünschte Querposition auf 2 setzen, und der „Schieben“-Knoten kann die gewünschte Querposition auf 2,5 setzen. Als nächstes kann das Host-Fahrzeug entscheiden, ob es die „gleiche“ Geschwindigkeit beibehalten (Knoten 1148), „beschleunigt“ (Knoten 1150), oder „verzögert“ (Knoten 1152) werden soll. Als nächstes kann das Host-Fahrzeug in eine „kettenartige“ Struktur 1154 eintreten, die sich über die anderen Fahrzeuge erstreckt und ihre semantische Bedeutung auf einen Wert in der Menge {g, t, o} einstellt. Dieser Prozess kann die Wünsche bezüglich den anderen Fahrzeugen einstellen. Die Parameter aller Knoten in dieser Kette können gemeinsam genutzt werden (ähnlich wie bei rekurrenten neuronalen Netzen).
-
Ein potenzieller Vorteil der Optionen ist die Interpretierbarkeit der Ergebnisse. Ein weiterer potenzieller Vorteil besteht darin, dass man sich auf die zerlegbare Struktur des Satzes D verlassen kann und daher die Richtlinie an jedem Knoten aus einer kleinen Anzahl von Möglichkeiten ausgewählt werden kann. Außerdem kann die Struktur eine Verringerung der Varianz des Richtlinien-Gradienten-Schätzers ermöglichen.
-
Wie oben diskutiert, kann die Länge einer Episode in dem Szenario der doppelten Einfädelung ungefähr T = 250 Schritte betragen. Ein solcher Wert (oder irgendein anderer geeigneter Wert in Abhängigkeit von einem bestimmten Navigations-Szenario) kann ausreichend Zeit bereitstellen, um die Folgen der Aktionen des Host-Fahrzeugs zu sehen (z. B., wenn das Host-Fahrzeug entschieden hat, die Spur als Vorbereitung für das Einfädeln zu ändern, dann sieht das Host-Fahrzeug den Vorteil erst nach einem erfolgreichen Abschluss der Einfädelung). Andererseits muss das Host-Fahrzeug aufgrund der Fahrdynamik Entscheidungen mit einer ausreichend schnellen Frequenz treffen (z. B. 10 Hz im oben beschriebenen Fall).
-
Der Optionsgraph kann eine Verringerung des Effektivwerts von T auf mindestens zwei Arten ermöglichen. Erstens kann bei Entscheidungen auf höherer Ebene eine Belohnung für Entscheidungen auf niedrigerer Ebene definiert werden, während kürzere Episoden berücksichtigt werden. Wenn das Host-Fahrzeug beispielsweise bereits eine „Spuränderung“ und den „Los“-Knoten gewählt hat, kann eine Richtlinie zum Zuweisen semantischer Bedeutung zu Fahrzeugen gelernt werden, indem Episoden von 2-3 Sekunden betrachtet werden (was bedeutet, dass T 20 - 30 wird statt 250). Zweitens muss das Host-Fahrzeug für Entscheidungen auf hoher Ebene (z. B. ob es die Spur ändern oder auf der gleichen Spur bleiben soll) möglicherweise nicht alle 0,1 Sekunden Entscheidungen treffen. Stattdessen kann das Host-Fahrzeug in der Lage sein, entweder Entscheidungen bei einer niedrigeren Frequenz (z. B. jede Sekunde) zu treffen, oder eine „Options-Beendigungs“-Funktion zu implementieren, und dann kann der Gradient nur nach jeder Beendigung der Option berechnet werden. In beiden Fällen kann der effektive Wert von T um eine Größenordnung kleiner als sein ursprünglicher Wert sein. Alles in allem kann der Schätzer an jedem Knoten von einem Wert von T abhängig sein, der um eine Größenordnung kleiner als die ursprünglichen 250 Schritte ist, was sofort zu einer kleineren Varianz führen kann.
-
Wie oben diskutiert, können harte Beschränkungen ein sichereres Fahren fördern, und es kann mehrere unterschiedliche Arten von Beschränkungen geben. Beispielsweise können statische harte Beschränkungen direkt aus dem Erfassungszustand definiert werden. Diese können Bodenschwellen, Geschwindigkeitsbegrenzungen, Straßenkrümmungen, Kreuzungen usw. innerhalb der Umgebung des Host-Fahrzeugs aufweisen, die eine oder mehrere Beschränkungen für Fahrzeuggeschwindigkeit, Richtung, Beschleunigung, Bremsen (Verzögerung) usw. aufweisen können. Statische harte Beschränkungen können auch einen semantischen Freiraum aufweisen, in dem es dem Host-Fahrzeug beispielsweise untersagt ist, den Freiraum zu verlassen und zu nahe an physischen Barrieren vorbeizufahren. Statische harte Beschränkungen können auch Manöver einschränken (z. B. verbieten), die verschiedene Aspekte einer kinematischen Bewegung des Fahrzeugs nicht erfüllen, beispielsweise kann eine statische harte Beschränkung verwendet werden, um Manöver zu verbieten, die dazu führen könnten, dass das Host-Fahrzeug umkippt oder rutscht, oder anderweitig die Kontrolle verlieren.
-
Harte Beschränkungen können auch Fahrzeugen zugeordnet sein. Beispielsweise kann eine Beschränkung verwendet werden, die erfordert, dass ein Fahrzeug einen Längsabstand zu anderen Fahrzeugen von mindestens einem Meter und einen Querabstand von mindestens 0,5 Metern zu anderen Fahrzeugen einhält. Beschränkungen können auch so angewendet werden, dass das Host-Fahrzeug es vermeidet, einen Kollisionskurs mit einem oder mehreren anderen Fahrzeugen beizubehalten. Beispielsweise kann eine Zeit τ ein Zeitmaß basierend auf einer bestimmten Szene sein. Die vorhergesagten Trajektorien des Host-Fahrzeugs und eines oder mehrerer anderer Fahrzeuge können von einem aktuellen Zeitpunkt τ betrachtet werden. Wo sich die beiden Trajektorien schneiden, kann
die Ankunftszeit und die Abfahrtszeit des Fahrzeugs i am Schnittpunkt darstellen. Das heißt, jedes Auto kommt an einem Punkt an, an dem ein erster Teil des Autos den Schnittpunkt passiert, und es wird eine bestimmte Zeitdauer benötigt, bevor der letzte Teil des Autos den Schnittpunkt passiert. Diese Zeitspanne trennt die Ankunftszeit von der Abfahrtszeit. Angenommen, dass
(d. h., dass die Ankunftszeit von Fahrzeug 1 kleiner ist als die Ankunftszeit von Fahrzeug 2), dann wollen wir sicherstellen, dass Fahrzeug 1 den Kreuzungspunkt verlassen hat, bevor Fahrzeug 2 ankommt. Andernfalls würde es zu einer Kollision kommen. Somit kann eine harte Beschränkung so implementiert werden, so dass
Darüber hinaus kann, um sicherzustellen, dass Fahrzeug 1 und Fahrzeug 2 einander nicht minimal verfehlen, ein zusätzlicher Sicherheitsspielraum erhalten werden, indem eine Pufferzeit in die Beschränkung aufgenommen wird (z. B. 0,5 Sekunden oder ein anderer geeigneter Wert). Eine harte Beschränkung in Bezug auf vorhergesagte, sich schneidente Trajektorien von zwei Fahrzeugen kann als
ausgedrückt werden.
-
Die Zeitdauer τ, über die die Trajektorien des Host-Fahrzeugs und eines oder mehrerer anderer Fahrzeuge verfolgt werden, kann variieren. In Kreuzungsszenarien jedoch, wo Geschwindigkeiten niedriger sein können, kann τ länger sein, und τ kann so definiert werden, dass ein Host-Fahrzeug in weniger als τ Sekunden in die Kreuzung einfährt und diese verlässt.
-
Das Anwenden harter Beschränkungen auf Fahrzeugtrajektorien erfordert natürlich, dass die Trajektorien dieser Fahrzeuge vorhergesagt werden. Für das Host-Fahrzeug kann die Vorhersage der Trajektorie relativ unkompliziert sein, da das Host-Fahrzeug im Allgemeinen bereits eine beabsichtigte Trajektorie zu einem gegebenen Zeitpunkt versteht und tatsächlich plant. Im Vergleich zu anderen Fahrzeugen kann die Vorhersage seiner Trajektorien weniger einfach sein. Für andere Fahrzeuge kann sich die Grundlinien-Berechnung zum Bestimmen vorhergesagter Trajektorien auf die aktuelle Geschwindigkeit und Fahrtrichtung der anderen Fahrzeuge stützen, wie sie beispielsweise basierend auf einer Analyse eines Bildstroms bestimmt werden, der von einer oder mehreren Kameras und/oder anderen Sensoren (Radar, Lidar, Akustik usw.) an Bord des Host-Fahrzeugs aufgenommen wird.
-
Es kann jedoch einige Ausnahmen geben, die das Problem vereinfachen oder mindestens zusätzliches Vertrauen in eine für ein anderes Fahrzeug vorhergesagte Trajektorie schaffen können. Beispielsweise können in Bezug auf strukturierte Straßen, auf denen Fahrspuren angezeigt werden und Vorfahrtsregeln bestehen können, die Trajektorien anderer Fahrzeuge mindestens teilweise auf der Position der anderen Fahrzeuge relativ zu den Fahrspuren basieren und auf geltenden Vorfahrtsregeln basieren. Somit kann in einigen Situationen, wenn Fahrspurstrukturen beobachtet werden, angenommen werden, dass Fahrzeuge auf der nächsten Fahrspur Fahrspurbegrenzungen respektieren werden. Das heißt, das Host-Fahrzeug kann davon ausgehen, dass ein Fahrzeug auf der nächsten Fahrspur auf seiner Fahrspur bleiben wird, es sei denn, es gibt einen beobachteten Hinweis (z. B. ein Signallicht, eine starke Querbewegung, Bewegung über eine Fahrspurbegrenzung), der darauf hinweist, dass das Fahrzeug auf der nächsten Fahrspur auf die Fahrspur des Host-Fahrzeugs abbiegen wird.
-
Andere Situationen können ebenfalls Hinweise bezüglich der erwarteten Trajektorien anderer Fahrzeuge liefern. Beispielsweise kann an Stoppschildern, Ampeln, Kreisverkehren usw., wo das Host-Fahrzeug Vorfahrt haben kann, davon ausgegangen werden, dass andere Fahrzeuge diese Vorfahrt respektieren werden. Somit kann angenommen werden, dass andere Fahrzeuge entlang einer Trajektorie fahren, die die Vorfahrt des Host-Fahrzeugs respektiert, es sei denn, es werden Hinweise auf einen Regelverstoß beobachtet.
-
Harte Beschränkungen können auch in Bezug auf Fußgänger in einer Umgebung des Host-Fahrzeugs angewendet werden. Beispielsweise kann ein Pufferabstand in Bezug auf Fußgänger eingerichtet werden, so dass es dem Host-Fahrzeug untersagt ist, näher als in dem vorgeschriebenen Pufferabstand bezüglich eines beobachteten Fußgängers zu fahren. Der Fußgängerpufferabstand kann jeder geeignete Abstand sein. In einigen Ausführungsformen kann der Pufferabstand bezüglich eines beobachteten Fußgängers mindestens einen Meter betragen.
-
Ähnlich der Situation bei Fahrzeugen können auch harte Beschränkungen in Bezug auf die Relativbewegung zwischen Fußgängern und dem Host-Fahrzeug angewendet werden. Beispielsweise kann die Trajektorie eines Fußgängers (basierend auf einer Gehrichtung und Geschwindigkeit) bezüglich der projizierten Trajektorie des Host-Fahrzeugs überwacht werden. Bei einer gegebenen bestimmten Fußgängertrajektorie kann t(p) mit jedem Punkt p auf der Trajektorie die Zeit darstellen, die der Fußgänger benötigt, um den Punkt p zu erreichen. Um den erforderlichen Pufferabstand von mindestens 1 Meter zu dem Fußgänger einzuhalten, muss entweder t(p) größer sein als die Zeit, zu der das Host-Fahrzeug den Punkt p erreicht (mit ausreichendem Zeitunterschied, so dass das Host-Fahrzeug vor dem Fußgänger mit einen Abstand von mindestens einem Meter vorbeifährt), oder muss t(p) kleiner sein als die Zeit, zu der das Host-Fahrzeug den Punkt p erreicht (z. B., wenn das Host-Fahrzeug bremst, um dem Fußgänger Platz zu machen). Dennoch kann in dem letzteren Beispiel die harte Beschränkung erfordern, dass das Host-Fahrzeug an dem Punkt p um eine ausreichende Zeit später als der Fußgänger ankommt, so dass das Host-Fahrzeug hinter dem Fußgänger vorbeifahren und den erforderlichen Pufferabstand von mindestens einem Meter einhalten kann. Natürlich kann es Ausnahmen von der strengen Beschränkung für Fußgänger geben. Wenn beispielsweise das Host-Fahrzeug Vorfahrt hat, oder wenn die Geschwindigkeiten sehr langsam sind und es keine beobachteten Anzeichen dafür gibt, dass der Fußgänger es ablehnen wird, dem Host-Fahrzeug auszuweichen, oder anderweitig in Richtung des Host-Fahrzeugs navigiert, kann die harte Fußgänger-Beschränkung gelockert werden (z. B. auf einen kleineren Puffer von mindestens 0,75 Meter oder 0,50 Meter).
-
In einigen Beispielen können Beschränkungen gelockert werden, wenn bestimmt wird, dass nicht alle erfüllt werden können. Beispielsweise können in Situationen, in denen eine Straße zu schmal ist, um den gewünschten Abstand (z. B. 0,5 Meter) zu beiden Bordsteinen oder zu einem Bordstein und einem geparkten Fahrzeug einzuhalten, eine oder mehrere Beschränkungen gelockert werden, wenn mildernde Umstände vorliegen. Wenn sich beispielsweise keine Fußgänger (oder andere Objekte) auf dem Bürgersteig befinden, kann man 0,1 Meter von einem Bordstein entfernt langsam weiterfahren. In einigen Ausführungsformen können Beschränkungen gelockert werden, wenn dadurch die Benutzererfahrung verbessert wird. Um beispielsweise ein Schlagloch zu vermeiden, können Beschränkungen gelockert werden, um einem Fahrzeug zu ermöglichen, näher an Ränder der Fahrspur, einen Bordstein oder einen Fußgänger heranzufahren, als dies normalerweise zulässig wäre. Wenn ferner bestimmt wird, welche Beschränkungen gelockert werden sollen, sind in einigen Ausführungsformen die eine oder die mehreren Beschränkungen, die zur Lockerung ausgewählt werden, diejenigen, von denen angenommen wird, dass sie die geringste verfügbare negative Auswirkung auf die Sicherheit haben. Beispielsweise kann eine Beschränkung, die sich darauf bezieht, wie nahe das Fahrzeug an den Bordstein oder an eine Betonbarriere heranfahren darf, gelockert werden, bevor eine Beschränkung gelockert wird, die die Nähe zu anderen Fahrzeugen betrifft. In einigen Ausführungsformen können Fußgänger-Beschränkungen die letzten sein, die gelockert werden, oder können in manchen Situationen nie gelockert werden.
-
12 zeigt ein Beispiel einer Szene, die während der Navigation eines Host-Fahrzeugs aufgenommen und analysiert werden kann. Beispielsweise kann ein Host-Fahrzeug ein Navigationssystem (z. B. System 100) aufweisen, wie oben beschrieben, das von einer Kamera (z. B. mindestens einer von einer Bildaufnahmevorrichtung 122, Bildaufnahmevorrichtung 124 und Bildaufnahmevorrichtung 126), die dem Host-Fahrzeug zugeordnet ist, eine Vielzahl von Bildern empfangen, die eine Umgebung des Host-Fahrzeugs darstellen. Die in 12 gezeigte Szene ist ein Beispiel für eines der Bilder, die zum Zeitpunkt t von einer Umgebung eines Host-Fahrzeugs aufgenommen werden können, das auf der Fahrspur 1210 entlang einer vorhergesagten Trajektorie 1212 fährt. Das Navigationssystem kann mindestens eine Verarbeitungsvorrichtung aufweisen (die z. B. einen der oben beschriebenen EyeQ-Prozessoren oder andere Vorrichtungen aufweist), die speziell dafür programmiert sind, die Vielzahl von Bildem zu empfangen und die Bilder zu analysieren, um eine Aktion als Reaktion auf die Szene zu bestimmen. Insbesondere kann die mindestens eine Verarbeitungsvorrichtung das Sensormodul 801, das Fahrrichtlinienmodul 803 und das Steuermodul 805, wie in 8 gezeigt, implementieren. Das Sensormodul 801 kann verantwortlich sein für das Sammeln und Ausgeben der von den Kameras gesammelten Bildinformationen und das Bereitstellen dieser Informationen in Form eines identifizierten Navigationszustands an das Fahrrichtlinienmodul 803, das ein trainiertes Navigationssystem bilden kann, das durch maschinelle Lerntechniken, wie etwa überwachtes Lernen, Verstärkungslernen usw., trainiert wurde. Basierend auf den Navigationszustandsinformationen, die dem Fahrrichtlinienmodul 803 durch das Sensormodul 801 bereitgestellt werden, kann das Fahrrichtlinienmodul 803 (z. B. durch Implementieren des oben beschriebenen Optionsdiagrammansatzes) eine gewünschte Navigationsaktion zur Ausführung durch das Host-Fahrzeug als Reaktion auf den identifizierten Navigationszustand erzeugen.
-
In einigen Ausführungsformen kann die mindestens eine Verarbeitungsvorrichtung die gewünschte Navigationsaktion beispielsweise unter Verwendung des Steuermoduls 805 direkt in Navigationsbefehle übersetzen. In anderen Ausführungsformen können jedoch harte Beschränkungen angewendet werden, so dass die gewünschte Navigationsaktion, die durch das Fahrrichtlinienmodul 803 bereitgestellt wird, gegen verschiedene vorbestimmte Navigationsbeschränkungen getestet wird, die durch die Szene und die gewünschte Navigationsaktion impliziert sein können. Wenn beispielsweise das Fahrrichtlinienmodul 803 eine gewünschte Navigationsaktion ausgibt, die bewirken würde, dass das Host-Fahrzeug der Trajektorie 1212 folgt, kann diese Navigationsaktion bezüglich einer oder mehreren harten Beschränkungen getestet werden, die verschiedenen Aspekten der Umgebung des Host-Fahrzeugs zugeordnet sind. Beispielsweise kann ein aufgenommenes Bild 1201 einen Bordstein 1213, einen Fußgänger 1215, ein Zielfahrzeug 1217 und ein stationäres Objekt (z. B. eine umgestürzte Kiste) zeigen, die in der Szene existieren. Jedes von diesen kann einer oder mehreren harten Beschränkungen zugeordnet sein. Beispielsweise kann der Bordstein 1213 einer statischen Beschränkung zugeordnet sein, die verhindert, dass das Host-Fahrzeug auf den Bordstein oder an dem Bordstein vorbei und auf einen Bürgersteig 1214 fährt. Der Bordstein 1213 kann auch mit einer Straßenbegrenzungs-Einhüllung verknüpft sein, die einen Abstand definiert (z. B. eine Pufferzone), die sich entlang des Bordsteins und davon weg (z. B. um 0,1 Meter, 0,25 Meter, 0,5 Meter, 1 Meter usw.) erstreckt, was eine Nicht-Navigationszone für das Host-Fahrzeug definiert. Natürlich können statische Beschränkungen auch anderen Arten von Straßenrandbegrenzungen zugeordnet sein (z. B. Leitplanken, Betonpfeiler, Leitkegel, Pylonen oder jeder anderen Art von Straßenrandbarrieren).
-
Es sollte angemerkt werden, dass Abstände und Abstandsmessungen durch jedes geeignete Verfahren bestimmt werden können. Beispielsweise können in einigen Ausführungsformen Abstandsinformationen von bordeigenen Radar- und/oder Lidar-Systemen bereitgestellt werden. Alternativ oder zusätzlich können Abstandsinformationen aus der Analyse eines oder mehrerer Bilder abgeleitet werden, die von der Umgebung des Host-Fahrzeugs aufgenommen wurden. Beispielsweise können Anzahlen von Pixeln eines erkannten Objekts, das in einem Bild dargestellt ist, bestimmt und mit bekannten Sichtfeld- und Brennweiten-Geometrien der Bildaufnahmevorrichtungen verglichen werden, um eine Skalierung und Abstände zu bestimmen. Geschwindigkeiten und Beschleunigungen können beispielsweise bestimmt werden, indem Skalierungsänderungen zwischen Objekten von Bild zu Bild über bekannte Zeitintervalle beobachtet werden. Diese Analyse kann die Bewegungsrichtung auf das Host-Fahrzeug zu oder von diesem weg angeben, zusammen mit der Geschwindigkeit, mit der sich das Objekt von dem Host-Fahrzeug entfernt oder sich ihm nähert. Die Kreuzungsgeschwindigkeit kann durch eine Analyse der Änderung der X-Koordinatenposition eines Objekts von einem Bild zum anderen über bekannte Zeiträume bestimmt werden.
-
Der Fußgänger 1215 kann einer Fußgänger-Einhüllung zugeordnet sein, die eine Pufferzone 1216 definiert. In einigen Fällen kann eine auferlegte harte Beschränkung das Host-Fahrzeug daran hindern, innerhalb einer Abstand von 1 Meter von dem Fußgänger 1215 (in jeder Richtung bezüglich des Fußgängers) zu navigieren. Der Fußgänger 1215 kann auch den Ort einer Fußgängereinflusszone 1220 definieren. Solch eine Einflusszone kann einer Beschränkung zugeordnet sein, die die Geschwindigkeit des Host-Fahrzeugs innerhalb der Einflusszone begrenzt. Die Einflusszone kann sich 5 Meter, 10 Meter, 20 Meter usw. von dem Fußgänger 1215 aus erstrecken. Jede Abstufung der Einflusszone kann einer anderen Geschwindigkeitsbegrenzung zugeordnet sein. Beispielsweise kann das Host-Fahrzeug innerhalb einer Zone von 1 Meter bis fünf Meter von dem Fußgänger 1215 auf eine erste Geschwindigkeit (z. B. 10 mph, 20 mph usw.) begrenzt sein, die geringer als eine Geschwindigkeitsbegrenzung in einer Fußgängereinflusszone sein kann, die sich von 5 Meter bis 10 Meter erstreckt. Es kann eine beliebige Einteilung für die verschiedenen Stufen der Einflusszone verwendet werden. In einigen Ausführungsformen kann die erste Stufe schmaler als 1 Meter bis fünf Meter sein, und kann sich nur von einem Meter bis zwei Meter erstrecken. In anderen Ausführungsformen kann sich die erste Stufe der Einflusszone von 1 Meter (der Grenze der Nichtnavigationszone um einen Fußgänger herum) bis zu einem Abstand von mindestens 10 Metern erstrecken. Eine zweite Stufe wiederum kann sich von 10 Meter bis mindestens etwa 20 Meter erstrecken. Die zweite Stufe kann einer maximalen Fahrgeschwindigkeit für das Host-Fahrzeug zugeordnet sein, die größer ist als die maximale Fahrgeschwindigkeit, die der ersten Stufe der Fußgängereinflusszone zugeordnet ist.
-
Eine oder mehrere Beschränkungen für stationäre Objekte können auch durch die erkannte Szene in der Umgebung des Host-Fahrzeugs impliziert werden. Beispielsweise kann die mindestens eine Verarbeitungsvorrichtung in dem Bild 1201 ein stationäres Objekt, wie beispielsweise einen Karton 1219, der auf der Fahrspur vorhanden ist, erkennen. Erkannte stationäre Objekte können verschiedene Objekte aufweisen, wie etwa einen Baum, eine Stange, ein Straßenschild oder ein Objekt auf einer Fahrspur. Dem erkannten stationären Objekt können eine oder mehrere vordefinierte Navigationsbeschränkungen zugeordnet sein. Beispielsweise können solche Beschränkungen eine Einhüllung eines stationären Objekts aufweisen, wobei die Einhüllung eines stationären Objekts eine Pufferzone um das Objekt herum definiert, innerhalb der eine Navigation des Host-Fahrzeugs verboten sein kann. Mindestens ein Teil der Pufferzone kann sich mit einen vorbestimmten Abstand von einer Kante des erkannten stationären Objekts erstrecken. Beispielsweise kann in der durch das Bild 1201 dargestellten Szene eine Pufferzone von mindestens 0,1 Metern, 0,25 Metern, 0,5 Metern oder mehr dem Karton 1219 zugeordnet werden, so dass das Host-Fahrzeug rechts oder links von dem Karton mit mindestens einem gewissen Abstand (z. B. dem Pufferzonenabstand) vorbeifährt, um eine Kollision mit dem erkannten stationären Objekt zu vermeiden.
-
Die vordefinierten harten Beschränkungen können auch eine oder mehrere Zielfahrzeugbeschränkungen aufweisen. Beispielsweise kann ein Zielfahrzeug 1217 in dem Bild 1201 erkannt werden. Um sicherzustellen, dass das Host-Fahrzeug nicht mit dem Zielfahrzeug 1217 kollidiert, können eine oder mehrere harte Beschränkungen verwendet werden. In manchen Fällen kann eine Zielfahrzeug-Einhüllung einem einzelnen Pufferzonenabstand zugeordnet sein. Beispielsweise kann die Pufferzone durch einen 1-Meter-Abstand definiert werden, der das Zielfahrzeug in allen Richtungen umgibt. Die Pufferzone kann einen Bereich definieren, der sich von dem Zielfahrzeug um mindestens einen Meter erstreckt, in den das Host-Fahrzeug nicht hineinfahren darf.
-
Die Einhüllung, die das Zielfahrzeug 1217 umgibt, muss jedoch nicht durch einen festen Pufferabstand definiert sein. In einigen Fällen können die vordefinierten harten Beschränkungen, die den Zielfahrzeugen (oder beliebigen anderen beweglichen Objekten, die in der Umgebung des Host-Fahrzeugs erfasst werden) zugeordnet sind, von der Ausrichtung des Host-Fahrzeugs bezüglich des erkannten Zielfahrzeug abhängig sein. Beispielsweise kann in einigen Fällen ein Längspufferzonenabstand (z. B. einer, der sich von dem Zielfahrzeug in Richtung der Front oder des Hecks des Host-Fahrzeugs erstreckt - wie etwa in dem Fall, in dem das Host-Fahrzeug auf das Zielfahrzeug zufährt) mindestens einen Meter betragen. Ein Pufferzonenabstand in Querrichtung (z. B. einer, der sich von dem Zielfahrzeug zu beiden Seiten des Host-Fahrzeugs erstreckt - etwa, wenn das Host-Fahrzeug in die gleiche oder entgegengesetzte Richtung wie das Zielfahrzeug fährt, so dass eine Seite des Host-Fahrzeugs neben einer Seite des Zielfahrzeugs vorbeifährt) kann mindestens 0,5 Meter betragen.
-
Wie oben beschrieben, können auch andere Beschränkungen durch das Erkennen eines Zielfahrzeugs oder eines Fußgängers in der Umgebung des Host-Fahrzeugs impliziert werden. Beispielsweise können die vorhergesagten Trajektorien des Host-Fahrzeugs und des Zielfahrzeugs 1217 berücksichtigt werden, und dort, wo sich die zwei Trajektorien schneiden (z. B. an dem Schnittpunkt 1230), kann eine harte Beschränkung
oder
erfordern, wobei das Host-Fahrzeug Fahrzeug 1 und Zielfahrzeug 1217 Fahrzeug 2 ist. In ähnlicher Weise kann die Trajektorie des Fußgängers 1215 (basierend auf einer Fahrtrichtung und Geschwindigkeit) bezüglich der projizierten Trajektorie des Host-Fahrzeugs überwacht werden. Bei einer gegebenen bestimmten Fußgängertrajektorie stellt t(p) mit jedem Punkt p auf der Trajektorie die Zeit dar, die der Fußgänger benötigt, um Punkt den p zu erreichen (d. h. den Punkt 1231 in
12). Um den erforderlichen Pufferabstand von mindestens 1 Meter zu dem Fußgänger einzuhalten, muss entweder t(p) größer sein als die Zeit, zu der das Host-Fahrzeug den Punkt p erreicht (mit ausreichendem Zeitunterschied, so dass das Host-Fahrzeug vor dem Fußgänger mit einem Abstand von mindestens einem Meter vorbeifährt), oder muss t(p) kleiner sein als die Zeit, zu der das Host-Fahrzeug den Punkt p erreicht (z. B., wenn das Host-Fahrzeug bremst, um dem Fußgänger Platz zu machen). Dennoch wird in dem letzten Beispiel die harte Beschränkung erfordern, dass das Host-Fahrzeug an dem Punkt p ausreichend später als der Fußgänger ankommt, so dass das Host-Fahrzeug hinter dem Fußgänger vorbeifahren und den erforderlichen Pufferabstand von mindestens einem Meter einhalten kann.
-
Andere harte Beschränkungen können ebenfalls verwendet werden. Beispielsweise kann in mindestens einigen Fällen eine maximale Verzögerungsrate des Host-Fahrzeugs verwendet werden. Eine solche maximale Verzögerungsrate kann basierend auf einem erkannten Abstand zu einem Zielfahrzeug, das dem Host-Fahrzeug folgt, bestimmt werden (z. B. unter Verwendung von Bildern, die von einer nach hinten gerichteten Kamera gesammelt werden). Die harten Beschränkungen können einen obligatorischen Stopp an einem erfassten Zebrastreifen oder einem Bahnübergang oder andere anwendbare Beschränkungen aufweisen.
-
Wenn die Analyse einer Szene in einer Umgebung des Host-Fahrzeugs anzeigt, dass eine oder mehrere vordefinierte Navigationsbeschränkungen impliziert sein können, können diese Beschränkungen in Bezug auf eine oder mehrere geplante Navigationsaktionen für das Host-Fahrzeug auferlegt werden. Wenn beispielsweise die Analyse einer Szene dazu führt, dass das Fahrrichtlinienmodul 803 eine gewünschte Navigationsaktion zurückgibt, kann diese gewünschte Navigationsaktion gegen eine oder mehrere implizierte Beschränkungen getestet werden. Wenn bestimmt wird, dass die gewünschte Navigationsaktion irgendeinen Aspekt der implizierten Beschränkungen verletzt (z. B., wenn die gewünschte Navigationsaktion das Host-Fahrzeug in einen Abstand von 0,7 Metern zu dem Fußgänger 1215 bringen würde, wobei eine vordefinierte harte Beschränkung erfordert, dass das Host-Fahrzeug mindestens 1,0 Meter von dem Fußgänger 1215 entfernt bleibt), dann kann mindestens eine Modifizierung der gewünschten Navigationsaktion basierend auf der einen oder den mehreren vordefinierten Navigationsbeschränkungen vorgenommen werden. Das Einstellen der gewünschten Navigationsaktion auf diese Weise kann eine tatsächliche Navigationsaktion für das Host-Fahrzeug in Übereinstimmung mit den Beschränkungen bereitstellen, die durch eine bestimmte Szene impliziert sind, die in der Umgebung des Host-Fahrzeugs erkannt wird.
-
Nach der Bestimmung der tatsächlichen Navigationsaktion für das Host-Fahrzeug kann diese Navigationsaktion implementiert werden, indem mindestens eine Einstellung eines Navigationsaktuators des Host-Fahrzeugs als Reaktion auf die bestimmte tatsächliche Navigationsaktion für das Host-Fahrzeug veranlasst wird. Ein solcher Navigationsaktuator kann mindestens einen Lenkmechanismus, eine Bremse oder ein Gaspedal des Host-Fahrzeugs aufweisen.
-
Priorisierte Beschränkungen
-
Wie oben beschrieben, können verschiedene harte Beschränkungen bei einem Navigationssystem verwendet werden, um einen sicheren Betrieb eines Host-Fahrzeugs sicherzustellen. Die Beschränkungen können unter anderem einen minimalen sicheren Fahrabstand in Bezug auf einen Fußgänger, ein Zielfahrzeug, eine Straßensperre oder ein erkanntes Objekt, eine maximale Fahrgeschwindigkeit beim Passieren innerhalb einer Einflusszone eines erkannten Fußgängers, oder eine maximale Verzögerungsrate für das Host-Fahrzeug aufweisen,. Diese Beschränkungen können mit einem trainierten System auferlegt werden, das basierend auf maschinellem Lernen (überwacht, verstärkt, oder eine Kombination) trainiert wurde, aber sie können auch mit nicht trainierten Systemen nützlich sein (z. B. solche, die Algorithmen verwenden, um erwartete Situationen, die in Szenen aus einer Host-Fahrzeugumgebung auftreten, direkt anzugehen).
-
In jedem Fall kann es eine Hierarchie von Beschränkungen geben. Mit anderen Worten, einige Navigationsbeschränkungen können Priorität gegenüber anderen Beschränkungen haben. Wenn somit eine Situation auftritt, in der eine Navigationsaktion, die dazu führen würde, dass alle implizierten Beschränkungen erfüllt sind, nicht verfügbar war, kann das Navigationssystem die verfügbare Navigationsaktion bestimmen, die zuerst die Beschränkungen mit der höchsten Priorität erfüllt. Beispielsweise kann das System bewirken, dass das Fahrzeug zuerst einem Fußgänger ausweicht, selbst wenn die Navigation zum Ausweichen des Fußgängers zu einer Kollision mit einem anderen Fahrzeug oder einem auf einer Straße erkannten Objekt führen würde. In einem anderen Beispiel kann das System bewirken, dass das Fahrzeug auf einen Bordstein fährt, um einem Fußgänger auszuweichen.
-
13 liefert ein Flussdiagramm, das einen Algorithmus zum Implementieren einer Hierarchie von implizierten Beschränkungen veranschaulicht, die basierend auf einer Analyse einer Szene in einer Umgebung eines Host-Fahrzeugs bestimmt werden. Beispielsweise kann bei Schritt 1301 mindestens eine dem Navigationssystem zugeordnete Verarbeitungsvorrichtung (z. B. ein EyeQ-Prozessor usw.) von einer an dem Host-Fahrzeug montierten Kamera eine Vielzahl von Bildern empfangen, die eine Umgebung des Hosts-Fahrzeugs darstellen. Durch Analyse eines Bildes oder von Bildern, die die Szene der Umgebung des Host-Fahrzeugs darstellen, kann bei Schritt 1303 ein dem Host-Fahrzeug zugeordneter Navigationszustand identifiziert werden. Beispielsweise kann ein Navigationszustand angeben, dass das Host-Fahrzeug entlang einer zweispurigen Straße 1210 fährt, wie in 12, dass sich ein Zielfahrzeug 1217 durch eine Kreuzung vor dem Host-Fahrzeug bewegt, dass ein Fußgänger 1215 wartet, um die Straße zu überqueren, auf der das Host-Fahrzeug fährt, dass ein Objekt 1219 voraus in der Fahrspur des Host-Fahrzeugs vorhanden ist, neben verschiedenen anderen Attributen der Szene.
-
Bei Schritt 1305 können eine oder mehrere Navigationsbeschränkungen, die durch den Navigationszustand des Host-Fahrzeugs impliziert sind, bestimmt werden. Beispielsweise kann die mindestens eine Verarbeitungsvorrichtung nach dem Analysieren einer Szene in der Umgebung des Host-Fahrzeugs, die durch ein oder mehrere aufgenommene Bilder dargestellt wird, eine oder mehrere Navigationsbeschränkungen bestimmen, die durch Objekte, Fahrzeuge, Fußgänger usw. impliziert sind, die durch Bildanalyse der aufgenommenen Bilder erkannt werden. In einigen Ausführungsformen kann die mindestens eine Verarbeitungsvorrichtung mindestens eine erste vordefinierte Navigationsbeschränkung und eine zweite vordefinierte Navigationsbeschränkung bestimmen, die durch den Navigationszustand impliziert sind, und die erste vordefinierte Navigationsbeschränkung kann sich von der zweiten vordefinierten Navigationsbeschränkung unterscheiden. Beispielsweise kann sich die erste Navigationsbeschränkung auf eines oder mehrere Zielfahrzeuge beziehen, die in der Umgebung des Host-Fahrzeugs erkannt werden, und die zweite Navigationsbeschränkung kann sich auf einen Fußgänger beziehen, der in der Umgebung des Host-Fahrzeugs erkannt wird.
-
In Schritt 1307 kann die mindestens eine Verarbeitungsvorrichtung eine Priorität bestimmen, die in Schritt 1305 identifizierten Beschränkungen zugeordnet ist. In dem beschriebenen Beispiel kann die zweite vordefinierte Navigationsbeschränkung, die sich auf Fußgänger bezieht, eine höhere Priorität haben als die erste vordefinierte Navigationsbeschränkung, die sich auf Zielfahrzeuge bezieht. Während Prioritäten, die Navigationsbeschränkungen zugeordnet sind, basierend auf verschiedenen Faktoren bestimmt oder zugewiesen werden können, kann in einigen Ausführungsformen die Priorität einer Navigationsbeschränkung mit ihrer relativen Wichtigkeit aus einer Sicherheitsperspektive in Beziehung stehen. Während es beispielsweise wichtig sein kann, dass alle implementierten Navigationsbeschränkungen in so vielen Situationen wie möglich befolgt oder erfüllt werden, können einige Beschränkungen größeren Sicherheitsrisiken zugeordnet sein als andere, und können daher höheren Prioritäten zugewiesen werden. Beispielsweise kann eine Navigationsbeschränkung, die erfordert, dass das Host-Fahrzeug mindestens einen Abstand von 1 Meter zu einem Fußgänger einhält, eine höhere Priorität haben als eine Beschränkung, die erfordert, dass das Host-Fahrzeug mindestens einen Abstand von 1 Meter zu einem Zielfahrzeug einhält. Dies kann daran liegen, dass eine Kollision mit einem Fußgänger schwerwiegendere Folgen haben kann als eine Kollision mit einem anderen Fahrzeug. In ähnlicher Weise kann das Beibehalten eines Abstands zwischen dem Host-Fahrzeug und einem Zielfahrzeug eine höhere Priorität haben als eine Beschränkung, die erfordert, dass das Host-Fahrzeug einem Karton auf der Straße ausweicht, mit weniger als einer bestimmten Geschwindigkeit über eine Bremsschwelle fährt, oder den Host-Fahrzeuginsassen höchstens einem maximalen Beschleunigungsniveau aussetzt.
-
Während das Fahrrichtlinienmodul 803 dazu ausgelegt ist, die Sicherheit zu maximieren, indem Navigationsbeschränkungen erfüllt werden, die durch eine bestimmte Szene oder einen Navigationszustand impliziert werden, kann es in einigen Situationen physikalisch unmöglich sein, jede implizierte Beschränkung zu erfüllen. In solchen Situationen kann die Priorität jeder implizierten Beschränkung verwendet werden, um zu bestimmen, welche der implizierten Beschränkungen zuerst erfüllt werden sollte, wie in Schritt 1309 gezeigt wird. Um mit dem obigen Beispiel fortzufahren, kann in einer Situation, in der es nicht möglich ist, sowohl die Fußgängerlücken-Beschränkung als auch die Zielfahrzeugabstand-Beschränkung zu erfüllen, sondern nur eine der Beschränkungen erfüllt werden kann, dann die höhere Priorität der Fußgängerlücken-Beschränkung dazu führen, dass diese Beschränkung erfüllt wird, bevor versucht wird, einen Abstand zu dem Zielfahrzeug beizubehalten. Somit kann die mindestens eine Verarbeitungsvorrichtung in normalen Situationen basierend auf dem identifizierten Navigationszustand des Host-Fahrzeugs eine erste Navigationsaktion für das Host-Fahrzeug bestimmen, die sowohl die erste vordefinierte Navigationsbeschränkung als auch die zweite vordefinierte Navigationsbeschränkung erfüllt, wobei sowohl die erste vordefinierte Navigationsbeschränkung als auch die zweite vordefinierte Navigationsbeschränkung erfüllt werden kann, wie in Schritt 1311 gezeigt. In anderen Situationen jedoch, in denen nicht alle implizierten Beschränkungen erfüllt werden können, kann die mindestens eine Verarbeitungsvorrichtung basierend auf den identifizierten Navigationszustand bestimmen, eine zweite Navigationsaktion für das Host-Fahrzeug bestimmen, die die zweite vordefinierte Navigationsbeschränkung (d. h. die Beschränkung mit höherer Priorität) erfüllt, aber die erste vordefinierte Navigationsbeschränkung (mit einer niedrigeren Priorität als die zweite Navigationsbeschränkung) nicht erfüllt, wobei die erste vordefinierte Navigationsbeschränkung und die zweite vordefinierte Navigationsbeschränkung nicht beide erfüllt werden können, wie in Schritt 1313 gezeigt wird.
-
Als Nächstes kann bei Schritt 1315 zum Implementieren der bestimmten Navigationsaktionen für das Host-Fahrzeug die mindestens eine Verarbeitungsvorrichtung als Reaktion auf die bestimmte erste Navigationsaktion oder die bestimmte zweite Navigationsaktion für das Host-Fahrzeug mindestens eine Einstellung eines Navigationsaktuators des Host-Fahrzeugs veranlassen. Wie in dem vorherigen Beispiel kann der Navigationsaktuator mindestens einen von einem Lenkmechanismus, einer Bremse oder einem Gaspedal aufweisen.
-
Beschränkungslockerung
-
Wie oben diskutiert, können aus Sicherheitsgründen Navigationsbeschränkungen auferlegt werden. Die Beschränkungen können unter anderem einen minimalen sicheren Fahrabstand in Bezug auf einen Fußgänger, ein Zielfahrzeug, eine Straßensperre oder ein erkanntes Objekt, eine maximale Fahrgeschwindigkeit beim Passieren innerhalb einer Einflusszone eines erkannten Fußgängers oder eine maximale Verzögerungsrate für das Host-Fahrzeug aufweisen. Diese Beschränkungen können einem lernenden oder nicht lernenden Navigationssystem auferlegt werden. In bestimmten Situationen können diese Beschränkungen gelockert werden. Wenn beispielsweise das Host-Fahrzeug langsamer wird, oder in der Nähe eines Fußgängers anhält und dann langsam weiterfährt, um eine Absicht zu übermitteln, an dem Fußgänger vorbeizukommen, kann eine Reaktion des Fußgängers aus erfassten Bildern erkannten werden. Wenn die Reaktion des Fußgängers darin besteht, stehen zu bleiben oder sich nicht mehr zu bewegen (und/oder wenn Augenkontakt mit dem Fußgänger erfasst wird), kann verstanden werden, dass der Fußgänger eine Absicht des Navigationssystems erkennt, an dem Fußgänger vorbeizukommen. In solchen Situationen kann das System eine oder mehrere vordefinierte Beschränkungen lockern und eine weniger strenge Beschränkung implementieren (z. B. dem Fahrzeug erlauben, innerhalb von 0,5 Metern von einem Fußgänger statt innerhalb einer strengeren 1-Meter-Grenze zu navigieren).
-
14 liefert ein Flussdiagramm zum Implementieren einer Steuerung des Host-Fahrzeugs basierend auf einer Lockerung einer oder mehrerer Navigationsbeschränkungen. Bei Schritt 1401 kann die mindestens eine Verarbeitungsvorrichtung von einer dem Host-Fahrzeug zugeordneten Kamera eine Vielzahl von Bildern empfangen, die eine Umgebung des Host-Fahrzeugs darstellen. Die Analyse der Bilder in Schritt 1403 kann ein Identifizieren eines dem Host-Fahrzeug zugeordneten Navigationszustands ermöglichen. Bei Schritt 1405 kann der mindestens eine Prozessor Navigationsbeschränkungen bestimmen, die dem Navigationszustand des Host-Fahrzeugs zugeordnet sind. Die Navigationsbeschränkungen können eine erste vordefinierte Navigationsbeschränkung aufweisen, die durch mindestens einem Aspekt des Navigationszustands impliziert wird. Bei Schritt 1407 kann die Analyse der Vielzahl von Bildem das Vorhandensein mindestens eines Lockerungsfaktors für Navigationsbeschränkungen offenbaren.
-
Ein Lockerungsfaktor für Navigationsbeschränkungen kann jeden geeigneten Indikator, dass eine oder mehrere Navigationsbeschränkungen in mindestens einem Aspekt ausgesetzt, geändert oder anderweitig gelockert werden können, aufweisen. In einigen Ausführungsformen kann der mindestens eine Lockerungsfaktor für Navigationsbeschränkungen eine Bestimmung (basierend auf einer Bildanalyse) aufweisen, dass die Augen eines Fußgängers in eine Richtung des Host-Fahrzeugs blicken. In solchen Fällen kann mit größerer Sicherheit davon ausgegangen werden, dass der Fußgänger das Host-Fahrzeug wahrnimmt. Als Ergebnis kann ein Konfidenzniveau, dass der Fußgänger keine unerwarteten Aktionen durchführt, die bewirken, dass sich der Fußgänger in einen Weg des Host-Fahrzeugs bewegt, höher sein. Es können auch andere Zwangslockerungsfaktoren verwendet werden. Beispielsweise kann der mindestens eine Lockerungsfaktor für Navigationsbeschränkungen aufweisen: einen Fußgänger, der als sich nicht bewegend bestimmt wird (z. B. einer, von dem angenommen wird, dass er mit geringerer Wahrscheinlichkeit in einen Pfad des Host-Fahrzeugs eintritt); oder einen Fußgänger, dessen Bewegung als langsam bestimmt wird. Der Lockerungsfaktor für die Navigationsbeschränkung kann auch kompliziertere Aktionen aufweisen, wie z. B., dass bestimmt wird, dass sich ein Fußgänger nicht bewegt, nachdem das Host-Fahrzeug gestoppt hat und dann die Bewegung wieder aufgenommen hat. In einer solchen Situation kann angenommen werden, dass der Fußgänger versteht, dass das Host-Fahrzeug Vorfahrt hat, und der Fußgänger, der anhält, kann eine Absicht des Fußgängers andeuten, dem Host-Fahrzeug auszuweichen. Andere Situationen, die dazu führen können, dass eine oder mehrere Beschränkungen gelockert werden, umfassen die Art des Bordsteins (z. B. könnte ein niedriger Bordstein oder einer mit einer allmählichen Neigung eine gelockerte Abstandsbeschränkung ermöglichen), das Fehlen von Fußgängern oder anderen Objekten auf dem Bürgersteig, ein Fahrzeug mit nicht laufendem Motor, das einen entspannten Abstand haben kann, oder eine Situation, in der ein Fußgänger abgewandt ist und/oder sich von dem Bereich entfernt, auf den das Host-Fahrzeug zusteuert.
-
Wenn das Vorhandensein eines Navigationsbeschränkungs-Lockerungsfaktors identifiziert wird (z. B. in Schritt 1407), kann eine zweite Navigationsbeschränkung als Reaktion auf die Erkennung des Beschränkungs-Lockerungsfaktors bestimmt oder entwickelt werden. Diese zweite Navigationsbeschränkung kann sich von der ersten Navigationsbeschränkung unterscheiden und kann mindestens eine Eigenschaft aufweisen, die in Bezug auf die erste Navigationsbeschränkung gelockert ist. Die zweite Navigationsbeschränkung kann eine neu erzeugte Beschränkung basierend auf der ersten Beschränkung aufweisen, wobei die neu erzeugte Beschränkung mindestens eine Modifizierung aufweist, die die erste Beschränkung in mindestens einer Hinsicht lockert. Alternativ kann die zweite Beschränkung eine vorbestimmte Beschränkung bilden, die in mindestens einer Hinsicht weniger streng als die erste Navigationsbeschränkung ist. In einigen Ausführungsformen können solche zweiten Beschränkungen zur Verwendung nur für Situationen reserviert sein, in denen ein Beschränkungs-Lockerungsfaktor in einer Umgebung des Host-Fahrzeugs identifiziert wird. Unabhängig davon, ob die zweite Beschränkung neu erzeugt oder aus einem Satz vollständig oder teilweise verfügbarer vorbestimmter Beschränkungen ausgewählt wird, kann die Anwendung einer zweiten Navigationsbeschränkung anstelle einer strengeren ersten Navigationsbeschränkung (die angewendet werden kann, wenn kein relevanter Lockerungsfaktor der Navigationsbeschränkung erkannt wird) als Beschränkungslockerung bezeichnet werden und kann in Schritt 1409 erreicht werden.
-
Wenn bei Schritt 1407 mindestens ein Beschränkungs-Lockerungsfaktor erkannt wird und bei Schritt 1409 mindestens eine Beschränkung gelockert wurde, kann bei Schritt 1411 eine Navigationsaktion für das Host-Fahrzeug bestimmt werden. Die Navigationsaktion für das Host-Fahrzeug kann auf dem identifizierten Navigationszustand basieren und kann die zweite Navigationsbeschränkung erfüllen. Die Navigationsaktion kann bei Schritt 1413 implementiert werden, indem mindestens eine Einstellung eines Navigationsaktuators des Host-Fahrzeugs als Reaktion auf die bestimmte Navigationsaktion veranlasst wird.
-
Wie oben diskutiert, kann die Verwendung von Navigationsbeschränkungen und gelockerten Navigationsbeschränkungen mit Navigationssystemen verwendet werden, die trainiert sind (z. B. durch maschinelles Lernen) oder untrainiert sind (z. B. Systeme, die so programmiert sind, dass sie als Reaktion auf bestimmte Navigationszustände mit vorbestimmten Aktionen reagieren). Wo trainierte Navigationssysteme verwendet werden, kann die Verfügbarkeit gelockerter Navigationsbeschränkungen für bestimmte Navigationssituationen einen Moduswechsel von einer trainierten Systemreaktion zu einer untrainierten Systemreaktion darstellen. Beispielsweise kann ein trainiertes Navigationsnetz eine ursprüngliche Navigationsaktion für das Host-Fahrzeug basierend auf der ersten Navigationsbeschränkung bestimmen. Die von dem Fahrzeug durchgeführte Aktion kann sich jedoch von der Navigationsaktion unterscheiden, die die erste Navigationsbeschränkung erfüllt. Vielmehr kann die getätigte Aktion die gelockerte zweite Navigationsbeschränkung erfüllen, und kann eine Aktion sein, die von einem nicht trainierten System entwickelt wird (z. B. als Reaktion auf die Erkennung einer bestimmten Bedingung in der Umgebung des Host-Fahrzeugs, wie etwa das Vorhandensein eines Lockerungsfaktors für Navigationsbeschränkungen).
-
Es gibt viele Beispiele für Navigationsbeschränkungen, die als Reaktion auf die Erkennung eines Beschränkungs-Lockerungsfaktors in der Umgebung des Host-Fahrzeugs gelockert werden können. Wenn beispielsweise eine vordefinierte Navigationsbeschränkung eine Pufferzone aufweist, die einem erkannten Fußgänger zugeordnet ist, und sich mindestens ein Teil der Pufferzone mit einem Abstand zu dem erkannten Fußgänger erstreckt, kann eine gelockerte Navigationsbeschränkung (entweder neu entwickelt, aus dem Speicher aus einem vorbestimmter Satz abgerufen, oder als gelockerte Version einer bereits bestehenden Beschränkung erzeugt) eine andere oder modifizierte Pufferzone aufweisen. Beispielsweise kann die andere oder modifizierte Pufferzone einen Abstand bezüglich des Fußgängers aufweisen, der geringer ist als die ursprüngliche oder unveränderte Pufferzone bezüglich des erkannten Fußgängers. Infolgedessen kann dem Host-Fahrzeug in Anbetracht der gelockerten Beschränkung gestattet werden, näher an einen erkannten Fußgänger heranzufahren, wenn ein geeigneter Beschränkungs-Lockerungsfaktor in der Umgebung des Host-Fahrzeugs erkannt wird.
-
Eine gelockerte Eigenschaft einer Navigationsbeschränkung kann eine verringerte Breite in einer Pufferzone aufweisen, die mindestens einem Fußgänger zugeordnet ist, wie oben angemerkt. Die gelockerte Eigenschaft kann jedoch auch eine verringerte Breite in einer Pufferzone aufweisen, die einem Zielfahrzeug, einem erfassten Objekt, einer Straßenbegrenzung oder einem beliebigen anderen Objekt, das in der Umgebung des Host-Fahrzeugs erfasst wird, zugeordnet ist.
-
Die mindestens eine gelockerte Eigenschaft kann auch andere Arten von Modifizierungen in Navigationsbeschränkungseigenschaften aufweisen. Beispielsweise kann die gelockerte Eigenschaft eine Erhöhung der Geschwindigkeit aufweisen, die mindestens einer vordefinierten Navigationsbeschränkung zugeordnet ist. Die gelockerte Eigenschaft kann auch eine Erhöhung einer maximal zulässigen Verzögerung/Beschleunigung aufweisen, die mindestens einer vordefinierten Navigationsbeschränkung zugeordnet ist.
-
Während Beschränkungen in bestimmten Situationen gelockert werden können, wie oben beschrieben, können Navigationsbeschränkungen in anderen Situationen erweitert werden. Beispielsweise kann ein Navigationssystem in einigen Situationen bestimmen, dass Bedingungen eine Erweiterung eines normalen Satzes von Navigationsbeschränkungen rechtfertigen. Eine solche Erweiterung kann das Hinzufügen neuer Beschränkungen zu einem vordefinierten Satz von Beschränkungen oder das Anpassen eines oder mehrerer Aspekte einer vordefinierten Beschränkung aufweisen. Das Hinzufügen oder Anpassen kann eine konservativere Navigation bezüglich des vordefinierten Satzes von Beschränkungen, die unter normalen Fahrbedingungen anwendbar sind, zur Folge haben. Bedingungen, die eine Beschränkungserweiterung rechtfertigen können, können einen Sensorausfall, ungünstige Umgebungsbedingungen (Regen, Schnee, Nebel, oder andere Bedingungen, die einer eingeschränkten Sicht oder einer verringerten Fahrzeugtraktion zugeordnet sind), usw. aufweisen.
-
15 liefert ein Flussdiagramm zum Implementieren einer Steuerung des Host-Fahrzeugs basierend auf einer Erweiterung einer oder mehrerer Navigationsbeschränkungen. Bei Schritt 1501 kann die mindestens eine Verarbeitungsvorrichtung von einer dem Host-Fahrzeug zugeordneten Kamera eine Vielzahl von Bildern empfangen, die eine Umgebung des Host-Fahrzeugs darstellen. Die Analyse der Bilder in Schritt 1503 kann die Identifizierung eines dem Host-Fahrzeug zugeordneten Navigationszustands ermöglichen. Bei Schritt 1505 kann der mindestens eine Prozessor Navigationsbeschränkungen bestimmen, die dem Navigationszustand des Host-Fahrzeugs zugeordnet sind. Die Navigationsbeschränkungen können eine erste vordefinierte Navigationsbeschränkung aufweisen, die von mindestens einem Aspekt des Navigationszustands impliziert wird. Bei Schritt 1507 kann die Analyse der Vielzahl von Bildem das Vorhandensein mindestens eines Navigationsbeschränkungs-Erweiterungsfaktors offenbaren.
-
Eine implizierte Navigationsbeschränkung kann jede der oben diskutierten Navigationsbeschränkungen (z. B. in Bezug auf 12) oder jede andere geeignete Navigationsbeschränkung aufweisen. Ein Navigationsbeschränkungs-Erweiterungsfaktor kann jeden Indikator, dass eine oder mehrere Navigationsbeschränkungen in mindestens einem Aspekt ergänzt/erweitert werden können, aufweisen. Die Ergänzung oder Erweiterung von Navigationsbeschränkungen kann pro Satz durchgeführt werden (z. B. durch Hinzufügen neuer Navigationsbeschränkungen zu einem vorbestimmten Satz von Beschränkungen), oder kann pro Beschränkung durchgeführt werden (z. B. Modifizieren einer bestimmten Beschränkung, so dass die modifizierte Beschränkung einschränkender ist als das Original, oder Hinzufügen einer neuen Beschränkung, die einer vorbestimmten Beschränkung entspricht, wobei die neue Beschränkung in mindestens einem Aspekt restriktiver ist als die entsprechende Beschränkung). Zusätzlich oder alternativ kann sich die Ergänzung oder Erweiterung von Navigationsbeschränkungen auf eine Auswahl aus einem Satz von vorbestimmten Beschränkungen basierend auf einer Hierarchie beziehen. Beispielsweise kann ein Satz von erweiterten Beschränkungen zur Auswahl verfügbar sein, basierend darauf, ob ein Navigationserweiterungsfaktor in der Umgebung oder bezüglich des Host-Fahrzeugs erkannt wird. Unter normalen Bedingungen, wo kein Vergrößerungsfaktor erkannt wird, können die implizierten Navigationsbeschränkungen aus Beschränkungen gezogen werden, die auf normale Bedingungen anwendbar sind. Wenn andererseits ein oder mehrere Beschränkungs-Erweiterungsfaktoren erkannt werden, können die implizierten Beschränkungen aus erweiterten Beschränkungen gezogen werden, die bezüglich des einen oder den mehreren Erweiterungsfaktoren entweder erzeugt oder vordefiniert sind. Die erweiterten Beschränkungen können in mindestens einem Aspekt restriktiver sein als entsprechende Beschränkungen, die unter normalen Bedingungen anwendbar sind.
-
In einigen Ausführungsformen kann der mindestens eine Navigationsbeschränkungs-Erweiterungsfaktor eine Erkennung (z. B. basierend auf einer Bildanalyse) des Vorhandenseins von Eis, Schnee oder Wasser auf einer Oberfläche einer Straße in der Umgebung des Host-Fahrzeugs aufweisen. Eine solche Bestimmung kann beispielsweise auf der Erkennung basieren von: Bereiche von Reflexionen, die höher sind als für trockene Fahrspuren erwartet (z. B. ein Hinweis auf Eis oder Wasser auf der Fahrspur); weiße Bereiche auf der Straße, die das Vorhandensein von Schnee anzeigen; Schatten auf der Fahrspur, die mit dem Vorhandensein von Längsgräben (z. B. Reifenspuren im Schnee) auf der Fahrspur übereinstimmen; Wassertropfen oder Eis-/Schneepartikel auf der Windschutzscheibe des Host-Fahrzeugs; oder jedem anderen geeigneten Indikator für das Vorhandensein von Wasser oder Eis/Schnee auf einer Straßenoberfläche.
-
Der mindestens eine Navigationsbeschränkungs-Erweiterungsfaktor kann auch die Erkennung von Partikeln auf einer Außenfläche einer Windschutzscheibe des Host-Fahrzeugs aufweisen. Solche Partikel können die Bildqualität einer oder mehrerer Bildaufnahmevorrichtungen, die dem Host-Fahrzeug zugeordnet sind, beeinträchtigen. Obwohl in Bezug auf eine Windschutzscheibe des Host-Fahrzeugs beschrieben, was für Kameras relevant ist, die hinter der Windschutzscheibe des Host-Fahrzeugs montiert sind, kann auch die Erkennung von Partikeln auf anderen Oberflächen (z. B. einer Linse oder Linsenabdeckung einer Kamera, einer Scheinwerferlinse, einer Heckscheibe, einer Rücklichtlinse oder jeder anderen Oberfläche des Host-Fahrzeugs, die für eine Bildaufnahmevorrichtung sichtbar ist (oder von einem Sensor erkannt wird), die dem Host-Fahrzeug zugeordnet sind, das Vorhandensein eines Navigationsbeschränkungs-Erweiterungsfaktors anzeigen.
-
Der Navigationsbeschränkungs-Erweiterungsfaktor kann auch als ein Attribut einer oder mehrerer Bildaufnahmevorrichtungen erkannt werden. Beispielsweise kann eine erkannte Abnahme der Bildqualität eines oder mehrerer Bilder, die von einer Bildaufnahmevorrichtung (z. B. einer Kamera) aufgenommen wurden, die dem Host-Fahrzeug zugeordnet ist, einen Navigationsbeschränkungs-Erweiterungsfaktor darstellen. Eine Abnahme der Bildqualität kann einem Hardwarefehler oder teilweise einem Hardwarefehler, der der Bildaufnahmevorrichtung oder einer mit dem Bildaufnahmevorrichtung verknüpften Baugruppe zugeordnet ist, zugeordnet sein. Eine solche Verschlechterung der Bildqualität kann auch durch Umgebungsbedingungen verursacht werden. Beispielsweise kann das Vorhandensein von Rauch, Nebel, Regen, Schnee usw. in der das Host-Fahrzeug umgebenden Luft ebenfalls zu einer verringerten Bildqualität in Bezug auf die Straße, Fußgänger, Zielfahrzeuge usw., die in einer Umgebung des Host-Fahrzeugs vorhanden sein können, beitragen.
-
Der Navigationsbeschränkungs-Erweiterungsfaktor kann sich auch auf andere Aspekte des Host-Fahrzeugs beziehen. Beispielsweise kann der Navigationsbeschränkungs-Erweiterungsfaktor in einigen Situationen einen erkannten Ausfall oder teilweisen Ausfall eines Systems oder Sensors, der dem Host-Fahrzeug zugeordnet ist, aufweisen. Ein solcher Erweiterungsfaktor kann beispielsweise die Erkennung eines Ausfalls oder teilweisen Ausfalls eines Geschwindigkeitssensors, eines GPS-Empfängers, eines Beschleunigungsmessers, einer Kamera, eines Radars, eines Lidar, von Bremsen, Reifen oder eines beliebigen anderen Systems aufweisen, das dem Host-Fahrzeug zugeordnet ist und die Fähigkeit des Host-Fahrzeugs beeinträchtigen kann, relativ zu Navigationsbeschränkungen, die einem Navigationszustand des Host-Fahrzeugs zugeordnet sind, zu navigieren.
-
Wenn das Vorhandensein eines Navigationsbeschränkungs-Erweiterungsfaktors identifiziert wird (z. B. in Schritt 1507), kann eine zweite Navigationsbeschränkung als Reaktion auf die Erkennung des Beschränkungs-Erweiterungsfaktors bestimmt oder entwickelt werden. Diese zweite Navigationsbeschränkung kann sich von der ersten Navigationsbeschränkung unterscheiden und kann mindestens eine Eigenschaft aufweisen, die in Bezug auf die erste Navigationsbeschränkung erweitert ist. Die zweite Navigationsbeschränkung kann restriktiver sein als die erste Navigationsbeschränkung, da die Erkennung eines Beschränkungs-Erweiterungsfaktors in der Umgebung des Host-Fahrzeugs oder in Verbindung mit dem Host-Fahrzeug darauf hindeuten kann, dass das Host-Fahrzeug mindestens eine diesbezüglich verringerte Navigationsfähigkeit bezüglich normaler Betriebsbedingungen aufweisen kann. Solche verringerten Fähigkeiten können eine verringerte Straßentraktion (z. B. Eis, Schnee oder Wasser auf einer Fahrspur; verringerter Reifendruck; usw.); Sichtstörungen (z. B. Regen, Schnee, Staub, Rauch, Nebel usw., wodurch die Qualität der aufgenommenen Bilder verringert wird); beeinträchtigte Erkennungsfähigkeit (z. B. Sensorausfall oder teilweiser Ausfall, verringerte Sensorleistung, usw.) oder jede andere Verringerung der Fähigkeit des Host-Fahrzeugs, als Reaktion auf einen erkannten Navigationszustand zu navigieren, aufweisen.
-
Wenn bei Schritt 1507 mindestens ein Beschränkungs-Erweiterungsfaktor erkannt wird und bei Schritt 1509 mindestens eine Beschränkung erweitert wurde, kann bei Schritt 1511 eine Navigationsaktion für das Host-Fahrzeug bestimmt werden. Die Navigationsaktion für das Host-Fahrzeug kann auf dem identifizierten Navigationszustand basieren und kann die zweite (d. h. erweiterte) Navigationsbeschränkung erfüllen. Die Navigationsaktion kann bei Schritt 1513 implementiert werden, indem mindestens eine Einstellung eines Navigationsaktuators des Host-Fahrzeugs als Reaktion auf die bestimmte Navigationsaktion veranlasst wird.
-
Wie diskutiert, kann die Verwendung von Navigationsbeschränkungen und erweiterten Navigationsbeschränkungen mit Navigationssystemen verwendet werden, die trainiert sind (z. B. durch maschinelles Lernen) oder nicht trainiert sind (z. B. Systeme, die so programmiert sind, dass sie mit vorbestimmten Aktionen als Reaktion auf bestimmte Navigationszustände reagieren). Wo trainierte Navigationssysteme verwendet werden, kann die Verfügbarkeit erweiterter Navigationsbeschränkungen für bestimmte Navigationssituationen einen Moduswechsel von einer trainierten Systemreaktion zu einer untrainierten Systemreaktion darstellen. Beispielsweise kann ein trainiertes Navigationsnetz eine ursprüngliche Navigationsaktion für das Host-Fahrzeug basierend auf der ersten Navigationsbeschränkung bestimmen. Die von dem Fahrzeug durchgeführte Aktion kann sich jedoch von der Navigationsaktion unterscheiden, die die erste Navigationsbeschränkung erfüllt. Vielmehr kann die getätigte Aktion die erweiterte zweite Navigationsbeschränkung erfüllen, und kann eine Aktion sein, die von einem nicht trainierten System entwickelt wird (z. B. als Reaktion auf die Erkennung einer bestimmten Bedingung in der Umgebung des Host-Fahrzeugs, wie etwa das Vorhandensein eines erweiterten Faktors für Navigationsbeschränkungen).
-
Es gibt viele Beispiele für Navigationsbeschränkungen, die als Reaktion auf die Erkennung eines Beschränkungs-Erweiterungsfaktors in der Umgebung des Host-Fahrzeugs erzeugt, ergänzt oder erweitert werden können. Wenn beispielsweise eine vordefinierte Navigationsbeschränkung eine Pufferzone aufweist, die einem erkannten Fußgänger, Objekt, Fahrzeug usw. zugeordnet ist, und sich mindestens ein Teil der Pufferzone über einen Abstand von dem erkannten Fußgänger/Objekt/Fahrzeug erstreckt, kann eine erweiterte Navigationsbeschränkung (entweder neu entwickelt, aus einem vorbestimmten Satz aus dem Speicher abgerufen, oder als erweiterte Version einer bereits bestehenden Beschränkung erzeugt) eine andere oder modifizierte Pufferzone aufweisen. Beispielsweise kann die andere oder modifizierte Pufferzone einen Abstand bezüglich des Fußgängers/Objekts/Fahrzeugs aufweisen, der größer ist als die ursprüngliche oder unveränderte Pufferzone bezüglich des erkannten Fußgängers/Objekts/Fahrzeugs. Infolgedessen kann das Host-Fahrzeug in Anbetracht der erweiterten Beschränkung gezwungen sein, sich weiter von dem erkannten Fußgänger/Objekt/Fahrzeug zu entfernen, wenn ein geeigneter Beschränkungs-Erweiterungsfaktor in der Umgebung des Host-Fahrzeugs oder bezüglich des Host-Fahrzeugs erkannt wird.
-
Die mindestens eine erweiterte Eigenschaft kann auch andere Arten von Modifizierungen in Navigationsbeschränkungseigenschaften aufweisen. Beispielsweise kann die erweiterte Eigenschaft eine Geschwindigkeitsabnahme aufweisen, die mindestens einer vordefinierten Navigationsbeschränkung zugeordnet ist. Die erweiterte Eigenschaft kann auch eine Verringerung einer maximal zulässigen Verzögerung/Beschleunigung aufweisen, die mindestens einer vordefinierten Navigationsbeschränkung zugeordnet ist.
-
Navigation basierend auf langfristiger Planung
-
In einigen Ausführungsformen kann das offenbarte Navigationssystem nicht nur auf einen erkannten Navigationszustand in einer Umgebung des Host-Fahrzeugs reagieren, sondern kann auch eine oder mehrere Navigationsaktionen basierend auf einer langfristigen Planung bestimmen. Beispielsweise kann das System die potenzielle Auswirkung auf zukünftige Navigationszustände einer oder mehrerer Navigationsaktionen berücksichtigen, die als Optionen zum Navigieren in Bezug auf einen erkannten Navigationszustand verfügbar sind. Die Berücksichtigung der Auswirkungen verfügbarer Aktionen auf zukünftige Zustände kann das Navigationssystem in die Lage versetzen, Navigationsaktionen nicht nur basierend auf einem aktuell erkannten Navigationszustands, sondern auch basierend auf einer langfristigen Planung zu bestimmen. Navigation unter Verwendung von langfristigen bzw. Langstrecken-Planungstechniken kann besonders anwendbar sein, wenn eine oder mehrere Belohnungsfunktionen von dem Navigationssystem als eine Technik zum Auswählen von Navigationsaktionen aus verfügbaren Optionen verwendet werden. Mögliche Belohnungen können in Bezug auf die verfügbaren Navigationsaktionen analysiert werden, die als Reaktion auf einen erkannten aktuellen Navigationszustand des Host-Fahrzeugs unternommen werden können. Ferner können die potenziellen Belohnungen jedoch auch in Bezug auf Aktionen analysiert werden, die als Reaktion auf zukünftige Navigationszustände getätigt werden können, die prognostiziert werden, um aus den verfügbaren Aktionen zu einem aktuellen Navigationszustand zu resultieren. Infolgedessen kann das offenbarte Navigationssystem in einigen Fällen eine Navigationsaktion als Reaktion auf einen erkannten Navigationszustand auswählen, selbst wenn die ausgewählte Navigationsaktion unter den verfügbaren Aktionen, die als Reaktion auf den aktuellen Navigationszustand getätigt werden können, möglicherweise nicht die höchste Belohnung ergibt. Dies kann insbesondere dann der Fall sein, wenn das System bestimmt, dass die ausgewählte Aktion zu einem zukünftigen Navigationszustand führen kann, der zu einer oder mehreren potenziellen Navigationsaktionen führt, die höhere Belohnungen bieten als die ausgewählte Aktion oder, in einigen Fällen, eine der verfügbaren Aktionen bezüglich des aktuellen Navigationszustands. Das Prinzip lässt sich einfacher so ausdrücken, dass jetzt eine weniger günstige Aktion getätigt wird, um in Zukunft höhere Belohnungsoptionen zu erzielen. Somit kann das offenbarte Navigationssystem, das zu der langfristigen Planung in der Lage ist, eine suboptimale kurzfristige Aktion wählen, wenn eine langfristige Vorhersage anzeigt, dass ein kurzfristiger Belohnungsverlust zu langfristigen Belohnungsgewinnen führen kann.
-
Im Allgemeinen können autonome Fahranwendungen eine Reihe von Planungsproblemen aufweisen, bei denen das Navigationssystem über sofortige Aktionen entscheiden kann, um ein längerfristiges Ziel zu optimieren. Wenn beispielsweise ein Fahrzeug an einem Kreisverkehr mit einer Einfädelsituation konfrontiert wird, kann das Navigationssystem über einen sofortigen Beschleunigungs- oder Bremsbefehl entscheiden, um die Navigation in den Kreisverkehr einzuleiten. Während die unmittelbare Aktion auf den erkannten Navigationszustand in dem Kreisverkehr einen Beschleunigungs- oder Bremsbefehl als Reaktion auf den erkannten Zustand aufweisen kann, ist das langfristige Ziel ein erfolgreiches Einfädeln, und die langfristige Wirkung des ausgewählten Befehls ist der Erfolg/das Scheitern des Einfädelns. Das Planungsproblem kann angegangen werden, indem das Problem in zwei Phasen zerlegt wird. Erstens kann überwachtes Lernen zum Vorhersagen der nahen Zukunft basierend auf der Gegenwart angewendet werden (unter der Annahme, dass der Prädiktor in Bezug auf die Darstellung der Gegenwart differenzierbar ist). Zweitens kann eine vollständige Trajektorie des Agierenden unter Verwendung eines rekurrenten neuronalen Netzes modelliert werden, wobei unerklärliche Faktoren als (additive) Eingangsknoten modelliert werden. Dies kann ermöglichen, dass Lösungen für das langfristige Planungsproblem unter Verwendung von überwachten Lerntechniken und direkter Optimierung über das rekurrente neuronale Netz bestimmt werden. Ein solcher Ansatz kann auch das Erlernen robuster Richtlinien ermöglichen, indem gegensätzliche Elemente in der Umgebung einbezogen werden.
-
Zwei der grundlegendsten Elemente autonomer Fahrsysteme sind Erfassung und Planung. Bei der Erfassung es darum, eine kompakte Darstellung des gegenwärtigen Zustands der Umgebung zu finden, während sich die Planung mit der Entscheidung befasst, welche Aktionen zu tätigen sind, um zukünftige Ziele zu optimieren. Techniken des überwachten maschinellen Lernens sind nützlich, um Erfassungsprobleme zu lösen. Algorithmische Rahmenwerke für maschinelles Lernen können auch für den Planungsteil verwendet werden, insbesondere Rahmenwerke für verstärkendes Lernen (RL), wie die oben beschriebenen.
-
RL kann in einer Folge aufeinanderfolgender Runden durchgeführt werden. Bei Runde t kann der Planer (alias der Agierende oder das Fahrrichtlinienmodul 803) einen Zustand, st ∈ S, beobachten, der sowohl den Agierenden als auch die Umgebung darstellt. Er soll dann über eine Aktion at ∈ A entscheiden. Nach Ausführung der Aktion erhält der Agierende eine sofortige Belohnung, rt ∈ ℝ, und wird in einen neuen Zustand, st+1, versetzt. Beispielsweise kann das Host-Fahrzeug ein adaptives Tempomat- (ACC) System aufweisen, in dem das Fahrzeug autonom beschleunigen/bremsen sollte, um einen angemessenen Abstand zu einem vorausfahrenden Fahrzeug beizubehalten, während eine reibungslose Fahrt beibehalten wird. Der Zustand kann als Paar, st = (xt, vt) ∈ ℝ2, modelliert werden, wobei xt der Abstand zu dem vorausfahrenden Fahrzeug und vt die Geschwindigkeit des Host-Fahrzeugs relativ zu der Geschwindigkeit des vorausfahrenden Fahrzeugs ist. Die Aktion at ∈ ℝ ist der Beschleunigungsbefehl (bei dem das Host-Fahrzeug langsamer wird, wenn es at < 0 ist). Die Belohnung kann eine Funktion sein, die von |at| (was die Laufruhe widerspiegelt) und von st (was widerspiegelt, dass das Host-Fahrzeug einen Sicherheitsabstand zum vorausfahrenden Fahrzeug einhält) abhängig ist. Das Ziel des Planers ist es, die kumulierte Belohnung zu maximieren (eventuell bis zu einem Zeithorizont oder einer diskontierten Summe zukünftiger Belohnungen). Dazu kann sich der Planer auf eine Richtlinie, π : S → A, verlassen, die einen Zustand auf eine Aktion abbildet.
-
Überwachtes Lernen (SL) kann als Spezialfall von RL angesehen werden, in dem st aus einer Verteilung über S abgetastet wird und die Belohnungsfunktion die Form rt = -ℓ(at, yt) haben kann, wobei ℓ eine Verlustfunktion ist, und der Lerner der Wert von yt beobachtet, der der (möglicherweise verrauschte) Wert der optimalen Aktion ist, die beim Betrachten des Zustands st zu tätigen ist. Es kann mehrere Unterschiede zwischen einem allgemeinen RL-Modell und einem spezifischen Fall von SL geben, und diese Unterschiede können das allgemeine RL-Problem herausfordernder machen.
-
In einigen SL-Situationen haben die von dem Lerner getätigten Aktionen (oder Vorhersagen) möglicherweise keine Auswirkung auf die Umgebung. Mit anderen Worten, st+1 und at sind unabhängig. Dies kann zwei wichtige Implikationen haben. Erstens kann in dem SL eine Probe (s1,y1), ..., (sm,ym) im Voraus gesammelt werden, und erst dann kann die Suche nach einer Richtlinie (oder einem Prädiktor) beginnen, die bezüglich der Probe eine gute Genauigkeit aufweist. Im Gegensatz dazu hängt bei dem RL der Zustand st+1 normalerweise von der durchgeführten Aktion (und auch vom vorherigen Zustand) ab, der wiederum von der Richtlinie abhängt, die zum Erzeugen der Aktion verwendet wurde. Dies bindet den Datenerzeugungsprozess an den Richtlinien-Lernprozess. Zweitens ist der Beitrag der Wahl von at zu der Leistung von π lokal, da Aktionen die Umgebung beim SL nicht beeinflussen. Insbesondere wirkt sich at nur auf den Wert der unmittelbaren Belohnung aus. Im Gegensatz dazu können sich beim RL-Aktionen, die in Runde t durchgeführt werden, langfristig auf die Belohnungswerte in zukünftigen Runden auswirken.
-
Beim SL kann die Kenntnis der „korrekten“ Antwort, yt, zusammen mit der Form der Belohnung, rt = -ℓ(at, yt), eine vollständige Kenntnis der Belohnung für alle potenziellen Wahlmöglichkeiten von at liefern, was die Berechnung der Ableitung der Belohnung in Bezug auf at ermöglichen kann. Im Gegensatz dazu kann beim RL ein „One-Shot“-Wert der Belohnung alles sein, was für eine bestimmte Auswahl von Aktionen beobachtet werden kann. Dies kann als „Banditen“-Feedback bezeichnet werden. Dies ist einer der wichtigsten Gründe für die Notwendigkeit der „Erkundung“ als Teil der langfristigen Navigationsplanung, da das System in RL-basierten Systemen, wenn nur „Banditen“-Feedback verfügbar ist, möglicherweise nicht immer weiß, ob die Aktion, die durchgeführt wurde, die beste Aktion war.
-
Viele RL-Algorithmen stützen sich mindestens teilweise auf das mathematisch elegante Modell eines Markov-Entscheidungsprozesses (MDP). Die Markovsche Annahme ist, dass die Verteilung von st+1 bei gegebenem st und at vollständig bestimmt ist. Dies ergibt einen Ausdruck in geschlossener Form für die kumulierte Belohnung einer gegebenen Richtlinie hinsichtlich der stationären Verteilung über Zustände des MDP. Die stationäre Verteilung einer Richtlinie kann als Lösung eines linearen Programmierungsproblems ausgedrückt werden. Dies ergibt zwei Familien von Algorithmen: 1) Optimierung in Bezug auf das primäre Problem, das als Richtliniensuche bezeichnet werden kann, und 2) Optimierung in Bezug auf ein duales Problem, dessen Variablen die Wertfunktion, Vπ, genannt werden. Die Wertfunktion bestimmt die erwartete kumulative Belohnung, wenn das MDP beim Anfangszustand, s, beginnt, und von dort aus Aktionen gemäß π ausgewählt werden. Eine verwandte Größe ist die Zustands-Aktionswert-Funktion, Qπ (s, a), die die kumulative Belohnung unter der Annahme eines Starts vom Zustand, s, einer unmittelbar gewählten Aktion, a, und von dort aus gemäß π gewählten Aktionen bestimmt. Die Q-Funktion kann zu einer Charakterisierung der optimalen Richtlinie führen (unter Verwendung der Bellman-Gleichung). Insbesondere kann die Q-Funktion zeigen, dass die optimale Richtlinie eine deterministische Funktion von S nach A ist (tatsächlich kann sie als „gierige“ Richtlinie in Bezug auf die optimale Q-Funktion charakterisiert werden).
-
Ein potenzieller Vorteil des MDP-Modells besteht darin, dass es die Kopplung der Zukunft in die Gegenwart unter Verwendung der Q-Funktion ermöglicht. Beispielsweise kann der Wert von Qπ (s, a) unter der Annahme, dass sich ein Host-Fahrzeug jetzt in dem Zustand s befindet, die Auswirkung der Durchführung der Aktion a auf die Zukunft anzeigen. Daher kann die Q-Funktion ein lokales Maß für die Qualität einer Aktion, a, liefern, wodurch das RL-Problem einem SL-Szenario ähnlicher wird.
-
Viele RL-Algorithmen approximieren die V-Funktion oder die Q-Funktion auf die eine oder andere Weise. Wertiterationsalgorithmen, z. B. der Q-Lernalgorithmus, können sich auf die Tatsache stützen, dass die V- und Q-Funktionen der optimalen Richtlinie Fixpunkte einiger Operatoren sein können, die von der Bellman-Gleichung abgeleitet sind. Akteur-kritische Richtlinien-Iterationsalgorithmen zielen darauf ab, eine Richtlinie auf iterative Weise zu lernen, wobei bei Iteration t der „Kritiker“ Qπt schätzt, und der „Akteur“ basierend auf dieser Schätzung die Richtlinie verbessert.
-
Trotz der mathematischen Eleganz von MDPs und der Bequemlichkeit des Wechselns auf die Q-Funktionsdarstellung kann dieser Ansatz mehrere Beschränkungen aufweisen. Beispielsweise kann in einigen Fällen nur eine ungefähre Vorstellung von einem Markovschen Verhaltenszustand gefunden werden. Darüber hinaus kann der Übergang von Zuständen nicht nur von der Aktion des Agierenden abhängig sein, sondern auch von Aktionen anderer Spieler in der Umgebung. Beispielsweise kann in dem oben erwähnten ACC-Beispiel, während die Dynamik des autonomen Fahrzeugs Markovsch sein kann, der nächste Zustand von dem Verhalten des Fahrers des anderen Autos abhängig sein, das nicht notwendigerweise Markovsch ist. Eine mögliche Lösung für dieses Problem besteht darin, teilweise beobachtete MDPs zu verwenden, bei denen angenommen wird, dass es einen Markov-Zustand gibt, aber eine Beobachtung, die gemäß dem verborgenen Zustand verteilt ist, gesehen werden kann.
-
Ein direkterer Ansatz kann spieltheoretische Verallgemeinerungen von MDPs (z. B. das Stochastic Games Framework) berücksichtigen. Tatsächlich können Algorithmen für MDPs auf Spiele mit mehreren Agierenden verallgemeinert werden (z. B. Minimax-Q-Lernen oder Nash-Q-Lernen). Andere Ansätze können die explizite Modellierung der anderen Spieler und verschwindende Reue-Lernalgorithmen aufweisen. Das Lernen in einer Umgebung mit mehreren Agierenden kann komplexer sein als in einer Umgebung mit einem einzigen Agierenden.
-
Eine zweite Beschränkung der Q-Funktionsdarstellung kann sich ergeben, indem von einer tabellarischen Einstellung abgewichen wird. Die tabellarische Einstellung liegt vor, wenn die Anzahl der Zustände und Aktionen gering ist, und Q daher als Tabelle mit |S| Zeilen und |A| Spalten ausgedrückt werden kann. Wenn jedoch die natürliche Darstellung von S und A euklidische Räume aufweist, und die Zustands- und Aktionsräume diskretisiert sind, kann die Anzahl der Zustände/Aktionen in der Dimension exponentiell sein. In solchen Fällen ist es möglicherweise nicht praktikabel, eine tabellarische Einstellung zu verwenden. Stattdessen kann die Q-Funktion durch irgendeine Funktion aus einer parametrischen Hypothesenklasse (z. B. neuronale Netze einer bestimmten Architektur) angenähert werden. Beispielsweise kann ein Lernalgorithmus eines Deep-Q-Netzes (DQN) verwendet werden. In einem DQN kann der Zustandsraum kontinuierlich sein, aber der Aktionsraum kann eine kleine diskrete Menge bleiben. Es mag Ansätze für den Umgang mit kontinuierlichen Aktionsräumen geben, aber sie können auf der Approximation der Q-Funktion beruhen. In jedem Fall kann die Q-Funktion möglicherweise kompliziert und empfindlich gegenüber Rauschen sein und kann daher schwierig zu erlernen sein.
-
Ein anderer Ansatz kann darin bestehen, das RL-Problem unter Verwendung eines rekurrenten neuronalen Netzes (RNN) anzugehen. In einigen Fällen kann RNN mit den Begriffen von Spielen mit mehreren Agierenden- und Robustheit gegenüber gegnerischen Umgebungen aus der Spieltheorie kombiniert werden. Ferner kann dieser Ansatz einer sein, der nicht ausdrücklich auf einer Markovschen Annahme beruht.
-
Im Folgenden wird ausführlicher ein Ansatz zur Navigation durch Planung basierend auf Vorhersage beschrieben. Bei diesem Ansatz kann angenommen werden, dass der Zustandsraum, S, eine Teilmenge von ℝd ist und der Aktionsraum, A, eine Teilmenge von ℝk ist. Dies kann in vielen Anwendungen eine natürliche Darstellung sein. Wie oben erwähnt, kann es zwei Hauptunterschiede zwischen RL und SL geben: (1) weil vergangene Aktionen zukünftige Belohnungen beeinflussen, müssen Informationen aus der Zukunft möglicherweise zurück in die Vergangenheit weitergegeben werden; und (2) die „Banditen“-Natur von Belohnungen kann die Abhängigkeit zwischen (Zustand, Aktion) und Belohnung verwischen, was den Lernprozess erschweren kann.
-
Als erster Schritt in dem Ansatz kann eine Beobachtung gemacht werden, dass es interessante Probleme gibt, bei denen die Banditen-Natur von Belohnungen kein Problem ist. Beispielsweise kann der Belohnungswert (wie weiter unten ausführlicher diskutiert wird) für die ACC-Anwendung in Bezug auf den aktuellen Zustand und die aktuelle Aktion differenzierbar sein. Tatsächlich kann das Problem des Lernens einer differenzierbaren Funktion, r̂(s, a), so dass r̂(st, at) ≈ rt, ein relativ einfaches SL-Problem sein (z. B. ein eindimensionales Regressionsproblem), selbst wenn die Belohnung auf „Banditen“ -Weise gegeben wird. Daher kann der erste Schritt des Ansatzes darin bestehen, entweder die Belohnung als eine Funktion, r̂(s, a), zu definieren, die in Bezug auf s und a differenzierbar ist, oder einen Regressionslernalgorithmus zu verwenden, um eine differenzierbare Funktion, r̂, zu lernen, die mindestens ein gewisser Regressionsverlust über eine Probe minimiert, wobei der Instanzvektor (st, at) ∈ ℝd × ℝk ist und der Zielskalar rt ist. In manchen Situationen können zur Erstellung eines Trainingssatzes Elemente einer Exploration verwendet werden.
-
Um die Verbindung zwischen Vergangenheit und Zukunft anzusprechen, kann eine ähnliche Idee verwendet werden. Angenommen, beispielsweise, eine differenzierbare Funktion N̂(s, a) kann so gelernt werden, dass N(st, at) ≈ st+1. Das Lernen einer solchen Funktion kann als SL-Problem charakterisiert werden. N̂ kann als Prädiktor für die nahe Zukunft angesehen werden. Als nächstes kann eine Richtlinie, die von S nach A abbildet, unter Verwendung einer parametrischen Funktion πθ : S → A beschrieben werden. Das Ausdrücken von πθ als ein neuronales Netz kann das Ausdrücken einer Episode des Ausführens des Agierenden für T Runden unter Verwendung eines rekurrenten neuronalen Netzes (RNN) ermöglichen, wobei der nächste Zustand als st+1 = N(st, at) + vt definiert ist. Hier kann vt ∈ ℝd von der Umgebung bestimmt sein und unvorhersehbare Aspekte der nahen Zukunft ausdrücken. Die Tatsache, dass ŝt+1 differenzierbar von st und at abhängig ist, kann eine Verbindung zwischen zukünftigen Belohnungswerten und vergangenen Aktionen ermöglichen. Ein Parametervektor der Richtlinienfunktion, πθ, kann durch Back-Propagation über das resultierende RNN gelernt werden. Beachte, dass vt keine expliziten Wahrscheinlichkeitsannahmen auferlegt werden müssen. Insbesondere muss keine Markov-Relation erforderlich sein. Stattdessen kann man sich auf das rekurrente Netz verlassen, um „genügend“ Informationen zwischen Vergangenheit und Zukunft zu verbreiten. Intuitiv kann N̂(st, at) den vorhersehbaren Teil der nahen Zukunft beschreiben, während vt die unvorhersehbaren Aspekte ausdrücken kann, die sich aufgrund des Verhaltens anderer Akteure in der Umgebung ergeben können. Das lernende System sollte eine Richtlinie lernen, die gegenüber dem Verhalten anderer Spieler robust ist. Wenn ||vt|| groß ist, kann die Verbindung zwischen vergangenen Aktionen und zukünftigen Belohnungswerten zu verrauscht sein, um eine sinnvolle Richtlinie zu lernen. Die explizite und transparente Darstellung der Dynamik des Systems kann die Einbeziehung von Vorwissen erleichtern. Beispielsweise kann Vorwissen das Problem der Definition von N̂ vereinfachen.
-
Wie oben diskutiert, kann das lernende System von der Robustheit in Bezug auf eine gegnerische Umgebung profitieren, wie etwa die Umgebung eines Host-Fahrzeugs, das mehrere andere Fahrer aufweisen kann, die auf unerwartete Weise agieren können. In einem Modell, das vt keine probabilistischen Annahmen auferlegt, können Umgebungen betrachtet werden, in denen vt in einer gegensätzlichen Weise gewählt wird. In manchen Fällen können µt Beschränkungen auferlegt werden, ansonsten kann der Gegner das Planungsproblem erschweren oder sogar unmöglich machen. Eine natürliche Beschränkung kann darin bestehen, zu verlangen, dass ||µt|| durch eine Konstante begrenzt wird.
-
Robustheit gegenüber gegnerischen Umgebungen kann in autonomen Fahranwendungen nützlich sein. Eine Wahl von µt auf gegnerische Weise kann den Lernprozess sogar beschleunigen, da es das Lernsystem auf eine robuste optimale Richtlinie ausrichten kann. Ein einfaches Spiel kann verwendet werden, um dieses Konzept zu veranschaulichen. Der Zustand ist st ∈ ℝ, die Aktion ist at ∈ ℝ, und die unmittelbare Verlustfunktion ist 0.1 |at| + p[|st| -2]+,wobei [x]+ = max {x,0} die ReLU- (rektifizierte lineare Einheit) Funktion ist. Der nächste Zustand ist st+1 = st + at + vt, wobei vt ∈ [0.5, 0.5] auf gegnerische Weise für die Umgebung gewählt wird. Hier kann die optimale Richtlinie als zweischichtiges Netzwerk mit ReLU geschrieben werden: at = -[st -1.5]++ [-st - 1.5]+. Beachte, dass, wenn |st| ∈ (1.5.2] ist, die optimale Aktion einen größeren unmittelbaren Verlust haben kann als die Aktion a = 0. Daher kann das System für die Zukunft planen und sich möglicherweise nicht nur auf den unmittelbaren Verlust verlassen. Beachte, dass die Ableitung des Verlusts nach at gleich 0.1sign(at) ist und die Ableitung nach st gleich 1[|st| > 2] sign(st) ist. In einer Situation, in der st ∈ (1.5.2] wäre, wäre die gegnerische Wahl von vt auf vt = 0.5 einzustellen, und daher kann es in Runde t + 1 zu einem Verlust ungleich Null kommen, wann immer at > 1.5 - st ist. In solchen Fällen kann die Ableitung des Verlusts direkt auf at zurückpropagieren. Somit kann die gegnerische Wahl von vt dem Navigationssystem helfen, in Fällen, in denen die Wahl von at suboptimal ist, eine Nicht-Null-Back-Propagation-Nachricht zu erhalten. Eine solche Beziehung kann das Navigationssystem dabei unterstützen, gegenwärtige Aktionen basierend auf einer Erwartung auszuwählen, dass eine solche gegenwärtige Aktion (selbst wenn diese Aktion zu einer suboptimalen Belohnung oder sogar zu einem Verlust führen würde) in der Zukunft Gelegenheiten für optimalere Aktionen bieten wird, die in höheren Belohnungen resultieren.
-
Ein derartiger Ansatz kann auf praktisch jede möglicherweise auftretende Navigationssituation angewendet werden. Im Folgenden wird der Ansatz anhand eines Beispiels beschrieben: Adaptive Abstands- und Geschwindigkeitsregelung (ACC). Bei dem ACC-Problem kann das Host-Fahrzeug versuchen, einen angemessenen Abstand zu einem vorausfahrenden Zielfahrzeug beizubehalten (z. B.
1,5 Sekunden zu dem Zielauto). Ein weiteres Ziel kann darin bestehen, so ruhig wie möglich zu fahren, während der gewünschte Abstand beibehalten wird. Ein Modell, das diese Situation darstellt, kann wie folgt definiert werden. Der Zustandsraum ist ℝ
3, und der Aktionsraum ist ℝ. Die erste Koordinate des Zustands ist die Geschwindigkeit des Zielfahrzeugs, die zweite Koordinate ist die Geschwindigkeit des Host-Fahrzeugs, und die letzte Koordinate ist der Abstand zwischen dem Host-Fahrzeug und dem Zielfahrzeug (z. B. Ort des Host-Fahrzeugs minus dem Ort des Ziels entlang der Straßenkurve). Die von dem Host-Fahrzeug durchzuführende Aktion ist die Beschleunigung und kann mit a
t bezeichnet werden. Die Größe τ kann den Zeitunterschied zwischen aufeinanderfolgenden Runden bezeichnen. Während τ auf jede geeignete Größe eingestellt werden kann, kann τ in einem Beispiel 0,1 Sekunden betragen. Die Position s
t kann als
bezeichnet werden, und die (unbekannte) Beschleunigung des Zielfahrzeugs kann als
bezeichnet werden.
-
Die volle Dynamik des Systems kann beschrieben werden durch:
-
Dies kann als Summe zweier Vektoren beschrieben werden:
-
Der erste Vektor ist der vorhersagbare Teil und der zweite Vektor ist der nicht vorhersagbare Teil. Die Belohnung in Runde t wird wie folgt definiert:
-
Der erste Term kann zu einer Strafe für Beschleunigungen ungleich null führen, wodurch ein ruhiges Fahren gefördert wird. Der zweite Term hängt von dem Verhältnis zwischen dem Abstand zu dem Zielauto, x
t, und dem gewünschten Abstand,
ab, der als Maximum zwischen einem Abstand von 1 Meter und einem Bremsweg von 1,5 Sekunden definiert ist. In einigen Fällen kann dieses Verhältnis genau 1 sein, aber solange dieses Verhältnis innerhalb von [0,7, 1,3] liegt, kann die Richtlinie auf Strafen verzichten, was dem Host-Fahrzeug einen gewissen Spielraum bei der Navigation einräumen kann - eine Eigenschaft, die wichtig sein kann, um eine reibungslose Fahrt zu erreichen.
-
Durch Implementieren des oben umrissenen Ansatzes kann das Navigationssystem des Host-Fahrzeugs (z. B. durch Betrieb des Fahrrichtlinienmoduls 803 innerhalb der Verarbeitungseinheit 110 des Navigationssystems) eine Aktion als Reaktion auf einen beobachteten Zustand auswählen. Die ausgewählte Aktion basiert möglicherweise nicht nur auf einer Analyse von Belohnungen, die den reagierenden Aktionen zugeordnet sind, die bezüglich eines erfassten Navigationszustands verfügbar sind, sondem kann auch auf einer Betrachtung und Analyse von zukünftigen Zuständen, potenziellen Aktionen als Reaktion auf die zukünftigen Zustände, und den potenziellen Aktionen zugeordneten Belohnungen basieren.
-
16 veranschaulicht einen algorithmischen Ansatz zur Navigation basierend auf Erkennung und langfristiger Planung. Beispielsweise kann bei Schritt 1601 die mindestens eine Verarbeitungsvorrichtung 110 des Navigationssystems für das Host-Fahrzeug eine Vielzahl von Bildern empfangen. Diese Bilder können Szenen aufnehmen, die eine Umgebung des Host-Fahrzeugs darstellen, und können von einer beliebigen der oben beschriebenen Bildaufnahmevorrichtungen (z. B. Kameras, Sensoren usw.) geliefert werden. Die Analyse eines oder mehrerer dieser Bilder in Schritt 1603 kann es der mindestens einen Verarbeitungsvorrichtung 110 ermöglichen, einen gegenwärtigen Navigationszustand zu identifizieren, der dem Host-Fahrzeug zugeordnet ist (wie oben beschrieben).
-
Bei den Schritten 1605, 1607 und 1609 können verschiedene potenzielle Navigationsaktionen als Reaktion auf den erfassten Navigationszustand bestimmt werden. Diese potenziellen Navigationsaktionen (z. B. eine erste Navigationsaktion bis zu einer N-ten verfügbaren Navigationsaktion) können basierend auf den erfassten Zustand und der Fernziele des Navigationssystems (z. B. eine Einfädelung abschließen, einem vorausfahrenden Fahrzeug reibungslos folgen, ein Zielfahrzeug überholen, vermeiden, einem Objekt auf der Fahrspur ausweichen, bei einem erkannten Stoppschild langsamer fahren, einem einscherenden Zielfahrzeug ausweichen, oder jede andere Navigationsaktion, die die Navigationsziele des Systems voranbringen kann) bestimmt werden.
-
Für jede der bestimmten potenziellen Navigationsaktionen kann das System eine erwartete Belohnung bestimmen. Die erwartete Belohnung kann gemäß einer der oben beschriebenen Techniken bestimmt werden und kann eine Analyse einer bestimmten potenziellen Aktion in Bezug auf eine oder mehrere Belohnungsfunktionen aufweisen. Erwartete Belohnungen 1606, 1608 und 1610 können für jede der potenziellen Navigationsaktionen (z. B. die erste, zweite, und N-te), die in den Schritten 1605, 1607 bzw. 1609 bestimmt wurden, bestimmt werden.
-
In einigen Fällen kann das Navigationssystem des Host-Fahrzeugs aus den verfügbaren potenziellen Aktionen basierend auf Werten auswählen, die den erwarteten Belohnungen 1606, 1608 und 1610 (oder jeder anderen Art von Indikator einer erwarteten Belohnung) zugeordnet sind. Beispielsweise kann in einigen Situationen die Aktion ausgewählt werden, die die höchste erwartete Belohnung ergibt.
-
In anderen Fällen, insbesondere wenn das Navigationssystem eine langfristige Planung durchführt, um Navigationsaktionen für das Host-Fahrzeug zu bestimmen, wählt das System möglicherweise nicht die potenzielle Aktion, die die höchste erwartete Belohnung ergibt. Vielmehr kann das System in die Zukunft blicken, um zu analysieren, ob es Möglichkeiten gibt, später höhere Belohnungen zu realisieren, wenn Aktionen mit niedrigerer Belohnung als Reaktion auf einen aktuellen Navigationszustand ausgewählt werden. Beispielsweise kann für einige oder alle der in den Schritten 1605, 1607 und 1609 bestimmten potenziellen Aktionen ein zukünftiger Zustand bestimmt werden. Jeder zukünftige Zustand, der in den Schritten 1613, 1615 und 1617 bestimmt wird, kann einen zukünftigen Navigationszustand darstellen, der basierend auf dem aktuellen Navigationszustand, wie er durch eine jeweilige mögliche Aktion modifiziert wird (z. B. die potenziellen Aktionen, die in den Schritten 1605, 1607 und bestimmt werden 1609), voraussichtlich resultieren wird.
-
Für jeden der in den Schritten 1613, 1615 und 1617 vorhergesagten zukünftigen Zustände können eine oder mehrere zukünftige Aktionen (als verfügbare Navigationsoptionen als Reaktion auf einen bestimmten zukünftigen Zustand) bestimmt und evaluiert werden. Bei den Schritten 1619, 1621 und 1623 können beispielsweise Werte oder jede andere Art von Indikator erwarteter Belohnungen, die einer oder mehreren der zukünftigen Aktionen zugeordnet sind, entwickelt werden (z. B. basierend auf einer oder mehreren Belohnungsfunktionen). Die erwarteten Belohnungen, die der einen oder den mehreren zukünftigen Aktionen zugeordnet sind, können evaluiert werden, indem Werte von Belohnungsfunktionen verglichen werden, die jeder zukünftigen Aktion zugeordnet sind, oder indem andere Indikatoren verglichen werden, die den erwarteten Belohnungen zugeordnet sind.
-
Bei Schritt 1625 kann das Navigationssystem für das Host-Fahrzeug eine Navigationsaktion für das Host-Fahrzeug basierend auf einem Vergleich von erwarteten Belohnungen auswählen, nicht nur basierend auf den potenziellen Aktionen, die bezüglich eines aktuellen Navigationszustands (z. B. bei Schritten 1605, 1607 und 1609) bestimmt werden, sondern auch basierend auf erwarteten Belohnungen, die als Ergebnis potenzieller zukünftiger Aktionen als Reaktion auf vorhergesagte zukünftige Zustände (z. B. in den Schritten 1613, 1615 und 1617 bestimmt) verfügbar sind. Die Auswahl in Schritt 1625 kann auf der in den Schritten 1619, 1621 und 1623 durchgeführten Analyse von Optionen und Belohnungen basieren.
-
Die Auswahl einer Navigationsaktion in Schritt 1625 kann auf einem Vergleich von erwarteten Belohnungen basieren, die nur zukünftigen Aktionsoptionen zugeordnet sind. In einem solchen Fall kann das Navigationssystem eine Aktion für den aktuellen Zustand allein basierend auf einem Vergleich von erwarteten Belohnungen, die sich aus Aktionen ergeben, mit potenziellen zukünftigen Navigationszuständen auswählen. Beispielsweise kann das System die bei Schritt 1605, 1607 oder 1609 identifizierte potenzielle Aktion auswählen, die einem höchsten zukünftigen Belohnungswert zugeordnet ist, wie durch Analyse bei den Schritten 1619, 1621 und 1623 bestimmt wird.
-
Die Auswahl einer Navigationsaktion in Schritt 1625 kann auch nur auf dem Vergleich aktueller Aktionsoptionen basieren (wie oben angemerkt). In dieser Situation kann das Navigationssystem die bei Schritt 1605, 1607 oder 1609 identifizierte potenzielle Aktion auswählen, die einer höchsten erwarteten Belohnung, 1606, 1608 oder 1610, zugeordnet ist. Eine solche Auswahl kann mit wenig oder keiner Berücksichtigung der zukünftigen Navigationszustände oder zukünftig erwarteten Belohnungen für Navigationsaktionen, die als Reaktion auf erwartete zukünftige Navigationszustände verfügbar sind, durchgeführt werden.
-
Andererseits kann in einigen Fällen die Auswahl einer Navigationsaktion in Schritt 1625 auf einem Vergleich von erwarteten Belohnungen basieren, die sowohl zukünftigen Aktionsoptionen als auch aktuellen Aktionsoptionen zugeordnet sind. Dies kann tatsächlich eines der Prinzipien der Navigation sein, die auf langfristiger Planung basiert. Beispielsweise können erwartete Belohnungen für zukünftige Aktionen analysiert werden, um zu bestimmen, ob welche davon eine Auswahl einer niedriger belohnten Aktion als Reaktion auf den aktuellen Navigationszustand rechtfertigen, um eine potenziell höhere Belohnung als Reaktion auf eine nachfolgende Navigationsaktion zu erreichen, von der erwartet wird, dass sie als Reaktion auf zukünftige Navigationszustände verfügbar ist. Beispielsweise kann ein Wert oder ein anderer Indikator einer erwarteten Belohnung 1606 eine höchste erwartete Belohnung aus den Belohnungen 1606, 1608 und 1610 angeben. Andererseits kann die erwartete Belohnung 1608 eine niedrigste erwartete Belohnung aus den Belohnungen 1606, 1608 und 1610 angeben. Anstatt einfach die in Schritt 1605 bestimmte potenzielle Aktion auszuwählen (d. h. die Aktion, die zu der höchsten erwarteten Belohnung 1606 führt), kann eine Analyse zukünftiger Zustände, potenzieller zukünftiger Aktionen und zukünftiger Belohnungen verwendet werden, um eine Navigationsaktionsauswahl durchzuführen bei Schritt 1625. In einem Beispiel kann bestimmt werden, dass eine Belohnung, die bei Schritt 1621 identifiziert wird (als Reaktion auf mindestens eine zukünftige Aktion zu einem zukünftigen Zustand, der bei Schritt 1615 basierend auf der zweiten potenziellen Aktion bei Schritt 1607 bestimmt wird), höher sein kann als die erwartete Belohnung 1606. Basierend auf diesen Vergleich kann trotz der erwarteten Belohnung 160 die zweite mögliche Aktion, die bei Schritt 1607 bestimmt wurde, statt der ersten potenziellen Aktion, die bei Schritt 1605 bestimmt wurde, ausgewählt werden. In einem Beispiel kann die bei Schritt 1605 bestimmte mögliche Navigationsaktion ein Einfädeln vor einem erkannten Zielfahrzeug aufweisen, während die bei Schritt 1607 bestimmte potenzielle Navigationsaktion ein Einfädeln hinter dem Zielfahrzeug aufweisen kann. Während die erwartete Belohnung 1606 des Einfädelns vor dem Zielfahrzeug höher sein kann als die erwartete Belohnung 1608, die dem Einfädeln hinter dem Zielfahrzeug zugeordnet ist, kann bestimmt werden, dass das Einfädeln hinter dem Zielfahrzeug zu einem zukünftigen Zustand führen kann, für den es Aktionsoptionen geben kann, die noch höhere potenzielle Belohnungen als die erwartete Belohnung 1606, 1608 ergeben, oder andere Belohnungen, die auf verfügbaren Aktionen als Reaktion auf einen aktuellen erfassten Navigationszustand basieren.
-
Die Auswahl unter potenziellen Aktionen in Schritt 1625 kann auf einem beliebigen geeigneten Vergleich von erwarteten Belohnungen (oder einer beliebigen anderen Metrik oder einem Indikator von Vorteilen, die einer potenziellen Aktion gegenüber einer anderen zugeordnet sind) basieren. In einigen Fällen kann, wie oben beschrieben, eine zweite mögliche Aktion gegenüber einer ersten potenziellen Aktion ausgewählt werden, wenn projiziert wird, dass die zweite mögliche Aktion mindestens eine zukünftige Aktion bereitstellt, die einer erwarteten Belohnung zugeordnet ist, die höher als eine Belohnung ist, die der ersten potenziellen Aktion zugeordnet ist. In anderen Fällen können komplexere Vergleiche verwendet werden. Beispielsweise können Belohnungen, die Aktionsoptionen als Reaktion auf prognostizierte zukünftige Zustände zugeordnet sind, mit mehr als einer erwarteten Belohnung verglichen werden, die einer bestimmten potenziellen Aktion zugeordnet ist.
-
In einigen Szenarien können Aktionen und erwartete Belohnungen basierend auf prognostizierten zukünftigen Zuständen die Auswahl einer potenziellen Aktion zu einem aktuellen Zustand beeinflussen, wenn mindestens eine der zukünftigen Aktionen voraussichtlich eine Belohnung ergibt, die höher ist als jede der Belohnungen, die als Ergebnis der potenziellen Aktionen zu einem aktuellen Zustand erwartet werden (z. B. erwartete Belohnungen 1606, 1608, 1610 usw.). In einigen Fällen kann die zukünftige Aktionsoption, die die höchste erwartete Belohnung ergibt (z. B. unter den erwarteten Belohnungen, die potenziellen Aktionen für einen erfassten aktuellen Zustand zugeordnet sind, sowie unter den erwarteten Belohnungen, die potenziellen zukünftigen Aktionsoptionen bezüglich potenzieller zukünftiger Navigationszustände zugeordnet sind) als Leitfaden für die Auswahl einer potenziellen Aktion für einen aktuellen Navigationszustand verwendet werden. Das heißt, nach dem Identifizieren einer zukünftigen Aktionsoption, die die höchste erwartete Belohnung ergibt (oder eine Belohnung über einem vorbestimmten Schwellenwert usw.), kann die potenzielle Aktion, die zu dem zukünftigen Zustand führen würde, der der identifizierten zukünftigen Aktion zugeordnet ist, die die höchste erwartete Belohnung ergibt, in Schritt 1625 ausgewählt werden.
-
In anderen Fällen kann die Auswahl verfügbarer Aktionen basierend auf bestimmten Unterschieden zwischen erwarteten Belohnungen erfolgen. Beispielsweise kann eine bei Schritt 1607 bestimmte zweite potenzielle Aktion ausgewählt werden, wenn ein Unterschied zwischen einer erwarteten Belohnung, die einer bei Schritt 1621 bestimmten zukünftigen Aktion zugeordnet ist, und der erwarteten Belohnung 1606 größer als ein Unterschied zwischen der erwarteten Belohnung 1608 und der erwarteten Belohnung 1606 ist (unter der Annahme, dass Differenzen ein positives + Vorzeichen haben). In einem weiteren Beispiel kann eine bei Schritt 1607 bestimmte zweite potenzielle Aktion ausgewählt werden, wenn ein Unterschied zwischen einer erwarteten Belohnung, die einer bei Schritt 1621 bestimmten zukünftigen Aktion zugeordnet ist, und einer erwarteten Belohnung, die einer bei Schritt 1619 bestimmten zukünftigen Aktion zugeordnet ist, größer als ein Unterschied zwischen einer erwarteten Belohnung 1608 und einer erwarteten Belohnung 1606 ist.
-
Es wurden mehrere Beispiele für das Auswählen aus potenziellen Aktionen für einen aktuellen Navigationszustand beschrieben. Jede andere geeignete Vergleichstechnik oder jedes andere geeignete Vergleichskriterium kann jedoch verwendet werden, um eine verfügbare Aktion durch eine langfristige Planung basierend auf einer Aktions- und Belohnungsanalyse auszuwählen, die sich auf projizierte zukünftige Zustände erstreckt. Außerdem kann, während 16 zwei Ebenen in der Analyse der langfristigen Planung darstellt (z. B. eine erste Ebene, die die Belohnungen berücksichtigt, die sich aus potenziellen Aktionen für einen aktuellen Zustand ergeben, und eine zweite Ebene, die die Belohnungen berücksichtigt, die sich aus zukünftigen Aktionsoptionen als Reaktion auf die projizierten zukünftigen Zustände ergeben), eine Analyse basierend auf mehr Ebenen möglich sein. Anstatt die Analyse der langfristigen Planung beispielsweise auf eine oder zwei Ebenen zu stützen, könnten drei, vier oder mehr Analyseebenen verwendet werden, um als Reaktion auf einen aktuellen Navigationszustand eine Auswahl aus verfügbaren potenziellen Aktionen zu treffen.
-
Nachdem eine Auswahl unter potenziellen Aktionen als Reaktion auf einen erfassten Navigationszustand getroffen wurde, kann der mindestens eine Prozessor bei Schritt 1627 mindestens eine Einstellung eines Navigationsaktuators des Host-Fahrzeugs als Reaktion auf die ausgewählte potenzielle Navigationsaktion veranlassen. Der Navigationsaktuator kann jede geeignete Vorrichtung zum Steuern mindestens eines Aspekts des Host-Fahrzeugs aufweisen. Beispielsweise kann der Navigationsaktuator mindestens eines von einem Lenkmechanismus, einer Bremse oder einem Gaspedal aufweisen.
-
Navigation basierend auf einer vermuteten Aggression anderer
-
Zielfahrzeuge können durch Analyse eines erfassten Bildstroms überwacht werden, um Indikatoren für Fahraggression zu bestimmen. Aggression wird hierin als ein qualitativer oder quantitativer Parameter beschrieben, aber es können auch andere Eigenschaften verwendet werden: wahrgenommenes Aufmerksamkeitsniveau (potenzielle Beeinträchtigung des Fahrers, abgelenkt durch ein Smartphone, schlafend, usw.). In einigen Fällen kann davon ausgegangen werden, dass ein Zielfahrzeug eine defensive Haltung hat, und in einigen Fällen kann bestimmt werden, dass das Zielfahrzeug eine aggressivere Haltung hat. Navigationsaktionen können basierend auf Aggressionsindikatoren ausgewählt oder entwickelt werden. Beispielsweise können in einigen Fällen die relative Geschwindigkeit, die relative Beschleunigung, Zunahmen der relativen Beschleunigung, der Folgeabstand bezüglich eines Host-Fahrzeugs usw. verfolgt werden, um zu bestimmen, ob das Zielfahrzeug aggressiv oder defensiv ist. Wenn bestimmt wird, dass das Zielfahrzeug ein Aggressionsniveau aufweist, das beispielsweise einen Schwellenwert übersteigt, kann das Host-Fahrzeug dazu geneigt sein, dem Zielfahrzeug auszuweichen. Ein Aggressionsniveau des Zielfahrzeugs kann auch basierend auf einem bestimmten Verhalten des Zielfahrzeugs bezüglich eines oder mehrerer Hindernisse auf einem Weg oder in einer Umgebung des Zielfahrzeugs (z. B. ein vorausfahrendes Fahrzeug, Hindernis auf der Straße, eine Ampel, usw.) erkannt werden.
-
Als Einführung in dieses Konzept wird ein beispielhaftes Experiment in Bezug auf eine Einfädelung des Host-Fahrzeugs in einen Kreisverkehr beschrieben, bei dem ein Navigationsziel darin besteht, den Kreisverkehr zu passieren und zu verlassen. Die Situation kann damit beginnen, dass sich das Host-Fahrzeug einer Einfahrt des Kreisverkehrs nähert, und kann damit enden, dass das Host-Fahrzeug eine Ausfahrt des Kreisverkehrs (z. B. die zweite Ausfahrt) erreicht. Der Erfolg kann basierend darauf gemessen werden, ob das Host-Fahrzeug jederzeit einen Sicherheitsabstand zu allen anderen Fahrzeugen einhält, ob das Host-Fahrzeug die Route so schnell wie möglich beendet, und ob das Host-Fahrzeug eine sanfte Beschleunigungsrichtlinie einhält. In dieser Veranschaulichung können NT Zielfahrzeuge zufällig in dem Kreisverkehr platziert werden. Um eine Mischung aus gegnerischem und typischem Verhalten mit einer Wahrscheinlichkeit p zu modellieren, kann ein Zielfahrzeug durch eine „aggressive“ Fahrrichtlinie modelliert werden, so dass das aggressive Zielfahrzeug beschleunigt, wenn das Host-Fahrzeug versucht, vor dem Zielfahrzeug einzufädeln. Mit einer Wahrscheinlichkeit 1-p kann das Zielfahrzeug durch eine „defensive“ Fahrrichtlinie modelliert werden, so dass das Zielfahrzeug verzögert und das Host-Fahrzeug einfädeln lässt. In diesem Experiment ist p = 0.5, und dem Navigationssystem des Host-Fahrzeugs können möglicherweise keine Informationen über den Typ der anderen Treiber bereitgestellt werden. Die Typen anderer Fahrer können zu Beginn der Episode zufällig ausgewählt werden.
-
Der Navigationszustand kann als die Geschwindigkeit und Position des Host-Fahrzeugs (des Agierenden) und die Positionen, Geschwindigkeiten und Beschleunigungen der Zielfahrzeuge dargestellt werden. Das Beibehalten von Zielbeschleunigungsbeobachtungen kann wichtig sein, um basierend auf dem aktuellen Zustand zwischen aggressiven und defensiven Fahrern zu unterscheiden. Alle Zielfahrzeuge können sich auf einer eindimensionalen Kurve bewegen, die den Kreisverkehr skizziert. Das Host-Fahrzeug kann sich auf seiner eigenen eindimensionalen Kurve bewegen, die die Kurve des Zielfahrzeugs am Vereinigungspunkt schneidet, und dieser Punkt ist der Ursprung beider Kurven. Um vernünftiges Fahren zu modellieren, kann der Absolutwert der Beschleunigungen aller Fahrzeuge durch eine Konstante nach oben begrenzt werden. Geschwindigkeiten können auch durch eine ReLU geleitet werden, da Rückwärtsfahren nicht erlaubt ist. Beachte, dass durch das Verbot des Rückwärtsfahrens eine langfristige Planung zu einer Notwendigkeit werden kann, da der Agierende seine vergangenen Aktionen nicht bereuen kann.
-
Wie oben beschrieben, kann der nächste Zustand, sr+1, in eine Summe aus einem vorhersagbaren Teil, N(st, at , und einem nicht vorhersagbaren Teil, vt, zerlegt werden. Der Ausdruck N̂(st, at kann die Dynamik von Fahrzeugorten und -geschwindigkeiten darstellen (die auf differenzierbare Weise wohldefiniert sein können), während vt die Beschleunigung der Zielfahrzeuge darstellen kann. Es kann verifiziert werden, dass N̂(st, at) als eine Kombination von ReLU-Funktionen über einer affinen Transformation ausgedrückt werden kann, daher ist er in Bezug auf st und at differenzierbar. Der Vektor vt kann durch einen Simulator auf nicht differenzierbare Weise definiert werden und kann aggressives Verhalten für einige Ziele und defensives Verhalten für andere Ziele implementieren. Zwei Frames aus einem solchen Simulator sind in den 17A und 17B gezeigt. In diesem beispielhaften Experiment lernte ein Host-Fahrzeug 1701 zu verlangsamen, wenn es sich der Einfahrt des Kreisverkehrs nähert. Es lernte auch, aggressiven Fahrzeugen (z. B. den Fahrzeugen 1703 und 1705) auszuweichen, und sicher weiterzufahren, wenn es vor defensiven Fahrzeugen (z. B. Fahrzeugen 1706, 1708 und 1710) einfädelte. In dem durch die 17A und 17B dargestellten Beispiel ist das Navigationssystem des Host-Fahrzeugs 1701 nicht über den Typ der Zielfahrzeuge vorab informiert. Ob ein bestimmtes Fahrzeug als aggressiv oder als defensiv bestimmt wird, wird vielmehr durch eine Schlussfolgerung basierend auf der beobachteten Position und Beschleunigung beispielsweise der Zielfahrzeuge bestimmt. In 17A kann das Host-Fahrzeug 1701 basierend auf Position, Geschwindigkeit und/oder relativer Beschleunigung bestimmen, dass das Fahrzeug 1703 eine aggressive Tendenz aufweist, und daher kann das Host-Fahrzeug 1701 anhalten und darauf warten, dass das Zielfahrzeug 1703 vorbeifährt, anstatt zu versuchen, vor dem Zielfahrzeug 1703 einzufädeln. In 17B erkannte das Zielfahrzeug 1701 jedoch, dass das hinter dem Fahrzeug 1703 fahrende Zielfahrzeug 1710 defensive Tendenzen zeigte (wieder basierend auf der beobachteten Position, Geschwindigkeit und/oder relativen Beschleunigung des Fahrzeugs 1710), und hat daher ein erfolgreiches Einfädeln vor dem Zielfahrzeug 1710 und hinter dem Zielfahrzeug 1703 abgeschlossen.
-
18 liefert ein Flussdiagramm, das einen beispielhaften Algorithmus zum Navigieren eines Host-Fahrzeugs basierend auf einer vorhergesagten Aggression anderer Fahrzeuge darstellt. In dem Beispiel von 18 kann ein Aggressionsniveau, das mindestens einem Zielfahrzeug zugeordnet ist, basierend auf einem beobachteten Verhalten des Zielfahrzeugs bezüglich eines Objekt in der Umgebung des Zielfahrzeugs gefolgert werden. Beispielsweise kann bei Schritt 1801 mindestens eine Verarbeitungsvorrichtung (z. B. die Verarbeitungsvorrichtung 110) des Navigationssystems des Host-Fahrzeugs von einer dem Host-Fahrzeug zugeordneten Kamera eine Vielzahl von Bildern empfangen, die eine Umgebung des Host-Fahrzeugs darstellen. Bei Schritt 1803 kann die Analyse eines oder mehrerer der empfangenen Bilder es dem mindestens einen Prozessor ermöglichen, ein Zielfahrzeug (z. B. das Fahrzeug 1703) in der Umgebung des Host-Fahrzeugs 1701 zu identifizieren. Bei Schritt 1805 kann die Analyse eines oder mehrerer der empfangenen Bilder es der mindestens einen Verarbeitungsvorrichtung ermöglichen, in der Umgebung des Host-Fahrzeugs mindestens ein Hindernis für das Zielfahrzeug zu identifizieren. Das Objekt kann Trümmer auf einer Fahrspur, eine Stopplicht/eine Ampel, einen Fußgänger, ein anderes Fahrzeug (z. B. ein vor dem Zielfahrzeug fahrendes Fahrzeug, ein geparktes Fahrzeug usw.), einen Karton auf der Fahrspur, eine Straßensperre, einen Bordstein oder jede andere Art von Objekt, das in einer Umgebung des Host-Fahrzeugs angetroffen werden kann, aufweisen. Bei Schritt 1807 kann die Analyse eines oder mehrerer der empfangenen Bilder es der mindestens einen Verarbeitungsvorrichtung ermöglichen, mindestens eine Navigationseigenschaft des Zielfahrzeugs bezüglich des mindestens einen identifizierten Hindernisses für das Zielfahrzeug zu bestimmen.
-
Verschiedene Navigationseigenschaften können verwendet werden, um auf ein Aggressionsniveau eines erkannten Zielfahrzeugs zu schließen, um eine geeignete Navigationsreaktion auf das Zielfahrzeug zu entwickeln. Beispielsweise können solche Navigationseigenschaften eine relative Beschleunigung zwischen dem Zielfahrzeug und dem mindestens einen identifizierten Hindernis, einen Abstand des Zielfahrzeugs von dem Hindernis (z. B. einen Folgeabstand des Zielfahrzeugs hinter einem anderen Fahrzeug) und/oder eine relative Geschwindigkeit zwischen dem Zielfahrzeug und dem Hindernis usw. aufweisen.
-
In einigen Ausführungsformen können die Navigationseigenschaften der Zielfahrzeuge basierend auf Ausgaben von Sensoren bestimmt werden, die dem Host-Fahrzeug zugeordnet sind (z. B. Radar, Geschwindigkeitssensoren, GPS, usw.). In einigen Fällen können die Navigationseigenschaften der Zielfahrzeuge jedoch teilweise oder vollständig basierend auf einer Analyse von Bildern einer Umgebung des Host-Fahrzeugs bestimmt werden. Beispielsweise können Bildanalysetechniken, die oben, und beispielsweise in dem
US-Patent Nr. 9,168,868 beschrieben werden, verwendet werden, um Zielfahrzeuge innerhalb einer Umgebung des Host-Fahrzeugs zu erkennen. Und Überwachen eines Orts eines Zielfahrzeugs in den aufgenommenen Bildern über die Zeit und/oder Überwachen von Orten in den aufgenommenen Bildern eines oder mehrerer Merkmale, die dem Zielfahrzeug zugeordnet sind (z. B. Rücklichter, Scheinwerfer, Stoßfänger, Räder usw.), kann eine Bestimmung relativer Abstände, Geschwindigkeiten und/oder Beschleunigungen zwischen den Zielfahrzeugen und dem Host-Fahrzeug oder zwischen den Zielfahrzeugen und einem oder mehreren anderen Objekten in einer Umgebung des Host-Fahrzeugs ermöglichen.
-
Ein Aggressionsniveau eines identifizierten Zielfahrzeugs kann von jeder geeigneten beobachteten Navigationseigenschaft des Zielfahrzeugs oder jeder Kombination von beobachteten Navigationseigenschaften abgeleitet werden. Beispielsweise kann eine Bestimmung der Aggressivität basierend auf einem beliebigen beobachteten Merkmal und einem oder mehreren vorbestimmten Schwellenwerten oder einer beliebigen anderen geeigneten qualitativen oder quantitativen Analyse erfolgen. In einigen Ausführungsformen kann ein Zielfahrzeug als aggressiv angesehen werden, wenn beobachtet wird, dass das Zielfahrzeug dem Host-Fahrzeug oder einem anderen Fahrzeug in einem Abstand folgt, der kleiner als ein vorbestimmter aggressiver Abstandsschwellenwert ist. Andererseits kann ein Zielfahrzeug, bei dem beobachtet wird, dass es dem Host-Fahrzeug oder einem anderen Fahrzeug in einem Abstand folgt, der größer als ein vorbestimmter defensiver Abstandsschwellenwert ist, als defensiv betrachtet werden. Der vorbestimmte aggressive Abstandsschwellenwert muss nicht derselbe sein wie der vorbestimmte defensive Abstandsschwellenwert. Zusätzlich können entweder der vorbestimmte aggressive Abstandsschwellenwert oder der vorbestimmte defensive Abstandsschwellenwert oder beide einen Bereich von Werten aufweisen, anstatt einer scharfen Trennlinie. Ferner muss weder der vorbestimmte aggressive Abstandsschwellenwert noch der vorbestimmte defensive Abstandsschwellenwert festgelegt werden. Vielmehr können sich diese Werte oder Wertebereiche im Laufe der Zeit verschieben, und unterschiedliche Schwellenwerte/Bereiche von Schwellenwerten können basierend auf beobachteten Eigenschaften eines Zielfahrzeugs angewendet werden. Beispielsweise können die angewendeten Schwellenwerte von einer oder mehreren anderen Eigenschaften des Zielfahrzeugs abhängig sein. Höhere beobachtete relative Geschwindigkeiten und/oder Beschleunigungen können die Anwendung größerer Schwellenwerte/Bereiche rechtfertigen. Umgekehrt können niedrigere relative Geschwindigkeiten und/oder Beschleunigungen, einschließlich relativer Geschwindigkeiten und/oder Beschleunigungen von null, die Anwendung kleinerer Abstandsschwellenwerte/-bereiche bei der Durchführung der aggressiven/defensiven Vermutung bzw. Schlussfolgerung rechtfertigen.
-
Die aggressive/defensive Vermutung kann auch auf relativen Geschwindigkeits- und/oder relativen Beschleunigungsschwellen basieren. Ein Zielfahrzeug kann als aggressiv angesehen werden, wenn seine beobachtete relative Geschwindigkeit und/oder seine relative Beschleunigung in Bezug auf ein anderes Fahrzeug ein vorbestimmtes Niveau oder einen vorbestimmten Bereich überschreitet. Ein Zielfahrzeug kann als defensiv angesehen werden, wenn seine beobachtete relative Geschwindigkeit und/oder seine relative Beschleunigung in Bezug auf ein anderes Fahrzeug unter ein vorbestimmtes Niveau oder einen vorbestimmten Bereich fällt.
-
Während die Aggressiv/Defensiv-Bestimmung allein basierend auf einer beobachteten Navigationseigenschaft gemacht werden kann, kann die Bestimmung auch von einer Kombination von beobachteten Eigenschaften abhängig sein. Wie oben angemerkt, kann beispielsweise ein Zielfahrzeug in einigen Fällen allein basierend auf einer Beobachtung, dass es einem anderen Fahrzeug in einem Abstand unterhalb eines bestimmten Schwellenwerts oder Bereichs folgt, als aggressiv erachtet werden. In anderen Fällen kann das Zielfahrzeug jedoch als aggressiv angesehen werden, wenn es einem anderen Fahrzeug mit weniger als einem vorbestimmten Abstand (der gleich oder unterschiedlich zu dem angewendeten Schwellenwert sein kann, wenn die Bestimmung allein auf dem Abstand basiert) und einer relativen Geschwindigkeit und/oder einer relativen Beschleunigung von mehr als einem vorbestimmten Betrag oder Bereich folgt. In ähnlicher Weise kann ein Zielfahrzeug allein basierend auf einer Beobachtung, dass es einem anderen Fahrzeug in einem Abstand folgt, der größer als ein bestimmter Schwellenwert oder Bereich ist, als defensiv angesehen werden. In anderen Fällen kann das Zielfahrzeug jedoch als defensiv erachtet werden, wenn es sowohl einem anderen Fahrzeug mit mehr als einem vorbestimmten Betrag folgt (der gleich oder unterschiedlich zu dem angewendeten Schwellenwert sein kann, wenn die Bestimmung allein auf dem Abstand basiert) als auch eine relativen Geschwindigkeit und/oder eine relative Beschleunigung hat, die kleiner als ein vorbestimmter Betrag oder Bereich ist. Das System 100 kann aggressiv/defensiv reagieren, wenn beispielsweise ein Fahrzeug eine Beschleunigung oder Verzögerung von 0,5 G überschreitet (z. B. ruckartig 5 m/s3), ein Fahrzeug bei einer Spuränderung oder in einer Kurve eine Querbeschleunigung von 0,5 G aufweist, ein Fahrzeug bewirkt, dass ein anderes Fahrzeug einen der oben genannten Schritte ausführt, ein Fahrzeug die Fahrspur ändert, und ein anderes Fahrzeug mit einer Verzögerung von mehr als 0,3 G oder einem Ruck von 3 m/s3 zum Ausweichen bringt, und/oder ein Fahrzeug zwei Fahrspuren wechselt, ohne zu stoppen.
-
Es versteht sich, dass Bezugnahmen auf eine Größe, die einen Bereich überschreitet, angeben können, dass die Größe entweder alle dem Bereich zugeordneten Werte überschreitet oder in den Bereich fällt. In ähnlicher Weise können Verweise auf eine Größe, die unterhalb eines Bereichs fällt, angeben, dass die Größe entweder unter alle dem Bereich zugeordneten Werte fällt oder innerhalb des Bereichs liegt. Obwohl die beschriebenen Beispiele zum Herbeiführen einer aggressiven/defensiven Schlussfolgerung in Bezug auf Abstand, Relativbeschleunigung und Relativgeschwindigkeit beschrieben sind, können außerdem beliebige andere geeignete Größen verwendet werden. Beispielsweise kann eine Berechnung der Zeit bis zu einer Kollision oder ein indirekter Indikator für Abstand, Beschleunigung und/oder Geschwindigkeit des Zielfahrzeugs verwendet werden. Es sollte auch beachtet werden, dass, während sich die obigen Beispiele auf Zielfahrzeuge relativ zu anderen Fahrzeugen konzentrieren, die Aggressiv/Defensiv-Schlussfolgerung gezogen werden kann, indem die Navigationseigenschaften eines Zielfahrzeugs relativ zu jeder anderen Art von Hindernis (z. B. einem Fußgänger, einer Straße, einer Schranke, einer Ampel, Trümmer usw.) beobachtet werden.
-
Um zu dem Beispiel, das in den 17A und 17B gezeigt wird, zurückzukehren, wenn sich das Host-Fahrzeug 1701 dem Kreisverkehr nähert, kann das Navigationssystem, das mindestens eine Verarbeitungsvorrichtung aufweist, einen Strom von Bildern von einer dem Host-Fahrzeug zugeordneten Kamera empfangen. Basierend auf der Analyse eines oder mehrerer der empfangenen Bilder kann jedes der Zielfahrzeuge 1703, 1705, 1706, 1708 und 1710 identifiziert werden. Ferner kann das Navigationssystem die Navigationseigenschaften eines oder mehrerer der identifizierten Zielfahrzeuge analysieren. Das Navigationssystem kann erkennen, dass die Lücke zwischen den Zielfahrzeugen 1703 und 1705 die erste Gelegenheit für ein mögliches Einfädeln in den Kreisverkehr darstellt. Das Navigationssystem kann das Zielfahrzeug 1703 analysieren, um dem Zielfahrzeug 1703 zugeordnete Indikatoren für Aggression zu bestimmen. Wenn das Zielfahrzeug 1703 als aggressiv erachtet wird, kann das Host-Fahrzeug-Navigationssystem wählen, dem Fahrzeug 1703 auszuweichen, anstatt vor dem Fahrzeug 1703 einzufädeln. Wenn andererseits das Zielfahrzeug 1703 als defensiv erachtet wird, kann das Host-Fahrzeug-Navigationssystem versuchen, eine Einfädelaktion vor dem Fahrzeug 1703 abzuschließen.
-
Wenn sich das Host-Fahrzeug 1701 dem Kreisverkehr nähert, kann die mindestens eine Verarbeitungsvorrichtung des Navigationssystems die aufgenommenen Bilder analysieren, um dem Zielfahrzeug 1703 zugeordnete Navigationseigenschaften zu bestimmen. Beispielsweise kann basierend auf den Bildern bestimmt werden, dass dieses Fahrzeug 1703 dem Fahrzeug 1705 in einem Abstand folgt, der eine ausreichende Lücke, um sicher einzufahren, für das Host-Fahrzeug 1701 bereitstellt. Tatsächlich kann bestimmt werden, dass das Fahrzeug 1703 dem Fahrzeug 1705 in einem Abstand folgt, der einen aggressiven Abstandsschwellenwert überschreitet, und daher kann das Host-Fahrzeug-Navigationssystem basierend auf diesen Informationen geneigt sein, das Zielfahrzeug 1703 als defensiv zu identifizieren. In manchen Situationen können jedoch mehr als eine Navigationseigenschaft eines Zielfahrzeugs analysiert werden, um die Aggressiv/Defensiv-Bestimmung durchzuführen, wie oben diskutiert. Zur Förderung der Analyse kann das Host-Fahrzeug-Navigationssystem bestimmen, dass, während das Zielfahrzeug 1703 in einem nicht aggressiven Abstand hinter dem Zielfahrzeug 1705 folgt, das Fahrzeug 1703 eine Relativgeschwindigkeit und/oder eine Relativbeschleunigung in Bezug auf das Fahrzeug 1705 aufweist, die größer als einer oder mehrere Schwellenwerte ist, die einem aggressiven Verhalten zugeordnet sind. Tatsächlich kann das Host-Fahrzeug 1701 bestimmen, dass das Zielfahrzeug 1703 relativ zu dem Fahrzeug 1705 beschleunigt und die Lücke schließt, die zwischen den Fahrzeugen 1703 und 1705 besteht. Basierend auf einer weiteren Analyse der relativen Geschwindigkeit, der Beschleunigung und dem Abstand (und sogar einer Rate, mit der sich die Lücke zwischen den Fahrzeugen 1703 und 1705 schließt), kann das Host-Fahrzeug 1701 bestimmen, dass sich das Zielfahrzeug 1703 aggressiv verhält. Daher kann das Host-Fahrzeug 1701, obgleich eine ausreichende Lücke vorhanden sein kann, in die das Host-Fahrzeug sicher hineinfahren kann, erwarten, dass ein Einfädeln vor dem Zielfahrzeug 1703 zu einem aggressiv navigierenden Fahrzeug direkt hinter dem Host-Fahrzeug führen würde. Ferner kann von dem Zielfahrzeug 1703 basierend auf dem durch Bildanalyse oder andere Sensorausgaben beobachteten Verhalten erwartet werden, dass das Zielfahrzeug 1703 weiter in Richtung des Host-Fahrzeugs 1701 beschleunigen oder in Richtung des Host-Fahrzeugs 1701 mit einer relativen Geschwindigkeit ungleich Null weiterfahren würde, wenn das Hostfahrzeug 1701 vor dem Fahrzeug 1703 einfädeln sollte. Eine solche Situation kann aus einer Sicherheitsperspektive unerwünscht sein und kann auch zu Unbehagen bei den Insassen des Host-Fahrzeugs führen. Aus solchen Gründen kann das Host-Fahrzeug 1701 wählen, dem Fahrzeug 1703 auszuweichen, wie in 17B gezeigt wird, und in den Kreisverkehr hinter dem Fahrzeug 1703 und vor dem Fahrzeug 1710 einzufädeln, was basierend auf einer Analyse einer oder mehrerer seiner Navigationseigenschaften als defensiv angesehen wird.
-
Um auf 18 zurückzukommen, kann bei Schritt 1809 die mindestens eine Verarbeitungsvorrichtung des Navigationssystems des Host-Fahrzeugs basierend auf der mindestens einen identifizierten Navigationseigenschaft des Zielfahrzeugs bezüglich des identifizierten Hindernis eine Navigationsaktion für das Host-Fahrzeug bestimmen (z. B. Einfädeln vor dem Fahrzeug 1710 und hinter dem Fahrzeug 1703). Um die Navigationsaktion zu implementieren (bei Schritt 1811), kann die mindestens eine Verarbeitungsvorrichtung mindestens eine Einstellung eines Navigationsaktuators des Host-Fahrzeugs als Reaktion auf die bestimmte Navigationsaktion veranlassen. Beispielsweise kann eine Bremse betätigt werden, um dem Fahrzeug 1703 in 17A auszuweichen, und ein Gaspedal kann betätigt werden, zusammen mit dem Lenken der Räder des Host-Fahrzeugs, um zu bewirken, dass das Host-Fahrzeug hinter dem Fahrzeug in den Kreisverkehr einfährt 1703, wie in 17B gezeigt wird.
-
Wie in den obigen Beispielen beschrieben, kann die Navigation des Host-Fahrzeugs auf den Navigationseigenschaften eines Zielfahrzeugs bezüglich eines anderen Fahrzeugs oder Objekts basieren. Außerdem kann die Navigation des Host-Fahrzeugs allein auf Navigationseigenschaften des Zielfahrzeugs ohne besonderen Bezug auf ein anderes Fahrzeug oder Objekt basieren. Beispielsweise kann in Schritt 1807 von 18 die Analyse einer Vielzahl von Bildern, die von einer Umgebung eines Host-Fahrzeugs aufgenommen wurden, die Bestimmung mindestens einer Navigationseigenschaft eines identifizierten Zielfahrzeugs, die auf ein dem Zielfahrzeug zugeordnetes Aggressionsniveau hinweist, ermöglichen. Die Navigationseigenschaft kann eine Geschwindigkeit, Beschleunigung, usw., die nicht in Bezug auf ein anderes Objekt oder Zielfahrzeug gesetzt werden müssen, aufweisen, um eine Aggressiv/Defensiv-Bestimmung vorzunehmen. Beispielsweise können beobachtete Beschleunigungen und/oder Geschwindigkeiten im Zusammenhang mit einem Zielfahrzeug, die einen vorbestimmten Schwellenwert überschreiten oder in einen Bereich von Werten fallen oder diesen überschreiten, aggressives Verhalten anzeigen. Umgekehrt können beobachtete Beschleunigungen und/oder Geschwindigkeiten im Zusammenhang mit einem Zielfahrzeug, die unter einen vorbestimmten Schwellenwert fallen oder in einen Bereich von Werten fallen oder diesen überschreiten, ein defensives Verhalten anzeigen.
-
Natürlich kann in einigen Fällen die beobachtete Navigationseigenschaft (z. B. ein Ort, ein Abstand, eine Beschleunigung usw.) auf das Host-Fahrzeug bezogen sein, um die Aggressiv/Defensiv-Bestimmung vorzunehmen. Beispielsweise kann eine beobachtete Navigationseigenschaft des Zielfahrzeugs, die auf ein dem Zielfahrzeug zugeordnetes Aggressionsniveau hinweist, eine Erhöhung der relativen Beschleunigung zwischen dem Zielfahrzeug und dem Host-Fahrzeug, einen Folgeabstand des Zielfahrzeugs hinter dem Host-Fahrzeug, eine Relativgeschwindigkeit zwischen dem Zielfahrzeug und dem Host-Fahrzeug, usw. aufweisen.
-
Navigation basierend auf einer Unfallhaftungs-Beschränkung
-
Wie in den obigen Abschnitten beschrieben, können geplante Navigationsaktionen gegen vorbestimmte Beschränkungen getestet werden, um die Einhaltung bestimmter Regeln sicherzustellen. In einigen Ausführungsformen kann dieses Konzept auf Erwägungen einer potenziellen Unfallhaftung erweitert werden. Wie unten diskutiert, ist ein primäres Ziel der autonomen Navigation die Sicherheit. Da absolute Sicherheit unmöglich sein kann (z. B. mindestens deswegen, weil ein bestimmtes Host-Fahrzeug unter autonomer Steuerung die anderen Fahrzeuge in seiner Umgebung nicht Steuern kann - es kann nur seine eigenen Aktionen steuern), kann die Verwendung einer potenziellen Unfallhaftung als Überlegung bei der autonomen Navigation und, in der Tat, als eine Beschränkung für geplante Aktionen dazu beitragen, sicherzustellen, dass ein bestimmtes autonomes Fahrzeug keine Aktionen ausführt, die als unsicher erachtet werden - z. B. solche, für die eine potenzielle Unfallhaftung für das Host-Fahrzeug gelten kann. Wenn das Host-Fahrzeug nur Aktionen tätigt, die sicher sind und von denen bestimmt wird, dass sie nicht zu einem Unfall aus eigenem Verschulden oder eigener Verantwortung des Host-Fahrzeugs führen, dann können erwünschte Stufen der Unfallvermeidung erreicht werden (z. B. weniger als 10-9 pro Stunde Fahrt).
-
Die Herausforderungen, die von den meisten gegenwärtigen Ansätzen zum autonomen Fahren gestellt werden, weisen einen Mangel an Sicherheitsgarantien (oder mindestens eine Unfähigkeit, gewünschte Sicherheitsniveaus bereitzustellen) und auch einen Mangel an Skalierbarkeit auf. Man betrachte die Frage der Gewährleistung eines sicheren Fahrens mit mehreren Agierenden. Da die Gesellschaft durch Maschinen verursachte Verkehrstote kaum tolerieren wird, ist ein akzeptables Sicherheitsniveau von größter Bedeutung für die Akzeptanz autonomer Fahrzeuge. Während ein Ziel darin bestehen kann, null Unfälle bereitzustellen, kann dies unmöglich sein, da typischerweise mehrere Agierende an einem Unfall beteiligt sind, und man sich Situationen vorstellen kann, in denen ein Unfall nur aufgrund der Schuld anderer Agierender auftritt. Beispielsweise fährt das Host-Fahrzeug 1901, wie in 19 gezeigt wird, auf einer mehrspurigen Autobahn, und während das Host-Fahrzeug 1901 seine eigenen Aktionen relativ zu den Zielfahrzeugen 1903, 1905, 1907 und 1909 steuern kann, kann es die Aktionen der es umgebenden Zielfahrzeuge nicht steuern. Folglich kann das Host-Fahrzeug 1901 möglicherweise nicht in der Lage sein, einen Unfall mit mindestens einem der Zielfahrzeuge zu vermeiden, falls das Fahrzeug 1905 beispielsweise plötzlich auf einem Kollisionskurs mit dem Host-Fahrzeug in die Fahrspur des Host-Fahrzeugs einschert. Um diesen Schwierigkeiten zu begegnen, besteht eine typische Reaktion von Praktikern autonomer Fahrzeuge darin, auf einen statistischen datengesteuerten Ansatz zurückzugreifen, bei dem die Sicherheitsvalidierung strenger wird, wenn Daten über mehr Kilometer gesammelt werden.
-
Um die Problematik eines datengesteuerten Sicherheitsansatzes zu würdigen, bedenke man jedoch zunächst, dass die Wahrscheinlichkeit eines durch einen Unfall verursachten Todesopfers pro einer Stunde (menschlicher) Fahrt bekanntermaßen 10-6 beträgt. Es ist vernünftig anzunehmen, dass die Gesellschaft, wenn sie Maschinen akzeptiert, um Menschen beim Fahren zu ersetzen, die Todesrate um drei Größenordnungen verringern sollte, nämlich auf eine Wahrscheinlichkeit von 10-9 pro Stunde. Diese Schätzung ähnelt der angenommenen Sterblichkeitsrate von Airbags und Luftfahrtstandards. Beispielsweise ist 10-9 die Wahrscheinlichkeit, dass sich ein Flügel in der Luft spontan von einem Flugzeug löst. Versuche, die Sicherheit unter Verwendung eines datengesteuerten statistischen Ansatzes zu garantieren, der zusätzliches Vertrauen durch das Sammeln von gefahrenen Kilometern schafft, sind jedoch nicht praktikabel. Die Datenmenge, die erforderlich ist, um eine Wahrscheinlichkeit von 10-9 Todesfällen pro Stunde Fahrt zu garantieren, ist proportional zu ihrem Kehrwert (d. h. 109 Stunden an Daten), was ungefähr in der Größenordnung von 30 Milliarden Meilen liegt. Darüber hinaus interagiert ein System mit mehreren Agierenden mit seiner Umgebung und kann wahrscheinlich nicht offline validiert werden (es sei denn, es ist ein realistischer Simulator verfügbar, der das echte menschliche Fahren mit all seinem Reichtum und seiner Komplexität, wie etwa rücksichtsloses Fahren, emuliert - aber das Problem der Validierung des Simulators wäre sogar schwieriger als die Erstellung eines sicheren Agierenden für autonome Fahrzeuge). Und jede Änderung der Planungs- und Steuersoftware erfordert eine neue Datenerfassung in derselben Größenordnung, was eindeutig unhandlich und unpraktisch ist. Darüber hinaus leidet die Entwicklung eines Systems basierend auf Daten ausnahmslos unter mangelnder Interpretierbarkeit und Erklärbarkeit der getätigten Aktionen - wenn ein autonomes Fahrzeug (AV) einen Unfall mit tödlichem Ausgang hat, müssen wir den Grund kennen. Folglich ist ein modellbasierter Sicherheitsansatz erforderlich, aber die bestehenden Anforderungen der „funktionale Sicherheit“ und des ASIL in der Automobilindustrie sind nicht darauf ausgelegt, Umgebungen mit mehreren Agierenden zu bewältigen.
-
Eine zweite primäre Herausforderung bei der Entwicklung eines Fahrsicherheitsmodells für autonome Fahrzeuge ist die Notwendigkeit der Skalierbarkeit. Die Prämisse, die einem AV zugrunde liegt, geht über „Aufbau einer besseren Welt“ hinaus und basiert stattdessen auf der Prämisse, dass Mobilität ohne Fahrer mit geringeren Kosten aufrechterhalten werden kann, als dies mit Fahrer der Fall ist. Diese Prämisse ist ausnahmslos mit dem Begriff der Skalierbarkeit verbunden - im Sinne der Unterstützung der Massenproduktion von AVs (in Millionenhöhe) und, was noch wichtiger ist, der Unterstützung vernachlässigbarer Zusatzkosten, um das Fahren in einer neuen Stadt zu ermöglichen. Daher sind, wenn AVs in Massenproduktion hergestellt werden soll, in Hinblick auf die Kosten für Computer und Sensorik die Kosten für die Validierung und die Fähigkeit, „überall“ zu fahren, wichtig, anstatt dass es in einigen wenigen ausgewählten Städten ebenfalls eine notwendige Voraussetzung ist, ein Geschäftsbetrieb aufrechtzuerhalten.
-
Das Problem bei den meisten aktuellen Ansätzen liegt in einer „Brute-Force“-Verfassung entlang dreier Achsen: (i) die erforderliche „Rechendichte“, (ii) die Art und Weise, wie hochauflösende Karten definiert und erstellt werden, und (iii) die erforderliche Spezifizierung von Sensoren. Ein Brute-Force-Ansatz widerspricht der Skalierbarkeit und verschiebt das Gewicht in Richtung einer Zukunft, in der unbegrenztes On-Board-Computing allgegenwärtig ist, in der die Kosten für den Aufbau und die Wartung von HD-Karten vernachlässigbar und skalierbar werden und exotische, supermoderne Sensoren entwickelt und in Automobilqualität und zu vernachlässigbaren Kosten produziert werden. Eine Zukunft, für die eines der oben genannten Gegenstände zum Tragen kommt, ist in der Tat plausibel, aber das Vorhandensein aller oben genannten Punkte ist wahrscheinlich ein Ereignis mit geringer Wahrscheinlichkeit. Daher besteht ein Bedarf, ein formelles Modell bereitzustellen, das Sicherheit und Skalierbarkeit zu einem AV-Programm zusammenfügt, das die Gesellschaft akzeptieren kann und das im Sinne der Unterstützung von Millionen von Autos, die überall in den entwickelten Ländern fahren, skalierbar ist.
-
Die offenbarten Ausführungsformen stellen eine Lösung dar, die die angestrebten Sicherheitsniveaus bereitstellen kann (oder sogar Sicherheitsziele übertreffen kann) und auch auf Systeme skalierbar sein kann, die Millionen von autonomen Fahrzeugen (oder mehr) aufweisen. An der Sicherheitsfront wird ein Modell namens „verantwortungsbewusste Sicherheit“ (Englisch: „Responsibility Sensitive Safety“) (RSS) eingeführt, das den Begriff „Unfallschuld“ interpretierbar und erklärbar formalisiert, und einen Sinn für „Verantwortung“ in die Aktionen eines robotischen Agierenden einbezieht. Die Definition von RSS ist unabhängig von der Art und Weise, wie es implementiert wird - was ein Schlüsselmerkmal dafür ist, das Ziel zu erreichen, ein überzeugendes globales Sicherheitsmodell zu schaffen. RSS wird durch die Beobachtung (wie in 19) motiviert, dass Agierende bei einem Unfall eine nicht symmetrische Rolle spielen, bei der typischerweise nur einer der Agierenden für den Unfall verantwortlich ist, und daher dafür verantwortlich sein muss. Das RSS-Modell weist auch eine formale Behandlung von „vorsichtigem Fahren“ unter eingeschränkten Erfassungsbedingungen auf, bei denen nicht immer alle Agierenden sichtbar sind (z. B. aufgrund von Verdeckungen). Ein primäres Ziel des RSS-Modells besteht darin, zu garantieren, dass ein Agierender niemals einen Unfall aus seiner eigenen „Schuld“ bzw. für den er verantwortlich ist, machen wird. Ein Modell kann nur dann nützlich sein, wenn es mit einer effizienten Richtlinie ausgestattet ist (z. B. einer Funktion, die den „Erkennungszustand“ zu einer Aktion zuordnet), die RSS entspricht. Beispielsweise kann eine im gegenwärtigen Moment harmlos erscheinende Aktion in ferner Zukunft zu einem katastrophalen Ereignis führen („Schmetterlingseffekt“). RSS kann nützlich sein, um eine Reihe lokaler Beschränkungen für die kurzfristige Zukunft zu konstruieren, die garantieren (oder mindestens virtuell garantieren) können, dass in Zukunft keine Unfälle als Ergebnis der Aktionen des Host-Fahrzeugs passieren werden.
-
Ein weiterer Beitrag entwickelt sich um die Einführung einer „semantischen“ Sprache, die aus Einheiten, Messungen und einem Aktionsraum, und einer Spezifikation, wie diese in die Planung, Wahrnehmung und Betätigung des AV integriert werden, besteht. Um ein Gefühl für die Semantik zu bekommen, betrachte man in diesem Kontext, wie ein Mensch, der Fahrstunden nimmt, angewiesen wird, über eine „Fahrrichtlinie“ nachzudenken. Diese Anweisungen sind nicht geometrisch - sie haben nicht die Form „Fahre 13,7 Meter mit der aktuellen Geschwindigkeit und beschleunige dann mit einer Geschwindigkeit von 0,8 m/s2“. Stattdessen sind die Anweisungen semantischer Natur - „Folgen Sie dem Auto vor Ihnen“ oder „Überholen Sie das Auto zu Ihrer Linken“. Die typische Sprache der menschlichen Fahrrichtlinie dreht sich eher um Längs- und Querziele als um geometrische Einheiten von Beschleunigungsvektoren. Eine formale semantische Sprache kann an mehreren Fronten nützlich sein, die mit der rechnerischen Komplexität der Planung, die nicht exponentiell mit der Zeit und der Anzahl der Agierenden skaliert, mit der Art und Weise, wie Sicherheit und Komfort interagieren, mit der Art und Weise, wie die Berechnung der Wahrnehmung definiert wird, und der Spezifikation von Sensormodalitäten und wie sie in einer Fusionsmethodik interagieren, verbunden sind. Eine Fusionsmethodik (basierend auf der semantischen Sprache) kann sicherstellen, dass das RSS-Modell die erforderliche Todeswahrscheinlichkeit von 10-9 pro Stunde Fahrt erreicht, während nur eine Offline-Validierung über einen Datensatz in der Größenordnung von 105 Stunden Fahrdaten durchgeführt wird.
-
Beispielsweise kann in einer Umgebung des Verstärkungslernens eine Q-Funktion (z. B. eine Funktion, die die langfristige Qualität der Durchführung einer Aktion a ∈ A evaluiert, wenn sich der Agierende im Zustand s ∈ S befindet; bei einer solchen Q-Funktion kann eine natürliche Wahl einer Aktion darin bestehen, diejenige mit der höchsten Qualität, π(s) = argmaxa Q(s, a), auszuwählen) über einen semantischen Raum definiert werden, in dem die Anzahl der zu untersuchenden Trajektorien zu einem bestimmten Zeitpunkt auf 104 begrenzt ist, unabhängig von dem für die Planung verwendeten Zeithorizont. Das Signal-Rausch-Verhältnis in diesem Bereich kann hoch sein, was effektive maschinelle Lernansätze ermöglicht, um die Q-Funktion erfolgreich zu modellieren. Im Fall der Berechnung der Erfassung kann die Semantik die Unterscheidung zwischen Fehlern, die die Sicherheit beeinträchtigen, und Fehlern, die den Fahrkomfort beeinträchtigen, ermöglichen. Wir definieren ein PAC-Modell (Probably Approximate Correct (PAC), in Anlehnung an die PAC-Lernterminologie von Valiants) für die Erfassung, das an die Q-Funktion gebunden ist, und zeigen, wie Messfehler in die Planung in einer Weise einfließen, die RSS-konform ist aber dennoch eine Optimierung des Fahrkomforts ermöglicht. Die Sprache der Semantik kann für den Erfolg bestimmter Aspekte dieses Modells wichtig sein, da andere Standardfehlermaße, wie z. B. Fehler in Bezug auf ein globales Koordinatensystem, möglicherweise nicht mit dem PAC-Erfassungsmodell übereinstimmen. Darüber hinaus kann die semantische Sprache ein wichtiger Wegbereiter für die Definition von HD-Karten sein, die unter Verwendung von Erfassungsdaten mit geringer Bandbreite und somit durch Crowdsourcing konstruiert werden können, und Skalierbarkeit unterstützen.
-
Zusammenfassend, die offenbarten Ausführungsformen können ein formales Modell aufweisen, das wichtige Bestandteile eines AV abdeckt: Sinn, Plan und Aktion. Das Modell kann dazu beitragen, dass es aus planerischer Sicht zu keinen eigenverantwortlichen Unfällen des AV kommt. Und auch durch ein PAC-Erfassungsmodell kann die beschriebene Fusionsmethodik sogar mit Erfassungsfehlern nur eine Offline-Datenerfassung in einem sehr vernünftigen Umfang erfordern, um das beschriebene Sicherheitsmodell zu erfüllen. Darüber hinaus kann das Modell Sicherheit und Skalierbarkeit durch die Sprache der Semantik miteinander verbinden, wodurch eine vollständige Methodik für ein sicheres und skalierbares AV bereitgestellt wird. Schließlich ist anzumerken, dass die Entwicklung eines akzeptierten Sicherheitsmodells, das von der Industrie und den Regulierungsbehörden angenommen wird, eine notwendige Voraussetzung für den Erfolg von AVs sein kann.
-
Das RSS-Modell kann im Allgemeinen einer klassischen Erfassungs-Planungs-Aktions-Robotersteuerungsmethodik folgen. Das Erfassungssystem kann dafür verantwortlich sein, einen gegenwärtigen Zustand der Umgebung eines Host-Fahrzeugs zu verstehen. Der Planungsteil, der als „Fahrrichtlinie“ bezeichnet werden kann und der durch einen Satz hartcodierter Anweisungen, durch ein trainiertes System (z. B. ein neuronales Netz) oder eine Kombination davon implementiert werden kann, kann für die Bestimmung verantwortlich sein, was der beste nächste Schritt ist im Hinblick auf verfügbare Optionen zum Erreichen eines Fahrziels (z. B., wie man von der linken Spur auf eine rechte Spur wechselt, um eine Autobahn zu verlassen). Der Aktionsteil ist verantwortlich für die Umsetzung des Plans (z. B. das System von Aktuatoren und eine oder mehrere Steuerungen zum Lenken, Beschleunigen und/oder Bremsen usw. eines Fahrzeugs, um eine ausgewählte Navigationsaktion zu implementieren). Die nachstehend beschriebenen Ausführungsformen konzentrieren sich hauptsächlich auf den Erfassungs- und den Planungsteil.
-
Unfälle können von Erfassungsfehlern oder Planungsfehlern herrühren. Die Planung ist ein Unterfangen mit mehreren Agierenden, da es andere Verkehrsteilnehmer (Menschen und Maschinen) gibt, die auf Aktionen eines AV reagieren. Das beschriebene RSS-Modell dient unter anderem der Sicherheit für den Planungsteil. Dies kann als Multi-Agierende-Sicherheit bezeichnet werden. In einem statistischen Ansatz kann die Schätzung der Wahrscheinlichkeit von Planungsfehlern „online“ erfolgen. Denn nach jeder Aktualisierung der Software müssen Milliarden von Kilometern mit der neuen Version gefahren werden, um eine akzeptable Einschätzung der Häufigkeit von Planungsfehlern zu liefern. Dies ist eindeutig nicht machbar. Als Alternative kann das RSS-Modell eine 100%-Garantie (oder praktisch 100%-Garantie) bereitstellen, dass das Planungsmodul keine Fehler bezüglich der Schuld des AV machen wird (der Begriff „Schuld“ ist formal definiert). Das RSS-Modell kann auch ein effizientes Mittel für seine Validierung bereitstellen, das nicht auf Online-Tests angewiesen ist.
-
Fehler in einem Erfassungssystem können einfacher zu validieren sein, da die Erfassung unabhängig von den Fahrzeugaktionen sein kann und man daher die Wahrscheinlichkeit eines schwerwiegenden Erfassungsfehlers unter Verwendung von „Offline“-Daten validieren kann. Aber selbst das Sammeln von Offline-Daten von mehr als 109 Stunden Fahrt ist eine Herausforderung. Als Teil der Beschreibung eines offenbarten Erfassungssystems wird ein Fusionsansatz beschrieben, der unter Verwendung einer erheblich kleineren Datenmenge validiert werden kann.
-
Das beschriebene RSS-System kann auch auf Millionen von Autos skalierbar sein. Beispielsweise können die beschriebene semantische Fahrrichtlinie und angewandte Sicherheitsbeschränkungen mit Erfassungs- und Abbildungs- bzw. Kartierungsanforderungen übereinstimmen, die selbst in der heutigen Technologie auf Millionen von Autos skaliert werden können.
-
Für einen grundlegenden Baustein eines solchen Systems ist eine gründliche Sicherheitsdefinition, das heißt ein Mindeststandard, an den sich AV-Systeme möglicherweise halten müssen, nötig. In dem folgenden technischen Lemma wird gezeigt, dass ein statistischer Ansatz zur Validierung eines AV-Systems nicht durchführbar ist, selbst um eine einfache Behauptung, wie etwa „das System macht N Unfälle pro Stunde“, zu validieren. Dies impliziert, dass eine modellbasierte Sicherheitsdefinition das einzig praktikable Werkzeug zur Validierung eines AV-Systems ist.
- Lemma 1 Sei X ein Wahrscheinlichkeitsraum und A ein Ereignis, für das Pr(A) = p1 < 0.1 gilt. Angenommen, man nehme u.i.v. Proben von X, und sei Dann gilt
- Beweis Man verwende die Ungleichung 1 - x ≥ e-2x (der Vollständigkeit halber in Anhang A.1 bewiesen), um zu erhalten
- Corollar 1 Angenommen, ein AV-System AV1 macht einen Unfall mit einer kleinen, aber unzureichenden Wahrscheinlichkeit p1. Jedes deterministische Validierungsverfahren, dem 1/p1 Proben gegeben werden, wird mit konstanter Wahrscheinlichkeit nicht zwischen AV1 und einem anderen AV-System AV0, das niemals Unfälle macht, unterscheiden.
-
Um einen Überblick über die typischen Werte für solche Wahrscheinlichkeiten zu gewinnen, nehme man an, dass eine Unfallwahrscheinlichkeit von 10-9 pro Stunde gewünscht wird und ein bestimmtes AV-System nur eine Wahrscheinlichkeit von 10-8 liefert. Selbst wenn das System 108 Fahrstunden erreicht, besteht eine konstante Wahrscheinlichkeit, dass der Validierungsprozess nicht anzeigen kann, dass das System gefährlich ist.
-
Beachte schließlich, dass diese Schwierigkeit dazu dient, ein einzelnes, spezifisches, gefährliches AV-System ungültig zu machen. Eine vollständige Lösung kann nicht als einzelnes System betrachtet werden, da neue Versionen, Fehlerbehebungen und Aktualisierungen erforderlich sind. Jede Änderung, selbst einer einzigen Codezeile, erzeugt aus der Sicht eines Validierers ein neues System. Daher muss eine statistisch validierte Lösung dies online nach jeder kleinen Korrektur oder Änderung tun, über neue Proben, um die Verschiebung in der Verteilung der Zustände zu berücksichtigen, die von dem neuen System beobachtet und erreicht werden. Es ist unmöglich, wiederholt und systematisch eine so große Anzahl von Proben zu erhalten (und selbst dann, mit einer konstanten Wahrscheinlichkeit, das System nicht validieren zu können).
-
Ferner muss jeder statistische Anspruch formalisiert werden, um gemessen zu werden. Die Behauptung einer statistischen Eigenschaft über die Anzahl der Unfälle, die ein System verursacht, ist deutlich schwächer als die Behauptung, „es fährt sicher“. Um dies sagen zu können, muss man formell definieren, was Sicherheit ist.
-
Absolute Sicherheit ist unmöglich
-
Eine von einem Auto c durchgeführte Aktion a kann als absolut sicher angesehen werden, wenn auf die Aktion zu einem späteren Zeitpunkt kein Unfall folgen kann. Es ist ersichtlich, dass es unmöglich ist, absolute Sicherheit zu erreichen, indem beispielsweise einfache Fahr-Szenarien beobachtet werden, wie sie in Figure 19 dargestellt sind. Aus der Perspektive des Fahrzeugs 1901 kann keine Aktion sicherstellen, dass keines der umliegenden Autos in dieses hineinfährt. Es ist auch unmöglich, dieses Problem zu lösen, indem man dem autonomen Auto verbietet, sich in solchen Situationen aufzuhalten. Da jede Autobahn mit mehr als zwei Fahrspuren irgendwann dorthin führen wird, kommt das Verbot dieses Szenarios einer Verpflichtung gleich, in der Garage zu bleiben. Die Auswirkungen mögen auf den ersten Blick enttäuschend erscheinen. Nichts ist absolut sicher. Eine solche Forderung nach absoluter Sicherheit, wie sie oben definiert ist, kann jedoch zu streng sein, wie aus der Tatsache hervorgeht, dass menschliche Fahrer eine Forderung nach absoluter Sicherheit nicht einhalten. Stattdessen handelt der Mensch nach einem verantwortungsbewussten Sicherheitsgedanken.
-
Verantwortungsbewusste Sicherheit
-
Ein wichtiger Aspekt, der dem absoluten Sicherheitskonzept fehlt, ist die Unsymmetrie der meisten Unfälle - es ist normalerweise einer der Fahrer, der für einen Unfall verantwortlich und schuld ist. In dem Beispiel von 19 ist dem mittleren Auto 1901 kein Vorwurf zu machen, wenn beispielsweise der linke Wagen 1909 plötzlich in es hineinfährt. Um die Tatsache zu formalisieren, kann ein Verhalten des AV 1901, auf seiner eigenen Spur zu bleiben, in Anbetracht seiner fehlenden Verantwortung als sicher angesehen werden. Dazu wird ein formales Konzept der „Unfallschuld“ oder Unfallverantwortung beschrieben, das als Prämisse für einen sicheren Fahransatz dienen kann.
-
Betrachte als Beispiel den einfachen Fall von zwei Autos cf, cr, die mit gleicher Geschwindigkeit hintereinander auf einer geraden Straße fahren. Angenommen, cf, das vordere Auto, bremst plötzlich wegen eines auf der Straße erscheinenden Hindernisses und schafft es, diesem auszuweichen. Leider hat cr zu wenig Abstand zu cf gehalten, kann nicht rechtzeitig reagieren, und kracht gegen den hinteren Teil von cf Es ist klar, dass cf die Schuld trägt; es liegt in der Verantwortung des hinteren Autos, einen sicheren Abstand zu dem vorderen Auto einzuhalten und auf ein unerwartetes, aber vernünftiges Bremsen vorbereitet zu sein.
-
Betrachte als Nächstes eine viel breitere Familie von Szenarien: Fahren auf einer mehrspurigen Straße, wo Autos frei die Spur ändern, in die Pfade anderer Autos einscheren, mit unterschiedlichen Geschwindigkeiten fahren können, und so weiter. Um die folgende Diskussion zu vereinfachen, sei eine gerade Straße auf einer ebenen Oberfläche gegeben, wobei die Quer- und Längsachsen die x- bzw. y-Achsen sind. Dies kann unter schwächeren Bedingungen erreicht werden, indem ein Homomorphismus zwischen der tatsächlichen gekrümmten Straße und einer geraden Straße definiert wird. Betrachte außerdem einen diskreten Zeitraum. Definitionen können bei der Unterscheidung zwischen zwei intuitiv unterschiedlichen Fallgruppen helfen: einfache Fälle, in denen kein signifikantes Quermanöver durchgeführt wird, und komplexere Fälle, die eine Querbewegung aufweisen.
-
Definition 1 (Autokorridor) Der Korridor eines Autos c ist der Bereich [cx,left,cx,right] × [±∞], wobei cx,left,cx,right die Positionen der Ecken ganz links, ganz rechts von c sind.
-
Definition 2 (Einscheren) Ein Auto c1 (das Auto 2003 in den 20A und 20B) schert zum Zeitpunkt t in den Korridor von Auto c0 (Auto 2001 in den 20A und 20B) ein, wenn es den Korridor von c0 nicht zum Zeitpunkt t, wenn es den Korridor von c1 zum Zeitpunkt t-1 nicht geschnitten hat und zum Zeitpunkt t schneidet.
-
Eine weitere Unterscheidung kann zwischen vorderen/hinteren Teilen des Korridors gemacht werden. Der Begriff „Einscher-Richtung“ kann eine Bewegung in Richtung der betreffenden Korridorgrenze beschreiben. Diese Definitionen können Fälle mit Bewegung in Querrichtung definieren. Für den einfachen Fall, in dem ein solches Ereignis nicht auftritt, wie z. B. der einfache Fall, dass ein Auto auf ein anderes folgt, wird der Sicherheitsabstand in Längsrichtung definiert:
-
Definition 3 (sicherer Längsabstand) Ein Längsabstand 2101 (21) zwischen einem Auto cr (Auto 2103) und einem anderen Auto cf (Auto 2105), das sich in dem vorderem Korridor von cr befindet, ist sicher bzgl. eine Reaktionszeit p, wenn für irgendeinen von cf durchgeführten Bremsbefehl a, |a| < amax,brake, wenn cr seine maximale Bremsung vom Zeitpunktp bis zum vollständigen Stillstand anwendet, es dann nicht mit cf kollidieren wird.
-
Lemma 2 unten berechnet d als Funktion der Geschwindigkeiten von cr, cf, der Reaktionszeit ρ, und der maximalen Beschleunigung amax,brake. Sowohl ρ als auch amax,brake sind Konstanten, die durch Regulierung auf vernünftige Werte festgelegt werden sollten.
-
Lemma 2 Sei c
r ein Fahrzeug, das sich auf der Längsachse hinter c
f befindet. Seien a
max,brake, a
max,accel die maximalen Brems- und Beschleunigungsbefehle, und sei ρ die Reaktionszeit von c
r. Seien v
r, v
f die Längsgeschwindigkeiten der Autos, und l
f, l
r, ihre Längen. Definiere v
p,max = v
r + ρ · a
max,ac-cel und definiere
und
Sei L = (l
r + l
f)/2. Dann ist der minimale sichere Längs-abstand für c
r:
-
Beweis Sei d
t der Abstand zum Zeitpunkt t. Um einen Unfall zu vermeiden, müssen wir für jedes t, dt > L haben. Um d
min zu konstruieren, müssen wir die engste benötigte untere Grenze für da finden. Offensichtlich muss da mindestens L sein. Solange die beiden Autos nicht nach T ≥ ρ Sekunden gestoppt haben, ist die Geschwindigkeit des vorausfahrenden Autos v
f- T a
max,brake, während die Geschwindigkeit von c
r nach oben durch v
p,max - (T - p) a
max,accel begrenzt ist. Somit wird der Abstand zwischen den Autos nach T Sekunden nach unten begrenzt durch:
-
Beachte, dass T
r die Zeit ist, mit der c
r zum vollständigen Stillstand kommt (eine Geschwindigkeit von 0), und T
f die Zeit ist, mit der das andere Fahrzeug zum vollständigen Stillstand kommt. Beachte, dass a
max,brake(T
r - T
f) = v
p,max- v
f+ ρa
max,brake, also genügt es, da > L zu fordern, solange T
r ≤ T
f,. Wenn T
r > T
f, ist, dann gilt
Die Forderung d
Tr > L und eine Umordnung der Terme schließt den Beweis ab.
-
Schließlich wird ein Vergleichsoperator definiert, der Vergleiche mit einem gewissen „Spielraum“ ermöglicht: Beim Vergleichen von Längen, Geschwindigkeiten usw. ist es notwendig, sehr ähnliche Größen als „gleich“ zu akzeptieren. Definition 4 (u-Vergleich) Der µ-Vergleich von zwei Zahlen a, b ergibt a > µb wenn a > b + µ, a < µb wenn a < b - µ, und a = µb wenn |a-b| ≤ µ.
-
Die Vergleiche (argmin, argmax, usw.) unten sind µ-Vergleiche für einige geeignete µ. Angenommen, es ereignete sich ein Unfall zwischen den Autos c1, c2. Um die Unfallschuld zu ermitteln, wird der relevante Zeitpunkt definiert, der untersucht werden muss. Dies ist ein Zeitpunkt, der dem Unfall vorausging und intuitiv der „Punkt ohne Wiederkehr“ war; danach konnte nichts mehr getan werden, um den Unfall zu verhindern.
-
Definition 5 (Schuldzeit) Die Schuldzeit eines Unfalls ist der früheste Zeitpunkt vor dem Unfall:
- • zu dem es eine Überschneidung gab zwischen dem Korridor eines der Autos und dem des anderen, und
- • zu dem der Längsabstand nicht sicher war.
-
Offensichtlich gibt es einen solchen Zeitpunkt, da in dem Moment des Unfalls beide Bedingungen gelten. Schuldzeiten können in zwei separate Kategorien unterteilt werden:
- • solche, bei denen auch eine Einscherung auftritt, nämlich der erste Moment der Überscheidung des Korridors eines Autos und des einen anderen, und es befindet sich in einer nicht sicheren Entfernung.
- • solche, bei denen keine Einscherung auftritt, d. h. es gab bereits eine Überschneidung mit dem Korridor in einem sicheren Abstand in Längsrichtung, und der Abstand hatte sich zur Schuldzeit auf unsicher geändert.
-
Definition 6 (µ-Verlieren durch Quergeschwindigkeit) Angenommen, es kommt zu einem Einscheren zwischen den Autos c1, c2. Wir sagen, dass c1 µ-verliert durch Quergeschwindigkeit, falls seine Quergeschwindigkeit bzgl. der Richtung des Einscherens um µ höher als die von c2.
-
Es sollte angemerkt werden, dass die Richtung der Geschwindigkeit wichtig ist: Beispielsweise sind Geschwindigkeiten von -1, 1 (beide Autos kollidieren miteinander) ein Gleichstand, aber wenn die Geschwindigkeiten 1, 1 + µ/2 sind, ist das Auto mit positiver Richtung zu dem anderen schuld. Intuitiv erlaubt uns diese Definition, ein Auto zu beschuldigen, das in Querrichtung sehr schnell in ein anderes fährt.
-
Definition 7 ((µ1, µ2)-Gewinnen durch Querposition) Angenommen, es kommt zu einem Einscheren zwischen den Autos c1, c2. Wir sagen, dass c1 (µ1, µ2)-gewinnt durch Querposition, falls seine Querposition bzgl. die Mitte der Einscherspur (die Mitte, die dem relevanten Einscherkorridor am nächsten liegt) kleiner als µ1 (als Absolutwert) ist, und um µ2 kleiner als der von c2.
-
Intuitiv werden wir einem Auto keinen Vorwurf machen, wenn es sehr nahe an der Spurmitte (µ1) ist, und viel näher als das andere Auto (um µ2).
-
Definition 8 (Schuld) Die Schuld oder Verantwortung für einen Unfall zwischen Autos c1, c2 ist eine Funktion des Zustands zum Zeitpunkt der Schuld und wird wie folgt definiert:
- • wenn die Schuldzeit keine Einscherzeit ist, liegt die Schuld bei dem hinteren Auto.
- • wenn die Schuldzeit auch eine Einscherzeit ist, liegt die Schuld bei beiden Autos, es sei denn, für eines der Autos, c1, gelten o. B. d. A die beiden folgenden Bedingungen für einige vordefinierte µ:
- • es verliert nicht durch Quergeschwindigkeit,
- • es gewinnt durch Querposition.
-
In diesem Fall wird c1 verschont. Mit anderen Worten, wenn es zu einem unsicheren Einscheren kommt, sind beide Autos schuld, es sei denn, eines der Autos ist nicht (deutlich) in Querrichtung schneller und (deutlich) näher an der Fahrspurmitte. Dadurch wird das gewünschte Verhalten festgehalten: Wenn einem Auto gefolgt wird, halte einen Sicherheitsabstand, und wenn in einen Korridor eines Autos eingeschert wird, das einfach nur auf seiner eigenen Spur fährt, so tue dies nur in einem sicheren Abstand. Ein automatisiertes steuerungsbasiertes System zum Befolgen der oben beschriebenen Sicherheitsrichtlinien sollte nicht zu übermäßig defensivem Fahren führen, wie weiter unten besprochen wird.
-
Umgang mit begrenzter Erfassung
-
Nach Betrachtung des Autobahnbeispiels befasst sich als Nächstes ein zweites Beispiel mit einem Problem der begrenzten Erfassung. Eine sehr häufige menschliche Reaktion, wenn man für einen Unfall verantwortlich gemacht wird, fällt in die Kategorie „aber ich konnte ihn nicht sehen“. Dies ist oft wahr. Die menschlichen Erfassungsfähigkeiten sind begrenzt, manchmal aufgrund einer unbewussten Entscheidung, sich auf einen anderen Teil der Straße zu konzentrieren, manchmal aufgrund von Unachtsamkeit, und manchmal aufgrund körperlicher Einschränkungen - es ist unmöglich, einen hinter einem geparkten Auto versteckten Fußgänger zu erkennen. Von diesen menschlichen Einschränkungen unterliegen fortschrittliche automatische Sensorsysteme möglicherweise bei dem letzteren: eine 360°-Ansicht der Straße, zusammen mit der Tatsache, dass Computer niemals nachlässig sind, stellt sie über die menschlichen Erfassungsfähigkeiten. Um auf das Beispiel „aber ich konnte ihn nicht sehen“ zurückzukommen, lautet eine passende Antwort „naja, du hättest vorsichtiger sein sollen“. Um zu formalisieren, was in Bezug auf die begrenzte Erfassung vorsichtig ist, betrachte das in 22 dargestellte Szenario. Das Auto 2201 (co) versucht, einen Parkplatz zu verlassen und mündet in eine (möglicherweise) stark befahrene Straße ein, kann aber nicht sehen, ob in diesem Fall Autos auf der Straße sind, da die Sicht durch das Gebäude 2203 verdeckt ist. Angenommen, dies ist eine städtische, schmale Straße mit einer Geschwindigkeitsbegrenzung von 30 km/h. Das Verhalten eines menschlichen Fahrers besteht darin, langsam in die Straße einzufahren und dabei immer mehr Sichtfeld zu erhalten, bis die Erfassungsbegrenzungen beseitigt sind. Ein wesentlicher Zeitpunkt sollte definiert werden - der erste Zeitpunkt, an dem uns das verdeckte Objekt ausgesetzt wird; nach seiner Exposition geht man damit wie mit jedem anderen Objekt um, das man erfassen kann.
-
Definition 9 (Expositionszeitpunkt) Der Expositionszeitpunkt eines Objekts ist der erste Zeitpunkt, an dem wir es sehen.
-
Definition 10 (Schuldzuweisung aufgrund unvernünftiger Geschwindigkeit) Angenommen, dass Auto c1 (Auto 2205) ist an dem Expositionszeitpunkt oder danach mit der Geschwindigkeit v > vlimit gefahren, und c0 hat dies nicht getan. Dann liegt die Schuld nur bei c1. Man sagt, c1 trägt die Schuld wegen unvernünftiger Geschwindigkeit.
-
Diese Erweiterung ermöglicht es c0, den Parkplatz sicher zu verlassen. Unter Verwendung unserer bisherigen verantwortungsbewussten Sicherheitsdefinitionen zusammen mit einer dynamischen vlimit-Definition (welche die Straßenbedingungen und die Geschwindigkeitsbegrenzung plus angemessener Spielräume verwendet) besteht die einzige Notwendigkeit darin, zu prüfen, ob im Worst Case, wie in der Figur dargestellt, das Einscheren in einem sicheren Abstand erfolgt, unter der Annahme, dass vlimit von c1 nicht überschritten wird. Intuitiv ermutigt dies c0, langsamer und weiter von dem verdeckenden Objekt wegzufahren, wodurch sein Sichtfeld langsam vergrößert wird und später ein sicheres Einfädeln in die Straße ermöglicht wird.
-
Nachdem die Unfallverantwortungsdefinition auf diesen grundlegenden Fall der begrenzten Erfassung erweitert wurde, kann eine Familie von Erweiterungen ähnliche Fälle ansprechen. Einfache Annahmen darüber, was verdeckt werden kann (ein potenziell schnelles Auto kann nicht zwischen zwei eng geparkten Autos verdeckt werden, aber ein Fußgänger kann es), und was das Manöver, das es ausführen kann, im ungünstigsten Fall ist (die vlimit eines Fußgängers ist viel kleiner als die eines Autos), bedeuten Beschränkungen beim Fahren - man muss auf das Schlimmste vorbereitet sein, und die Fähigkeit haben, zu reagieren, wenn plötzlich der Expositionszeitpunkt kommt. Ein ausführlicheres Beispiel in einem städtischen Szenario kann dem Szenario eines Fußgängers entnommen werden, der möglicherweise von einem geparkten Auto verdeckt wird. Unfallschuld für Unfälle mit Fußgängern kann definiert werden:
-
Definition 11 (Schuldzuweisung für Unfall mit Fußgänger) Die Schuld für einen Unfall mit Fußgänger liegt immer beim Auto, es sei denn, eines der folgenden drei gilt:
- • das Auto trifft den Fußgänger mit der Fahrzeugseite, und die Quergeschwindigkeit des Autos ist kleiner als µ, bzgl. der Treffrichtung.
- • die Geschwindigkeit des Fußgängers zum Expositionszeitpunkt oder später war größer als vli-mit.
- • das Auto steht vollständig still.
-
Informell ist das Auto nur dann nicht schuld, wenn ein Fußgänger in seine Seite hineinläuft, während das Auto nicht schneller als µ in den Fußgänger fährt, oder wenn das Auto stillsteht, oder wenn der Fußgänger übermenschlich schnell gelaufen ist, in eine Richtung, nicht unbedingt in die Treffrichtung.
-
Während das beschriebene System möglicherweise keine absolute Sicherheit gewährleistet, kann es zu einem Szenario führen, in dem sehr wenige (wenn überhaupt) Unfälle zwischen autonomen Fahrzeugen auftreten. Wenn beispielsweise alle Autos (und andere Verkehrsteilnehmer) erfolgreich verifizieren können, dass sie infolge einer getätigten Aktion nicht für einen Unfall verantwortlich gemacht werden, können Unfälle eliminiert werden. Per Definition gibt es für jeden Unfall mindestens ein verantwortliches Auto. Wenn also kein Auto eine Aktion tätigt, für die es für einen daraus resultierenden Unfall verantwortlich sein könnte (gemäß dem oben beschriebenen RSS-Modell), sollte es niemals zu Unfällen kommen, die zu der Art von absoluter Sicherheit oder nahezu absoluter Sicherheit führen, die von sperrigen und unpraktischen statistischen Verfahren angestrebt wird.
-
Nicht alle Straßen haben eine einfache Struktur. Einige, wie etwa Kreuzungen und Kreisverkehre, enthalten komplexere Situationen sowie verschiedene Vorfahrtsregeln. Nicht alle verdeckten Objekte sind Autos oder Fußgänger, mit Fahrrädern und Motorrädern sind alle legitimen Verkehrsteilnehmer zu berücksichtigen. Die in diesem Abschnitt eingeführten Prinzipien können auf diese zusätzlichen Fälle ausgedehnt werden.
-
Effizient validierte Bedingungen für verantwortungsbewusste Sicherheit
-
Dieser Abschnitt diskutiert Implementierungsaspekte von RSS. Zunächst ist zu beachten, dass eine jetzt ausgeführte Aktion einen Schmetterlingseffekt haben kann, der beispielsweise nach 10 Minuten Fahrt zu einer Ereigniskette mit einem Unfall führt. Ein „Brute-Force“-Ansatz zur Überprüfung aller potenziellen zukünftigen Ergebnisse ist nicht nur unpraktisch, sondern wahrscheinlich unmöglich. Um diese Herausforderung zu bewältigen, werden die oben beschriebenen verantwortungsbewussten Sicherheitsdefinitionen nun zusammen mit recheneffizienten Methoden zu ihrer Validierung beschrieben.
-
Rechnerisch machbare Sicherheitsüberprüfung
-
Das hauptsächliche mathematische Werkzeug für eine rechnerisch durchführbare Verifizierung ist „Induktion“. Um eine Behauptung durch Induktion zu beweisen, beginnt man mit dem Beweis der Behauptung für einfache Fälle, und dann erweitert jeder Induktionsschritt den Beweis auf immer kompliziertere Fälle. Um zu veranschaulichen, wie dieses Induktionsinstrument für die Sicherheitsüberprüfung hilfreich sein kann, betrachte man noch einmal das einfache Beispiel eines Autos cr, das einem anderen, cf, folgt (21). Die folgende Beschränkung kann auf die Richtlinie von cr angewendet werden. Bei jedem Zeitschritt t kann die Richtlinie einen beliebigen Beschleunigungsbefehl auswählen, so dass selbst wenn cf eine Verzögerung von -amax anwendet, der resultierende Abstand zwischen cr und cf beim nächsten Zeitschritt mindestens dem sicheren Längsabstand entspricht (definiert in Definition 3 und Satz 2). Wenn keine solche Aktion vorhanden ist, muss cr die Verzögerung -amax anwenden. Das folgende Lemma verwendet Induktion, um zu beweisen, dass jede Richtlinie, die sich an die obigen Beschränkungen hält, niemals einen Unfall mit cf macht.
-
Lemma 3 Unter den in Definition 3 gegebenen Annahmen wird es, falls die Richtlinie von cr die oben angegebenen Einschränkungen einhält, niemals zu einem Unfall mit cf. kommen.
-
Beweis Der Beweis erfolgt per Induktion. Beginne für die Induktionsbasis mit einem Anfangszustand, in dem der Abstand zwischen den beiden Autos sicher ist (gemäß Lemma 2). Der Induktionsschritt ist wie folgt. Betrachte den Abstand zwischen cr und cf zu einem Zeitpunkt t. Wenn es eine Aktion gibt, die zu einem sicheren Abstand führt (selbst bei maximaler Verzögerung), ist alles in Ordnung. Wenn alle Aktionen keinen sicheren Abstand garantieren können, sei t' < t die maximale Zeit, in der eine Aktion durchgeführt wurde, die keine maximale Verzögerung war. Nach der Induktionshypothese befanden wir uns zum Zeitpunkt t' + 1 in einem sicheren Abstand und führten von da an eine maximale Verzögerung durch. Daher gab es nach der Definition des Sicherheitsabstands vom Zeitpunkt t' bis jetzt keinen Unfall, was den Beweis abschließt.
-
Das obige Beispiel demonstriert eine allgemeinere Idee: Es gibt ein Notfallmanöver, das von cr im Extremfall ausgeführt werden kann und es zurück in einen „sicheren Zustand“ führt. Es sollte beachtet werden, dass die Beschränkungen der oben beschriebenen Richtlinie nur von einem zukünftigen Zeitschritt abhängig sind, daher kann sie auf recheneffiziente Weise verifiziert werden.
-
Um diese Ideen von ausreichenden lokalen Eigenschaften für RSS zu verallgemeinern, definieren wir zuerst eine Standard-Notfallrichtlinie (DEP) und verwenden sie als einen Baustein zum Definieren einer lokalen Eigenschaft des Handelns, die wir „vorsichtig“ nennen. Es wird dann gezeigt, dass es für RSS ausreicht, nur vorsichtige Befehle vorzunehmen.
-
Definition 12 (Standard-Notfallrichtlinie) Die Standard-Notfallrichtlinie (DEP) besteht darin, maximale Bremsleistung und maximale Kursänderung in Richtung 0 Kurs bzgl. der Spur anzuwenden. Die maximale Bremsleistung und Richtungsänderung werden von physikalischen Parametern des Autos (und möglicherweise auch von Wetter- und Straßenbedingungen) abgeleitet. Definition 13 (Sicherer Zustand) Ein Zustand s ist sicher, wenn die von ihm ausgehende Durchführung von DEP nicht zu einem selbstverschuldeten Umfall führt. Wie in dem einfachen Fall eines Autos, das einem anderen folgt, wird definiert, dass ein Befehl vorsichtig ist, wenn er zu einem sicheren Zustand führt. Definition 14 (vorsichtiger Befehl) Angenommen, wir befinden uns derzeit im Zustand so. Ein Befehl a ist vorsichtig, wenn der nächste Zustand, s1, in Bezug auf einen Satz A möglicher Befehle, die andere Fahrzeuge jetzt ausführen könnten, sicher ist. Die obige Definition hängt von den Worst-Case-Befehlen ab, die andere Fahrzeuge in der Menge A ausführen könnten. Wir werden die Menge A basierend auf angemessenen Obergrenzen für maximales Bremsen/Beschleunigen und Querbewegungen konstruieren.
-
Das folgende Theorem beweist wiederum durch Induktion, dass, wenn nur vorsichtige Befehle erteilt werden, es keine Unfälle durch eigenes Verschulden geben wird. Theorem 1 Angenommen, dass sich c zum Zeitpunkt 0 in einem sicheren Zustand befindet und cfür jeden Zeitschritt nur vorsichtige Befehle ausgibt, wobei c DEP anwendet, wenn zu irgendeinem Zeitschritt kein vorsichtiger Befehl existiert. Dann wird c niemals selbstverschuldete Unfälle machen. Beweis Durch Induktion. Die Basis der Induktion ergibt sich aus der Definition eines sicheren Zustands, und der Schritt aus der Definition eines vorsichtigen Befehls.
-
Ein Vorteil dieses Ansatzes besteht darin, dass möglicherweise keine Notwendigkeit besteht, die unendliche Zukunft zu prüfen, da man schnell zu einem sicheren Zustand zurückkehren und von dort aus sicher weitermachen kann. In Anbetracht der Tatsache, dass man bei t + 1 erneut planen kann und daher in der Lage ist, die DEP dann bei Bedarf durchzuführen, sollte man außerdem nur den Befehl überprüfen, der zum Zeitpunkt t gegeben wird, und nicht einen potenziellen längeren Plan, den man im Sinn haben könnte - wir können diesen Plan bei t + 1 ändern. Jetzt wird es möglich, eine Lernkomponente in ein System zu integrieren, wenn sie zur Laufzeit durch dieses transparente Modell überprüft wird. Schließlich impliziert diese lokale Verifizierung eine vollständige zukünftige RSS, was unser gewünschtes Ziel ist. Ein Implementierungshindernis besteht darin, dass die Vorsichtsdefinition alle Trajektorien umfasst, die ein anderer Agierender bis tbrake durchführen kann, was selbst für moderates tbrake ein riesiger Raum ist. Um dies anzugehen, wird als nächstes ein effizient berechenbares Verfahren zur skalierbaren Überprüfung der Vorsicht und damit der RSS entwickelt.
-
Effiziente Überprüfung der Vorsicht
-
Eine erste Beobachtung ist, dass ein Zustand nicht sicher ist, wenn und nur wenn es ein bestimmtes Fahrzeug, c̃, gibt, das Befehle aus dem Satz A ausführen kann, die zu einem selbstverschuldeten Unfall führen, während die DEP ausgeführt wird. Daher kann in einer Szene mit einem einzigen Zielauto, mit c̃ bezeichnet, und im allgemeinen Fall die Prozedur sequentiell für jedes der anderen Fahrzeuge in der Szene ausgeführt werden.
-
Wenn ein einzelnes Zielauto betrachtet wird, ist eine Aktion a nicht vorsichtig, wenn und nur wenn es eine Folge von Befehlen für c̃ gibt, bezeichnet mit ã1,..., ãtbrake, alle in der Menge A, die zu einem von c verschuldeten Unfall führen. Wie bereits bewiesen, gibt es, wenn zum Zeitpunkt 0 gilt, dass sich c̃ in dem vorderen Korridor von c befindet, eine einfache Möglichkeit, die Vorsicht von a zu überprüfen - man muss nur überprüfen, ob selbst wenn c̃ für einen Zeitschritt die maximale Bremsung anwendet (und wir führen a aus), der resultierende Längsabstand sicher bleibt. Das folgende Lemma gibt eine hinreichende Bedingung für Vorsicht in den komplizierteren Fällen, in denen auch Quermanöver in Betracht gezogen werden müssen.
-
Lemma 4 Angenommen, zum Zeitpunkt T = 0 befindet sich c̃ nicht in dem vorderen Korridor von c. Wenn es dann bei jedem T ∈ (0, tbrake] keine unsicheres Einscheren gibt, bei dem c schuld ist, dann ist a vorsichtig.
-
Beweis Angenommen, a sei nicht vorsichtig, es gäbe nämlich ã1,..., ãtbrake, die zu einem von c verschuldeten Unfall führen. Vor dem Unfall muss eine Einscherzeit T liegen. Nehmen wir zunächst an, dass T> 0. Wenn dieses Einscheren in einem sicheren Längsabstand war, dann kann es nicht zu einem selbstverschuldeten Unfall kommen, aufgrund der Ausführung von DEP durch Verzögerung von -amax und basierend auf der Definition des sicheren Längsabstands (und hier unter der Annahme, dass die Reaktionszeit ρ größer als die Zeitauflösung von Schritten ist). Wenn das Einscheren nicht ungefährlich war, war es nach Annahme des Lemmas nicht von c verschuldet, also ist der Unfall auch nicht von c verschuldet.
-
Wenn schließlich T < 0 ist, befand sich nach der Annahme des Lemmas c̃ im Moment des Einscheren im hinteren Korridor von c. Durch Induktion hat c in der Vergangenheit nur sichere Einscherungen durchgeführt, und daher war das Einscheren entweder sicher oder es war von c verschuldet. In beiden Fällen ist der aktuelle Unfall nicht von c verschuldet.
-
Im Lichte von Lemma 4 bleibt das Problem zu prüfen, ob eine nicht sicheres Einscheren verbleiben kann, das durch c verschuldet ist. Nachfolgend wird ein effizienter Algorithmus vorgestellt, um die Möglichkeit eines unsicheren Einscherens zum Zeitpunkt t zu prüfen. Um die gesamte Trajektorie zu validieren, diskretisieren wir das Zeitintervall [0, t
brake] und wenden den Algorithmus auf alle Zeitintervalle an (mit einem etwas größeren Wert vonp in der Definition des Sicherheitsabstands, um sicherzustellen, dass die Diskretisierung nicht weh tut). Sei c̃
diag die Länge einer Diagonalen eines minimalen Rechtecks, das c̃ umgibt. Definiere, für jede Zeit t ∈ [0, t
brake], c
length(t) als die Längs-„Spanne“ von c in der Zeit t, und sei
Definiere c
width[t] auf ähnliche Weise, und sei
-
Das folgende Theorem beweist die Korrektheit des obigen Algorithmus.
-
Theorem 2 Wenn der Algorithmus 1 „nicht machbar“ zurückgibt, kann es zum Zeitpunkt t kein nicht sicheres Einscheren geben, welches durch das Ego-Fahrzeug verschuldet wird. Um das Theorem zu beweisen, stützen wir uns auf die folgenden Schlüssellemmas, die die Korrektheit der beiden Bausteine von Algorithmus 1 beweisen. Beginnen wir mit der Machbarkeit in Längsrichtung:
-
Lemma 5 Unter den Bezeichnungen von Algorithmus 1, wenn die Prozedur zum Prüfen der Machbarkeit in Längsrichtung mit der Rückgabe von „nicht machbar“ abgeschlossen wird, kann es zum Zeitpunkt t kein sicheres Einscheren geben, welches durch das Ego-Fahrzeug verschuldet wird.
-
Beweis Man ignoriere den Queraspekt eines Einschermanövers und untersuche die bloße Möglichkeit, dass der Längsabstand zwischen c und c̃ unsicher sein wird. Es ist klar, dass die Positionen (ỹmin, ỹmax) die Position begrenzen, die von c̃ zum Zeitpunkt t erreicht werden kann. Durch die Tatsache [ỹmin, ỹmax] ∩ [y[t] - L, y[t] + L] = 0 erhalten wir, dass jeder erreichbare Längsabstand ≥ L ist. Angenommen, ỹmin > y[t] + L, und angenommen, durch Widerspruch, dass eine nicht sichere Längsposition und -geschwindigkeit, bezeichnet mit ỹbad [t], ṽybad[t], unter Verwendung von Beschleunigungsbefehlen erreichbar sind, die durch ay,min, ay,max begrenzt sind. Per Definition von ỹmin haben wir ỹbad[t] > ỹmin, und daher ist der Abstand zwischen den Autos größer, nämlich ỹbad[t] - (y[t]+L) > ỹmin - (y[t]+L). Da (ỹmin, ṽy[0]+ay,mint) in Längsrichtung sicher bzgl. (y[t], vy[t]) ist, folgt aus der Definition der Unsicherheit in Längsrichtung, dass die erreichte Geschwindigkeit ṽybad[t] kleiner sein muss als ṽy[0] + ay,mint. Es ist jedoch klar, dass c̃ zum Erreichen einer geringeren Geschwindigkeit eine durchschnittliche Beschleunigung verwenden muss, die während des gesamten Zeitfensters [0, t] kleiner als ay,min ist, was der Tatsache widerspricht, dass die Unsicherheit in Längsrichtung durch Befehle erreicht wurde, die durch ay,min, ay,max begrenzt sind. Durch Betrachtung eines symmetrischen Arguments für den Fall ỹmax < y[t] - L ist der Beweis abgeschlossen.
-
Als nächstes, die Machbarkeit in Querrichtung.
-
Lemma 6 Unter den Bezeichnungen von Algorithmus 1, wenn die Prozedur zum Prüfen Machbarkeit in Querrichtung mit der Rückgabe von „nicht machbar“ abgeschlossen wird, dann kann es zum Zeitpunkt t kein nicht sicheres Einscheren, welches durch das Ego-Fahrzeug verschuldet wird, geben.
-
Beweis Zunächst ist klar, dass durch die Annahmen x[t] = 0, x̃[0] ≤ 0, und die bezüglich vx[t], durch eine einfache Koordinatenänderung und Berücksichtigung der Relativgeschwindigkeit keine Beschränkung der Allgemeinheit entsteht. Außerdem ist es durch ähnliche Argumente einfach, auf den Fall zu erweitern, bei dem ṽx[0] ≤ 0 ist.
-
Beachte, dass die Positionen der am Einscheren beteiligten Autos, die in unserem Fall (x[t], x[t] - W) sind, eine gewisse Eigenschaft des (µ1,µ2)-Gewinnens durch Querposition implizieren, wodurch die Schuld beeinflusst wird. Durch unsere Annahmen über vx[t] erhalten wir, dass die maximale Quergeschwindigkeit, die c̃ zum Zeitpunkt t verwendet werden darf, unter der Annahme, dass c die Schuld trägt, 0 ist: entweder um die Quergeschwindigkeit µ-zu „binden“ (im Fall (µ1 , µ2)-gewinnt c nicht durch Querposition, dies kann ausreichen, um ihm die Schuld zu zuzuweisen) oder um zu µ-gewinnen durch Quergeschwindigkeit (in dem Fall, dass c (µ1,µ2)-gewinnt durch Querposition macht, ist dies notwendig, um ihm die Schuld zuzuweisen). Es bleibt zu prüfen, ob ein Manöver existiert, das bei ṽx[0] beginnt und bei ṽx[t] = 0 endet, unter Verwendung von Querbeschleunigungen, die durch ax,max begrenzt sind, mit der Endposition x[t] ≥ x[t] - W. In anderen Worten, ein Einscheren, das bei der gewünschten Quergeschwindigkeit 0 endet.
-
Man erinnere sich an die Definition ttop = 0.5(t - ṽx[0]/ax,max) aus dem Algorithmus. Angenommen, ttop < 0. Dies impliziert, dass die Zeit, die c̃ benötigt, um die Quergeschwindigkeit 0 zu erreichen, wenn die maximale Querbeschleunigung verwendet wird, nämlich ṽx[0]/ax,max, kleiner als t ist. Dies impliziert, dass es kein Manöver gibt, das es ausführen kann, um die gewünschte Geschwindigkeit rechtzeitig zu erreichen, und daher kein problematisches Manöver existiert. Wenn das Verfahren aufgrund von ttop < 0 „nicht machbar“ zurückgibt, gibt es daher tatsächlich keine Machbarkeit eines nicht sicheren Einscherens, an dem c die Schuld trägt.
-
Man betrachte den Fall t
top > 0. Dann gab die Prozedur aufgrund von
Xmax < -W „nicht machbar“ zurück. Betrachte eine Familie von Quergeschwindigkeitsprofilen für c̃ in dem Zeitbereich [0, t], bezeichnet mit U = {u
a: a > ṽ
x[0]/t} und parametrisiert durch a. Wir definieren für jedes a, ähnlich wie in dem Algorithmus, t
top(a) := 0.5(t - ṽ
x[0]/a). Beachte, dass t
top(a) > 0 gilt für alle a > ṽ
x[0]/t. Wir definieren nun das Geschwindigkeitsprofil u
a für alle Zeiten t' 0 [0, t] wie folgt:
-
Zunächst ist ersichtlich, dass u
a die Beschränkungen u
a(0) = ṽ
x[0], u
a(t) = ṽ
x[t] erfüllt. Zweitens kann die unter Verwendung von u
a zurückgelegte Strecke berechnet werden, da dies auf die Integration einer stückweise linearen Funktion hinausläuft. Definiere die erreichte Position als x̃
ua und beachte, dass x
max, das im Algorithmus definiert ist, genau
ist. Drittens ist ersichtlich, dass der zurückgelegte Abstand bzw. die Distanz mit a monoton ansteigt und unbegrenzt ist. Daher gibt es für jede gewünschte Endposition
einen Wert von a, für den x = x̃
ua ist. Insbesondere existiert für x = x[t] - W ein solcher Wert, und wir bezeichnen ihn mit a
cut.
-
Beachte, dass, da xmax, definiert in dem Algorithmus, < x[t] - W ist, acut > ax,max ist. Dies ist nicht ausreichend, um zu zeigen, dass kein gültiges Manöver zu einer Position ≥ x[t] - W führen kann; dies wird nur für Mitglieder der Familie U impliziert. Wir beweisen nun, dass auch außerhalb von U alle Geschwindigkeitsprofile, die eine Endposition von x[t] - W erreichen, auf dem Pfad einen Beschleunigungswert von mindestens acut verwenden müssen, was sie ungültig macht, und vervollständigen damit den Beweis.
-
Angenommen, ein Geschwindigkeitsprofil u erfüllt die Grenzbedingungen u(0) = ṽ
x[0], u(t) = ṽ
x[t]. Außerdem wird angenommen, dass eine Endposition von x̃
u > x[t] - W erreicht wird. Man erhält also:
-
Angenommen, es sei u ≥ u
acut für alle τ. Insbesondere sei u(t
top(a
cut)) ≥ u
acut (t
top(a
cut)). Aus dem Mittelwertsatz existiert ein ζ 0 [0, t
top(a
cut)], unter der Nebenbedingung
was die Nichtmachbarbeit von u impliziert, da eine Beschleunigung (d. h., u', die Ableitung der Geschwindigkeit) verwendet wird, die a
x,max überschreitet.
-
Nun angenommen, dass u ≥ u
acut nicht für alle τ gilt. Dann muss es, aufgrund der Tatsache
einen Punkt geben, an dem u > u
acut ist. Wenn ein solcher Punkt τ
large in [0,t
top(a
cut)] existiert, dann kann der Mittelwertsatz auf die gleiche Weise wie oben verwendet werden, um ζ 0 [0, τ
large] zu erhalten, wenn eine zu große Beschleunigung verwendet wird. Wenn ein solcher Punkt nur in [t
top(a
cut),t] existiert, ergibt ein ähnliches Argument einen Punkt ζ 0 [τ
large,t], in dem ein Beschleunigungswert kleiner als -a
x,max verwendet wurde, womit der Beweis abgeschlossen ist. Ausgestattet mit den obigen Lemmata ist der Beweis von Theorem 2 unmittelbar.
-
Sicherheitsprüfung - Verdeckungen
-
Ähnlich wie beim Umgang mit beobachteten Objekten können wir die Erweiterung für Vorsicht bzgl. verdeckter Objekte mit einem ähnlichen Theorem wie Theorem 1, was beweist, dass Vorsicht impliziert, dass es niemals Unfälle gibt, die für uns selbstverschuldet sind.
-
Definition 15 (Vorsicht bzgl. verdeckter Objekte) Ein Befehl, der zum Zeitpunkt t gegeben wird, ist vorsichtig bzgl. verdeckter Objekte, wenn in dem Fall, dass die Expositionszeit des Objekts t + 1 beträgt, und eine Standard-Notfallrichtlinie (DEP) bei t + 1 angeordnet wird, kein selbstverschuldeter Unfall vorliegt.
-
Lemma 7 Wenn nur vorsichtige Befehle gegeben werden, bzgl. verdeckter Objekte und nicht verdeckter Objekte, wird es niemals einen Unfall, der für uns selbstverschuldet ist, geben.
-
Beweis Angenommen, dass sich zum Zeitpunkt t ein selbstverschuldeter Unfall bzw. Unfall, an dem wir schuld sind, ereignet hat, wobei die Expositionszeit t' ≤ t ist. Unter Annahme der Vorsicht ermöglichte der bei t' - 1 gegebene Befehl, eine DEP bei t' anzuordnen, ohne für einen Unfall verantwortlich gemacht zu werden. Da es zu einem selbstverschuldeten Unfall kam, haben wir zum Zeitpunkt t' offenbar keine DEP angeordnet. Aber von da an konnte man bzgl. nicht verdeckter Objekte sicher sein, daher war der von uns gegebene Befehl sicher, und es gab keinen selbstverschuldeten Unfall.
-
Auch hier können effiziente Wege zur Verfügung gestellt werden, um Vorsicht in Bezug auf eine Worst-Case-Annahme über verdeckte Objekte zu prüfen, was eine praktikable, skalierbare RSS ermöglicht.
-
Fahrrichtlinie
-
Eine Fahrrichtlinie ist eine Abbildung von einem Erfassungszustand (eine Beschreibung der Welt um uns herum) auf einen Fahrbefehl (der Befehl sind z. B. Quer- und Längsbeschleunigungen für die kommende Sekunde, die bestimmen, wo und mit welcher Geschwindigkeit das Auto in einer Sekunde von jetzt an sein wird). Der Fahrbefehl wird an eine Steuerung weitergegeben, die darauf abzielt, das Auto tatsächlich in die gewünschte Position/Geschwindigkeit zu bewegen.
-
In den vorherigen Abschnitten wurden ein formelles Sicherheitsmodell und vorgeschlagene Beschränkungen für die Befehle beschrieben, die von der Fahrrichtlinie ausgegeben werden, die Sicherheit garantieren. Die Sicherheitsbeschränkungen sind für Extremfälle ausgelegt. Typischerweise möchten wir diese Beschränkungen nicht einmal benötigen, und möchten eine Fahrrichtlinie konstruieren, die zu einer komfortablen Fahrt führt. Der Schwerpunkt dieses Abschnitts liegt auf dem Aufbau einer effizienten Fahrrichtlinie, insbesondere einer, die Rechenressourcen erfordert, die auf Millionen von Autos skaliert werden können. Im Moment befasst sich diese Diskussion nicht mit der Frage, wie man den Erfassungszustand erhält und einen utopischen Erfassungszustand annimmt, der die Welt um uns herum ohne Beschränkungen wirklichkeitsgetreu repräsentiert. Spätere Abschnitte diskutieren die Auswirkung von Ungenauigkeiten im Erfassungszustand auf die Fahrrichtlinie.
-
Das Problem der Definition einer Fahrrichtlinie wird an die Sprache des in den obigen Abschnitten diskutierten Verstärkungslernen (RL) angepasst. Bei jeder Iteration von RL beobachtet ein Agierender einen Zustand, der die Welt beschreibt, bezeichnet mit s
t, und sollte eine Aktion, bezeichnet mit a
t, basierend auf einer Richtlinienfunktion, π, die Zustände in Aktionen abbildet, auswählen. Als Ergebnis seiner Aktion und anderer Faktoren, die außerhalb seiner Kontrolle liegen (wie die Aktionen anderer Agierender), wird der Zustand der Welt auf s
t+1 geändert. Wir bezeichnen eine (Zustands-, Aktions-) Sequenz mit
s = ((s
1,a
1), (s
2,a
2), ... , (s
len(s),a
len(s))). Jede Richtlinie induziert eine Wahrscheinlichkeitsfunktion über (Zustands-, Aktions-) Sequenzen. Diese Wahrscheinlichkeitsfunktion kann durch die Aktionen des Agierenden beeinflusst werden, hängt aber auch von der Umgebung ab (und insbesondere davon, wie sich andere Agierende verhalten). Wir bezeichnen mit P
π die durch π induzierte Wahrscheinlichkeit über (Zustands-, Aktions-) Sequenzen. Die Qualität einer Richtlinie ist definiert als
wobei ρ(
s) eine Belohnungsfunktion ist, die misst, wie gut die Sequenz
s ist. In den meisten Fällen hat ρ(s) die Form
wobei ρ(s, a) eine momentane Belohnungsfunktion ist, die die unmittelbare Qualität des Seins in dem Zustand s und des Ausführens von Aktionen a misst. Der Einfachheit halber bleiben wir bei diesem einfacheren Fall.
-
Um das Fahrrichtlinienproblem in die obige RL-Sprache zu fassen, sei st eine gewisse Darstellung der Straße und der Positionen, Geschwindigkeiten und Beschleunigungen des Ego-Fahrzeugs sowie anderer Verkehrsteilnehmer gegeben. Sei at ein Quer- und Längsbeschleunigungsbefehl. Der nächste Zustand, st+1, hängt davon ab, wie sich die anderen Agierenden verhalten werden. Die momentane Belohnung ρ(st, at) kann abhängig sein von der relativen Position / Geschwindigkeit / Beschleunigung bezüglich anderen Autos, der Unterschied zwischen unserer Geschwindigkeit und der gewünschten Geschwindigkeit, ob der gewünschten Route gefolgt wird, ob unsere Beschleunigung angenehm ist, usw.
-
Eine Herausforderung bei der Entscheidung, welche Aktion die Richtlinie zum Zeitpunkt t tätigen sollte, ergibt sich aus der Tatsache, dass man die langfristige Auswirkung dieser Aktion auf die Belohnung abschätzen muss. Beispielsweise kann im Kontext der Fahrrichtlinie eine Aktion, die zum Zeitpunkt t durchgeführt wird, für die Gegenwart eine gute Aktion sein (d. h., der Belohnungswert ρ(st, at) ist gut), aber nach 5 Sekunden zu einem Unfall führen (das heißt, der Belohnungswert in 5 Sekunden wäre katastrophal). Man muss daher die langfristige Qualität der Ausführung einer Aktion a abschätzen, wenn sich der Agierende in dem Zustand ρ(s) befindet. Dies wird oft als Q-Funktion bezeichnet, Q(s, a) sollte nämlich die langfristige Qualität der Ausführung der Aktion a zum Zeitpunkt ρ(s) widerspiegeln. Bei einer solchen Q-Funktion besteht die natürliche Wahl einer Aktion darin, diejenige mit der höchsten Qualität, π(s) = argmaxa Q(s, a), auszuwählen.
-
Die unmittelbaren Fragen sind, wie β definiert wird und wie Q effizient evaluiert wird. Nehme man zunächst die (völlig unrealistische) vereinfachende Annahme an, dass st+1 eine deterministische Funktion von (st, at) ist, nämlich st+1 = f{st, at). Jemand, der mit Markov-Entscheidungsprozessen (MDPs) vertraut ist, wird feststellen, dass diese Annahme sogar noch stärker ist als die Markovsche Annahme von MDPs ist (d. h., dass st+1 bedingt unabhängig von der gegebenen Vergangenheit (st, at) ist). Wie in [5] angemerkt, ist selbst die Markovsche Annahme für Szenarien mit mehreren Agierenden, wie etwa Fahren, nicht angemessen, und wir werden die Annahme daher später lockern.
-
Unter dieser vereinfachenden Annahme kann man bei gegebenem st für jede Sequenz von Entscheidungen für T Schritte (a
t, ..., a
t+
T) exakt die zukünftigen Zustände (s
t+1, ..., s
t+
T+1)) sowie die Belohnungswerte für die Zeiten t, ... , T berechnen. Bei Zusammenfassung aller dieser Belohnungswerte in einer einzigen Zahl, z. B., indem man ihre Summe
bildet, kann Q(s, a) wie folgt definiert werden:
-
Das heißt, Q(s, a) ist die beste Zukunft, auf die wir hoffen können, wenn man sich gegenwärtig in dem Zustand ρ(s) befindet und sofort die Aktion a ausführt.
-
Nun soll diskutiert werden, wie β berechnet werden kann. Die erste Idee besteht darin, die Menge möglicher Aktionen A in eine endliche Menge  zu diskretisieren und einfach alle Aktionssequenzen in der diskretisierten Menge zu durchlaufen. Dann wird die Laufzeit von der Anzahl diskreter Aktionssequenzen, |Â|T, dominiert. Wenn  10 Querbeschleunigungen und 10 Längsbeschleunigungen repräsentiert, erhält man 100T Möglichkeiten, was sogar für kleine Werte von T unmöglich wird. Während es Heuristiken zur Beschleunigung der Suche gibt (z. B. Grob-zu-Fein-Suche), erfordert dieser Brute-Force-Ansatz eine enorme Rechenleistung.
-
Der Parameter T wird oft als „Zeithorizont der Planung“ bezeichnet und steuert einen natürlichen Kompromiss zwischen Rechenzeit und Evaluierungsqualität - je größer T ist, desto besser ist unsere Evaluierung der aktuellen Aktion (da wir explizit dessen Wirkung tiefer in die Zukunft untersuchen), aber andererseits erhöht ein größeres T die Rechenzeit exponentiell. Um zu verstehen, warum möglicherweise einen großer Wert von T benötigt wird, stelle man sich ein Szenario vor, in dem man sich 200 Meter vor einer Autobahnausfahrt befindet und diese nehmen sollte. Wenn der Zeithorizont lang genug ist, zeigt die kumulative Belohnung an, ob man zu einem Zeitpunkt τ zwischen t und t + T an der Ausfahrtspur angekommen sind. Andererseits wird man, für einen kurzen Zeithorizont, selbst dann, wenn man die richtige sofortige Aktion durchführt, nicht wissen, ob man dadurch letztendlich auf die Ausfahrtsspur geführt wird.
-
Ein anderer Ansatz versucht, Offline-Berechnungen durchzuführen, um eine Approximation von Q zu konstruieren, die als Q bezeichnet wird, und dann während des Online-Laufs der Richtlinie Q als eine Approximation von Q zu verwenden, ohne die Zukunft explizit auszurollen. Eine Möglichkeit, eine solche Approximation zu konstruieren, besteht darin, sowohl den Aktionsbereich als auch den Zustandsbereich zu diskretisieren. Bezeichne diese diskretisierten Mengen mit Â, Ŝ. Eine Offline-Berechnung kann den Wert von Q(s, a) für jedes (s, a) 0 Ŝ H Â auswerten. Dann definiere für jedes a 0 Â eine Q(st, a) als Q(s, a) für s = argmins0Ŝ ||s - st||. Darüber hinaus kann basierend auf der Pionierarbeit von Bellman [2, 3] Q(s, a) für jedes (s, a) 0 Ŝ H Ä berechnet werden, basierend auf dynamischen Programmierverfahren (wie etwa dem Value-Iteration-Algorithmus), und unter unseren Annahmen ist die Gesamtlaufzeit in der Größenordnung von T |Â| |Ŝ|. Das Hauptproblem bei diesem Ansatz besteht darin, dass Ŝ in jeder vernünftigen Approximation extrem groß ist (aufgrund des Fluchs der Dimensionalität). Tatsächlich sollte der Erfassungszustand 6 Parameter für jedes andere relevante Fahrzeug in diesem Sinne darstellen - die Längs- und Querposition, Geschwindigkeit und Beschleunigung. Selbst wenn wir jede Dimension auf nur 10 Werte diskretisieren (eine sehr grobe Diskretisierung), brauchen wir, da wir 6 Dimensionen haben, 106 Zustände, um ein einzelnes Auto zu beschreiben, und um k Autos zu beschreiben, braucht man wir 106k Zustände. Dies führt zu unrealistischen Speicheranforderungen zum Speichern der Werte von Q für jedes (s, a) in Ŝ H Â.
-
Ein Ansatz, um mit diesen Fluch der Dimensionalität umzugehen, besteht darin, β so zu beschränken, dass es aus einer eingeschränkten Klasse von Funktionen (oft Hypothesenklasse genannt) stammt, wie z. B. lineare Funktionen über manuell bestimmte Merkmale oder tiefe neuronale Netze. Man stelle sich beispielsweise ein tiefes neuronales Netz vor, das sich an β annähert, im Kontext mit dem Spielen von Atari-Spielen. Dies führt zu einer ressourceneffizienten Lösung, vorausgesetzt, dass die Klasse von Funktionen, die β approximieren, effizient ausgewertet werden kann. Es gibt jedoch mehrere Nachteile dieses Ansatzes. Erstens ist nicht bekannt, ob die gewählte Funktionsklasse eine gute Approximation an die gewünschte Q-Funktion aufweist. Zweitens, selbst wenn eine solche Funktion existiert, ist nicht bekannt, ob bestehende Algorithmen es schaffen werden, sie effizient zu lernen. Bisher gibt es nicht viele Erfolgsgeschichten zum Erlernen einer Q-Funktion für komplizierte Probleme mit mehreren Agierenden, wie wir sie beim Autofahren haben. Es gibt mehrere theoretische Gründe, warum diese Aufgabe schwierig ist. Wie in Bezug auf die Markovsche Annahme erwähnt, sind die zugrunde liegenden existierenden Verfahren problematisch. Ein schwerwiegenderes Problem ist jedoch ein sehr kleines Signal-Rausch-Verhältnis aufgrund der Zeitauflösung der Entscheidungsfindung, wie unten erläutert.
-
Man stelle sich ein einfaches Szenario vor, in dem ein Fahrzeug die Fahrspur ändern muss, um in 200 Metern eine Autobahnausfahrt zu nehmen, und die Straße ist derzeit leer. Die beste Entscheidung ist, mit dem Spurwechsel zu beginnen. Entscheidungen können alle 0,1 Sekunden getroffen werden, so dass zum aktuellen Zeitpunkt t der beste Wert von Q(st, a) für die Aktion a sein sollte, die einer kleinen Querbeschleunigung nach rechts entspricht. Betrachte die Aktion a', die einer Querbeschleunigung von null entspricht. Da es einen sehr kleinen Unterschied zwischen dem Beginn des Spurwechsels jetzt oder in 0,1 Sekunden gibt, sind die Werte von Q(st, a) und Q(st, a') fast gleich. Mit anderen Worten, es gibt nur einen sehr geringen Vorteil, a gegenüber a' zu wählen. Da wir andererseits eine Funktionsapproximation für Q verwenden und da beim Messen des Zustands st Rauschen auftritt, ist es wahrscheinlich, dass unsere Näherung an den Q-Wert verrauscht ist. Dies ergibt ein sehr kleines Signal-Rausch-Verhältnis, was zu einem extrem langsamen Lernen führt, insbesondere für stochastische Lernalgorithmen, die stark für die Approximationsklasse für neuronale Netze verwendet werden. Dieses Problem ist jedoch, wie in erwähnt, keine Eigenschaft irgendeiner bestimmten Funktions-Approximationsklasse, sondern ist vielmehr der Definition der Q-Funktion inhärent.
-
Zusammenfassend lassen sich verfügbare Ansätze grob in zwei Lager einteilen. Der erste ist der Brute-Force-Ansatz, der das Durchsuchen vieler Sequenzen von Aktionen oder das Diskretisieren des Erfassungszustandsbereichs und das Führen einer riesigen Tabelle im Speicher aufweist. Dieser Ansatz kann zu einer sehr genauen Approximation von Q führen, erfordert jedoch unbegrenzte Ressourcen, entweder in Bezug auf Rechenzeit oder in Bezug auf Speicher. Der zweite ist ein ressourceneffizienter Ansatz, bei dem wir entweder nach kurzen Sequenzen von Aktionen suchen oder eine Funktionsapproximation auf β anwenden. In beiden Fällen entstehen Kosten, indem wir eine weniger genaue Näherung von β haben, die zu schlechten Entscheidungen führen kann.
-
Der hier beschriebene Ansatz weist Konstruieren einer Q-Funktion auf, die sowohl ressourceneffizient als auch genau ist, um von geometrischen Aktionen abzuweichen und einen semantischen Aktionsraum anzupassen, wie im nächsten Unterabschnitt beschrieben wird.
-
Semantischer Ansatz
-
Betrachte als Basis für den offenbarten semantischen Ansatz einen Teenager, der gerade seinen Führerschein gemacht hat. Sein Vater sitzt neben ihm und gibt ihm „Fahrrichtlinien“-Anweisungen. Diese Anweisungen sind nicht geometrisch - sie haben nicht die Form „Fahre 13,7 Meter mit der aktuellen Geschwindigkeit und beschleunige dann mit einer Geschwindigkeit von 0,8 m/s2“. Stattdessen sind die Anweisungen semantischer Natur - „Folge dem Auto vor dir“ oder „Überhole schnell das Auto zu deiner Linken“. Wir formalisieren eine semantische Sprache für solche Anweisungen und verwenden sie als semantischen Aktionsraum. Wir definieren dann die Q-Funktion über dem semantischen Aktionsraum. Wir zeigen, dass eine semantische Aktion einen sehr langen Zeithorizont haben kann, was es ermöglicht, Q(s, a) zu schätzen, ohne viele zukünftige semantische Aktionen zu planen. Ja, die Gesamtzahl der semantischen Aktionen ist noch gering. Dies ermöglicht es uns, eine genaue Schätzung der Q-Funktion zu erhalten und gleichzeitig ressourceneffizient zu sein. Darüber hinaus kombinieren wir, wie wir später zeigen werden, Lerntechniken zur weiteren Verbesserung der Qualitätsfunktion, ohne unter einem kleinen Signal-Rausch-Verhältnis aufgrund eines signifikanten Unterschieds zwischen verschiedenen semantischen Aktionen zu leiden.
-
Definiere nun einen semantischen Aktionsraum. Die Hauptidee besteht darin, Quer- und Längsziele sowie die Aggressivitätsstufe für deren Erreichung zu definieren. Querziele sind gewünschte Positionen im Spurkoordinatensystem (z. B. „mein Ziel ist es, in der Mitte von Spur Nummer 2 zu sein“). Es gibt drei Arten von Längszielen. Die erste ist die relative Position und Geschwindigkeit in Bezug auf andere Fahrzeuge (z. B. „mein Ziel ist es, hinter Auto Nummer 3 zu sein, mit derselben Geschwindigkeit und in einem Abstand von 2 Sekunden davon“). Das zweite ist ein Geschwindigkeitsziel (z. B. „fahre mit der zulässigen Geschwindigkeit für diese Straße mal 110%“). Das dritte ist eine Geschwindigkeitsbeschränkung an einer bestimmten Position (z. B. beim Heranfahren an eine Kreuzung „Geschwindigkeit von 0 an der Haltelinie“, oder beim Durchfahren einer scharfen Kurve „Geschwindigkeit von höchstens 60 km/h an einer bestimmten Position in der Kurve“). Für die dritte Option könnte man stattdessen ein „Geschwindigkeitsprofil“ anwenden (wenige diskrete Punkte auf der Route und die gewünschte Geschwindigkeit an jedem von ihnen). Eine vernünftige Anzahl von Querzielen wird durch 16 = 4 × 4 (4 Positionen auf höchstens 4 relevanten Spuren) begrenzt. Eine vernünftige Anzahl von Längszielen des ersten Typs ist begrenzt durch 8 × 2 × 3 = 48 (8 relevante Autos, ob vor oder hinter einem, und 3 relevante Abstände). Eine vernünftige Anzahl von absoluten Geschwindigkeitszielen ist 10, und eine vernünftige Obergrenze für die Anzahl von Geschwindigkeitsbeschränkungen ist 2. Um ein gegebenes Quer- oder Längsziel zu implementieren, muss man beschleunigen und dann verzögern (oder umgekehrt). Die Aggressivität der Zielerreichung ist eine maximale (im absoluten Wert) Beschleunigung/Verzögerung, um das Ziel zu erreichen. Wenn das Ziel und die Aggressivität definiert sind, hat man eine geschlossene Formel, um das Ziel mithilfe von kinematischen Berechnungen zu implementieren. Es bleibt nur noch, die Kombination zwischen Quer- und Längsziel festzulegen (z. B. „beginne mit dem Querziel, und genau in der Mitte beginne auch mit dem Längsziel“). Ein Satz von 5 Mischzeiten und 3 Aggressivitätsstufen scheint mehr als genug zu sein. Insgesamt haben wir einen semantischen Aktionsraum erhalten, dessen Größe ≈ 104 beträgt.
-
Es ist erwähnenswert, dass die variable Zeit, die zum Erfüllen dieser semantischen Aktionen benötigt wird, nicht dieselbe ist wie die Häufigkeit des Entscheidungsprozesses. Um auf die dynamische Welt reagieren zu können, sollte man Entscheidungen mit hoher Frequenz treffen - in unserer Implementierung alle 100 ms. Im Gegensatz dazu basiert jede solche Entscheidung auf der Konstruktion einer Trajektorie, die eine semantische Aktion erfüllt, die einen viel längeren Zeithorizont (z. B. 10 Sekunden) haben wird. Wir verwenden den längeren Zeithorizont, da er hilft, das kurzfristige Präfix der Trajektorie besser einzuschätzen. Der nächste Unterabschnitt behandelt die Evaluierung semantischer Aktionen, aber vorher argumentieren wir, dass semantische Aktionen einen ausreichenden Suchraum induzieren.
-
Wie oben diskutiert, induziert ein semantischer Aktionsraum eine Teilmenge aller potenziellen geometrischen Kurven, deren Größe (in T) exponentiell kleiner ist als das Aufzählen aller potenziellen geometrischen Kurven. Die erste unmittelbare Frage ist, ob die Menge der Kurzzeitpräfixe dieses kleineren Suchraums alle geometrischen Befehle aufweist, die wir jemals verwenden wollen. Dies ist in der Tat im folgenden Sinne ausreichend. Wenn die Straße frei von anderen Agierenden ist, gibt es keinen Grund, Änderungen vorzunehmen, außer dem Setzen eines Querziels und/oder absoluten Beschleunigungsbefehlen und/oder Geschwindigkeitsbeschränkungen an bestimmten Positionen. Wenn die Straße andere Agierende aufweist, möchte man möglicherweise die Vorfahrt mit den anderen Agierenden aushandeln. In diesem Fall genügt es, Längsziele relativ zu den anderen Agierenden zu setzen. Die genaue Umsetzung dieser Ziele auf lange Sicht kann variieren, aber die kurzfristigen Präfixe werden sich nicht wesentlich ändern. Dadurch erhalten wir eine sehr gute Abdeckung der relevanten kurzzeitigen geometrischen Befehle.
-
Konstruieren einer Evaluierungsfunktion für semantische Aktionen
-
Wir haben eine semantische Menge von Aktionen definiert, die mit As bezeichnet werden. In Anbetracht der Tatsache, dass wir uns derzeit im Zustand ρ(s) befinden, wird eine Möglichkeit benötigt, die Beste as aus As auszuwählen. Um dieses Problem anzugehen, wird ein ähnlicher Ansatz wie der Optionsmechanismus von [6] verfolgt. Die Grundidee ist, sich das als eine Meta-Aktion (oder eine Option) vorzustellen. Für jede Wahl einer Meta-Aktion wird eine geometrische Trajektorie (s1, a1),..., (sT, aT) konstruiert, die eine Implementierung der Meta-Aktion as darstellt. Dazu müssen wir natürlich wissen, wie andere Agierende auf unsere Aktionen reagieren, aber im Moment verlassen wir uns immer noch auf die (nicht realistische) Annahme, dass st+1 = f (st, at) ist für eine bekannte deterministische Funktion f.
-
Wir können nun
als gute Approximation für die Qualität der Durchführung der semantischen Aktion verwenden, wenn wir uns im Zustand s
1 befinden.
-
Dieser Ansatz kann eine leistungsstarke Fahrrichtlinie ergeben. In manchen Situationen kann jedoch eine ausgeklügeltere Qualitätsfunktion erforderlich sein. Angenommen, man folgt einem langsamen Lastwagen vor einer Ausfahrtsspur, wobei man die Ausfahrtsspur nehmen muss. Eine semantische Möglichkeit besteht darin, hinter dem Lkw langsam weiterzufahren. Eine andere ist, den Lkw zu überholen, in der Hoffnung, dass man später wieder auf die Ausfahrtsspur kommt und die Ausfahrt rechtzeitig schafft. Das zuvor beschriebene Qualitätsmaß berücksichtigt nicht, was passieren wird, nachdem man den Lastwagen überholt hat, und daher wird man die zweite semantische Aktion nicht wählen, selbst wenn genügend Zeit vorhanden ist, um zu überholen und auf die Ausfahrtsspur zurückzukehren. Maschinelles Lernen kann einem helfen, eine bessere Evaluierung semantischer Aktionen zu erstellen, die mehr als die unmittelbaren semantischen Aktionen berücksichtigt. Wie zuvor diskutiert, ist das Lernen einer Q-Funktion über unmittelbare geometrische Aktionen aufgrund des niedrigen Signal-Rausch-Verhältnisses (des Fehlens eines Vorteils) problematisch. Dies ist bei der Betrachtung semantischer Aktionen unproblematisch, sowohl weil es einen großen Unterschied zwischen der Ausführung der verschiedenen semantischen Aktionen gibt als auch weil der semantische Zeithorizont (wie viele semantische Aktionen berücksichtigt werden) sehr klein ist (in den meisten Fällen wahrscheinlich weniger als drei).
-
Ein weiterer potenzieller Vorteil des Anwendens von maschinellem Lernen ist der aufgrund der Verallgemeinerung: Wir können eine adäquate Evaluierungsfunktion für jede Straße durch eine manuelle Untersuchung der Eigenschaften der Straße festlegen, was einiges an Versuch und Irrtum beinhalten kann. Hier kann ein maschineller Lemansatz, wie oben diskutiert, auf einer großen Vielzahl von Straßentypen trainiert werden, um ihn auch auf ungesehene Straßen zu verallgemeinern. Der semantische Aktionsraum gemäß den offenbarten Ausführungsformen kann potenzielle Vorteile ermöglichen: semantische Aktionen enthalten Informationen über einen langen Zeithorizont, daher kann man eine sehr genaue Evaluierung ihrer Qualität erhalten, während man ressourceneffizient ist.
-
Die Dynamik der anderen Agierenden
-
Bisher haben wir uns auf die Annahme verlassen, dass st+1 eine deterministische Funktion von st und at ist. Wie bereits betont, ist diese Annahme nicht ganz realistisch, da unser Handeln das Verhalten anderer Verkehrsteilnehmer beeinflusst. Während wir einige Reaktionen anderer Agierender auf unsere Aktionen berücksichtigen (beispielsweise kann davon ausgegangen werden, dass das Auto hinter uns seine Geschwindigkeit anpassen wird, wenn wir ein sicheres Einscheren durchführen, um nicht von hinten an uns zu stoßen), ist es nicht realistisch anzunehmen, dass wir die gesamte Dynamik anderer Agierender modellieren. Die Lösung für dieses Problem besteht darin, die Entscheidungsfindung mit hoher Frequenz erneut anzuwenden und dadurch unsere Richtlinie ständig an die Teile der Umgebung anzupassen, die außerhalb unserer Modellierung liegen. In gewisser Weise kann man sich das bei jedem Schritt als Markovisierung der Welt vorstellen.
-
Erfassung
-
Dieser Abschnitt beschreibt den Erfassungszustand, der eine Beschreibung der relevanten Informationen der Szene ist und die Eingabe für das Fahrrichtlinienmodul bildet. Im Großen und Ganzen weist der Erfassungszustand statische und dynamische Objekte auf. Die statischen Objekte sind Fahrspuren, physische Straßenbegrenzungen, Geschwindigkeitsbeschränkungen, Vorfahrtsbeschränkungen und Informationen über Verdeckungsobjekte (z. B. ein Zaun, der einen relevanten Teil einer zusammenführenden Straße blockiert). Dynamische Objekte sind Fahrzeuge (z. B. Begrenzungsrahmen, Geschwindigkeit, Beschleunigung), Fußgänger (Begrenzungsrahmen, Geschwindigkeit, Beschleunigung), Ampeln, dynamische Straßenbegrenzungen (z. B. Kegel auf einer Baustelle), temporäre Verkehrszeichen und Polizeiaktivitäten, und andere Hindernisse auf der Straße (z. B. ein Tier, eine von einem Lastwagen gefallene Matratze, usw.).
-
In jeder vernünftigen Sensoreinstellung kann nicht erwartet werden, den exakten Erfassungszustand, s, zu erhalten. Stattdessen betrachtet man rohe Sensor- und Kartendaten, die wir mit x 0 X bezeichnen, und es gibt ein Erfassungssystem, das x nimmt und einen ungefähren Erfassungszustand erzeugt.
-
Definition 16 (Erfassungssystem) Sei S die Domäne des Erfassungszustands und X die Domäne der Rohsensor- und Kartendaten. Ein Erfassungssystem ist eine Funktion ŝ : X → S.
-
Es ist wichtig zu verstehen, wann s(x) als vernünftige Approximation an ρ(s) akzeptiert werden sollte. Der ultimative Weg, diese Frage zu beantworten, besteht darin, die Auswirkungen dieser Approximation auf die Leistung unserer Fahrweise im Allgemeinen und auf die Sicherheit im Besonderen zu untersuchen. Gemäß unserer Sicherheits-Komfort-Unterscheidung unterscheidet man auch hier wieder zwischen Erfassungsfehlern, die zu unsicherem Verhalten führen, und Erfassungsfehlern, die die Komfortaspekte der Fahrt beeinträchtigen. Bevor wir auf die Details eingehen, die Art von Fehlern, die ein Sensorsystem machen könnte, weisen auf:
- • Falsch negativ: Das Sensorsystem übersieht ein Objekt
- • Falsch positiv: Das Sensorsystem zeigt ein „Geister“-Objekt an
- • Ungenaue Messungen: Das Sensorsystem erkennt ein Objekt korrekt, schätzt aber seine Position oder Geschwindigkeit falsch ein
- • Ungenaue Semantik: Das Sensorsystem erkennt ein Objekt richtig, interpretiert aber seine semantische Bedeutung falsch, z. B. die Farbe einer Ampel
-
Komfort
-
Man erinnere sich, dass für eine semantische Aktion a Q(s, a) verwendet wurde, um unsere Evaluierung von a zu bezeichnen, unter der Voraussetzung, dass der aktuelle Erfassungszustand ρ(s) ist. Unsere Richtlinie wählt die Aktion (s) = argmaxa Q(s, a). Wenn wir ŝ(x) anstelle von ρ(s) einfügen, wäre die ausgewählte semantische Aktion π(ŝ(x)) = argmaxa Q(s(x), a). Wenn (ŝ(x)) = π(s) ist, dann sollte ŝ(x) als gute Approximation an s akzeptiert werden. Aber es ist auch nicht schlecht, π(ŝ(x)) auszuwählen, solange die Qualität von π (ŝ(x)) bzgl. des wahren Zustands, s, nahezu optimal ist, nämlich Q(s, π(ŝ(x))) ≥ Q(s, π(s)) - ε für einige Parameter ε. Sagen wir, dass ŝ ε-genau bzgl. β ist in einem solchen Fall. Natürlich kann man nicht erwarten, dass das Sensorsystem immer ε-genau ist. Wir lassen daher auch zu, dass das Erfassungssystem mit einer kleinen Wahrscheinlichkeit δ ausfallen kann. In einem solchen Fall sagen wir, dass ŝ Wahrscheinlich (mit einer Wahrscheinlichkeit von mindestens 1 - δ), Angenähert (bis zu ε), Korrekt, oder kurz PAC, ist (in Anlehnung an die PAC-Lernterminologie von Valiant).
-
Man kann mehrere (ε, δ)-Paare verwenden, um verschiedene Aspekte des Systems zu evaluieren. Beispielsweise kann man drei Schwellenwerte, ε1 < ε2 < ε3, wählen, um leichte, mittlere und grobe Fehler darzustellen, und für jeden von ihnen einen anderen Wert von δ festlegen. Dies führt zu folgender Definition.
-
Definition 17 (PAC-Erfassungssystem) Sei ((ε1 , δ1),..., (εk, δk)) ein Satz von (Genauigkeits-, Konfidenz-)Paaren, sei S die Erfassungszustandsdomäne, sei X die Rohsensor- und Kartendatendomäne, und sei D eine Verteilung über X × S. Sei A ein Aktionsraum, sei β : S × A → | eine Gütefunktion, und π : S → A so, dass π (s) ∈ argmaxa Q(s, a). Ein Sensorsystem ŝ : X→ S ist Wahrscheinlich-Angenähert-Korrekt (PAC) in Bezug auf die obigen Parameter wenn für i ∈ {1,..., k} gilt, dass P(x,s)~ D[Q(s, π(ŝ(x))) ≥ Q(s, π(s)) - εi] ≥ 1 - δi.
-
Hier ist die Definition von einer Verteilung D über X × S abhängig. Es ist wichtig zu betonen, dass wir diese Verteilung konstruieren, indem wir Daten vieler menschlicher Fahrer aufzeichnen, aber nicht, indem wir der bestimmten Richtlinie unseres autonomen Fahrzeugs folgen. Während letzteres angemessener erscheint, erfordert es eine Online-Validierung, was die Entwicklung des Sensorsystems unpraktisch macht. Da die Auswirkung jeder vernünftigen Richtlinie auf D gering ist, kann durch Anwendung einfacher Datenerweiterungstechniken eine angemessene Verteilung konstruiert werden und dann nach jeder größeren Aktualisierung des Erfassungssystems eine Offline-Validierung durchgeführt werden. Die Definition liefert eine hinreichende, aber nicht notwendige Bedingung für eine komfortable Fahrt unter Verwendung von ŝ. Sie ist nicht notwendig, da sie die wichtige Tatsache außer Acht lässt, dass kurzfristige Fehlentscheidungen den Fahrkomfort kaum beeinträchtigen. Angenommen, beispielsweise, dass ein Fahrzeug 100 Meter voraus und langsamer als das Host-Fahrzeug ist. Die beste Entscheidung wäre, jetzt leicht zu beschleunigen. Wenn das Sensorsystem dieses Fahrzeug verfehlt, es aber beim nächsten Mal (nach 100 Millisekunden) erkennt, ist der Unterschied zwischen den beiden Fahrten nicht wahrnehmbar. Um die Darstellung zu vereinfachen, haben wir diesen Punkt vernachlässigt und eine stärkere Bedingung gefordert. Die Anpassung an eine Multi-Frame-PAC-Definition ist konzeptionell einfach, aber technischer.
-
Als nächstes werden Gestaltungsprinzipien abgeleitet, die aus der obigen PAC-Definition folgen. Man erinnern sich daran, dass mehrere Arten von Erfassungsfehlern beschrieben wurden. Bei Fehlern der Typen Falsch-Negativ, Falsch-Positiv und ungenaue Semantik liegen die Fehler entweder bei nicht relevanten Objekten (z. B. einer Ampel für Linksabbieger, wenn man geradeaus weiterfährt), oder sie werden durch den δ -Teil der Definition abgefangen. Wir konzentrieren uns daher auf die häufig vorkommende Fehlerart „Messungenauigkeiten“.
-
Etwas überraschend werden wir zeigen, dass der populäre Ansatz des Messens der Genauigkeit eines Erfassungssystems über die Ego-Genauigkeit (d. h. durch Messen der Positionsgenauigkeit jedes Objekts in Bezug auf das Host-Fahrzeug) nicht ausreichend ist, um das PAC-Erkennungssystem zu gewährleisten. Wir werden dann einen anderen Ansatz vorschlagen, der ein PAC-Erkennungssystem gewährleistet, und zeigen, wie man es effizient erhält. Wir beginnen mit einigen zusätzlichen Definitionen.
-
Für jedes Objekt o in der Szene seien p(o), p̂(o) die Positionen von o im Koordinatensystem des Host-Fahrzeugs gemäß ρ(s) bzw. ŝ(x). Beachte, dass der Abstand zwischen o und dem Host-Fahrzeug ||p|| ist. Der additive Fehler von p̂ ist ||p(o) -p̂(o)||. Der relative Fehler von p̂(o) bzgl. dem Abstand zwischen o und dem Host-Fahrzeug ist der additive Fehler dividiert durch ||p(o)||, nämlich
-
Es ist nicht realistisch, zu fordern, dass der additive Fehler für weit entfernte Objekte klein ist. Man betrachte o tatsächlich als ein Fahrzeug in einem Abstand von 150 Metern vom Host-Fahrzeug, und sei ε von moderater Größe, sagen wir ε = 0.1. Für die additive Genauigkeit bedeutet dies, dass die Position des Fahrzeugs mit einer Genauigkeit von bis zu 10 cm bekannt sein sollte. Dies ist für preiswerte Sensoren nicht realistisch. Andererseits müsste für eine relative Genauigkeit die Position auf bis zu 10 % geschätzt werden, was einer Genauigkeit von 15 m entspricht. Dies ist realisierbar (wie unten beschrieben).
-
Ein Erfassungssystem, ŝ, positioniert eine Menge von Objekten, O, auf ε-Ego-genaue Weise, wenn für jedes o ε O der (relative) Fehler zwischen p(o) und p̂(o) höchstens ε ist. Das folgende Beispiel zeigt, dass ein ε-Ego-genauer Erfassungszustand kein PAC-Erfassungssystem in Bezug auf jede vernünftige Q gewährleistet. Man betrachte tatsächlich ein Szenario, in dem das Host-Fahrzeug mit einer Geschwindigkeit von 30 m/s fährt, und 150 Meter davor es gibt ein haltendes Fahrzeug. Befindet sich dieses Fahrzeug auf der Ego-Spur und besteht keine Möglichkeit, rechtzeitig die Spur zu ändern, müssen wir jetzt mit der Verzögerung mit mindestens 3m/s
2 beginnen (andernfalls werden wir entweder nicht rechtzeitig stoppen oder müssen später stark verzögern). Steht das Fahrzeug hingegen am Straßenrand, müssen wir nicht stark verzögern. Angenommen, p(o) ist einer dieser Fälle, während p̂(o) der andere Fall ist, und es gibt einen Unterschied von 5 Metern zwischen diesen beiden Positionen. Dann ist der relative Fehler von p̂(o)
-
Das heißt, das Erfassungssystem kann für einen ziemlich kleinen Wert von ε (ein Fehler von weniger als 3,5%) ε-Ego-genau sein, und dennoch sind die Werte von Q für jede vernünftige Q-Funktion völlig unterschiedlich, da wir verwechseln zwischen einer Situation, in der man stark bremsen muss, und einer Situation, in der man nicht stark bremsen muss.
-
Das obige Beispiel zeigt, dass die ε-Ego-Genauigkeit nicht gewährleistet, dass unser Erfassungssystem PAC ist. Ob es eine andere Eigenschaft gibt, die für ein PAC-Erfassungssystem ausreichend ist, ist von Q abhängig. Wir werden eine Familie von Q-Funktionen beschreiben, für die es eine einfache Eigenschaft der Positionierung gibt, die ein PAC-Erfassungssystem gewährleistet. Das Problem der ε-Ego-Genauigkeit besteht darin, dass sie zu semantischen Fehlern führen kann - in dem oben genannten Beispiel war ŝ zwar ε-Ego-genau mit ε < 3,5 %, aber hat nicht geschafft, das Fahrzeug der richtigen Spur zuzuweisen. Um dieses Problem zu lösen, verlassen wir uns auf semantische Einheiten für die Querposition.
-
Definition 18 (semantische Einheiten) Eine Spurmitte ist eine einfache natürliche Kurve, nämlich eine differenzierbare, injektive Abbildung ℓ : [a, b] → |
3, wobei für jedes a ≤ t
1 < t
2 ≤ b gilt, dass die Länge
gleich t
2 - t
1 ist. Die Breite der Fahrspur ist eine Funktion w : [a, b] → |
+. Die Projektion eines Punktes x ∈ |
3 auf die Kurve ist der Punkt auf der Kurve, der x am nächsten liegt, nämlich der Punkt ℓ (t
x) für t
x = argmin
t∈[a,b] ||ℓ(t) - x||. Die semantische Längsposition von x bzgl. der Spur ist t
x, und die semantische laterale Position von x bzgl. der Spur ist ℓ(t
x)/w(t
x). Die semantische Geschwindigkeit und Beschleunigung sind als erste und zweite Ableitungen des Obigen definiert.
-
Ähnlich wie bei geometrischen Einheiten verwendet man für den semantischen Längsabstand einen relativen Fehler: Wenn ŝ für ein Objekt einen semantischen Längsabstand von p̂(o) induziert, während der echte Abstand p(o) ist, dann ist der relative Fehler
(wobei das Maximum im Nenner Fälle behandelt, in denen das Objekt fast den gleichen Längsabstand hat (z. B. ein Auto neben einem auf einer anderen Spur). Da semantische Querabstände klein sind, können additive Fehler verwendet werden, was zu folgender Definition führt:
-
Definition 19 (Fehler in semantischen Einheiten) Sei l eine Fahrspur, und angenommen, dass der semantische Längsabstand des Host-Fahrzeugs bzgl. die Bahn 0 ist. Sei x ∈ ℝ
3 ein Punkt, und seien p
lat(x), p
lon(x) die semantischen Quer- und Längsabstände zum Punkt bzgl. der Spur. Seien p̂
lat(x), p̂
lon(x) approximierte Messungen. Der Abstand zwischen p̂ und p bzgl. x ist definiert als
-
Der Abstand der Quer- und Längsgeschwindigkeiten wird analog definiert. Ausgestattet mit der obigen Definition sind wir nun bereit, die Eigenschaft von Q und die entsprechende hinreichende Bedingung für das PAC-Erfassungssystem zu definieren.
-
Definition 20 (semantische Lipschitz-Q) Eine Q-Funktion ist L-semantisch-Lipschitz, wenn für alle a, s, ŝ, |Q(s, a) - Q(ŝ(x), a) | ≤ L maxo d(p̂, p; o) ist, wobei p̂, p die durch s, ŝ an einem Objekt o induzierten Messungen sind.
-
Als ein unmittelbares Corollar erhalten wir:
- Lemma 8 Wenn Q L-semantisch-Lipschitz ist, und ein Erfassungssystem ŝ semantische Messungen erzeugt, so dass, mit einer Wahrscheinlichkeit von mindestens 1 - δ, d(p̂, p; o) ≤ 0/L ist, dann ist ŝ ein PAC-Erkennungssystem mit Parametern 0, δ.
-
Sicherheit
-
Dieser Abschnitt diskutiert das Potenzial für Erfassungsfehler, die zu unerwünschtem Verhalten führen können. Wie bereits erwähnt, ist die Richtlinie nachweislich sicher, in dem Sinne, dass sie nicht zu Unfällen führt, die das Host-AV verschuldet hat. Solche Unfälle können immer noch aufgrund von Hardwarefehlern (z. B. einem Ausfall aller Sensoren oder einem explodierenden Reifen auf der Autobahn), Softwarefehlern (ein erheblicher Fehler in einigen der Module) oder einem Erfassungsfehler auftreten. Unser Endziel ist es, dass die Wahrscheinlichkeit solcher Ereignisse extrem gering ist - eine Wahrscheinlichkeit von 10-9 für einen solchen Unfall pro Stunde. Um diese Zahl zu schätzen, die durchschnittliche Anzahl der Stunden, die ein Fahrer in den USA auf der Straße verbringt (Stand 2016), beträgt weniger als 300 Stunden. Erwartungsgemäß müsste man also 3,3 Millionen Jahre leben, um in einen Unfall zu geraten, der aus einem dieser Ereignisse resultiert.
-
Wir definieren zuerst, was ein sicherheitsbezogener Erfassungsfehler ist. Man erinnere sich, dass die Richtlinie bei jedem Schritt den Wert von a auswählt, der Q(s, a) maximiert, nämlich π(s) = argmaxa Q(s, a). Es wird für Sicherheit gesorgt, indem Q(s, a) = -∞ gesetzt wird, für jede Aktion a, die nicht vorsichtig ist (siehe Definition 14). Daher besteht die erste Art von sicherheitskritischem Erfassungsfehler darin, dass das Erfassungssystem dazu führt, dass eine nicht sichere Aktion ausgewählt wird. Formal sei π(ŝ(x)) = argmaxa Q(s(x), a) die Entscheidung gemäß ŝ, dann sagen wir, dass ŝ zu einem sicherheitskritischen Fehltreffer führt, wenn Q(s, π(ŝ(x))) = -∞. Die zweite Art von sicherheitskritischem Erfassungsfehler ist, wenn alle Aktionen gemäß s(x) nicht sicher sind und die Standard-Notfallrichtlinie angewendet werden muss (z. B. hartes Bremsen), während gemäß s eine sichere Aktion vorliegt, nämlich maxa Q(s, a) > -∞. Es ist gefährlich, wenn unsere Geschwindigkeit hoch ist und ein Auto hinter uns ist. Wir nennen einen solchen Fehler ein sicherheitskritisches Geisterbild.
-
Üblicherweise wird ein sicherheitskritischer Fehltreffer durch ein falsch negatives Ergebnis verursacht, während ein sicherheitskritisches Geisterbild durch ein falsch positives Ergebnis verursacht wird. Solche Fehler können auch durch erheblich falsche Messungen verursacht werden, aber in den meisten Fällen sorgt unser Komfortziel dafür, dass wir weit von der Grenze der Sicherheitsdefinitionen entfernt sind, und daher ist es unwahrscheinlich, dass vernünftige Messfehler zu einem sicherheitskritischen Fehler führen. Wie kann man sicherstellen, dass die Wahrscheinlichkeit sicherheitskritischer Fehler sehr gering ist, sagen wir kleiner als 10-9 pro Stunde? Wie aus Lemma 1 folgt, muss, ohne weitere Annahmen zu treffen, das System auf mehr als 109 Stunden Fahrt überprüft werden. Das ist unrealistisch (oder mindestens extrem herausfordernd) - es läuft darauf hinaus, das Fahren von 3,3 Millionen Autos über ein Jahr aufzuzeichnen. Darüber hinaus ist es eine große Herausforderung, ein System zu bauen, das eine so hohe Genauigkeit erreicht. Eine Lösung für Herausforderungen sowohl des Systemdesigns- als auch der Validierung besteht darin, sich auf mehrere Subsysteme zu verlassen, von denen jedes unabhängig voneinander entwickelt wird und von einer anderen Technologie abhängig ist, und wobei die Systeme so miteinander verschmolzen sind, dass eine Steigerung ihrer individuellen Genauigkeit gewährleistet ist.
-
Angenommen, man baut drei Subsysteme, bezeichnet mit s1, s2, s3 (die Erweiterung auf mehr als 3 ist einfach). Jedes Subsystem erhält a und sollte sicher/nicht sicher ausgeben. Aktionen, die von der Mehrheit der Subsysteme (in unserem Fall 2) als sicher akzeptiert werden, gelten als sicher. Wenn es keine Aktion gibt, die von mindestens 2 Subsystemen als sicher angesehen wird, wird die Standard-Notfallrichtlinie angewendet. Die Leistung dieses Fusionsschemas wird wie folgt basierend auf der folgenden Definition analysiert:
- Definition 21 (einseitig c-näherungsweise unabhängig) Zwei Bernoulli-Zufallsvariablen r1, r2 heißen einseitig c-näherungsweise unabhängig, wenn
-
Für i ∈ {1,2,3} bezeichne
die Bernoulli-Zufallsvariablen, die angeben, ob das Subsystem i jeweils einen sicherheitskritischen Fehtreffer/Geist ausführt. In ähnlicher Weise zeigen e
m, e
g einen sicherheitskritischen Fehtreffer/Geist des Fusionssystems an. Wir verlassen uns auf die Annahme, dass für jedes Paar i ≠ j die Zufallsvariablen
einseitig c-näherungsweise unabhängig sind, und dasselbe gilt für
Bevor wir erklären, warum diese Annahme vernünftig ist, wollen wir zunächst ihre Implikationen analysieren. Man kann die Wahrscheinlichkeit von e
m begrenzen durch:
-
Wenn also alle Subsysteme
dann ist ℙ[e
m] ≤ 3cp
2. Die exakt gleiche Ableitung gilt für die sicherheitskritischen Geisterbilder. Indem eine Vereinigungsgrenze gebildet wird, kann man daher folgern:
- Corollar 2 Angenommen, dass für jedes Paar i ≠ j die Zufallsvariablen einseitig c-näherungsweise unabhängig sind, und dasselbe gelte für Außerdem wird angenommen, dass für jedes i, und gilt. Dann,
-
Dieses Corollar erlaubt uns, deutlich kleinere Datensätze zu verwenden, um das Messsystem zu validieren. Wenn man beispielsweise eine sicherheitskritische Fehlerwahrscheinlichkeit von 10-9 erreichen möchte, reicht es aus, statt 109 Beispiele zu nehmen, 105 Beispiele zu nehmen und jedes System einzeln zu testen.
-
Es kann Sensorpaare geben, die nicht korrelierte Fehler ergeben. Beispielsweise funktioniert Radar bei schlechten Wetterbedingungen gut, kann aber aufgrund von nicht relevanten metallischen Objekten ausfallen, im Gegensatz zu einer Kamera, die von schlechtem Wetter beeinflusst wird, aber wahrscheinlich nicht von metallischen Objekten beeinflusst wird. Anscheinend haben Kamera und Lidar gemeinsame Fehlerquellen - z. B. werden beide von Nebel, starkem Regen oder Schnee beeinflusst. Die Art der Fehler für Kamera und Lidar wäre jedoch unterschiedlich - eine Kamera könnte aufgrund von schlechtem Wetter Objekte übersehen, und Lidar könnte aufgrund von Reflexionen von Partikeln in der Luft einen Geist erkennen. Da wir zwischen den beiden Fehlerarten unterschieden haben, dürfte die Unabhängigkeit wahrscheinlich immer noch gelten.
-
Unsere Definition von sicherheitsrelevanten Geistern erfordert, dass alle Aktionen durch mindestens zwei Sensoren nicht sicher sind. Selbst unter schwierigen Bedingungen (z. B. starker Nebel) ist dies unwahrscheinlich. Der Grund dafür ist, dass Systeme, die von den schwierigen Bedingungen betroffen sind (z. B. das Lidar), in solchen Situationen ein sehr defensives Fahren vorschreiben, da sie hohe Geschwindigkeit und Quermanövrieren als unsichere Aktionen deklarieren können. Infolgedessen fährt das Host-AV langsam, und selbst wenn ein Nothalt erforderlich ist, ist dies aufgrund der niedrigen Fahrgeschwindigkeit nicht gefährlich. Unsere Definition ergibt daher eine Anpassung der Fahrweise an die Straßenverhältnisse.
-
Aufbau eines skalierbaren Erfassungssystems
-
Die Anforderungen an ein Erfassungssystem sowohl hinsichtlich Komfort als auch Sicherheit wurden beschrieben. Als Nächstes wird ein Ansatz zum Aufbau eines Erfassungssystems beschrieben, das diese Anforderungen erfüllt und dabei skalierbar ist. Es gibt drei Hauptkomponenten des Erfassungssystems. Die erste ist eine 360-Grad-Abdeckung der Szene mit großer Reichweite, basierend auf Kameras. Die drei Hauptvorteile von Kameras sind: (1) hohe Auflösung, (2) Textur, (3) Preis. Der niedrige Preis ermöglicht ein skalierbares System. Die Textur ermöglicht es, die Semantik der Szene zu verstehen, die Fahrspurmarkierungen, Ampeln, Absichten von Fußgängern, und mehr aufweist. Die hohe Auflösung ermöglicht eine große Reichweite. Darüber hinaus ermöglicht die Erkennung von Fahrspurmarkierungen und Objekten in derselben Domäne eine hervorragende semantische Quergenauigkeit bzw. laterale Genauigkeit. Die beiden Hauptnachteile von Kameras sind: (1) die Informationen sind 2D, und die Schätzung des Abstands in Längsrichtung ist schwierig, (2) die Empfindlichkeit gegenüber Lichtverhältnissen (niedrige Sonne, schlechtes Wetter). Wir überwinden diese Schwierigkeiten mit den nächsten beiden Komponenten unseres Systems.
-
Die zweite Komponente unseres Systems ist eine semantische High-Definition-Abbildungs-Technologie, genannt Road Experience Management (REM) (die Navigation basierend auf Zieltrajektorien umfasst, die für Straßenabschnitte vorbestimmt und gespeichert sind, zusammen mit der Fähigkeit, genaue Orte entlang der Zieltrajektorien basierend auf dem Ort (z. B. in Bildern) von erkannten Orientierungspunkten zu bestimmen, die in der Umgebung des Host-Fahrzeugs identifiziert wurden). Ein üblicher geometrischer Ansatz zur Kartenerstellung besteht darin, eine Wolke von 3D-Punkten (erhalten durch ein LIDAR) in dem Kartenerstellungsprozess aufzuzeichnen, und dann wird die Lokalisierung auf der Karte durch Abgleichen der vorhandenen LIDAR-Punkte mit denen auf der Karte erzielt. Es gibt mehrere Nachteile dieses Ansatzes. Erstens ist ein großer Speicher pro Kilometer Kartendaten erforderlich, da wir viele Punkte gespeichert werden müssen. Dies erfordert eine teure Kommunikationsinfrastruktur. Zweitens sind möglicherweise nicht alle Autos mit Lidar-Sensoren ausgestattet, und daher wird die Karte sehr selten aktualisiert. Dies ist problematisch, da Änderungen an der Straße auftreten können (Baustellen, Gefahren), und die „Time-to-Reflect-Realität“ von Lidar-basierten Abbildungslösungen groß ist. Im Gegensatz dazu verfolgt REM einen semantikbasierten Ansatz. Die Idee ist, die große Anzahl von Fahrzeugen zu nutzen, die mit Kameras und Software ausgestattet sind, die semantisch bedeutsame Objekte in der Szene (Fahrspurmarkierungen, Bordsteine, Masten, Ampeln usw.) erkennen. Heutzutage sind viele neue Autos mit ADAS-Systemen ausgestattet, die für die Crowdsourcing-Kartenerstellung genutzt werden können. Da die Verarbeitung fahrzeugseitig erfolgt, sollten nur wenige semantische Daten an die Cloud übermittelt werden. Dies ermöglicht eine sehr häufige Aktualisierung der Karte auf skalierbare Weise. Darüber hinaus können die autonomen Fahrzeuge die kleinen Mengen an Kartendaten über bestehende Kommunikationsplattformen (das Mobilfunknetz) empfangen. Schließlich kann eine hochgenaue Lokalisierung auf der Karte basierend auf Kameras erreicht werden, ohne dass teure Lidars erforderlich sind.
-
REM kann für mehrere Zwecke verwendet werden. Erstens gibt es einen Überblick über die statische Struktur der Straße (man kann eine Autobahnausfahrt weit im Voraus planen). Zweitens gibt es eine weitere Quelle genauer Informationen über alle statischen Informationen, die zusammen mit den Kameraerkennungen eine robuste Sicht auf den statischen Teil der Welt ergeben. Drittens löst es das Problem des Hebens der 2D-Informationen von der Bildebene in die 3D-Welt wie folgt. Die Karte beschreibt alle Fahrspuren als Kurven in der 3D-Welt. Die Lokalisierung des Ego-Fahrzeugs auf der Karte ermöglicht es, jedes Objekt auf der Straße trivial aus der Bildebene in seine 3D-Position zu heben. Daraus ergibt sich ein Ortungssystem, das die Genauigkeit in semantischen Einheiten einhält. Eine dritte Komponente des Systems können komplementäre Radar- und Lidar-Systeme sein. Diese Systeme können zwei Zwecken dienen. Erstens können sie ein extrem hohes Maß an Genauigkeit bieten, um die Sicherheit zu erhöhen. Zweitens können sie Geschwindigkeit und Abstände direkt messen, was den Fahrkomfort weiter verbessert.
-
Die folgenden Abschnitte enthalten technische Lemmata und mehrere praktische Betrachtungen des RSS-Systems.
-
Lemma 9 Für alle x ∈ [0,0.1] gilt 1 -x > e-2x.
Beweis Seif (x) = 1 - x - e-2x. Unser Ziel ist es, zu zeigen, dass dabei ≥ 0 herauskommt für x ∈ [0,0.1]. Beachte, dass f (0) = 0 ist und es daher ausreichend ist, wenn f (x) ≥ 0 ist in dem oben genannten Bereich ist. Explizit gilt f'(x) = -1 + 2e-2x. Offensichtlich ist f'(0) = 1, und sie ist monoton fallend, daher reicht es aus, zu verifizieren, dass f'(0.1) > 0 ist, was numerisch leicht zu zeigen ist, f'(0.1) ≈ 0.637.
-
Effiziente Vorsichtsprüfung - Verdeckte Objekte
-
Wie bei nicht verdeckten Objekten kann geprüft werden, ob das Ausgeben des aktuellen Befehls und danach der DEP RSS ist. Dazu rollen wir unsere Zukunft bis tbrake aus, wenn wir davon ausgehen, dass die Expositionszeit 1 ist, und befehlen dann DEP, was per Definition für Vorsicht ausreicht. Für alle t' 0 [0,tbrake] wird geprüft wir, ob ein schuldhafter Unfall eintreten kann - unter Annahme des Worst Cases über dem verdeckten Objekt. Wir verwenden einige unserer Worst-Case-Manöver und Sicherheitsabstandsregeln. Wir verfolgen einen verdeckungsbasierten Ansatz, um interessante Punkte zu finden - für jedes verdeckende Objekt berechnen wir nämlich den Worst Case. Dies ist ein entscheidender, auf Effizienz ausgerichteter Ansatz - ein Fußgänger kann beispielsweise an vielen Stellen hinter einem Auto versteckt sein und viele Manöver ausführen, aber es gibt eine einzige Worst-Case-Position und ein einziges Manöver, das er ausführen kann.
-
Betrachte als Nächstes den komplizierteren Fall, den des verdeckten Fußgängers. Man stelle sich einen verdeckten Bereich hinter einem geparkten Auto vor. Die nächstgelegenen Punkte in einem verdeckten Bereich und die Front/Seite unseres Autos c können beispielsweise durch ihre geometrischen Eigenschaften (Dreiecke, Rechtecke) gefunden werden. Formal kann der verdeckte Bereich als eine Vereinigung einer kleinen Anzahl konvexer Bereiche einfacher Form betrachten werden, wobei jeder separat behandelt wird. Außerdem ist ersichtlich, dass ein Fußgänger aus dem verdeckten Bereich IFF in die Vorderseite des Autos rennen kann (unter der v
limit-Beschränkung) dann und nur dann, wenn er dies auf dem kürzest potenziellen Weg tut. Unter Verwendung der Tatsache, dass der maximale Abstand, den der Fußgänger zurücklegen kann, v
limit · t' ist, erhält man eine einfache Überprüfung für eine frontale Aufprallmöglichkeit. Bezüglich eines seitlichen Aufpralls kann festgestellt werden, dass wir für den Fall, dass der Weg kürzer als vlimit · t' ist, verantwortlich sind, dann und nur dann, wenn unsere Quergeschwindigkeit größer als µ ist, in Richtung des Aufpralls. Offenbart wird ein Algorithmus zur Vorsichtsüberprüfung in Bezug auf verdeckte Fußgänger, der hier in freiem Pseudocode beschrieben wird. Der entscheidende Teil, nämlich das Prüfen der Existenz der Möglichkeit eines schuldhaften Unfalls mit einem von einem Fahrzeug verdeckten Fußgänger, wird auf die oben beschriebene einfache Weise durchgeführt.
-
Zum Problem der Validierung eines Simulators
-
Wie zuvor diskutiert, kann es schwierig sein, die Sicherheit mit mehreren Agierenden statistisch zu validieren, da dies „online“ erfolgen sollte. Man könnte argumentieren, dass man durch den Aufbau eines Simulators der Fahrumgebung die Fahrrichtlinien im „Labor“ validieren kann. Die Validierung, dass der Simulator die Realität wirklichkeitsgetreu darstellt, ist jedoch genauso schwierig wie die Validierung der Richtlinie selbst. Um zu sehen, warum dies wahr ist, nehme man an, dass der Simulator dahingehend validiert wurde, dass die Anwendung einer Fahrrichtlinie π in dem Simulator zu einer Unfallwahrscheinlichkeit p̂ führt, und die Wahrscheinlichkeit eines Unfalls von π in der realen Welt p ist, mit |p - p̂| < 0. (Wir benötigen, dass 0 kleiner als 10-9 ist.). Ersetze als Nächstes die Fahrrichtlinie durch π'. Angenommen, π' führt mit einer Wahrscheinlichkeit von 10-8 eine seltsame Aktion aus, die menschliche Fahrer verwirrt und zu einem Unfall führt. Es ist möglich (und sogar ziemlich wahrscheinlich), dass diese seltsame Aktion nicht in dem Simulator modelliert wird, ohne dass dies im Widerspruch zu seinen hervorragenden Fähigkeiten bei der Schätzung der Leistung der ursprünglichen Richtlinie π steht. Dies beweist, dass, selbst wenn gezeigt wurde, dass ein Simulator die Realität für eine Fahrweise π widerspiegelt, dadurch nicht gewährleistet wird, dass er die Realität für eine andere Fahrweise widerspiegelt.
-
Das spurbasierte Koordinatensystem
-
Eine vereinfachende Annahme, die in der RSS-Definition gemacht werden kann, ist, dass die Straße als benachbarte, gerade Fahrspuren mit konstanter Breite verstanden wird. Die Unterscheidung zwischen Quer- und Längsachsen zusammen mit einer Anordnung der Längsposition kann bei RSS eine wichtige Rolle spielen. Darüber hinaus basiert die Definition dieser Richtungen eindeutig auf der Fahrspurform. Eine Transformation von (globalen) Positionen in der Ebene in ein fahrspurbasiertes Koordinatensystem verringert das Problem auf den ursprünglichen Fall „gerade Fahrspur mit konstanter Breite“.
-
Angenommen, die Mitte der Spur sei eine glatte gerichtete Kurve r auf einer Ebene, wobei alle ihre Teile, bezeichnet mit r
(1),... ,r
(k), entweder linear oder ein Bogen sind. Beachte, dass die Glätte der Kurve impliziert, dass kein Paar aufeinanderfolgender Teile linear sein kann. Formal bildet die Kurve einen „längsgerichteten“ Parameter Y 0 [Y
min,
Ymax] ⊂ | in die Ebene ab, die Kurve ist nämlich eine Funktion der Form r : [Y
min, Y
max] → |
2. Man definiere eine kontinuierliche Spurbreitenfunktion w : [Y-
min, Y
max] → |
+, die die Längsposition Y in einen positiven Spurbreitenwert abbildet. Für jedes Y kann aus der Glätte von r der normale Einheitsvektor zu der Kurve an Position Y, bezeichnet als r ⊥ (Y), definiert werden. Wir definieren natürlich die Teilmenge von Punkten auf der Ebene, die sich in der Spur befinden, wie folgt:
-
Informell besteht unser Ziel darin, eine Transformation ϕ von R so zu konstruieren, so dass für zwei Autos, die sich auf der Spur befinden, ihre „logische Reihenfolge“ erhalten bleibt: wenn sich cr auf der Kurve „hinter“ cf befindet, dann ist ϕ(cr)y < ϕ(cf)y. Wenn cl auf der Kurve „links von“ cr ist, dann ist ϕ(cl)x < ϕ(cr)x. Wobei, wie bei RSS, die y-Achse der „Längs“-Achse und die x-Achse der „Quer“-Achse zugeordnet wird.
-
Um ϕ zu definieren, verlassen wir uns auf die Annahme, dass für alle i gilt, wenn r(i) ein Bogen mit dem Radius ρ ist, die Breite der Fahrspur über r(i) hinweg ≤ ρ/2 ist. Beachte, dass diese Annahme praktisch für jede Straße gilt. Die Annahme impliziert trivialerweise, dass für alle (x',y') 0 R ein eindeutiges Paar Y' 0 [Ymin, Ymax], a' 0 [±1/2] existiert, so dass (x',y') = r(Y')+ a'w(Y')r ⊥(Y'). Man kann nun ϕ : R → |2 so definieren, dass 0(x', y') = (Y', a') gilt, wobei (Y', a') die eindeutigen Werte sind, die (x', y') = r(Y') + a'w(Y')r ⊥(Y') erfüllen.
-
Diese Definition erfasst den Begriff eines „Quermanövers“ im Koordinatensystem der Fahrspur. Man stelle sich beispielsweise eine breiter werdende Fahrspur vor, bei der ein Auto genau auf einer der Fahrspurbegrenzungen fährt (siehe 23). Die Verbreiterung der Fahrspur 2301 bedeutet, dass sich das Auto 2303 von der Mitte der Fahrspur wegbewegt und daher eine Quergeschwindigkeit in Bezug auf die Fahrspur hat. Dies bedeutet jedoch nicht, dass es ein Quermanöver durchführt. Die Definition von ϕ(x', y')x = a', nämlich der Querabstand zur Fahrspurmitte in w(Y')-Einheiten, impliziert, dass die Fahrspurbegrenzungen eine feste Querposition von ±1/2 haben. Daher wird angenommen, dass ein Auto, das an einer der Begrenzungen der Fahrspur festhält, keine Querbewegung ausführt. Schließlich sieht man, dass ϕ ein Homomorphismus ist. Der Begriff spurbasiertes Koordinatensystem wird verwendet, wenn ϕ(R) = [Ymin, Ymax] × [±1/2] diskutiert wird. Wir haben somit eine Reduzierung von einer allgemeinen Fahrspurgeometrie auf ein gerades Längs-/Quer-Koordinatensystem erhalten.
-
Erweitern von RSS auf die allgemeine Straßenstruktur
-
In diesem Abschnitt wird eine vollständige Definition von RSS beschrieben, die für alle Straßenstrukturen gilt. In diesem Abschnitt geht es um die Definition von RSS, und nicht darum, wie effizient sichergestellt werden kann, dass eine Richtlinie RSS einhält. Als nächstes wird das Konzept der Routenpriorität eingeführt, um jede Situation zu erfassen, in der mehr als eine einzige Spurgeometrie vorhanden ist, beispielsweise Kreuzungen.
-
Die zweite Verallgemeinerung befasst sich mit zweispurigen Straßen, auf denen zwei Autos in entgegengesetzten Richtungen fahren können. Für diesen Fall gilt weiterhin die bereits etablierte RSS-Definition mit der geringfügigen Verallgemeinerung „sicherer Abstand“ zum Gegenverkehr. Gesteuerte Kreuzungen (die Ampeln verwenden, um den Verkehrsfluss zu diktieren) können vollständig durch die Konzepte der Routenpriorität und Zweirichtungsstraßen gehandhabt werden. Unstrukturierte Straßen (z. B. Parkplätze), bei denen keine eindeutige Routendefinition vorhanden ist, können ebenfalls mit RSS behandelt werden. RSS ist für diesen Fall immer noch gültig, wobei die einzige erforderliche Modifizierung darin besteht, virtuelle Routen zu definieren und jedes Auto (möglicherweise mehreren) Routen zuzuordnen.
-
Routenpriorität
-
Das Konzept der Routenpriorität wird nun eingeführt, um Szenarien zu meistern, in denen es mehrere unterschiedliche Straßengeometrien in einer Szene gibt, die sich in einem bestimmten Bereich überschneiden. Beispiele, wie in den 24A-D, weisen Kreisverkehre, Kreuzungen und Einfädeln in Autobahnen auf. Es wurde ein Weg beschrieben, die allgemeine Fahrspurgeometrie in eine fahrspurbasierte umzuwandeln, mit kohärenter Bedeutung für Längs- und Querachsen. Nun werden Szenarien angesprochen, in denen mehrere Routen mit unterschiedlicher Straßengeometrie existieren. Daraus folgt, dass, wenn sich zwei Fahrzeuge dem Überlappungsbereich nähern, beide ein Einscheren in den vorderen Korridor des anderen durchführen. Dieses Phänomen kann nicht auftreten, wenn zwei Routen die gleiche Geometrie haben (wie in dem Fall zweier benachbarter Autobahnspuren). Grob gesagt besagt das Prinzip der Routenpriorität, dass wenn sich die Routen r1, r2 überlappen und r1 Priorität vor r2 hat, ein von ri kommendes Fahrzeug, das in den vorderen Korridor eines von r2 kommenden Fahrzeugs einfährt, nicht als ein Einscheren durchführend betrachtet wird.
-
Um das Konzept formal zu erklären, sei daran erinnert, dass die Schuld eines Unfalls von geometrischen Eigenschaften abhängig ist, die aus dem Koordinatensystem der Fahrspur abgeleitet werden, und von Annahmen des ungünstigsten Falls, die sich ebenfalls darauf stützen. Seien r1,... rk die Routen, die die Straßenstruktur definieren. Betrachte als einfaches Beispiel das Einfädelungs-Szenario, wie in 24A gezeigt. Angenommen, zwei Autos, 2401 (c1) und 2402 (c2), fahren auf den Routen r1 bzw. r2, und r1 ist die priorisierte Route. Angenommen, beispielsweise, dass r1 eine Autobahnspur und r2 eine Einfädelungsspur ist. Nachdem die routenbasierten Koordinatensysteme für jede Route definiert wurden, ist eine erste Beobachtung, dass jedes Manöver in jedem Koordinatensystem einer Route berücksichtigt werden kann. Wenn beispielsweise das Koordinatensystem von r2 verwendet wird, erscheint das Fahren geradeaus auf r1 wie eine Einfädeln in die linke Seite von r2. Ein Ansatz zur Definition von RSS könnte sein, dass jedes der Autos ein Manöver ∀i 0 {1, 2} dann und nur dann ausführen kann, wenn es bezüglich r, sicher ist. Dies impliziert jedoch, dass c1, das auf der priorisierten Route fährt, sehr konservativ bzgl. r2 ist, die einfädelnde Route, da c2 genau auf der Route fahren kann und somit durch Querposition gewinnen kann. Das ist unnatürlich, da Autos auf der Autobahn in diesem Fall Vorfahrt haben. Um dieses Problem zu umgehen, definieren wir bestimmte Bereiche, in denen die Routenpriorität definiert wird, und nur ein Teil der Routen wird als sicherheitsrelevant angesehen.
-
Definition 22 (Unfallverantwortlichkeit mit Routenpriorität) Angenommen, r1, r2 sind zwei Routen mit unterschiedlicher Geometrie, die sich überlappen. Man verwende r1 >[b,e] r2, um zu symbolisieren, dass r1 im Längsintervall [b, e] (25) des Koordinatensystems von r1 Priorität vor r2 hat. Angenommen, es gibt einen Unfall zwischen den Autos c1, c2, die auf den Routen r1, r2 fahren. Für i 0 {1,2} gebe bi ⊂ {1,2} {1,2} die Autos, die den Unfall verschulden, an, wenn das Koordinatensystem von rt betrachtet wird. Die Schuld für den Unfall ergibt sich wie folgt:
- • falls r1 > [b,e] r2 und zur Schuldzeit bzgl. r1 sich eines der Autos in dem Intervall [b,e] der Längsachse des r1-Systems befand, dann liegt die Schuld bei b1.
- • andernfalls ist die Schuld gemäß b1 U b2.
-
Um die Definition zu veranschaulichen, betrachte man noch einmal das Beispiel zum Einfädeln in eine Autobahn. Die mit „b“ und „e“ bezeichneten Linien in 25 geben die Werte von b, e an, für die r1 >[b,e] r2 gilt. Daher wird natürlich für Autos erlaubt, auf der Autobahn zu fahren, während die Implementierung von einfädelnden Autos in Bezug auf diese Autos sicher sein muss. Beachte insbesondere, dass in dem Fall, in dem ein Auto 2401 c1 in der Mitte der priorisierten Spur fährt, ohne Quergeschwindigkeit, es nicht für einen Unfall mit einem Auto 2402 c2 verantwortlich gemacht wird, das auf einer nicht priorisierten Spur fährt, es sei denn 2402 c2 hat in einem sicheren Abstand in den Korridor von 2401 c1 eingeschert. Beachte, dass das Endergebnis ähnlich dem regulären RSS ist, dies ist genau dasselbe wie in einem Fall, in dem ein Auto auf einer geraden Straße versucht, einen Spurwechsel durchzuführen. Beachte, dass es Fälle geben kann, in denen die von einem anderen Agierenden verwendete Route unbekannt ist. Beispielsweise ist das Auto 2601 in 26 möglicherweise nicht in der Lage, zu bestimmen, ob ein Auto 2602 den Pfad „a“ oder den Pfad „b“ nehmen wird. In solchen Fällen kann RSS erhalten werden, indem alle Möglichkeiten iterativ geprüft werden.
-
Verkehr in beide Richtungen
-
Um Verkehr in beide Richtungen zu behandeln, erfolgt die Modifizierung der Schulddefinition durch Schärfen der Teile, die auf hinten/vorne Beziehungen beruhen, da diese in solchen Fällen eine etwas andere Bedeutung haben. Man stellen sich zwei Autos c1, c2 vor, die auf einer geraden zweispurigen Straße in entgegengesetzten Längsrichtungen fahren, nämlich v1,long · v2,long < 0. Die Fahrtrichtung in Bezug auf eine Fahrspur kann in angemessenen städtischen Szenarien negativ sein, wie etwa ein Auto, das auf die Gegenfahrspur abweicht, um einen geparkten Lastwagen zu überholen, oder ein Auto, das rückwärts in eine Parklücke einparkt. Es ist daher erforderlich, die von uns eingeführte Definition des sicheren Längsabstands für Fälle zu erweitern, in denen negative Längsgeschwindigkeiten als unrealistisch angenommen wurden. Man erinnere sich daran, dass ein Abstand zwischen cr, cf sicher war, wenn ein maximales Bremsen durch cf genügend Reaktionszeit für cr zum Bremsen vor dem Aufprall auf cf ermöglichen würde. In unserem Fall betrachte man wieder den „Worst-Case“ des Gegenautos, etwas anders: Natürlich gehen wir nicht davon aus, dass der „Worst-Case“ auf uns zurast, sondern dass es tatsächlich bremst, um einen Unfall zu vermeiden - aber nur mit vernünftiger Bremskraft. Um die unterschiedliche Verantwortung zwischen den Autos zu erfassen, wenn eines von ihnen eindeutig in die entgegengesetzte Richtung fährt, beginnen wir damit, eine „richtige“ Fahrtrichtung zu definieren.
-
In der RSS-Definition für parallele Fahrspuren wurde die relevante Fahrspur als diejenige definiert, deren Mitte der Einscherposition am nächsten ist. Wir können unsere Betrachtung nun auf die Betrachtung dieses Fahrstreifens verringern (oder, im Falle der Symmetrie, die beiden Fahrstreifen getrennt behandeln, wie in Definition 22). In der nachstehenden Definition bezeichnet der Begriff „Kurs“ den Arkustangens (im Bogenmaß) der Quergeschwindigkeit dividiert durch die Längsgeschwindigkeit.
-
Definition 23 ((,u1, µ2, µ3)-Gewinn durch korrekte Fahrtrichtung) Angenommen, c1, c2 fahren in entgegengesetzten Richtungen, nämlich v1,long · v2,long < 0. Seien xi,hi ihre Querpositionen und Richtungen bzgl. der Spur. Wir sagen, dass c1 (µ1, µ2, µ3) durch korrekte Fahrtrichtung gewinnt, wenn alle der folgenden Bedingungen zutreffen:
- •
- •
- •
-
Der Indikator dieses Ereignisses wird mit WCDD (i) bezeichnet..
-
In Worten, c1 gewinnt, wenn es in der korrekten Richtung nahe an der Spur fährt, während c2 die entgegengesetzte Richtung nimmt. Es kann höchstens ein Auto gewinnen, und es kann sein, dass keines der Autos gewinnt. Man geht intuitiv davon aus, dass es in der diskutierten Situation zu einem Unfall kommt. Es ist vernünftig, einem Auto c1 mehr Verantwortung zu übertragen, das durch Korrekte-Fahrtrichtung verliert. Dies geschieht durch Neudefinition von amax,brake für den Fall, dass ein Auto durch Korrekte-Fahrtrichtung gewinnt.
-
Definition 24 (vernünftige Bremsleistung) Sei amax,brake,wcdd > 0 eine Konstante kleiner als amax,brake. Angenommen, c1, c2 fahren in entgegengesetzten Richtungen. Die vernünftige Bremsleistung jedes Autos ci, bezeichnet als RBPi, ist amax,brake,wcdd, wenn ci (µ1, µ2, µ3) durch Korrekte-Fahrtrichtung gewinnt, und andernfalls amax,brake.
-
Die genauen Werte von amax,brake,wcdd, amax,brake für die Fälle des Gewinnens/Nichtgewinnens durch Korrekte-Fahrtrichtung sind Konstanten, die definiert werden sollten, und können von der Art der Straße und den Spur abhängig sein, die von jedem Auto befahren werden. In einer engen Stadtstraße kann es beispielsweise vorkommen, dass der Gewinn durch Korrekte-Fahrtrichtung keinen viel geringeren Bremswert bedeutet: Im dichten Verkehr wird erwartet, dass ein Auto mit ähnlichen Kräften bremst, auch wenn jemand deutlich in seine Spur abgewichen ist oder nicht. Betrachte jedoch ein Beispiel einer ländlichen Straße mit zwei Richtungen, auf der hohe Geschwindigkeiten erlaubt sind. Beim Ausweichen auf die Gegenfahrspur kann von Autos, die in die korrekte Richtung fahren, nicht erwartet werden, dass sie eine sehr starke Bremskraft aufbringen, um einen Zusammenstoß mit dem Host-Fahrzeug zu vermeiden - das Host-Fahrzeug trägt mehr Verantwortung als sie. Für den Fall, dass sich zwei Autos auf derselben Fahrspur befinden und eines rückwärts in eine Parklücke einparkt, können unterschiedliche Konstanten definiert werden.
-
Als nächstes wird der Sicherheitsabstand zwischen Autos, die in entgegengesetzten Richtungen fahren, definiert und unmittelbar sein genauer Wert abgeleitet.
-
Definition 25 (Sicherer Längsabstand - Gegenverkehr) Ein Längsabstand zwischen einem Auto c1 und einem anderen Auto c2, die in entgegengesetzten Richtungen fahren und sich beide in den vorderen Korridoren des anderen befinden, ist sicher bzgl. eine Reaktionszeit p, wenn für einen beliebigen Beschleunigungsbefehl α, |a| < amax,accel, durchgeführt von c1, c2 bis zu dem Zeitpunkt ρ, wenn c1, und c2 ihre vernünftige Bremsleistung vom Zeitpunkt ρ bis zu einem vollständigen Stillstand anwenden, sie dann nicht kollidieren werden.
-
Lemma 10 Seien c
1, c
2 wie in Definition 25. Seien RBP
i, α
max,accel die vernünftigen Brems- (für jedes i) und Beschleunigungsbefehle, und sei ρ die Reaktionszeit der Autos. Seien v
1, v
2 die Längsgeschwindigkeiten der Autos, und seien l
1, l
2 ihre Längen. Definiere v
i,p,max = |v
i| + ρ · a
max,accel. Dann ist der minimale Sicherheitsabstand in Längsrichtung:
-
Es ist ersichtlich, dass der Term in der Summe der maximale Abstand ist, der von jedem Auto zurückgelegt wird, bis es den vollständigen Stillstand erreicht, wenn das Manöver aus Definition 25 durchgeführt wird. Daher muss, um für den vollständigen Stillstand in einem Abstand größer L zu sein, der Anfangsabstand größer sein als diese Summe und ein zusätzlicher Term von L.
-
Dieselbe Schuldzeit-Definition von RSS mit dem nicht sicheren Längsabstand, wie in Definition 25 definiert, wird verwendet, um die Schuld-/Unfallverantwortung für ein Zweirichtungsverkehrs-Szenario zu definieren.
-
Definition 26 (Schuld bei Verkehr in zwei Richtungen) Die Schuld bei Verkehr in zwei Richtungen eines Unfalls zwischen Autos c1, c2, die in entgegengesetzten Richtungen fahren, ist eine Funktion des Zustands zur Schuldzeit und wird wie folgt definiert:
- • wenn die Schuldzeit auch eine Einscherzeit ist, wird die Schuld wie in der regulären RSS-Definition definiert
- • andernfalls liegt die Schuld für jedes i bei ci, wenn ci zu irgendeinem Zeitpunkt t ,der nach der Schuldzeit vorkommt, nicht mit einer Leistung von mindestens RBPi gebremst hat.
-
Angenommen, beispielsweise, dass ein sicheres Einscheren vor der Schuldzeit erfolgt ist. Beispielsweise ist c1 auf die Gegenfahrspur abgewichen, hat in sicherem Abstand in den Korridor von c2 eingeschert. Beachte, dass c2 durch die Korrekte-Fahrtrichtung gewinnt, und daher dieser Abstand sehr groß sein kann - wir erwarten von c2 keine starke Bremsleistung, sondern nur die vernünftige Bremsleistung. Dann haben beide Autos die Verantwortung, nicht zusammenzustoßen. Wenn das Einscheren jedoch nicht in einem sicheren Abstand war, verwenden wir die reguläre Definition und beachten, dass c2 nicht beschuldigt wird, wenn es in der Mitte seiner Fahrspur gefahren ist, ohne Querbewegung. Die Schuld wird allein bei c1 liegen. Dadurch kann ein Auto natürlich in der Mitte seiner Fahrspur fahren, ohne sich wegen Verkehr sorgen zu müssen, der unsicher in seinen Korridor abbiegen könnte. Andererseits ist das sichere Ausweichen auf die Gegenfahrspur erlaubt, ein gängiges Manöver, das im dichten Stadtverkehr erforderlich ist. Betrachtet man das Beispiel eines Autos, das ein Rückwärtseinparkmanöver einleitet, sollte es mit dem Rückwärtsfahren beginnen und dabei sicherstellen, dass der Abstand zu den dahinter liegenden Autos sicher ist.
-
Ampeln
-
In Szenarien, die Kreuzungen mit Ampeln aufweisen, könnte man denken, dass die einfache Regel für Ampel-Szenarien lautet: „Wenn die Route eines Autos eine grüne Ampel hat und die Route des anderen Autos eine rote Ampel hat, dann liegt die Schuld bei dem, dessen Route die rote Ampel hat“. Dies ist jedoch nicht die korrekte Regel, insbesondere nicht in allen Fällen. Betrachte beispielsweise das in 27 gezeigte Szenario. Selbst wenn das Auto 2701 auf einer Route mit grünem Licht ist, erwartet man nicht, dass es das Auto 2703 ignoriert, das sich bereits in der Kreuzung befindet. Die korrekte Regel ist, dass die Route mit grüner Ampel Priorität vor Routen mit roter Ampel hat. Daher erhalten wir eine deutliche Reduzierung von Ampeln auf das zuvor beschriebene Konzept der Routenpriorität.
-
Unstrukturierte Straße
-
Wenden wir uns nun Straßen zu, auf denen keine klare Routengeometrie definiert werden kann, betrachte man zunächst ein Szenario, in dem es überhaupt keine Spurstruktur (z. B. einen Parkplatz) gibt. Eine Möglichkeit, um sicherzustellen, dass es nicht zu Unfällen kommt, kann darin bestehen, zu verlangen, dass jedes Auto in einer geraden Linie fährt, während eine Änderung der Richtung erfolgen muss, wenn sich keine nahen Autos in der Nähe befinden. Der Grundgedanke dahinter ist, dass ein Auto vorhersagen kann, was andere Autos tun werden, und sich entsprechend verhalten kann. Wenn andere Autos von dieser Vorhersage abweichen (indem sie den Kurs ändern), geschieht dies mit einem ausreichend langen Abstand, und daher bleibt möglicherweise genügend Zeit, um die Vorhersage zu korrigieren. Wenn es eine Spurstruktur gibt, kann dies intelligentere Vorhersagen darüber ermöglichen, was andere Autos tun werden. Wenn überhaupt keine Spurstruktur vorhanden ist, fährt ein Auto gemäß seiner aktuellen Richtung weiter. Technisch gesehen ist das gleichbedeutend mit der Zuordnung jedes Autos zu einer virtuellen geraden Strecke entsprechend seiner Fahrtrichtung. Betrachte als Nächstes das Szenario in einem großen, unstrukturierten Kreisverkehr (z. B. rund um den Arc de Triomphe in Paris). Eine sinnvolle Vorhersage ist hier, anzunehmen, dass ein Auto gemäß der Geometrie des Kreisverkehrs weiterfahren wird, während es seinen Versatz beibehält. Technisch entspricht dies der Zuordnung jedes Autos zu einer virtuellen Kreisbogenroute gemäß seinem aktuellen Abstand von der Mitte des Kreisverkehrs.
-
Das oben beschriebene Fahrrichtliniensystem (z. B. das RL-System) kann zusammen mit einer oder mehreren der beschriebenen Unfallhaftungsregeln implementiert werden, um ein Navigationssystem bereitzustellen, das eine potenzielle Unfallhaftung berücksichtigt, wenn es darüber entscheidet, eine bestimmte Navigationsanweisung zu implementieren. Solche Regeln können während der Planungsphase angewendet werden; z. B. innerhalb eines Satzes von programmierten Anweisungen oder innerhalb eines trainierten Modells, so dass eine vorgeschlagene Navigationsaktion durch das System bereits in Übereinstimmung mit den Regeln entwickelt wird. Beispielsweise kann ein Fahrrichtlinienmodul beispielsweise eine oder mehrere Navigationsregeln, auf denen RSS basiert, berücksichtigen oder damit trainiert werden. Zusätzlich oder alternativ kann die RSS-Sicherheitsbeschränkung als Filterschicht angewendet werden, durch die alle vorgeschlagenen Navigationsaktionen, die in der Planungsphase vorgeschlagen wurden, gegen die relevanten Unfallhaftungsregeln getestet werden, um sicherzustellen, dass die vorgeschlagenen Navigationsaktionen konform sind. Wenn eine bestimmte Aktion die RSS-Sicherheitsbeschränkung erfüllt, kann sie implementiert werden. Andernfalls, wenn die vorgeschlagene Navigationsaktion nicht mit der RSS-Sicherheitsbeschränkung übereinstimmt (z. B., wenn die vorgeschlagene Aktion aufgrund einer oder mehrerer der oben beschriebenen Regeln zu einer Unfallhaftung des Host-Fahrzeugs führen könnte), dann wird die Aktion nicht getätigt.
-
In der Praxis kann eine bestimmte Implementierung ein Navigationssystem für ein Host-Fahrzeug aufweisen. Das Host-Fahrzeug kann mit einer Bildaufnahmevorrichtung (z. B. einer oder mehreren Kameras, wie etwa einer der oben beschriebenen) ausgestattet sein, die während des Betriebs Bilder aufnimmt, die eine Umgebung des Host-Fahrzeugs darstellen. Unter Verwendung der Bildinformationen kann eine Fahrrichtlinie eine Vielzahl von Eingaben aufnehmen, und eine geplante Navigationsaktion zum Erreichen eines Navigationsziels des Host-Fahrzeugs ausgeben. Die Fahrrichtlinie kann einen Satz programmierter Anweisungen, ein trainiertes Netzwerk usw., das verschiedene Eingaben (z. B. Bilder von einer oder mehreren Kameras, die die Umgebung des Host-Fahrzeugs zeigen, die Zielfahrzeuge, Straße, Objekte, Fußgänger, usw. aufweist; Ausgaben von LIDAR- oder RADAR-Systemen; Ausgaben von Geschwindigkeitssensoren, Aufhängungssensoren usw.; Informationen, die ein oder mehrere Ziele des Host-Fahrzeugs darstellen - z. B. einen Navigationsplan zum Abliefern eines Passagiers an einen bestimmten Ort, usw.) empfangen kann, aufweisen. Basierend auf der Eingabe kann der Prozessor ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs identifizieren, z. B. durch Analysieren von Kamerabildern, LIDAR-Ausgaben, RADAR-Ausgaben, usw. In einigen Ausführungsformen kann der Prozessor ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs identifizieren, indem er eine oder mehrere Eingaben analysiert, wie etwa eines oder mehrere Kamerabilder, LIDAR-Ausgaben und/oder RADAR-Ausgaben. Ferner kann der Prozessor in einigen Ausführungsformen ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs basierend auf einer Übereinstimmung einer Mehrheit oder Kombination von Sensoreingaben identifizieren (z. B. durch Analysieren eines oder mehrerer Kamerabilder, LIDAR-Ausgaben und/oder RADAR-Ausgaben, und Empfangen eines Erkennungsergebnisses, das das Zielfahrzeug basierend auf einer Mehrheitsübereinstimmung oder einer Kombination der Eingaben identifiziert).
-
Basierend auf den Informationen, die dem Fahrrichtlinienmodul zur Verfügung stehen, kann eine Ausgabe in Form einer oder mehrerer geplanter Navigationsaktionen zum Erreichen eines Navigationsziels des Host-Fahrzeugs bereitgestellt werden. In einigen Ausführungsformen kann die RSS-Sicherheitsbeschränkung als Filter der geplanten Navigationsaktionen angewendet werden. Das heißt, die geplante Navigationsaktion kann, sobald sie entwickelt ist, gegen mindestens eine Unfallhaftungsregel (z. B. eine der oben diskutierten Unfallhaftungsregeln) getestet werden, um eine potenzielle Unfallhaftung für das Host-Fahrzeug bezüglich des identifizierten Zielfahrzeugs zu bestimmen. Und wie angemerkt, wenn der Test der geplanten Navigationsaktion anhand der mindestens einen Unfallhaftungsregel anzeigt, dass eine potenzielle Unfallhaftung für das Host-Fahrzeug bestehen kann, wenn die geplante Navigationsaktion durchgeführt wird, dann kann der Prozessor das Host-Fahrzeug veranlassen, die geplante Navigationsaktion nicht zu implementieren. Wenn andererseits der Test der geplanten Navigationsaktion gegen die mindestens eine Unfallhaftungsregel ergibt, dass sich keine Unfallhaftung für das Host-Fahrzeug ergeben würde, wenn die geplante Navigationsaktion durchgeführt wird, dann kann der Prozessor das Host-Fahrzeug zur Implementierung der geplanten Navigationsaktion veranlassen.
-
In einigen Ausführungsformen kann das System mehrere mögliche Navigationsaktionen gegen die mindestens eine Unfallhaftungsregel testen. Basierend auf den Ergebnissen des Tests kann das System die potenziellen Navigationsaktionen auf eine Teilmenge der Mehrheit der potenziellen Navigationsaktionen filtern. Beispielsweise kann die Teilmenge in einigen Ausführungsformen nur die potenziellen Navigationsaktionen aufweisen, für die der Test anhand der mindestens einen Unfallhaftungsregel anzeigt, dass sich keine Unfallhaftung für das Host-Fahrzeug ergeben würde, wenn die potenziellen Navigationsaktionen durchgeführt würden. Das System kann dann die potenziellen Navigationsaktionen ohne Unfallhaftung evaluieren und/oder priorisieren, und eine der Navigationsaktionen auswählen, die beispielsweise basierend auf einer optimierten Punktzahl oder einer höchsten Priorität implementiert werden soll. Die Punktzahl und/oder Priorität kann beispielsweise auf einem oder mehreren Faktoren basieren, wie etwa der potenziellen Navigationsaktion, die als die sicherste, effizienteste, bequemste für Passagiere usw. angesehen wird.
-
In manchen Fällen kann die Bestimmung, ob eine bestimmte geplante Navigationsaktion implementiert werden soll, auch davon abhängig sein, ob eine Standard-Notfallprozedur in einem nächsten Zustand nach der geplanten Aktion verfügbar wäre. Wenn eine DEP verfügbar ist, kann der RSS-Filter die geplante Aktion genehmigen. Wenn andererseits keine DEP verfügbar wäre, kann der nächste Zustand als unsicher angesehen werden, und die geplante Navigationsaktion kann abgelehnt werden. In einigen Ausführungsformen kann die geplante Navigationsaktion mindestens eine Standard-Notfallprozedur aufweisen.
-
Ein Vorteil des beschriebenen Systems besteht darin, dass zum Sicherstellen sicherer Aktionen des Fahrzeugs nur die Aktionen des Host-Fahrzeugs in Bezug auf ein bestimmtes Zielfahrzeug berücksichtigt werden müssen. Wenn also mehr als ein Zielfahrzeug vorhanden ist, kann die geplante Aktion für das Host-Fahrzeug nacheinander auf eine Unfallhaftungsregel in Bezug auf die Zielfahrzeuge in einer Einflusszone in der Nähe des Host-Fahrzeugs (z. B. innerhalb von 25 Meter, 50 Meter, 100 Meter, 200 Meter usw.) getestet werden. In der Praxis kann der mindestens eine Prozessor ferner dafür programmiert sein, um: basierend auf einer Analyse des mindestens einen Bildes, das eine Umgebung des Host-Fahrzeugs darstellt (oder basierend auf LIDAR- oder RADAR-Informationen usw.), eine Vielzahl von anderen Zielfahrzeuge in der Umgebung des Host-Fahrzeugs zu identifizieren, und den Test der geplanten Navigationsaktion gegen mindestens einer Unfallhaftungsregel zu wiederholen, um eine mögliche Unfallhaftung für das Host-Fahrzeug relativ zu jedem der mehreren anderen Zielfahrzeuge zu bestimmen. Wenn die wiederholten Tests der geplanten Navigationsaktion gegen die mindestens eine Unfallhaftungsregel darauf hindeuten, dass eine potenzielle Unfallhaftung für das Host-Fahrzeug bestehen kann, wenn die geplante Navigationsaktion durchgeführt wird, dann kann der Prozessor veranlassen, dass das Host-Fahrzeug die geplante Navigationsaktion nicht implementiert. Wenn die wiederholten Prüfungen der geplanten Navigationsaktion gegen die mindestens eine Unfallhaftungsregel ergeben, dass sich für das Host-Fahrzeug keine Unfallhaftung ergeben würde, wenn die geplante Navigationsaktion durchgeführt wird, dann kann der Prozessor veranlassen, dass das Host-Fahrzeug die geplante Navigationsaktion durchführt.
-
Wie angemerkt, kann jede der oben beschriebenen Regeln als Basis für den RSS-Sicherheitstest verwendet werden. In einigen Ausführungsformen weist die mindestens eine Unfallhaftungsregel eine Folgeregel auf, die einen Abstand hinter dem identifizierten Zielfahrzeug definiert, innerhalb dessen das Host-Fahrzeug nicht ohne ein Potenzial für eine Unfallhaftung fahren darf. In anderen Fällen weist die mindestens eine Unfallhaftungsregel eine Vorfahrregel auf, die einen Abstand vor dem identifizierten Zielfahrzeug definiert, innerhalb dessen das Host-Fahrzeug nicht ohne ein Potenzial für eine Unfallhaftung fahren darf.
-
Während das oben beschriebene System den RSS-Sicherheitstest auf eine einzelne geplante Navigationsaktion anwenden kann, um die Einhaltung der Regel zu testen, dass das Host-Fahrzeug keine Aktionen tätigen sollte, für die es für einen resultierenden Unfall haftbar wäre, kann der Test auf mehr als eine geplante Navigationsaktion angewendet werden. Beispielsweise kann der mindestens eine Prozessor in einigen Ausführungsformen basierend auf der Anwendung mindestens einer Fahrrichtlinie zwei oder mehr geplante Navigationsaktionen zum Erreichen eines Navigationsziels des Host-Fahrzeugs bestimmen. In diesen Situationen kann der Prozessor jede der zwei oder mehr geplanten Navigationsaktionen gegen mindestens eine Unfallhaftungsregel testen, um eine mögliche Unfallhaftung zu bestimmen. Und der Prozessor kann, für jede der zwei oder mehr geplanten Navigationsaktionen, wenn der Test anzeigt, dass eine potenzielle Unfallhaftung für das Host-Fahrzeug bestehen kann, wenn eine bestimmte der zwei oder mehr geplanten Navigationsaktionen durchgeführt wird, veranlassen, dass das Host-Fahrzeug die bestimmte der geplanten Navigationsaktionen nicht implementiert.. Andererseits kann der Prozessor für jede der zwei oder mehr geplanten Navigationsaktionen, wenn der Test anzeigt, dass sich keine Unfallhaftung für das Host-Fahrzeug ergeben würde, wenn eine bestimmte der zwei oder mehr geplanten Navigationsaktionen durchgeführt wird, die bestimmte eine der zwei oder mehr geplanten Navigationsaktionen als praktikabler Kandidat für die Implementierung identifizieren. Als Nächstes kann der Prozessor eine zu tätigende Navigationsaktion aus den realisierbaren Kandidaten für die Implementierung basierend auf mindestens einer Kostenfunktion auswählen, und das Host-Fahrzeug zu veranlassen, die ausgewählte Navigationsaktion zu implementieren.
-
Da sich eine Implementierung von RSS auf eine Bestimmung der relativen potenziellen Haftung für Unfälle zwischen dem Host-Fahrzeug und einem oder mehreren Zielfahrzeugen bezieht, einhergehend mit dem Testen geplanter Navigationsaktionen auf Sicherheitskonformität, kann das System das Unfallhaftungspotenzial für vorgefundene Fahrzeuge verfolgen. Beispielsweise kann das System nicht nur in der Lage sein, das Tätigen einer Aktion zu vermeiden, für die ein daraus resultierender Unfall zu einer Haftung gegenüber dem Host-Fahrzeug führen würde, sondern die Host-Fahrzeugsysteme können auch in der Lage sein, eines oder mehrere Zielfahrzeuge zu verfolgen, und zu identifizieren und zu verfolgen, welche Unfallhaftungsregeln von diesen Zielfahrzeugen verletzt wurden. In einigen Ausführungsformen kann ein Unfallhaftungs-Verfolgungssystem für ein Host-Fahrzeug mindestens eine Verarbeitungsvorrichtung aufweisen, die dazu programmiert ist, von einer Bildaufnahmevorrichtung mindestens ein Bild zu empfangen, das eine Umgebung des Host-Fahrzeugs darstellt, und das mindestens eine Bild zu analysieren, um ein Zielfahrzeugs in der Umgebung des Host-Fahrzeugs zu identifizieren. Basierend auf einer Analyse des mindestens einen Bildes kann der Prozessor eine Programmierung dafür aufweisen, um eine oder mehrere Eigenschaften eines Navigationszustands des identifizierten Zielfahrzeugs zu bestimmen. Der Navigationszustand kann verschiedene Betriebseigenschaften des Zielfahrzeugs aufweisen, wie etwa Fahrzeuggeschwindigkeit, Nähe zu einer Fahrspurmitte, Quergeschwindigkeit, Fahrtrichtung, Abstand von dem Host-Fahrzeug, Fahrtrichtung, oder jeden anderen Parameter, der verwendet werden kann, um die potenzielle Unfallhaftung basierend auf einem der oben beschriebenen Regeln zu bestimmen. Der Prozessor kann das bestimmte eine oder die bestimmten mehreren Merkmale des Navigationszustands des identifizierten Zielfahrzeugs mit mindestens einer Unfallhaftungsregel vergleichen (z. B. eine der oben beschriebenen Regeln, wie Gewinnen durch Quergeschwindigkeit, Richtungspriorität, Gewinnen durch Nähe zur Fahrspurmitte, Folge- oder Führungsabstand, und Einscheren, usw.). Basierend auf dem Vergleich des Zustands mit einer oder mehreren Regeln kann der Prozessor mindestens einen Wert speichern, der eine potenzielle Unfallhaftung seitens des identifizierten Zielfahrzeugs angibt. Und im Fall eines Unfalls kann der Prozessor eine Ausgabe des gespeicherten mindestens einen Werts bereitstellen (z. B. über eine beliebige geeignete Datenschnittstelle, entweder drahtgebunden oder drahtlos). Eine solche Ausgabe kann beispielsweise nach einem Unfall zwischen dem Host-Fahrzeug und mindestens einem Zielfahrzeug bereitgestellt werden, und die Ausgabe kann für den Unfall verwendet werden, oder kann anderweitig einen Haftungshinweis für den Unfall liefern.
-
Der mindestens eine Wert, der auf eine mögliche Unfallhaftung hinweist, kann zu jedem geeigneten Zeitpunkt und unter beliebigen geeigneten Bedingungen gespeichert werden. In einigen Ausführungsformen kann die mindestens eine Verarbeitungsvorrichtung einen Kollisionshaftungswert für das identifizierte Zielfahrzeug zuweisen und speichern, wenn bestimmt wird, dass das Host-Fahrzeug eine Kollision mit dem identifizierten Zielfahrzeug nicht vermeiden kann.
-
Die Unfallhaftungs-Verfolgungsfähigkeit ist nicht auf ein einzelnes Zielfahrzeug beschränkt, sondern kann vielmehr verwendet werden, um eine potenzielle Unfallhaftung für eine Vielzahl von vorgefundenen Zielfahrzeugen zu verfolgen. Beispielsweise kann die mindestens eine Verarbeitungsvorrichtung dazu programmiert sein, eine Vielzahl von Zielfahrzeugen in der Umgebung des Host-Fahrzeugs zu erkennen, Navigationszustandseigenschaften für jedes der Vielzahl von Zielfahrzeugen zu bestimmen, und Werte zu bestimmen und zu speichern, die die potenzielle Unfallhaftung seitens jeweiliger der Vielzahl von Zielfahrzeugen basierend auf Vergleichen der jeweiligen Navigationszustandseigenschaften für jedes der Zielfahrzeuge mit der mindestens einen Unfallhaftungsregel anzeigen. Wie angemerkt, können die Unfallhaftungsregeln, die als Basis für die Haftungsverfolgung verwendet werden, jede der oben beschriebenen Regeln oder jede andere geeignete Regel aufweisen. Beispielsweise kann die mindestens eine Unfallhaftungsregel eine Quergeschwindigkeitsregel, eine Querpositionsregel, eine Fahrtrichtungsprioritätregel, eine ampelbasierte Regel, eine verkehrszeichenbasierte Regel, eine Routenprioritätsregel usw. aufweisen. Die Unfallhaftungsverfolgungsfunktion kann auch mit einer sicheren Navigation basierend auf RSS-Überlegungen gekoppelt werden (z. B., ob eine Aktion des Host-Fahrzeugs zu einer potenziellen Haftung für einen daraus resultierenden Unfall führen würde).
-
Zusätzlich zum Navigieren basierend auf Unfallhaftungsüberlegungen gemäß RSS kann die Navigation auch in Bezug auf Fahrzeugnavigationszustände und einer Bestimmung, ob ein bestimmter, zukünftiger Navigationszustand als sicher angesehen wird (z. B., ob eine DEP existiert, so dass Unfälle vermieden werden können oder ein daraus resultierender Unfall nicht als Schuld des Host-Fahrzeugs angesehen wird, wie oben im Detail beschrieben), betrachtet werden. Das Host-Fahrzeug kann gesteuert werden, um von einem sicheren Zustand zu einem sicheren Zustand zu navigieren. Beispielswiese kann die Fahrrichtlinie in einem bestimmten Zustand verwendet werden, um eine oder mehrere geplante Navigationsaktionen zu erzeugen, und diese Aktionen können getestet werden, indem bestimmt wird, ob die prognostizierten zukünftigen Zustände, die jeder geplanten Aktion entsprechen, eine DEP anbieten würden. Wenn dies der Fall ist, können die geplante Navigationsaktion, oder Aktionen, die die DEP bereitstellen, als sicher angesehen werden und für die Umsetzung in Frage kommen.
-
In einigen Ausführungsformen kann ein Navigationssystem für ein Host-Fahrzeug mindestens eine Verarbeitungsvorrichtung aufweisen, die programmiert ist zum: Empfangen von mindestens einem Bild, das eine Umgebung des Host-Fahrzeugs darstellt, von einer Bildaufnahmevorrichtung; Bestimmen, basierend auf mindestens einer Fahrrichtlinie, einer geplanten Navigationsaktion zum Erreichen eines Navigationsziels des Host-Fahrzeugs; Analysieren des mindestens einen Bildes, um ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs zu identifizieren; Testen der geplanten Navigationsaktion gegen mindestens eine Unfallhaftungsregel zum Bestimmen einer potenziellen Unfallhaftung für das Host-Fahrzeug bezüglich des identifizierten Zielfahrzeug; wenn der Test der geplanten Navigationsaktion gegen die mindestens eine Unfallhaftungsregel anzeigt, dass eine potenzielle Unfallhaftung für das Host-Fahrzeug bestehen kann, wenn die geplante Navigationsaktion durchgeführt wird, Veranlassen, dass das Host-Fahrzeug die geplante Navigationsaktion nicht implementiert; und wenn der Test der geplanten Navigationsaktion gegen die mindestens eine Unfallhaftungsregel anzeigt, dass sich für das Host-Fahrzeug keine Unfallhaftung ergeben würde, wenn die geplante Navigationsaktion durchgeführt wird, Veranlassen des Host-Fahrzeugs, die geplante Navigationsaktion zu implementieren.
-
In einigen Ausführungsformen kann ein Navigationssystem für ein Host-Fahrzeug mindestens eine Verarbeitungsvorrichtung aufweisen, die programmiert ist zum: Empfangen mindestens eines Bildes, das eine Umgebung des Host-Fahrzeugs darstellt, von einer Bildaufnahmevorrichtung; Bestimmen, basierend auf mindestens einer Fahrrichtlinie, einer Vielzahl potenzieller Navigationsaktionen für das Host-Fahrzeug; Analysieren des mindestens einen Bildes, um ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs zu identifizieren; Testen der Vielzahl möglicher Navigationsaktionen gegen mindestens eine Unfallhaftungsregel zum Bestimmen einer potenziellen Unfallhaftung für das Host-Fahrzeug bezüglich des identifizierten Zielfahrzeug; Auswählen einer der potenziellen Navigationsaktionen, für die der Test anzeigt, dass sich keine Unfallhaftung für das Host-Fahrzeug ergeben würde, wenn die ausgewählte potenzielle Navigationsaktion vorgenommen wird; und Veranlassen, dass das Host-Fahrzeug die ausgewählte potenzielle Navigationsaktion implementiert. In einigen Fällen kann die ausgewählte potenzielle Navigationsaktion aus einer Teilmenge der Vielzahl potenzieller Navigationsaktionen ausgewählt werden, für die der Test anzeigt, dass sich keine Unfallhaftung für das Host-Fahrzeug ergeben würde, wenn irgendeine der Teilmenge der Vielzahl potenzieller Navigationsaktionen getätigt worden wäre. Ferner kann in einigen Fällen die ausgewählte potenzielle Navigationsaktion gemäß einem Evaluierungsparameter ausgewählt werden.
-
In einigen Ausführungsformen kann ein System zum Navigieren eines Host-Fahrzeugs mindestens eine Verarbeitungsvorrichtung aufweisen, die dazu programmiert, von einer Bildaufnahmevorrichtung mindestens ein Bild zu empfangen, das eine Umgebung des Host-Fahrzeugs darstellt, und basierend auf mindestens einer Fahrrichtlinie eine geplante Navigationsaktion zum Erreichen eines Navigationsziels des Host-Fahrzeugs zu bestimmen. Der Prozessor kann auch das mindestens eine Bild analysieren, um ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs zu identifizieren; einen Nächstzustands-Abstand zwischen dem Host-Fahrzeug und dem Zielfahrzeug bestimmen, der sich ergeben würde, wenn die geplante Navigationsaktion durchgeführt würde; ein aktuelle maximale Bremsfähigkeit des Host-Fahrzeugs und eine aktuelle Geschwindigkeit des Host-Fahrzeugs bestimmen; eine aktuelle Geschwindigkeit des Zielfahrzeugs bestimmen, und eine maximale Bremsfähigkeit des Zielfahrzeugs basierend auf mindestens einer erkannten Eigenschaft des Zielfahrzeugs annehmen; und die geplante Navigationsaktion implementieren, wenn das Host-Fahrzeug in Anbetracht der maximalen Bremsfähigkeit des Host-Fahrzeugs und der aktuellen Geschwindigkeit des Host-Fahrzeugs innerhalb eines Bremswegs gestoppt werden kann, der kleiner ist als der bestimmte Nächstzustands-Abstand, summiert mit einer Fahrstrecke des Zielfahrzeugs, die basierend auf der aktuellen Geschwindigkeit des Zielfahrzeugs und der angenommenen maximalen Bremsfähigkeit des Zielfahrzeugs bestimmt wird. Der Anhalteweg kann ferner einen Abstand aufweisen, den das Host-Fahrzeug während einer Reaktionszeit ohne Bremsen zurücklegt.
-
Die erkannte Eigenschaft des Zielfahrzeugs, auf deren Basis die maximale Bremsfähigkeit des Zielfahrzeugs bestimmt wird, kann jede geeignete Eigenschaft aufweisen. In einigen Ausführungsformen kann die Eigenschaft einen Fahrzeugtyp (z. B. Motorrad, Auto, Bus, Lastwagen, denen jeweils unterschiedliche Bremsprofile zugeordnet sein können), eine Fahrzeuggröße, ein vorhergesagtes oder bekanntes Fahrzeuggewicht, ein Fahrzeugmodell (das z. B. verwendet werden kann, um eine bekannte Bremsfähigkeit nachzuschlagen), usw. aufweisen.
-
In einigen Fällen kann die Bestimmung des sicheren Zustands in Bezug auf mehr als ein Zielfahrzeug erfolgen. Beispielsweise kann in einigen Fällen eine Bestimmung des sicheren Zustands (basierend auf Abstand und Bremsfähigkeiten) darauf basieren, dass zwei oder mehr identifizierte Zielfahrzeuge vor einem Host-Fahrzeug fahren. Eine solche Bestimmung kann insbesondere dann nützlich sein, wenn keine Informationen darüber verfügbar sind, was sich vor dem vordersten Zielfahrzeug befindet. In solchen Fällen kann zum Zweck der Bestimmung eines sicheren Zustands, eines sicheren Abstands und/oder einer verfügbaren DEP davon ausgegangen werden, dass das vorderste erkennbare Fahrzeug eine bevorstehende Kollision mit einem unbeweglichen oder nahezu unbeweglichen Hindernis erleiden wird, so dass das nachfolgende Zielfahrzeug einen Stopp schneller erreichen kann, als es sein eigenes Bremsprofil zulässt (z. B. kann das zweite Zielfahrzeug mit einem vordersten Fahrzeug kollidieren und daher schneller als bei den erwarteten maximalen Bremsbedingungen einen Stopp erreichen). In solchen Fällen kann es wichtig sein, die Bestimmung des sicheren Zustands, des sicheren Folgeabstands und der DEP auf der Position des vordersten identifizierten Zielfahrzeugs bezüglich des Host-Fahrzeugs zu basieren.
-
In einigen Ausführungsformen kann ein solches Navigationssystem von einem sicheren Zustand zu einem sicheren Zustand mindestens eine Verarbeitungsvorrichtung aufweisen, die dafür programmiert ist, von einer Bildaufnahmevorrichtung mindestens ein Bild zu empfangen, das eine Umgebung des Host-Fahrzeugs darstellt. Hier können, wie bei anderen Ausführungsformen, die von einer Bildaufnahmevorrichtung (z. B. einer Kamera) aufgenommenen Bildinformationen durch Informationen ergänzt werden, die von einem oder mehreren anderen Sensoren, wie etwa einem LIDAR- oder RADAR-System, erhalten werden. In einigen Ausführungsformen können die zum Navigieren verwendeten Bildinformationen sogar von einem LIDAR- oder RADAR-System statt von einer optischen Kamera stammen. Der mindestens eine Prozessor kann basierend auf mindestens einer Fahrrichtlinie eine geplante Navigationsaktion zum Erreichen eines Navigationsziels des Host-Fahrzeugs bestimmen. Der Prozessor kann das mindestens eine Bild analysieren (das z. B. von einer Kamera, einem RADAR, einem LIDAR oder einer anderen Vorrichtung, von der ein Bild der Umgebung des Host-Fahrzeugs erhalten werden kann, unabhängig davon, ob optisch-basiert, Abstandskarten-basiert, usw.), um ein erstes Zielfahrzeug vor dem Host-Fahrzeug und ein zweites Zielfahrzeug vor dem ersten Zielfahrzeug zu identifizieren. Der Prozessor kann dann einen Nächstzustands-Abstand zwischen dem Host-Fahrzeug und dem zweiten Zielfahrzeug bestimmen, der sich ergeben würde, wenn die geplante Navigationsaktion durchgeführt würde. Als Nächstes kann der Prozessor eine aktuelle maximale Bremsfähigkeit des Host-Fahrzeugs und eine aktuelle Geschwindigkeit des Host-Fahrzeugs bestimmen. Der Prozessor kann die geplante Navigationsaktion implementieren, wenn das Host-Fahrzeug in Anbetracht der maximalen Bremsfähigkeit des Host-Fahrzeugs und der aktuellen Geschwindigkeit des Host-Fahrzeugs innerhalb eines Anhaltewegs gestoppt werden kann, der kleiner als der bestimmte Nächstzustands-Abstand zwischen dem Host-Fahrzeug und dem zweiten Zielfahrzeug ist.
-
Das heißt, wenn der Host-Fahrzeug-Prozessor bestimmt, dass genügend Abstand vorhanden ist, um in einem Nächstzustands-Abstand ohne Kollision zwischen dem vorausfahrenden sichtbaren Zielfahrzeug und dem Host-Fahrzeug zu stoppen, oder ohne Kollision, für die das Host-Fahrzeug verantwortlich wäre, und unter der Annahme, dass das vorausfahrende sichtbare Zielfahrzeug jederzeit plötzlich vollständig zum Stillstand kommt, dann kann der Prozessor des Host-Fahrzeugs die geplante Navigationsaktion durchführen. Wenn andererseits nicht ausreichend Platz vorhanden wäre, um das Host-Fahrzeug ohne Kollision zu stoppen, kann die geplante Navigationsaktion nicht durchgeführt werden.
-
Während der Nächstzustands-Abstand in einigen Ausführungsformen als Benchmark verwendet werden kann, kann zusätzlich in anderen Fällen ein anderer Abstandswert verwendet werden, um zu bestimmen, ob die geplante Navigationsaktion durchgeführt werden soll. In einigen Fällen, wie in dem oben beschriebenen, kann der tatsächliche Abstand, in den das Host-Fahrzeug möglicherweise stoppen muss, um eine Kollision zu vermeiden, kleiner sein als der vorhergesagte Nächstzustands-Abstand. Wenn beispielsweise dem vorausfahrenden, sichtbaren Zielfahrzeug eines oder mehrere andere Fahrzeuge folgen (z. B. das erste Zielfahrzeug in dem obigen Beispiel), wäre der tatsächlich vorhergesagte erforderliche Anhalteweg der vorhergesagte Nächstzustands-Abstand abzüglich der Länge des Zielfahrzeugs/der Zielfahrzeuge, die dem vorausfahrenden sichtbaren Zielfahrzeug folgen. Wenn das vorausfahrende sichtbare Zielfahrzeug sofort zum Stehen kommt, kann davon ausgegangen werden, dass die nachfolgenden Zielfahrzeuge mit dem vorausfahrenden sichtbaren Zielfahrzeug kollidieren würden, und daher ebenfalls von dem Host-Fahrzeug ausweichen müssten, um eine Kollision zu vermeiden. Somit kann der Host-Fahrzeug-Prozessor den Nächstzustands-Abstand abzüglich der summierten Längen aller dazwischenliegenden Zielfahrzeuge zwischen dem Host-Fahrzeug und dem vorausfahrenden, sichtbaren/erkannten Zielfahrzeug auswerten, um zu bestimmen, ob ausreichend Platz vorhanden wäre, um das Host-Fahrzeug bei maximaler Bremsung ohne Kollision zu stoppen.
-
In anderen Ausführungsformen kann der Benchmark-Abstand zum Evaluieren einer Kollision zwischen dem Host-Fahrzeug und einem oder mehreren vorausfahrenden Zielfahrzeugen größer sein als die vorhergesagte Nächstzustands-Abstand. Beispielsweise kann das vorausfahrende sichtbare/erkannte Zielfahrzeug in einigen Fällen zu einem schnellen, aber nicht sofortigen Stopp kommen, so dass das vorausfahrende sichtbare/erkannte Zielfahrzeug eine kurze Strecke nach der angenommenen Kollision fährt. Wenn dieses Fahrzeug beispielsweise auf ein geparktes Auto trifft, kann das kollidierende Fahrzeug noch eine gewisse Strecke zurücklegen, bevor es vollständig zum Stillstand kommt. Die nach der angenommenen Kollision zurückgelegte Strecke kann kleiner als ein angenommener oder ermittelter Mindestbremsweg für das relevante Zielfahrzeug sein. Somit kann der Prozessor des Host-Fahrzeugs in einigen Fällen bei seiner Evaluierung, ob er die geplante Navigationsaktion durchführen soll, den Nächstzustands-Abstand verlängern. Beispielsweise kann bei dieser Bestimmung der Nächstzustands-Abstand um 5 %, 10 %, 20 % usw. erhöht werden, oder kann mit einer vorbestimmten festen Abstand (10 m, 20 m, 50 m usw.) ergänzt werden, um einen angemessenen Abstand zu berücksichtigen, den das führende/sichtbare Zielfahrzeug nach einer angenommenen bevorstehenden Kollision zurücklegen kann.
-
Zusätzlich zum Verlängern des Nächstzustands-Abstands bei der Evaluierung um einen angenommenen Abstandswert kann der Nächstzustands-Abstand modifiziert werden, indem sowohl ein Abstand, der nach einer Kollision durch das vorausfahrende sichtbare/erkannte Zielfahrzeug zurückgelegt wurde, als auch die Längen aller Zielfahrzeuge, die dem vorausfahrenden sichtbaren/erkannten Zielfahrzeug folgen (von denen angenommen werden kann, dass sie sich mit dem vorausfahrenden sichtbaren/erkannten Fahrzeug nach dessen plötzlichem Stopp aufstauen), berücksichtigt werden.
-
Zusätzlich dazu, dass die Bestimmung darauf basiert wird, ob die geplante Navigationsaktion auf dem Nächstzustands-Abstand zwischen dem Host-Fahrzeug und dem führenden sichtbaren/erkannten Zielfahrzeug durchgeführt werden soll (wie durch Berücksichtigung der Nachkollisionsbewegung des führenden sichtbaren/erkannten Zielfahrzeugs und/oder der Längen von Fahrzeugen, die dem vorausfahrenden sichtbaren/erkannten Zielfahrzeug folgen, modifiziert), kann das Host-Fahrzeug bei seiner Bestimmung weiterhin die Bremsfähigkeit eines oder mehrerer vorausfahrender Fahrzeuge berücksichtigen. Beispielsweise kann der Host-Fahrzeug-Prozessor weiterhin einen Nächstzustands-Abstand zwischen dem Host-Fahrzeug und dem ersten Zielfahrzeug (z. B. einem Zielfahrzeug, das dem vorausfahrenden sichtbaren/erkannten Zielfahrzeug folgt) bestimmen, der sich ergeben würde, wenn die geplante Navigationsaktion durchgeführt würde; eine aktuelle Geschwindigkeit des ersten Zielfahrzeugs bestimmen, und eine maximale Bremsfähigkeit des ersten Zielfahrzeugs basierend auf mindestens einer erkannten Eigenschaft des ersten Zielfahrzeugs annehmen; und die geplante Navigationsaktion nicht implementieren, wenn in Anbetracht der maximalen Bremsfähigkeit des Host-Fahrzeugs und der aktuellen Geschwindigkeit des Host-Fahrzeugs das Host-Fahrzeug nicht innerhalb eines Anhaltewegs gestoppt werden kann, der kleiner als der bestimmte Nächstzustands-Abstand zwischen dem Host-Fahrzeug und dem ersten Zielfahrzeug ist, summiert mit einer Fahrstrecke des ersten Zielfahrzeugst, die basierend auf der aktuellen Geschwindigkeit des ersten Zielfahrzeugs und der angenommenen maximalen Bremsfähigkeit des ersten Zielfahrzeugs bestimmt wird. Hier kann, wie in den oben beschriebenen Beispielen, die erkannte Eigenschaft des ersten Zielfahrzeugs einen Fahrzeugtyp, eine Fahrzeuggröße, ein Fahrzeugmodell usw. aufweisen.
-
In einigen Fällen (z. B. durch Aktionen anderer Fahrzeuge) kann das Host-Fahrzeug bestimmen, dass eine Kollision unmittelbar bevorsteht und unvermeidbar ist. In solchen Fällen kann der Prozessor des Host-Fahrzeugs dazu ausgelegt sein, eine Navigationsaktion (falls verfügbar) auszuwählen, für die die resultierende Kollision zu keiner Haftung des Host-Fahrzeugs führen würde. Zusätzlich oder alternativ kann der Prozessor des Host-Fahrzeugs dazu ausgelegt sein, eine Navigationsaktion auszuwählen, die dem Host-Fahrzeug weniger potenziellen Schaden oder einem Zielobjekt weniger potenziellen Schaden zufügen würde als die aktuelle Trajektorie, oder bezüglich einer oder mehreren anderen Navigationsoptionen. Ferner kann der Host-Fahrzeug-Prozessor in einigen Fällen eine Navigationsaktion basierend auf Erwägungen des Objekttyps oder der Objekttypen auswählen, für die eine Kollision erwartet wird. Wenn beispielsweise eine Kollision mit einem geparkten Auto bei einer ersten Navigationsaktion oder mit einem unbeweglichen Objekt bei einer zweiten Navigationsaktion bevorsteht, wird die Aktion gewählt, die dem Host-Fahrzeug den geringeren potenziellen Schaden zufügt (z. B. die Aktion, die zu einer Kollision mit dem geparktes Auto führt). Wenn bei einer ersten Navigationsaktion eine Kollision mit einem Auto, das sich in einer ähnlichen Richtung wie das Host-Fahrzeug bewegt, oder, bei einer zweiten Navigationsaktion, mit einem geparkten Auto, bevorsteht, wird die Aktion, die zu dem geringeren potenziellen Schaden für das Host-Fahrzeug führt (z. B. die resultierende Aktion bei einer Kollision mit dem fahrenden Auto) gewählt. Wenn eine Kollision mit einem Fußgänger als Ergebnis einer ersten Navigationsaktion oder mit einem beliebigen anderen Objekt, bei einer zweiten Navigationsaktion, bevorsteht, kann die Aktion ausgewählt werden, die eine Alternative zur Kollision mit einem Fußgänger bietet.
-
In der Praxis kann das System zum Navigieren eines Host-Fahrzeugs mindestens eine Verarbeitungsvorrichtung aufweisen, die dazu programmiert ist, von einer Bildaufnahmevorrichtung mindestens ein Bild zu empfangen, das eine Umgebung des Host-Fahrzeugs darstellt (z. B. ein sichtbares Bild, LIDAR-Bild, RADAR-Bild, usw.); von mindestens einem Sensor einen Anzeige eines aktuellen Navigationszustands des Host-Fahrzeugs zu empfangen; und basierend auf einer Analyse des mindestens einen Bildes und basierend auf der Anzeige des aktuellen Navigationszustands des Host-Fahrzeugs zu bestimmen, dass eine Kollision zwischen dem Host-Fahrzeug und einem oder mehreren Objekten unvermeidbar ist. Der Prozessor kann verfügbare Alternativen evaluieren. Beispielsweise kann der Prozessor basierend auf mindestens einer Fahrrichtlinie eine erste geplante Navigationsaktion für das Host-Fahrzeug, die eine erwartete Kollision mit einem ersten Objekt aufweist, und eine zweite geplante Navigationsaktion für das Host-Fahrzeug, die eine erwartete Kollision mit einem zweiten Objekt aufweist, bestimmen. Die erste und die zweite geplante Navigationsaktionen können gegen mindestens eine Unfallhaftungsregel zur Bestimmung einer potenziellen Unfallhaftung getestet werden. Wenn der Test der ersten geplanten Navigationsaktion gegen die mindestens eine Unfallhaftungsregel ergibt, dass eine potenzielle Unfallhaftung für das Host-Fahrzeug bestehen kann, wenn die erste geplante Navigationsaktion durchgeführt wird, dann kann der Prozessor veranlassen, dass das Host-Fahrzeug die erste geplante Navigationsaktion nicht implementiert. Wenn der Test der zweiten geplanten Navigationsaktion gegen die mindestens eine Unfallhaftungsregel ergibt, dass sich keine Unfallhaftung für das Host-Fahrzeug ergeben würde, wenn die zweite geplante Navigationsaktion durchgeführt wird, dann kann der Prozessor das Host-Fahrzeug veranlassen, die zweite geplante Navigationsaktion auszuführen. Die Objekte können andere Fahrzeuge oder Nicht-Fahrzeug-Objekte (z. B. Straßenschutt, Bäume, Masten, Schilder, Fußgänger, usw.) aufweisen.
-
Die folgenden Figuren und die Diskussion stellen Beispiele für verschiedene Szenarien bereit, die beim Navigieren und Implementieren der offenbarten Systeme und Verfahren auftreten können. In diesen Beispielen kann ein Host-Fahrzeug vermeiden, eine Aktion zu tätigen, die zu einer dem Host-Fahrzeug zuzurechnenden Schuld für einen resultierenden Unfall führen würde, wenn die Aktion getätigt wird.
-
Die 28A und 28B veranschaulichen beispielhaft folgende Szenarien und Regeln. Wie in 28A gezeigt wird, stellt die Region um das Fahrzeug 2804 (z. B. ein Zielfahrzeug) einen Korridor mit minimalem Sicherheitsabstand für das Fahrzeug 2802 (z. B. ein Host-Fahrzeug) dar, das auf der Fahrspur in einem Abstand hinter dem Fahrzeug 2804 fährt. Gemäß einer Regel, die mit den offenbarten Ausführungsformen übereinstimmt, muss das Fahrzeug 2802 einen Mindestsicherheitsabstand einhalten, indem es in der das Fahrzeug 2802 umgebenden Region bleibt, um einen Unfall zu vermeiden, bei dem die Schuld dem Fahrzeug 2802 zuzurechnen ist. Wenn das Fahrzeug 2804 bremst, dann ist, wie in 28B gezeigt wird, das Fahrzeug 2802 schuld, wenn es einen Unfall gibt.
-
Die 29A und 29B veranschaulichen beispielhafte Schuldhaftigkeiten in Einscherszenarien. In diesen Szenarien bestimmen sichere Korridore um das Fahrzeug 2902 herum den Fehler bei Einschermanövern. Wie in 29A gezeigt wird, schert das Fahrzeug 2902 vor dem Fahrzeug 2902 ein, verletzt den Sicherheitsabstand (dargestellt durch die Region um das Fahrzeug 2902), und ist daher schuld. Wie in 29B, schert das Fahrzeug 2902 vor dem Fahrzeug 2902 ein, hält jedoch einen Sicherheitsabstand vor dem Fahrzeug 2904 ein.
-
Die 30A und 30B veranschaulichen beispielhafte Schuldhaftigkeiten in Einscherszenarien. In diesen Szenarien bestimmen sichere Korridore um das Fahrzeug 3004 herum, ob das Fahrzeug 3002 Schuld trägt. In 30A fährt das Fahrzeug 3002 hinter dem Fahrzeug 3006, und wechselt auf die Fahrspur, auf der das Zielfahrzeug 3004 fährt. In diesem Szenario verletzt das Fahrzeug 3002 einen Sicherheitsabstand und trägt daher im Falle eines Unfalls eine Schuld. In 30B schert das Fahrzeug 3002 hinter dem Fahrzeug 3004 ein, und hält einen Sicherheitsabstand ein.
-
Die 31A-31D veranschaulichen beispielhafte Schuldhaftigkeiten in Drift-Szenarien. In 31A beginnt das Szenario mit einem leichten Quermanöver des Fahrzeugs 3104, das in den breiten Korridor des Fahrzeugs 3102 einschert. In 31B schert das Fahrzeug 3104 weiter in den normalen Korridor des Fahrzeugs 3102 ein, wobei es eine Sicherheitsabstandsregion verletzt. Bei einem Unfall trägt das Fahrzeug 3104 die Schuld. In 31C behält das Fahrzeug 3104 seine Anfangsposition bei, während sich das Fahrzeug 3102 in Querrichtung bewegt und eine Verletzung eines normalen Sicherheitsabstandskorridors „erzwingt“. Bei einem Unfall trägt das Fahrzeug 3102 die Schuld. In 31B bewegen sich die Fahrzeuge 3102 und 3104 in Querrichtung aufeinander zu. Kommt es zu einem Unfall, teilen sich beide Fahrzeuge die Schuld.
-
Die 32A und 32B veranschaulichen beispielhafte Schuldhaftigkeiten in Szenarien mit Verkehr in zwei Richtungen. In 32A überholt das Fahrzeug 3202 das Fahrzeug 3206, und das Fahrzeug 3202 hat ein Einschermanöver durchgeführt, wobei ein sicherer Abstand zu dem Fahrzeug 3204 beibehalten wurde. Wenn es zu einem Unfall kommt, ist das Fahrzeug 3204 dafür verantwortlich, dass es nicht mit vernünftiger Kraft gebremst hat. In 32B schert das Fahrzeug 3202 ein, ohne den Sicherheitsabstand zu dem Fahrzeug 3204 in Längsrichtung einzuhalten. Im Falle eines Unfalls trägt das Fahrzeug 3202 die Schuld.
-
Die 33A und 33B veranschaulichen beispielhafte Schuldhaftigkeiten in Szenarien mit Verkehr in zwei Richtungen. In 33A driftet das Fahrzeug 3302 in den Weg des entgegenkommenden Fahrzeugs 3204, wobei es einen Sicherheitsabstand einhält. Bei einem Unfall trägt das Fahrzeug 3204 Schuld, weil es nicht mit vernünftiger Kraft gebremst hat. In 33B driftet das Fahrzeug 3202 in den Weg des entgegenkommenden Fahrzeugs 3204 und verletzt dabei einen Sicherheitsabstand in Längsrichtung. Bei einem Unfall trägt das Fahrzeug 3204 die Schuld.
-
Die 34A und 34B veranschaulichen beispielhafte Schuldhaftigkeiten in Routenprioritätsszenarien. In 34A überfährt das Fahrzeug 3202 ein Stoppschild. Dem Fahrzeug 3202 wird die Schuld zugerechnet, dass es die dem Fahrzeug 3204 von der Ampel zugewiesene Priorität nicht respektiert hat. In 34B befand sich das Fahrzeug 3202, obwohl es keine Priorität hatte, bereits in der Kreuzung, als die Ampel des Fahrzeugs 3204 auf Grün schaltete. Wenn das Fahrzeug 3204 an das 3202 stößt, wäre das Fahrzeug 3204 schuld.
-
Die 35A und 35B veranschaulichen beispielhafte Schuldhaftigkeiten in Routenprioritätsszenarien. Wie in 35A gezeigt wird, fährt das Fahrzeug 3502 rückwärts in den Pfad eines entgegenkommenden Fahrzeugs 3504 ein. Das Fahrzeug 3502 führt ein Einschermanöver durch, wobei ein sicherer Abstand beibehalten wird. Bei einem Unfall trägt das Fahrzeug 3504 die Schuld, weil es nicht mit vernünftiger Kraft gebremst hat. In 35B schert das Fahrzeug 3502 ein, ohne einen Sicherheitsabstand in Längsrichtung einzuhalten. Bei einem Unfall trägt das Fahrzeug 3502 die Schuld.
-
Die 36A und 36B veranschaulichen beispielhafte Schuldhaftigkeiten in Routenprioritätsszenarien. In 36A fahren das Fahrzeug 3602 und das Fahrzeug 3604 in die gleiche Richtung, während das Fahrzeug 3602 nach links über den Pfad des Fahrzeugs 3604 abbiegt. Das Fahrzeug 3602 führt ein Einschermanöver durch, wobei ein sicherer Abstand beibehalten wird. Bei einem Unfall trägt das Fahrzeug 3604 die Schuld, weil es nicht mit vernünftiger Kraft gebremst hat. In 36B schert das 3602 ein, ohne einen Sicherheitsabstand in Längsrichtung einzuhalten. Bei einem Unfall trägt das Fahrzeug 3602 die Schuld.
-
Die 37A und 37B veranschaulichen beispielhafte Schuldhaftigkeiten in Routenprioritätsszenarien. In 37A will das Fahrzeug 3702 nach links abbiegen, muss aber dem entgegenkommenden Fahrzeug 3704 ausweichen. Das Fahrzeug 3702 biegt nach links ab und verletzt den Sicherheitsabstand in Bezug auf das Fahrzeug 3704. Die Schuld liegt bei dem Fahrzeug 3702. In 37B biegt das Fahrzeug 3702 nach links ab und hält einen Sicherheitsabstand zu dem Fahrzeug 3704 ein. Im Falle eines Unfalls trägt das Fahrzeug 3704 die Schuld, da es nicht mit vernünftiger Kraft gebremst hat.
-
Die 38A und 38B veranschaulichen beispielhafte Schuldhaftigkeiten in Routenprioritätsszenarien. In 38A fahren das Fahrzeug 3802 und das Fahrzeug 3804 geradeaus, und das Fahrzeug 3802 hat ein Stoppschild. Das Fahrzeug 3802 fährt in die Kreuzung ein und verletzt einen Sicherheitsabstand in Bezug auf das Fahrzeug 3804. Die Schuld liegt bei dem Fahrzeug 3802. In 38B fährt das Fahrzeug 3802 in die Kreuzung ein, während es einen Sicherheitsabstand in Bezug auf das Fahrzeug 3804 einhält. Im Falle eines Unfalls trägt das Fahrzeug 3804 die Schuld, da es nicht mit vernünftiger Kraft gebremst hat.
-
Die 39A und 39B veranschaulichen beispielhafte Schuldhaftigkeiten in Routenprioritätsszenarien. In 39A will das Fahrzeug 3902 nach links abbiegen, muss aber dem von rechts kommenden Fahrzeug 3904 ausweichen. Das Fahrzeug 3902 fährt in die Kreuzung ein und verletzt die Vorfahrt und einen Sicherheitsabstand in Bezug auf das Fahrzeug 3904. Die Schuld liegt bei dem Fahrzeug 3902. In 39B fährt das Fahrzeug 3902 in die Kreuzung ein, während es die Vorfahrt und einen Sicherheitsabstand in Bezug auf das Fahrzeug 3904 beibehält. Im Falle eines Unfalls trägt das Fahrzeug 3904 die Schuld, da es nicht mit vernünftiger Kraft gebremst hat.
-
Die 40A und 40B veranschaulichen beispielhafte Schuldhaftigkeiten in Ampel-Szenarien. In 40A fährt das Fahrzeug 4002 an einer roten Ampel vorbei. Dem Fahrzeug 4002 wird die Schuld zugerechnet, dass es die dem Fahrzeug 4004 von der Ampel zugewiesene Priorität nicht respektiert. In 40B befand sich das Fahrzeug 4002, obwohl es keine Priorität hatte, bereits in der Kreuzung, als die Ampel für das Fahrzeug 4004 auf Grün schaltete. Wenn das Fahrzeug 4004 an Fahrzeug 4002 stößt, wäre Fahrzeug 4004 schuld.
-
Die 41A und 41B veranschaulichen beispielhafte Schuldhaftigkeiten in Ampel-Szenarien. Das Fahrzeug 4102 biegt nach links über den Pfad des entgegenkommenden Fahrzeugs 4104 ab. Das Fahrzeug 4104 hat Vorfahrt. In 41 biegt das Fahrzeug 4102 nach links ab und verletzt einen Sicherheitsabstand in Bezug auf das Fahrzeug 4104. Die Schuld wird dem Fahrzeug 4102 zugerechnet. In 41B biegt das Fahrzeug 4102 nach links ab, wobei es einen Sicherheitsabstand zu dem Fahrzeug 4104 einhält. Im Falle eines Unfalls trägt das Fahrzeug 4104 die Schuld, da es nicht mit vernünftiger Kraft gebremst hat.
-
Die 42A und 42B veranschaulichen beispielhafte Schuldhaftigkeiten in Ampel-Szenarien. In 42A biegt das Fahrzeug 4202 nach rechts ab und schert in den Pfad des geradeaus fahrenden Fahrzeugs 4204 ein. Rechtsabbiegen bei einer roten Ampel wird als legales Manöver angenommen, aber Fahrzeug 4204 hat Vorfahrt, da das Fahrzeug 4202 einen Sicherheitsabstand in Bezug auf das Fahrzeug 4204 verletzt. Die Schuld wird dem Fahrzeug 4202 zugerechnet. In 42B biegt das Fahrzeug 4202 nach rechts ab und hält dabei einen Sicherheitsabstand zu dem Fahrzeug 4204 ein. Im Falle eines Unfalls trägt das Fahrzeug 4204 die Schuld, das es nicht mit vernünftiger Kraft gebremst hat.
-
Die 43A-43C veranschaulichen beispielhafte Szenarien für ungeschützte Verkehrsteilnehmer (VRUs). Unfälle mit Tieren oder VRUs, bei denen das Fahrzeug ein Manöver durchführt, werden als Variante eines Einscherens behandelt, wobei die Schuld standardmäßig bei dem Auto liegt, mit einigen Ausnahmen. In 43A schert das Fahrzeug 4302 in den Weg eines Tieres (oder eines VRU) ein, während es einen Sicherheitsabstand einhält und gewährleistet, dass ein Unfall vermieden werden kann. In 43B schert das Fahrzeug 4302 in den Pfad eines Tieres (oder eines VRU) ein, der den Sicherheitsabstand verletzt. Die Schuld wird dem Fahrzeug 4302 zugerechnet. In 43C bemerkt das Fahrzeug 4302 das Tier und hält an, wodurch dem Tier ausreichend Zeit zum Stoppen gegeben wird. Wenn das Tier das Auto trifft, ist das Tier schuld.
-
Die 44A-44C veranschaulichen beispielhafte Szenarien für ungeschützte Verkehrsteilnehmer (VRUs). In Fig. 44A biegt das Fahrzeug 4402 an einer Kreuzung mit Ampeln nach links ab und begegnet einem Fußgänger auf dem Zebrastreifen. Das Fahrzeug 4402 hat eine rote Ampel, und der VRU hat eine grüne Ampel. Das Fahrzeug 4402 trägt die Schuld. In 44B hat das Fahrzeug 4402 eine grüne Ampel, und der VRU hat eine rote Ampel. Wenn der VRU den Zebrastreifen betritt, ist der VRU schuld. In 44C hat das Fahrzeug 4402 eine grüne Ampel und der VRU hat eine rote Ampel. Wenn sich der VRU bereits auf dem Zebrastreifen befand, trägt das Fahrzeug 4402 die Schuld.
-
Die 45A-45C veranschaulichen beispielhafte Szenarien für ungeschützte Verkehrsteilnehmer (VRUs). In 45A biegt das Fahrzeug 4402 nach rechts ab und trifft auf einen Radfahrer. Der Radfahrer hat eine grüne Ampel. Das Fahrzeug 4502 trägt die Schuld. In 45B hat der Radfahrer eine rote Ampel. Wenn der Radfahrer in die Kreuzung einfährt, ist der Radfahrer schuld. In 45C hat der Radfahrer eine rote Ampel, war aber schon in der Kreuzung. Das Fahrzeug 4502 trägt die Schuld.
-
Die 46A-46D veranschaulichen beispielhafte Szenarien für ungeschützte Verkehrsteilnehmer (VRUs). Bei Unfällen mit VRUs, bei denen ein Fahrzeug kein Manöver durchführt, wird die Schuld standardmäßig dem Auto angelastet, mit einigen Ausnahmen. In 46A muss das Fahrzeug 4602 immer darauf achten, einen Sicherheitsabstand einzuhalten und sicherzustellen, dass ein Unfall mit einem VRU vermieden werden kann. In 46B trägt das Fahrzeug 4602 die Schuld, wenn das Fahrzeug 4602 keinen Sicherheitsabstand einhält. In 46C trägt das Fahrzeug 4602 die Schuld, wenn das Fahrzeug 4602 keine ausreichend niedrige Geschwindigkeit einhält, um eine Kollision mit einem VRU zu vermeiden, der möglicherweise durch das Fahrzeug 5604 verdeckt ist, oder die gesetzliche Begrenzung überschreitet. In 46D, in einem anderen Szenario mit einer potenziellen Verdeckung eines VRU durch das Fahrzeug 4604, trägt der VRU die Schuld, wenn das Fahrzeug 4602 eine ausreichend niedrige Geschwindigkeit beibehält, aber die Geschwindigkeit des VRUs über einem vernünftigen Schwellenwert liegt.
-
Wie hierin offenbart, definiert RSS einen Rahmen für Szenarien mit mehreren Agierenden. Unfälle mit statischen Gegenständen, Verlassen der Fahrbahn, Kontrollverlust oder Fahrzeugausfall werden dem Host angelastet. RSS definiert vorsichtige Manöver, die keine Unfälle mit anderen Objekten zulassen, es sei denn, andere Objekte manövrieren gefährlich in den Pfad des Hosts (in diesem Fall tragen sie die Schuld). In dem Falle einer sicheren Kollision, bei der das Ziel die Schuld trägt, wird der Host seine Bremsen betätigen. Das System kann ein Ausweichlenken nur in Betracht ziehen, wenn das Manöver „vorsichtig“ ist (angenommen wird, dass es keinen weiteren Unfall verursacht).
-
Nichtkollisionsvorfälle weisen Unfälle auf, die durch Fahrzeugbrände, Schlaglöcher, herabfallende Gegenstände usw. ausgelöst wurden. In diesen Fällen kann die Schuld standartmäßig dem Host zugewiesen werden, abgesehen von Szenarien, die der Host vermeiden kann, wie z. B. Schlaglöcher und herabfallende Objekte, die als „statisches Objekt“-Szenario eingestuft werden können, vorausgesetzt, sie sind aus einem sicherem Abstand sichtbar oder es ist ein vorsichtiges Ausweichmanöver vorhanden. In Szenarien mit mehreren Agierenden, in denen das Host-Fahrzeug stationär war, trägt der Host keine Schuld. In diesem Fall führte das Ziel im Wesentlichen ein nicht sicheres Einscheren durch. Wenn beispielsweise ein Radfahrer auf ein stehendes Auto auffährt, trifft den Host keine Schuld.
-
RSS weist auch Richtlinien zur Schuldhaftigkeit dafür auf, wenn die Straße nicht klar strukturiert ist, wie z. B. Parkplätze oder breite Kreisverkehre ohne Spurmarkierungen. In diesen Szenarien mit unstrukturierten Straßen wird die Schuld zugewiesen, indem die Abweichungen jedes Fahrzeugs von seinem Pfad untersucht werden, um zu bestimmen, ob sie einen ausreichenden Abstand zulassen, damit sich andere Objekte in der Umgebung anpassen können.
-
Modell für sichere und skalierbare selbstfahrende Fahrzeuge
-
Wie zuvor diskutiert, kann ein Modell namens „verantwortungsbewusste Sicherheit“ (RSS) den Begriff „Unfallschuld“ formalisieren. RSS kann interpretierbar und erklärbar sein, und kann einen Sinn für die „Verantwortung“ in die Aktionen eines robotischen Agierenden einbeziehen.
-
In einigen Ausführungsformen wird RSS konstruiert, indem die folgenden vier Regeln formalisiert werden: (1) halte einen Sicherheitsabstand zu dem vorausfahrenden Auto ein, so dass du rechtzeitig stoppen kannst, wenn das vorausfahrende Auto abrupt bremst; (2) halte auf beiden Seiten einen Sicherheitsabstand zu Fahrzeugen ein, und lasse bei Quermanövern und beim Einscheren in die Fahrspur eines anderen Fahrzeugs dem anderen Fahrzeug ausreichend Platz zum Reagieren; (3) respektiere „Vorfahrtsregeln“, wenn „Vorfahrt“ gegeben, aber nicht genommen wird; und (4) sei vorsichtig bei verdeckten Bereichen, beispielsweise einem Bereich hinter einem geparkten Auto.
-
Die folgende Diskussion präsentiert eine Formalisierung der obigen Regeln. In einigen Aspekten sollte das formale Modell Solidität geben, z. B., wenn das Modell besagt, dass das selbstfahrende Auto nicht für einen Unfall verantwortlich ist, sollte das Modell dem „gesunden Menschenverstand“ des menschlichen Urteils entsprechen, und Nützlichkeit, z. B. eine Richtlinie, die gewährleistet, dass es nie zu Unfällen kommt und trotzdem der normale Verkehrsfluss beibehalten wird. In einigen Ausführungsformen weist das Modell dem selbstfahrenden Auto in unscharfen Szenarien die Verantwortung zu, was möglicherweise zu zusätzlicher Vorsicht führt, solange das Modell noch nützlich ist.
-
Das individuelle Erfüllen jeder dieser Anforderungen, Solidität und Eindeutigkeit, ist trivial - ein Modell, das dem selbstfahrenden Auto immer Verantwortung zuweist, ist solide, aber nicht nützlich, während ein Modell, das dem selbstfahrenden Auto niemals Verantwortung zuweist, nützlich ist, aber nicht solide. Ausführungsformen des RSS-Modells erfüllen sowohl Solidität als auch Nützlichkeit.
-
Sicherheitsabstand
-
Das erste grundlegende Konzept, das in der Diskussion von RSS formalisiert wird, ist, dass das nachfahrende Auto immer die Schuld trägt, wenn das nachfahrende Auto an ein vorausfahrendes Auto stößt. Beispielsweise können zwei Autos cf, cr mit gleicher Geschwindigkeit hintereinander auf einer geraden Straße fahren, ohne Quermanöver durchzuführen. Angenommen, cf, das Auto vorne, bremst plötzlich wegen eines auf der Straße erscheinenden Hindernisses und schafft es, diesem auszuweichen. Leider hat cr zu wenig Abstand zu cf eingehalten, kann nicht rechtzeitig reagieren, und prallt gegen den hinteren Teil von cf. In diesem Beispiel liegt die Schuld bei cr; es liegt in der Verantwortung des hinteren Autos, einen sicheren Abstand zu dem vorderen Auto einzuhalten und auf unerwartetes, aber vernünftiges Bremsen vorbereitet zu sein.
-
Die folgende Definition formalisiert das Konzept eines „Sicherheitsabstands“.
-
Definition 27 (sicherer Längsabstand - gleiche Richtung): Ein Längsabstand zwischen einem Auto cr, das hinter einem anderen Auto cf fährt, wobei beide Autos in die gleiche Richtung fahren, ist bezüglich einer Reaktionszeit p sicher, wenn, für jede von cf durchgeführte Bremsung von höchstens amax, brake, wobei cr mit höchstens amax, accel beschleunigt während der Reaktionszeit, und dann mit mindestens amin, brake bremst, bis zum vollständigen Stillstand, es dann nicht mit cf kollidiert.
-
In einigen Ausführungsformen hängt der Sicherheitsabstand in Längsrichtung von Parametern ab: ρ, amax, accel, amax, brake, amin, brake. Diese Parameter können beispielsweise durch Regelung bestimmt werden. In einigen Ausführungsformen werden die Parameter für ein robotisches Auto und ein von Menschen bedientes Auto unterschiedlich eingestellt. Beispielsweise kann die Reaktionszeit eines robotischen Autos kleiner sein als die eines menschlichen Fahrers, und ein robotisches Auto kann effektiver bremsen als ein typischer menschlicher Fahrer, daher kann amin, brake ein größerer Wert für ein robotisches Auto sein als für ein von Menschen bedientes Auto. In anderen Ausführungsformen können die Parameter unterschiedlich eingestellt werden für unterschiedliche Straßenbedingungen (nasse Straße, Eis, Schnee), was beispielsweise durch Analyse von Bildern erfasst werden kann, die von einer oder mehreren Bordkameras erfasst werden, oder basierend auf Ausgaben von beliebigen anderen geeigneten Sensoren (z. B. Windschutzscheibensensoren, Radschlupfsensoren etc.).
-
Lemma 11 unten berechnet den Sicherheitsabstand als Funktion der Geschwindigkeiten von cr, cf und den Parametern in Definition 27.
-
Lemma 11: Sei c
r ein Fahrzeug, das sich auf der Längsachse hinter c
f befindet. Seien ρ, a
max, brake, a
max, accel, a
min, brake wie in Definition 27. Seien v
r, v
f die Längsgeschwindigkeiten der Autos. Dann ist der minimale Sicherheitsabstand in Längsrichtung zwischen dem vordersten Punkt von c
r und dem hintersten Punkt von c
f:
-
Beweis: Bezeichne d
0 den anfänglichen Abstand zwischen c
r und c
f. Bezeichne v
ρ,max = v
r + ρa
max, accel. Die Geschwindigkeit des vorderen Autos nimmt mit t mit einer Rate a
max, brake ab (bis zum Erreichen von Null oder bis zu einer Kollision), während die Geschwindigkeit des hinteren Autos im Zeitintervall [0, p] zunimmt (bis zum Erreichen von v
ρ,max) und sich dann mit einer Rate a
min, brake< a
max, brake auf null verringert (z. B. ein Vollstopp oder eine Kollision). Daraus folgt, dass, wenn die beiden Autos zu einem bestimmten Zeitpunkt die gleiche Geschwindigkeit haben, die Geschwindigkeit des vorderen Autos von da an kleiner wird, und der Abstand zwischen ihnen monoton abnimmt, bis beide Autos einen vollständigen Stillstand erreichen (wobei der „Abstand“ negativ sein kann, wenn es zu einer Kollision kommt). Somit kann der ungünstigste Abstand entweder zum Zeitpunkt null, oder wenn die beiden Autos einen vollständigen Stillstand erreichen, auftreten. Im ersteren Fall ist d
0 > 0. Im letzteren Fall können die Abstände, die das vordere und das hintere Auto bis zum vollständigen Stillstand durchlaufen,
bzw.
sein. An diesem Punkt (wenn beide Autos einen vollständigen Stillstand erreichen) sollte der Abstand zwischen ihnen größer als Null sein,
-
Umordnen der Terme ergibt Lemma 11, oder den minimalen Sicherheitsabstand.
-
Die vorstehende Definition eines Sicherheitsabstands kann für den Fall sinnvoll sein, dass sowohl das hintere als auch das vordere Auto in die gleiche Richtung fahren. Tatsächlich liegt es in diesem Fall in der Verantwortung des hinteren Autos, einen sicheren Abstand zu dem vorderen Auto einzuhalten und auf unerwartetes, aber vernünftiges Bremsen vorbereitet zu sein. Aber auch für das Szenario, in dem die beiden Autos in entgegengesetzten Richtungen fahren, bedarf es einer Definition.
-
Betrachte beispielsweise ein Auto cr, das sich gegenwärtig in einem sicheren Abstand zu einem vorausfahrenden Auto, cf, befindet, das gestoppt hat. Plötzlich kann cf rückwärts in eine Parklücke einparken und mit cr von hinten kollidieren. Obwohl cr cf von hinten getroffen hat, liegt hier die Verantwortung nicht bei dem hinteren Auto cr. Um diese Regel zu formalisieren, werden die Definitionen von „hinten und vorne“ so definiert, dass sie nicht für Szenarien gelten, in denen sich Fahrzeuge aufeinander zu bewegen (nämlich, wenn die Vorzeichen ihrer Längsgeschwindigkeiten entgegengesetzt sind). In solchen Fällen ist zu erwarten, dass beide Autos den Absolutwert ihrer Geschwindigkeiten verringern, um einen Unfall zu vermeiden.
-
Somit kann der Sicherheitsabstand zwischen Autos, die in entgegengesetzten Richtungen fahren, als der Abstand definiert werden, der erforderlich ist, damit es zu keinem Zusammenstoß kommt, wenn beide Autos (nach einer gegebenen Reaktionszeit) bremsen. Es kann jedoch davon ausgegangen werden, dass das entgegen der Fahrspurrichtung fahrende Auto stärker bremsen sollte als das in die richtige Richtung fahrende. Dies führt zu folgender Definition.
-
Definition 28 (sicherer Längsabstand - entgegengesetzte Richtungen: Betrachte Autos c1, c2, die auf einer Fahrspur mit Längsgeschwindigkeiten v1, v2 fahren, wobei v2 < 0 und v1 ≥ 0 sind (das Vorzeichen der Längsgeschwindigkeit entspricht der auf der Fahrspur erlaubten Fahrtrichtung). Der Längsabstand zwischen den Fahrzeugen ist sicher in Bezug auf eine Reaktionszeit p, Bremsparametern amin, brake, amin, brake, correct und einen Beschleunigungsparameter amax, accel, wenn, falls c1, c2 während der Reaktionszeit den Absolutwert ihrer Geschwindigkeiten mit der Rate amax, accel erhöhen und von da an den Absolutwert ihrer Geschwindigkeiten mit der Rate amin, brake, correct, bzw. amin, brake bis zum Stillstand verringern, es dann nicht zu einer Kollision kommt.
-
Eine Berechnung des Sicherheitsabstands für den Fall entgegengesetzter Richtungen kann im Lemma unten angegeben werden (dessen Beweis einfach ist und daher weggelassen wird).
-
Lemma 12: Betrachte die in Definition 28 verwendeten Bezeichnungen. Definiere v
1,ρ = v
1 + ρa
max, accel und v
2,ρ = |v
2| + ρa
max, accel. Dann ist der minimale Sicherheitsabstand in Längsrichtung zwischen c
1 und c
2:
-
Vor einer Kollision zwischen zwei Autos müssen sich die Autos zuerst in einem nicht sicheren Abstand befinden. Intuitiv ist die Idee der Sicherheitsabstandsdefinitionen, dass es keine Kollision geben kann, wenn beide Autos „richtig“ auf Verletzungen des Sicherheitsabstands reagieren. Wenn eines von ihnen nicht „richtig“ reagiert, ist diese Autos für den Unfall verantwortlich. Um dies zu formalisieren, ist es zunächst wichtig, den Moment zu definieren, kurz bevor sich die Autos in einem unsicheren Abstand befinden.
-
Definition 29 (gefährliche Längslage und Schuldhaftigkeit): Die Zeit t sei gefährlich für Autos c1, c2, wenn der Abstand zwischen ihnen zur Zeit t nicht sicher ist (gemäß Definition 27 oder Definition 28). Bei einer gegebenen gefährlichen Zeit t, ist ihre Schuldzeit, bezeichnet mit tb, die früheste ungefährliche Zeit, so dass alle Zeiten in dem Intervall (tb, t] gefährlich sind. Beispielsweise kann ein Unfall nur zu dem Zeitpunkt t passieren, wenn dieser gefährlich ist, und somit ist die Schuldzeit des Unfalls die Schuldzeit von t.
-
Definition 30 (richtige Reaktion auf gefährliche Längssituationen): Sei, wie oben, t eine gefährliche Zeit für die Autos c1, c2, und sei tb die entsprechende Schuldzeit. Angenommen, die beiden Autos erfüllen die folgenden Beschränkungen für die Längsgeschwindigkeit:
- 1. Erstens, wenn beispielsweise zur Schuldzeit die beiden Autos in die gleiche Richtung fuhren, und sei c1 das hintere Auto, dann gilt
- • die Beschleunigung von c1 darf höchstens amax, accel betragen während des Intervalls [tb, tb + ρ) und höchstens -amin, brake von dem Zeitpunkt tb + ρ bis zum Erreichen eines vollständigen Stillstands, danach ist jede nicht-positive Beschleunigung erlaubt. Mit anderen Worten, das folgende Auto darf während der Reaktionszeitdauer mit einer Rate bis zu seiner maximalen Beschleunigungsfähigkeit (z. B. Vollgasniveau) beschleunigen, muss dann aber mit einer Rate verlangsamen, die einer Bremsrate zwischen einer ausgewählten minimalen Bremsrate für das Auto und der maximalen Bremsrate des Autos zugeordnet ist. Die ausgewählte minimale Bremsrate kann regelungsabhängig sein, oder basierend auf beliebigen anderen geeigneten Kriterien ausgewählt werden.
- • die Beschleunigung von c2 muss mindestens -amax, brake betragen, bis ein vollständiger Stillstand erreicht wird, danach ist jede nicht-negative Beschleunigung erlaubt. Das heißt, das vorausfahrende Auto darf mit einer Rate bis zu einer Verzögerungsrate verlangsamen, die der maximalen Bremsfähigkeit des vorausfahrenden Autos zugeordnet ist.
- 2. Zweitens, wenn die beiden Autos zur Schuldzeit in entgegengesetzten Richtungen fuhren und c2 beispielsweise in die falsche Richtung fuhr (z. B. hat c2 eine negative Geschwindigkeit), dann gilt:
- • die Beschleunigung von c1 darf höchstens amax, accel betragen während des Intervalls [tb, tb + ρ) und höchstens -amin, brake, correct von dem Zeitpunkt tb + ρ bis zum Erreichen eines vollständigen Stillstands, danach ist jede nicht-positive Beschleunigung erlaubt. Das Auto c1 kann während der Reaktionszeit mit einer maximalen Beschleunigungsfähigkeit auf das Auto c2 zu beschleunigen, muss dann aber mit einer Rate verlangsamen, die einer Bremsrate zwischen einer ausgewählten minimalen Bremsrate für das Auto und der maximalen Bremsrate des Autos zugeordnet ist. Die ausgewählte minimale Bremsrate kann regelungsabhängig sein, oder basierend auf beliebigen anderen geeigneten Kriterien ausgewählt werden.
- • die Beschleunigung von c2 muss mindestens [-amax, accel betragen während des Intervalls [tb, tb + ρ) und höchstens amin, brake von dem Zeitpunkt tb + ρ bis zum Erreichen eines vollständigen Stillstands, danach ist jede nicht-negative Beschleunigung erlaubt. Mit anderen Worten, das Auto c2 kann während der Reaktionszeit des Autos c2 mit einer Rate bis zu einer maximalen Beschleunigungsrate für das Auto c2 in Richtung zu dem Auto c1 beschleunigen. Danach muss das Auto c2 mit einer Geschwindigkeit verzögern, die einer Bremsrate zwischen einer ausgewählten minimalen Bremsrate für das Auto und der maximalen Bremsrate des Autos zugeordnet ist. Die ausgewählte minimale Bremsrate kann regelungsabhängig sein, oder basierend auf beliebigen anderen geeigneten Kriterien ausgewählt werden. Außerdem kann die ausgewählte minimale Bremsrate des Autos c2 unterschiedlich sein zu der ausgewählten minimale Bremsrate des Autos c1 (z. B. kann die minimale Bremsrate, die von dem in die falsche Richtung fahrenden Auto aufgebracht werden muss, höher sein als die erforderliche minimale Bremsrate des Autos, das in die richtige Richtung fährt).
-
Angenommen, dass, wie zuvor erwähnt, Kollisionen nur zu gefährlichen Zeiten auftreten können. Wenn also, sobald der Abstand zwischen Autos unsicher wird, beide ihre „richtige Reaktion auf gefährliche Situationen“ ab der entsprechenden Schuldzeit anwenden (bis der Abstand zwischen ihnen wieder sicher wird), dann kann es nicht zu einer Kollision kommen. Daher kann die Verantwortung für Unfälle dem/den Agierenden zugewiesen werden, der/die nicht richtig auf die gefährliche Situation vor der Kollision reagiert hat/haben. In einigen Ausführungsformen kann die nachstehende Definition für Szenarien gelten, in denen keine Quermanöver durchgeführt werden (d. h., jedes Auto behält seine Querposition auf der Spur bei).
-
Im nächsten Abschnitt kann die Definition auf den Fall erweitert werden, in dem Autos Quermanöver durchführen können.
-
Definition 31 (Verantwortung für einen Unfall - keine Quermanöver): Betrachte einen Unfall zwischen c1 und c2 zum Zeitpunkt t, und sei tb die entsprechende Schuldzeit. Das Auto c1 ist für den Unfall verantwortlich, wenn es irgendwann in dem Intervall (tb, t] die Bedingungen nicht befolgt hat, die durch das „richtige Verhalten in gefährlichen Situationen“ definiert sind (Definition 30).
-
Außerdem kann es möglich sein, dass sowohl c1 als auch c2 die Verantwortung für einen Unfall teilen (z. B., wenn beide die richtigen Reaktionsbeschränkungen nicht eingehalten haben).
-
Verantwortung bei Quermanövern
-
In einigen Ausführungsformen kann das RSS-Modell die Verantwortlichkeit formell definieren, wenn Autos Quermanöver durchführen. Ein erstes Beispiel geht von einer geraden Straße auf einer ebenen Fläche aus, wobei die Quer- und Längsachsen die x- bzw. y-Achse sind. Beispielsweise, wie oben unter Bezugnahme auf das spurbasierte Koordinatensystem diskutiert. In einigen Ausführungsformen können die Längs- und Quergeschwindigkeiten die Ableitungen der Längs- und Querpositionen auf der geraden virtuellen Straße sein, die durch eine Bijektion zwischen der tatsächlichen gekrümmten Straße und einer geraden Straße erhalten werden. Ebenso können Beschleunigungen zweite Ableitungen von Positionen sein.
-
Anders als die Längsgeschwindigkeit, die für lange Zeiträume auf einem Wert von 0 gehalten werden kann (z. B,. wenn sich das Auto nicht bewegt), kann es schwierig sein, die Quergeschwindigkeit genau auf 0 zu halten, da Autos normalerweise kleine seitliche Schwankungen ausführen. Somit kann das Modell einen robusten Begriff der Quergeschwindigkeit einführen.
-
Definition 32 (µ-Quergeschwindigkeit): Betrachte einen Punkt, der sich zum Zeitpunkt t an einer Querposition 1 befindet. Seine µ-Quergeschwindigkeit zum Zeitpunkt t ist wie folgt definiert. Sei t
out > t die früheste zukünftige Zeit, zu der die Querposition des Punktes, bezeichnet mit l
out, entweder
oder
ist (wenn es keine solche Zeit gibt, sei t
out = 4). Wenn zu einem Zeitpunkt t' 0 (t, t
out) die Querposition des Punktes 1 ist, dann ist die µ-Quergeschwindigkeit 0. Andernfalls ist die µ-Quergeschwindigkeit
-
In einigen Ausführungsformen ist es, um eine Kollision zwischen zwei Fahrzeugen zu haben, erforderlich, dass sie sich sowohl in Längsrichtung als auch in Querrichtung nahe beieinander befinden. Ein sicherer Längsabstand wurde oben definiert.
-
Definition 33 (sicherer Querabstand): Der Querabstand zwischen Autos c
1, c
2, die mit den Quergeschwindigkeiten v
1, v
2 fahren, ist dann sicher bezüglich der Parameter ρ,
µ, wenn während des Zeitintervalls [0, p] die beiden Autos eine Querbeschleunigung von
aufeinander zu anwenden, und die beiden Autos danach eine Bremsung in Querrichtung von
anwenden, bis jedes Auto die Quergeschwindigkeit Null erreicht, der finale Querabstand zwischen ihnen mindestens µ beträgt.
-
Eine Berechnung des sicheren Querabstands kann im nachstehenden Lemma angegeben werden.
-
Lemma 13: Betrachte die in Definition 33 gegebenen Bezeichnungen. Angenommen, ohne Beschränkung der Allgemeinheit, dass c
1 links von c
2 liegt. Definiere
und
Dann ist der minimale sichere Querabstand zwischen der rechten Seite von c
1 und dem linken Teil von c
2:
-
Um, wie zuvor erwähnt, eine Kollision zwischen zwei Autos zu haben, sei angenommen, dass die Autos sowohl in einem unsicheren Abstand in Längsrichtung als auch in einem unsicheren Querabstand sein müssen. Die Idee der Sicherheitsabstandsdefinitionen ist also, dass es zu keiner Kollision kommen kann, wenn beide Autos „richtig“ auf Verletzungen des Sicherheitsabstands reagieren. Wenn ein Auto nicht „richtig“ reagiert hat, ist dieses Auto für den Unfall verantwortlich. In diesem Beispiel kann das Modell modifizierte Definitionen von „gefährliche Situation“ und „Schuldzeit“ verwenden.
-
Definition 34 (gefährliche Situation und Schuldzeit): Die Zeit t sei gefährlich für Autos c1, c2, wenn sowohl die Längs- als auch die Querabstände zwischen ihnen nicht sicher sind (gemäß Definition 27, Definition 28 und Definition 33). Bei einer gegebenen gefährlichen Zeit t ist ihre Schuldzeit, bezeichnet mit tb, die früheste ungefährliche Zeit, so dass alle Zeiten in dem Intervall (tb, t] gefährlich sind. In diesem Beispiel kann ein Unfall nur zum Zeitpunkt t passieren, wenn er gefährlich ist, und in diesem Fall ist die Schuldzeit des Unfalls die Schuldzeit von t.
-
Definition 35 (richtige Reaktion auf gefährliche Situationen): Sei t eine gefährliche Zeit für Autos c1, c2 und sei tb die entsprechende Schuldzeit. Angenommen, das richtige Verhalten der beiden Autos besteht darin, die folgenden Beschränkungen für die Quer-/Längsgeschwindigkeit einzuhalten:
- 1. Wenn vor der Schuldzeit ein sicherer Längsabstand zwischen c1 und c2 vorhanden war, wird die Längsgeschwindigkeit entsprechend Definition 30 beschränkt.
- 2. Wenn vor der Schuldzeit ein sicherer Querabstand zwischen c1 und c2 vorhanden war, und ohne Verlust der Allgemeinheit, angenommen wird, dass sich c1 zu diesem Zeitpunkt links von c2 befand:
- • wenn t 0 [tb, tb + ρ), dann können beide Autos jede Queraktion ausführen, solange ihre Querbeschleunigung erfüllt.
- • andernfalls, falls t > tb + ρ:
- ◯ dann muss c1 vor dem Erreichen der µ-Quergeschwindigkeit von 0 eine Querbeschleunigung von höchstens und c2 eine Querbeschleunigung von mindestens aufbringen. Mit anderen Worten, c1 muss mindestens eine minimale Querbeschleunigung in einer Richtung haben, und c2 muss mindestens eine minimale Querbeschleunigung in der entgegengesetzten Richtung haben.
- ◯ Nach Erreichen der µ-Quergeschwindigkeit von 0 kann c1 eine beliebige nicht-positive µ-Quergeschwindigkeit und c2 eine beliebige nicht-negative µ-Quergeschwindigkeit haben.
- 3. Minimaler Ausweichaufwand: Zusätzlich zu den oben genannten Regeln können die folgenden Beschränkungen gelten.
- • Zunächst, in dem Fall von Punkt (1) oben: Angenommen, dass die beiden Autos zur Schuldzeit in die gleiche Richtung fahren, und dass c2 das vordere Auto ist. Dann soll nach der Zeit tb + ρ bis zum Erreichen einer µ-Quergeschwindigkeit von 0 mindestens mit in Querrichtung gebremst werden. Und danach sollte es bei der µ-Quergeschwindigkeit von 0 bleiben.
- • Im Fall von Punkt (2) oben: Angenommen, dass c1 richtig reagiert, bis eine µ-Quergeschwindigkeit von 0 erreicht ist, und dass während dieser Zeit c2 nicht richtig reagiert hat, und sich jetzt vor c1 befindet (es sind nämlich alle Punkte von c2 in Längsrichtung vor allen Punkten von c1, und ein Punkt von c2 befindet sich an der gleichen Querposition wie ein Punkt von c1). Sei der erste Moment, in dem dies geschieht, die Einscherzeit, bezeichnet mit tc. Wenn dann tb < tc < t - p ist und aktuell die Geschwindigkeit von c1 positiv ist, dann muss c1 in Längsrichtung mit einer Geschwindigkeit von mindestens amin, brake, evasive bremsen.
-
In der obigen Definition spiegeln alle Elemente, bis auf das mit dem Titel „minimaler Ausweichaufwand“, die Essenz der Annahmen in den Definitionen des Sicherheitsabstands wider, in dem Sinne, dass es zu keiner Kollision kommt, wenn beide Autos richtig reagieren. Der „minimale Ausweichaufwand“ befasst sich mit Fällen, in denen man eine besondere Vorsicht walten lässt, um zu verhindern, dass potenzielle Situationen entstehen, in denen die Verantwortung geteilt werden könnte. Wenn beispielsweise das hintere Auto, c1, einen sicheren Abstand zu dem vorderen Auto, c2, einhalten soll, und c2 zu vorsichtig ist und Quermanöver vermeidet, um Kollisionen zu vermeiden, wird c1 nicht stark genug bremsen. Der zweite Fall liegt vor, wenn beispielsweise c2 in einem unsicheren Längsabstand einschert, während sich c1 korrekt verhalten hat. In diesem Fall hat sich c2 nicht korrekt verhalten. Dennoch wird von c1, erwartet, dass es sich bemüht, eine mögliche Kollision zu vermeiden, indem er beispielsweise mindestens mit amin, brake, evasive bremst. Dies kann die Dauer einer gefährlichen Situation verkürzen (es sei denn, beide Autos haben eine Längs- und Quergeschwindigkeit von null).
-
Definition 36 (Verantwortung für einen Unfall): Betrachte beispielsweise einen Unfall zwischen c1 und c2 zu einem Zeitpunkt t, und sei tb die entsprechende Schuldzeit. Dass Auto c kann für den Unfall verantwortlich sein, wenn es irgendwann in dem (tb, t] nicht richtig gemäß Definition 35 reagiert, wie in 47A veranschaulicht.
-
In 47A zeigen die vertikalen Linien um jedes Auto die mögliche Querposition des Autos, wenn es während der Reaktionszeit in Querrichtung beschleunigt und dann in Querrichtung bremst. Ebenso zeigen die Rechtecke die potenziellen Längspositionen des Autos (z. B., wenn das Auto entweder mit amax,brake bremst, oder während der Reaktionszeit beschleunigt und dann mit amin,brake bremst). In den oberen beiden Reihen (Reihen a und b) gab es vor der Schuldzeit einen sicheren Querabstand, daher ist die richtige Reaktion, in Querrichtung zu bremsen. Das gelbe Auto hat bereits die µ-Quergeschwindigkeit Null, also bremst nur das rote Auto in Querrichtung. In der dritten Reihe (Reihe c) gab es vor der Schuldzeit einen sicheren Längsabstand, daher ist die richtige Reaktion, dass das hintere Auto in Längsrichtung bremst. In der vierten Reihe (Reihe d) schließlich gab es vor der Schuldzeit einen sicheren Längsabstand, bei einem entgegenkommenden Szenario sollten also beide Autos in Längsrichtung bremsen.
-
Die Parameter
a
max,accel, und a
max,brake spiegeln nicht unbedingt eine physikalische Beschränkung wider, sondern können stattdessen eine Obergrenze für ein vernünftiges Verhalten darstellen, das von Verkehrsteilnehmern erwartet wird. In einigen Ausführungsformen wird, basierend auf diesen Definitionen, ein Fahrer, wenn er diese Parameter zu einem gefährlichen Zeitpunkt nicht einhält, sofort für den Unfall verantwortlich.
-
Angenommen, der Einfachheit halber, dass Autos sofort von einer „Bremsung in Querrichtung“ mit
auf eine µ-Quergeschwindigkeit von 0 umschalten können. Dies ist aufgrund physikalischer Eigenschaften des Autos möglicherweise nicht immer möglich. Der wichtige Faktor bei der Definition der richtigen Reaktion ist jedoch, dass von dem Zeitpunkt t
b + p bis zu dem Zeitpunkt, an dem das Auto eine µ-Quergeschwindigkeit von 0 erreicht, der gesamte Querabstand, den es durchlaufen wird, nicht größer sein wird als der, den es durchlaufen hätte, wenn es eine Bremsung von
bis zum vollständigen Stillstand angewendet hätte. In einigen Ausführungsformen ist es möglich, dieses Ziel durch ein reales Fahrzeug zu erreichen, indem zuerst mit einer stärkeren Rate gebremst wird und dann am Ende die Quergeschwindigkeit allmählicher verringert wird. In einigen Ausführungsformen kann diese Änderung der Bremsrate das RSS-Modell nicht beeinflussen.
-
In einigen Ausführungsformen gelten die obigen Definitionen für Fahrzeuge beliebiger Formen, indem der Worst Case in Bezug auf alle Punkte jedes Autos angenommen wird. Beispielsweise kann das Modell einen Sattelauflieger oder einen PKW mit offener Tür berücksichtigen.
-
Mehrfachgeometrie und Vorfahrtsregeln
-
In einigen Szenarien kann es mehrere unterschiedliche Straßengeometrien in einer Szene oder Umgebung geben, die sich in einem bestimmten Bereich überlappen. 47B zeigt beispielhafte Straßengeometrien, die einen Kreisverkehr 4706, Kreuzungen 4704 und 4708 und Einfädelungen in Autobahnen 4702 aufweisen. In vielen solchen Fällen kann eine Route, die in durchgezogener Linie gezeigt ist, Priorität vor anderen haben, die in gestrichelter Linie gezeigt sind, und darauf fahrende Fahrzeuge haben Vorfahrt.
-
Bei Szenarien mit mehreren Routengeometrien müssen die obigen Definitionen möglicherweise angepasst werden. Betrachte beispielsweise die T-Kreuzung 4702, die in 47B gezeigt wird, und angenommen, dass es ein Stoppschild für die Route gibt, die durch die durchgezogene Linie gekennzeichnet ist. Angenommen, c1 nähert sich der Kreuzung auf der gestrichelten Route, und gleichzeitig nähert sich c2 der Kreuzung auf der durchgezogenen Route. Gemäß dem Koordinatensystem der gestrichelten Route hat c2 eine sehr große Quergeschwindigkeit, daher könnte c1 ableiten, dass sich c2 bereits in einem nicht sicheren Querabstand befindet, was impliziert, dass c1, das auf der priorisierten Route fährt, die Geschwindigkeit verringern muss, um einen sicheren Längsabstand zu c2 beizubehalten. Dies bedeutet, dass c2 in Bezug auf Verkehr, der von der durchgezogenen Route kommt, sehr konservativ sein sollte. Dies ist natürlich ein unnatürliches Verhalten, da Autos auf der gelben Route in diesem Fall Vorfahrt haben. Darüber hinaus sollte auch c2, das nicht die Priorität hat, in die Kreuzung einfädeln können, solange c1, rechtzeitig stoppen kann (dies wird bei dichtem Verkehr entscheidend sein). Dieses Beispiel zeigt, dass wenn c1 auf r1 fährt, es keinen Sinn macht, seine Position und Geschwindigkeit bzgl. des Koordinatensystems von r2 zu berücksichtigen. Infolgedessen können die vorstehenden Konzepte, wie etwa „was bedeutet es, dass c1 sich vor c2 befindet“, und was es bedeutet, sich in einem nicht sicheren Abstand zu befinden, verallgemeinert werden.
-
In dem Fall mehrerer Geometrien kann die Definition des sicheren Querabstands verallgemeinert werden. Die Anwendung der nachstehenden Definition auf zwei Routen derselben Geometrie kann zu derselben Definition führen wie in Definition 33. Wie hierin erwähnt, kann eine Route eine Teilmenge von R2 sein. Ferner angenommen, dass zwei Autos in den Beispielen unten, c1, c2, auf unterschiedlichen Strecken, r1, r2, fahren. In manchen Situationen (z. B. die T-Kreuzung 4704 in 47B) werden, sobald es genau eine einzige Route r1 gibt, so dass beide Autos der Route zugewiesen sind, und die Zeit ungefährlich ist, dann von diesem Moment an die Definitionen ausschließlich unter Bezugnahme auf r1 beschrieben.
-
Definition 37 (sicherer Querabstand für zwei Routen mit unterschiedlicher Geometrie): Betrachte man beispielsweise Fahrzeuge, c
1, c
2, die auf sich kreuzenden Routen r
1, r
2 fahren. Seien für jedes i ∈ {1, 2} seien [x
i,min, x
i,max] die minimalen und maximalen Querpositionen in r
i, an denen sich c
i befinden kann, wenn während des Zeitintervalls [0, ρ) das Auto eine Querbeschleunigung (bezüglich r
i)
anwendet und danach eine Querbremsung von mindestens
(wieder in Bezug auf r
i) anwendet, bis eine Quergeschwindigkeit von Null (bezüglich r
i) erreicht ist. Der Querabstand zwischen c
1 und c
2 ist sicher, wenn die Beschränkungen von r
1, r
2 auf die Querabstände [x
1,min, x
1,max], [x
2,min, x
2,max] einen Abstand von mindestens µ haben. Wobei die Beschränkung von r
i auf die Querabstände [x
i,min, x
i,max] die Teilmenge von R
2 sein kann, die durch alle Punkte (x, y)
E r
i erhalten wird, für die die semantische Querposition von (x, y) in dem Intervall [xi
,min, x
i,max] ist.
-
Definition 38, unten, ist eine beispielhafte Quantifizierung der Ordnung bzw. Reihenfolge zwischen zwei Autos, wenn keine gemeinsame Längsachse existiert (z. B., wenn die Autos nicht voreinander fahren).
-
Definition 38 (Längsreihenfolge für zwei Routen unterschiedlicher Geometrie): Betrachte beispielsweise c1, c2, 4710 bzw. 4712, die auf den Routen r1, r2, 4714 bzw. 4716 fahren, die sich kreuzen, wie in 47C. Beispielsweise ist c1 (Fahrzeug 4710) in Längsrichtung vor c2 (Fahrzeug 4712), wenn eines des folgenden gilt: für jedes i ist, wenn beide Fahrzeuge auf ri sind, dann c1 gemäß ri vor c2; oder c1, ist außerhalb von r2 und c2 ist außerhalb von r1, und der Längsabstand von c1 zur Menge r1 ∩ r2 in Bezug auf r1 ist größer als der Längsabstand von c2 zur Menge r1 ∩ r2 in Bezug auf r2.
-
Als Maß für die Robustheit der Definition der Längsreihenfolge sei beispielsweise angenommen, dass sich c1, c2 in Abständen von 20 bzw. 20,1 Metern von der Kreuzung befinden. Die Definition gilt, weil die Definition nur effektiv verwendet wird, wenn zwischen den beiden Autos ein sicherer Längsabstand besteht, und somit die Reihenfolge zwischen den Autos offensichtlich ist. Darüber hinaus ist diese Situation analog zur Nicht-Robustheit der Reihenfolge, wenn zwei Autos nebeneinander auf einer mehrspurigen Autobahnstraße fahren.
-
Definition 39 (sicherer Längsabstand für zwei Routen unterschiedlicher Geometrie): Betrachte beispielsweise c1, c2, die auf den sich kreuzenden Routen r1, r2 fahren. Der Längsabstand zwischen c1, und c2 ist sicher, wenn einer der folgenden Punkte zutrifft:
- 1. wenn für alle i ∈ {1, 2}, so dass ri keine Priorität hat, wenn ci mit amax,accel für p Sekunden beschleunigt wird und dann mit amin,brake bremst, bis die Längsgeschwindigkeit null erreicht wird (alles in Bezug auf ri), dann bleibt dieses ci während dieser Zeit außerhalb der anderen Route.
- 2. andernfalls, wenn c1 vor c2 ist (gemäß Definition 38), dann sind die Autos in sicherem Längsabstand. Wenn beispielsweise c1 mit amax,brake bremst, bis eine Geschwindigkeit von Null erreicht wird (in Bezug auf r1), und c2 mit höchstens amax,accel für p Sekunden beschleunigt und dann mit mindestens amin,brake (in Bezug auf r2) bremst, bis die Geschwindigkeit Null erreicht wird, dann bleibt c1 vor c2 (gemäß Definition 38).
- 3. andernfalls, betrachte einen Punkt p ∈ r1 ∩ r2, so dass für i ∈ {1, 2} die Querposition von p bezüglich ri in [xi,min, xi,max] ist (wie in Definition 37 definiert). Seien [ti,min, ti,max] alle Zeiten derart, dass ci die Längsposition von p in Bezug auf ri erreichen kann, wenn es während der ersten p Sekunden Längsbeschleunigungen im Bereich [-amax,brake, amax,accel] anwendet, und dann eine Längsbremsung im Bereich [amin,brake, amax,brake] anwendet, bis eine Geschwindigkeit von Null erreicht ist. Dann können sich die Fahrzeuge in einem sicheren Längsabstand befinden, wenn sich für jedes solche p [t1,min, t1,max] [t2,min, t2,max] nicht überschneiden.
-
47D ist eine exemplarische Veranschaulichung von Definition 39. Der Frame 4720 ist eine beispielhafte sichere Situation, in der das Auto 4722 Priorität hat, weil das Auto 4724 stoppen muss, bevor es auf die Fahrspur fährt. Der Frame 4726 ist eine weitere beispielhafte sichere Situation, in der sich das Auto 4722 vor dem Auto 4724 befindet, wodurch dem Auto 4724 Zeit zum Stoppen gegeben wird, wenn das Auto 4722 stoppt oder langsamer wird. Wenn in dem Frame 4728 das Auto 4722 sich in einem vollständigen Stillstand befindet und das Auto 4724 sich in einem vollständigen Stillstand in Querrichtung befindet, ist die Situation gemäß der Definition von Punkt (3) von Definition 39 sicher.
-
Definition 40 (gefährliche & Schuldzeiten, richtige Reaktion, und Verantwortlichkeit für Routen mit unterschiedlicher Geometrie): Betrachte beispielsweise die Fahrzeuge c1, c2, die auf den Straßen r1, r2 fahren. Die Zeit t kann gefährlich sein, wenn sowohl der Quer- als auch der Längsabstand nicht sicher sind (gemäß Definition 11 und Definition 13). Die entsprechende Schuldzeit kann die früheste ungefährliche Zeit tb sein, so dass alle Zeiten in (tb, t] gefährlich sind. Die richtige Reaktion von c1, und/oder c2 kann von der Situation unmittelbar vor der Schuldzeit abhängig sein:
- • wenn der sichere Querabstand sicher war, sollten beide Fahrzeuge gemäß der Beschreibung des sicheren Querabstands in Definition 37 reagieren.
- • sonst, wenn der Längsabstand nach Punkt (1) in Definition 39 sicher war, dann kann ein Fahrzeug, wenn es sich auf der priorisierten Route befindet, normal fahren, andernfalls muss es mindestens mit amin,brake bremsen, wenn t - tb ≥ p.
- • sonst, wenn der Längsabstand nach Punkt (2) in Definition 39 sicher war, dann kann c1 normal fahren, und c2 muss mit mindestens amin,brake bremsen, wenn t - tb ≥ p.
- • sonst, wenn der Längsabstand gemäß Punkt (3) in Definition 39 sicher war, dann können beide Autos normal fahren, wenn t-tb < p, und ansonsten sollten beide Autos in Querrichtung und in Längsrichtung mit mindestens amin,brake bremsen (jeweils in Bezug auf seine eigene Route).
-
Schließlich kann, wenn eine Kollision auftritt, die Verantwortung bei dem/den Fahrzeug(en) liegen, das/die nicht der richtigen Reaktion gefolgt ist/sind. In einigen Ausführungsformen gibt es Fälle, in denen die von einem anderen Agierenden verwendete Route unbekannt ist: beispielsweise in 47E. In 47E ist der Pfad des Autos 4730 an der Kreuzung dem Auto 4732 unbekannt. In einem solchen Fall kann RSS erhalten werden, indem alle Möglichkeiten geprüft werden.
-
Ampeln
-
In einigen Ausführungsformen kann ein Fahrzeug auf eine Situation treffen, die eine Verkehrsampel aufweist. Es kann möglicherweise sein, dass nicht gilt, dass „wenn die Route eines Autos eine grüne Ampel hat und die Route des anderen Autos eine rote Ampel hat, dann ist dasjenige schuld, dessen Route eine rote Ampel hat“. Betrachte stattdessen beispielsweise das in 47F gezeigte Szenario. Selbst wenn die Route des Autos 4734 eine grüne Ampel hat, wird nicht erwartet, dass es das Auto 4736 ignoriert, das sich bereits in der Kreuzung befindet. Die Route mit grüner Ampel kann Priorität vor Routen mit roter Ampel haben. Daher verringert sich der Begriff einer Ampelsituation auf die zuvor beschriebene Routenprioritätssituation. In einigen Ausführungsformen kann die Regel für die Routenpriorität konzeptionell vereinfacht werden, da die Vorfahrt gegeben und nicht genommen wird.
-
Unstrukturierte Straße
-
In einigen Ausführungsformen kann ein Fahrzeug auf unstrukturierte Straßen treffen, wie beispielsweise in 47G. Betrachte zuerst das Szenario 4718. Hier ist, während die Aufteilung des Straßenbereichs in Fahrspuren nicht gut definiert ist, die Aufteilung der Straße in mehrere Routen (mit einer klaren Geometrie für jede Route) gut definiert. Da unsere Verantwortlichkeitsdefinitionen nur von der Routengeometrie abhängig sind, gelten sie unverändert für solche Szenarien.
-
Betrachte als Nächstes das Szenario, in dem es überhaupt keine Routengeometrie gibt (z. B. den Parkplatz 4738). Im Gegensatz zu dem strukturierten Fall sind Quer- und Längsrichtung getrennt, dieses Szenario erfordert zweidimensionale Trajektorien.
-
Definition 41 (Trajektorien): Betrachte beispielsweise ein Fahrzeug c, das auf einer Straße fährt. Eine zukünftige Trajektorie von c kann als Funktion τ : R+ → R2 dargestellt werden, wobei τ(t) die Position von c in t Sekunden ab der aktuellen Zeit ist. Der Tangentenvektor an die Trajektorie bei t, bezeichnet mit τ’(t), ist der Jacobi-Vektor von τ bei t. Es bezeichne ts(τ) = sup{t : ∀t1 ∈ [0, t), ||τ'(t1)∥ > 0}, nämlich, dass ts der erste Zeitpunkt ist, an dem das Fahrzeug einen vollständigen Stillstand erreicht, wobei, falls kein solches t existiert, ts(τ) = ∞ gesetzt wird.
-
Gefährliche Situationen können basierend auf der Möglichkeit einer Kollision zwischen zwei Trajektorien identifiziert werden, wie unter Bezugnahme auf Definition 42 beschrieben.
-
Definition 42 (Trajektorienkollision): Seien τ
1, τ
2 zwei zukünftige Trajektorien von c
1, c
2, mit entsprechenden Stoppzeiten t
1 = t
s(τ
1), t
2 = t
s(τ
2). Seien die Parameter
, θ gegeben, dann kollidieren τ
1 und τ
2 nicht, was mit τ
1 ∩ τ
2 = ∅ bezeichnet werden kann, wenn eines der folgenden gilt:
- 1. Sei für jedes t ∈ [0, max(t1, t2)], dann ist ||τ1(t) - τ2(t)|| > ε.
- 2. Sei für jedes t ∈ [0, t1], dann ist ||τ1(t) - τ2(t)|| > ε, und der absolute Wert des Winkels zwischen den Vektoren (τ2(t1) - τ1(ti)) und τ'2 (t1) ist höchstens θ.
-
Sei eine Menge von Trajektorien für c1 gegeben, bezeichnet mit T1, und einen Menge von Trajektorien für c2, bezeichnet mit T2, dann ist T1 ∩ T2 = ∅ falls für jedes (τ1, τ2) ∈ T1 × T2, dann ist τ1 ∩ τ2 = ∅.
-
Der erste Punkt gibt beispielsweise an, dass beide Fahrzeuge voneinander entfernt sind, bis sie beide einem vollständigen Stillstand erreicht haben. Der zweite Punkt besagt beispielsweise, dass die Fahrzeuge voneinander entfernt sind, bis das erste vollständig gestoppt hat, und zu diesem Zeitpunkt zeigt der Geschwindigkeitsvektor des zweiten von dem ersten Fahrzeug weg.
-
In einigen Ausführungsformen ist der Kollisionsoperator möglicherweise nicht kommutativ. Angenommen, zwei Autos sind gerade dabei, auf einem großen Kreis in die gleiche Richtung zu fahren, wobei c1 dicht hinter c2 ist, und betrachte τ1 als die Trajektorie, auf der c1 stark bremst, und τ2 als die Trajektorie, auf der c2 mit für immer derselben Geschwindigkeit weiterfährt. Dann ist τ1 ∩ τ2 = ∅, während τ2 ∩ τ1 /= ∅.
-
In einigen Ausführungsformen können abstrakte Begriffe von „Bremsen“- und „weiter vorwärts“-Verhalten angenommen werden. In dem strukturierten Fall können die Bedeutungen dieser Verhaltensweisen basierend auf zulässigen Intervallen für Quer- und Längsbeschleunigungen definiert werden.
-
Definition 43 (mögliche Trajektorien aufgrund Bremsen und normalem Fahren): Betrachte beispielsweise ein Fahrzeug c, das auf einer Straße fährt. Bei einer gegebenen Menge von Beschränkungen C für das Verhalten des Autos ist T (C, c) die Menge möglicher zukünftiger Trajektorien von c, wenn c den in C gegebenen Beschränkungen entspricht. In einigen Ausführungsformen kann die Menge eine Obermenge sein. In einigen Ausführungsformen können T (Cb, c), T (Cf, c) die zukünftigen Trajektorien aufgrund von Beschränkungen des Bremsverhaltens und Beschränkungen des Vorwärtsfahrverhaltens darstellen.
-
Definition 43 kann verwendet werden, um die Begriffe Sicherheitsabstand, gefährliche Situation, Schuldhaftigkeit, richtige Reaktion und Verantwortung zu verfeinern.
-
Definition 44 (Sicherheitsabstand, gefährliche Situation, Schuldhaftigkeit, richtige Reaktion, Verantwortung): Der Abstand zwischen c0, c1 beim Fahren auf einer nicht strukturierten Straße ist sicher, wenn einer der folgenden Punkte zutrifft:
- 1. Für einige i ∈ {0, 1}, dann ist T (Cb, ci) ∩ T (Cf, c1-i) = ∅ und T (Cb, c1-i) ∩ T (Cf, ci) ≠ ∅
- 2. T (Cb, c0) ∩ T (Cb, c1) = ∅
-
In einigen Ausführungsformen ist die Zeit t gefährlich bzgl. c0, c1, wenn der Abstand zwischen ihnen nicht sicher ist. Die entsprechende Schuldzeit ist die früheste ungefährliche Zeit tb, so dass während des gesamten Zeitintervalls (tb, t] die Situation gefährlich war. Die richtige Reaktion von Auto cj zu einer gefährlichen Zeit t mit entsprechender Schuldzeit tb ist wie folgt:
- 1. Falls beide Autos bereits an vollständig gestoppt hatten, dann kann cj von c1-j wegfahren (was bedeutet, dass der Betrag des Winkels zwischen seinem Geschwindigkeitsvektor und dem Vektor die Differenz zwischen cj und c1-j höchstens θ sein sollte, wobei θ wie in Definition 42 ist)
- 2. sonst, wenn tb aufgrund von Punkt (1) oben sicher war und j = 1 - i, dann sollte cj die Beschränkungen des „weiter vorwärts“-Verhaltens erfüllen, wie in Cf, solange c1-j nicht vollständig gestoppt hat, und danach sollte es sich verhalten wie in dem Fall, dass beide Autos vollständig gestoppt haben.
- 3. andernfalls ist die richtige Reaktion, zu bremsen, nämlich die Beschränkungen Cb einzuhalten.
-
Schließlich liegt in dem Fall einer Kollision die Verantwortung bei dem/den Fahrzeug(en), das/die nicht richtig reagiert hat/haben.
-
In einigen Ausführungsformen kann das Modell die Bremsbeschränkungen, Cb, und die Beschränkungen des Fortfahren-Vorwärts-Verhaltens, Cf, berücksichtigen. Wie oben beschrieben, können Fahrzeuge vorhersagen, was andere Fahrzeuge tun werden (andere Fahrzeuge sollen auf ihrer Route fahren und die Quer-/Längsgeschwindigkeit mit einer begrenzten Rate ändern), und wenn sich ein Fahrzeug in einer gefährlichen Zeit befindet, kann die richtige Reaktion in Bezug auf die Routengeometrie („Bremse“ quer und längs) sein definiert. In einigen Ausführungsformen ist die richtige Reaktion in Bezug auf das andere Fahrzeug, zu dem sich das Host-Fahrzeug in einem unsicheren Abstand befindet, nicht definiert. Beispielsweise können Konflikte entstehen, wenn sich ein Fahrzeug in Bezug auf mehr als ein einzelnes anderes Fahrzeug in einem unsicheren Abstand befindet. Daher werden in einigen Ausführungsformen beim Entwerfen der Definitionen für unstrukturierte Szenarien die beiden Eigenschaften immer noch gelten.
-
Beispielsweise können sich die Beschränkungsdefinitionen auf ein grundlegendes kinematisches Modell von Fahrzeugen stützen. Die Fahrzeuggeschwindigkeit kann der gleichen Definition folgen wie die Längsgeschwindigkeit (die den Bereich der zulässigen Beschleunigungen begrenzt). Wenn ein Fahrzeug bei Querbewegungen einen konstanten Lenkradwinkel und eine konstante Geschwindigkeit beibehält, bewegt es sich (ungefähr) in einem Kreis. Mit anderen Worten, es ändert sich der Kurswinkel des Autos mit einer konstanten Rate, die als Gierrate des Autos bezeichnet wird. Die Geschwindigkeit des Autos sei durch v(t) dargestellt, der Kurswinkel durch h(t), und die Gierrate durch h'(t) (da sie die Ableitung des Kurswinkels ist). Wenn h'(t) und v(t) Konstanten sind, bewegt sich das Auto auf einem Kreis, dessen „Radius“ v(t)/h'(t) ist (wobei das Vorzeichen des „Radius“ im Uhrzeigersinn oder gegen den Uhrzeigersinn bestimmt ist, und der „Radius“ ∞ ist, wenn sich das Auto auf einer Geraden bewegt, also h'(t) = 0). Somit kann der Radius als r(t) = v(t)/h'(t) definiert werden.
-
In einigen Ausführungsformen kann es beim Fahren zwei Beschränkungen geben. Die erste ist, dass sich der Kehrwert des Radius mit einer begrenzten Rate ändert. Zweitens ist auch h'(t) beschränkt. Das zu erwartende Bremsverhalten kann darin bestehen, sich während der Reaktionszeit h'(t) und 1/r(t) begrenzt zu ändern, und von da an eine Kreisfahrt fortzusetzen (oder mindestens einen Abstand von höchstens ε/2 von dem Kreis zu haben). Dieses Verhalten entspricht dem Beschleunigen mit höchstens
während der Reaktionszeit und dem anschließenden Abbremsen bis zum Erreichen einer Quergeschwindigkeit von Null.
-
Um effiziente Berechnungen des Sicherheitsabstands durchzuführen, kann die Obermenge T (C
b, c) wie folgt beschrieben werden. Ohne Beschränkung der Allgemeinheit sei die Schuldzeit t = 0, und angenommen, dass zur Schuldzeit der Kurs von c Null ist. Durch die Beschränkung von |h’(t)| ≤ h'
max gilt dann |h(ρ)| ≤ ρ h'
max. Außerdem muss der Kehrwert des Radius zum Zeitpunkt ρ erfüllen:
wobei r(0) = v(0)/h’(0). Die Obermenge T (C
b, c) kann als alle Trajektorien definiert werden, so dass der anfängliche Kurs (zum Zeitpunkt 0) in dem Bereich [-ρ h'
max, -ρ h'
max] liegt, und die Trajektorie auf einem Kreis liegt, dessen inverser Radius gemäß der obigen Beziehung definiert ist, und die Längsgeschwindigkeit auf dem Kreis wie in dem strukturierten Fall ist. Für die fortgesetzten Vorwärtstrajektorien kann die gleiche Analyse gelten, außer dass die zulässige Längsbeschleunigung auch nach der Reaktionszeit in [-a
max,brake, a
max,accel] liegt. Eine Darstellung der extremen Radien ist in
47H gegeben.
-
47H ist eine exemplarische Veranschaulichung des Querrichtungs-Verhaltens in unstrukturierten Szenen. Die schwarze Linie ist die aktuelle Trajektorie. Die gestrichelten Linien sind die äußersten Bögen.
-
Schließlich können diese richtigen Reaktionen der Fahrzeuge die oben erwähnten zwei Eigenschaften der richtigen Reaktion für strukturierte Szenarien erfüllen: Es ist möglich, die zukünftigen Positionen anderer Fahrzeuge zu begrenzen, falls ein Notfall eintritt; und die gleiche richtige Reaktion kann angewendet werden, selbst wenn sich das Fahrzeug in Bezug auf eines oder mehrere andere Fahrzeuge in einer gefährlichen Situation befindet.
-
Fußgänger
-
Die Regeln zum Zuweisen der Verantwortung für Kollisionen, an denen Fußgänger (oder andere Verkehrsteilnehmer) beteiligt sind, können den gleichen Ideen folgen, die in den vorherigen Unterabschnitten beschrieben wurden. Es ist jedoch möglicherweise nicht erforderlich, die Parameter in den Definitionen von Sicherheitsabstand und richtige Reaktion anzupassen, oder Fußgängerrouten (oder möglicherweise unstrukturierte Routen) oder ihre Priorität in Bezug auf Fahrzeugrouten festzulegen. In einigen Fällen ist die Route eines Fußgängers gut definiert (z. B. ein Zebrastreifen oder ein Bürgersteig). In anderen Fällen, beispielsweise einer Wohnstraße, kann das RSS-Modell auf der Analyse für unstrukturierte Straßen basieren. Außerdem kann im Gegensatz zu Fahrzeugen, die auf gerade Linien oder Bogensegmente beschränkt sind, für Fußgänger die Kursänderung |h'(t)1| beschränkt werden, um anzunehmen, dass der Fußgänger in einem Notfall nach Ablauf der Reaktionszeit in einer geraden Linie weitergehen wird. Wenn der Fußgänger steht, können dem Fußgänger alle potenziellen Linien zugeordnet werden, die von seiner aktuellen Position ausgehen. Die Priorität kann gemäß dem Straßentyp und möglicherweise gemäß dem Vorhandensein und/oder den Orten von Ampeln eingestellt werden. Beispielsweise kann ein Fußgänger auf einer typischen Wohnstraße Priorität vor den Fahrzeugen haben, und daraus folgt, dass Fahrzeuge nachgeben und in Bezug auf Fußgänger vorsichtig sein müssen. Im Gegensatz dazu kann es Straßen mit einem Bürgersteig geben, bei denen die Fahrzeuge nicht davon ausgehen müssen, dass ein Fußgänger auf dem Bürgersteig plötzlich auf die Straße laufen könnte. In solchen Situationen haben beispielsweise Autos Priorität. Ein weiteres Beispiel ist ein Zebrastreifen mit Ampel, bei dem die Priorität dynamisch entsprechend der Ampel festgelegt wird. In einigen Ausführungsformen, und wie zuvor beschrieben, wird Priorität gegeben, nicht genommen, daher müssen Autos, selbst wenn Fußgänger keine Priorität haben, wenn der Fußgänger in einem sicheren Abstand auf die Straße kommt, bremsen und sie passieren lassen.
-
Angenommen beispielsweise ein Szenario, in dem ein Fußgänger auf einer Wohnstraße steht. Der Fußgänger wird allen Routen zugeordnet, die durch Strahlen ausgehend von seiner aktuellen Position erhalten werden. Ihr sicherer Längsabstand in Bezug auf jede dieser virtuellen Routen kann kurz sein. Wenn man beispielsweise eine Verzögerung von 500 ms und eine maximale Beschleunigung und Bremsung von 2 m/s2 einsetzt, ergibt sich, dass der Anteil des Fußgängers am Sicherheitsabstand in Längsrichtung 50 cm beträgt. Daraus folgt, dass ein Fahrzeug in einem solchen kinematischen Zustand sein kann, dass es bei einer angemessenen Reaktion (Beschleunigung für p Sekunden, und dann Bremsen) außerhalb eines Radius von 50 cm um den Fußgänger bleibt.
-
In einem zweiten Beispiel kann ein Fußgänger auf dem Bürgersteig vor einem Zebrastreifen stehen. Der Fußgänger kann eine rote Ampel haben, und ein Fahrzeug, das sich dem Zebrastreifen nähert, kann eine grüne Ampel haben. In diesem Beispiel hat die Fahrzeugroute Priorität, daher kann das Fahrzeug davon ausgehen, dass der Fußgänger auf dem Bürgersteig bleibt. Betritt der Fußgänger die Fahrspur, während sich das Fahrzeug in einem sicheren Längsabstand (in Bezug auf die Fahrtroute des Fahrzeugs) befindet, muss das Fahrzeug bremsen. Wenn jedoch der Fußgänger auf die Straße gelangt, während sich das Fahrzeug nicht in einem sicheren Längsabstand befindet, und infolgedessen das Fahrzeug den Fußgänger trifft, ist das Fahrzeug nicht verantwortlich. Daraus folgt, dass das Fahrzeug in dieser Situation mit normaler Geschwindigkeit fahren kann, ohne sich Gedanken über den Fußgänger machen zu müssen.
-
Ein drittes Beispiel ist, wenn ein Fußgänger auf einer Wohnstraße mit 10 km pro Stunde läuft (was≈ 2.7 m/s ist). Die potenziellen zukünftigen Trajektorien des Fußgängers bilden ein gleichschenkliges Dreieck. Unter Verwendung der gleichen Parameter wie im ersten Beispiel beträgt die Höhe dieses Dreiecks ungefähr 15m. Daraus folgt, dass Autos nicht in einem Abstand von weniger als 15m in die Route des Fußgängers einfahren sollten. Wenn das Auto jedoch in einem Abstand von mehr als 15 m in die Route des Fußgängers eingefahren ist, und der Fußgänger nicht gestoppt hat und infolgedessen mit dem Auto zusammengestoßen ist, liegt die Verantwortung bei dem Fußgänger.
-
Vorsicht bezüglich Verdeckung
-
Menschliche Erfassungsfähigkeiten sind begrenzt, manchmal beispielsweise aufgrund einer unbewussten Entscheidung, sich auf einen bestimmten Teil der Straße zu konzentrieren, manchmal aufgrund von Unachtsamkeit, und manchmal aufgrund körperlicher Beschränkungen (z. B. ist es unmöglich, ein Kind zu sehen, das hinter einem geparkten Auto versteckt ist). Fortgeschrittene automatische Erfassungssysteme können jedoch aufgrund physikalischer Verdeckungen oder des Bereichs der Sensorerkennung auch unter einer eingeschränkten Erfassung leiden. Beispielsweise kann ein Kind hinter einem geparkten Auto außer Sichtweite sein, kann ein Gebäude oder Zaun die Sicht auf den Verkehr blockieren, der sich einer Kreuzung nähert, oder können tote Winkel durch andere Fahrzeuge auf einer Autobahn geschaffen werden.
-
47I ist ein beispielhaftes Szenario, in dem c0 versucht, einen Parkplatz zu verlassen und in eine Route einzufädeln, aber nicht sehen kann, ob sich Autos dem Einfädelungspunkt von der linken Straßenseite nähern. Wenn dies eine städtische, schmale Straße mit einer Geschwindigkeitsbegrenzung von 30 km/h ist, kann das Verhalten eines menschlichen Fahrers darin bestehen, langsam auf die Straße einzuschwenken und immer mehr Sichtfeld zu erhalten, bis die Erfassungsbeschränkungen beseitigt sind. Ohne zusätzliche Annahmen kann dieses Verhalten zu einer Kollision führen. In der Tat, wenn c1, sehr schnell fährt, dann könnte c1 in dem Moment, in dem es in den Sichtbereich von c0 eintritt, offenbaren, dass die Situation bereits für mehr als p Sekunden gefährlich ist und nicht richtig reagieren kann. Definition 45 liefert eine Definition für den ersten Zeitpunkt, zu dem ein verdecktes Objekt dem Sensor ausgesetzt wird; nach der Exposition kann das System mit der Situation wie mit jedem anderen Objekt umgehen, das der Sensor erkennen kann.
-
Definition 45 (Expositionszeit): Die Expositionszeit eines Objekts kann der erste Zeitpunkt sein, zu dem es von dem Sensor erkannt wird.
-
Somit kann es unter Verwendung von Definition 45 möglich sein, eine Obergrenze für die vernünftige Geschwindigkeit von Straßenbenutzern festzulegen. In dem zuvor beschriebenen Beispiel ist es vernünftig, anzunehmen, dass c1 nicht schneller als 60 km/h fährt (das Doppelte der erlaubten Geschwindigkeit). Mit dieser Annahme kann sich c0 dem Einfädelpunkt langsam genug nähern, um sicherzustellen, dass es nicht in eine gefährliche Situation in Bezug auf irgendein Auto gerät, dessen Geschwindigkeit höchstens 60 km/h beträgt. Dies führt zu folgender Definition.
-
Definition 46 (Verantwortlichkeit wegen unangemessener Geschwindigkeit): Betrachte beispielsweise einen Unfall zwischen c0, c1, bei dem vor der Schuldzeit ein sicherer Querabstand bestand und c1 unangemessen bzw. unvernünftig schnell gefahren ist, nämlich seine Durchschnittsgeschwindigkeit von der Expositionszeit bis zur Schuldzeit größer als war vlimit, wobei vlimit ein Parameter ist, der der Position von c1 auf der Karte und einem oder mehreren Straßenzuständen zugeordnet ist. In dieser beispielhaften Situation liegt die Verantwortung ausschließlich bei c1.
-
In einigen Ausführungsformen ermöglicht die Anwendung dieser Definitionen c0, den Parkplatz sicher zu verlassen, genauso wie es ein menschlicher Fahrer tut. Basierend auf der obigen Definition kann c0 die Situation prüfen, in der sich ein Fahrzeug am Rand des verdeckten Bereichs befindet, dessen Geschwindigkeit vlimit ist. Dies ermutigt c0 also, langsamer und weiter von der Verdeckung wegzufahren, wodurch sein Sichtfeld langsam vergrößert wird und ein sicheres Einfädeln in die Straße ermöglicht wird.
-
Diese Verantwortlichkeitsdefinition kann auf eine Vielzahl von Fällen zutreffen, da sie spezifizieren kann, was verdeckt werden kann (ein potenziell schnelles Auto kann nicht zwischen zwei dicht geparkten Autos verdeckt werden, aber ein Kind oder Fußgänger kann es). Diese Verantwortlichkeitsdefinition kann auch spezifizieren, was für ein verdecktes Objekt oder eine Person unvernünftig schnell ist (die vlimit eines Kindes ist viel kleiner als das eines Autos).
-
Verdeckte Fußgänger in einem Wohngebiet
-
In einer beispielhaften Situation kann ein Kind hinter einem geparkten Auto hervorrennen. Wenn sich die Straße in einem Wohngebiet befindet, hat die Route des Kindes Priorität, und daher sollte ein Fahrzeug seine Geschwindigkeit so anpassen, dass es keinen Unfall gibt, wenn das Kind hinter dem geparkten Auto auftaucht. Durch Begrenzung der Höchstgeschwindigkeit des Kindes kann das Fahrzeug die Geschwindigkeit, in der das Kind genau die Höchstgeschwindigkeit erreicht, entsprechend der Worst-Case-Situation anpassen.
-
In einigen Ausführungsformen kann der obige Ansatz jedoch zu einem zu defensiven Verhalten führen. Betrachte tatsächlich ein typisches Szenario, wenn ein Fahrzeug neben einer Reihe parkender Autos fährt. Ein Kind, das mit einer Geschwindigkeit von 10 km/h auf die Straße rennt (z. B. einen Ball jagt), kann von einem geparkten Auto verdeckt werden, wobei die Kamera des Fahrzeugs das Kind nur dann erfasst, wenn der Längsabstand, der zwischen dem Fahrzeug und dem Fußgänger eingehalten wird, kleiner als 0,3 m ist. Der sichere Längsabstand der Route des Kindes beträgt etwa 15 m, was typischerweise mehr als die Breite der Wohnstraße ist. Daher befindet sich das Fahrzeug bereits in einem unsicheren Längsabstand (in Bezug auf die Route des Kindes), und muss stoppen können, bevor es in die Route des Kindes einfährt. Der Bremsweg eines mit 1 m/s fahrenden Autos (bei vernünftiger Parametereinstellung) kann jedoch mehr als 0,4 m betragen. Daraus folgt, dass das Fahrzeug in diesem Szenario langsamer als 1 m/s fahren sollte, selbst wenn es in einem Querabstand von beispielsweise 5 m zu dem parkenden Autos fährt. Dies kann zu defensiv sein und spiegelt kein normales menschliches Verhalten wider.
-
In einigen Ausführungsformen können Annahmen getroffen werden, so dass das Fahrzeug nicht überkompensiert und zu defensiv fährt. Beispielsweise kann sich ein menschlicher Fahrer auf das Gesetz verlassen. Während autonome Fahrzeuge die Geschwindigkeitsbegrenzung befolgen, können einige Ausführungsformen robustere Sicherheitskonzepte erfordern. Unten ist eine exemplarische Verantwortlichkeitsdefinition für dieses Szenario, das zu einem sichereren Fahren führt, während ein vernünftiges schnelles Fahren ermöglicht wird.
-
Definition 47 (Verantwortung für Kollision mit verdecktem Fußgänger): Betrachte beispielsweise eine Kollision zwischen einem Fußgänger und einem Fahrzeug in einer Wohnstraße. Das Fahrzeug ist nicht für den Unfall verantwortlich, wenn die folgenden beiden Bedingungen zutreffen:
- • Sei te die Expositionszeit. Das Fahrzeug beschleunigte in dem Zeitintervall te, te + ρ) nicht, und führte eine Längsbremsung von mindestens amin,brake von te + p bis zu dem Unfall oder bis zu dem vollständigen Stillstand durch.
- • Die durchschnittliche Geschwindigkeit des Fahrzeugs von der Expositionszeit bis zum Zeitpunkt der Kollision war kleiner als die durchschnittliche Geschwindigkeit des Fußgängers im gleichen Zeitintervall (wobei die durchschnittliche Geschwindigkeit die Gesamtstrecke ist, die ein Agierender in einem Zeitintervall zurückgelegt hat, dividiert durch die Länge des Zeitintervalls).
-
Die erste Bedingung stellt dar, dass die Geschwindigkeit des Fahrzeugs von der Expositionszeit bis zur Kollisionszeit monoton nicht steigend sein kann, und die zweite Bedingung sagt aus, dass die durchschnittliche Geschwindigkeit des Fahrzeugs kleiner als die des Fußgängers ist. Wie der Beweis des nachstehenden Lemmas impliziert, sagt die Verantwortlichkeitsdefinition unter einigen vernünftigen Annahmen über die maximale Fußgängerbeschleunigung, dass zum Zeitpunkt der Kollision erwartet werden kann, dass entweder die Geschwindigkeit des Autos erheblich kleiner als die des Fußgängers ist oder dass sich sowohl das Fahrzeug als auch der Fußgänger sehr langsam fortbewegen. Im letzteren Fall dürfte der Schaden nicht schwerwiegend sein, und im ersten Fall entspricht es dem „gesunden Menschenverstand“, dass der Fußgänger für den Unfall verantwortlich zu machen ist.
-
Das nachstehende Lemma zeigt die erlaubte Fahrgeschwindigkeit, die sicherstellt, niemals für eine Kollision mit einem verdeckten Fußgänger verantwortlich zu sein.
-
Lemma 14: Angenommen, ein Fahrzeug befindet sich in einem Querabstand x und einem Längsabstand y zu einer verdeckten Stelle. Dann, wenn seine Quergeschwindigkeit Null ist und seine Längsgeschwindigkeit kleiner ist als
kann sichergestellt werden, dass ein Unfall nicht in die Verantwortung des Fahrzeugs fällt. Insbesondere ist eine konstante Fahrgeschwindigkeit von
möglich.
-
Beweis: Angenommen, zur Expositionszeit befindet sich der Fußgänger an der Position (0, 0) und das Auto an der Position (x, -y). Angenommen, die Kollision findet an dem Punkt (x, y
c) statt, und sei (x, y
s) der Punkt, an dem das Auto zum Stillstand kommt (wenn es keine Kollision gibt). Definiere mit t
c die Kollisionszeit und mit t
s die Zeit, zu der das Fahrzeug zum Stillstand kommt. Beachte, dass, wenn es an Punkt (x, y
c) eine Kollision gibt, an der das Fahrzeug die Schuld trägt, dann:
-
Aber da y
s ≥ y
c, impliziert dies auch, dass
was impliziert, dass es zum Bremszeitpunkt eine Kollision des Fahrzeugs geben kann. Um also sicherzustellen, dass es keine Kollision des Fahrzeugs gibt, verifiziere man, dass es keine solche Kollision zum Bremszeitpunkt gibt, das heißt, dass die folgende Bedingung erfüllt ist:
-
Da y
s = -y + vp + 0. 5 v
2/a
min,brake ist, ergibt ein Umordnen:
-
Diese Bedingung gilt für das Intervall v ∈ [0, v
max(x, y)], wobei v
max(x, y) die rechte Wurzel der quadratischen Gleichung ist, nämlich:
-
Da f(y) = (x
2 + y
2)/y bei y = x minimiert wird, ergibt sich, dass die maximale konstante Geschwindigkeit des Fahrzeugs ist:
-
RSS für fortschrittliche Fahrerassistenzsysteme
-
Aktive Sicherheitssysteme können dazu beitragen, die Straße sicherer zu machen. Beispielsweise kann ein autonomes Notbremssystem (AEB) das Auto verlangsamen oder stoppen, wenn es erkennt, dass das Auto wahrscheinlich auf das vorausfahrende Auto aufprallt. Ein Problem, das bei AEB-Systemen auftritt, besteht darin, dass sie so eingestellt sind, dass sie nahezu null Fehlalarme aufweisen (ein Fehlalarm liegt vor, wenn das System ein Auto an einer gefährlichen Position erkennt, während sich in Wirklichkeit kein Auto an einer gefährlichen Position befindet). Der Preis für eine extrem niedrige Falsch-Positiv-Rate ist eine viel höhere Falsch-Negativ-Rate (ein Falsch-Negativ liegt vor, wenn das System ein Auto nicht erkennt, das sich an einer gefährlichen Position befindet, und das System daher nicht auf die gefährliche Situation reagiert). Somit besteht ein Bedarf zum Aufbau eines besseren AEB-Systems, das sich auf eine Verallgemeinerung des Konzepts der verantwortungsbewussten sensiblen Sicherheit (RSS) stützt. In einigen Ausführungsformen berücksichtigt RSS den Kompromiss zwischen falsch-positiv/falsch-negativ besser als bestehende Systeme. Das RSS kann ein Bremsprofil verwenden, das einen höheren Grad an Fehlalarmen tolerieren kann und daher weniger gefährlich ist.
-
Man erinnere sich an den RSS-Sicherheitsabstand (Definition 27). Die richtige Reaktion von RSS hängt nicht von der zugrunde liegenden Fahrrichtlinie ab. Diese Definition kann über jeder Fahrrichtlinie eingebettet werden. Beispielsweise kann RSS oben auf eine Richtlinie für menschliches Fahren eingebettet werden. In diesem Fall kann das RSS-ADAS-System immer dann, wenn ein menschlicher Fahrer das Auto in einen sicheren Abstand bringt, eine Bremsung anwenden, um das Auto in einen sicheren Abstand zurückzubringen.
-
Jedoch könnte das Anwenden einer starken Bremsung ohne Vorwarnung gefährlich sein. Folglich sind bestehende AEB-Systeme so eingestellt, dass sie eine extrem geringe Wahrscheinlichkeit von Fehlalarmen haben. Der Preis für eine extrem niedrige Falsch-Positiv-Rate ist eine viel höhere Falsch-Negativ-Rate (was bedeutet, dass das System ein Auto nicht erkennt, das sich in einer nicht sicheren Abstand befindet). Die oben diskutierte Verallgemeinerung von RSS kann verwendet werden, um ein bestimmtes Element dieser RSS-Familie zu spezifizieren, das die Gefahr falsch positiver Ergebnisse auf alternative Weise mindert.
-
Verallgemeinerte RSS
-
In der ursprünglichen Definition von RSS wird angenommen, dass das hintere Auto während der Reaktionszeit beschleunigt und dann bremst, bis es einen zu einem vollständigen Stillstand erreicht. Dies ist ein Beispiel für ein Bremsprofil.
-
Allgemeiner:
-
Definition 48 (Bremsprofil): Ein Bremsprofil B kann eine Abbildung von einem anfänglichen kinematischen Zustand des Fahrzeugs (hauptsächlich Anfangsgeschwindigkeit v0 und Beschleunigung a0) auf ein Paar Tb, v, sein, so dass [0, ∞) ℝ die zukünftige Geschwindigkeit des Autos ist und Tb < 0 der erste Zeitpunkt ist, an dem v(t) = 0 ist.
-
Beispielsweise kann das Bremsprofil, das durch das vordere Auto in der ursprünglichen Definition von RSS angewendet wird, definiert werden durch
und v(t) = max {v
0 - ta
max, brake, 0}, so dass:
-
Definition 49 (Verallgemeinerter RSS-Sicherheitsabstand in Bezug auf Bremsprofile: Bf; Br) Ein Längsabstand zwischen einem Auto cr, das hinter einem anderen Auto cf fährt, wobei beide Autos in die gleiche Richtung fahren, ist in Bezug auf die Bremsprofile Bf; Br sicher, wenn, falls das vordere Auto das Bremsprofil Bf anwendet und das hintere Auto das Bremsprofil B anwendet, die Autos dann einen vollständige Stillstand erreichen, ohne zu kollidieren.
-
Die richtige Reaktion kann wie folgt definiert werden:
-
Definition 50 (richtige Rektion): Angenommen, der erste Zeitpunkt, zu dem der Abstand zwischen cf und cr nicht sicher ist, ist t0, und ohne Beschränkung der Allgemeingültigkeit ist t0 = 0 zu setzen. Dann ist die richtige Reaktion für das vordere Auto, dass seine Geschwindigkeit mindestens vr(t) beträgt, wobei vf die durch Bf definierte Geschwindigkeit ist, und die richtige Reaktion für das hintere Auto besteht darin, dass seine Geschwindigkeit höchstens vr(t) beträgt, wobei vr die durch Br definierte Geschwindigkeit ist.
-
Wenn beide Autos richtig reagieren, wird es keinen Unfall geben.
-
Ruckbegrenztes Bremsprofil
-
Das ruck- und beschleunigungsbegrenzte Bremsprofil kann mit Bj bezeichnet werden. Das Fahrzeug kann damit beginnen, die Beschleunigung linear (mit der Steigung jmax) zu verringern, bis es einen maximalen Bremsparameter (mit amin,brake bezeichnet) erreicht, und dann mit dem Bremsen fortfahren mit einer konstanten Verzögerung bis zum Erreichen der Nullgeschwindigkeit. Die folgenden Formeln in geschlossener Form können zur Berechnung dieses Bremsprofils verwendet werden.
-
Bremsen mit konstantem Ruck: Angenommen, das Fahrzeug beginnt mit einem Ruck von j
max zu bremsen. Angenommen außerdem, dass das Fahrzeug sofort auf die Beschleunigung 0 kommen kann, also angenommen, unten ist a
0 ≤ 0. Dann ist die Dynamik des Autos wie folgt:
-
Bremsprofil: Basierend auf diesen Gleichungen wird der Bremsweg wie folgt definiert. Sei T der erste Zeitpunkt, an dem entweder a(T) = a
min,brake oder vT) = 0 ist, d. h. min {T
1,T
2}, wobei
-
Die Zeit bis zum Erreichen der Vollbremsung ist
-
Und die Geschwindigkeit ist wie folgt
-
Bremsstrecke: Schließlich bewegt sich das Auto über die folgende Strecke, bis es einen vollständigen Stillstand erreicht:
-
Sicherer Abstand bezüglich Bf and Bj
-
Angenommen, das vordere Auto bremst gemäß dem Bremsprofil B
f (Bremsen mit einer konstanten Verzögerung von a
max,brake), und das hintere Auto verlässt sich auf das Bremsprofil B
j. Dann lautet die Sicherheitsabstandsformel
-
Das ADAS-RSS-System
-
Sobald der Abstand unsicher wird (gemäß der ruckbasierten Formel), kann das System den Fahrer warnen und kann beginnen, mit einem Ruck von jmax zu bremsen, bis eines von dem Folgenden passiert: (1) das Auto stoppt (2) der Abstand wird unsicher (3) der Fahrer schaltet das RSS-System aus (durch einen Knopf oder einen anderen Mechanismus).
-
Derselbe RSS-Beweis kann angepasst werden, um zu zeigen, dass, wenn der Fahrer das System nicht abgeschaltet hat, kein Unfall in der Verantwortung des Ego-Fahrzeugs liegen kann. Wenn beispielsweise alle Fahrzeuge die RSS-Regeln befolgen, wird es überhaupt keine Unfälle geben (aufgrund von Fehlern in der Fahrweise können immer noch Fehler oder Fehlfunktionen passieren). Wenn eine Regelkörper das ADAS-RSS-System anwendet, kann die Zahl der Autounfälle daher erheblich verringert werden.
-
Ein besserer Umgang mit falsch positiven Ergebnissen
-
Dieselbe Hardware, die AEB implementiert, kann angepasst werden, um ADAS RSS zu implementieren. Da das Bremsprofil ruckbegrenzt ist, ist die Gefahr falsch positiver Ergebnisse nicht sehr groß (der Fahrer ist nicht überrascht, und jemand hinter dem hinteren Auto wird wegen der Begrenzung des Rucks ebenfalls nicht überrascht sein). Daher ist es möglich, das System so abzustimmen, dass es weniger falsche Negative aufweist.
-
Navigation mit einem sicheren Längsabstand
-
Wie oben beschrieben, kann RSS zum Bestimmen eines Sicherheitsabstands zwischen einem Host-Fahrzeug und einem anderen Objekt (z. B. einem oder mehreren Zielfahrzeugen oder VRUs) wirksam sein. RSS liefert eine Reihe mathematischer Formeln, die verwendet werden können, um sicherzustellen, dass ein Fahrzeug, das RSS implementiert, nicht in einen von ihm verursachten Unfall verwickelt wird. Wie oben diskutiert, kann RSS angewendet werden, um einen Sicherheitsabstand zwischen zwei Fahrzeugen beizubehalten, die in die gleiche Richtung fahren. In anderen Ausführungsformen kann RSS jedoch auch verwendet werden, um einen Sicherheitsabstand zwischen zwei Fahrzeugen beizubehalten, die in entgegengesetzten Richtungen fahren. Beispielsweise können zwei Fahrzeuge bei einem Spurwechsel oder beim Navigieren auf einem Parkplatz aufeinander zu fahren. In einigen Fällen kann ein Fahrzeug auf der falschen Straßenseite fahren. RSS kann verwendet werden, um sicherzustellen, dass ein Host-Fahrzeug einen Sicherheitsabstand einhält, der beide Fahrzeuge berücksichtigt, und bei Bedarf bremst (und/oder lenkt), so dass die Fahrzeuge vollständig zum Stillstand kommen (oder einander anderweitig ausweichen), ohne eine Kollision zu verursachen.
-
48A veranschaulicht ein beispielhaftes Szenario mit zwei Fahrzeugen, die in entgegengesetzten Richtungen fahren, in Übereinstimmung mit den offenbarten Ausführungsformen. In diesem Szenario kann ein Host-Fahrzeug 4802 entlang einer Fahrspur einer zweispurigen Straße fahren, wie in 48A. Ein Zielfahrzeug 4804 kann in der entgegengesetzten Richtung des Host-Fahrzeugs 4802 auf einer Fahrspur fahren, die von dem Host-Fahrzeug 4802 belegt ist. Beispielsweise kann das Zielfahrzeug 4804 ein zweites entgegenkommendes Fahrzeug 4806 überholen und kann in die Fahrspur des Host-Fahrzeugs 4802 eintreten, um das Überholmanöver abzuschließen. Somit können das Host-Fahrzeug 4802 und das Zielfahrzeug 4804 in entgegengesetzten Richtungen aufeinander zufahren. Es können verschiedene andere Szenarien existieren, in denen zwei Fahrzeuge in entgegengesetzten Richtungen fahren. Beispielsweise kann das Host-Fahrzeug 4802 das Überholmanöver durchführen und in die Fahrspur des Zielfahrzeugs 4804 eintreten. Die zwei Fahrzeuge können in anderen Situationen aufeinander zu fahren, wie etwa auf einem Parkplatz, wenn sie beide über eine Kreuzung fahren, oder in einem ähnliches Szenario. Die vorliegende Offenbarung ist nicht auf ein bestimmtes Szenario beschränkt, in dem eine Fahrtrichtung eines Zielfahrzeugs in Richtung des Host-Fahrzeugs verläuft.
-
Das Host-Fahrzeug 4802 kann dazu ausgelegt sein, eine geplante Navigationsaktion durchzuführen, wenn es dem Host-Fahrzeug 4802 erlaubt, einen sicheren Längsabstand zum Fahrzeug 4804 beizubehalten, wie etwa einen RSS-Sicherheitsabstand, wie oben diskutiert. In dem Szenario in 48A kann die geplante Navigationsaktion beispielsweise darin bestehen, eine Vorwärtsrichtung beizubehalten oder eine Drosselaktion des Host-Fahrzeugs 4802 beizubehalten. In anderen Ausführungsformen kann die geplante Navigationsaktion eine sein, die das Host-Fahrzeug 4802 und das Zielfahrzeug 4804 veranlassen würden, in entgegengesetzten Richtungen aufeinander zu fahren. Beispielsweise kann die Navigationsaktion ein Überholmanöver aufweisen, bei dem das Host-Fahrzeug 4802 versucht, ein anderes Fahrzeug zu überholen, und in eine Fahrspur einfährt, die von dem Zielfahrzeug 4804 besetzt ist. Das Host-Fahrzeug 4802 kann dazu ausgelegt sein, das Überholmanöver durchzuführen, wenn ein Sicherheitsabstand zwischen dem Host-Fahrzeug 4802 und dem Zielfahrzeug 4804 eingehalten würde. Die Navigationsaktion kann auch andere Manöver aufweisen, wie etwa ein Spuränderungsmanöver, ein Einfädelmanöver, ein Parkplatz-Navigationsmanöver (z. B. Einfahren in eine Parklücke, Verlassen einer Parklücke, Parallelparken, Manövrieren zwischen Parkreihen, usw.), ein Kreuzungsmanöver (z. B. Abbiegen über Gegenverkehr, Überfahren einer gelben Ampel, usw.), oder dergleichen.
-
In dem beispielhaften Szenario von 48A ist die Richtung des Zielfahrzeugs 4804 in einer vollständig „frontalen“ Situation zum Host-Fahrzeug 4802. Die vorliegende Offenbarung kann gleichermaßen auf Situationen angewendet werden, in denen die Richtung des Zielfahrzeugs 4804 in einem Winkel zu dem Host-Fahrzeug 4802 verläuft. Dementsprechend sollte der hierin verwendete Begriff „in Richtung“ jede Situation aufweisen, in der eine wesentliche Komponente der Fahrtrichtung des Zielfahrzeugs in Richtung des Host-Fahrzeugs verläuft. Der Begriff „in Richtung“ kann sich auch auf eine Situation beziehen, in der sich der vordere Korridor von zwei oder mehr Fahrzeugen mindestens teilweise überlappt.
-
48B veranschaulicht ein beispielhaftes Szenario eines Zielfahrzeugs 4804, das auf ein Host-Fahrzeug 4802 zufährt, in Übereinstimmung mit den offenbarten Ausführungsformen. Das Host-Fahrzeug 4802 kann in einer Richtung 4812 fahren, und das Zielfahrzeug 4804 kann in einer Richtung 4814 fahren, die die Richtung 4812 schneidet. Die Richtungen 4812 und 4814 können sich, wie gezeigt, in einem Winkel Θ schneiden. In einer „Frontal“-Situation, in der die Host-Fahrzeuge 4802 und 4804 direkt aufeinander zu fahren, kann der Winkel Θ gleich oder im Wesentlichen gleich null sein. Es kann auch davon ausgegangen werden, dass das Zielfahrzeug 4804 in anderen Winkeln auf das Host-Fahrzeug 4804 zufährt. Beispielsweise kann in einigen Ausführungsformen die Richtung 4814 des Zielfahrzeugs 4804 als in Richtung des Host-Fahrzeugs 4802 verlaufend betrachtet werden, solange der Winkel Θ weniger als 90 Grad beträgt. In anderen Ausführungsformen kann es erforderlich sein, dass der Winkel Θ kleiner als ein anderer Winkel ist (z. B. 60 Grad, 45 Grad, 30 Grad usw.). Die Richtung 4814 kann auch basierend auf Längs- und Querkomponenten (x bzw. y) in Bezug auf das Host-Fahrzeug 4802 definiert werden. Die Richtung 4814 des Zielfahrzeugs 4804 kann als zum Host-Fahrzeug 4802 hin verlaufend betrachtet werden, solange x eine von Null verschiedene Komponente der Richtung 4814 in Richtung des Host-Fahrzeugs 4802 ist. In einigen Ausführungsformen kann auch eine Beziehung zwischen der Komponente x und der Komponente y definiert werden. Beispielsweise kann die Richtung 4814 des Zielfahrzeugs 4804 als in Richtung des Host-Fahrzeugs 4802 verlaufend betrachtet werden, solange die Komponente x größer als die Komponente y ist (was einen Winkel Θ von 45 Grad darstellt). Dementsprechend versteht es sich, dass der sichere Längsabstand nicht auf direkte „Frontal“-Situationen beschränkt ist und verschiedene andere Winkel aufweisen kann.
-
Wie oben diskutiert, kann der RSS-Sicherheitsabstand einem Abstand zwischen einem Host-Fahrzeug und einem Zielfahrzeug entsprechen, bei dem das Host-Fahrzeug stoppen kann, ohne mit dem Ziel zu kollidieren, unter der Annahme bestimmter Bedingungen. Der RSS-Sicherheitsabstand kann eine Berechnung des minimalen Abstands aufweisen, den die Fahrzeuge benötigen würden, um zu stoppen, wenn sie mit vorbestimmten Bremsraten und nach einem angenommenen Verhalten während entsprechender Reaktionszeiten für die Fahrzeuge bremsen. Beispielsweise berücksichtigt der RSS-Sicherheitsabstand die Möglichkeit, dass die beiden Autos während einer Reaktionszeit beide mit maximaler Beschleunigung aufeinander zu fahren, bevor sie jeweils mit einem vorbestimmten Bremsgrad bremsen, um vollständig zum Stehen zu kommen. Die Berücksichtigung der maximalen Beschleunigung der Fahrzeuge während der Reaktionszeiten ermöglicht eine Navigation gemäß dem RSS-Abstand, um sicherzustellen, dass es auch im Worst Case nicht zu Kollisionen kommt.
-
49 veranschaulicht ein Beispiel eines Host-Fahrzeugs, das einen sicheren Längsabstand einhält, gemäß den offenbarten Ausführungsformen. Das Zielfahrzeug 4904 kann in Richtung auf das Host-Fahrzeug 4902 zu fahren. Eine Verarbeitungsvorrichtung des Host-Fahrzeugs 4902 (z. B. die Verarbeitungseinheit 110) kann eine geplante Navigationsaktion zum Erreichen eines Navigationsziels des Host-Fahrzeugs bestimmen. Das Host-Fahrzeug 4902 kann dazu ausgelegt sein, die geplante Navigationsaktion durchzuführen, wenn zwischen dem Host-Fahrzeug 4902 und dem Zielfahrzeug 4904 ein sicherer RSS-Längsabstand beibehalten werden kann. Wie oben diskutiert, kann die geplante Navigationsaktion verschiedene Manöver aufweisen, wie etwa ein Spuränderungsmanöver, ein Einfädelmanöver, ein Überholmanöver, ein Manöver zum Beibehalten des Vorwärtskurses, ein Manöver zur Navigation auf dem Parkplatz, oder eine Aktion zum Beibehalten des Gashebels, oder andere ähnliche Navigationsaktionen. Die Verarbeitungsvorrichtung des Host-Fahrzeugs 4902 kann einen Nächstzustands-Abstand 4910 zwischen dem Host-Fahrzeug 4902 und dem Zielfahrzeug 4904 bestimmen, der einem Abstand zwischen den Fahrzeugen entspricht, der sich ergeben würde, wenn die geplante Navigationsaktion durchgeführt würde. Die Verarbeitungsvorrichtung kann auch einen Anhalteweg 4912 bestimmen, in dem das Fahrzeug 4902 gestoppt werden kann, und einen Anhalteweg 4914 bestimmen, in dem das Fahrzeug 4904 gestoppt werden kann. Die Verarbeitungsvorrichtung des Host-Fahrzeugs 4902 kann die geplante Navigationsaktion implementieren, wenn der bestimmte Nächstzustands-Abstand 4910 größer als eine Summe aus Anhalteweg 4912 und Anhalteweg 4914 ist, wodurch angezeigt wird, dass beide Fahrzeuge vollständig stoppen können, um eine Kollision zu vermeiden.
-
Die Anhaltewege 4912 und 4914 können in irgendeiner oben in Bezug auf RSS beschriebenen Weise berechnet werden. Beispielsweise kann der Abstand, der benötigt wird, um zu stoppen, unter Verwendung einer Fahrzeugbremsrate, einer maximalen Fahrzeugbeschleunigungsfähigkeit und einer aktuellen Geschwindigkeit des Fahrzeugs berechnet werden. In einigen Ausführungsformen kann die aktuelle Geschwindigkeit des Host-Fahrzeugs basierend auf einer Ausgabe eines oder mehrerer Sensoren bestimmt werden. Beispielsweise kann die aktuelle Geschwindigkeit aus einer Ausgabe eines Beschleunigers, eines LIDAR-Systems, eines RADAR-Systems, einer GPS-Einheit oder dergleichen bestimmt werden. Als weiteres Beispiel kann die aktuelle Geschwindigkeit des Host-Fahrzeugs durch Analysieren eines oder mehrerer Bilder bestimmt werden (z. B. basierend auf einer Skalierungsratenänderung eines feststehenden Objekts, die in zwei oder mehr Bildern erkannt wird).
-
In einigen Ausführungsformen können die offenbarten Ausführungsformen davon ausgehen, dass ein Fahrzeug mit seiner maximalen Bremsfähigkeit bremsen wird, um eine Kollision zu vermeiden. Beispielsweise kann die Bremsrate auf mindestens einer erkannten Eigenschaft des Fahrzeugs basieren. Für das Host-Fahrzeug 4902 kann die maximale Bremsrate bekannt sein oder durch das System basierend auf Eigenschaften des Fahrzeugs, früheren Bremsmanövern oder dergleichen geschätzt werden. Für ein Zielfahrzeug kann die maximale Bremsfähigkeit basierend auf mindestens einer Eigenschaft des Zielfahrzeugs bestimmt werden. Die mindestens eine Eigenschaft kann eine beliebige Eigenschaft sein, von der bekannt ist, dass sie mit einer Bremsfähigkeit korreliert oder mit einer Bremsfähigkeit korrelieren kann. In einigen Ausführungsformen kann die erkannte Eigenschaft des Zielfahrzeugs einen Fahrzeugtyp aufweisen, der basierend auf einer Analyse von Bildern bestimmt werden kann, die Darstellungen des Zielfahrzeugs enthalten. Der Fahrzeugtyp kann beispielsweise eine allgemeine Kategorie sein, zu der das Zielfahrzeug gehört (z. B. Oberklasse-Limousine, Kompaktwagen, SUV, Crossover-SUV, Motorrad, usw.), oder eine speziellere Kategorie oder Unterkategorie, die dem Zielfahrzeug zugeordnet ist. In einigen Ausführungsformen kann die erkannte Eigenschaft des Zielfahrzeugs ein Fahrzeugmodell, einen Markennamen oder einen anderen Klassifikator des Zielfahrzeugs (z. B. Toyota Prius®, BMW X5® usw.) aufweisen. Die Verarbeitungsvorrichtung kann so programmiert sein, dass sie annimmt, dass das Zielfahrzeug eine maximale Bremsfähigkeit hat, die der einer bekannten Bremsfähigkeit dieses Fahrzeugtyps oder einer Klasse von Fahrzeugen entspricht. Die Verarbeitungsvorrichtung kann den Fahrzeugtyp verwenden, um beispielsweise auf eine Datenbank zuzugreifen, die bekannte Bremsfähigkeiten jedes Fahrzeugtyps aufweist. Wenn beispielsweise der erkannte Fahrzeugtyp ein BMW X5® ist, kann die Verarbeitungsvorrichtung die gemeldeten Bremsfähigkeiten eines BMW X5® aus einer Datenbank nachschlagen. Wenn für ein Fahrzeugmodell mehrere maximale Bremsfähigkeiten gemeldet werden (z. B. kann ein BMW X5® unterschiedliche Bremsfähigkeiten haben, je nachdem, ob er die Ausstattungsvariante xDrive40i oder xDrive50i hat, oder in Abhängigkeit von seinem Herstellungsjahr), kann die Verarbeitungsvorrichtung dazu programmiert sein, anzunehmen, dass das Zielfahrzeug die beste maximale Bremsfähigkeit hat, die für dieses Fahrzeugmodell gemeldet wurde. Die erkannte Eigenschaft des Zielfahrzeugs kann auch einen Indikator dafür aufweisen, ob das Zielfahrzeug ein autonomes Fahrzeug ist, ein teilweise autonomes Fahrzeug ist, oder ob das Zielfahrzeug von einem Menschen betrieben wird. Solche Informationen können aus der Analyse aufgenommener Bilder (z. B. Bilder, die von einer oder mehreren Kameras an Bord des Host-Fahrzeugs erfasst wurden) abgeleitet werden, oder können von dem Zielfahrzeug über drahtlose Kommunikation gesendet werden.
-
In einigen Ausführungsformen kann die erkannte Eigenschaft des Zielfahrzeugs eine Fahrzeuggröße aufweisen. Die Fahrzeuggröße kann eine relative Größe, eine vorbestimmte Größe oder dergleichen sein. Die Fahrzeuggröße kann einer physischen Größe des Fahrzeugs und/oder einem geschätzten Gewicht des Fahrzeugs entsprechen. Beispielsweise kann die Verarbeitungsvorrichtung bestimmen, dass das Zielfahrzeug größer oder kleiner als das Host-Fahrzeug ist. In einem weiteren Beispiel kann die Verarbeitungsvorrichtung dazu programmiert sein, das Zielfahrzeug in eine oder mehrere vorbestimmte Fahrzeuggrößen zu klassifizieren, von denen jede einen Bereich von Größen aufweisen kann (z. B. Kategorie 1 = weniger als 1.000 kg; Kategorie 2 = 1.000 - 1500 kg; Kategorie 3 = 1500-1800 kg, usw.). Einige Fahrzeuge können eine Angabe ihrer Größe enthalten, die verwendet werden kann, um eine Fahrzeuggröße des Zielfahrzeugs zu bestimmen. Beispielsweise kann das Zielfahrzeug ein GMC Sierra® sein und kann einen Hinweis oder Modellnamen auf der Außenseite des Fahrzeugs enthalten, der seiner Größe zugeordnet ist, wie beispielsweise 1500, 2500, 2500HD, und so weiter.
-
Das Anwenden einer maximalen Bremsung, insbesondere, wenn eine solche Anwendung plötzlich erfolgt, kann als eine extreme Reaktion angesehen werden, die für Fälle reserviert werden sollte, in denen sie nicht vermeidbar ist. Unter bestimmten Umständen kann eine maximale Bremsung für die Passagiere unangenehm sein, nachfolgende Fahrzeuge betreffen, die Fahrzeughardware (Reifen, Bremsbeläge usw.) übermäßig abnutzen, usw. Dementsprechend kann der Anhalteweg für das Fahrzeug eine vorbestimmte submaximale Bremsrate annehmen, die geringer ist als eine maximale Bremsratenfähigkeit des Host-Fahrzeugs. Beispielsweise kann die submaximale Bremsrate eine allmähliche Anwendung der Bremse von einer anfänglichen Bremsleistung (die geringer als die maximale Bremsfähigkeit des Fahrzeugs ist) auf die maximale Bremsfähigkeit des Fahrzeugs annehmen, anstatt eine sofortige Anwendung der maximalen Bremsfähigkeit. In einigen Ausführungsformen kann die submaximale Bremsrate eine ideale oder statistisch akzeptable Bremsrate sein. Beispielsweise können Daten bezüglich der Bremsrate, mit der die meisten Menschen stoppen, verwendet werden, um die submaximale Bremsrate zu bestimmen. In einigen Ausführungsformen kann die submaximale Bremsrate gemäß einer Benutzerpräferenz eingestellt werden. Beispielsweise kann ein erster Fahrgast als erstes die submaximale Bremsrate bereitstellen, die für ihn oder sie angenehm ist, ein zweiter Fahrgast kann als zweites die submaximale Bremsrate bereitstellen, die für ihn oder sie angenehm ist, und so weiter. In einigen Ausführungsformen kann eine Verarbeitungsvorrichtung die submaximale Bremsrate beispielsweise basierend auf einer oder mehreren erfassten Straßenbedingungen (z. B. unstrukturierte Straße, Straßentraktionseigenschaften, usw.), Verkehrsbedingungen (Stauniveau, durchschnittlicher Abstand zwischen Fahrzeugen in der Nähe des Host-Fahrzeugs, Einscherungsrate vor dem Host-Fahrzeug, usw.), einer oder mehreren Fahrzeugeigenschaften, einer oder mehreren erfassten Wetterbedingungen, oder dergleichen bestimmen. Beispielsweise kann eine Verarbeitungsvorrichtung eine submaximale Bremsrate bestimmen, die die maximale Sicherheit und den maximalen Komfort auf einer verschneiten Straße bietet, eine submaximale Bremsrate, die die maximale Sicherheit und den maximalen Komfort auf einer trockenen Autobahn bietet, und so weiter. Es versteht sich, dass das Implementieren der submaximalen Bremsrate zwar dazu beitragen kann, den Komfort zu erhöhen, und andere positive Auswirkungen auf das Verhalten des Host-Fahrzeugs hat, aber auch weniger wünschenswerte Auswirkungen haben kann, insbesondere wenn die submaximale Bremsrate klein ist, so dass das Bremsen „lockerer“ oder weniger stark werden kann. Beispielsweise kann die Verwendung einer kleinen submaximalen Bremsrate einen stark negativen Effekt auf die Effizienz haben, indem sie bewirkt, dass das Fahrzeug immer einen übertriebenen Abstand zu dem vorausfahrenden Fahrzeug einhält. Dies kann andere Verkehrsteilnehmer belästigen und verhindern, dass das Host-Fahrzeug komplexe Szenarien, wie das Einfädeln und Fahren in Staugebieten, effektiv bewältigt. Somit kann in einigen Beispielen eine submaximale Bremsrate eingestellt, ausgewählt oder bestimmt werden, die Leistung oder Effizienz mit Komfort in Einklang bringt (während die RSS-Sicherheit beibehalten wird).
-
In Übereinstimmung mit dieser Offenbarung kann die submaximale Bremsrate eine Konstante sein. Beispielsweise kann die submaximale Bremsrate eine Bremsrate sein, die einer Verzögerung von 2 m/s2, 10m/s2 oder irgendeiner anderen konstanten Verzögerung entspricht. In einigen Ausführungsformen kann die submaximale Bremsrate eine Konstante sein, die proportional zu der maximalen Bremsratenfähigkeit eines Host-Fahrzeugs ist. Beispielsweise kann die submaximale Bremsrate 20 %, 33 %, 50 %, 70 % oder irgendein anderer Prozentsatz der maximalen Bremsfähigkeit des Host-Fahrzeugs sein. In einigen Ausführungsformen kann die submaximale Bremsrate eine lineare Funktion der aktuellen Geschwindigkeit des Host-Fahrzeugs sein, so dass die Bremsung allmählich von der minimalen Bremsfähigkeit des Host-Fahrzeugs bis höchstens zur maximalen Bremsfähigkeit des Host-Fahrzeugs angewendet wird. Beispielsweise kann eine submaximale Bremsrate bestimmt werden, die es dem Host-Fahrzeug ermöglicht, von seiner aktuellen Geschwindigkeit ausgehend zum Stillstand zu kommen, ohne die maximale Bremsfähigkeit des Fahrzeugs zu erreichen. Als weiteres Beispiel kann eine submaximale Bremsrate bestimmt werden, die schließlich die maximale Bremsfähigkeit des Host-Fahrzeugs erreicht, so dass das Host-Fahrzeug in einem ersten Teil eines Stoppmanövers mit weniger als der maximalen Bremsfähigkeit bremst und in einem zweiten Teil das Stoppmanöver mit seiner maximalen Bremsfähigkeit bremst. In einigen Ausführungsformen kann die submaximale Bremsrate eine andere Funktion als die aktuelle Geschwindigkeit des Fahrzeugs sein. Beispielsweise kann die submaximale Bremsrate eine Bremsrate sein, die exponentiell oder logarithmisch angewendet wird, bis das Fahrzeug zum Stillstand kommt.
-
In einigen Ausführungsformen kann die submaximale Bremsrate basierend auf einer Schuld- oder Verantwortlichkeitsbestimmung bestimmt werden, die dem Host-Fahrzeug 4902 oder dem Zielfahrzeug 4904 zugeordnet ist. Aus einer Verantwortungsperspektive kann das Host-Fahrzeug 4902 verpflichtet sein, zu bremsen, jedoch mit einer geringeren Rate als das Zielfahrzeug 4904. Beispielsweise kann das Zielfahrzeug 4904 für eine gegebene Fahrspur oder Straße in einer falschen Richtung fahren, wie in 48A gezeigt wird, und kann daher eine größere Bremspflicht haben. Dementsprechend kann die Bremsrate des Host-Fahrzeugs geringer sein als die Bremsrate des Zielfahrzeugs, oder umgekehrt.
-
Wie oben diskutiert, kann eine RSS-Distanz von der maximal potenziellen Beschleunigungsfähigkeit abhängig sein, die das Fahrzeug während eines Zeitraums zwischen einem erfassten Ereignis und einer Reaktion eines Fahrzeugs auf ein erfasstes Ereignis erfahren kann (d. h., eine Reaktionszeit, die dem Host-Fahrzeug zugeordnet ist). Dementsprechend kann der Anhalteweg auch einen Fahrzeugbeschleunigungsweg aufweisen, der einem Weg entspricht, den das Fahrzeug während einer Fahrzeugreaktionszeit bei der maximalen Beschleunigungsfähigkeit des Fahrzeugs zurücklegen kann, ausgehend von der bestimmten aktuellen Geschwindigkeit des Fahrzeugs. Beispielsweise können die offenbarten Ausführungsformen eine Verzögerung zwischen dem Zeitraum berücksichtigen, in dem das Host-Fahrzeug 4902 oder das Zielfahrzeug 4904 beginnt, die Bremse zu betätigen oder ein anderes Navigationsmanöver durchzuführen. Beispielsweise können mehrere Millisekunden (oder mehr oder weniger) zwischen dem Zeitpunkt liegen, zu dem das Host-Fahrzeug 4902 erkennt, dass das Zielfahrzeug 4904 auf das Host-Fahrzeug 4902 zufährt. Die Verarbeitungsvorrichtung kann die Beschleunigung berücksichtigen, die während der Reaktionsdauer p auftreten kann, entsprechend der Reaktionszeit des Fahrzeugs. Die Reaktionsdauer p kann einer bekannten Eigenschaft eines Fahrzeugs entsprechen, ähnlich der Bremsrate, oder kann ein angenommener Wert für alle Autos sein (z. B. eine bestimmte Reaktionszeit für von Menschen betriebene Fahrzeuge und ein anderer Wert (möglicherweise unterschiedlich) für autonome Fahrzeuge). Beispielsweise sei v1 die aktuelle Geschwindigkeit des Fahrzeugs. Der Anhalteweg für ein Fahrzeug kann einen ersten Term aufweisen, der einer Strecke entspricht, die das Fahrzeug als Ergebnis einer maximalen Beschleunigung während der Reaktionszeit zurücklegt. Der Anhalteweg kann auch einen Abstand aufweisen, den das Fahrzeug benötigt, um seine Geschwindigkeit bei einer vorbestimmten Bremsrate (z. B. einer maximalen Bremsrate oder einer submaximalen Bremsrate) ausgehend von seiner Endgeschwindigkeit am Ende des Reaktionszeitraums auf 0 zu verringern.
-
Wie angemerkt, kann die Geschwindigkeit des Fahrzeugs, die bei RSS- und/oder der Bestimmung des Anhaltewegs verwendet wird, einer maximalen Geschwindigkeit des Host-Fahrzeugs nach dem Beschleunigen für seine Reaktionsdauer ρ (z. B. bei seiner maximalen Beschleunigungsfähigkeit) entsprechen. Sei Beispielsweise v
1 eine aktuelle Geschwindigkeit des Fahrzeugs, sei p die Reaktionsdauer, und sei a
max,accel die maximale Beschleunigung des Fahrzeugs, dann ist die maximale Geschwindigkeit v
max,ρ des Fahrzeugs nach der Reaktionsdauer p:
-
Dementsprechend kann vmax,ρ beim Bestimmen des Anhaltewegs des Host-Fahrzeugs 4902 und/oder des Zielfahrzeugs 4904 verwendet werden. Beispielsweise kann die Verarbeitungsvorrichtung bei der Bestimmung des Anhaltewegs des Fahrzeugs annehmen, dass die maximale oder submaximale Bremsrate angewendet wird, beginnend bei einer Geschwindigkeit von vmax,ρ.
-
In einigen Ausführungsformen kann die Verarbeitungsvorrichtung des Host-Fahrzeugs 4902 dazu ausgelegt sein, die geplante Navigationsaktion zu implementieren, wenn der bestimmte Nächstzustands-Abstand um mindestens einen vorbestimmte Mindestabstand (z. B. 0, oder jeder geeignete Abstand größer als 0, wie etwa 0,5 m, 1 m, 2 m usw.) größer ist als die Summe des Anhaltewegs 4912 für das Host-Fahrzeug 4902 und des Anhaltewegs 4914 des Zielfahrzeugs 4904. Wenn der RSS-Sicherheitsabstand in Längsrichtung eine Komponente des minimalen Annäherungsabstands ungleich Null aufweist, dann würde das Host-Fahrzeug 4902 bei der Sicherheitsabstandsbestimmung mindestens in dem Mindestabstand von dem Zielfahrzeug zum Stehen kommen. Der Mindestabstand kann vorbestimmt sein (z. B. ein Mindestabstand von 0,5 m, 1 m, 2 m usw.). Der minimale Annäherungsabstand kann basierend auf einem beliebigen Satz von Faktoren in Übereinstimmung mit dieser Offenbarung bestimmt werden. In einigen Fällen kann der minimale Annäherungsabstand auf der Fahrzeuggeschwindigkeit basieren. Beispielsweise kann ein minimaler Annäherungsabstand für höhere Raten einer erfassten Geschwindigkeit relativ zu entweder dem Host-Fahrzeug 4902 oder dem Zielfahrzeug 4904 höher eingestellt werden. Der minimale Annäherungsabstand kann auch von einer erfassten Wetterbedingung abhängig sein (z. B. kann, wo Schnee oder Wasser auf einer Straße erfasst wird, oder wo ein erfasster Traktionsindikator eine nicht optimale Traktion anzeigt, der minimale Annäherungsabstand erhöht sein, um einen zusätzlichen Sicherheitspuffer bereitzustellen).
-
Die 50A und 50B stellen Flussdiagramme bereit, die einen beispielhaften Prozess 5000 zum Beibehalten eines sicheren Längsabstands darstellen, in Übereinstimmung mit den offenbarten Ausführungsformen. Der Prozess 5000 kann von mindestens einer Verarbeitungsvorrichtung, wie etwa der oben beschriebenen Verarbeitungseinheit 110, durchgeführt werden. Der Prozess 5000 ist beispielhaft, und ein durchschnittlicher Fachmann auf dem Gebiet, der diese Offenbarung liest, kann verstehen, dass der Prozess 5000 zusätzliche Schritte aufweisen, bestimmte Schritte ausschließen, oder anderweitig in einer mit dieser Offenbarung konsistenten Weise modifiziert werden kann.
-
Der Prozess 5000 kann einen Schritt 5002 zum Empfangen mindestens eines Bildes aufweisen, das eine Umgebung des Host-Fahrzeugs darstellt. Das mindestens eine Bild kann von einer Bildaufnahmevorrichtung empfangen werden, die eine beliebiges Bildaufnahmevorrichtung gemäß dieser Offenbarung sein kann, einschließlich der Bildaufnahmevorrichtung 122. In einigen Ausführungsformen kann das mindestens eine Bild ein Bild sein, das von einem von einer Kamera, einem RADAR, einem LIDAR, oder jeder anderen Vorrichtung, von der ein Bild erhalten werden kann, ob optisch oder auf andere Weise, erhalten wird. Zwischen dem Zeitpunkt, zu dem das Bild aufgenommen wird, und dem Zeitpunkt, zu dem die Verarbeitungsvorrichtung das Bild empfängt, kann es zu einer gewissen Verzögerung kommen. Ferner kann es zwischen dem Zeitpunkt, zu dem ein Ereignis auftritt, und der Aufnahme eines Bildes des Ereignisses durch die Bildgebungsvorrichtung eine Verzögerungszeit geben. Wenn beispielsweise ein Zielfahrzeug vor einem Host-Fahrzeug in eine Fahrspur einfährt, kann es eine kurze Zeitdauer (z. B. eine Millisekunde, 2 Millisekunden, 5 Millisekunden usw.) zwischen dem Manövrieren des Zielfahrzeugs in die Fahrspur und wann die Bildaufnahmevorrichtung ein Bild des Zielfahrzeugs aufnimmt (und verarbeitet) geben.
-
Der Prozess 5000 kann einen Schritt 5004 zum Bestimmen einer geplanten Navigationsaktion für das Host-Fahrzeug aufweisen. In Übereinstimmung mit dieser Offenbarung kann die mindestens eine Verarbeitungsvorrichtung dafür programmiert sein, eine geplante Navigationsaktion zum Erreichen eines Navigationsziels des Host-Fahrzeugs zu bestimmen. Die Navigationsaktion kann basierend auf mindestens einer Fahrrichtlinie bestimmt werden. Die geplante Navigationsaktion und/oder die mindestens eine Fahrrichtlinie können mit dieser Offenbarung konsistent sein, einschließlich der oben diskutierten. Beispielsweise kann die geplante Navigationsaktion mindestens eines von einem Fahrspuränderungsmanöver, einem Einfädelmanöver, einem Überholmanöver, einem Manöver zum Beibehalten einer Vorwärtsfahrt, einem Manöver zum Navigieren auf einem Parkplatz, oder einem Beibehalten der Gashebels aufweisen.
-
Der Prozess 5000 kann einen Schritt 5006 zum Analysieren des mindestens einen Bildes, um ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs zu identifizieren, aufweisen. Das mindestens eine Bild kann ein Bild sein, das von einer Bildaufnahmevorrichtung, wie etwa der Bildaufnahmevorrichtung 122, empfangen wird. Das mindestens eine Bild kann das eine oder die mehreren Bilder sein, die als Teil von Schritt 5002 des Prozesses 5000 empfangen werden.
-
Der Prozess 5000 kann einen Schritt 5008 zum Bestimmen eines Nächstzustands-Abstands aufweisen, der der geplanten Navigationsaktion zugeordnet ist. In Übereinstimmung mit dieser Offenbarung kann die Verarbeitungsvorrichtung dafür programmiert sein, einen Nächstzustands-Abstand zwischen dem Host-Fahrzeug und dem Zielfahrzeug zu bestimmen, der sich ergeben würde, wenn die geplante Navigationsaktion durchgeführt würde. Der Nächstzustands-Abstand kann durch beliebige hierin offenbarte Mittel berechnet werden, einschließlich des oben beschriebenen RSS-Sicherheitsabstands. Wenn beispielsweise die geplante Navigationsaktion eine Beschleunigung des Host-Fahrzeugs ist, kann der Nächstzustands-Abstand ein erwarteter Abstand zwischen dem Host-Fahrzeug und dem vor dem Host-Fahrzeug vorausfahrenden Zielfahrzeug sein, nachdem die Navigationsaktion durchgeführt wurde.
-
Der Prozess 5000 kann einen Schritt 5010 zum Bestimmen einer Bremsrate des Host-Fahrzeugs, einer maximalen Beschleunigungsfähigkeit des Host-Fahrzeugs, und einer aktuellen Geschwindigkeit des Host-Fahrzeugs aufweisen. Jeder der Faktoren (d. h. die Fahrzeugbremsrate, die maximale Beschleunigungsfähigkeit und die Geschwindigkeit des Host-Fahrzeugs) kann durch beliebige Mittel bestimmt werden, die mit dieser Offenbarung übereinstimmen. Die Fahrzeugbremsrate kann eine dem Fahrzeug zugeordnete maximale Bremsrate darstellen, oder kann eine submaximale Bremsrate sein, wie oben beschrieben. In einigen Ausführungsformen können die Fahrzeugbremsrate und/oder die maximale Beschleunigungsfähigkeit des Host-Fahrzeugs beispielsweise basierend auf der aktuellen Geschwindigkeit des Fahrzeugs, Straßenbedingungen (z. B. einer Neigung der Straße, einem Material der Straße usw.), Wetterbedingungen (z. B. verschneit, feucht usw.), Fahrzeugbedingungen (z. B. Reifendruck, Zustand des Bremsbelags, aktuelle Beladung des Fahrzeugs usw.), oder dergleichen bestimmt werden. In einigen Ausführungsformen können einer oder mehrere der Faktoren basierend auf einer Ausgabe einer oder mehrerer Sensoren bestimmt werden. Beispielsweise kann ein Host-Fahrzeug einen Beschleunigungsmesser enthalten, der eine Ausgabe an die Verarbeitungsvorrichtung liefern kann, und diese Ausgabe kann eine aktuelle Geschwindigkeit des Host-Fahrzeugs und/oder eine Beschleunigungsfähigkeit des Host-Fahrzeugs aufweisen. In einigen Ausführungsformen kann die Verarbeitungsvorrichtung eine aktuelle Geschwindigkeit des Host-Fahrzeugs bestimmen, und die aktuelle Geschwindigkeit verwenden, um eine aktuelle Fahrzeugbremsrate und/oder eine aktuelle Beschleunigungsfähigkeit zu bestimmen. Beispielsweise kann sich die Fahrzeugbremsrate eines Fahrzeugs, das mit einer ersten Geschwindigkeit (z. B. 15 km/h) fährt, erheblich von der Fahrzeugbremsrate desselben Fahrzeugs unterscheiden, das mit einer zweiten Geschwindigkeit (z. B. 30 km/h) fährt. In einigen Ausführungsformen können eine oder mehrere von der Fahrzeugbremsrate, der maximalen Beschleunigungsfähigkeit und/oder der Geschwindigkeit des Host-Fahrzeugs unter Verwendung eines vorbestimmten Werts angenommen werden. Beispielsweise kann die Verarbeitungsvorrichtung dazu ausgelegt sein, anzunehmen, dass das Host-Fahrzeug eine maximale Bremsfähigkeit aufweist, die einem vorbestimmten Wert entspricht, der einer durchschnittlichen (oder der schlechtesten) maximalen Bremsfähigkeit des dem Host-Fahrzeug zugeordneten Fahrzeugtyps entspricht. In einigen Ausführungsformen kann jeder Faktor basierend auf äußeren Bedingungen der Straße oder temporären Eigenschaften des Fahrzeugs bestimmt werden. Beispielsweise kann die Fahrzeugbremsrate des Host-Fahrzeugs basierend auf einem erfassten Zustand einer Straßenoberfläche bestimmt werden. In diesem Beispiel kann der erfasste Straßenzustand eine Unebenheit der Straße, eine Schräge oder einen Anstieg der Straße, das Vorhandensein oder Fehlen einer Substanz oder eines Objekts auf der Straße, unabhängig davon, ob die Straße Asphalt, Zement, Kies oder ein anderes Material aufweist, oder jede andere Bedingung, die mit dieser Offenbarung übereinstimmt, aufweisen. Als anderes Beispiel kann die Fahrzeugbremsrate des Host-Fahrzeugs basierend auf einer erfassten Wetterbedingung bestimmt werden. In diesem Beispiel kann die Wetterbedingung eine Erfassung von Niederschlag (z. B. Regen, Graupel, Schnee, Eis usw.), eine Wetterbedingung, die die Sicht beeinträchtigt (z. B. Nebel, Smog, Rauch usw.), ein Wetterbedingung, die die Handhabung des Fahrzeugs beeinträchtigen kann (z. B. starker Wind, große Hitze usw.), oder jede andere Wetterbedingung, die eine Navigationsreaktion des Host-Fahrzeugs beeinträchtigen kann, aufweisen. In einem anderen Beispiel kann die Verarbeitungsvorrichtung eine Fahrzeugbremsrate basierend darauf bestimmen, ob das Host-Fahrzeug beispielsweise einen Fahrgast oder eine Vielzahl von Fahrgästen, Ladung mit einem erheblichen Gewicht, einen Anhänger usw. aufweist. Solche Bedingungen können basierend auf einer Analyse von Bildern erfasst werden, die von Bordkameras erfasst werden (z. B. Erkennen von Schnee oder Wasser auf einer Fahrspur, Wasser auf einer Windschutzscheibe, Straßenoberflächenglätte usw.), oder können auf beliebigen anderen geeigneten Sensoren basieren. Solche Sensoren können Radschlupfsensoren, Bremssystemsensorausgaben, Empfänger von Signalen, die von der straßenseitigen Infrastruktur übertragen werden, Wetterdaten, die über eine WiFi-Verbindung gestreamt werden, GPS- und/oder Tachometerausgaben usw. aufweisen.
-
In einigen Ausführungsformen können die Fahrzeugbremsrate und/oder die maximale Beschleunigungsfähigkeit basierend auf einem oder mehreren vordefinierten Faktoren bestimmt werden. Beispielsweise kann eine Regierungs- oder Industrieentität eine oder mehrere Vorschriften bestimmen, die eine Fahrzeugbremsrate und/oder eine maximale Beschleunigungsfähigkeit vorschreiben, die ein Fahrzeug oder eine Fahrzeugklasse haben kann, und der mindestens eine Prozessor kann davon ausgehen, dass das Host-Fahrzeug die Bremsrate und/oder die maximal Beschleunigungsfähigkeit, die durch die Vorschriften zulässig sind, hat. Beschränkungen der maximalen Brems- und/oder maximalen Beschleunigungswerte können auch benutzerdefiniert (z. B. kann ein Insasse eines autonomen Fahrzeugs eine oder mehrere Fahrzeugeinstellungen auswählen, die vorbestimmten maximal zulässigen Brems- und Beschleunigungswerten entsprechen), durch ein Szenario definiert (z. B. basierend auf Umständen an einem bestimmten Ort und/oder während eines bestimmten Navigations-Szenarios) und/oder basierend auf einer beobachteten Leistung (z. B. basierend auf historischen Daten, die während der autonomen Navigation und/oder einer Navigation durch einen Benutzer gesammelt wurden) sein.
-
Der Prozess 5000 kann einen Schritt 5012 zum Bestimmen eines Anhaltewegs für das Host-Fahrzeug aufweisen. In Übereinstimmung mit dieser Offenbarung kann die Verarbeitungsvorrichtung dazu ausgelegt sein, einen Anhalteweg für das Host-Fahrzeug basierend auf der Bremsrate des Host-Fahrzeugs, der maximalen Beschleunigungsfähigkeit des Host-Fahrzeugs und/oder der aktuellen Geschwindigkeit des Host-Fahrzeugs (z. B. wie oben ausführlich beschrieben) zu bestimmen. Der Anhalteweg für das Host-Fahrzeug kann durch beliebige Mittel in Übereinstimmung mit dieser Offenbarung bestimmt werden. Beispielsweise kann die Verarbeitungsvorrichtung eine oder mehrere der Formeln verwenden, die oben in Bezug auf RSS diskutiert wurden.
-
In einigen Ausführungsformen kann ein Anhalteweg ein Weg sein, den ein Host-Fahrzeug bei einer gegebenen aktuellen Geschwindigkeit zum Anhalten braucht, wenn das Host-Fahrzeug für einen Zeitraum mit seiner maximalen Beschleunigungsfähigkeit beschleunigen würde, bevor es mit einer vorbestimmten Bremsfähigkeit bremst. Beispielsweise kann der Anhalteweg für das Host-Fahrzeug einen Beschleunigungsabstand aufweisen, der einem Abstand entspricht, den das Host-Fahrzeug über einen vorbestimmten Zeitraum bei der aktuellen maximalen Beschleunigungsfähigkeit des Host-Fahrzeugs zurücklegen kann, ausgehend von der bestimmten aktuellen Geschwindigkeit des Host-Fahrzeugs. Der vorbestimmte Zeitraum kann ein von der Verarbeitungsvorrichtung angenommener Zeitraum sein. Beispielsweise kann eine Beschränkung vorschreiben, dass die Verarbeitungsvorrichtung annimmt, dass ein Host-Fahrzeug für eine bestimmte Zeitdauer (z. B. 0,5 Millisekunden, 1 Millisekunde, 2 Millisekunden, 3 Millisekunden, 10 Millisekunden usw.) beschleunigen wird. Die vorbestimmte Zeitdauer kann eine Reaktionsdauer sein, die dem Host-Fahrzeug zugeordnet ist. Beispielsweise kann die vorbestimmte Zeitdauer eine Verzögerung sein zwischen dem Zeitpunkt, zu dem ein Sensor (z. B. eine Bildgebungsvorrichtung) des Host-Fahrzeugs ein Bild eines Zustands aufnimmt, der eine Bremsreaktion von dem Host-Fahrzeug erfordert (z. B., ein Zielfahrzeug kommt in die Fahrspur des Host-Fahrzeugs), und dem Zeitpunkt, wenn das Host-Fahrzeug beginnt, mit seiner Fahrzeugbremsrate zu bremsen. Solche Zeitdauern können Verarbeitungszeiten im Zusammenhang mit der Analyse des aufgenommenen Bildes, Planen einer Navigationsreaktion basierend auf einer oder mehrerer prozessorimplementierter Fahrrichtlinien, und Implementieren der Navigationsreaktion durch Steuerung eines oder mehrerer Aktuatoren im Zusammenhang mit einem Lenk- und/oder Bremssystem (zusammen mit anderen) eines Fahrzeugs aufweisen. In diesem Beispiel kann angenommen werden, dass das Host-Fahrzeug in einem Worst-Case-Szenario für die gesamte Verzögerungszeit mit seiner maximalen Beschleunigungsfähigkeit beschleunigt. In einigen Ausführungsformen kann die der Reaktionszeit zugeordnete Zeitdauer durch die Verarbeitungsvorrichtung bestimmt oder angenähert werden. Beispielsweise kann die Verarbeitungsvorrichtung die Zeit zwischen dem Empfangen eines Bildes und dem Bestimmen, dass eine Bremsreaktion erforderlich ist, überwachen. Als ein anderes Beispiel kann die Verarbeitungsvorrichtung eine mittlere, Median- oder Modus-Reaktionszeit bestimmen, die mehreren Navigationsreaktionen zugeordnet ist, und die mittlere, Median- oder Modus-Reaktionszeit beim Berechnen eines Anhaltewegs verwenden. Beispielsweise kann die Verarbeitungsvorrichtung nach zehn, hundert oder tausend Navigationsreaktionen bestimmen, dass die durchschnittliche Zeit zwischen einem erfassten Ereignis und einer Navigationsreaktion ein bestimmter Wert ist (z. B. eine beliebige reelle Zahl von Millisekunden), und diesen Wert als dem Host-Fahrzeug zugeordnete Reaktionszeit verwenden. In einigen Fällen kann die bei der RSS-Abstandsbestimmung verwendete Reaktionszeit fahrzeugspezifisch sein und kann einen laufenden Durchschnitt einer gemessenen Reaktionszeit für das bestimmte Fahrzeug auf verschiedene erfasste Bedingungen aufweisen.
-
In Übereinstimmung mit dieser Offenbarung kann ein bestimmter Anhalteweg einen minimalen Abstand zwischen dem Host-Fahrzeug und dem Zielfahrzeug, nachdem es einen vollständigen Stillstand erreicht hat, aufweisen. Der bestimmte oder vorbestimmte Mindestabstand kann einem vorbestimmten Trennabstand entsprechen, der zwischen dem Host-Fahrzeug und anderen Fahrzeugen einzuhalten ist. Beispielsweise kann die Verarbeitungsvorrichtung so programmiert sein, dass sie einen bestimmten oder vorbestimmten Mindestabstand in eine Berechnung eines Anhaltewegs einbezieht. Beispielsweise kann ein vorbestimmter Trennabstand mindestens einen Meter betragen. In diesem Beispiel kann der bestimmte oder vorbestimmte minimale Abstand dmin sein, wie oben diskutiert.
-
Der Prozess 5000 kann einen Schritt 5014 zum Bestimmen einer aktuellen Geschwindigkeit des Zielfahrzeugs, einer maximalen Beschleunigungsfähigkeit des Zielfahrzeugs, und einer Bremsrate des Zielfahrzeugs aufweisen. In Übereinstimmung mit dieser Offenbarung kann die mindestens eine Verarbeitungsvorrichtung dazu programmiert sein, eine aktuelle Geschwindigkeit eines Zielfahrzeugs zu bestimmen. In einigen Ausführungsformen kann die Geschwindigkeit des Zielfahrzeugs basierend auf der Geschwindigkeit des Host-Fahrzeugs bestimmt werden. Beispielsweise können einer oder mehrere Sensoren an einem Host-Fahrzeug Informationen in Bezug auf die Geschwindigkeit des Host-Fahrzeugs und eine Angabe der Beschleunigung oder Richtungsänderung eines Zielfahrzeugs in Bezug auf das Host-Fahrzeug bereitstellen. In einigen Ausführungsformen kann die Geschwindigkeit des Zielfahrzeugs basierend auf einer Analyse von mindestens einem Bild bestimmt werden. Das mindestens eine Bild kann beispielsweise dasselbe Bild sein, das von der Verarbeitungsvorrichtung in Schritt 5002 empfangen wurde, das verwendet wurde, um das Zielfahrzeug in Schritt 5006 zu identifizieren. In einigen Ausführungsformen können eine Vielzahl von Bildern analysiert werden, um eine Geschwindigkeit des Zielfahrzeugs zu bestimmen. Beispielsweise kann ein erstes Bild das Zielfahrzeug in einem ersten Abstand von dem Host-Fahrzeug darstellen, und ein zweites Bild kann das Zielfahrzeug in einem zweiten Abstand von dem Host-Fahrzeug darstellen, wobei die Verarbeitungsvorrichtung die Änderung des Abstands und die Zeit zwischen dem ersten und dem zweiten Bild verwenden kann, um eine dem Zielfahrzeug zugeordnete Geschwindigkeit zu bestimmen. In einigen Ausführungsformen kann die Zielfahrzeuggeschwindigkeit basierend auf einer Analyse einer Ausgabe von mindestens einem von einem LIDAR-System oder einem RADAR-System, das dem Host-Fahrzeug zugeordnet ist, bestimmt werden. Beispielsweise kann die Verarbeitungsvorrichtung die Geschwindigkeit des Host-Fahrzeugs und einen Abstand zwischen dem Host-Fahrzeug und dem Zielfahrzeug (wie er beispielsweise von einem LIDAR-System erfasst wird) verwenden, um eine Geschwindigkeit des Host-Fahrzeugs zu bestimmen.
-
In einigen Ausführungsformen kann die Verarbeitungsvorrichtung zur Berücksichtigung eines Worst-Case-Szenarios so programmiert sein, dass sie annimmt, dass die aktuelle Geschwindigkeit des Zielfahrzeugs kleiner oder größer als eine erfasste Geschwindigkeit des Zielfahrzeugs ist. Wenn beispielsweise das Zielfahrzeug vor dem Host-Fahrzeug fährt, kann die Verarbeitungsvorrichtung dazu programmiert sein, eine erfasste Geschwindigkeit unter Verwendung eines vorbestimmten Werts, eines Prozentsatzes, einer Formel oder dergleichen zu verringern. Wenn die Verarbeitungsvorrichtung basierend auf Informationen von einem oder mehreren Sensoren bestimmt, dass ein Zielfahrzeug mit 100 km/h fährt, kann sie die erfasste Geschwindigkeit um 10 % anpassen, um anzunehmen, dass das Fahrzeug mit 90 km/h fährt. Die Geschwindigkeit eines Zielfahrzeugs kann mit der Bremsrate des Zielfahrzeugs korreliert werden, so dass die Annahme einer verringerten Geschwindigkeit des Zielfahrzeugs der Annahme ähnlich ist, dass das Zielfahrzeug schneller stoppen kann, als es sonst könnte (z. B. kann ein Zielfahrzeug bei 90 km/h in einem kürzeren Abstand stoppen als bei 100 km/h).
-
In Übereinstimmung mit dieser Offenbarung kann die mindestens eine Verarbeitungsvorrichtung dazu programmiert sein, eine maximale Beschleunigungsfähigkeit und/oder Fahrzeugbremsrate des Zielfahrzeugs basierend auf mindestens einer erkannten Eigenschaft des Zielfahrzeugs anzunehmen. Die mindestens eine Eigenschaft kann eine beliebige Eigenschaft sein, von der bekannt ist, dass sie mit einer Beschleunigungsfähigkeit korreliert, oder mit einer Beschleunigungs- oder Bremsfähigkeit korrelieren kann. In einigen Ausführungsformen kann die erkannte Eigenschaft des Zielfahrzeugs einen Fahrzeugtyp, eine Klasse, eine Marke, ein Modell, eine Größe oder dergleichen aufweisen, wie oben beschrieben.
-
Die Verarbeitungsvorrichtung kann dazu programmiert sein, die mindestens eine Eigenschaft aus Informationen von einem oder mehreren Sensoren (z. B. LIDAR, RADAR, Bildgebungsvorrichtungen usw.) zu erkennen. In einigen Ausführungsformen kann die erkannte Eigenschaft des Zielfahrzeugs basierend auf einer Analyse des mindestens einen Bildes bestimmt werden. Beispielsweise kann das Bild des Zielfahrzeugs einen Text auf der Außenseite des Zielfahrzeugs aufweisen, der verwendet werden kann, um einen Fahrzeugtyp, ein Fahrzeugmodell, eine Fahrzeuggröße oder andere Eigenschaften zu bestimmen. Als ein weiteres Beispiel kann das Bild des Zielfahrzeugs andere Objekte aufweisen, die verwendet werden können, um eine Fahrzeuggröße oder eine andere Eigenschaft basierend auf einem Vergleich mit den anderen Objekten anzunähern. Beispielsweise kann ein großes Fahrzeug größer als ein Geschwindigkeitsbegrenzungsschild erscheinen, während ein kleines Fahrzeug kleiner als ein Geschwindigkeitsbegrenzungsschild erscheinen kann. In einigen Ausführungsformen kann die mindestens eine Eigenschaft des Zielfahrzeugs basierend auf mindestens einer von einer LIDAR-Ausgabe oder einer RADAR-Ausgabe bestimmt werden. Beispielsweise kann eine LIDAR-Ausgabe einen ersten Abstand aufweisen, der dem Abstand zu dem hinteren Stoßfänger des Zielfahrzeugs zugeordnet ist, und einen zweiten Abstand, der einem Abstand zu dem vorderen Stoßfänger (oder einem anderen Bereich) des Zielfahrzeugs zugeordnet ist, wobei die Differenz zwischen diesen möglicherweise verwendet wird, um die Größe des Zielfahrzeugs abzuschätzen. Größen von Zielfahrzeugen können auch basierend auf bekannten Größen von abgebildeten Merkmalen (z. B. Bremslichtern, Reifen, Seitenspiegeln usw.) geschätzt werden. Eine Bestimmung, wie ein Objekt von einem Bild zum anderen skaliert, kann auch verwendet werden, um eine Zielfahrzeuggröße oder einen Bereich davon vorherzusagen.
-
Wie oben diskutiert, kann die Soll-Fahrzeugbremsrate einer maximalen oder submaximalen Bremsrate des Fahrzeugs entsprechen. Die Bremsrate des Zielfahrzeugs oder die maximale Beschleunigungsfähigkeit des Zielfahrzeugs können durch beliebige Mittel bestimmt werden, die mit dieser Offenbarung übereinstimmen, einschließlich der oben in Schritt 5010 für das Host-Fahrzeug beschriebenen Mittel. Beispielsweise kann die Soll-Fahrzeugbremsrate basierend auf einem erfassten Zustand einer Straßenoberfläche, einem erfassten Wetterzustand usw. bestimmt werden. In einigen Ausführungsformen kann die Fahrzeugbremsrate von einer Verantwortlichkeits- oder Schuldeigenschaft abhängig sein, die dem Host-Fahrzeug oder Zielfahrzeug zugeordnet ist. Dementsprechend kann die Bremsrate des Host-Fahrzeugs geringer sein als die Bremsrate des Zielfahrzeugs, oder umgekehrt.
-
Der Prozess 5000 kann einen Schritt 5016 zum Bestimmen eines Anhaltewegs für das Zielfahrzeug basierend auf der Bremsrate des Zielfahrzeugs, der maximalen Beschleunigungsfähigkeit des Zielfahrzeugs und der aktuellen Geschwindigkeit des Zielfahrzeugs aufweisen. Der Anhalteweg für das Zielfahrzeug kann ein Abstand sein, den das Zielfahrzeug bei gegebener aktueller Geschwindigkeit zum Anhalten braucht, wenn das Zielfahrzeug für einen Zeitraum mit seiner maximalen Beschleunigungsfähigkeit beschleunigen würde, bevor es mit einer vorbestimmten Bremsrate bremst. Beispielsweise kann der Anhalteweg für das Zielfahrzeug einen Beschleunigungspfad aufweisen, der einem Pfad entspricht, den das Zielfahrzeug über einen vorbestimmten Zeitraum bei der aktuellen maximalen Beschleunigungsfähigkeit des Zielfahrzeugs zurücklegen kann, ausgehend von der bestimmten aktuellen Geschwindigkeit des Zielfahrzeugs. Der Abstand kann durch beliebige Mittel in Übereinstimmung mit dieser Offenbarung bestimmt werden, einschließlich der oben in Schritt 5012 in Bezug auf das Host-Fahrzeug beschriebenen Mittel.
-
Der Prozess 5000 kann einen Schritt 5018 zum Implementieren der geplanten Navigationsaktion aufweisen, wenn die geplante Navigationsaktion sicher ist. Für die Zwecke von Schritt 5018 ist ein Beispiel dafür, wann die geplante Navigationsaktion als sicher betrachtet werden kann, wenn der bestimmte Nächstzustands-Abstand größer als eine Summe aus dem Anhalteweg für das Host-Fahrzeug und dem Anhalteweg des Zielfahrzeugs ist. Unter diesen Umständen kommt es zu keiner Kollision zwischen dem Host-Fahrzeug und dem Zielfahrzeug, da der Anhalteweg für beide Fahrzeuge (einschließlich der potenziell zurückgelegten Strecke unter der Annahme einer maximalen Beschleunigung während der Reaktionszeit) es den Fahrzeugen erlauben würde, vor der Kollision zu einem vollständigen Stillstand zu kommen, wenn die Navigationsaktion durchgeführt wurde.
-
Für die Zwecke von Schritt 5018 liegt ein weiteres Beispiel dafür, wann die geplante Navigationsaktion als sicher betrachtet werden kann, dann vor, wenn der bestimmte Nächstzustands-Abstand um mindestens einen vorbestimmten minimalen Abstand größer ist als die Summe des Anhaltewegs für das Host-Fahrzeug und des Anhaltewegs des Zielfahrzeugs. In dieser Ausführungsform kann der vorbestimmte minimale Abstand dmin sein und kann durch beliebige Mittel, in Übereinstimmung mit dieser Offenbarung sind, vorbestimmt oder bestimmt werden, und jedes oben diskutierte Attribut aufweisen. In einigen Ausführungsformen kann der vorbestimmte minimale Abstand einem vorbestimmten Trennabstand entsprechen, der zwischen dem Host-Fahrzeug und anderen Fahrzeugen einzuhalten ist. Beispielsweise kann eine Beschränkung eines autonomen Navigationssystems vorschreiben, dass das autonome Fahrzeug anderen Fahrzeugen niemals näher als (weniger als) ein spezifizierter Abstand kommt. Der vorbestimmte Trennabstand kann ein Abstand beliebigen Ausmaßes sein. In einigen Ausführungsformen beträgt der vorbestimmte Trennabstand mindestens einen Meter, zwei Meter, fünf Meter, usw. In einigen Ausführungsformen kann der vorbestimmte Abstand beispielsweise in Abhängigkeit von der Geschwindigkeit, mit der das Host-Fahrzeug fährt, dem Ort des Host-Fahrzeugs (z. B. einer Stadtstraße, einer Landstraße) usw. variieren.
-
Navigation mit einem sicheren Querabstand
-
Wie oben beschrieben, kann RSS zum Bestimmen eines Sicherheitsabstands zwischen einem Host-Fahrzeug und einem Zielfahrzeug in einer Längsrichtung wirksam sein. In anderen Ausführungsformen kann RSS jedoch auch verwendet werden, um einen sicheren Querabstand zwischen zwei Fahrzeugen beizubehalten. Beispielsweise können ein Host-Fahrzeug und ein Zielfahrzeug relativ zueinander so fahren, dass sie in Querrichtung beabstandet sind. Die Ausführungsformen können verwendet werden, um sicherzustellen, dass ein Host-Fahrzeug im Hinblick auf eine oder mehrere Navigationsaktionen, die zu einer Änderung des Querabstands zwischen einem Träger- und einem Zielfahrzeug führen können, einen sicheren Querabstand zu dem Zielfahrzeug einhält. Die Einhaltung eines sicheren Querabstands kann besonders wichtig sein, wenn ein Host-Fahrzeug und ein Ziel-Fahrzeug nebeneinander fahren. In solchen Fällen könnte eine unkontrollierte Fahrt in Querrichtung eines oder mehrerer Fahrzeuge zu einer Kollision führen. Ein sicherer Querabstand kann jedoch auch dann von Bedeutung sein, wenn ein Host-Fahrzeug und ein Zielfahrzeug in Längsrichtung so beabstandet sind, dass eine kontinuierliche Querbewegung von einem oder mehreren des Host-Fahrzeugs und des Zielfahrzeugs nicht zu einer Kollision führen würde. Wenn beispielsweise eine Querbewegung eines der Fahrzeuge ein Einscheren in der Situation verursachen kann, so dass nach einer Querbewegung von einem oder mehreren des Host-Fahrzeugs und des Zielfahrzeugs ein unsicherer Längsabstand resultieren würde, dann kann ein Interesse an der Beibehaltung eines gewissen sicheren Querabstands bestehen. Die folgenden Abschnitte beschreiben verschiedene Aspekte der Navigation in Querrichtung, in Bezug auf Querabstand/Trennung, Querbeschleunigung, Quergeschwindigkeit und/oder Bremsen in Querrichtung. Solche Begriffe können sich auf Änderungen einer Querbewegungskomponente eines Fahrzeugs beziehen. Wenn beispielsweise in einer Situation, in der ein Host-Fahrzeug und ein Zielfahrzeug auf benachbarten Fahrspuren in dieselbe Richtung fahren, das Host-Fahrzeug auf eine Weise lenkt, die bewirkt, dass sich das Host-Fahrzeug dem Zielfahrzeug nähert, kann gesagt werden, dass der Querabstand zwischen Host- und Zielfahrzeug abnimmt. Diese Abnahme des Querabstands kann bei einer bestimmten Quergeschwindigkeit auftreten, die konstant sein kann oder sich gemäß einem Querbeschleunigungswert ändern kann. Quergeschwindigkeiten, die einem abnehmenden Querabstand zugeordnet sind, können mit einem Vorzeichen (z. B. -) bezeichnet werden, und Quergeschwindigkeiten, die einem zunehmenden Querabstand zugeordnet sind, können mit einem entgegengesetzten Vorzeichen (z. B. -) bezeichnet werden. Eine Querbeschleunigung kann sich auf Situationen beziehen, in denen sich ein Host-Fahrzeug mit einer zunehmenden Quergeschwindigkeit in Querrichtung einem Zielfahrzeug nähert (oder sich in Querrichtung von einem Zielfahrzeug wegbewegt). Der Begriff „Bremsen in Querrichtung“ kann sich auf Situationen beziehen, in denen sich ein Host-Fahrzeug einem Zielfahrzeug in Querrichtung nähert, jedoch mit abnehmender Quergeschwindigkeit. Beispielsweise würde ein Manöver, das zum Bremsen in Querrichtung führt, dazu führen, dass die Geschwindigkeit, mit der sich zwei Autos einander nähern, kleiner wird. Schließlich kann das Bremsen in Querrichtung zu einer Quergeschwindigkeit von 0 zwischen den Autos führen. Manöver, die den/die Querabstand, -geschwindigkeit, -beschleunigung usw. beeinflussen, können das Lenken eines oder mehrerer Fahrzeuge weg von oder hin zu einem anderen Fahrzeug aufweisen.
-
51A veranschaulicht ein beispielhaftes Szenario mit zwei Fahrzeugen, die in Querrichtung voneinander beabstandet sind, in Übereinstimmung mit den offenbarten Ausführungsformen. In diesem Szenario können ein Host-Fahrzeug 5102 und ein Zielfahrzeug 5104 nebeneinander auf einer Straße fahren, jeweils auf ihren eigenen jeweiligen Fahrspuren. Wie in 51A gezeigt, kann das Host-Fahrzeug 5102 ein Manöver durchführen, wie etwa ein Spuränderungsmanöver, das einen Querabstand zwischen dem Host-Fahrzeug 5102 und dem Zielfahrzeug 5104 verringert. Das in Fig, 51A gezeigte Szenario ist nur beispielhaft, und es können verschiedene andere Szenarien auftreten, in denen das Host-Fahrzeug 5102 einen sicheren Querabstand zu dem Zielfahrzeug einhält. Während in 51A beispielsweise gezeigt wird, dass das Host-Fahrzeug 5102 und das Zielfahrzeug 5104 in dieselbe Richtung fahren, können die Fahrzeuge auch in entgegengesetzten Richtungen fahren, mit einem gewissen Querabstand zwischen den Fahrzeugen. In anderen Fällen können die Fahrzeuge mit einem gewissen Querabstand durch eine Kreuzung, auf einem Parkplatz, in einem Einfädelungsmuster oder in anderen potenziellen Szenarien fahren. Die vorliegende Offenbarung ist nicht auf ein bestimmtes Szenario beschränkt, in dem ein Host-Fahrzeug und ein Zielfahrzeug mit einem gewissen Querabstand zwischen ihnen fahren.
-
Wie in 51A gezeigt, kann das Zielfahrzeug 5104 mit einer Geschwindigkeit fahren, die durch den Geschwindigkeitsvektor 5124 dargestellt wird. Ähnlich kann das Host-Fahrzeug 5102 mit einer Geschwindigkeit fahren, die durch den Geschwindigkeitsvektor 5123 dargestellt wird, wie in 51A gezeigt. Die Querkomponente kann auf verschiedene Weise definiert werden. Beispielsweise kann die Querkomponente einen Referenzframe basierend auf der vorherigen Kursrichtung des Host-Fahrzeugs 5102, der aktuellen Kursrichtung des Zielfahrzeugs 5104, der Fahrspur des Host-Fahrzeugs 5102 und/oder des Zielfahrzeugs 5104 oder dergleichen verwenden. In einigen Ausführungsformen kann die Quergeschwindigkeit 5123 die Komponente der Geschwindigkeit des Host-Fahrzeugs 5102 in Richtung des Zielfahrzeugs 5104 sein. Jedes andere geeignete Mittel kann verwendet werden, um die relative Quergeschwindigkeit der Fahrzeuge zu definieren. Der Querabstand, die Quergeschwindigkeit und/oder die Querbeschleunigung können in kartesischen Koordinaten, Polarkoordinaten oder gemäß jeder anderen geeigneten Konvention ausgedrückt werden.
-
Das Host-Fahrzeug 5102 kann dazu ausgelegt sein, eine geplante Navigationsaktion durchzuführen, wenn sie dem Host-Fahrzeug 5102 ermöglicht, einen sicheren Längsabstand zu dem Fahrzeug 5104 beizubehalten, wie beispielsweise einen RSS-Sicherheitsabstand, wie oben diskutiert. Die geplante Navigationsaktion kann eine Aktion sein, die den Querabstand zwischen dem Host-Fahrzeug 5102 und dem Zielfahrzeug 5104 verringert (z. B. durch Erhöhen der Quergeschwindigkeit 5123). In dem Szenario in 51A können das Host-Fahrzeug 5102 und das Zielfahrzeug 5104 auf parallelen Fahrspuren mit der gleichen Fahrtrichtung fahren, und das Host-Fahrzeug 5012 kann die Fahrspur auf die von dem Zielfahrzeug 5104 belegte Fahrspur ändern. Dementsprechend kann die geplante Navigationsaktion ein Spuränderungsmanöver oder Einfädelungsmanöver aufweisen. In anderen Fällen kann die geplante Navigationsaktion ein Überholmanöver aufweisen, bei dem das Host-Fahrzeug 5102 das Zielfahrzeug 5104 überholt und sich somit temporär auf eine benachbarte Fahrspur (entweder in die gleiche oder entgegengesetzte Fahrtrichtung) und zurück auf die Fahrspur, die von dem Zielfahrzeug 5104 belegt ist, bewegen kann. In anderen Fällen kann die geplante Navigationsaktion ein Abbiegemanöver aufweisen. Beispielsweise kann das Host-Fahrzeug 5102 an einer Kreuzung abbiegen, was den Querabstand zwischen den Fahrzeugen verringern kann. Die geplante Navigationsaktion kann beliebige andere Manöver aufweisen, die einen Querabstand zwischen dem Host-Fahrzeug 5102 und dem Zielfahrzeug 5104 verringern können, wie etwa das Verlassen einer Autobahn, das Manövrieren um ein Objekt herum (z. B. ein Hindernis auf der Straße, ein Schlagloch, eine Person usw.), ein Parkmanöver (z. B. paralleles Einparken, Einparken in eine Parklücke usw.), oder andere ähnliche Aktionen. In einigen Fällen kann es das Zielfahrzeug 5104 sein, das das Manöver durchführt, das den Querabstand zwischen dem Zielfahrzeug 5104 und dem Host-Fahrzeug 5102 verringert. Die geplante Navigationsaktion des Host-Fahrzeugs 5102 kann ein Manöver zum Beibehalten des Vorwärtskurses, Beibehalten der Drosselaktion, Beibehalten eines Segelns, Ändern einer Kursrichtung, ein Bremsmanöver (in Querrichtung und/oder längs) oder dergleichen aufweisen.
-
Wie oben diskutiert, kann der RSS-Sicherheitsabstand der Abstand zwischen einem Host-Fahrzeug und einem Zielfahrzeug sein, bei dem das Host-Fahrzeug stoppen kann, ohne mit dem Ziel zu kollidieren. Ein Analogon zu dem Längs-RSS-Sicherheitsabstand kann einen sicheren RSS-Querabstand zwischen den zwei Fahrzeugen aufweisen. Der sichere Querabstand kann eine Berechnung des minimalen Abstands aufweisen, den die Fahrzeuge brauchen würden, um in Querrichtung zu stoppen (z. B. ihre Quergeschwindigkeit auf null zu verringern). In diesem Fall kann der sichere Querabstand, anstatt die Bremsfähigkeit des Fahrzeugs zu bestimmen (z. B. Bremsen zu betätigen), auf der Fähigkeit des Host-Fahrzeugs basieren, in eine Richtung weg von dem anderen Fahrzeug zu lenken (oder anderweitig eine Annäherungsgeschwindigkeit in Querrichtung von zwei Fahrzeugen zu verursachen, um auf null zu verlangsamen). Somit kann der Bremsweg in Querrichtung mindestens teilweise von den Lenk-/Wendefähigkeiten des Fahrzeugs abhängig sein.
-
51B veranschaulicht ein Beispiel eines Host-Fahrzeugs 5102, das einen sicheren Querabstand einhält, in Übereinstimmung mit den offenbarten Ausführungsformen. Das Zielfahrzeug 5104 kann neben dem Host-Fahrzeug 5102 fahren, so dass die Fahrzeuge seitlich bzw. in Querrichtung voneinander beabstandet sind. Ähnlich wie bei dem oben beschriebenen Sicherheitsabstand in Längsrichtung kann eine Verarbeitungsvorrichtung des Host-Fahrzeugs 5102 (z. B. die Verarbeitungseinheit 110) eine geplante Navigationsaktion zum Erreichen eines Navigationsziels des Host-Fahrzeugs bestimmen. Das Host-Fahrzeug 5102 kann dazu ausgelegt sein, die geplante Navigationsaktion durchzuführen, wenn ein sicherer RSS-Längsabstand zwischen dem Host-Fahrzeug 5102 und dem Zielfahrzeug 5104 beibehalten werden kann. Zusätzlich kann das Host-Fahrzeug 5102 dazu ausgelegt sein, die geplante Navigationsaktion durchzuführen, wenn ein sicherer RSS-Querabstand zwischen Host-Fahrzeug 5102 und Zielfahrzeug 5104 beibehalten werden kann. Wie oben diskutiert, kann die geplante Navigationsaktion verschiedene Manöver aufweisen, wie etwa ein Spuränderungsmanöver, ein Einfädelmanöver, ein Überholmanöver, ein Parkplatznavigationsmanöver, ein Abbiegemanöver, ein Ausweichmanöver, ein Manöver zum Beibehalten des Vorwärtskurses, ein Manövers zum Beibehalten des Gashebels, oder dergleichen. Die Verarbeitungsvorrichtung des Host-Fahrzeugs 5102 kann einen Querabstand 5110 des nächsten Zustands zwischen dem Host-Fahrzeug 5102 und dem Zielfahrzeug 5104 bestimmen, der einem Querabstand zwischen den Fahrzeugen entspricht, der sich ergeben würde, wenn die geplante Navigationsaktion durchgeführt würde. Die Verarbeitungsvorrichtung kann auch einen Bremsweg 5112 in Querrichtung für das Host-Fahrzeug 5102 und einen Bremsweg 5114 in Querrichtung für das Zielfahrzeug 5104 bestimmen. Wie oben angemerkt, können die Bremswege 5112 und 5114 in Querrichtung den Querabstand darstellen, der für die Fahrzeuge erforderlich ist, um ihre Quergeschwindigkeit bis auf null zu verringern. Dementsprechend können die Fahrzeuge selbst beim Stoppen in Querrichtung immer noch eine Gesamtgeschwindigkeit ungleich Null aufweisen. Beispielsweise können die Fahrzeuge mit einer Längsgeschwindigkeit ungleich Null weiterfahren. Die Verarbeitungsvorrichtung des Host-Fahrzeugs 5102 kann die geplante Navigationsaktion implementieren, wenn der bestimmte Querabstand 5110 des nächsten Zustands größer als eine Summe des Bremswegs 5112 in Querrichtung und des Bremswegs 5114 in Querrichtung ist, wodurch angezeigt wird, dass die Fahrzeuge beide ihre Quergeschwindigkeit (z. B. durch Abbiegen) verringern können, um eine Kollision zu vermeiden. In dem Szenario in 51B würde die Navigationsaktion des Host-Fahrzeugs 5102 zugelassen werden, da der Querabstand 5110 des nächsten Zustands größer als die Summe des Bremswegs 5112 in Querrichtung und des Bremswegs 5114 in Querrichtung ist.
-
In Übereinstimmung mit den offenbarten Ausführungsformen kann der Bremsweg 5112 in Querrichtung für das Host-Fahrzeug 5102 einem Abstand entsprechen, der erforderlich ist, um eine Quergeschwindigkeit des Host-Fahrzeugs von null zu erreichen. Der Bremsweg 5112 in Querrichtung kann ausgehend von der aktuellen Quergeschwindigkeit des Host-Fahrzeugs von einer maximalen Gierratenfähigkeit des Host-Fahrzeugs und der maximalen Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs abhängig sein. Ähnlich der maximalen Beschleunigungsrate, die bei der oben beschriebenen Bestimmung des sicheren Längsabstands verwendet wird, kann der Bremsweg 5112 in Querrichtung eine Querbeschleunigung des Host-Fahrzeugs 5102 annehmen. Dementsprechend kann die Bestimmung des Bremswegs 5112 in Querrichtung eine Quergeschwindigkeit des Host-Fahrzeugs 5102 nach einer Querbeschleunigung des Host-Fahrzeugs als Ergebnis eines Wendemanövers annehmen, das in Richtung des Zielfahrzeugs bei der maximalen Gierratenfähigkeit des Host-Fahrzeugs und der maximalen Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs während einer dem Host-Fahrzeug zugeordneten Reaktionszeit durchgeführt wird. Beschränkungen der maximalen Gierratenfähigkeit und/oder der maximalen Kurvenradiusänderungsfähigkeit können auch benutzerdefiniert sein (z. B. kann ein Insasse eines autonomen Fahrzeugs für eines oder mehrere Fahrzeuge eine Einstellung auswählen, die einer vorbestimmten maximal zulässigen Gierrate und einer Änderung von Kurvenradiusniveaus entspricht), durch ein Szenario definiert (z. B. basierend auf Umständen an einem bestimmten Ort und/oder während eines bestimmten Navigations-Szenarios) und/oder basierend auf einer beobachteten Leistung (z. B. basierend auf historischen Daten, die während der autonomen Navigation und/oder Navigation durch einen Benutzer gesammelt wurden) sein.
-
52A veranschaulicht ein beispielhaftes Host-Fahrzeug 5102 während einer geplanten Navigationsaktion in Übereinstimmung mit den offenbarten Ausführungsformen. Die Gierrate des Host-Fahrzeugs 5102 kann die Änderungsrate eines Fahrtrichtungswinkels des Host-Fahrzeugs 5102 darstellen, die beispielsweise als eine Winkelgeschwindigkeit dargestellt wird, die durch Drehen der Räder verursacht wird. Das Host-Fahrzeug 5102 kann zum Zeitpunkt t
1 eine Kursrichtung 5205 haben, und kann zum Zeitpunkt t
2 eine Kursrichtung 5206 haben. Die Kursrichtung 5205 kann von der Kursrichtung 5206 um einen Winkel Θ abweichen. Die Gierrate kann als
dargestellt werden. In einigen Fällen kann die Gierrate konstant sein, wenn der Kurvenradius konstant ist. Beispielsweise kann das Host-Fahrzeug 5102 mit einem konstanten Kurvenradius 5207 abbiegen, und somit wird die Gierrate des Host-Fahrzeugs 5102 konstant bleiben. Die Änderung des Kurvenradius des Host-Fahrzeugs 5102 kann die Rate darstellen, mit der das Host-Fahrzeug 5102 den Kurvenradius ändert. Beispielsweise kann das Host-Fahrzeug 5102 den Kurvenradius auf den Kurvenradius 5208 verringern, wodurch die Gierrate des Host-Fahrzeugs 5102 erhöht wird. Das Host-Fahrzeug 5102 kann auch eine maximale Gierratenfähigkeit aufweisen, die Eigenschaften des Fahrzeugs entsprechen kann (z. B. dem Kurvenradius, wenn das Rad ganz zu einer Seite gedreht wird, usw.)
-
Ähnlich wie bei der zuvor diskutierten Bestimmung des sicheren Längsabstands kann ein RSS-Abstand (z. B. ein sicherer RSS-Querabstand) von der maximal potenziellen Querbeschleunigungsfähigkeit abhängig sein, die das Fahrzeug während eines Zeitraums zwischen einem Ereignis und der Reaktion eines Fahrzeugs auf die Erfassung des Ereignisses erfahren kann (z. B. eine dem Host-Fahrzeug zugeordnete Reaktionszeit). Dementsprechend kann der Bremsweg in Querrichtung nicht nur den Querabstand berücksichtigen, der benötigt wird, um das Fahrzeug auf eine Quergeschwindigkeit von null zu verlangsamen, sondern auch ein Worst-Case-Szenario einer maximalen Querbeschleunigung über eine Reaktionszeit. Der Bremsweg in Querrichtung kann einen Querbeschleunigungsweg aufweisen, der einem Pfad in Querrichtung entspricht, den das Fahrzeug während einer Fahrzeugreaktionszeit bei der maximalen Gierratenfähigkeit des Fahrzeugs und einer maximalen Kurvenradiusänderungsfähigkeit für das Fahrzeug zurücklegen kann. Beispielsweise kann der RSS-Querabstand eine Verzögerung berücksichtigen, bevor das Host-Fahrzeug 5102 oder das Zielfahrzeug 5104 beginnt, ein korrigierendes Lenkmanöver durchzuführen. Es können mehrere Millisekunden (oder mehr oder weniger) liegen zwischen dem Zeitpunkt, an dem das Host-Fahrzeug 5102 erkennt, dass sich das Zielfahrzeug 5104 in Querrichtung auf das Host-Fahrzeug 5102 zu bewegt, oder umgekehrt. Die Verarbeitungsvorrichtung kann die Änderung des Kurvenradius und der Gierrate berücksichtigen, die während der Reaktionsdauer p entsprechend der Reaktionszeit des Fahrzeugs auftreten können. Die Reaktionszeit p kann einer bekannten Eigenschaft eines Fahrzeugs entsprechen, ähnlich der Bremsrate, oder kann ein angenommener Wert für alle Autos sein. Die beim Bestimmen des Bremswegs in Querrichtung des Host-Fahrzeugs 5102 verwendete Quergeschwindigkeit kann eine maximale Gierratenfähigkeit des Host-Fahrzeugs 5102 annehmen, und das Host-Fahrzeug 5102 erhöht die Gierrate basierend auf einer maximalen Kurvenradiusänderungsfähigkeit des Fahrzeugs während der Reaktionsdauer p, wodurch ein Worst-Case-Bremsweg 5112 in Querrichtung dargestellt wird.
-
Unter erneuter Bezugnahme auf 51B kann der Bremsweg 5114 in Querrichtung für das Zielfahrzeug 5104 auf ähnliche Weise wie der Bremsweg 5112 in Querrichtung für das Zielfahrzeug 5102 berechnet werden. Der Bremsweg 5114 in Querrichtung für das Zielfahrzeug 5104 kann einem Abstand entsprechen, der erforderlich ist, um eine Quergeschwindigkeit des Zielfahrzeugs von null zu erreichen. Der Bremsweg 5114 in Querrichtung kann ausgehend von der aktuellen Quergeschwindigkeit des Zielfahrzeugs von einer maximalen Gierratenfähigkeit des Zielfahrzeugs und der maximalen Kurvenradiusänderungsfähigkeit des Zielfahrzeugs abhängig sein. Der Bremsweg 5114 in Querrichtung kann eine Querbeschleunigung des Zielfahrzeugs 5104 annehmen, und dementsprechend kann die Bestimmung des Bremswegs 5114 in Querrichtung eine Quergeschwindigkeit des Host-Fahrzeugs 5104 nach einer Querbeschleunigung des Host-Fahrzeugs als Ergebnis eines Wendemanövers durch das Zielfahrzeug in Richtung des Host-Fahrzeugs annehmen, das bei der maximalen Gierratenfähigkeit des Zielfahrzeugs und der maximalen Kurvenradiusänderungsfähigkeit des Zielfahrzeugs während einer dem Zielfahrzeug zugeordneten Reaktionszeit durchgeführt wird.
-
In einigen Ausführungsformen kann die Quergeschwindigkeit des Host-Fahrzeugs und/oder des Zielfahrzeugs basierend auf einer Ausgabe eines oder mehrerer Sensoren bestimmt werden. Beispielsweise kann die Quergeschwindigkeit aus einer Ausgabe eines Beschleunigers, eines LIDAR-Systems, eines RADAR-Systems, einer GPS-Einheit oder dergleichen bestimmt werden. Als weiteres Beispiel kann die Quergeschwindigkeit des Host-Fahrzeugs durch Analysieren eines oder mehrerer Bilder bestimmt werden (z. B. basierend auf einer Skalierungsratenänderung eines feststehenden Objekts, die in zwei oder mehr Bildern erkannt wird). In ähnlicher Weise kann die Quergeschwindigkeit des Zielfahrzeugs bestimmt werden, indem eines oder mehrere Bildern analysiert werden (z. B. basierend auf einer Skalierungsratenänderung des Zielfahrzeugs usw.).
-
Für ein Zielfahrzeug können die maximale Gierratenfähigkeit des Zielfahrzeugs und die maximale Kurvenradiusänderungsfähigkeit des Zielfahrzeugs basierend auf mindestens einer Eigenschaft des Zielfahrzeugs bestimmt werden, ähnlich der Bremsfähigkeit, die oben in Bezug auf den Sicherheitsfahrabstand in Längsrichtung beschrieben wurde. Die mindestens eine Eigenschaft kann eine beliebige Eigenschaft sein, die mit einer Gierrate oder einem Kurvenradiusvermögen eines Fahrzeugs korrelieren kann. In einigen Ausführungsformen kann die erkannte Eigenschaft des Zielfahrzeugs einen Fahrzeugtyp (z. B. Oberklasse-Limousine, Kompaktwagen, SUV, Crossover-SUV, Motorrad usw.), eine Fahrzeugmarke oder ein Modell, einen Markennamen oder andere Klassifikator des Zielfahrzeugs (z. B. Toyota Prius®, BMW X5® usw.), eine Fahrzeuggröße (wie oben in Bezug auf die Bestimmung des Sicherheitsfahrabstands in Längsrichtung beschrieben) oder dergleichen aufweisen. Die Verarbeitungsvorrichtung kann dazu programmiert sein, die maximale Gierratenfähigkeit des Zielfahrzeugs und die maximale Kurvenradiusänderungsfähigkeit des Zielfahrzeugs basierend auf bekannten Werten dieses Fahrzeugtyps oder einer Klasse von Fahrzeugen anzunehmen. Die Verarbeitungsvorrichtung kann die Fahrzeugeigenschaft beispielsweise verwenden, um auf eine Datenbank zuzugreifen, die bekannte maximale Gierratenfähigkeiten und/oder maximale Kurvenradiusänderungsfähigkeiten aufweist, die jedem Fahrzeugtyp, Modell usw. zugeordnet sind. Die Eigenschaft des Fahrzeugs kann durch Analyse eines Bildes bestimmt oder identifiziert werden.
-
Für das Host-Fahrzeug 5102 können die maximale Gierratenfähigkeit des Host-Fahrzeugs und die maximale Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs bekannt sein oder durch das System basierend auf Eigenschaften des Fahrzeugs, Daten von vorherigen Abbiegemanövern, oder dergleichen geschätzt werden. In einigen Ausführungsformen können die maximale Gierratenfähigkeit des Host-Fahrzeugs und die maximale Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs auf vorbestimmten Beschränkungen für das Host-Fahrzeug basieren. Beispielsweise kann die maximale Querbeschleunigung geringer sein als die wahren maximalen Fähigkeiten des Fahrzeugs, kann aber durch eine Einstellung begrenzt sein. Eine maximale Bremsrate in Querrichtung oder maximale Querbeschleunigung kann für Passagiere unbequem sein, Fahrzeughardware (Reifen, Bremsbeläge usw.) übermäßig abnutzen, oder dergleichen. Dementsprechend können die vorbestimmten Beschränkungen (die durch das System 100, einen Fahrer des Host-Fahrzeugs 5102 usw. festgelegt werden können) die maximale Gierratenfähigkeit des Host-Fahrzeugs und die maximale Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs begrenzen. Diese begrenzten Werte können bei der Bestimmung des Bremswegs in Querrichtung verwendet werden.
-
In einigen Ausführungsformen können mindestens eine von der maximalen Gierratenfähigkeit des Host-Fahrzeugs, der maximalen Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs, der maximalen Gierratenfähigkeit des Zielfahrzeugs oder der maximalen Kurvenradiusänderungsfähigkeit des Zielfahrzeugs basierend auf einer oder mehreren erfassten Straßenbedingungen (z. B. Straßenmaterialtyp, Straßentraktionseigenschaften usw.), einer oder mehreren erfassten Wetterbedingungen (z. B. Regen, Schnee, Nebel, Eis) oder dergleichen bestimmt werden. Beispielsweise kann eine Verarbeitungsvorrichtung die maximale Gierratenfähigkeit und/oder die maximale Kurvenradiusänderungsfähigkeit bestimmen, die die maximale Sicherheit und den maximalen Komfort auf einer schneebedeckten Straße bieten, die sich von denen unterscheiden können, die für eine trockene Autobahn bestimmt würden, und so weiter her.
-
In einigen Ausführungsformen kann die Bremsrate im Querrichtung auf einer Schuld- oder Verantwortlichkeitsbestimmung basieren, die dem Host-Fahrzeug 5102 oder dem Zielfahrzeug 5104 zugeordnet ist. Aus einer Verantwortungsperspektive kann das Host-Fahrzeug 5102 verpflichtet sein, von dem Zielfahrzeug 5104 wegzulenken, aber mit einer niedrigeren Rate als das Zielfahrzeug 5104. Beispielsweise kann das Zielfahrzeug 5104 in die Fahrspur des Host-Fahrzeugs 5102 einbiegen und kann daher eine größere Verpflichtung haben, von dem Host-Fahrzeug 5012 wegzulenken. Dementsprechend kann die maximale Gierratenfähigkeit des Host-Fahrzeugs und/oder die maximale Kurvenradiusänderungsfähigkeit geringer sein als die des Zielfahrzeugs, oder umgekehrt, sogar für den gleichen Fahrzeugtyp oder das gleiche Modell.
-
In einigen Ausführungsformen kann die Verarbeitungsvorrichtung des Host-Fahrzeugs 5102 dazu ausgelegt sein, die geplante Navigationsaktion zu implementieren, wenn der bestimmte Nächstzustands-Abstand um mindestens einen vorbestimmten Mindestabstand größer ist als die Summe des Bremswegs in Querrichtung für das Host-Fahrzeug und dem Bremsweg in Querrichtung des Zielfahrzeugs. Wenn der RSS-Sicherheitsabstand in Längsrichtung diese minimale Annäherungsabstandskomponente aufweist, dann sollte, wenn das Host-Fahrzeug 5102 eine Quergeschwindigkeit von null erreicht, das Host-Fahrzeug mit mindestens dem minimalen Annäherungsabstand von dem Zielfahrzeug getrennt bleiben. Der Mindestabstand kann einem vorbestimmten Querabstand (z. B. einem Mindestabstand von 0,5 m, 1 m, 2 m usw.) entsprechen, der zwischen dem Host-Fahrzeug und anderen Fahrzeugen einzuhalten ist. Der vorbestimmte Querabstand kann basierend auf einer beliebigen Menge von Faktoren, in Übereinstimmung mit dieser Offenbarung, bestimmt werden (z. B. eine Geschwindigkeit, die dem Host-Fahrzeug 5102 und/oder dem Zielfahrzeug 5104 zugeordnet ist, eine erfasste Wetterbedingung, Präferenzen eines Benutzers usw.).
-
In einigen Ausführungsformen kann das Host-Fahrzeug auch den Längsabstand zwischen dem Host-Fahrzeug und dem Zielfahrzeug berücksichtigen. 52B zeigt ein Beispiel, in dem das Host-Fahrzeug 5202 eine Navigationsaktion basierend auf sowohl einem Quer- als auch einem Längssicherheitsfahrabstand durchführen kann. Das Host-Fahrzeug 5202 kann basierend auf einem Querabstand zwischen dem Host-Fahrzeug 5202 und dem Zielfahrzeug 5204 bestimmen, ob eine geplante Navigationsaktion durchgeführt werden soll. Die geplante Navigationsaktion kann eines der oben beschriebenen Manöver sein, wie etwa ein Spuränderungsmanöver, ein Einfädelmanöver, usw. Die Verarbeitungsvorrichtung des Host-Fahrzeugs 5202 kann einen Nächstzustands-Querabstand 5210 sowie einen Bremsweg 5212 im Querrichtung für das Host-Fahrzeug und einen Bremsweg 5214 in Querrichtung des Zielfahrzeugs bestimmen. In dem in 52B gezeigten Szenario kann die Summe des Bremswegs 5212 in Querrichtung für das Host-Fahrzeug und des Bremswegs 5214 in Querrichtung des Zielfahrzeugs größer sein als der Querabstand 5210 des nächsten Zustands, was anzeigt, dass die Navigationsaktion nicht zu einem sicheren Querabstand von dem Zielfahrzeug 5204 führen würde. Infolgedessen kann das Fahrzeug auf die geplante Navigationsaktion verzichten, die zu einem unsicheren Querabstand führen würde.
-
In einigen Ausführungsformen kann die Verarbeitungsvorrichtung jedoch dazu programmiert sein, die geplante Navigationsaktion ungeachtet des Nächstzustands-Querabstands zu implementieren (z. B., wenn die geplante Navigationsaktion zu einem sicheren Längsabstand 5220 zwischen dem Host-Fahrzeug und das Zielfahrzeug führen würde). Mit anderen Worten, in Fällen, in denen eine Navigationsaktion durchgeführt werden kann und der Nächstzustands-Abstand größer oder gleich dem sicheren RSS-Längsabstand wäre, dann kann es weniger relevant sein, ob der Querabstand zwischen einem Host-Fahrzeug und einem Zielfahrzeug größer oder gleich einem sicheren RSS-Querabstand ist (z. B. kann sich das Host-Fahrzeug deutlich vor oder hinter einem Zielfahrzeug befinden, so dass nur ein geringes oder kein Risiko einer Kollision in Querrichtung besteht). Der Sicherheitsabstand in Längsrichtung kann auf beliebige Weise in Übereinstimmung mit der vorliegenden Offenbarung bestimmt werden, einschließlich der oben ausführlich beschriebenen Systeme und Verfahren. Beispielsweise kann der sichere Längsabstand 5220 (der dem oben beschriebenen Nächstzustands-Längsabstand entsprechen kann) größer oder gleich einer Summe aus einem Bremsweg 5222 in Längsrichtung des Host-Fahrzeugs und einem Bremsweg 5224 in Längsrichtung des Zielfahrzeugs sein. Gemäß dem in 52B gezeigten Szenario kann die Verarbeitungsvorrichtung des Host-Fahrzeugs 5202 die geplante Navigationsaktion durchführen. Wie oben diskutiert, kann der Anhalteweg des Host-Fahrzeugs auf einer maximalen Bremsfähigkeit des Host-Fahrzeugs in Längsrichtung und einer aktuellen Längsgeschwindigkeit des Host-Fahrzeugs basieren. Der Anhalteweg des Host-Fahrzeugs kann ferner einen Beschleunigungsabstand des Host-Fahrzeugs aufweisen, der einem Abstand entspricht, den das Host-Fahrzeug bei einer maximalen Fahrzeugbeschleunigungsfähigkeit des Host-Fahrzeugs während einer dem Host-Fahrzeug zugeordneten Reaktionszeit ab der aktuellen Längsgeschwindigkeit des Host-Fahrzeugs zurücklegen kann. In ähnlicher Weise kann der Anhalteweg des Zielfahrzeugs auf einer maximalen Längsbremsfähigkeit des Zielfahrzeugs und einer aktuellen Längsgeschwindigkeit des Zielfahrzeugs basieren. Der Anhalteweg des Zielfahrzeugs kann einen Beschleunigungspfad des Zielfahrzeugs aufweisen, der einem Pfad entspricht, den das Zielfahrzeug bei einer maximalen Beschleunigungsfähigkeit des Zielfahrzeugs während einer dem Zielfahrzeug zugeordneten Reaktionszeit ab der aktuellen Längsgeschwindigkeit des Zielfahrzeugs zurücklegen kann.
-
Die 53A und 53B weisen Flussdiagramme auf, die einen beispielhaften Prozess 5300 zum Beibehalten eines sicheren Querabstands darstellen, in Übereinstimmung mit den offenbarten Ausführungsformen. Der Prozess 5300 kann von mindestens einer Verarbeitungsvorrichtung, wie beispielsweise der oben beschriebenen Verarbeitungseinheit 110, durchgeführt werden. Prozess 5300 ist nur beispielhaft. Ein durchschnittlicher Fachmann, der diese Offenbarung liest, kann verstehen, dass der Prozess 5300 zusätzliche Schritte aufweisen, bestimmte Schritte ausschließen, oder anderweitig in einer mit dieser Offenbarung übereinstimmenden Weise modifiziert werden kann.
-
Der Prozess 5300 kann einen Schritt 5302 zum Empfangen mindestens eines repräsentativen Bildes einer Umgebung des Host-Fahrzeugs aufweisen. Das mindestens eine Bild kann von einer Bildaufnahmevorrichtung empfangen werden, die eine beliebige Bildaufnahmevorrichtung gemäß dieser Offenbarung sein kann, einschließlich der Bildaufnahmevorrichtung 122. In einigen Ausführungsformen kann das mindestens eine Bild ein Bild sein, das von einem von einer Kamera, einem RADAR, einem LIDAR oder jeder anderen Vorrichtung, von der ein Bild erhalten werden kann, ob optisch oder auf andere Weise, erhalten werden. Zwischen dem Aufnehmen des Bildes und dem Empfangen des Bildes durch die Verarbeitungsvorrichtung kann eine gewisse Zeitdauer liegen. Ferner kann es zwischen dem Zeitpunkt, zu dem ein Ereignis auftritt, und der Aufnahme eines Bildes des Ereignisses durch die Bildgebungsvorrichtung eine Verzögerungszeit geben. Wenn beispielsweise ein Zielfahrzeug vor einem Host-Fahrzeug in eine Fahrspur eintritt, kann es eine kurze Zeitdauer geben (z. B. eine Millisekunde, 2 Millisekunden, 5 Millisekunden usw.) zwischen dem Manövrieren des Zielfahrzeugs in die Fahrspur und wenn die Bildgebungsvorrichtung ein Bild des Zielfahrzeugs aufnimmt. Es kann auch eine Zeit geben, die der Analyse des aufgenommenen Bildes, der Entwicklung einer geplanten Reaktion basierend auf der Analyse, der Übertragung eines oder mehrerer Steuersignale an Aktuatorsysteme, und einer tatsächlichen Reaktion der Aktuatorsysteme auf das/die Steuersignal(e) zugeordnet ist.
-
Der Prozess 5300 kann einen Schritt 5304 zum Bestimmen einer geplanten Navigationsaktion für das Host-Fahrzeug aufweisen. In Übereinstimmung mit dieser Offenbarung kann die mindestens eine Verarbeitungsvorrichtung dafür programmiert sein, eine geplante Navigationsaktion zum Erreichen eines Navigationsziels des Host-Fahrzeugs zu bestimmen. Die Navigationsaktion kann basierend auf mindestens einer Fahrrichtlinie bestimmt werden. Die geplante Navigationsaktion und/oder die mindestens eine Fahrrichtlinie können mit dieser Offenbarung übereinstimmen, einschließlich der oben diskutierten. Beispielsweise kann die geplante Navigationsaktion mindestens eines von einem Spuränderungsmanöver, einem Einfädelmanöver, einem Überholmanöver, einem Parkplatz-Navigationsmanöver oder einem Abbiegemanöver aufweisen.
-
Der Prozess 5300 kann einen Schritt 5306 zum Analysieren des mindestens einen Bildes aufweisen, um ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs zu identifizieren. Das mindestens eine Bild kann ein Bild sein, das von einem Bildaufnahmevorrichtung, wie etwa der Bildaufnahmevorrichtung 122, empfangen wird. Das mindestens eine Bild kann das eine oder die mehreren Bilder sein, die als Teil von Schritt 5302 des Prozesses 5300 empfangen werden.
-
Der Prozess 5300 kann einen Schritt 5308 zum Bestimmen eines Nächstzustands-Querabstands zwischen dem Host-Fahrzeug und dem Zielfahrzeug aufweisen, der sich ergeben würde, wenn die geplante Navigationsaktion durchgeführt würde. In Übereinstimmung mit dieser Offenbarung kann die Verarbeitungsvorrichtung dazu programmiert sein, den Nächstzustands-Abstand zwischen dem Host-Fahrzeug und dem Zielfahrzeug zu bestimmen. Der Nächstzustands-Querabstand kann durch beliebige hierin offenbarte Mittel berechnet werden. Wenn beispielsweise die geplante Navigationsaktion ein Spuränderungsmanöver des Host-Fahrzeugs ist, kann der Nächstzustands-Abstand ein Abstand zwischen dem Host-Fahrzeug und einem Zielfahrzeug auf einer Fahrspur neben dem Host-Fahrzeug als ein Ergebnis der Navigationsaktion sein.
-
Der Prozess 5300 kann einen Schritt 5310 zum Bestimmen einer maximalen Gierratenfähigkeit des Host-Fahrzeugs, einer maximalen Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs und einer aktuellen Quergeschwindigkeit des Host-Fahrzeugs aufweisen. Jeder dieser Faktoren (d. h. die maximale Gierratenfähigkeit, die maximale Kurvenradiusänderungsfähigkeit und die aktuelle Quergeschwindigkeit des Host-Fahrzeugs) kann durch beliebige Mittel bestimmt werden, die mit dieser Offenbarung übereinstimmen. Die maximale Gierratenfähigkeit des Host-Fahrzeugs und die maximale Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs können von den Eigenschaften des Host-Fahrzeugs abhängig sein (z. B. dem Kurvenradius des Host-Fahrzeugs, Reifendruck, Reifenverschleiß usw.). In einigen Ausführungsformen basieren die maximale Gierratenfähigkeit des Host-Fahrzeugs und die maximale Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs auf vorbestimmten Beschränkungen. Beispielsweise kann die maximale Gierratenfähigkeit des Host-Fahrzeugs und/oder die maximale Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs basierend auf einer Benutzer- oder Systemeinstellung eingeschränkt werden (z. B., um unangenehme Querbeschleunigungen zu verhindern, unnötigen Verschleiß oder Schaden am Fahrzeug zu verhindern, usw.). Dementsprechend können die maximale Gierratenfähigkeit des Host-Fahrzeugs und/oder die maximale Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs von der aktuellen Geschwindigkeit des Host-Fahrzeugs abhängig sein. Beispielsweise kann sich die maximale Gierratenfähigkeit eines Fahrzeugs, das mit einer ersten Geschwindigkeit (z. B. 15 km/h) fährt, erheblich von der maximalen Gierratenfähigkeit desselben Fahrzeugs unterscheiden, das mit einer zweiten Geschwindigkeit (z. B. 30 km/h) fährt. In einigen Ausführungsformen wird mindestens eine von der maximalen Gierratenfähigkeit des Host-Fahrzeugs oder der maximalen Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs basierend auf einem Zustand einer Straßenoberfläche (z. B. einer Neigung der Straße, eines Straßenmaterials, das Vorhandensein einer Substanz auf der Straße usw.), Wetterbedingungen (z. B. verschneit, feucht usw.), Fahrzeugbedingungen (z. B. Reifendruck, Zustand der Bremsbeläge, aktuelle Beladung des Fahrzeugs usw.), oder dergleichen bestimmt. In einigen Ausführungsformen können einer oder mehrere der Faktoren basierend auf einer Ausgabe eines oder mehrerer Sensoren bestimmt werden. In einem anderen Beispiel kann die Verarbeitungsvorrichtung eine maximale Gierratenfähigkeit und/oder eine maximale Kurvenradiusänderungsfähigkeit basierend darauf bestimmen, ob das Host-Fahrzeug beispielsweise einen Passagier oder mehrere Passagiere, Fracht mit einem signifikanten Gewicht, einen Anhänger, usw. enthält.
-
In einigen Ausführungsformen können die maximale Gierratenfähigkeit und/oder die maximale Kurvenradiusänderungsfähigkeit basierend auf einem oder mehreren vordefinierten Faktoren bestimmt werden. Beispielsweise kann eine Regierungs- oder Industrieentität eine oder mehrere Vorschriften bereitstellen, die eine maximale Gierratenfähigkeit und/oder maximale Kurvenradiusänderungsfähigkeit vorschreiben, die ein Fahrzeug oder eine Fahrzeugklasse haben kann, und der mindestens eine Prozessor kann davon ausgehen, dass das Host-Fahrzeug die Fahrzeugbremsrate und/oder die maximale Beschleunigungsfähigkeit hat, die gemäß den Vorschriften erlaubt ist.
-
Der Prozess 5300 kann einen Schritt 5312 zum Bestimmen eines Bremswegs in Querrichtung für das Host-Fahrzeug aufweisen. In Übereinstimmung mit dieser Offenbarung kann die Verarbeitungsvorrichtung dazu ausgelegt sein, einen Bremsweg in Querrichtung für das Host-Fahrzeug basierend auf der maximalen Gierratenfähigkeit des Host-Fahrzeugs, der maximalen Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs und der aktuellen Quergeschwindigkeit des Host-Fahrzeugs zu bestimmen. Der Bremsweg in Querrichtung für das Host-Fahrzeug kann durch beliebige Mittel in Übereinstimmung mit dieser Offenbarung bestimmt werden.
-
In einigen Ausführungsformen kann der Bremsweg in Querrichtung für das Host-Fahrzeug einem Abstand entsprechen, der erforderlich ist, um eine Quergeschwindigkeit des Host-Fahrzeugs von null zu erreichen. Der Bremsweg in Querrichtung kann der Abstand sein, der erforderlich ist, um eine Quergeschwindigkeit von null zu erreichen bei der maximalen Gierratenfähigkeit des Host-Fahrzeugs und der maximalen Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs, ausgehend von der aktuellen Quergeschwindigkeit des Host-Fahrzeugs und nach einer Querbeschleunigung des Host-Fahrzeugs als Ergebnis eines Wendemanövers, das in Richtung des Zielfahrzeugs bei der maximalen Gierratenfähigkeit des Host-Fahrzeugs und der maximalen Kurvenradiusänderungsfähigkeit des Host-Fahrzeugs während einer dem Host-Fahrzeug zugeordneten Reaktionszeit durchgeführt wird. Beispielsweise kann der Bremsweg in Querrichtung für das Host-Fahrzeug einen Querbeschleunigungsabstand aufweisen, der einer Strecke entspricht, die das Host-Fahrzeug über eine vorbestimmte Zeitdauer zurücklegen kann, unter der Annahme, dass das Host-Fahrzeug mit der maximalen Geschwindigkeit in Richtung des Zielfahrzeugs abbiegt. Die vorbestimmte Zeitdauer kann eine von der Verarbeitungseinrichtung angenommene Zeitdauer sein. Beispielsweise kann eine Beschränkung vorschreiben, dass die Verarbeitungsvorrichtung annimmt, dass ein Host-Fahrzeug für eine bestimmte Zeitdauer (z. B. 0,5 Millisekunden, 1 Millisekunde, 2 Millisekunden, 3 Millisekunden, 10 Millisekunden usw.) beschleunigen wird. Die vorbestimmte Zeitdauer kann eine Reaktionszeit sein, die dem Host-Fahrzeug zugeordnet ist. Beispielsweise kann die vorbestimmte Zeitdauer eine Verzögerung sein zwischen dem Zeitpunkt, zu dem ein Sensor (z. B. eine Bildgebungsvorrichtung) des Host-Fahrzeugs einen Zustand erfasst, der eine Bremsreaktion in Querrichtung von dem Host-Fahrzeug erfordert (z. B. ein Zielfahrzeug, das in das Pfad des Host-Fahrzeug einfährt), und dem Zeitpunkt, wenn das Host-Fahrzeug beginnt, mit seiner Bremsrate in Querrichtung zu bremsen. In diesem Beispiel kann davon ausgegangen werden, dass das Host-Fahrzeug, in einem Worst-Case-Szenario, während der gesamten Verzögerungszeit mit seiner maximalen Fähigkeit in Querrichtung beschleunigt. In einigen Ausführungsformen kann die der Reaktionszeit zugeordnete Zeitdauer durch die Verarbeitungsvorrichtung bestimmt oder angenähert werden. Beispielsweise kann die Verarbeitungsvorrichtung die Zeit zwischen dem Empfangen eines Bildes und dem Bestimmen, dass eine Reaktion auf eine Querbewegung erforderlich ist, überwachen. Als weiteres Beispiel kann die Verarbeitungsvorrichtung eine mittlere, Median- oder Modus-Reaktionszeit bestimmen, die mehreren Navigationsreaktionen zugeordnet ist, und die mittlere, Median- oder Modus-Reaktionszeit beim Berechnen eines Bremswegs in Querrichtung verwenden. Beispielsweise kann die Verarbeitungsvorrichtung nach zehn, hundert oder tausend Navigationsreaktionen bestimmen, dass die durchschnittliche Zeit zwischen einem erfassten Ereignis und einer Navigationsreaktion ein bestimmter Wert ist (z. B. eine beliebige reelle Zahl von Millisekunden), und diesen Wert als dem Host-Fahrzeug zugeordnete Reaktionszeit verwenden.
-
Der Prozess 5300 kann einen Schritt 5314 zum Bestimmen einer aktuellen Quergeschwindigkeit des Zielfahrzeugs, einer maximalen Gierratenfähigkeit des Zielfahrzeugs und einer maximalen Kurvenradiusänderungsfähigkeit des Zielfahrzeugs aufweisen. In Übereinstimmung mit dieser Offenbarung kann die mindestens eine Verarbeitungsvorrichtung dazu programmiert sein, eine aktuelle Quergeschwindigkeit eines Zielfahrzeugs zu bestimmen. In einigen Ausführungsformen kann die Quergeschwindigkeit des Zielfahrzeugs basierend auf der Quergeschwindigkeit des Host-Fahrzeugs bestimmt werden. Beispielsweise können einer oder mehrere Sensoren an einem Host-Fahrzeug Informationen in Bezug auf die Geschwindigkeit des Host-Fahrzeugs und eine Angabe der Beschleunigung oder Richtungsänderung eines Zielfahrzeugs in Bezug auf das Host-Fahrzeug bereitstellen. In einigen Ausführungsformen kann die Quergeschwindigkeit des Zielfahrzeugs basierend auf einer Analyse mindestens eines Bildes bestimmt werden. Das mindestens eine Bild kann beispielsweise dasselbe Bild sein, das von der Verarbeitungsvorrichtung in Schritt 5302 empfangen wurde, und das verwendet wurde, um das Zielfahrzeug in Schritt 5306 zu identifizieren. In einigen Ausführungsformen können eine Vielzahl von Bildem analysiert werden, um eine Quergeschwindigkeit des Zielfahrzeugs zu bestimmen. Beispielsweise kann ein erstes Bild das Zielfahrzeug in einem ersten Abstand von dem Host-Fahrzeug darstellen, und ein zweites Bild kann das Zielfahrzeug in einem zweiten Abstand von dem Host-Fahrzeug darstellen, wobei die Verarbeitungsvorrichtung die Änderung des Abstands und die Zeit zwischen dem ersten und dem zweitem Bild zum Bestimmen einer Quergeschwindigkeit, die dem Zielfahrzeug zugeordnet ist, verwenden kann. In einigen Ausführungsformen kann die Quergeschwindigkeit des Zielfahrzeugs basierend auf einer Analyse einer Ausgabe von mindestens einem von einem LIDAR-System oder einem RADAR-System, das dem Host-Fahrzeug zugeordnet ist, bestimmt werden. Beispielsweise kann die Verarbeitungsvorrichtung die Quergeschwindigkeit des Host-Fahrzeugs und einen Abstand zwischen dem Host-Fahrzeug und dem Zielfahrzeug (wie beispielsweise durch ein LIDAR-System erfasst) verwenden, um eine Quergeschwindigkeit des Host-Fahrzeugs zu bestimmen.
-
In einigen Ausführungsformen kann die Verarbeitungsvorrichtung zur Berücksichtigung eines Worst-Case-Szenarios so programmiert sein, dass sie annimmt, dass die aktuelle Quergeschwindigkeit des Zielfahrzeugs kleiner oder größer als eine erfasste Quergeschwindigkeit des Zielfahrzeugs ist. Wenn beispielsweise das Zielfahrzeug neben dem Host-Fahrzeug fährt, kann die Verarbeitungsvorrichtung dazu programmiert sein, eine erfasste Geschwindigkeit unter Verwendung eines vorbestimmten Werts, eines Prozentsatzes, einer Formel oder dergleichen zu verringern.
-
In Übereinstimmung mit dieser Offenbarung kann die mindestens eine Verarbeitungsvorrichtung dazu programmiert sein, eine maximale Gierratenfähigkeit und/oder eine maximale Kurvenradiusänderungsfähigkeit des Zielfahrzeugs basierend auf mindestens einer erkannten Eigenschaft des Zielfahrzeugs anzunehmen. Die mindestens eine Eigenschaft kann eine beliebige Eigenschaft sein, die mit einer maximalen Gierrate oder Kurvenradiusfähigkeit korrelieren kann. In einigen Ausführungsformen kann die erkannte Eigenschaft des Zielfahrzeugs einen Fahrzeugtyp, eine Klasse, eine Marke, ein Modell, eine Größe oder dergleichen aufweisen, wie oben beschrieben.
-
Die Verarbeitungsvorrichtung kann dazu programmiert sein, die mindestens eine Eigenschaft aus Informationen von einem oder mehreren Sensoren (z. B. LIDAR, RADAR, Bildgebungsvorrichtungen usw.) zu erkennen. In einigen Ausführungsformen kann die erkannte Eigenschaft des Zielfahrzeugs basierend auf einer Analyse des mindestens einen Bildes bestimmt werden. Beispielsweise kann das Bild des Zielfahrzeugs einen Text auf der Außenseite des Zielfahrzeugs aufweisen, der verwendet werden kann, um einen Fahrzeugtyp, ein Fahrzeugmodell, eine Fahrzeuggröße oder andere Eigenschaften zu bestimmen. Als ein weiteres Beispiel kann das Bild des Zielfahrzeugs andere Objekte aufweisen, die verwendet werden können, um eine Fahrzeuggröße oder eine andere Eigenschaft basierend auf einem Vergleich mit den anderen Objekten anzunähern. Als besonderes Beispiel kann ein großes Fahrzeug größer als ein Geschwindigkeitsbegrenzungsschild erscheinen, während ein kleines Fahrzeug kleiner als ein Geschwindigkeitsbegrenzungsschild erscheinen kann. In einigen Ausführungsformen kann die mindestens eine Eigenschaft des Zielfahrzeugs basierend auf mindestens einer von einer LIDAR-Ausgabe oder einer RADAR-Ausgabe bestimmt werden. Beispielsweise kann eine LIDAR-Ausgabe einen ersten Abstand aufweisen, der dem Abstand zu dem hinteren Stoßfänger des Zielfahrzeugs zugeordnet ist, und einen zweiten Abstand, der einem Abstand zu dem vorderen Stoßfänger (oder einem anderen Bereich) des Zielfahrzeugs zugeordnet ist, wobei die Differenz zwischen diesen möglicherweise verwendet wird, um die Größe des Zielfahrzeugs abzuschätzen.
-
Wie oben diskutiert, kann die Zielfahrzeugbremsrate einer maximalen oder submaximalen Bremsrate des Fahrzeugs entsprechen. Die Bremsrate des Zielfahrzeugs oder die maximale Beschleunigungsfähigkeit des Zielfahrzeugs können durch beliebige Mittel bestimmt werden, die mit dieser Offenbarung übereinstimmen, einschließlich der Mittel, die oben in Schritt 5310 für das Host-Fahrzeug beschrieben sind. Beispielsweise kann die Zielfahrzeugbremsrate basierend auf einem erfassten Zustand einer Straßenoberfläche, einem erfassten Wetterzustand usw. bestimmt werden. In einigen Ausführungsformen kann die Bremsrate des Fahrzeugs von einer Verantwortlichkeits- oder Schuldeigenschaft abhängig sein, die dem Host-Fahrzeug oder Zielfahrzeug zugeordnet ist. Dementsprechend kann die Bremsrate des Host-Fahrzeugs geringer sein als die Bremsrate des Zielfahrzeugs, oder umgekehrt.
-
Der Prozess 5300 kann einen Schritt 5316 zum Bestimmen eines Bremswegs in Querrichtung für das Zielfahrzeug basierend auf der aktuellen Quergeschwindigkeit des Zielfahrzeugs, der maximalen Gierratenfähigkeit des Zielfahrzeugs und der maximalen Kurvenradiusänderungsfähigkeit des Zielfahrzeugs aufweisen. Der Bremsweg in Querrichtung für das Zielfahrzeug kann einem Abstand entsprechen, der erforderlich ist, um eine Quergeschwindigkeit des Zielfahrzeugs von null zu erreichen. Der Bremsweg in Querrichtung kann der Abstand sein, der erforderlich ist, um eine Quergeschwindigkeit von null bei der maximalen Gierratenfähigkeit des Zielfahrzeugs und der maximalen Kurvenradiusänderungsfähigkeit des Zielfahrzeugs zu erreichen, ausgehend von der aktuellen Quergeschwindigkeit des Zielfahrzeugs und nach einer Querbeschleunigung des Zielfahrzeugs als Ergebnis eines Wendemanövers durch das Zielfahrzeug in Richtung des Host-Fahrzeugs, das bei der maximalen Gierratenfähigkeit des Zielfahrzeugs und der maximalen Änderungsradiusänderungsfähigkeit des Zielfahrzeugs während einer dem Zielfahrzeug zugeordneten Reaktionszeit durchgeführt wird. Beispielsweise kann das Bremsen in Querrichtung für das Zielfahrzeug einen Querbeschleunigungsabstand aufweisen, der einem Abstand entspricht, den das Zielfahrzeug über eine vorbestimmte Zeitdauer zurücklegen kann, unter der Annahme, dass das Zielfahrzeug mit der maximalen Geschwindigkeit in Richtung des Host-Fahrzeugs abbiegt. Die vorbestimmte Zeitdauer kann eine Zeitdauer sein, die von der Verarbeitungsvorrichtung als eine dem Zielfahrzeug zugeordnete Reaktionszeit angenommen wird. Die Reaktionszeit für das Zielfahrzeug kann die gleiche sein wie die Reaktionszeit für das Host-Fahrzeug, oder kann unterschiedlich sein. Beispielsweise kann die Verarbeitungsvorrichtung eine Reaktionszeit basierend auf einem menschlichen Fahrer annehmen, die sich erheblich von der Reaktionszeit unterscheiden kann, die einem automatisierten Fahrzeug zugeordnet ist.
-
Der Prozess 5300 kann einen Schritt 5318 zum Implementieren der geplanten Navigationsaktion aufweisen, wenn die geplante Navigationsaktion sicher ist. Für die Zwecke von Schritt 5318 liegt ein Beispiel dafür, wann die geplante Navigationsaktion als sicher betrachtet werden kann, dann vor, wenn für die geplante Navigationsaktion der bestimmte Nächstzustands-Querabstand größer ist als eine Summe des Bremswegs in Querrichtung für das Host-Fahrzeug und des Bremswegs in Querrichtung für das Zielfahrzeug. Unter diesen Umständen kommt es zu keiner Kollision zwischen dem Host-Fahrzeug und dem Zielfahrzeug, da der Bremsweg in Querrichtung für beide Fahrzeuge (einschließlich der potenziell zurückgelegten Strecke unter der Annahme einer maximalen Querbeschleunigung während der Reaktionszeit) ein Weglenken der Fahrzeuge vor der Kollision ermöglichen würde, wenn die Navigationsaktion durchgeführt wurde.
-
In einigen Ausführungsformen kann die Verarbeitungsvorrichtung dazu ausgelegt sein, die geplante Navigationsaktion zu implementieren, wenn der bestimmte Nächstzustands-Querabstand um mindestens einen vorbestimmten minimalen Abstand größer ist als die Summe des Bremswegs in Querrichtung für das Host-Fahrzeug und des Bremswegs in Querrichtung des Zielfahrzeugs. Der minimale vorbestimmte Abstand kann einem vorbestimmten Trennabstand in Querrichtung entsprechen, der zwischen dem Host-Fahrzeug und anderen Fahrzeugen beizubehalten ist. Beispielsweise kann eine Beschränkung eines autonomen Navigationssystems vorschreiben, dass das autonome Fahrzeug anderen Fahrzeugen niemals näher als (weniger als) ein spezifizierter Abstand kommt. Der vorbestimmte Trennabstand kann ein Abstand beliebigen Ausmaßes sein. In einigen Ausführungsformen beträgt der vorbestimmte Trennabstand mindestens 1 m, 2 m, 5 m, usw. In einigen Ausführungsformen kann der vorbestimmte Abstand beispielsweise in Abhängigkeit von der Geschwindigkeit, mit der das Host-Fahrzeug fährt, dem Ort des Host-Fahrzeugs (z. B. einer Stadtstraße, einer Landstraße), usw. variieren.
-
In anderen Ausführungsformen kann die Verarbeitungsvorrichtung dazu programmiert sein, die geplante Navigationsaktion ungeachtet des Nächstzustands-Querabstands zu implementieren, wenn die geplante Navigationsaktion zu einem sicheren Längsabstand zwischen dem Host-Fahrzeug und dem Zielfahrzeug führen würde, wie oben in Bezug auf 52B beschrieben. Beispielsweise kann der Sicherheitsabstand in Längsrichtung größer oder gleich einer Summe aus einem Anhalteweg in Längsrichtung des Host-Fahrzeugs und einem Anhalteweg in Längsrichtung des Zielfahrzeugs sein. Der Anhalteweg des Host-Fahrzeugs kann auf einer maximalen Bremsfähigkeit des Host-Fahrzeugs in Längsrichtung und einer aktuellen Längsgeschwindigkeit des Host-Fahrzeugs basieren, und der Anhalteweg des Host-Fahrzeugs kann einen Beschleunigungsabstand des Host-Fahrzeugs aufweisen, der einem Abstand entspricht, der das Host-Fahrzeug zurücklegen kann bei einer maximalen Beschleunigungsfähigkeit des Host-Fahrzeugs während einer dem Host-Fahrzeug zugeordneten Reaktionszeit, ausgehend von der aktuellen Längsgeschwindigkeit des Host-Fahrzeugs. Der Anhalteweg des Zielfahrzeugs kann auf einer maximalen Bremsfähigkeit des Zielfahrzeugs in Längsrichtung und einer aktuellen Geschwindigkeit des Zielfahrzeugs in Längsrichtung basieren, und der Anhalteweg des Zielfahrzeugs kann einen Beschleunigungsweg des Zielfahrzeugs aufweisen, der einem Abstand entspricht, den das Zielfahrzeug zurücklegen kann bei einem maximalen Beschleunigungsvermögen des Zielfahrzeugs während einer dem Zielfahrzeug zugeordneten Reaktionszeit, ausgehend von der aktuellen Längsgeschwindigkeit des Zielfahrzeugs.
-
Evaluieren von domänenspezifischen Fähigkeiten des Navigationssystem
-
In Übereinstimmung mit den oben beschriebenen offenbarten Ausführungsformen kann ein verantwortungsbewusstes Sicherheits- (RSS) Modell implementiert werden, um sicherzustellen, dass ein autonomes Fahrzeug (AV) keine unsichere Navigationsaktion durchführt. Dies kann beispielsweise Identifizieren einer Navigationsaktion aufweisen, die zu einem Unfall führen könnte, für den das AV als schuldig angesehen würde. Eingaben von verschiedenen Sensoren, die in einem AV enthalten sind, können verwendet werden, um eine oder mehrere geplante Navigationsaktionen zu erzeugen, und um zu bestimmen, ob die eine oder die mehreren geplanten Navigationsaktionen RSS-konform wären. Die Fähigkeit des AV-Navigationssystems, zu bestätigen, dass eine bestimmte Navigationsaktion RSS-konform wäre, kann von den Fähigkeiten eines Bordsensorsatzes bezüglich einer bestimmten Domäne, in der das AV arbeitet, abhängig sein. Die Domäne kann beispielsweise eine geografische Region aufweisen, die ein bestimmtes Straßennetz, Strukturen usw. aufweist. Die Domäne kann auch zusätzliche Schichten aufweisen, wie etwa Umgebungsbedingungen, einschließlich Wetter, Partikelkonzentrationen in der Luft, Umgebungslichtstärken, Dichte/Ort/Ausrichtung von störenden Lichtquellen, oder beliebige andere Umgebungsfaktoren, die zur Komplexität des genauen Erfassens von Aspekten der AV-Umgebung beitragen können.
-
In einigen Fällen kann es vorteilhaft sein, die Fähigkeiten eines bestimmten AV-Sensorsatzes in Bezug auf bestimmte Domänen zu evaluieren, um zu bestimmen, ob der AV-Sensorsatz in der Lage ist, Ausgaben zu erzeugen, die ausreichen, um eine RSS-Konformität in Bezug auf die bestimmten Domänen sicherzustellen. Unter Verwendung herkömmlicher Techniken kann eine solche Evaluierung durch empirisches Testen erfolgen. Diese Form des Testens kann jedoch unpraktisch oder unmöglich sein, da sie Tausende oder Millionen Kilometer von AV-Fahrten relativ zu allen befahrbaren Straßen erfordern würde. Ein derartiger Ansatz kann auch unpraktisch sein, da möglicherweise eine beträchtliche Zeitdauer für das Testen aufgewendet werden muss, bis beispielsweise bestimmte Wetterbedingungen überhaupt auftreten. Darüber hinaus würden alle Änderungen im Straßennetz ein erneutes Testen erfordern, und es können Hunderte oder Tausende von Umgebungsschichten evaluiert werden, wobei jede Kombination zu einer anderen zu testenden Domäne führt.
-
Als Alternative können die offenbarten Ausführungsformen ein Evaluieren eines bestimmten Sensorsatzes in einer Simulation relativ zu verschiedenen Domänen aufweisen. Solche Domänen können eine bestimmte geografische Region aufweisen, auf die verschiedene Umgebungsbedingungen geschichtet werden können. Durch solche Simulationen, die relativ zu Hunderten, Tausenden oder Millionen unterschiedlicher Domänen schnell und auf kontrollierte Weise durchgeführt werden können, kann die RSS-Konformitätsfähigkeit eines AV, das mit einem bestimmten Sensorsatz ausgestattet ist, quantitativ evaluiert werden.
-
Domäneneigenschaften, die die Fähigkeit des AV beeinflussen können, RSS-Konformität beizubehalten, können (neben vielen anderen) aufweisen: Strukturen oder feststehende Objekte, die einen oder mehrere Bereiche eines Sichtfelds einer Kamera verdecken (z. B. Gebäude, Verkehrszeichen, Sträucher), Bäume, Leitplanken, Absperrungen, Mauern usw.); Straßenmerkmale, die ein Sichtfeld einschränken (z. B. Kurven, Straßenunebenheiten, Gefälle usw.); Wetterbedingungen, wie etwa Regen, Schnee und Nebel (in unterschiedlichen Mengen), die die Kamera- oder LIDAR-Funktionalität beeinträchtigen können; schwebender Staub oder Rauch; Quellen von Umgebungslicht oder Lichtinterferenzen; usw. Jede dieser Domäneneigenschaften kann die Fähigkeit des Sensorsatzes zur Erkennung verschiedener Bedingungen oder Merkmale einer Umgebung (z. B. durch Gebäude verdeckte Fahrzeuge oder Fußgänger, Regen usw.) beeinträchtigen, was sich auf die RSS-Konformitätsfähigkeit des AV-Navigationssystems auswirken kann. Ein bestimmter Sensorsatz kann automatisch in Bezug auf viele unterschiedliche Domänen evaluiert werden, wobei jeder für einen anderen Satz von Domäneneigenschaften repräsentativ ist.
-
Zusätzlich zur automatischen Evaluierung eines Sensorsatzes kann das RSS-Konformitäts-Evaluierungssystem auch verwendet werden, um beim Navigieren eines AV relativ zu verschiedenen tatsächlichen Domänen zu helfen, die während tatsächlicher Fahrten erfahren werden. Beispielsweise kann das System eine oder mehrere Karten auswerten, die für eine geografische Region repräsentativ sind, und bestimmen, ob es beispielsweise Merkmale in einer geplanten Route gibt, die sich auf die Sensorfähigkeit beim Liefern von Ausgaben auswirken können, die erforderlich sind, um RSS-konform zu bleiben. Das System kann zur Verwendung bei der Evaluierung eines Sensorsatzes auch automatisch andere Aspekte einer Domäne erkennen, wie etwa Wetter, Schwebeteilchen, abgebildete Lichtquellen, Tageszeit usw. Wenn das System bestimmte Teile einer abgebildeten Region identifiziert, innerhalb derer (für einen erkannten Satz von Umgebungsbedingungen) die Sensorsatzausgabe möglicherweise nicht ausreicht, um die RSS-Konformität sicherzustellen, dann kann das AV-Navigationssystem diese identifizierten Regionen vermeiden und das Fahrzeug umleiten, um innerhalb von Regionen zu navigieren, in denen die RSS-Konformität für einen bestimmten Sensorsatz gewährleistet ist. Während das hierin beschriebene RSS-System beispielhaft bereitgestellt wird, versteht es sich, dass die offenbarten Ausführungsformen gleichermaßen verwendet werden können, um die Leistung in Bezug auf beliebige andere Systeme zu evaluieren, die dazu verwendet werden, um autonome Fahrzeuge gemäß einem oder mehreren Sicherheits- und/oder Leistungsregeln oder Richtlinien zu navigieren und zu steuern.
-
54 veranschaulicht ein beispielhaftes Host-Fahrzeug 5410, das mit einem Sensor 5420 ausgestattet ist, der basierend auf einer Simulation evaluiert werden kann, in Übereinstimmung mit den offenbarten Ausführungsformen. Das Host-Fahrzeug 5410 kann dazu ausgelegt sein, um in einer Umgebung des Host-Fahrzeugs 5410 basierend auf einem oder mehreren Sensoren (auch als „Sensorsatz“ bezeichnet) zu navigieren, die den Sensor 5420 aufweisen können. In einigen Ausführungsformen kann das Host-Fahrzeug 5410 ein simuliertes Fahrzeug zum Evaluieren einer Leistung des Sensors 5420 (oder eines Satzes von Sensoren einschließlich des Sensors 5420) bezüglich einer simulierten Domäne sein. Alternativ oder zusätzlich kann das Host-Fahrzeug 5410 ein physisches Fahrzeug aufweisen, wie etwa ein autonomes oder halbautonomes Fahrzeug, einschließlich des Sensors 5420. In einigen Ausführungsformen kann das Host-Fahrzeug 5410 dem oben diskutierten Fahrzeug 200 entsprechen. Dementsprechend können beliebige der hierin in Bezug auf das Fahrzeug 200 beschriebenen Merkmale oder Ausführungsformen auch auf das Host-Fahrzeug 5410 zutreffen. Das Host-Fahrzeug 5410 kann eine oder mehrere der oben beschriebenen Bildaufnahmevorrichtungen 542, 544 und 546 und die Verarbeitungsvorrichtung 110 aufweisen. Die Eigenschaften des Host-Fahrzeugs 5410 können in einer Simulation einer Umgebung des Host-Fahrzeugs 5410 verwendet werden, um den Sensor 5420 (oder einen Satz von Sensoren, einschließlich des Sensors 5420) zu evaluieren. Ein Simulationssystem kann eine oder mehrere Verarbeitungsvorrichtungen zum Simulieren einer Domäne in Bezug auf den Sensor 5420 aufweisen.
-
Der Sensor 5420 kann jede Art von Sensor aufweisen, der dazu ausgelegt ist, Sensordaten zur Verwendung beim Navigieren eines Fahrzeugs auszugeben. Beispielsweise kann der Sensor 5420 eine Kamera oder eine andere Bildaufnahmevorrichtung, einen LIDAR-Sensor, einen RADAR-Sensor, einen Akustiksensor, einen Näherungssensor oder beliebige andere Sensoren zum Aufnehmen von Daten aus einer Umgebung des Host-Fahrzeugs 5410 aufweisen. Der Sensor 5420 kann verschiedenen Eigenschaften zugeordnet sein, die unter Verwendung einer simulierten Domäne evaluiert werden können. Beispielsweise kann der Sensor 5420 in einigen Ausführungsformen ein Sensortyp sein (z. B. Kamera, LIDAR, RADAR, usw.), der in einer Simulation ausgewertet werden kann. In einem Beispiel kann jedem Sensor 5420 ein Satz von Sensoreigenschaften zugeordnet werden, die die Erfassungsfähigkeiten des Sensors charakterisieren. Die für den Sensor 5420 bereitgestellten Erfassungsfähigkeiten können empfindlich auf unterschiedliche Bedingungen reagieren, und die Erfassungsfähigkeitsinformationen für den Sensor 5420 können Empfindlichkeitsdaten aufweisen, die das Verhalten des Sensors 5420 oder einer bestimmten Eigenschaft des Sensors 5420 unter verschiedenen Bedingungen angeben. Als ein weiteres Beispiel kann der Sensor 5420 einem bestimmten Erfassungsbereich zugeordnet sein, wie durch den Abstand D in 54 angezeigt wird. In ähnlicher Weise kann der Sensor 5420 einem bestimmten Sichtfeld 5422 zugeordnet sein. In einigen Ausführungsformen kann das Sichtfeld einem Sichtfeldbereich zugeordnet sein, wie durch den Winkel θ angezeigt wird. Das Sichtfeld 5422 kann durch andere Parameter definiert werden, die den Abstand D, eine Höhe, einen vertikalen Winkelbereich, oder dergleichen, aufweisen. Verschiedene andere Sensoreigenschaften können gleichermaßen in einer Simulation analysiert werden, einschließlich Tiefenschärfe, Brennweite, dynamischer Bereich, Winkelauflösung, Bildauflösung, Betriebsbedingungsbereiche (z. B. spezifizierte minimale oder maximale Temperaturen, Feuchtigkeitsbereiche usw.), Lichtempfindlichkeit, Akkukapazität, Blitztyp, Blende, Marke oder Hersteller, Modellnummer, Objektivtyp, Gerätegröße, Ausgabetyp (z. B. analog vs. digital), Reaktionsgeschwindigkeit, Genauigkeit, Präzision, oder andere Eigenschaften, die sich auf die Leistung eines Sensors oder eines Satzes von Sensoren auswirken können. Während der Sensor 5420 in der gesamten vorliegenden Offenbarung beispielhaft verwendet wird, versteht es sich, dass sich jede Bezugnahme auf den Sensor 5420 gleichermaßen auf einen Satz von Sensoren beziehen kann. Ferner kann das Host-Fahrzeug eine Vielzahl von Sensoren (z. B. zwei, drei, vier, fünf, zehn, zwanzig usw.) und eine beliebige Kombination von Sensortypen aufweisen.
-
In einigen Ausführungsformen können die Sensoreigenschaften eine Position und/oder Ausrichtung eines Sensors bezüglich eines Host-Fahrzeug aufweisen. Wie beispielsweise in 54 gezeigt wird, kann der Sensor 5420 auf einem Dachs des Host-Fahrzeugs 5420 oder in der Nähe davon platziert sein. In einigen Ausführungsformen können verschiedene andere Platzierungsstellen und Ausrichtungen in Betracht gezogen werden, wie etwa die Platzierungsstellen 5430 und 5432. In diesem Beispiel kann die Platzierungsstelle 5430 bei oder nahe einer Unterseite einer Windschutzscheibe des Host-Fahrzeugs 5410 sein, und kann auch von einer Mitte des Host-Fahrzeugs 5410 versetzt sein. Die Platzierungsstelle 5432 kann auch an einer Seite des Host-Fahrzeugs 5410 positioniert sein, und kann so ausgerichtet sein, dass sie nach außen (anstatt nach vorne, so wie der Sensor 5410) ausgerichtet ist. Diese Platzierung kann die Fähigkeit des Host-Fahrzeugs 5410 beeinträchtigen, auf einem Straßenabschnitt zu navigieren. Beispielsweise können Abweichungen in Höhe, Platzierung in Querrichtung, Platzierung in Längsrichtung, Ausrichtung oder dergleichen beeinflussen, welche Objekte oder andere Merkmale in einer Umgebung des Host-Fahrzeugs 5410 sichtbar sind, sowie zu welchen Zeiten und unter welchen Bedingungen. Wie oben angemerkt, kann in einigen Ausführungsformen ein Satz von Sensoren während einer Simulation evaluiert werden. Dementsprechend kann in einigen Ausführungsformen eine Kombination aus mehreren Sensoren und Sensorpositionen zusammen evaluiert werden.
-
In Übereinstimmung mit der vorliegenden Offenbarung kann die Leistung des Sensors 5420 innerhalb einer simulierten Testdomäne evaluiert werden. Wie hierin verwendet, bezieht sich eine Testdomäne (oder „Domäne“) auf eine simulierte Umgebung, durch die die Navigation eines Host-Fahrzeugs simuliert oder getestet werden kann. Die Testdomäne kann eine abgebildete Darstellung einer geografischen Region aufweisen, die durch einen zweidimensionalen oder dreidimensionalen Raum dargestellt werden kann. Beispielsweise kann die abgebildete Darstellung ein spärliches Datenmodell aufweisen, das Polynomdarstellungen bestimmter Straßenmerkmale (z. B. Fahrspurmarkierungen), Zieltrajektorien für das Host-Fahrzeug, Darstellungen von Objekten oder dergleichen aufweist. Während beispielhaft ein spärliches Datenmodell bereitgestellt wird, können verschiedene andere Formen von Straßennavigationsmodellen verwendet werden. In einigen Ausführungsformen kann die Testdomäne verschiedene Umgebungsbedingungen aufweisen, wie beispielsweise Sichtbedingungen, die beeinflussen können, wie der Sensor 5420 die Umgebung wahrnimmt. Diese Umgebungsbedingungen können zusammen mit der Navigation des Host-Fahrzeugs als Teil der Testdomäne simuliert werden.
-
55 veranschaulicht eine beispielhafte Testdomäne 5500 zum Simulieren des Betriebs eines oder mehrerer Sensoren in Übereinstimmung mit den offenbarten Ausführungsformen. Beispielsweise kann die Testdomäne 5500 eingerichtet werden, um den Betrieb des Sensors 5420 des Host-Fahrzeugs 5410 zu simulieren und zu evaluieren. Die Testdomäne kann eine abgebildete Darstellung einer geografischen Region 5502 sowie verschiedene Umgebungsbedingungen 5404 und 5406, wie gezeigt, aufweisen. Der simulierte Betrieb des Sensors 5402 innerhalb der Testdomäne 5500 kann beliebige Regionen innerhalb der geografischen Region identifizieren, wo die Ausgaben des Sensors 5420 (oder eines Satzes von Sensoren einschließlich des Sensors 5420) nicht ausreichen, um sicherzustellen, dass die Navigation des Host-Fahrzeugs 5410 innerhalb der abgebildeten Darstellung der geografischen Region 5502 nicht zu einem Unfall führen wird, den das Host-Fahrzeug verschuldet hat, wie nachstehend ausführlicher beschrieben. Beispielsweise kann die geografische Region 5502 eine Zieltrajektorie (oder Route) 5510 für das Host-Fahrzeug 5410 aufweisen, um die geografische Region 5502 als Teil einer Simulation oder eines Tests zu durchqueren. In einigen Ausführungsformen kann die Zieltrajektorie 5510 aus einer Kartendatenbank extrahiert werden. Beispielsweise kann die Zieltrajektorie 5510 basierend auf aggregierten Informationen erzeugt werden, die von mehreren Host-Fahrzeugen gesammelt wurden, die die geografische Region 5502 durchqueren, wie oben beschrieben. Die Leistung und der Betrieb des Sensors 5420 können an einer Serie von Positionen des Host-Fahrzeugs 5410 entlang der Zieltrajektorie 5510 evaluiert werden. Beispielsweise kann dies ein Erzeugen mindestens einer teilweisen simulierten Ausgabe aufweisen, von der erwartet wird, dass sie durch den Sensor 5420 an jeder Position erzeugt wird. Beispielsweise kann dies ein simuliertes Bild, das von dem Sensor 5420 aufgenommen wird, eine simulierte LIDAR- oder RADAR-Ausgabe, eine simulierte Näherungssensorausgabe oder jede andere Form von Sensorausgabe aufweisen. Alternativ oder zusätzlich kann eine Punktzahl oder ein anderer Indikator generiert werden, der eine erwartete Sensorleistung anzeigt. Verschiedene andere beispielhafte Wege zur Evaluierung der Angemessenheit eines Sensors werden unten beschrieben.
-
Die Testdomäne 5500 kann auf verschiedene Weise eingerichtet werden. In einigen Ausführungsformen kann die Testdomäne 5500 basierend auf der Identifizierung einer oder mehrerer geografischer Regionen innerhalb einer Kartendatenbank eingerichtet werden. Abgebildete Darstellungen dieser identifizierten geografischen Regionen können aus der Kartendatenbank extrahiert werden, und verwendet werden, um den Betrieb des Sensors 5420 innerhalb der identifizierten geografischen Regionen zu simulieren. Alternativ oder zusätzlich kann die Testdomäne 5500 zum Zwecke des Ausführens einer Simulation mindestens teilweise künstlich erzeugt werden, und muss nicht notwendigerweise einem realen geografischen Ort entsprechen. Dies kann beispielsweise Extrahieren kleiner Teile geografischer Regionen aus einer Kartendatenbank und deren Kombination, oder Erzeugen der geografischen Region von Grund auf neu aufweisen.
-
In einigen Ausführungsformen kann ein Testdomäne eingerichtet werden, um den Sensor 5420 in Bezug auf bestimmte Straßenmerkmale, Umgebungsbedingungen oder anderen Faktoren zu evaluieren. Beispielsweise kann die geografische Region 5502 verschiedene Straßenmerkmale aufweisen, wie etwa die Kurve 5514. In einigen Ausführungsformen können die Straßenmerkmale Höhenänderungen der Straßenoberfläche aufweisen, wie etwa Steigungen oder Gefälle (in 55 nicht gezeigt), Straßentexturen, die Zusammensetzung der Straßenoberfläche (z. B. glatte Oberfläche, Betonoberfläche, Schotterstraße, Straßenausbesserungen, Bodenschwellen usw.) oder andere Straßeneigenschaften. Als ein weiteres Beispiel kann die geografische Region 5502 eine Kreuzung 5512 oder andere Merkmale entlang eines Straßenabschnitts aufweisen. Dementsprechend kann zum Testen des Sensors 5420 gegen bestimmte Merkmale oder Bedingungen die Testdomäne 5500 basierend auf dem Einschluss dieser bestimmten Merkmale oder Bedingungen innerhalb der geografischen Region 5502 eingerichtet sein (entweder durch Identifizieren der geografischen Region 5502 oder durch Erzeugen der geografischen Region 5502). In einigen Ausführungsformen kann der Sensor 5420 gegen eine große Vielfalt unterschiedlicher Merkmale und Bedingungen getestet werden, was das Ausführen vieler Simulationen aufweisen kann. Dementsprechend kann die Testdomäne 5500 eine von vielen verschiedenen Testdomänen sein, die jeweils unterschiedliche geografische Regionen und/oder Umgebungsbedingungen aufweisen.
-
In dem in 55 gezeigten Beispiel kann die Testdomäne 5504 Umgebungsbedingungen 5504 und 5506 aufweisen. Insbesondere kann dies ein Lichtintensitätsniveau 5504 und ein Niederschlagsniveau 5506 aufweisen. Das Lichtintensitätsniveau 5504 kann sich auf eine Helligkeit der Sonne oder anderer Lichtquellen innerhalb der Testdomäne 5500 beziehen (z. B. Straßenlaternen, Scheinwerfer, Reflexionen usw.). In einigen Ausführungsformen können die Umgebungsbedingungen ferner eine Tageszeit und/oder einen Tag des Jahres aufweisen, an dem das Host-Fahrzeug 5410 die Zieltrajektorie 5510 befährt. Dementsprechend kann eine Position der Sonne bezüglich der geografischen Region 5502 simuliert werden. Dies kann beispielsweise eine Höhe über dem Horizont der Sonne, eine Ausrichtung der Sonne relativ zu der geografischen Region 5502, simulierte Schatten oder Reflexionen basierend auf dem Sonnenstand, eine simulierte Blendung von Windschutzscheiben oder anderen Oberflächen, oder dergleichen aufweisen. Das Niederschlagsniveau 5506 kann einen Niederschlagsgrad oder eine Niederschlagsmenge innerhalb der Testdomäne 5500 aufweisen. Dies kann beispielsweise simulierte Auswirkungen von Regen, Schnee, Nebel, Hagel, Graupel oder anderen Formen von Niederschlag aufweisen, die die Sicht oder andere Leistungsfaktoren des Sensors 5420 beeinflussen können. Verschiedene andere Umgebungsbedingungen, die Sensorvorrichtungen beeinträchtigen können, können ebenfalls simuliert werden, einschließlich Nebel, Dunst (z. B. aufgrund von Smog oder anderen Schadstoffen), Rauch, Staub, Wind, Temperaturextreme, Feuchtigkeit, Lärm, elektromagnetische Störungen oder andere Bedingungen.
-
In einigen Ausführungsformen können die Umgebungsbedingungen andere Objekte aufweisen, die in der geografischen Region 5502 existieren. In dem in 55 gezeigten Beispiel kann dies das Gebäude 5520, das Zielfahrzeug 5530 und den Fußgänger 5540 aufweisen. Verschiedene andere Arten von Objekten können Straßenschilder, Motorräder, Fußgänger, Straßenränder (z. B. Bordsteine, Mittelstreifen, Leitplanken usw.), Fahrspurmarkierungen, Tiere, Schlaglöcher oder andere Hindernisse auf der Straßenoberfläche, Trümmer, Büsche, Bäume, Mauern oder andere Objekte oder Merkmale, die vorhanden sein können, aufweisen. In einigen Ausführungsformen können diese Objekte basierend auf realen Objekten, die von einem oder mehreren Host-Fahrzeugen erkannt werden, identifiziert und simuliert werden. Beispielsweise können die Position, Ausrichtung und Größe des Gebäudes 5520 basierend auf einer Analyse von Bildern bestimmt werden, die von einem oder mehreren Host-Fahrzeugen aufgenommen wurden, die die geografische Region 5500 durchqueren, und können in einer Kartendatenbank gespeichert werden. Alternativ oder zusätzlich können zu Simulationszwecken eines oder mehrere Objekte innerhalb der geografischen Region 5502 platziert werden. Beispielsweise kann jedes Objekt durch eine oder mehrere Eigenschaften definiert sein, wie beispielsweise eine Form des Objekts, eine Größe des Objekts, eine Position und Ausrichtung des Objekts, oder dergleichen. In einigen Ausführungsformen können verschiedene andere Eigenschaften definiert werden, wie etwa eine geschätzte oder gemessene Sensorreaktion, eine Art und Weise, wie das Objekt aufgenommen und durch den Sensor 5420 unter verschiedenen Bedingungen oder unter bestimmten Bedingungen dargestellt wird, die ein gegenwärtiges Test-Szenario widerspiegeln (z. B. gemäß eine bestimmte Testdomäne), oder dergleichen. In dem in 55 gezeigten Beispiel kann das Zielfahrzeug 5530 entlang einer Zieltrajektorie platziert werden, die sich mit der Zieltrajektorie 5510 überschneidet. In einigen Ausführungsformen kann auch die Bewegung verschiedener Objekte innerhalb der Testdomäne 5500 simuliert werden. Beispielsweise kann die Bewegung des Zielfahrzeugs 5530 und des Fußgängers 5540 simuliert werden, wie durch die Pfade 5532 bzw. 5542 dargestellt wird. Dies kann das Simulieren verschiedener Eigenschaften der Bewegung aufweisen, die Timing, Geschwindigkeit, Beschleunigung, Verzögerung, Impuls und dergleichen aufweisen. In einigen Ausführungsformen können diese Bewegungseigenschaften zwischen unterschiedlichen Testdomänen ähnlich wie die anderen Umgebungsbedingungen, wie oben beschrieben, variiert werden.
-
Basierend auf der Testdomäne 5500 kann eine Bestimmung erfolgen, ob die Ausgaben des Sensors 5410 (allein oder in Kombination mit anderen Sensoren) nicht ausreichen, um sicherzustellen, dass jede von dem Host-Fahrzeug 5410 implementierte Navigationsaktion durchgeführt wird. Die Ausgaben des Sensors 5420 und anderer Sensoren können basierend auf verschiedenen Faktoren oder Kombinationen von Faktoren evaluiert werden. In einigen Ausführungsformen kann dies das Identifizieren aufweisen, ob ein Sichtfeld des Sensors 5420 mindestens teilweise verdeckt ist. Beispielsweise kann die Simulation basierend auf der Position des Sensors 5420 relativ zu dem Host-Fahrzeug 5410, dem Sichtfeld 5422 oder anderen Eigenschaften des Sensors 5420 bestimmen, ob das Sichtfeld verdeckt wird, entweder durch einen Teil des Host-Fahrzeugs 5410, Objekte, wie etwa Gebäude 5520, oder andere Hindernisse. Die Ausgabe des Sensors 5420 kann basierend auf einer Reichweite des Sensors 5420 auch als unzureichend angesehen werden. Beispielsweise kann der Abstand D (in 54 gezeigt) nicht ausreichend sein, um eines oder mehrere Objekte in der Testdomäne 5500 zu erkennen. Als weiteres Beispiel kann die Ausgabe basierend auf einer vorhergesagten oder simulierten Lichtinterferenz mit dem Sensor 5420 unzureichend sein. Beispielsweise kann basierend auf dem Lichtintensitätsniveau 5502 (das eine Position einer Sonne oder einer anderen Lichtquelle innerhalb der Testdomäne 5500 aufweisen kann) eine Lichtinterferenz mit dem Sensor 5420 vorhergesagt werden, die die Fähigkeit des Host-Fahrzeugs 5410 stören kann, sicher zu navigieren. Als weiteres Beispiel kann ein Betriebszustand des Sensors 5420 vorhergesagt werden. Dies kann beispielsweise den Betrieb außerhalb eines vorbestimmten Bereichs (z. B. Temperaturbereich, Feuchtigkeitsbereich, Druck usw.), das Entladen einer Batterie, das Überschreiten einer Speichergrenze oder verschiedene andere Betriebszustandsfaktoren aufweisen.
-
In einigen Ausführungsformen kann die Ausgabe des Sensors 5420 basierend auf dem vorhergesagten Versäumnis, ein Objekt oder Merkmal in der Umgebung des Host-Fahrzeugs 5410 zu erkennen, als unzureichend angesehen werden. Beispielsweise kann basierend auf den simulierten Bedingungen und Positionen innerhalb des Trainingsbereichs 5500 der Sensors 5420 basierend darauf evaluiert werden, ob er ein Objekt, wie etwa ein Zielfahrzeug 5530 oder einen Fußgänger 5540, erkennen würde. Die Fähigkeit, ein Objekt zu erkennen, kann basierend darauf evaluiert werden, ob das Objekt verdeckt ist. In dem in 55 gezeigten Beispiel kann dies die Bestimmung aufweisen, ob das Zielfahrzeug 5530 durch das Gebäude 5530 verdeckt wäre. Dies kann mindestens teilweise von verschiedenen Eigenschaften der Kamera 5420 abhängig sein, wie etwa der Objektivbrennweite, dem Sichtfeld, der Reichweite, der Bildauflösung oder dergleichen. Als weiteres Beispiel kann die Fähigkeit, ein Objekt zu erkennen, von einer Klarheit abhängen, mit der erwartet wird, dass das Objekt in einem aufgenommenen Bild erscheint. Beispielsweise können Regen, Nebel, Staub oder andere Umgebungsbedingungen beeinflussen, wie wahrscheinlich es ist, dass der Sensor 5420 in der Lage wäre, das Zielfahrzeug 5530 zu erkennen. Eine ähnliche Analyse kann für andere Objekte durchgeführt werden, wie etwa Fußgänger, Fahrräder, Motorräder, Spurmarkierungen, Ampeln, Straßenschilder oder andere Gegenstände. In einigen Ausführungsformen kann die Fähigkeit des Sensors 5420 zum Identifizieren von Straßenmerkmalen evaluiert werden. Beispielsweise kann basierend auf Eigenschaften des Sensors 5420 und verschiedenen Umgebungsbedingungen die Fähigkeit, die Kreuzung 5512, die Kurve 5514, eine Straßenhöhenänderung oder verschiedene andere Straßenmerkmale zu identifizieren, evaluiert werden.
-
In einigen Ausführungsformen kann basierend darauf, ob das Host-Fahrzeug 5410 an einem Unfall schuld wäre, evaluiert werden, ob der Sensor 5420 ausreicht. Wie in den vorhergehenden Abschnitten ausführlich beschrieben, können verschiedene Regeln oder andere Überlegungen verwendet werden, um zu bestimmen, ob ein Host-Fahrzeug für eine Kollision oder einen anderen Unfall haftbar oder schuldhaft wäre. In einigen Ausführungsformen kann ein Host-Fahrzeug als verschuldend angesehen werden, wenn das Host-Fahrzeug nicht in der Lage ist, einen Sicherheitsabstand relativ zu anderen Zielfahrzeugen einzuhalten. Wenn beispielsweise das Host-Fahrzeug mit einer simulierten Host-Geschwindigkeit fährt, kann es verschuldend sein, wenn es einen vorbestimmten Abstand bezüglich eines Zielfahrzeugs, das mit einer simulierten Ziel-Fahrzeuggeschwindigkeit fährt, nicht einhalten kann. Beispielsweise kann der vorbestimmte Abstand einen Längsabstand relativ zum Host-Fahrzeug oder einen Querabstand relativ zum Host-Fahrzeug aufweisen, die jeweils oben ausführlicher beschrieben sind. Als weiteres Beispiel kann das Host-Fahrzeug verschuldend sein, wenn das Host-Fahrzeug, das mit einer simulierten Host-Geschwindigkeit fährt, einen vorbestimmten Abstand bezüglich eines oder mehrerer Objekte, die einer geografischen Region zugeordnet sind, nicht einhalten kann. Beispielsweise kann dies einen vorbestimmten Sicherheitsabstand aufweisen, der zwischen dem Fußgänger 5540 und dem Host-Fahrzeug 5410 einzuhalten ist. Die Eigenschaften des Sensors 5420 können die Fähigkeit des Host-Fahrzeugs 5410 beeinflussen, diese vorbestimmten Abstände beispielsweise basierend auf einem Zeitpunkt, zu dem Objekte erkannt werden, einzuhalten.
-
In einigen Ausführungsformen kann der Fehler für das Host-Fahrzeug 5410 basierend darauf bestimmt werden, wie schnell das Host-Fahrzeug 5410 basierend auf einer simulierten Navigationsaktion und dem Nächstzustands-Abstand zwischen dem Host-Fahrzeug und einem Objekt stoppen kann, als Ergebnis. Beispielsweise können die offenbarten Ausführungsformen Bestimmen eines simulierten Anhaltewegs für das Host-Fahrzeug 5410 in einem Fall, wenn es eine simulierte Navigationsaktion durchführt, aufweisen. Dies kann Annehmen einer simulierten Host-Geschwindigkeit für das Host-Fahrzeug 5410 und einer Bremsrate, mit der das Host-Fahrzeug 5410 seine Bremse anwendet (die eine maximale Bremsratenfähigkeit oder eine andere angenommene Bremsrate sein kann), aufweisen. Dies kann auch eine Verzögerungsdauer annehmen, bevor das Host-Fahrzeug 5410 seine Bremse anwendet (um eine dem Sensor 5420 zugeordnete Verzögerung oder eine Zeit zum Verarbeiten eines Ausgangssignals des Sensors 5420 zu berücksichtigen). In einigen Ausführungsformen kann ferner angenommen werden, dass das Host-Fahrzeug 5410 während dieser Verzögerungsdauer weiter beschleunigt. Beispielsweise kann angenommen werden, dass das Host-Fahrzeug 5410 während dieser Verzögerungsdauer mit einer maximalen Beschleunigungsrate (die eine angenommene maximale Beschleunigungsrate des Host-Fahrzeugs 5410 sein kann) weiter beschleunigt. Die offenbarten Ausführungsformen können ferner Bestimmen eines Nächstzustands-Abstands zwischen dem Host-Fahrzeug 5410 und einem Zielfahrzeug aufweisen, der sich ergeben würde, wenn die simulierte Navigationsaktion durchgeführt wird. Beispielsweise kann die simulierte Navigationsaktion aufweisen, dass das Host-Fahrzeug 5410 die Fahrspur wechselt, was dazu führen kann, dass das Host-Fahrzeug 5410 vor oder hinter dem Zielfahrzeug fährt. Als weiteres Beispiel kann die simulierte Navigationsaktion eine Änderung eines Längsabstands zwischen dem Host-Fahrzeug 5410 und dem Zielfahrzeug aufweisen. Beispielsweise kann das Host-Fahrzeug 5410 hinter dem Zielfahrzeug fahren, und eine simulierte Zielgeschwindigkeit des Zielfahrzeugs kann geringer sein als eine simulierte Host-Geschwindigkeit des Host-Fahrzeugs 5410. Dies kann auch eine Beschleunigung des Host-Fahrzeugs 5410 oder irgendwelche anderen Navigationsaktionen, die zu einem verringerten Längsabstand führen würden, aufweisen.
-
Um zu bestimmen, ob das Host-Fahrzeug 5410 schuld wäre, kann der Anhalteweg des Host-Fahrzeugs 5410 mit dem Nächstzustands-Abstand verglichen werden. Wenn der Anhalteweg den Nächstzustands-Abstand überschreitet, kann dies eine Kollision zwischen dem Host-Fahrzeug 5410 und dem Zielfahrzeug anzeigen, für die das Host-Fahrzeug 5410 schuld wäre. Alternativ oder zusätzlich kann, wenn ein Unterschied zwischen dem Anhalteweg und dem Nächstzustands-Abstand kleiner als ein vorbestimmter Abstand (z. B. ein sicherer Längsabstand) ist, das Host-Fahrzeug 5410 als schuldhaft angesehen werden. In einigen Ausführungsformen kann dabei auch davon ausgegangen werden, dass das Zielfahrzeug seine Bremse anwendet. Beispielsweise kann dies Bestimmen einer simulierten Zielfahrstrecke des Zielfahrzeugs basierend auf einer simulierten Zielgeschwindigkeit des Zielfahrzeugs und einer angenommenen maximalen Bremsfähigkeit des Zielfahrzeugs aufweisen. Diese simulierte Zielfahrstrecke kann zusammen mit dem simulierten Nächstzustands-Abstand summiert und mit dem simulierten Anhalteweg des Host-Fahrzeugs 5410 verglichen werden. Diese und andere Prozesse zum Bestimmen eines Verschuldens des Host-Fahrzeugs 5410 sind oben ausführlicher beschrieben.
-
In einigen Ausführungsformen kann das Bestimmen eines Verschuldens des Host-Fahrzeugs 5410 Annehmen einer simulierten Host-Geschwindigkeit, einer simulierten Zielgeschwindigkeit für ein Zielfahrzeug, Bremsraten für das Host-Fahrzeug 5410 und/oder anderen Fahrzeugen, und verschiedene andere Eigenschaften oder Variablen aufweisen. In einigen Ausführungsformen können diese Eigenschaften mit unterschiedlichen Testdomänen variiert werden, um den Sensor 5420 unter unterschiedlichen Bedingungen zu evaluieren. Alternativ oder zusätzlich muss das Modell nicht notwendigerweise eine Vielzahl von Eigenschaften auswerten, sondern kann zum Zwecke der Auswertung des Sensors 5420 eine Worst-Case-Eigenschaft annehmen. Beispielsweise kann das Modell in Bezug auf eine simulierte Geschwindigkeit des Host-Fahrzeugs 5410 eine Einhüllung für sichere Fahrbedingungen einstellen, einschließlich der maximalen sicheren Geschwindigkeit, die als simulierte Host-Geschwindigkeit verwendet werden kann. Diese maximale sichere Geschwindigkeit kann auf verschiedene Weise bestimmt werden. Beispielsweise kann die maximale sichere Geschwindigkeit eine Geschwindigkeitsbegrenzung für einen Straßenabschnitt sein, die aus einer Kartendatenbank bestimmt werden kann. Als weiteres Beispiel kann es auf der Geschwindigkeitsbegrenzung plus einem Puffer basieren, um typisches Fahrverhalten zu berücksichtigen. Beispielsweise kann der Puffer auf historischen Geschwindigkeiten für einen bestimmten Straßenabschnitt basieren, die von mehreren Fahrzeugen erfasst wurden. Das Modell kann dann testen, ob das Host-Fahrzeug 5410 unter der maximalen sicheren Geschwindigkeit (sowie anderen angenommenen sicheren Fahrbedingungen) die Zieltrajektorie 5510 sicher navigieren kann.
-
Als Ergebnis dieser Simulationen kann der Sensor 5420 (oder ein Satz von Sensoren, die den Sensor 5420 aufweisen) in Bezug auf eine Reihe von Fahr-Szenarien und -bedingungen evaluiert werden. Dementsprechend können die offenbarten Ausführungsformen implementiert werden, um zu bestimmen, ob ein Sensor oder ein bestimmter Satz von Sensoren zum Einbau in ein Host-Fahrzeug geeignet ist, oder um zu evaluieren, ob ein Fahrzeug mit einem Sensor oder einem bestimmten Satz von Sensoren sicher (autonom) zum Navigieren eines bestimmten Straßenabschnitts ist oder nicht. Beispielsweise kann dies Ausgeben eines binären Bestehens oder Nichtbestehens für jeden Sensor oder Satz von Sensoren aufweisen, die nach einer Vielzahl von Bedingungen evaluiert werden. Als weiteres Beispiel kann dies Erzeugen einer Punktzahl für eine bestimmte Konfiguration von Sensoren aufweisen. Beispielsweise kann eine Sensorkonfiguration, die für alle außer einigen simulierten Testdomänen geeignet ist, eine höhere Punktzahl erzielen als eine Sensorkonfiguration, die für viele simulierte Testdomänen unzureichend ist. In einigen Ausführungsformen können die offenbarten Ausführungsformen als ein Optimierungsprozess implementiert werden. Beispielsweise können eine oder mehrere simulierte Testdomänen für eine Vielzahl von Sensorplatzierungen (die Position, Ausrichtung oder beides aufweisen können) evaluiert werden. Basierend auf einer Analyse der Ergebnisse jeder Platzierung kann eine optimale Sensorplatzierung bestimmt werden.
-
In einigen Ausführungsformen können eine oder mehrere Simulationen durch das Navigationssystem des Host-Fahrzeugs 5410 durchgeführt werden, was bei Navigationsbestimmungen helfen kann. In diesen Ausführungsformen kann der Sensor 5420 (zusammen mit beliebigen anderen simulierten Sensoren) einer Sensorkonfiguration entsprechen, die eine Ausstattung des Host-Fahrzeugs 5410 bilden. Basierend auf dieser Sensorkonfiguration und den Bedingungen der Umgebung des Host-Fahrzeugs 5410 können die offenbarten Verfahren dazu verwendet werden, zu bestimmen, wie gut das Host-Fahrzeug 5410 in der Lage sein kann, eine vorausliegende Route zu überqueren. Beispielsweise kann die Testdomäne 5410 einer Region der Umgebung vor dem Host-Fahrzeug 5410 entlang einer geplanten Navigationsroute entsprechen. In dem in 55 gezeigten Beispiel kann das Host-Fahrzeug 5410 entlang der Zieltrajektorie 5510 in der geografischen Region 5502 fahren. Auf die abgebildete Darstellung der geografischen Region 5502 kann durch das Navigationssystem des Host-Fahrzeugs 5410 zugegriffen werden, beispielsweise über die Kartendatenbank 160. Das Navigationssystem kann ferner eine oder mehrere Umgebungsbedingungen identifizieren, die der geografischen Region 5502 zugeordnet sind, die in diesem Fall die aktuellen Bedingungen oder die prognostizierten Bedingungen darstellen können, wenn das Host-Fahrzeug 5410 die geografische Region 5502 erreicht. In einigen Ausführungsformen kann dies den Zugriff auf die Bedingungen 5504 und/oder 5506 über eine Wetterdatenbank oder andere Quelle von Umgebungsbedingungen aufweisen.
-
Basierend auf der Analyse der abgebildeten Darstellung der geografischen Region 5502, der Bedingungen 5504 und 5506 und der Eigenschaften des Sensors 5420 kann das Host-Fahrzeug 5410 bestimmen, ob eine oder mehrere Regionen innerhalb der geografischen Region 5502 existieren, für die die Ausgaben des Sensors 5420 unzureichend sein werden, um die Route sicher zu durchqueren. Dies kann ein Bestimmen aufweisen, ob die Ausgaben des Sensors 5420 nicht ausreichen, sicherzustellen, dass eine jeweilige durch das Navigationssystem des Host-Fahrzeugs implementierte Navigationsaktion nicht zu einem Unfall führt, den das Host-Fahrzeug verschuldet hat, wie oben beschrieben. In einigen Ausführungsformen kann dies Regionen innerhalb der geografischen Region 5502 aufweisen, in denen der Sensor 5420 möglicherweise unzureichend ist. Beispielsweise kann das Host-Fahrzeug 5420 basierend auf den verschiedenen oben beschriebenen Simulationen bestimmen, dass die Ausgabe des Sensors 5420 möglicherweise nicht ausreicht, um einen Fehler im Zusammenhang mit der Navigationskurve 5514 zu vermeiden. Dies kann aufweisen, dass die Ausgaben nicht ausreichen, die Kurve 5514 zu identifizieren, nicht ausreichen, um eine Kollision mit einem Fußgänger 5540 zu vermeiden, oder verschiedene andere Bestimmungen, wie oben beschrieben. Dementsprechend kann das Host-Fahrzeug 5410 die Region 5552 identifizieren, wo die Ausgabe des Sensors 5420 unter den bestimmten Umgebungsbedingungen unzureichend ist. Basierend auf einer Bestimmung, dass die Ausgabe des Sensors 5420 unzureichend ist, kann das Host-Fahrzeug 5410 eine geplante Route modifizieren, um die Region 5552 zu vermeiden. Beispielsweise kann ein Navigationssystem des Host-Fahrzeugs 5410 eine alternative Route 5550 identifizieren, um dasselbe Ziel zu erreichen. Das Navigationssystem kann dann das Host-Fahrzeug 5410 veranlassen, Navigationsaktionen (z. B. ein Rechtsabbiegen) zu implementieren, um der alternativen Route 5550 zu folgen. In einigen Ausführungsformen können die offenbarten Ausführungsformen als Teil einer Dienstplanungs-Engine ausgeführt sein, die Straßenabschnitte oder Regionen, durch die ein mit dem Sensor 5420 ausgestattetes Fahrzeug navigieren darf, definieren kann. Dementsprechend können die offenbarten Ausführungsformen Simulieren mehrerer geografischer Regionen innerhalb eines abgebildeten Bereichs und Identifizieren einer oder mehrerer Regionen, in denen das Host-Fahrzeug 5410 navigieren kann, aufweisen. Als Ergebnis kann eine verfeinerte Karte erzeugt werden, in der eine oder mehrere Regionen oder Straßenabschnitte, die als unsicher zum Durchqueren gelten, ausgeschlossen oder anderweitig nicht navigierbar sind.
-
56 ist ein Flussdiagramm, das einen beispielhaften Prozess 5600 zum Evaluieren eines Navigationssystems eines Host-Fahrzeugs zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen. Der Prozess 5600 kann von mindestens einer Verarbeitungsvorrichtung durchgeführt werden, wie etwa einer Verarbeitungsvorrichtung, die auf einem Server, einem Host-Fahrzeug oder verschiedenen anderen hierin beschriebenen Vorrichtungen enthalten ist. Es versteht sich, dass der Begriff „Prozessor“ in der gesamten vorliegenden Offenbarung als Abkürzung für „mindestens einen Prozessor“ verwendet wird. Mit anderen Worten, ein Prozessor kann eine oder mehrere Strukturen (z. B. Schaltungen) aufweisen, die logische Operationen ausführen, unabhängig davon, ob solche Strukturen zusammen angeordnet, verbunden oder verteilt sind. In einigen Ausführungsformen kann ein nichtflüchtiges computerlesbares Medium Anweisungen aufweisen, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor veranlassen, den Prozess 5600 auszuführen. Ferner ist der Prozess 5600 nicht notwendigerweise auf die in 56 gezeigten Schritte beschränkt, und alle Schritte oder Prozesse der verschiedenen Ausführungsformen, die in der gesamten vorliegenden Offenbarung beschrieben sind, können auch in Prozess 5600 enthalten sein, einschließlich derjenigen, die oben in Bezug auf beispielsweise 54 oder 55 beschrieben wurden.
-
In Schritt 5610 weist der Prozess 5600 Erfassen von Eigenschaften eines oder mehrerer Sensoren, die in dem Host-Fahrzeug enthalten sind, auf. Beispielsweise kann dies Erfassen von Eigenschaften des Sensors 5420 aufweisen, wie oben beschrieben. Der eine oder die mehreren Sensoren können beliebige Sensoren aufweisen, die dem Host-Fahrzeug zugeordnet sind, was eine oder mehrere von einer Kamera, einem RADAR oder einem LIDAR aufweisen kann. Die Eigenschaften des einen oder der mehreren Sensoren können durch eine Kommunikationsverbindung mit dem einen oder den mehreren Sensoren, durch Zugreifen auf gespeicherte Informationen über den einen oder die mehreren Sensoren, durch eine Benutzereingabe, über eine oder mehrere Datenbanken, oder durch beliebige andere Mittel, durch die auf Sensoreigenschaften zugegriffen werden, erfasst werden. In einigen Ausführungsformen kann das Host-Fahrzeug ein autonomes Fahrzeug sein.
-
In Schritt 5620 weist der Prozess 5600 ein Einrichten einer Testdomäne auf, wobei die Testdomäne mindestens eine abgebildete Darstellung einer geografischen Region aufweist. Beispielsweise kann dies ein Einrichten einer Testdomäne 5500 aufweisen, die eine abgebildete Darstellung der geografischen Region 5502 aufweisen kann, wie oben beschrieben. In einigen Ausführungsformen kann die abgebildete Darstellung der geografischen Region eine zweidimensionale Darstellung der geografischen Region aufweisen. Alternativ oder zusätzlich kann die geografische Region eine dreidimensionale Darstellung der geografischen Region aufweisen. In einigen Ausführungsformen kann die mindestens eine abgebildete Darstellung der geografischen Region eine Kreuzung aufweisen. Dazu kann beispielsweise die Kreuzung 5512 gehören, wie in 55 gezeigt wird. Als weiteres Beispiel kann die abgebildete Darstellung der geografischen Region einen Straßenabschnitt aufweisen. In einigen Ausführungsformen kann die mindestens eine abgebildete Darstellung der geografischen Region ein Straßenmerkmal aufweisen. Beispielsweise kann dies eine Kurve (wie etwa die Kurve 5514), eine Straßenoberflächenhöhenänderung, oder verschiedene andere Straßenmerkmale, wie hierin beschrieben, aufweisen.
-
In einigen Ausführungsformen kann die Testdomäne ferner eine oder mehrere Umgebungsbedingungen aufweisen. Beispielsweise können die eine oder die mehreren Umgebungsbedingungen eine Wetterbedingung, wie etwa Regen, Schnee oder Nebel, aufweisen. Dies kann auch ein Intensitätsniveau aufweisen, das der Wetterbedingung zugeordnet ist. In einigen Ausführungsformen können die eine oder die mehreren Umgebungsbedingungen ein Objekt und einen Ort des Objekts aufweisen. Beispielsweise kann das Objekt ein Zielfahrzeug (wie etwa das Zielfahrzeug 5530), einen Fußgänger (wie etwa den Fußgänger 5540) und/oder verschiedene andere Objekte aufweisen, die in einer Umgebung eines Host-Fahrzeugs vorhanden sein können.
-
In Schritt 5630 weist der Prozess 5600 Simulieren des Betriebs des einen oder der mehreren Sensoren bezüglich der Testdomäne auf. Beispielsweise kann dies einen simulierten Betrieb des Host-Fahrzeugs 5410 entlang der Zieltrajektorie 5510 aufweisen, was verschiedene Navigationsaktionen aufweisen kann. Wie oben beschrieben, kann der simulierte Betrieb des einen oder der mehreren Sensoren Evaluieren mindestens einer Eigenschaft des einen oder der mehreren Sensoren in Bezug auf die Testdomäne aufweisen. Beispielsweise kann die mindestens eine Eigenschaft einen Sensortyp, ein Sichtfeld, eine Reichweite oder eine Schärfentiefe, einen dynamischen Bereich, eine Winkelauflösung oder beliebige andere Eigenschaften eines Sensors aufweisen, die simuliert werden können, um seine Leistung zu evaluieren. In einigen Ausführungsformen kann die mindestens eine Eigenschaft eine Ausrichtung bezüglich des Host-Fahrzeugs aufweisen. Beispielsweise kann die mindestens eine Eigenschaft eine Ausrichtung bezüglich einer linken Seite des Host-Fahrzeugs, einer rechten Seite des Host-Fahrzeugs, einer Vorderseite des Host-Fahrzeugs oder einer Rückseite des Host-Fahrzeugs sein. Als ein weiteres Beispiel kann die Orientierung eine Höhe bezüglich des Host-Fahrzeug, eine Zeigerichtung oder verschiedene andere Positionseigenschaften aufweisen.
-
In Schritt 5640 weist der Prozess 5600, basierend auf dem simulierten Betrieb des einen oder der mehreren Sensoren, auf, zu bestimmen, ob eine oder mehrere Regionen innerhalb der geografischen Region existieren, in denen Ausgaben des einen oder der mehreren Sensoren nicht ausreichen, um sicherzustellen, dass eine jeweilige durch das Navigationssystem des Host-Fahrzeugs implementierte Navigationsaktion nicht zu einem Unfall führt, den das Host-Fahrzeug verschuldet hat. Die Ausgaben des einen oder der mehreren Sensoren können basierend auf verschiedenen Faktoren als unzureichend identifiziert werden, wie oben beschrieben. Beispielsweise können die Ausgaben des einen oder der mehreren Sensoren basierend auf einem mindestens teilweise verdeckten Sichtfeld des einen oder der mehreren Sensoren, einer Reichweite des einen oder der mehreren Sensoren, einer Lichtinterferenz auf dem einen oder den mehreren Sensoren, einem Betriebszustand des einen oder der mehreren Sensoren, oder verschiedenen anderen Leistungsfähigkeiten des einen oder der mehreren Sensoren unzureichend sein. Als ein weiteres Beispiel können die Ausgaben des einen oder der mehreren Sensoren zum Erkennen eines Objekts, wie etwa eines Zielfahrzeugs oder eines Fußgängers, unzureichend sein. Ebenso können die Ausgaben des einen oder der mehreren Sensoren zum Identifizieren eines Straßenmerkmals, wie etwa einer Kurve oder einer Höhenänderung, unzureichend sein.
-
Das Host-Fahrzeug kann basierend auf verschiedenen Regeln oder Anforderungen als verschuldend für den Unfall betrachtet werden. Beispielsweise kann, wie oben beschrieben, das Host-Fahrzeug verschuldend sein, wenn das Host-Fahrzeug, das mit einer simulierten Host-Geschwindigkeit fährt, einen vorbestimmten Abstand bezüglich eines Zielfahrzeug, das mit einer simulierten Ziel-Fahrzeuggeschwindigkeit fährt, nicht einhalten kann. Der vorbestimmte Abstand kann einen Längsabstand oder einen Querabstand bezüglich des Host-Fahrzeugs aufweisen. Als weiteres Beispiel kann das Host-Fahrzeug verschuldend sein, wenn das Host-Fahrzeug, das mit einer simulierten Host-Geschwindigkeit fährt, einen vorbestimmten Abstand bezüglich eines oder mehrerer Objekte, die einem geografischen Region zugeordnet sind, nicht einhalten kann.
-
In einigen Ausführungsformen kann das Host-Fahrzeug verschuldend sein, wenn das Host-Fahrzeug mit einer simulierten Host-Geschwindigkeit fährt und eine simulierte Navigationsaktion vornimmt, wie oben beschrieben. In diesem Szenario kann das Host-Fahrzeug verschuldend sein, wenn ein simulierter Anhalteweg für das Host-Fahrzeug einen simulierten Abstand des Host-Fahrzeugs im nächsten Zustand überschreitet, nachdem die simulierte Navigationsaktion durchgeführt wurde, die zusammen mit einer simulierten Zielfahrdistanz eines bestimmten Zielfahrzeugs summiert wurde, basierend auf einer simulierten Zielgeschwindigkeit des Zielfahrzeugs und einer angenommenen maximalen Bremsfähigkeit des Zielfahrzeugs, wie oben beschrieben. In einigen Ausführungsformen kann die simulierte Navigationsaktion eine Änderung eines Längsabstands zwischen dem Host-Fahrzeug und dem Zielfahrzeug aufweisen. Beispielsweise kann das Host-Fahrzeug hinter dem Zielfahrzeug fahren, und die simulierte Zielgeschwindigkeit des Zielfahrzeugs kann geringer sein als die simulierte Host-Geschwindigkeit des Host-Fahrzeugs. Als weiteres Beispiel kann die simulierte Navigationsaktion Beschleunigen des Host-Fahrzeugs aufweisen, wobei das Host-Fahrzeug hinter dem Zielfahrzeug fährt. In einigen Ausführungsformen kann die Navigationsaktion Ändern einer Fahrspur des Host-Fahrzeugs aufweisen. Das Ändern der Fahrspur kann dazu führen, dass das Host-Fahrzeug hinter dem Zielfahrzeug oder vor dem Zielfahrzeug fährt.
-
57 ist ein Flussdiagramm, das einen beispielhaften Prozess 5700 zum Navigieren eines Host-Fahrzeugs zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen. Der Prozess 5700 kann von mindestens einer Verarbeitungsvorrichtung, wie etwa der Verarbeitungsvorrichtung 110, ausgeführt werden. In einigen Ausführungsformen kann ein nichtflüchtiges computerlesbares Medium Anweisungen enthalten, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor veranlassen, den Prozess 5700 auszuführen. Ferner ist der Prozess 5700 nicht notwendigerweise auf die in 57 gezeigten Schritte beschränkt, und alle Schritte oder Prozesse der verschiedenen Ausführungsformen, die in der gesamten vorliegenden Offenbarung beschrieben sind, können auch in Prozess 5700 enthalten sein, einschließlich derjenigen, die oben in Bezug auf beispielsweise die 54, 55 oder 56 beschrieben wurden.
-
In Schritt 5710 weist der Prozess 5700 Identifizieren einer Route für das Host-Fahrzeug auf, wobei die Route eine geografische Region aufweist. Beispielsweise kann die Route eine Zieltrajektorie 5510 innerhalb der geografischen Region 5502 aufweisen, wie oben in Bezug auf 55 beschrieben. In einigen Ausführungsformen kann das Host-Fahrzeug ein autonomes Fahrzeug sein.
-
In Schritt 5720 weist der Prozess 5700 Identifizieren einer oder mehrerer Umgebungsbedingungen, die der geografischen Region zugeordnet sind, auf. Dies kann beispielsweise ein Identifizieren der oben beschriebenen Umgebungsbedingungen 5504 und 5506 aufweisen. Die eine oder die mehreren Umgebungsbedingungen können eine Wetterbedingung, wie etwa Regen, Schnee oder Nebel, aufweisen. Dies kann auch ein Intensitätsniveau aufweisen, das der Wetterbedingung zugeordnet ist. In einigen Ausführungsformen können die eine oder die mehreren Umgebungsbedingungen ein Objekt und einen Ort des Objekts aufweisen. Beispielsweise kann das Objekt ein Zielfahrzeug (wie etwa das Zielfahrzeug 5530), einen Fußgänger (wie etwa der Fußgänger 5540) und/oder verschiedene andere Objekte aufweisen, die in einer Umgebung eines Host-Fahrzeugs vorhanden sein können. In einigen Ausführungsformen kann Schritt 5720 ein Zugreifen auf eine Online-Wetterquelle oder eine beliebige andere Quelle aufweisen, die Informationen bereitstellen kann, die Umgebungsbedingungen der geografischen Region zugeordnet sind. Alternativ oder zusätzlich können die eine oder die mehreren Umgebungsbedingungen basierend auf einer Ausgabe eines dem Host-Fahrzeug zugeordneten Sensors identifiziert werden.
-
In Schritt 5730 weist der Prozess 5700 Analysieren mindestens einer abgebildeten Darstellung der geografischen Region, der einen oder mehreren Umgebungsbedingungen, und Eigenschaften eines oder mehrerer Sensoren des Host-Fahrzeugs auf. In einigen Ausführungsformen kann die abgebildete Darstellung der geografischen Region eine zweidimensionale Darstellung der geografischen Region aufweisen. Alternativ oder zusätzlich kann die geografische Region eine dreidimensionale Darstellung der geografischen Region aufweisen. In einigen Ausführungsformen kann die mindestens eine abgebildete Darstellung der geografischen Region eine Kreuzung aufweisen. Dazu kann beispielsweise die Kreuzung 5512 gehören, wie in 55 gezeigt. Als weiteres Beispiel kann die abgebildete Darstellung der geografischen Region einen Straßenabschnitt aufweisen. In einigen Ausführungsformen kann die mindestens eine abgebildete Darstellung der geografischen Region ein Straßenmerkmal aufweisen. Beispielsweise kann dies eine Kurve (wie etwa die Kurve 5514), eine Straßenoberflächenhöhenänderung oder verschiedene andere Straßenmerkmale, wie hierin beschrieben, aufweisen. Wie oben beschrieben, weisen der eine oder die mehreren Sensoren mindestens eines von einer Kamera, einem RADAR oder einem LIDAR auf. Dies kann beispielsweise einen oder mehrere der oben beschriebenen Sensoren 5420 aufweisen.
-
Die Analyse kann bestimmen, ob eine oder mehrere Regionen innerhalb der geografischen Region existieren, wo Ausgaben des einen oder der mehreren Sensoren nicht ausreichen, um sicherzustellen, dass eine jeweilige durch das Navigationssystem des Host-Fahrzeugs implementierte Navigationsaktion nicht zu einem Unfall führt, den das Host-Fahrzeug verschuldet hat. Wie oben in Bezug auf Prozess 5600 beschrieben, können die Ausgaben des einen oder der mehreren Sensoren basierend auf verschiedenen Faktoren als unzureichend identifiziert werden, wie oben beschrieben. Beispielsweise können die Ausgaben des einen oder der mehreren Sensoren basierend auf einem mindestens teilweise verdeckten Sichtfeld des einen oder der mehreren Sensoren, einer Reichweite des einen oder der mehreren Sensoren, einer Lichtinterferenz auf dem einen oder den mehreren Sensoren, einem Betriebszustand des einen oder der mehreren Sensoren, oder verschiedenen anderen Leistungsfähigkeiten des einen oder der mehreren Sensoren unzureichend sein. Als ein weiteres Beispiel können die Ausgaben des einen oder der mehreren Sensoren zum Erkennen eines Objekts, wie etwa eines Zielfahrzeugs oder eines Fußgängers, unzureichend sein. Ebenso können die Ausgaben des einen oder der mehreren Sensoren zum Identifizieren eines Straßenmerkmals, wie etwa einer Kurve oder einer Höhenänderung, unzureichend sein.
-
Ferner kann das Host-Fahrzeug basierend auf verschiedenen Regeln oder Anforderungen als schuldhaft für den Unfall angesehen werden. Beispielsweise kann, wie oben beschrieben, das Host-Fahrzeug verschuldend sein, wenn das Host-Fahrzeug, das mit einer simulierten Host-Geschwindigkeit fährt, einen vorbestimmten Abstand bezüglich eines Zielfahrzeugs, das mit einer simulierten ZielFahrzeuggeschwindigkeit fährt, nicht einhalten kann. Der vorbestimmte Abstand kann einen Längsabstand oder einen Querabstand bezüglich des Host-Fahrzeugs aufweisen. Als weiteres Beispiel kann das Host-Fahrzeug verschuldend sein, wenn das Host-Fahrzeug, das mit einer simulierten Host-Geschwindigkeit fährt, einen vorbestimmten Abstand bezüglich eines oder mehreren Objekten, die einem geografischen Region zugeordnet sind, nicht einhalten kann.
-
In Schritt 5740 weist der Prozess 5700 basierend auf der Analyse Bestimmen mindestens einer Modifizierung der Route, um die eine oder die mehreren Regionen zu vermeiden, auf. In einigen Ausführungsformen kann die mindestens eine Modifizierung der Route ein Ersetzen mindestens eines in der Route enthaltenen Straßenabschnitts aufweisen. Beispielsweise kann dies das Ersetzen der Zieltrajektorie 5510 durch die alternative Zieltrajektorie 5500 aufweisen, wie oben beschrieben. In einigen Ausführungsformen kann der Prozess 5700 ferner aufweisen, dass das Host-Fahrzeug veranlasst wird, mindestens eine Navigationsaktion basierend auf der mindestens einen Modifizierung der Route vorzunehmen. Beispielsweise kann die mindestens eine Navigationsaktion eine oder mehrere von einer Lenk-, Beschleunigungs- oder Bremsaktion aufweisen.
-
Die vorstehende Beschreibung dient der Veranschaulichung. Sie ist nicht erschöpfend und nicht auf die offenbarten genauen Formen oder Ausführungsformen beschränkt. Modifizierungen und Anpassungen werden Fachleuten aus der Betrachtung der Beschreibung und der Praxis der offenbarten Ausführungsformen ersichtlich. Obwohl Aspekte der offenbarten Ausführungsformen als im Speicher gespeichert beschrieben sind, wird ein Fachmann außerdem erkennen, dass diese Aspekte auch auf anderen Arten von computerlesbaren Medien gespeichert werden können, wie etwa sekundären Speichervorrichtungen, beispielsweise Festplatten oder CD-ROM oder andere Formen von RAM oder ROM, USB-Medien, DVD, Blu-ray, 4K Ultra HD Blu-Ray oder anderen optischen Laufwerksmedien.
-
Computerprogramme, die auf der schriftlichen Beschreibung und den offenbarten Verfahren basieren, liegen innerhalb des Könnens eines erfahrenen Entwicklers. Die verschiedenen Programme oder Programmmodule können unter Verwendung beliebiger dem Fachmann bekannter Techniken erstellt oder in Verbindung mit vorhandener Software entworfen werden. Beispielsweise können Programmteile oder Programmmodule in oder mittels .Net Framework, .Net Compact Framework (und verwandten Sprachen, wie Visual Basic, C, usw.), Java, C++, Objective-C, HTML, HTML/AJAX-Kombinationen, XML oder HTML mit enthaltenen Java-Applets entworfen werden.
-
Obwohl hier veranschaulichende Ausführungsformen beschrieben wurden, hat der Umfang aller Ausführungsformen äquivalente Elemente, Modifizierungen, Weglassungen, Kombinationen (z. B. von Aspekten über verschiedene Ausführungsformen), Anpassungen und/oder Änderungen, wie diese durch Fachleute, basierend auf der vorliegenden Offenbarung, geschätzt werden. Die Beschränkungen in den Ansprüchen sind basierend auf der in den Ansprüchen verwendeten Sprache breit auszulegen, und nicht auf Beispiele beschränkt, die in der vorliegenden Beschreibung oder während der Verfolgung der Anmeldung beschrieben werden. Die Beispiele sind nicht als ausschließlich zu verstehen. Darüber hinaus können die Schritte der offenbarten Verfahren auf beliebige Weise modifiziert werden, einschließlich durch Umordnen von Schritten und/oder Einfügen oder Löschen von Schritten. Es ist daher beabsichtigt, dass die Beschreibung und die Beispiele nur als veranschaulichend betrachtet werden, wobei ein wahrer Umfang und Geist durch die folgenden Ansprüche und ihren vollen Umfang von Äquivalenten aufgezeigt wird.
-
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 63/106102 [0001]
- US 9168868 [0281]