-
GEBIET
-
Diese Beschreibung betrifft Systeme und Techniken zum Steuern eines autonomen Fahrzeugs unter Verwendung einer Näheregel, z. B. unter Verwendung der Näheregel als Teil einer kombinierten modellprädiktiven Regelung des autonomen Fahrzeugs.
-
STAND DER TECHNIK
-
Autonome Fahrzeuge können verwendet werden, um Menschen und/oder Fracht (z. B. Pakete, Objekte oder andere Elemente) von einem Ort an einen anderen zu transportieren. Beispielsweise kann ein autonomes Fahrzeug zum Standort einer Person navigieren, darauf warten, dass die Person in das autonome Fahrzeug einsteigt, und zu einem angegebenen Ziel (z. B. einen von der Person ausgewählten Standort) navigieren. Um in der Umgebung zu navigieren, sind diese autonomen Fahrzeuge mit verschiedenen Arten von Sensoren ausgestattet, um Objekte im Umfeld zu erkennen.
-
KURZDARSTELLUNG
-
Der in dieser Beschreibung beschriebene Gegenstand betrifft Systeme und Techniken zum Steuern eines autonomen Fahrzeugs unter Verwendung einer Näheregel in einer kombinierten modellprädiktiven Regelung (MPC). Im Allgemeinen ist das System ausgelegt, um ein Optimieren des Betriebs des autonomen Fahrzeugs für sowohl Abstand als auch Geschwindigkeit zu ermöglichen.
-
Insbesondere beinhaltet eine beispielhafte Technik: Während ein autonomes Fahrzeug in einem autonomen Modus arbeitet: Empfangen, unter Verwendung eines Planungsschaltkreises, einer Näheregel; Empfangen, vom Planungsschaltkreis, unter Verwendung eines Regelschaltkreises, einer Referenztrajektorie, wobei die Referenztrajektorie vom Planungsschaltkreis auf Grundlage der Näheregel ermittelt wird; Empfangen, unter Verwendung des Regelschaltkreises, der Näheregel; Ermitteln, unter Verwendung des Regelschaltkreises, einer vorhergesagten Trajektorie auf Grundlage der Referenztrajektorie und der Näheregel; und Navigieren, unter Verwendung des Regelschaltkreises, des autonomen Fahrzeugs in Übereinstimmung mit der vorhergesagten Trajektorie.
-
Diese und andere Aspekte, Merkmale und Implementierungen können als Verfahren, Einrichtungen, Systeme, Komponenten, Programmprodukte, Mittel oder Schritte zur Durchführung einer Funktion und auf andere Arten ausgedrückt werden.
-
Diese und andere Aspekte, Merkmale und Implementierungen werden aus den folgenden Beschreibungen einschließlich der Ansprüche ersichtlich.
-
Figurenliste
-
- 1 zeigt ein Beispiel eines autonomen Fahrzeugs mit autonomen Fähigkeiten.
- 2 veranschaulicht eine beispielhafte „Cloud“-Rechenumgebung.
- 3 veranschaulicht ein Computersystem.
- 4 zeigt eine beispielhafte Architektur für ein autonomes Fahrzeug.
- 5 zeigt ein Beispiel von Eingaben und Ausgaben, die von einem Wahrnehmungsmodul verwendet werden können.
- 6 zeigt ein Beispiel eines LiDAR-Systems.
- 7 zeigt das LiDAR-System im Betrieb.
- 8 zeigt den Betrieb des LiDAR-Systems in zusätzlichem Detail.
- 9 zeigt ein Blockdiagramm der Beziehungen zwischen Eingaben und Ausgaben eines Planungsmoduls.
- 10 zeigt einen gerichteten Graphen, der bei der Pfadplanung verwendet wird.
- 11 zeigt ein Blockdiagramm der Eingaben und Ausgaben eines Regelmoduls.
- 12 zeigt ein Blockdiagramm der Eingaben, Ausgaben und Komponenten einer Regelung.
- 13 zeigt ein Blockdiagramm eines Systems unter Verwendung einer kombinierten modellprädiktiven Regelung, um ein autonomes Fahrzeug zu steuern.
- 14A zeigt einen Graphen von lateralem Abstand versus lateraler Geschwindigkeit, der beim Formulieren einer Geschwindigkeitsrandbedingung verwendet wird.
- 14B zeigt einen Graphen von longitudinaler Geschwindigkeit versus longitudinalem Abstand, der beim Formulieren der Geschwindigkeitsrandbedingung verwendet wird.
- 15 zeigt ein Beispiel eines autonomen Fahrzeugs, das eine Straße in einer Umgebung unter Verwendung einer Näheregel in einer kombinierten MPC navigiert.
- 16 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Steuern eines autonomen Fahrzeugs unter Verwendung einer Näheregel in einer kombinierten MPC.
-
AUSFÜHRLICHE BESCHREIBUNG
-
In der folgenden Beschreibung sind zum Zwecke der Erläuterung zahlreiche spezifische Einzelheiten dargelegt, um ein umfassendes Verständnis der offenbarten Techniken bereitzustellen. Es ist jedoch offensichtlich, dass die offenbarten Techniken ohne diese spezifischen Details verwirklicht werden können. In anderen Fällen werden gut bekannte Strukturen und Einrichtungen in Blockdiagrammform gezeigt, um zu vermeiden, dass die offenbarten Techniken unnötig verschleiert werden.
-
In den Zeichnungen sind zur leichteren Beschreibung spezifische Anordnungen oder Reihenfolgen von schematischen Elementen gezeigt, wie beispielsweise solche, die Vorrichtungen, Module, Anweisungsblöcke und Datenelemente darstellen. Fachleute sollten jedoch verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht implizieren soll, dass eine bestimmte Reihenfolge oder Abfolge der Verarbeitung oder Trennung von Prozessen erforderlich ist. Ferner soll die Aufnahme eines schematischen Elements in eine Zeichnung nicht implizieren, dass ein solches Element in allen Ausführungsformen erforderlich ist oder dass die durch ein solches Element repräsentierten Merkmale in einigen Ausführungsformen möglicherweise nicht in andere Elemente aufgenommen oder mit diesen kombiniert werden.
-
In den Zeichnungen, in denen Verbindungselemente wie durchgezogene oder gestrichelte Linien oder Pfeile verwendet werden, um eine Verbindung, Beziehung oder Assoziation zwischen oder unter zwei oder mehr anderen schematischen Elementen darzustellen, soll das Fehlen derartiger Verbindungselemente ferner nicht implizieren, dass keine Verbindung, Beziehung oder Assoziation bestehen kann. Anders ausgedrückt sind einige Verbindungen, Beziehungen oder Zuordnungen zwischen Elementen in den Zeichnungen nicht gezeigt, um die Offenbarung nicht zu verschleiern. Außerdem wird zur einfacheren Veranschaulichung ein einzelnes Verbindungselement verwendet, um mehrere Verbindungen, Beziehungen oder Assoziationen zwischen Elementen darzustellen. Wo beispielsweise ein Verbindungselement eine Kommunikation von Signalen, Daten oder Anweisungen repräsentiert, sollte Fachleuten klar sein, dass ein derartiges Element einen oder mehrere Signalpfade (z. B. einen Bus) repräsentiert, je nach Bedarf, um die Kommunikation zu bewirken.
-
Bezug wird nun im Detail auf Ausführungsformen genommen werden, von denen Beispiele in den begleitenden Zeichnungen dargestellt sind. In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der verschiedenen beschriebenen Ausführungsformen zu vermitteln. Es wird jedoch Durchschnittsfachleuten klar sein, dass die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Details ausgebildet werden können. In anderen Fällen wurden bekannte Verfahren, Prozeduren, Komponenten, Schaltkreise und Netzwerke nicht im Detail beschrieben, um Aspekte der Ausführungsformen nicht unnötig zu verschleiern.
-
Im Folgenden werden mehrere Merkmale beschrieben, die jeweils unabhängig voneinander oder mit einer beliebigen Kombination anderer Merkmale verwendet werden können. Jedoch kann jedes einzelne Merkmal keines der oben diskutierten Probleme behandeln oder könnte nur eines der oben diskutierten Probleme behandeln. Einige der oben diskutierten Probleme können durch keines der hierin beschriebenen Merkmale vollständig behandelt werden. Obwohl Überschriften bereitgestellt werden, können Informationen, die sich auf eine bestimmte Überschrift beziehen, aber nicht in dem Abschnitt mit dieser Überschrift zu finden sind, auch an anderer Stelle in dieser Beschreibung gefunden werden. Ausführungsformen werden hierin in Übereinstimmung mit der folgenden Gliederung beschrieben:
- 1. Allgemeiner Überblick
- 2. Überblick über die Hardware
- 3. Architektur eines autonomen Fahrzeugs
- 4. Eingaben in ein autonomes Fahrzeug
- 5. Planung für ein autonomes Fahrzeug
- 6. Steuerung eines autonomen Fahrzeugs
- 7. Ermittlung der Geschwindigkeit eines autonomen Fahrzeugs
- 8. Steuern eines autonomen Fahrzeugs unter Verwendung einer Näheregel in einer kombinierten MPC
- 9. Beispielhafter Prozess zum Steuern eines autonomen Fahrzeugs unter Verwendung einer Näheregel in einer kombinierten MPC
-
Allgemeiner Überblick
-
Autonome Fahrzeuge, die in komplexen Umgebungen (z. B. einer städtischen Umgebung) fahren, stellen eine große technologische Herausforderung dar. Zum Navigieren durch diese Umgebungen durch ein autonomes Fahrzeug ermittelt das Fahrzeug eine Trajektorie (manchmal als eine Route bezeichnet) zu einem Ziel. Sobald die Trajektorie ermittelt wurde, ermittelt eine Regelung Steuerbefehle (z. B. Lenk-, Gasbetätigungs- und Bremsbefehle), die dazu führen, dass sich das Fahrzeug entlang der Trajektorie fortbewegt.
-
Hierin sind Systeme und Techniken zum Ermitteln von Steuerbefehlen für ein autonomes Fahrzeug beschrieben. Die Steuerbefehle werden auf Grundlage eines unterschiedlichen Auswählens von Navigationseingaben (z. B. Daten, die zum Navigieren des Fahrzeugs verwendet werden) in einer kurzfristigen Zeitspanne als in einer langfristigen Zeitspanne ermittelt. Durch unterschiedliches Auswählen der Navigationseingaben in unterschiedlichen Zeitspannen kann das Fahrzeug die Genauigkeit der Navigationseingaben (z. B. kurzfristig mehr Genauigkeit als langfristig oder umgekehrt) optimieren und/oder den Zeithorizont der Navigationseingaben erweitern.
-
Überblick über die Hardware
-
1 zeigt ein Beispiel eines autonomen Fahrzeugs (AV) 100 mit autonomen Fähigkeiten.
-
Wie hierin verwendet bezeichnet der Begriff „autonome Fähigkeit“ eine Funktion, ein Merkmal oder eine Möglichkeit, die einem Fahrzeug ermöglicht, teilweise oder vollständig ohne menschliche Intervention in Echtzeit betrieben zu werden, einschließlich unter anderem autonome Fahrzeuge, stark autonome Fahrzeuge und bedingt autonome Fahrzeuge.
-
Wie hierin verwendet, ist ein autonomes Fahrzeug (AV) ein Fahrzeug, das autonome Fähigkeiten besitzt.
-
Wie hierin verwendet, beinhaltet „Fahrzeug“ Transportmittel für Güter oder Menschen. Beispielsweise Autos, Busse, Züge, Flugzeuge, Drohnen, LKWs, Boote, Schiffe, U-Boote, Luftschiffe usw. Ein fahrerloses Auto ist ein Beispiel eines Fahrzeugs.
-
Wie hierin verwendet bezeichnet „Trajektorie“ einen Pfad oder eine Route, um ein AV von einer ersten Raumzeitposition zu einer zweiten Raumzeitposition zu navigieren. In einigen Ausführungsformen wird die erste Raumzeitposition als die anfängliche oder Startposition bezeichnet und die zweite Raumzeitposition wird als der Zielpunkt, der Endort, das Ziel, die Zielposition oder Zielort bezeichnet. In einigen Beispielen besteht eine Trajektorie aus einem oder mehreren Segmenten (z. B. Straßenabschnitten) und jedes Segment besteht aus einem oder mehreren Blöcken (z. B. Abschnitten einer Fahrspur oder Kreuzung). In einigen Ausführungsformen entsprechen die Raumzeitpositionen realen Positionen. Beispielsweise sind die Raumzeitpositionen Abhol- oder Abladeorte zum Abholen bzw. Aufnehmen oder Absetzen bzw. Abladen von Personen oder Gütern.
-
Wie hierin verwendet beinhaltet bzw. beinhalten „Sensor(en)“ eine oder mehrere Hardwarekomponenten, die Informationen über die den Sensor umgebende Umgebung erkennen. Einige der Hardwarekomponenten können Sensorkomponenten (z. B. Bildsensoren, biometrische Sensoren), Sende- und/oder Empfangskomponenten (z. B. Laser- oder Funkfrequenzwellensender und -empfänger), elektronische Komponenten wie Analogdigital-Wandler, eine Datenspeichervorrichtung (wie ein RAM und/oder einen nichtflüchtigen Speicher), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie einen ASIC (anwendungsspezifischen integrierten Schaltkreis), einen Mikroprozessor und/oder einen Mikrocontroller enthalten.
-
Wie hierin verwendet ist eine „Szenenbeschreibung“ eine Datenstruktur (z. B. Liste) oder ein Datenstrom, der ein oder mehrere klassifizierte oder gekennzeichnete Objekte enthält, die von einem oder mehreren Sensoren auf dem AV-Fahrzeug erkannt wurden oder von einer zum AV externen Quelle bereitgestellt sind.
-
Wie hierin verwendet ist eine „Straße“ eine physische Fläche, die von einem Fahrzeug durchquert werden kann und kann einem benannten Durchgang (z. B. einer Stadtstraße, einer Autobahn usw.) entsprechen oder kann einem nicht benannten Durchgang (z. B. einer Haus- oder Bürozufahrt, einem Parkplatzabschnitt, einem Abschnitt eines leeren Grundstücks, einem Feldweg in einem ländlichen Gebiet usw.) entsprechen. Da einige Fahrzeuge (z. B. Allrad-Pick-ups, Geländewagen usw.) eine Vielfalt von physischen Flächen durchqueren können, die nicht eigens für Fahrzeugfortbewegung ausgelegt sind, kann eine „Straße“ eine physische Fläche sein, die nicht formal durch irgendeine Gemeinde oder eine andere Regierungs- oder Verwaltungseinrichtung als Durchgang definiert ist.
-
Wie hierin verwendet ist eine „Spur“ ein Teil einer Straße, der von einem Fahrzeug durchquert werden kann und kann dem Großteil oder der Gesamtheit des Raums zwischen Spurmarkierungen entsprechen oder kann nur einem Teil (z. B. weniger als 50 %) des Raums zwischen Spurmarkierungen entsprechen. Beispielsweise könnte eine Straße mit weit beabstandeten Spurmarkierungen zwei oder mehr Fahrzeuge zwischen den Markierungen aufnehmen, sodass ein Fahrzeug das andere überholen kann, ohne die Spurmarkierungen zu durchqueren, und könnte deshalb als eine Spur aufweisend interpretiert werden, die enger als der Raum zwischen den Spurmarkierungen ist, oder als zwei Spuren zwischen den Spurmarkierungen aufweisend interpretiert werden. Eine Spur könnte auch bei Fehlen von Spurmarkierungen interpretiert werden. Beispielsweise kann eine Spur auf Grundlage von physischen Merkmalen einer Umgebung definiert werden, z. B. Steinen und Bäumen entlang eines Durchgangs in einem ländlichen Gebiet.
-
„Eines oder mehrere" enthält eine Funktion, die von einem Element durchgeführt wird, eine Funktion, die von mehr als einem Element durchgeführt wird, z. B. auf verteilte Weise, mehrere Funktionen, die von einem Element durchgeführt werden, mehrere Funktionen, die von mehreren Elementen durchgeführt werden, oder eine beliebige Kombination von Obigem.
-
Obwohl hierin in einigen Fällen die Ausdrücke erste(r), zweite(r) usw. verwendet werden können, um verschiedene Elemente zu beschreiben, versteht sich auch, dass diese Elemente nicht durch diese Ausdrücke beschränkt sein sollten. Diese Ausdrücke werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Zum Beispiel könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet werden und gleichermaßen könnte ein zweiter Kontakt als ein erster Kontakt bezeichnet werden, ohne vom Umfang der verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beide Kontakte, aber sie sind nicht derselbe Kontakt, wenn nicht anders angegeben.
-
Die bei der Beschreibung der verschiedenen hierin beschriebenen Ausführungsformen verwendete Terminologie dient lediglich dem Zweck des Beschreibens bestimmter Ausführungsformen und soll nicht einschränkend sein. Wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und der angefügten Patentansprüche verwendet, sollen die Singularformen „ein“, „eine“ und „der“, „die“, „das“ die Pluralformen ebenfalls enthalten, sofern der Zusammenhang nicht eindeutig etwas anderes angibt. Es ist auch klar, dass sich der Begriff „und/oder“, wie hierin verwendet, auf jegliche und alle möglichen Kombinationen einer oder mehrerer der assoziierten aufgeführten Objekte bezieht und diese umfasst. Es ist ferner zu verstehen, dass die Begriffe „beinhaltet“, „beinhaltend“, „umfasst“ und/oder „umfassend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, aber nicht die Anwesenheit oder das Hinzufügen von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
-
Wie hierin verwendet soll der Begriff „falls“ optional abhängig vom Kontext als „wenn“ oder „bei“ oder „als Reaktion auf das Ermitteln“ oder „als Reaktion auf das Erkennen“ ausgelegt werden. Gleichermaßen wird die Phrase „falls ermittelt wird“ oder „falls [ein angegebener Zustand oder ein angegebenes Ereignis] erkannt wird“ optional ausgelegt, „bei Ermitteln“ oder „als Reaktion auf ein Ermitteln“ oder „bei Erkennen [des angegebenen Zustands oder des angegebenen Ereignisses]“ oder „als Reaktion auf ein Erkennen [des angegebenen Zustands oder des angegebenen Ereignisses]“ zu bedeuten, abhängig vom Kontext.
-
Wie hierin verwendet bezeichnet ein AV-System das AV zusammen mit der Anordnung von Hardware, Software, gespeicherten Daten und in Echtzeit generierten Daten, die die Operation der AV unterstützen. In einigen Ausführungsformen ist das AV-System im Inneren des AV eingebunden. In einigen Ausführungsformen ist das AV-System über mehrere Standorte verteilt. Beispielsweise ist etwas der Software des AV-Systems in einer einer Cloud-Rechenumgebung 200, die unten in Bezug auf 2 beschrieben ist, ähnlichen Cloud-Rechenumgebung implementiert.
-
Im Allgemeinen beschreibt dieses Dokument Technologien, die auf alle Fahrzeuge anwendbar sind, die eine oder mehrere autonome Fähigkeiten aufweisen, einschließlich vollständig autonomer Fahrzeuge, stark autonomer Fahrzeuge und bedingt autonomer Fahrzeuge, wie sogenannter Fahrzeuge der Stufe 5, Stufe 4 bzw. Stufe 3 (siehe die Norm J3016 von SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems, die hierin unter Bezugnahme in ihrer Gesamtheit aufgenommen ist, für weitere Details zur Klassifizierung von Autonomiestufen in Fahrzeugen). Die in diesem Dokument beschriebenen Technologien sind auch auf teilweise autonome Fahrzeuge und Fahrzeuge mit Fahrerassistenz anwendbar, wie sogenannte Fahrzeuge der Stufe 2 und Stufe 1 (siehe die Norm J3016 von SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems). In einigen Ausführungsformen automatisieren ein oder mehrere der Fahrzeugsysteme der Stufe 1, 2, 3, 4 und 5 bestimmte Fahrzeugoperationen (z. B. Lenken, Bremsen und Verwendung von Karten) unter bestimmten Betriebsbedingungen auf Grundlage einer Verarbeitung von Sensoreingaben. Die in diesem Dokument beschriebenen Technologien können für Fahrzeuge in beliebigen Stufen vorteilhaft sein, von vollständig autonomen Fahrzeugen bis zu von Menschen betriebenen Fahrzeugen.
-
Auf 1 Bezug nehmend, betreibt ein AV-System 120 das AV 100 entlang einer Trajektorie 198 durch eine Umgebung 190 zu einem Ziel 199 (manchmal als Endort bezeichnet), während es Hindernisse 193 (z. B. natürliche Blockierungen 191, Fahrzeuge, Fußgänger 192, Fahrradfahrer und andere Hindernisse) vermeidet und die Verkehrsregeln (z. B. Betriebsregeln oder Fahrpräferenzen) einhält.
-
In einigen Ausführungsformen beinhaltet das AV-System 120 Vorrichtungen 101, die instrumentiert sind, um Betriebsbefehle von den Computerprozessoren 146 zu empfangen und auf diese zu reagieren. In einigen Ausführungsformen sind die Computerprozessoren 146 dem unten in Bezug auf 3 beschriebenen Prozessor 304 ähnlich. Beispiele von Vorrichtungen 101 beinhalten eine Lenkregelung 102, Bremsen 103, Getriebe, Gasbetätigung oder andere Beschleunigungsregelmechanismen, Scheibenwischer, Seitentürschlösser, Fensterheber und Fahrtrichtungsanzeiger.
-
In einer Ausführungsform beinhaltet das AV-System 120 Sensoren 121 zum Messen oder Ableiten von Eigenschaften eines Zustands oder einer Randbedingung des AV 100, wie der Position des AV, linearen Geschwindigkeit und Beschleunigung, Winkelgeschwindigkeit und -beschleunigung und Fahrtrichtung (z. B. einer Ausrichtung des führenden Endes des AV 100). Beispiele von Sensoren 121 sind GPS, inertiale Messeinheiten (IMU), die sowohl lineare Beschleunigungen als auch Winkelgeschwindigkeiten des Fahrzeugs messen, Raddrehzahlsensoren zum Messen oder Abschätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsdrehmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren und Lenkwinkel- und Winkelgeschwindigkeitssensoren.
-
In einigen Ausführungsformen beinhalten die Sensoren 121 auch Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AV. Beispielsweise monokulare oder Stereo-Videokameras 122 im sichtbaren Licht, Infrarot- oder thermale (oder beiden) Spektren, LiDAR 123, RADAR, Ultraschallsensoren, Flugzeit(TOF)-Tiefensensoren, Geschwindigkeitssensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagsensoren.
-
In einigen Ausführungsformen beinhaltet das AV-System 120 eine Datenspeicherungseinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen, die mit den Computerprozessoren 146 oder von den Sensoren 121 gesammelten Daten assoziiert sind. In einigen Ausführungsformen ist die Datenspeicherungseinheit 142 einem ROM 308 oder einer Speicherungsvorrichtung 310 ähnlich, die unten in Bezug auf 3 beschrieben sind. In einigen Ausführungsformen ist der Speicher 144 einem Hauptspeicher 306 ähnlich, der unten beschrieben ist. In einigen Ausführungsformen speichern die Datenspeicherungseinheit 142 und der Speicher 144 historische, Echtzeit- und/oder prädiktive Informationen über die Umgebung 190. In einigen Ausführungsformen beinhalten die gespeicherten Informationen Karten, Fahrleistung, Verkehrsstauaktualisierungen oder Wetterrandbedingungen. In einigen Ausführungsformen werden Daten in Bezug auf die Umgebung 190 über einen Kommunikationskanal von einer entfernt angeordneten Datenbank 134 an das AV 100 übertragen.
-
In einigen Ausführungsformen beinhaltet das AV-System 120 Kommunikationsvorrichtungen 140 zum Kommunizieren von gemessenen oder abgeleiteten Eigenschaften von Zuständen und Randbedingungen von anderen Fahrzeugen, wie Positionen, lineare und Winkelgeschwindigkeiten, lineare und Winkelbeschleunigungen und lineare und Winkel-Fahrtrichtungen, an das AV 100. Diese Vorrichtungen beinhalten Fahrzeug-zu-Fahrzeug(V2V)- und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikationsvorrichtungen und Vorrichtungen für drahtlose Kommunikation über Punktzu-Punkt- oder Ad-hoc-Netzwerke oder beides. In einigen Ausführungsformen kommunizieren die Kommunikationsvorrichtungen 140 über das elektromagnetische Spektrum (einschließlich Funk- und optischer Kommunikationen) oder andere Medien (z. B. Luft und akustische Medien). Eine Kombination von Fahrzeug-zu-Fahrzeug(V2V)-, Fahrzeug-zu-Infrastruktur(V21)-Kommunikation (und in einigen Ausführungsformen eine oder mehrere anderer Arten von Kommunikation) manchmal als Fahrzeug-zu-Umwelt(V2X)-Kommunikation bezeichnet. V2X-Kommunikation entspricht üblicherweise einem oder mehreren Kommunikationsstandards zur Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
-
In einigen Ausführungsformen beinhalten die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen. Beispielsweise verdrahtete, drahtlose, WiMAX-, WiFi-, Bluetooth-, Satelliten-, Mobilfunk-, optische, Nahfeld-, Infrarot- oder Funk-Schnittstellen. Die Kommunikationsschnittstellen übertragen Daten von einer entfernt angeordneten Datenbank 134 an das AV-System 120. In einigen Ausführungsformen ist die entfernt angeordnete Datenbank 134 in einer Cloud-Rechenumgebung 200 wie in 2 beschrieben eingebettet. Die Kommunikationsschnittstellen 140 übertragen von den Sensoren 121 gesammelte Daten oder andere Daten in Verbindung mit dem Betrieb des AV 100 an die entfernt angeordnete Datenbank 134. In einigen Ausführungsformen übertragen die Kommunikationsschnittstellen 140 Informationen, die mit Teleoperationen verbunden sind, an das AV 100. In einigen Ausführungsformen kommuniziert das AV 100 mit anderen entfernten (z. B. „Cloud“-) Servern 136.
-
In einigen Ausführungsformen speichert und überträgt die entfernt angeordnete Datenbank 134 auch digitale Daten (z. B. die Daten wie Weg- und Straßenstandorte). Derartige Daten werden im Speicher 144 im AV 100 gespeichert oder an das AV 100 über einen Kommunikationskanal von der entfernt angeordneten Datenbank 134 übertragen.
-
In einigen Ausführungsformen speichert und überträgt die entfernt angeordnete Datenbank 134 historische Informationen über Fahreigenschaften (z. B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die sich vorher entlang der Trajektorie 198 zu ähnlichen Tageszeiten fortbewegt haben. In einer Implementierung sind derartige Daten im Speicher 144 im AV 100 gespeichert oder werden an das AV 100 über einen Kommunikationskanal von der entfernt angeordneten Datenbank 134 übertragen.
-
Computerprozessoren 146, die im AV 100 angeordnet sind, generieren algorithmisch Steueraktionen auf Grundlage von sowohl Echtzeit-Sensordaten als auch vorherigen Informationen, was dem AV-System 120 ermöglicht, seine autonomen Fahrfähigkeiten auszuführen.
-
In einigen Ausführungsformen beinhaltet das AV-System 120 Computerperipheriegeräte 132, die zum Bereitstellen von Informationen und Warnungen an und zum Empfangen von Eingaben von einem Benutzer (z. B. einem Fahrgast oder einem entfernten Benutzer) des AV 100 an die Computerprozessoren 146 gekoppelt sind. In einigen Ausführungsformen sind die Peripheriegeräte 132 der Anzeige 312, Eingabevorrichtung 314 und Cursorsteuerung 316 ähnlich, die unten in Bezug auf 3 besprochen werden. Die Kopplung ist drahtlos oder verdrahtet. Beliebige zwei oder mehr der Schnittstellenvorrichtungen können in eine einzige Vorrichtung integriert sein.
-
2 veranschaulicht eine beispielhafte „Cloud“-Rechenumgebung. Cloud-Rechnen ist ein Modell der Dienstbereitstellung zum Ermöglichen von bequemem Netzwerkzugriff auf Abruf auf einen gemeinsam genutzten Pool von konfigurierbaren Rechenressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Speicherung, Anwendungen, virtuelle Maschinen und Dienste). In typischen Cloud-Rechensystemen nehmen ein oder mehrere große Cloud-Rechenzentren die Maschinen auf, die verwendet werden, um die von der Cloud bereitgestellten Dienste zu liefern. Nun auf 2 Bezug nehmend beinhaltet die Cloud-Rechenumgebung 200 Cloud-Rechenzentren 204a, 204b und 204c, die über die Cloud 202 miteinander verbunden sind. Die Rechenzentren 204a, 204b und 204c stellen mit der Cloud 202 verbundenen Computersystemen 206a, 206b, 206c, 206d, 206e und 206f Cloud-Rechendienste bereit.
-
Die Cloud-Rechenumgebung 200 beinhaltet ein oder mehrere Cloud-Rechenzentren. Im Allgemeinen bezeichnet ein Cloud-Rechenzentrum, zum Beispiel das in 2 gezeigte Cloud-Rechenzentrum 204a, die physische Anordnung von Servern, die eine Cloud, zum Beispiel die in 2 gezeigte Cloud 202, oder einen bestimmten Abschnitt einer Cloud bilden. Beispielsweise sind Server physisch im Cloud-Rechenzentrum in Räume, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Rechenzentrum weist eine oder mehrere Zonen auf, die einen oder mehrere Räume mit Servern beinhalten. Jeder Raum weist eine oder mehrere Reihen von Servern auf, und jede Reihe beinhaltet ein oder mehrere Racks. Jedes Rack beinhaltet einen oder mehrere individuelle Serverknoten. In einigen Implementierungen sind Server in Zonen, Räumen, Racks und/oder Reihen auf Grundlage physischer Infrastrukturanforderungen der Rechenzentrumsanlage, die Leistung, Energie, Temperatur-, Wärme- und/oder andere Anforderungen beinhalten, in Gruppen angeordnet. In einigen Ausführungsformen sind die Serverknoten dem in 3 beschriebenen Computersystem ähnlich. Das Rechenzentrum 204a weist viele Rechensysteme auf, die auf viele Racks verteilt sind.
-
Die Cloud 202 beinhaltet die Cloud-Rechenzentren 204a, 204b und 204c zusammen mit dem Netzwerk und Netzwerkressourcen (zum Beispiel Netzwerkgeräten, Knoten, Routern, Switches und Netzwerkkabeln), die die Cloud-Rechenzentren 204a, 204b und 204c verbinden und dabei helfen, den Zugriff der Rechensysteme 206a-f auf die Cloud-Rechendienste zu ermöglichen. In einigen Ausführungsformen repräsentiert das Netzwerk eine beliebige Kombination von einem oder mehreren lokalen Netzwerken, Fernnetzen oder Internet-Netzen, die unter Verwendung verdrahteter oder drahtloser Verknüpfungen gekoppelt sind, die unter Verwendung von terrestrischen oder Satellitenverbindungen eingesetzt sind. Über das Netzwerk ausgetauschte Daten werden unter Verwendung einer beliebigen Anzahl von Netzwerkschichtprotokollen übertragen, wie zum Beispiel dem Internetprotokoll (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay usw. Ferner, in Ausführungsformen, bei denen das Netzwerk eine Kombination aus mehreren Subnetzwerken repräsentiert, werden unterschiedliche Netzwerkschichtprotokolle in jedem der zugrunde liegenden Subnetzwerke verwendet. In einigen Ausführungsformen repräsentiert das Netzwerk ein oder mehrere miteinander verbundene Internetzwerke, wie das öffentliche Internet.
-
Die Kunden der Rechensysteme 206a-f oder von Cloud-Rechendiensten sind durch Netzwerkverknüpfungen und Netzwerkadapter mit der Cloud 202 verbunden. In einigen Ausführungsformen sind die Rechensysteme 206a-f als verschiedene Rechenvorrichtungen implementiert, zum Beispiel Server, Desktops, Laptops, Tablet, Smartphones, Vorrichtungen des Internets der Dinge (IoT), autonome Fahrzeuge (einschließlich Autos, Drohnen, Shuttles, Züge, Busse usw.) und Verbraucherelektronik. In einigen Ausführungsformen sind die Rechensysteme 206a-f in oder als Teil von anderen Systemen implementiert.
-
3 veranschaulicht ein Computersystem 300. In einer Implementierung ist das Computersystem 300 eine Rechenvorrichtung für Sonderzwecke. Die Rechenvorrichtung für Sonderzwecke ist fest verdrahtet, um die Techniken durchzuführen, oder enthält digitale elektronische Vorrichtungen, wie einen oder mehrere anwendungsspezifische integrierte Schaltkreise (ASICs) oder feldprogrammierbare Gatearrays (FPGAs), die persistent programmiert sind, um die Techniken durchzuführen, oder können einen oder mehrere Universal-Hardwareprozessoren enthalten, die programmiert sind, um die Techniken gemäß Programmanweisungen in Firmware, Speicher oder anderer Speicherung durchzuführen, oder eine Kombination. Derartige Rechenvorrichtungen für Sonderzwecke können auch maßgeschneiderte fest verdrahtete Logik, ASICs oder FPGAs mit maßgeschneiderter Programmierung kombinieren, um die Techniken zu erzielen. In verschiedenen Ausführungsformen sind die Rechenvorrichtungen für Sonderzwecke Desktop-Computersysteme, tragbare Computersysteme, handgehaltene Vorrichtungen, Netzwerkvorrichtungen oder eine beliebige andere Vorrichtung, die fest verdrahtete und/oder Programmlogik einbindet, um die Techniken zu implementieren.
-
In einigen Ausführungsformen beinhaltet das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Informationen und einen Hardwareprozessor 304, der mit einem Bus 302 gekoppelt ist, zum Verarbeiten von Informationen. Der Hardwareprozessor 304 ist beispielsweise ein Universal-Mikroprozessor. Das Computersystem 300 beinhaltet auch einen Hauptspeicher 306, wie einen Arbeitsspeicher mit wahlfreiem Zugriff (RAM) oder eine andere dynamische Speicherungsvorrichtung, die an den Bus 302 zum Speichern von Informationen und vom Prozessor 304 auszuführenden Anweisungen gekoppelt ist. In einer Implementierung wird der Hauptspeicher 306 zum Speichern temporärer Variablen oder anderer unmittelbarer Informationen während einer Ausführung von Anweisungen verwendet, die vom Prozessor 304 auszuführen sind. Derartige Anweisungen, wenn sie in nicht transitorischen Speichermedien gespeichert sind, die für den Prozessor 304 zugänglich sind, machen das Computersystem 300 zu einer Maschine mit Sonderzweck, die maßgeschneidert ist, um die in den Anweisungen angegebenen Operationen durchzuführen.
-
In einigen Ausführungsformen beinhaltet das Computersystem 300 ferner einen schreibgeschützten Speicher (ROM) 308 oder eine andere statische Speicherungsvorrichtung, die zum Speichern von statischen Informationen und Anweisungen für den Prozessor 304 an den Bus 302 gekoppelt ist. Eine Speicherungsvorrichtung 310, wie eine Magnetplatte, optische Platte, ein Festkörperlaufwerk oder ein dreidimensionaler Cross-Point-Speicher, ist vorgesehen und zum Speichern von Informationen und Anweisungen an den Bus 302 gekoppelt.
-
In einigen Ausführungsformen ist das Computersystem 300 über den Bus 302 an eine Anzeige 312 gekoppelt, wie eine Kathodenröhre (CRT), eine Flüssigkristallanzeige (LCD), eine Plasmaanzeige, eine Leuchtdiodenanzeige (LED-Anzeige) oder eine organische Leuchtdiodenanzeige (OLED-Anzeige) zum Anzeigen von Informationen für einen Computerbenutzer. Eine Eingabevorrichtung 314, einschließlich alphanumerischer und anderer Tasten, ist zum Kommunizieren von Informationen und Befehlsauswahlen an den Prozessor 304 an den Bus 302 gekoppelt. Eine weitere Art von Benutzereingabevorrichtung ist eine Cursorsteuerung 316, wie eine Maus, ein Trackball, ein Berührungsbildschirm oder Cursor-Richtungstasten, um Richtungsinformationen und Befehlsauswahlen an den Prozessor 304 zu kommunizieren und eine Cursorbewegung auf der Anzeige 312 zu steuern. Diese Eingabevorrichtung weist üblicherweise zwei Freiheitsgrade in zwei Achsen auf, einer ersten Achse (z. B. x-Achse) und einer zweiten Achse (z. B. y-Achse), die der Vorrichtung ermöglicht, Positionen in einer Ebene anzugeben.
-
Nach einer Ausführungsform werden die Techniken hierin vom Computersystem 300 als Reaktion darauf durchgeführt, dass der Prozessor 304 einen oder mehrere Sequenzen mit einer oder mehreren Anweisungen ausführt, die im Hauptspeicher 306 enthalten sind. Derartige Anweisungen werden von einem anderen Speichermedium, wie der Speicherungsvorrichtung 310 in den Hauptspeicher 306 gelesen. Die Ausführung der im Hauptspeicher 306 enthaltenen Anweisungssequenzen veranlasst den Prozessor 304, die hierin beschriebenen Prozessschritte durchzuführen. In alternativen Ausführungsformen wird festverdrahtete Verschaltung anstelle von oder in Kombination mit Softwareanweisungen verwendet.
-
Der Ausdruck „Speicherungsmedien“, wie er hierin verwendet wird, bezeichnet alle nicht transitorischen Medien, die Daten und/oder Anweisungen speichern, die eine Maschine veranlassen, auf bestimmte Weise zu arbeiten. Derartige Speicherungsmedien beinhalten nichtflüchtige Medien und/oder flüchtige Medien. Nichtflüchtige Medien beinhalten beispielsweise optische Platten, Magnetplatten, Festkörperlaufwerke oder dreidimensionalen Cross-Point-Speicher, wie die Speicherungsvorrichtung 310. Flüchtige Medien beinhalten dynamischen Speicher, wie den Hauptspeicher 306. Übliche Formen von Speicherungsmedien beinhalten beispielsweise eine Diskette, eine flexible Platte, eine Festplatte, ein Festkörperlaufwerk, Magnetband oder ein beliebiges anderes magnetisches Datenspeicherungsmedium, eine CD-ROM, ein beliebiges anderes optisches Datenspeicherungsmedium, ein beliebiges physisches Medium mit Lochmustern, einen RAM, einen PROM und einen EPROM, einen FLASH-EPROM, einen NV-RAM oder einen beliebigen anderen Speicherchip oder eine Kassette.
-
Speicherungsmedien unterscheiden sich von Übertragungsmedien, können jedoch zusammen mit diesen verwendet werden. Übertragungsmedien nehmen am Transferieren von Informationen zwischen Speicherungsmedien teil. Übertragungsmedien beinhalten zum Beispiel Koaxialkabel, Kupferdraht und Faseroptik, einschließlich der Drähte, die den Bus 302 umfassen. Übertragungsmedien können auch die Form von akustischen oder Lichtwellen annehmen, wie diejenigen, die während Funkwellen- und Infrarotdatenkommunikationen generiert werden.
-
In einigen Ausführungsformen sind verschiedene Formen von Medien beim Übertragen einer oder mehrerer Sequenzen mit einer oder mehreren Anweisungen an den Prozessor 304 zur Ausführung involviert. Die Anweisungen werden beispielsweise anfänglich auf einer Magnetplatte oder einem Festkörperlaufwerk eines entfernten Computers getragen. Der entfernte Computer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen über eine Telefonleitung unter Verwendung eines Modems. Ein zum Computersystem 300 lokales Modem empfängt die Daten auf der Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor empfängt die im Infrarotsignal übertragenen Daten und eine passende Schaltungsanordnung platziert die Daten auf dem Bus 302. Der Bus 302 überträgt die Daten an den Hauptspeicher 306, aus dem der Prozessor 304 die Anweisungen abruft und ausführt. Die vom Hauptspeicher 306 empfangenen Anweisungen können optional auf der Speicherungsvorrichtung 310 gespeichert werden, entweder vor oder nach Ausführung durch den Prozessor 304.
-
Das Computersystem 300 beinhaltet auch eine Kommunikationsschnittstelle 318, die an den Bus 302 gekoppelt ist. Die Kommunikationsschnittstelle 318 stellt eine Zweiwege-Datenkommunikationskopplung an eine Netzwerkverknüpfung 320 bereit, die mit einem lokalen Netzwerk 322 verbunden ist. Beispielsweise ist die Kommunikationsschnittstelle 318 eine Integriertes-Sprach-und-Datennetz(ISDN)-Karte, ein Kabelmodem, ein Satellitenmodem oder ein Modem, um eine Datenkommunikationsverbindung mit einer entsprechenden Art von Telefonleitung bereitzustellen. Als ein weiteres Beispiel ist die Kommunikationsschnittstelle 318 eine lokale Netzwerk(LAN)-Karte, um eine Datenkommunikationsverbindung mit einem kompatiblen LAN bereitzustellen. In einigen Implementierungen sind auch drahtlose Verknüpfungen implementiert. In einer beliebigen derartigen Implementierung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen, die verschiedene Arten von Informationen repräsentieren.
-
Die Netzwerkverknüpfung 320 stellt üblicherweise eine Datenkommunikation durch ein oder mehrere Netzwerke an andere Datenvorrichtungen bereit. Beispielsweise bietet die Netzwerkverknüpfung 320 eine Verbindung mit einem Hostcomputer 324 oder einem Cloud-Rechenzentrum oder einem von einem Internetdienstanbieter (ISP) 326 betriebenes Gerät über das lokale Netzwerk 322. Der ISP 326 wiederum stellt über das weltweite Paketdatenkommunikationsnetzwerk, das heute üblicherweise als das „Internet“ 328 bezeichnet wird, Datenkommunikationsdienste bereit. Das lokale Netzwerk 322 und das Internet 328 verwenden beide elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen. Die Signale über die verschiedenen Netzwerke und die Signale auf der Netzwerkverknüpfung 320 und über die Kommunikationsschnittstelle 318, die die digitalen Daten an und vom Computersystem 300 übertragen, sind beispielhafte Formen von Übertragungsmedien. In einigen Ausführungsformen beinhaltet das Netzwerk 320 die Cloud 202 oder einen Teil der oben beschriebenen Cloud 202.
-
Das Computersystem 300 sendet Nachrichten und empfängt Daten, einschließlich Programmcode, über das bzw. die Netzwerk(e), die Netzwerkverknüpfung 320 und die Kommunikationsschnittstelle 318. In einigen Ausführungsformen empfängt das Computersystem 300 Code zum Verarbeiten. Der empfangene Code wird beim Empfangen vom Prozessor 304 ausgeführt und/oder in der Speicherungsvorrichtung 310 oder einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert.
-
Architektur eines autonomen Fahrzeugs
-
4 zeigt eine beispielhafte Architektur 400 für ein autonomes Fahrzeug (z. B. das in 1 gezeigte AV 100). Die Architektur 400 beinhaltet ein Wahrnehmungsmodul 402 (manchmal als ein Wahrnehmungsschaltkreis bezeichnet), ein Planungsmodul 404 (manchmal als ein Planungsschaltkreis bezeichnet), ein Regelmodul 406 (manchmal als ein Regelschaltkreis bezeichnet), ein Lokalisierungsmodul 408 (manchmal als ein Lokalisierungsschaltkreis bezeichnet) und ein Datenbankmodul 410 (manchmal als ein Datenbankschaltkreis bezeichnet). Jedes Modul spielt beim Betrieb des AV 100 eine Rolle. Zusammen können die Module 402, 404, 406, 408 und 410 Teil des in 1 gezeigten AV-Systems 120 sein. In einigen Ausführungsformen sind beliebige der Module 402, 404, 406, 408 und 410 eine Kombination von Computersoftware (z. B. ausführbarer Code, der auf einem computerlesbaren Medium gespeichert ist) und Computerhardware (z. B. ein oder mehrere Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltkreise [ASICs]), Hardwarespeichervorrichtungen, andere Arten von integrierten Schaltkreisen, andere Arten von Computerhardware oder eine Kombination von beliebigen oder allen diesen Dingen).
-
In Verwendung empfängt das Planungsmodul 404 Daten, die ein Ziel 412 repräsentieren, und eine Näheregel. In einigen Ausführungsformen beinhaltet die Näheregel eine Fahrzeuggeschwindigkeitsrandbedingung als eine Funktion von zumindest einer Position des AV 100 relativ zu einem Hindernis 193 (z. B. natürlichen Blockierungen 191, Fahrzeugen, Fußgängern 192, Fahrradfahrern und anderen Hindernissen), wobei die Fahrzeuggeschwindigkeitsrandbedingung eine zulässige (z. B. maximale) Geschwindigkeit des AV 100 auf Grundlage der Position des AV 100 relativ zum Objekt definiert. In einigen Ausführungsformen ist die Fahrzeuggeschwindigkeitsrandbedingung eine Funktion der Position des AV 100 relativ zum Hindernis und mindestens entweder einem Objekttyp und/oder mindestens einer Eigenschaft des Objekts (z. B. Geschwindigkeit, empfundener Wert (z. B. ist ein Fußgänger wertvoller als ein unbelebtes Objekt)).
-
Das Planungsmodul 404 ermittelt dann Daten, die eine Referenztrajektorie 414 (manchmal als eine Route bezeichnet) repräsentieren, auf Grundlage der Näheregel, die das AV 100 durchlaufen kann, um das Ziel 412 zu erreichen (z. B. dort anzukommen). Damit das Planungsmodul 404 die Daten ermittelt, die die Referenztrajektorie 414 repräsentieren, empfängt das Planungsmodul 404 Daten vom Wahrnehmungsmodul 402, dem Lokalisierungsmodul 408 und dem Datenbankmodul 410.
-
Das Wahrnehmungsmodul 402 identifiziert nahegelegene physische Objekte unter Verwendung eines oder mehrerer Sensoren 121, wie z. B. auch in 1 gezeigt. Die Objekte werden klassifiziert (z. B. in Typen wie Fußgänger, Fahrrad, Automobil, Verkehrszeichen usw. gruppiert) und eine Szenenbeschreibung einschließlich der klassifizierten Objekte 416 wird dem Planungsmodul 404 bereitgestellt.
-
Das Planungsmodul 404 empfängt auch Daten, die die AV-Position 418 repräsentieren, vom Lokalisierungsmodul 408. Das Lokalisierungsmodul 408 ermittelt die AV-Position unter Verwendung von Daten von den Sensoren 121 und Daten vom Datenbankmodul 410 (z. B. geografische Daten), um eine Position zu berechnen. Beispielsweise verwendet das Lokalisierungsmodul 408 Daten von einem GNSS-Sensor (globales Navigationssatellitensystem) und geografische Daten, um einen Längengrad und einen Breitengrad des AV zu berechnen. In einigen Ausführungsformen enthalten Daten, die vom Lokalisierungsmodul 408 verwendet werden, Karten mit hoher Präzision der geometrischen Eigenschaften der Straße, Karten, die Verbindungseigenschaften des Straßennetzes beschreiben, Karten, die die physischen Eigenschaften der Straße beschreiben (wie Verkehrsgeschwindigkeit, Verkehrsvolumen, die Anzahl von Fahr- und Fahrradspuren, Spurbreite, Verkehrsrichtung der Spuren oder Spurmarkierungstypen und -positionen oder Kombinationen davon), und Karten, die die räumlichen Standorte von Straßenmerkmalen wie Zebrastreifen, Verkehrszeichen oder andere Verkehrssignale verschiedener Typen beschreiben.
-
Das Regelmodul 406 empfängt die Daten, die die Referenztrajektorie 414 repräsentieren, und die Daten, die die AV-Position 418 repräsentieren. Das Regelmodul 406 empfängt auch die gleiche Näheregel, die vom Planungsmodul 404 empfangen wird. Auf Grundlage der vom Planungsmodul 404 bereitgestellten Referenztrajektorie 414 und der Näheregel ermittelt das Regelmodul 406 eine vorhergesagte Trajektorie 422 (z. B. berechnet das Regelmodul 406 eine Trajektorie und verschiedene Geschwindigkeitsrandbedingungen auf Grundlage der empfangenen Näheregel). In einigen Ausführungsformen beinhaltet die vorhergesagte Trajektorie 422 eine Vielzahl von Vorhersagen, wobei jede Vorhersage eine jeweilige vorhergesagte Position des AV 100 relativ zu einem Objekt entlang der vorhergesagten Trajektorie 422 und eine jeweilige vorhergesagte Fahrzeuggeschwindigkeitsrandbedingung beinhaltet, die auf das AV 100 anzuwenden ist. In einigen Ausführungsformen ermittelt das Regelmodul 406 die vorhergesagte Trajektorie 422 in einem Intervall, das auf einen oder mehreren Betriebsbedingungen des AV 100 beruht.
-
Das Regelmodul betreibt dann die Steuerfunktionen 420a-c (z. B. Lenken, Drosseln, Bremsen, Zündung) des AV 100 auf eine Weise, die das AV 100 veranlasst, die vorhergesagte Trajektorie 422 zum Ziel 412 zu durchlaufen. Falls die vorhergesagte Trajektorie 422 beispielsweise ein Abbiegen nach links enthält, betreibt das Regelmodul 406 die Steuerfunktionen 420a-c auf eine Weise, sodass der Lenkwinkel der Lenkfunktion das AV 100 veranlasst, nach links abzubiegen, und das Drosseln und Bremsen veranlasst das AV 100, anzuhalten und auf sich vorbei bewegende Fußgänger oder Fahrzeuge zu warten, bevor die Abbiegung erfolgt. In einigen Fällen können die vorhergesagte Trajektorie 422 und die Referenztrajektorie 414 gleich sein. Beispielsweise kann das AV 100 während des Durchlaufens der vorhergesagten Trajektorie 422 auf keine Objekte stoßen, die bewirken, dass die vorhergesagte Trajektorie 422 die Referenztrajektorie 414 nicht mehr überlagert. In einigen Fällen kann das AV 100 während des Durchlaufens der vorhergesagten Trajektorie auf Objekte stoßen oder die vorhergesagte Trajektorie 422 anderweitig modifizieren müssen, sodass die vorhergesagte Trajektorie 422 und die Referenztrajektorie 414 nicht gleich sind.
-
Eingaben in ein autonomes Fahrzeug
-
5 zeigt ein Beispiel von Eingaben 502a-d (z. B. in 1 gezeigte Sensoren 121) und Ausgaben 504a-d (z. B. Sensordaten), die vom Wahrnehmungsmodul 402 (4) verwendet werden. Eine Eingabe 502a ist ein LiDAR(Lichtdetektions- und Entfernungsmessungs-)System (z. B. das in 1 gezeigte LiDAR 123). LiDAR ist eine Technologie, die Licht (z. B. Pulse von Licht, wie Infrarotlicht) verwendet, um Daten über physische Objekte in seiner Sichtlinie zu erhalten. Ein LiDAR-System erzeugt LiDAR-Daten als Ausgabe 504a. Beispielsweise sind LiDAR-Daten Sammlungen von 3D- oder 2D-Punkten (auch als Punktwolken bekannt), die verwendet werden, um eine Repräsentation der Umgebung 190 zu konstruieren.
-
Eine weitere Eingabe 502b ist ein RADAR-System. RADAR ist eine Technologie, die Funkwellen verwendet, um Daten über physische Objekte in der Nähe zu erhalten. RADARs können Daten über Objekte erhalten, die sich nicht innerhalb der Sichtlinie eines LiDAR-Systems befinden. Ein RADAR-System 502b erzeugt RADAR-Daten als Ausgabe 504b. Beispielsweise sind RADAR-Daten elektromagnetische Signale einer oder mehrerer Funkfrequenzen, die verwendet werden, um eine Repräsentation der Umgebung 190 zu konstruieren.
-
Eine weitere Eingabe 502c ist ein Kamerasystem. Ein Kamerasystem verwendet eine oder mehrere Kameras (z. B. Digitalkameras unter Verwendung eines Lichtsensors wie einer ladungsgekoppelten Vorrichtung [CCD]), um Informationen über physische Objekte in der Nähe zu erhalten. Ein Kamerasystem erzeugt Kameradaten als Ausgabe 504c. Kameradaten nehmen oft die Form von Bilddaten an (z. B. Daten in einem Bilddatenformat wie RAW, JPEG, PNG usw.). In einigen Beispielen weist das Kamerasystem mehrere unabhängige Kameras auf, z. B. zum Zweck der Stereopsie (Stereosehen), was dem Kamerasystem ermöglicht, Tiefe wahrzunehmen. Obwohl die vom Kamerasystem wahrgenommenen Objekte hier als „in der Nähe“ beschrieben sind, ist dies relativ zum AV. In Verwendung kann das Kamerasystem konfiguriert sein, Objekte weit weg, z. B. bis zu einem Kilometer oder mehr vor dem AV zu „sehen“. Dementsprechend kann das Kamerasystem Merkmale wie Sensoren und Linsen aufweisen, die zum Wahrnehmen von weit entfernten Objekten optimiert sind.
-
Eine weitere Eingabe 502d ist ein Verkehrsampelerkennungssystem (TLD-System). Ein TLD-System verwendet eine oder mehrere Kameras, um Informationen über Verkehrsampeln, Straßenschilder und andere physische Objekte zu erhalten, die visuelle Navigationsinformationen bereitstellen. Ein TLD-System erzeugt TLD-Daten als Ausgabe 504d. TLD-Daten nehmen oft die Form von Bilddaten an (z. B. Daten in einem Bilddatenformat wie RAW, JPEG, PNG usw.). Ein TLD-System unterscheidet sich von einem System, das eine Kamera einbindet, dahingehend, dass ein TLD-System eine Kamera mit einem breiten Sichtfeld (z. B. unter Verwendung eines Weitwinkelobjektivs oder eines Fischaugenobjektivs) verwendet, um Informationen über möglichst viele physische Objekte zu erhalten, die visuelle Navigationsinformationen bereitstellen, sodass das AV 100 Zugriff auf alle relevanten Navigationsinformationen aufweist, die von diesen Objekten geliefert werden. Beispielsweise kann der Sichtwinkel des TLD-Systems ungefähr 120 Grad oder mehr betragen.
-
In einigen Ausführungsformen werden die Ausgaben 504a-d unter Verwendung einer Sensorfusionstechnik kombiniert. Deshalb werden entweder die individuellen Ausgaben 504a-d anderen Systemen des AV 100 bereitgestellt (z. B. einem Planungsmodul 404 bereitgestellt, wie in 4 gezeigt), oder die kombinierte Ausgabe kann den anderen Systemen bereitgestellt werden, entweder in Form einer einzelnen kombinierten Ausgabe oder mehreren kombinierten Ausgaben des gleichen Typs (z. B. unter Verwendung der gleichen Kombinationstechnik oder durch Kombinieren der gleichen Ausgaben oder von beidem) oder von unterschiedlichen Typen (z. B. unter Verwendung unterschiedlicher jeweiliger Kombinationstechniken oder durch Kombinieren unterschiedlicher jeweiliger Ausgaben oder von beidem). In einigen Ausführungsformen wird eine frühe Fusionstechnik verwendet. Eine frühe Fusionstechnik ist durch Kombinieren von Ausgaben gekennzeichnet, bevor eine oder mehrere Datenverarbeitungsschritte auf die kombinierte Ausgabe angewandt werden. In einigen Ausführungsformen wird eine späte Fusionstechnik verwendet. Eine späte Fusionstechnik ist durch Kombinieren von Ausgaben gekennzeichnet, nachdem eine oder mehrere Datenverarbeitungsschritte auf die individuellen Ausgaben angewandt werden.
-
6 zeigt ein Beispiel eines LiDAR-Systems 602 (z. B. der in 5 gezeigten Eingabe 502a). Das LiDAR-System 602 emittiert Licht 604a-c von einem Lichtemitter 606 (z. B. einem Laser-Transmitter). Von einem LiDAR-System emittiertes Licht, ist üblicherweise nicht im sichtbaren Spektrum; beispielsweise wird of Infrarotlicht verwendet. Etwas des emittierten Lichts 604b trifft auf ein physisches Objekt 608 (z. B. ein Fahrzeug) und wird zum LiDAR-System 602 zurück reflektiert. (Von einem LiDAR-System reflektiertes Licht durchdringt üblicherweise physische Objekte, z. B. physische Objekte in fester Form, nicht.) Das LiDAR-System 602 weist auch einen oder mehrere Lichtdetektoren 610 auf, die das reflektierte Licht erkennen. In einigen Ausführungsformen generieren ein oder mehrere Datenverarbeitungssysteme, die mit dem LiDAR-System assoziiert sind, ein Bild 612, das das Sichtfeld 614 des LiDAR-Systems repräsentiert. Das Bild 612 beinhaltet Informationen, die die Grenzen 616 eines physischen Objekts 608 repräsentieren. Auf diese Weise wird das Bild 612 verwendet, um die Grenzen 616 eines oder mehrerer physischer Objekte in der Nähe eines AV zu ermitteln.
-
7 zeigt das LiDAR-System 602 im Betrieb. Im in dieser Figur gezeigten Szenario empfängt das AV 100 sowohl eine Kamerasystemausgabe 504c in Form eines Bilds 702 als auch eine LiDAR-Systemausgabe 504a in Form von LiDAR-Datenpunkten 704. In Verwendung vergleichen die Datenverarbeitungssysteme des AV 100 das Bild 702 mit den Datenpunkten 704. Insbesondere wird ein im Bild 702 identifiziertes physisches Objekt 706 auch unter den Datenpunkten 704 identifiziert. Auf diese Weise nimmt das AV 100 die Grenzen des physischen Objekts auf Grundlage der Kontur und Dichte der Datenpunkte 704 wahr.
-
8 zeigt den Betrieb des LiDAR-Systems 602 in zusätzlichem Detail. Wie oben beschrieben, erkennt das AV 100 die Grenze eines physischen Objekts auf Grundlage von Merkmalen der vom LiDAR-System 602 erkannten Datenpunkte. Wie in 8 gezeigt, reflektiert ein flaches Objekt, wie der Boden 802, von einem LiDAR-System 602 emittiertes Licht 804a-d auf konsistente Weise. Anders ausgedrückt, da das LiDAR-System 602 Licht unter Verwendung von konsistenter Beabstandung emittiert, reflektiert der Boden 802 das Licht mit der gleichen konsistenten Beabstandung zurück zum LiDAR-System 602. Während sich das AV 100 über den Boden 802 bewegt, fährt das LiDAR-System 602 fort, vom nächsten gültigen Bodenpunkt 806 reflektiertes Licht zu erkennen, falls nichts die Straße blockiert. Falls jedoch ein Objekt 808 die Straße blockiert, wird vom LiDAR-System 602 emittiertes Licht 804e-f von Punkten 810a-b auf eine Weise reflektiert, die nicht mit der erwarteten konsistenten Weise übereinstimmt. Aus diesen Informationen kann das AV 100 ermitteln, dass das Objekt 808 vorhanden ist.
-
Pfadplanung
-
9 zeigt ein Blockdiagramm 900 der Beziehungen zwischen Eingaben und Ausgaben eines Planungsmoduls 404 (z. B. wie in 4 gezeigt). Im Allgemeinen ist die Ausgabe eines Planungsmoduls 404 eine Route 902 (z. B. die Referenztrajektorie 414) von einem Ausgangspunkt 904 (z. B. Quellstandort oder anfänglichen Standort) und einem Endpunkt 906 (z. B. Ziel oder endgültigen Endpunkt). Die Route 902 ist üblicherweise durch ein oder mehrere Segmente definiert. Beispielsweise ist ein Segment eine Distanz, die über zumindest einen Abschnitt einer Straße, einem Weg, einer Autobahn, einem Fahrweg oder einer anderen physischen, für Automobilfahrten geeigneten Fläche durchlaufen wird. In einigen Beispielen, falls das AV 100 z. B. ein geländegängiges Fahrzeug wie ein Auto mit Vierradantrieb (4WD) oder Allradantrieb (AWD), ein SUV, ein Pick-up oder dergleichen ist, beinhaltet die Route 902 „Gelände“-Segmente wie nicht asphaltierte Pfade oder offene Felder.
-
Zusätzlich zur Route 902 gibt ein Planungsmodul auch Routenplanungsdaten 908 auf Spurebene aus. Die Routenplanungsdaten 908 auf Spurebene werden verwendet, um Segmente der Route 902 auf Grundlage von Zuständen des Segments zu einem bestimmten Zeitpunkt zu durchqueren. Falls die Route 902 zum Beispiel eine mehrspurige Autobahn beinhaltet, beinhalten die Routenplanungsdaten 908 Trajektorieplanungsdaten 910, die das AV 100 verwenden kann, um eine Spur unter den mehreren Spuren auszuwählen, z. B. auf Grundlage davon, ob eine Ausfahrt näher kommt, ob eine oder mehrere der Spuren andere Fahrzeuge aufweisen, oder andere Faktoren, die über wenige Minuten oder kürzere Zeit hinweg variieren. Gleichermaßen beinhalten die Routenplanungsdaten 908 auf Spurebene in einigen Implementierungen Geschwindigkeitsrandbedingungen 912, die für ein Segment der Route 902 spezifisch sind. Falls das Segment beispielsweise Fußgänger oder unerwarteten Verkehr beinhaltet, können die Geschwindigkeitsrandbedingungen 912 das AV 100 auf eine Fortbewegungsgeschwindigkeit beschränken, die langsamer als eine erwartete Geschwindigkeit ist, z. B. eine Geschwindigkeit, die auf Geschwindigkeitsgrenzdaten für das Segment beruht.
-
In einigen Ausführungsformen beinhalten die Eingaben in das Planungsmodul 404 Datenbankdaten 914 (z. B. vom in 4 gezeigten Datenbankmodul 410), aktuelle Standortdaten 916 (z. B. die in 4 gezeigte AV-Position 418), Zieldaten 918 (z. B. für das in 4 gezeigte Ziel 412) und Objektdaten 920 (z. B. die klassifizierten Objekte 416, wie sie vom Wahrnehmungsmodul 402 wie in 4 gezeigt wahrgenommen werden). In einigen Ausführungsformen beinhalten die Datenbankdaten 914 Regeln, die bei der Planung verwendet werden. Regeln werden unter Verwendung einer formalen Sprache spezifiziert, z. B. unter Verwendung von boolescher Logik. In einer beliebigen gegebenen Situation, denen das AV 100 begegnet, gelten zumindest einige der Regeln für die Situation. Eine Regel gilt für eine bestimmte Situation, falls die Regel Randbedingungen aufweist, die auf Grundlage von Informationen erfüllt sind, die dem AV 100 zur Verfügung stehen, z. B. Informationen über die umliegende Umgebung. Regeln können Priorität aufweisen. Beispielsweise kann eine Regel, die besagt, „falls die Straße eine Autobahn ist, dann bewege dich in die ganz linke Spur“, eine niedrigere Priorität aufweisen als „falls die Ausfahrt innerhalb einer Meile näher kommt, dann bewege dich in die ganz rechte Spur“.
-
10 zeigt einen gerichteten Graphen 1000, der bei einer Pfadplanung verwendet wird, z. B. vom Planungsmodul 404 (4). Im Allgemeinen wird ein gerichteter Graph 1000, wie der in 10 gezeigte, verwendet, um einen Pfad zwischen einem beliebigen Ausgangspunkt 1002 und einem Endpunkt 1004 zu ermitteln. In der Realität kann die Distanz, die den Ausgangspunkt 1002 und den Endpunkt 1004 trennt, relativ groß sein (z. B. in zwei verschiedenen Ballungsräumen) oder kann relativ klein sein (z. B. zwei Kreuzungen, die an einen Häuserblock stoßen, oder zwei Spuren einer mehrspurigen Straße).
-
In einigen Ausführungsformen weist der gerichtete Graph 1000 Knoten 1006a-d auf, die unterschiedliche Standorte zwischen dem Ausgangspunkt 1002 und dem Endpunkt 1004 repräsentieren, die vom AV 100 belegt werden könnten. In einigen Beispielen, wenn z. B. der Ausgangspunkt 1002 und der Endpunkt 1004 unterschiedliche Ballungsräume repräsentieren, repräsentieren die Knoten 1006a-d Straßensegmente. In einigen Beispielen, wenn z. B. der Ausgangspunkt 1002 und der Endpunkt 1004 unterschiedliche Standorte in derselben Straße repräsentieren, repräsentieren die Knoten 1006a-d unterschiedliche Positionen in dieser Straße. Auf diese Weise beinhaltet der gerichtete Graph 1000 Informationen mit unterschiedlichen Niveaus an Granularität. In einigen Ausführungsformen ist ein gerichteter Graph mit hoher Granularität auch ein Subgraph eines anderen gerichteten Graphen mit einem größeren Maßstab. Beispielsweise weist ein gerichteter Graph, bei dem der Ausgangspunkt 1002 und der Endpunkt 1004 weit entfernt (z. B. viele Meilen beabstandet) sind, den Großteil seiner Informationen mit geringer Granularität auf und beruht auf gespeicherten Daten, aber beinhaltet auch einige Informationen mit hoher Granularität für den Abschnitt des Graphen, der physische Standorte im Sichtfeld des AV 100 repräsentiert.
-
Die Knoten 1006a-d unterscheiden sich von den Objekten 1008a-b, die nicht mit einem Knoten überlappen können. In einigen Ausführungsformen, wenn die Granularität gering ist, repräsentieren die Objekte 1008a-b Bereiche, die nicht von einem Automobil durchquert werden können, z. B. Bereiche, die keine Fahrbahnen oder Straßen aufweisen. Wenn die Granularität hoch ist, repräsentieren die Objekte 1008a-b physische Objekte im Sichtfeld des AV 100, z. B. andere Automobile, Fußgänger oder andere Entitäten, mit denen das AV 100 keinen physischen Raum gemeinsam nutzen kann. In einigen Ausführungsformen sind einige oder alle der Objekte 1008a-b statische Objekte (z. B. ein Objekt, dass seine Position nicht ändert, wie eine Straßenlampe oder ein Strommast) oder dynamische Objekte (z. B. ein Objekt, dass seine Position ändern kann, wie ein Fußgänger oder ein anderes Auto).
-
Die Knoten 1006a-d sind durch Kanten 1010a-c verbunden. Falls zwei Knoten 1006a-b durch eine Kante 1010a verbunden sind, ist es möglich, dass sich das AV 100 zwischen einem Knoten 1006a und dem anderen Knoten 1006b fortbewegt, z. B., ohne sich zu einem Zwischenknoten fortbewegen zu müssen, bevor es am anderen Knoten 1006b ankommt. (Wenn wir auf das sich zwischen Knoten fortbewegende AV 100 Bezug nehmen, meinen wir, dass sich das AV 100 zwischen den zwei physischen Positionen fortbewegt, die durch die jeweiligen Knoten repräsentiert werden.) Die Kanten 1010a-c sind oft bidirektional, in dem Sinn, dass sich das AV 100 von einem ersten Knoten zu einem zweiten Knoten oder vom zweiten Knoten zum ersten Knoten fortbewegt. In einigen Ausführungsformen sind Kanten 1010a-c unidirektional, in dem Sinn, dass sich das AV 100 von einem ersten Knoten zu einem zweiten Knoten fortbewegen kann, wohingegen sich das AV 100 nicht vom zweiten Knoten zum ersten Knoten fortbewegen kann. Die Kanten 1010a-c sind unidirektional, wenn sie beispielsweise Einbahnstraßen, individuelle Spuren einer Straße, Fahrbahn oder Autobahn oder andere Merkmale repräsentieren, die aufgrund von rechtlichen oder physischen Einschränkungen nur in einer Richtung durchlaufen werden können.
-
In einigen Ausführungsformen verwendet das Planungsmodul 404 den gerichteten Graphen 1000, um einen Pfad 1012 zu identifizieren, der aus Knoten und Kanten zwischen dem Ausgangspunkt 1002 und dem Endpunkt 1004 besteht.
-
Eine Kante 1010a-c weist assoziierte Kosten 1014a-b auf. Die Kosten 1014a-b sind ein Wert, der die Ressourcen repräsentiert, die aufgewendet werden, falls das AV 100 diese Kante auswählt. Eine typische Ressource ist Zeit. Falls beispielsweise eine Kante 1010a eine physische Distanz repräsentiert, die das Zweifache einer anderen Kante 1010b ist, dann können die assoziierten Kosten 1014a der ersten Kante 1010a das Zweifache der assoziierten Kosten 1014b der zweiten Kante 1010b sein. Andere Faktoren, die die Zeit beeinflussen, beinhalten erwarteten Verkehr, Anzahl der Kreuzungen, Geschwindigkeitsrandbedingung usw. Eine weitere typische Ressource ist Kraftstoffwirtschaftlichkeit. Zwei Kanten 1010a-b können die gleiche physische Distanz repräsentieren, aber eine Kante 1010a kann mehr Kraftstoff erfordern als eine andere Kante 1010b, z. B. aufgrund von Straßenrandbedingungen, erwartetem Wetter usw.
-
Wenn das Planungsmodul 404 einen Pfad 1012 zwischen dem Ausgangspunkt 1002 und dem Endpunkt 1004 identifiziert, wählt das Planungsmodul 404 üblicherweise einen Pfad aus, der kostenoptimiert ist, z. B. den Pfad, der die geringsten Gesamtkosten aufweist, wenn die individuellen Kosten der Kanten zusammen addiert werden.
-
Steuerung eines autonomen Fahrzeugs
-
11 zeigt ein Blockdiagramm 1100 der Eingaben und Ausgaben einer Regelung 1102 (z. B. dem Regelmodul 406, wie in 4 gezeigt). Die Regelung 1102 beinhaltet beispielsweise einen oder mehrere Prozessoren (z. B. einen oder mehrere Computerprozessoren, wie Mikroprozessoren oder Mikrocontroller oder beides), ähnlich dem Prozessor 304, kurzfristige und/oder langfristige Datenspeicherung (z. B. Direktzugriffsspeicher oder Flashspeicher oder beides), ähnlich dem Hauptspeicher 306, ROM 308 und eine Speichervorrichtung 310 und im Speicher gespeicherte Anweisungen, die Operationen der Regelung 1102 ausführen, wenn die Anweisungen ausgeführt werden (z. B. durch den einen oder die mehreren Prozessoren). In einigen Ausführungsformen empfängt die Regelung 1102 Daten, die eine gewünschte Ausgabe 1104 repräsentieren. Die gewünschte Ausgabe 1104 beinhaltet üblicherweise eine lineare Geschwindigkeit, z. B. eine Geschwindigkeit und eine Fahrtrichtung. Die gewünschte Ausgabe 1104 kann beispielsweise auf von einem Planungsmodul 404 (wie z. B. in 4 gezeigt) empfangenen Daten beruhen, oder auf der vorhergesagten Trajektorie 422, die von der Regelung 1102 und/oder dem Regelmodul 406 (wie z. B. in 4 gezeigt) ermittelt wurde. In Übereinstimmung mit der gewünschten Ausgabe 1104 erzeugt die Regelung 1102 Daten, die als Gasbetätigungseingabe 1106 und als Lenkeingabe 1108 verwendbar sind. Die Gasbetätigungseingabe 1106 repräsentiert das Ausmaß, in dem die Gasbetätigung (z. B. Beschleunigungssteuerung) des AV 100 zu aktivieren ist, z. B. durch Aktivieren des Lenkpedals oder Aktivieren einer anderen Gasbetätigungssteuerung, um die gewünschte Ausgabe 1104 zu erzielen. In einigen Beispielen beinhaltet die Gasbetätigungseingabe 1106 auch Daten, die verwendbar sind, um die Bremse (z. B. Abbremsregelung) des AV 100 zu aktivieren. Die Lenkeingabe 1108 repräsentiert einen Lenkwinkel, z. B. den Winkel, in dem die Lenkregelung (z. B. ein Lenkrad, Lenkwinkelstellglied oder eine andere Funktionalität zum Steuern des Lenkwinkels) des AV positioniert werden sollte, um die gewünschte Ausgabe 1104 zu erzielen.
-
In einigen Ausführungsformen empfängt die Regelung 1102 eine Rückmeldung, die beim Anpassen der der Gasbetätigung und der Lenkung bereitgestellten Eingaben verwendet wird. Falls das AV 100 beispielsweise auf eine Störung 1110, wie einen Hügel, trifft, wird die gemessene Geschwindigkeit 1112 des AV 100 unter die gewünschte Ausgabegeschwindigkeit gesenkt. In einigen Ausführungsformen wird eine etwaige gemessene Ausgabe 1114 der Regelung 1102 bereitgestellt, sodass die notwendigen Anpassungen durchgeführt werden, z. B. auf Grundlage des Unterschieds 1113 zwischen der gemessenen Geschwindigkeit und der gewünschten Ausgabe. Die gemessene Ausgabe 1114 beinhaltet eine gemessene Position 1116, eine gemessene lineare Geschwindigkeit 1118 (einschließlich Geschwindigkeit und Fahrtrichtung), eine gemessene Beschleunigung 1120 und andere Ausgaben, die von Sensoren des AV 100 messbar sind.
-
In einigen Ausführungsformen werden Informationen über die Störung 1110 vorab erkannt, z. B. durch einen Sensor wie eine Kamera oder einen LiDAR-Sensor, und einem prädiktiven Rückmeldemodul 1122 bereitgestellt. Das prädiktive Rückmeldemodul 1122 stellt dann der Regelung 1102 Informationen bereit, die die Regelung 1102 verwenden kann, um dementsprechende Anpassungen vorzunehmen. Falls beispielsweise die Sensoren des AV 100 einen Hügel erkennen („sehen“), können diese Informationen von der Regelung 1102 verwendet werden, um die Gasbetätigung zum angemessenen Zeitpunkt zu aktivieren, um eine signifikante Verlangsamung zu vermeiden.
-
12 zeigt ein Blockdiagramm 1200 der Eingaben, Ausgaben und Komponenten einer Regelung 1102. Die Regelung 1102 weist eine Geschwindigkeitsanalyseeinheit 1202 auf, die den Betrieb einer Gasbetätigungs-/Bremsregelung 1204 beeinflusst. Beispielsweise weist die Geschwindigkeitsanalyseeinheit 1202 die Gasbetätigungs-/Bremsregelung 1204 an, eine Beschleunigung oder eine Verlangsamung unter Verwendung der Gasbetätigung/Bremse 1206 zu aktivieren, abhängig z. B. von einer von der Regelung 1102 empfangenen und von der Geschwindigkeitsanalyseeinheit 1202 verarbeiteten Rückmeldung.
-
Die Regelung 1102 weist auch eine laterale Verfolgungsregelung 1208 auf, die den Betrieb einer Lenkregelung 1210 beeinflusst. Beispielsweise weist die laterale Verfolgungsregelung 1208 die Lenkregelung 1210 an, die Position des Lenkwinkelstellglieds 1212 zu aktivieren, abhängig z. B. von einer von der Regelung 1102 empfangenen und von der lateralen Verfolgungsregelung 1208 verarbeiteten Rückmeldung.
-
Die Regelung 1102 empfängt mehrere Eingaben, die verwendet werden, um zu ermitteln, wie die Gasbetätigung/Bremse 1206 und das Lenkwinkelstellglied 1212 zu regeln sind. Das Planungsmodul 404 stellt dem Regelmodul 406 und/oder der Regelung 1102 Informationen (z. B. die Referenztrajektorie 414) bereit, und die Regelung 1102 verwendet die empfangene Näheregel, um die vorhergesagte Trajektorie 422 zu ermitteln, die zum Beispiel verwendet wird, um eine Fahrtrichtung auszuwählen, wenn das AV 100 den Betrieb aufnimmt, und um zu ermitteln, welches Straßensegment zu durchqueren ist, wenn das AV 100 eine Kreuzung erreicht. Ein Lokalisierungsmodul 408 stellt der Regelung 1102 Informationen bereit, die zum Beispiel den aktuellen Standort des AV 100 beschreiben, sodass die Regelung 1102 ermitteln kann, ob sich das AV 100 an einem Standort befindet, der aufgrund der Weise erwartet wird, wie die Gasbetätigung/Bremse 1206 und das Lenkwinkelstellglied 1212 geregelt werden. In einigen Ausführungsformen empfängt die Regelung 1102 Informationen von anderen Eingaben 1214, z. B. Informationen, die von Datenbanken, Computernetzwerken usw. empfangen werden.
-
13 zeigt ein Blockdiagramm 1300 der Beziehungen zwischen einem Planer 1306 (z. B. dem Planungsmodul 404), der ausgelegt ist, Näherungsgeschwindigkeitsrandbedingungen (z. B. Regeldarstellungen 1304 oder die Näheregel) entlang eines geplanten Pfads (z. B. der Referenztrajektorie 414) aufzuerlegen, die von einer kombinierten MPC 1310 (z. B. dem Regelmodul 406, der Regelung 1102) zu folgen sind, während er einer Fahrzeugschnittstelle 1314 eines autonomen Fahrzeugs (z. B. dem AV 100) Steuereingaben 1312 bereitstellt.
-
Ein Regelwerk 1302 stellt sowohl dem Planer 1306 als auch der kombinierten MPC 1310 die Regeldarstellung 1304 bereit. Zusätzlich werden Wahrnehmungen 1308 (z. B. Daten von einem Wahrnehmungsmodul 402), die einer umliegenden Umgebung entsprechen, sowohl vom Planer 1306 als auch der kombinierten MPC 1310 empfangen. Unter Bezugnahme auf 4 können die Wahrnehmungen 1308 nahegelegene physische Objekte unter Verwendung eines oder mehrerer Sensoren (z. B. der Sensoren 121, wie auch in 1 gezeigt) beinhalten. Diese Objekte werden klassifiziert (z. B. in Typen wie Fußgänger, Fahrrad, Automobil, Verkehrszeichen usw. gruppiert) und eine Szenenbeschreibung einschließlich der Objekte, die klassifiziert wurden (z. B. die Objekte 416), wird dann dem Planer 1306 bereitgestellt.
-
Auf Grundlage der empfangenen Regeldarstellung 1304 und der empfangenen Wahrnehmungen 1308 generiert der Planer 1306 die Referenztrajektorie 414 und sendet sie an die Regelung, wie in Bezug auf 4 beschrieben. Die kombinierte MPC 1310 empfängt die Referenztrajektorie 414 und generiert auf Grundlage der Regeldarstellung 1304, der Referenztrajektorie 414 und der empfangenen Wahrnehmungen 1308 die vorhergesagte Trajektorie 422. Genauer wird die gleiche Regeldarstellung 1304, die vom Planer 1306 empfangen wird, von der kombinierten MPC 1310 empfangen und verwendet. In einigen Ausführungsformen empfangen sowohl der Planer 1306 als auch die kombinierte MPC 1310 die Regeldarstellung 1304 und formulieren die Näheregel explizit als eine Randbedingung, um ein Optimieren einer jeweiligen der Referenztraj ektorie 414 und der vorhergesagten Trajektorie 422 in Bezug auf Geschwindigkeit und Abstand des AV 100 in Bezug auf andere Ziele zu ermöglichen. Wie hierin beschrieben, unter spezifischer Bezugnahme auf 4, generiert die kombinierte MPC 1310 Steuereingaben 1312 und senden sie an die Fahrzeugschnittstelle 1314, wo die Steuereingaben 1312 implementiert werden, um zu veranlassen, dass das AV 100 entlang der vorhergesagten Trajektorie 422 navigiert.
-
In einigen Ausführungsformen empfängt die kombinierte MPC 1310 die Referenztrajektorie 414, laterale Randbedingungen und Geschwindigkeitsrandbedingungen (z. B. Straßengeschwindigkeitsbeschränkungen, physische Beschleunigungs-/Abbremsgrenzen des Fahrzeugs, vorbestimmte Beschleunigungs-/Abbremskomfortgrenzen (z. B. Beschleunigungs-/Abbremsgrenzen, die auf Grundlage eines Komfortniveaus ausgewählt sind, das das AV 100 einem Passagier bieten soll, wobei eine Beschleunigung/Abbremsung über die Grenzen hinaus den Passagierkomfort verringern kann), von einem führenden Fahrzeug auferlegte Grenzen) vom Planungsmodul 404. Die kombinierte MPC 1310 ermittelt dann eine Krümmung der Referenztrajektorie 414. Auf Grundlage der Krümmung der Referenztrajektorie 414, der lateralen Randbedingungen und der Geschwindigkeitsrandbedingungen ermittelt die kombinierte MPC 1310 dann die Steuereingaben 1312 und einen Satz von Geschwindigkeitsbefehlen. In einigen Ausführungsformen ermittelt die kombinierte MPC 1310 die Steuereingaben 1312 teilweise auf Grundlage einer lateralen Position des AV 100 mit der Zeit. Die laterale Position wird auf Grundlage mehrerer Faktoren ermittelt. Die Faktoren beinhalten eine Distanz des AV 100 zu einem Hindernis (z. B. einem angehaltenen Fahrzeug am Straßenrand), eine Distanz des AV 100 von der Referenztrajektorie 414 und einem Schwellenwert der lateralen Änderung (z. B. einer maximalen Wenderate des AV 100). In einigen Ausführungsformen wird jeder dieser Faktoren auf Grundlage der Wichtigkeit jedes Faktors beim Ermitteln der Steuereingaben 1312 gewichtet.
-
Ermittlung der Geschwindigkeit eines autonomen Fahrzeugs
-
14A zeigt einen Graphen 1400 eines lateralen (z. B. in einer Richtung, die mit einer Breitenabmessung einer gegebenen Fläche ausgerichtet ist, einer zu einem Geschwindigkeitsvektor des AV 100 senkrechten Richtung oder einer zu einer oder beiden von der Referenztraj ektorie 414 oder der vorhergesagten Trajektorie 422 senkrechten Richtung) Abstands versus eine laterale lineare Geschwindigkeit, der beim Ermitteln (z. B. durch die Regelung 1102, das Regelmodul 406 oder die kombinierte MPC 1310) von zumindest einem Abschnitt einer vorhergesagten Trajektorie 422 eines autonomen Fahrzeugs, z. B. des AV 100, verwendet wird. Im Allgemeinen ist der Graph 1400 des lateralen Abstands versus laterale Geschwindigkeit eine grafische Darstellung einer Gleichung, die von der Regelung 1102 verwendet wird, um auf Grundlage eines lateralen Abstands von einem Hindernis 193 (z. B. natürlichen Blockierungen 191, Fahrzeugen, Fußgängern 192, Fahrradfahrern und anderen Hindernissen) eine laterale Geschwindigkeit des AV 100 zu ermitteln, die nicht zu überschreiten ist, oder auf Grundlage der lateralen linearen Geschwindigkeit des AV 100 den lateralen Abstand vom Objekt zu ermitteln, der vom AV 100 beibehalten werden soll. Beispielsweise vergrößert sich die laterale Distanz, die das AV 100 vom Objekt trennt, wenn sich die laterale Geschwindigkeit erhöht, und die laterale Geschwindigkeit des AV 100 verringert sich, wenn sich die laterale Distanz verringert, die das AV 100 vom Objekt trennt.
-
In einigen Ausführungsformen beinhaltet der Graph 1400 eine vertikale Achse, die vlat (z. B. die laterale Geschwindigkeit) des AV 100 repräsentiert, und eine horizontale Achse, die dlat (z. B. die laterale Distanz) des AV 100 vom Objekt repräsentiert. Der Graph 1400 beinhaltet auch eine Kurve 1402, die die laterale Geschwindigkeit des AV 100 relativ zum lateralen Abstand des AV 100 vom Objekt repräsentiert, und eine mehrfach segmentierte Linie 1404, die einen minimalen lateralen Abstand des AV 100 vom Hindernis 193 für eine gegebene laterale Geschwindigkeit des AV 100 relativ zum Hindernis 193 repräsentiert. Zusätzlich sind zwei Randbedingungen, eine minimale laterale Ausweichgeschwindigkeit 1406 und ein minimaler lateraler Abstand 1408, im Graphen 1400 gezeigt. Der minimale laterale Abstand 1408 repräsentiert eine minimale laterale Abstandsdistanz zwischen dem AV 100 und dem Hindernis 193, unabhängig von der lateralen Geschwindigkeit des AV 100. Die minimale laterale Ausweichgeschwindigkeit 1406 ist entlang der vertikalen Achse positioniert gezeigt, die vlat repräsentiert, und bei Nachverfolgung entlang der horizontalen Achse dlat schneidet sie die Kurve 1402 an einem Punkt, der eine minimale laterale Ausweichgeschwindigkeit des AV 100 repräsentiert. Wie in dieser Ausführungsform durch den Graphen 1400 gezeigt, weist die minimale laterale Ausweichgeschwindigkeit 1406 einen von null verschiedenen Wert auf, und die horizontale Spur schneidet die Kurve 1402 am Schnittpunkt der Kurve 1402 und dem minimalen lateralen Abstand 1408. Die minimale laterale Ausweichgeschwindigkeit 1406 wird zum Beispiel vorab ermittelt, um das AV 100 zu veranlassen, den von null verschiedenen lateralen Geschwindigkeitswert beim minimalen lateralen Abstand 1408 zu erreichen, sodass das AV 100 sich nicht lateral näher zum Objekt als der minimale laterale Abstand 1408 bewegt und auch weiterhin eine von null verschiedene laterale Geschwindigkeit aufweist, um eine Navigation des AV 100 entlang der vorhergesagten Trajektorie 422 zu ermöglichen.
-
14B zeigt einen Graphen 1450 einer longitudinalen (z. B. in einer Richtung, die mit einer Längsabmessung einer gegebenen Fläche ausgerichtet ist, einer zu einem Geschwindigkeitsvektor des AV 100 parallelen Richtung oder einer zu einer oder beiden von der Referenztrajektorie 414 oder der vorhergesagten Trajektorie 422 parallelen Richtung) Geschwindigkeit versus einen longitudinalen Abstand, der beim Ermitteln, z. B. durch die Regelung 1102, von zumindest einem Abschnitt der vorhergesagten Trajektorie 422 des autonomen Fahrzeugs, z. B. des AV 100, verwendet wird. Im Allgemeinen ist der Graph 1400 des longitudinalen Abstands versus longitudinale Geschwindigkeit eine grafische Darstellung einer Gleichung, die von der Regelung 1102 verwendet wird, um auf Grundlage eines longitudinalen Abstands von einem Hindernis 193 (z. B. natürlichen Blockierungen 191, Fahrzeugen, Fußgängern 192, Fahrradfahrern und anderen Hindernissen) eine longitudinale Geschwindigkeit des AV 100 zu ermitteln, die nicht zu überschreiten ist, oder auf Grundlage der longitudinalen linearen Geschwindigkeit des AV 100 den longitudinalen Abstand vom Objekt zu ermitteln, der vom AV 100 beibehalten werden soll. Beispielsweise vergrößert sich die longitudinale Distanz, die das AV 100 vom Objekt trennt, wenn sich die longitudinale Geschwindigkeit des AV 100 erhöht, und die longitudinale Geschwindigkeit des AV 100 verringert sich, wenn sich die longitudinale Distanz verringert, die das AV 100 vom Objekt trennt.
-
In einigen Ausführungsformen beinhaltet der Graph 1450 eine vertikale Achse, die v2 tan (z. B. das Quadrat der longitudinalen Geschwindigkeit) des AV 100 repräsentiert, und eine horizontale Achse, die dlon (z. B. die longitudinale Distanz) des AV 100 vom Objekt repräsentiert. Der Graph 1450 beinhaltet auch eine Linie 1452, die das Quadrat der longitudinalen Geschwindigkeit des AV 100 für eine gegebene longitudinale Abstandsdistanz vom Objekt repräsentiert. Wie durch den Graphen 1450 gezeigt, geht das Quadrat der longitudinalen Geschwindigkeit des AV 100 gegen null, wenn der longitudinale Abstand gegen null geht. Im Allgemeinen ist dies aufgrund der Annahme, dass sich das AV 100 ungefähr parallel zu einer Mittellinie einer Straße innerhalb einer Fahrspur der Straße während einer gegebenen autonomen Navigationssitzung fortbewegt und sich deshalb Hindernissen 193 (z. B. natürlichen Blockierungen 191, Fahrzeugen, Fußgängern 192, Fahrradfahrern und anderen Hindernissen) annähert, die zumindest einen Abschnitt der Fahrspur einnehmen.
-
Unter Bezugnahme auf
14A und
14B wird eine Geschwindigkeitsrandbedingung (v) des AV 100 durch das Planungsmodul 404 und/oder einem Regelmodul/einer Regelung (z. B. der kombinierten MPC 1310, dem Regelmodul 406, der Regelung 1102) unter Verwendung der Beziehungen zwischen einer Distanz zwischen einem Objekt und dem AV 100 und relativen Geschwindigkeiten des AV 100 unter Verwendung der unten gezeigten Gleichung 1 ermittelt.
-
Steuern eines autonomen Fahrzeugs unter Verwendung einer Näheregel in einer kombinierten MPC
-
15 zeigt ein Beispiel des AV 100, das eine Straße in einer Umgebung 190 unter Verwendung einer Näheregel und einer kombinierten MPC navigiert (z. B. der kombinierten MPC 1310). Wie in 15 gezeigt, navigiert das AV 100 die Straße, die äußere Spurmarkierungen 1502 und eine Mittellinie 1504 beinhaltet, auf Grundlage von Navigationseingaben, die mindestens die Referenztrajektorie 414 und/oder die vorhergesagte Trajektorie 422 beinhalten.
-
Die Referenztrajektorie 414 beinhaltet einen Referenzpfad (z. B. einen Abschnitt der Referenztrajektorie 414, die eine Position des AV 100, eine lineare Geschwindigkeit des AV 100, eine Beschleunigungsrate des AV 100 beinhalten kann), wird vom Planungsmodul 404 (in 4 gezeigt) ermittelt und beinhaltet eine Vielzahl von Referenztrajektorieschritten 1510. Wie hierin beschrieben ermittelt das Planungsmodul die Referenztrajektorie 414 auf Grundlage einer Näheregel, die wie in 13 und 14A-14B gezeigt ermittelt wurde. Zusätzlich zur Näheregel verwendet das Planungsmodul 404 Zielinformationen, Karteninformationen, Positionsinformationen, Sensorinformationen und/oder andere Daten, um die Referenztrajektorie 414 zu ermitteln. In einigen Ausführungsformen ist die Referenztrajektorie 414 eine allgemeine Route, die ermittelt wurde, um dem AV 100 das Navigieren zum Erreichen eines Ziels zu ermöglichen. Beispielsweise, wie in 15 gezeigt, gibt die Referenztrajektorie 414 an, dass sich das AV 100 auf der Straße ungefähr zwischen der äußeren Spurmarkierung 1502 und der Mittellinie 1504 lateral zentriert vorwärts zu bewegen hat, aber ohne präzise Lenk- oder Geschwindigkeitsbefehle für das AV 100 anzugeben, die es auszuführen hat, um sich vorwärts zu bewegen (z. B. Gasbetätigungseingabe 1106 und Lenkeingabe 1108). In einigen Ausführungsformen gibt die Referenztrajektorie 414 an, dass das AV 100 in eine andere Straße abzubiegen hat, aber ohne präzise Lenk- oder Geschwindigkeitsbefehle für das AV 100 anzugeben, die es auszuführen hat, um das Abbiegen durchzuführen.
-
Die vorhergesagte Trajektorie 422 wird durch die kombinierte MPC 1310 (und/oder das Regelmodul 406 und/oder die Regelung 1102 (wie in 4 und 11 gezeigt)) wie unter Bezugnahme auf 13 beschrieben ermittelt und beinhaltet eine Vielzahl von vorhergesagten Trajektorieschritten 1512. Genauer beinhaltet die vorhergesagte Trajektorie 422 die Vielzahl von vorhergesagten Trajektorieschritten 1512, die jeweils eine jeweilige vorhergesagte Position des AV 100 relativ zum Hindernis 193 und eine jeweilige Fahrzeuggeschwindigkeitsrandbedingung beinhalten. Wie hierin beschrieben, empfängt die kombinierte MPC 1310 die Näheregel (z. B. Geschwindigkeitsrandbedingungen auf Grundlage von zumindest einer Distanz zu einem Objekt vom AV 100) und ermittelt die vorhergesagte Trajektorie 422 auf Grundlage der Referenztrajektorie 414 und der Näheregel (z. B. berechnet die kombinierte MPC 1310 zusätzlich zum Planungsmodul 404 eine Trajektorie für das AV 100 und verschiedene Randbedingungen auf Grundlage der empfangenen Näheregel). In einigen Ausführungsformen beruht das Intervall, in dem die vorhergesagten Trajektorieschritte 1512 ermittelt werden, zumindest auf einem von einer Annäherungsrate zwischen dem AV 100 und dem Hindernis 193, einer vorhergesagten Geschwindigkeit des AV 100, einer Differenz zwischen der Referenztrajektorie 414 und der vorhergesagten Trajektorie 422 oder einer Form des Hindernisses 193. In einigen Ausführungsformen hängt die Annäherungsrate zwischen dem AV 100 und dem Hindernis 193 von einer linearen Geschwindigkeit des Hindernisses 193 relativ zum AV 100 ab.
-
Jede von der Referenztrajektorie und der vorhergesagten Trajektorie 422 für das AV 100 kann auch eine oder mehrere Randbedingungen für das AV 100 (z. B. laterale Randbedingungen und Geschwindigkeitsrandbedingungen) beinhalten. Randbedingungen für das AV 100 werden auf Grundlage von Karteninformationen, Sensorinformationen und/oder anderen Daten ermittelt. Laterale Randbedingungen zeigen die Maximaldistanzen nach links und rechts an, die das AV 100 sicher von der vorhergesagten Trajektorie 422 an unterschiedlichen Positionen in Zeit/Position entlang der vorhergesagten Trajektorie 422 abweichen kann, während sich das AV 100 entlang der vorhergesagten Trajektorie 422 fortbewegt. Beispielsweise halten laterale Randbedingungen das AV 100 innerhalb einer „sicheren“ Fahrspur der Straße. In einem Fall, in dem das AV 100 außerhalb der vorbestimmten lateralen Randbedingungen abweicht, kann das AV 100 in einen gefährlichen Bereich außerhalb der Fahrspur als ein Ergebnis der Abweichung von der vorhergesagten Trajektorie 422 treten. In einigen Beispielen werden Spurmarkierungen auf der Straße (z. B. äußere Spurmarkierungen 1502, Mittellinie 1504) beim Ermitteln von lateralen Randbedingungen verwendet. In einigen Beispielen werden Ränder der Straße (z. B. eine laterale Begrenzung eines Straßenrands) beim Ermitteln von lateralen Randbedingungen verwendet. In einigen Beispielen werden Hindernisse (z. B. das Hindernis 193) in der Nähe oder auf der Straße beim Ermitteln von lateralen Randbedingungen verwendet. Spurmarkierungen, Straßenränder und Hindernisse in der Nähe oder auf der Straße können durch einen oder mehrere Sensoren auf dem AV 100 erkannt werden.
-
Geschwindigkeitsrandbedingungen können Straßengeschwindigkeitsbeschränkungen, physische Beschleunigungs-/Abbremsgrenzen des Fahrzeugs, vorbestimmte Beschleunigungs-/Abbremskomfortgrenzen (z. B. Beschleunigungs-/Abbremsgrenzen, die auf Grundlage eines Komfortniveaus ausgewählt sind, das das AV 100 einem Passagier bieten soll, wobei eine Beschleunigung/Abbremsung über die Grenzen hinaus den Passagierkomfort verringern kann) und/oder von einem führenden Fahrzeug auferlegte Geschwindigkeitsbeschränkungen beinhalten.
-
Als Teil der Steuerung des AV 100 unter Verwendung der Näheregel in einer kombinierten MPC beinhaltet die Näheregel eine Fahrzeugnähe-Geschwindigkeitsrandbedingung (vprox) als eine Funktion von zumindest einer Position des AV 100 relativ zum Hindernis 193 (als ein Fahrzeug in 15 veranschaulicht), das sich zumindest teilweise innerhalb eines vorhergesagten Pfads des AV 100 in Übereinstimmung mit der Referenztrajektorie 414 und/oder der vorhergesagten Trajektorie 422 befindet. In einigen Ausführungsformen definiert die Fahrzeugnähe-Geschwindigkeitsrandbedingung eine zulässige (z. B. maximale) Geschwindigkeit des AV 100 auf Grundlage der Position des AV 100 (entweder einer aktuellen Position oder einer zukünftigen Position entlang der vorhergesagten Trajektorie 422) relativ zum Hindernis 193. Die Position (z. B. entweder die aktuelle Position oder die zukünftige Position des AV 100) des AV 100 relativ zum Hindernis 193 ist durch die laterale Abstandsdistanz 1506 und die longitudinale Abstandsdistanz 1508 definiert. Die Fahrzeugnähe-Geschwindigkeitsrandbedingung kann eine Fahrzeuggeschwindigkeitsbeschränkung für das AV 100 beinhalten und mit zumindest einem Abschnitt der Referenztrajektorie 414 oder der vorhergesagten Trajektorie 422 assoziiert sein, die entlang der Referenztrajektorie 414 oder der vorhergesagten Trajektorie 422 variieren kann und auf der lateralen Abstandsdistanz 1506 und der longitudinalen Abstandsdistanz 1508 beruhen kann. In einigen Ausführungsformen enthält die Fahrzeuggeschwindigkeitsbeschränkung für das AV 100 mindestens eines von einer legalen Fahrzeuggeschwindigkeitsbeschränkung, einer Fahrzeuggeschwindigkeits-Leistungsgrenze oder einer benutzerdefinierten Fahrzeuggeschwindigkeitsbeschränkung.
-
Die Fahrzeugnähe-Geschwindigkeitsrandbedingung ist eine Funktion des lateralen Abstands (d
lat) und des longitudinalen Abstands (d
lon) des AV 100 relativ zum Objekt. In einigen Ausführungsformen ist die Fahrzeugnähe-Geschwindigkeitsrandbedingung zusätzlich eine Funktion eines Typs des Hindernisses (z. B. Fußgänger, ein anderes Fahrzeug, eine Straßengrenze) oder zumindest einer Eigenschaft des Hindernisses 193 (z. B. Geschwindigkeit des Hindernisses 193, wahrgenommener Wert des Hindernisses 193 (z. B. ist ein Fußgänger wertvoller als ein Fahrzeug oder ein anderes Objekt)). Der longitudinale Abstand und der laterale Abstand können auf Grundlage eines aktuellen Standorts des AV 100 ermittelt werden, oder der longitudinale Abstand und der laterale Abstand können jeweils Abstände zwischen dem AV 100 und dem Hindernis zu einem zukünftigen Zeitpunkt (z. B. erwartete Abstände zwischen dem Hindernis 193 und einer von einer Vielzahl von Standorten entlang der vorhergesagten Trajektorie 422 oder der Referenztrajektorie 414) sein. Die Fahrzeugnähe-Geschwindigkeitsrandbedingung repräsentiert einen Wert, der geringer als eine vorbestimmte Geschwindigkeitsrandbedingung (v) ist, die mit einer aktuellen oder vorhergesagten Position des AV 100 in Übereinstimmung mit den oben beschriebenen Faktoren ist, wie unten in Gleichung 2 gezeigt.
-
In einigen Ausführungsformen berechnet die kombinierte MPC 1310 für jeden der Vielzahl von vorhergesagten Trajektorieschritten 1512 als Teil eines gradientenbasierten Ansatzes zum Steuern einer Geschwindigkeit und Position des AV 100 eine voreinstellende Geschwindigkeitsrandbedingung (ctz,biasing) für jeden individuellen Vorhersageschritt (k), die für jeden Zustand der Regelung (z. B. der kombinierten MPC 1310) erfüllt sein muss, der optimiert wird (xk), und einen Schlupf, der der Randbedingung auferlegt wird (sk)- . Die voreinstellende Geschwindigkeitsrandbedingung als eine Funktion des Zustands der kombinierten MPC 1310, die optimiert wird, und der Schlupf sind gleich einer Funktion der longitudinalen und der lateralen Komponenten der linearen Geschwindigkeiten des AV 100 relativ zu Hindernissen 193, die links vom AV 100 und rechts vom AV 100 positioniert sind. Genauer, in Bezug auf das links vom AV 100 positionierte Hindernis 193 umfasst die Geschwindigkeitsrandbedingungskomponente des AV 100 an einem individuellen Vorhersageschritt (vk) minus einer linken longitudinalen Geschwindigkeitsrandbedingung am Vorhersageschritt (Vzan,left,k) plus einer linken lateralen Geschwindigkeitsrandbedingung am Vorhersageschritt (Vzat,left,k) minus einem Schlupf der Geschwindigkeitsrandbedingung am Vorhersageschritt (sv, k) die longitudinalen und die lateralen Komponenten der linearen Geschwindigkeiten des AV 100 relativ zum links vom AV 100 positionierten Hindernis 193. In Bezug auf das rechts vom AV 100 positionierte Hindernis 193 umfasst die Geschwindigkeitsrandbedingungskomponente des AV 100 an dem individuellen Vorhersageschritt minus einer rechten longitudinalen Geschwindigkeitsrandbedingung am Vorhersageschritt (Vzan,right,k) plus einer rechten lateralen Geschwindigkeitsrandbedingung am Vorhersageschritt (Vzat,right,k), multipliziert mit der Position des AV 100 relativ zur Referenztrajektorie 414 am Vorhersageschritt (nk) minus einem Schlupf der Geschwindigkeitsrandbedingung am Vorhersageschritt (sv, k) die longitudinalen und die lateralen Komponenten der linearen Geschwindigkeiten des AV 100 relativ zum rechts vom AV 100 positionierten Hindernis 193. Diese longitudinalen und lateralen Komponenten der linearen Geschwindigkeiten des AV 100 relativ zu den linken und rechten Hindernissen 193 werden für jeden Vorhersageschritt (Vk) an jeder Position des AV 100 relativ zur Referenztrajektorie 414 (E {O, ... , N}) erarbeitet, wie unten in Gleichung 3 gezeigt.
-
Die voreinstellende Geschwindigkeitsrandbedingung ist eine Funktion sowohl des longitudinalen Abstands als auch des lateralen Abstands des AV 100 vom Hindernis 193, sodass eine Vergrößerung in einem oder beiden vom lateralen Abstand des AV 100 vom Hindernis 193 oder eine Vergrößerung im longitudinalen Abstand des AV 100 vom Hindernis 193 eine Erhöhung der voreinstellenden Geschwindigkeitsrandbedingung ergibt. Ferner ist die voreinstellende Geschwindigkeitsrandbedingung eine Funktion sowohl des longitudinalen Abstands als auch des lateralen Abstands des AV 100 vom Hindernis 193, sodass eine Verringerung in einem oder beiden vom lateralen Abstand des AV 100 vom Hindernis 193 oder eine Verringerung im longitudinalen Abstand des AV 100 vom Hindernis 193 eine Verringerung der voreinstellenden Geschwindigkeitsrandbedingung ergibt.
-
Die kombinierte MPC 1310 (wie in 13 gezeigt) verwendet ermittelte Fahrzeuggeschwindigkeits-Näherandbedingungen an jedem der Vielzahl der Navigationseingaben (z. B. vorhergesagte Trajektorie 422, laterale Randbedingungen, Geschwindigkeitsrandbedingungen und andere Informationen (wie die AV-Position 418 und die lineare AV-Geschwindigkeit)), um Steuerbefehle (auch als Steuerfunktionen 420a-c bezeichnet) zu ermitteln (z. B. Lenken, Gasbetätigung, Bremsen), die das AV 100 veranlassen, sich entlang der vorhergesagten Trajektorie 422 fortzubewegen. Die von der kombinierten MPC 1310 verwendeten Navigationseingaben sind mit aktuellen und zukünftigen Zeitpunkten (z. B. aktuellen und zukünftigen vorhergesagten Trajektorieschritten 1512) assoziiert. Navigationseingaben, die zum Beispiel anzeigen, dass das AV 100 in ungefähr 3 Sekunden abbiegen wird, werden von der kombinierten MPC 1310 verwendet, um Steuerbefehle zu ermitteln, die dem AV 100 ermöglichen werden, zu diesem zukünftigen Zeitpunkt abzubiegen (z. B. beginnt das AV, vor der Kurve zu bremsen).
-
Das Implementieren der Näheregel in einer kombinierten MPC ermöglicht einen gewünschten Betrieb des AV 100, während sich das AV 100 in der Nähe von Hindernissen 193 befindet, die eine Abweichung des Betriebs des AV 100 von dem vom Planungsmodul 404 ermittelten erfordern. Genauer ermöglicht das Aufnehmen der Näheregel als Teil der Trajektorienoptimierung (z. B. Ermitteln der vorhergesagten Trajektorie 422 durch die kombinierte MPC 1310) ein Optimieren von Geschwindigkeits- und Abstandsbeziehungen des AV 100 mit der umliegenden Umgebung, da die gradientenbasierte vorhergesagte Trajektorie 422 eine Lösung für das AV 100 ergibt, die in einer Auflösung individueller Schritte resultiert (z. B. der vorhergesagten Trajektorieschritte 1512), die der abtastbasierten Referenztrajektorie 414 überlegen ist, die vom Planungsmodul 404 generiert wurde.
-
In einigen Ausführungsformen kann die kombinierte MPC 1310 als Teil der Steuerung des AV 100 entlang der vorhergesagten Trajektorie 422 eine Eingabe von einem oder mehreren der mit dem AV 100 assoziierten Sensoren empfangen, die eine Kollision zwischen dem AV 100 und dem Hindernis 193 anzeigt. Als Reaktion auf eine derartige Ermittlung kann die kombinierte MPC 1310 ein Notkollisionsvermeidungssystem aktivieren, um eine Abweichung des AV 100 von der vorhergesagten Trajektorie 422 zu bewirken, wobei die Abweichung vom Notkollisionssystem ermittelt wird, um eine Wahrscheinlichkeit zu reduzieren, dass die Kollision zwischen dem AV 100 und dem Hindernis 193 stattfindet.
-
Beispielhafter Prozess zum Steuern eines autonomen Fahrzeugs unter Verwendung einer Näheregel in einer kombinierten MPC
-
16 ist ein Ablaufdiagramm eines beispielhaften Prozesses 1600 zum Steuern eines autonomen Fahrzeugs (z. B. das AV 100) unter Verwendung einer Näheregel. Prozess 1600 wird als von einem Regelschaltkreis (z. B. der kombinierten MPC 1310 von 13) durchgeführt beschrieben. In einigen Ausführungsformen beinhaltet der Regelschaltkreis Mikrocontroller mit eingebetteten Verarbeitungsschaltkreisen. In einigen Ausführungsformen wird der Prozess 1600 als von einem System aus einem oder mehreren Computern, die an einem oder mehreren Standorten angeordnet sind, durchgeführt beschrieben. Das AV-System 120 von 1, das in Übereinstimmung mit dieser Beschreibung angemessen programmiert ist, (oder Abschnitte davon) kann (oder können) den Prozess 1600 zum Beispiel durchführen.
-
Bei Block 1602, während das autonome Fahrzeug im autonomen Modus arbeitet (z. B. einem vollständig oder stark autonomen Modus mit automatisierter Lenkung, Beschleunigung, Bremsung und Navigation (z. B. Stufe 3, 4 oder 5)), wird unter Verwendung eines Planungsschaltkreises (z. B. dem Planungsmodul 404) eine Näheregel (z. B. lineare Geschwindigkeitsrandbedingungen auf Grundlage einer Distanz vom autonomen Fahrzeug zu einem Objekt) empfangen. In einigen Ausführungsformen beinhaltet die Näheregel eine Fahrzeuggeschwindigkeitsrandbedingung als eine Funktion von zumindest einer Position des autonomen Fahrzeugs relativ zu einem Hindernis 193 (z. B. natürlichen Blockierungen 191, Fahrzeugen, Fußgängern 192, Fahrradfahrern und anderen Hindernissen). In derartigen Ausführungsformen definiert die Fahrzeuggeschwindigkeitsrandbedingung eine zulässige Geschwindigkeit des autonomen Fahrzeugs relativ zum Hindernis. In einigen Ausführungsformen ist die Fahrzeuggeschwindigkeitsrandbedingung eine Funktion der Position des autonomen Fahrzeugs relativ zum Hindernis und mindestens entweder einem Objekttyp und/oder mindestens einer Eigenschaft des Hindernisses.
-
Bei Block 1604 empfängt ein Regelschaltkreis (z. B. die kombinierte MPC 1310) eine Referenztrajektorie (z. B. die Referenztrajektorie 414) vom Planungsschaltkreis, wobei die Referenztrajektorie auf Grundlage der Näheregel vom Planungsschaltkreis ermittelt wird. In einigen Ausführungsformen beinhaltet die Referenztrajektorie einen Referenzpfad (z. B. den Positionsabschnitt der Referenztrajektorie, der Position, Geschwindigkeit, Beschleunigung usw. enthalten kann) des autonomen Fahrzeugs und mindestens eine Fahrzeuggeschwindigkeitsrandbedingung des autonomen Fahrzeugs, die mit mindestens einem Abschnitt des Referenzpfads assoziiert ist. In derartigen Ausführungsformen kann der Referenzpfad des autonomen Fahrzeugs einen lateralen Referenzabstand des autonomen Fahrzeugs vom Hindernis und einen longitudinalen Referenzabstand des autonomen Fahrzeugs vom Hindernis für den mindestens einen Abschnitt des Referenzpfads beinhalten.
-
In einigen Ausführungsformen beinhaltet die Referenztrajektorie des autonomen Fahrzeugs eine Fahrzeuggeschwindigkeitsbeschränkung, die mit der Referenztrajektorie assoziiert ist (z. B. kann die Fahrzeuggeschwindigkeitsbeschränkung über zumindest einen Abschnitt des Referenzpfads variieren). In einigen Ausführungsformen enthält die Fahrzeuggeschwindigkeitsbeschränkung mindestens eines von einer legalen Fahrzeuggeschwindigkeitsbeschränkung, einer Fahrzeuggeschwindigkeits-Leistungsgrenze oder einer benutzerdefinierten Fahrzeuggeschwindigkeitsbeschränkung. In einigen Ausführungsformen ist die Maximalgeschwindigkeit des autonomen Fahrzeugs eine geringere der zulässigen Geschwindigkeit der Fahrzeuggeschwindigkeitsrandbedingung und der Fahrzeuggeschwindigkeitsbeschränkung.
-
Bei Block 1606 empfängt der Regelschaltkreis die Näheregel (z. B. kann die Näheregel vom Planungsmodul 404 und der kombinierten MPC 1310 empfangen werden).
-
Bei Block 1608 ermittelt der Regelschaltkreis eine vorhergesagte Trajektorie (z. B. die vorhergesagte Trajektorie 422) auf Grundlage der Referenztrajektorie und der Näheregel (z. B. kann die Regelung Geschwindigkeits- und Lenkbefehle für das Fahrzeug auf Grundlage der vorhergesagten Trajektorie ermitteln). In einigen Ausführungsformen beinhaltet die vorhergesagte Trajektorie eine Anzahl von Vorhersagen einschließlich einer jeweiligen vorhergesagten Position des autonomen Fahrzeugs relativ zum Hindernis und einer jeweiligen Fahrzeuggeschwindigkeitsrandbedingung. In einigen Ausführungsformen wird die vorhergesagte Trajektorie in einem Intervall ermittelt, das zumindest auf einem von einer Annäherungsrate zwischen dem autonomen Fahrzeug und dem Hindernis, einer aktuellen Geschwindigkeit des autonomen Fahrzeugs, einer vorhergesagten Geschwindigkeit des autonomen Fahrzeugs, einer Differenz zwischen der Referenztrajektorie und der vorhergesagten Trajektorie oder einer Form des Hindernisses beruht.
-
In einigen Ausführungsformen beinhaltet das Hindernis mindestens eines von einem Fahrzeug, einem Fußgänger, Unrat oder einem Tier. In einigen Ausführungsformen bewegt sich das Hindernis relativ zum autonomen Fahrzeug.
-
Bei Block 1610 navigiert der Regelschaltkreis das autonome Fahrzeug in Übereinstimmung mit der vorhergesagten Trajektorie (z. B. ermittelt die Regelung Geschwindigkeits- und Lenkbefehle für das Fahrzeug auf Grundlage der vorhergesagten Trajektorie). In einigen Ausführungsformen ermittelt die Regelung als Teil des Navigierens des autonomen Fahrzeugs einen Satz von Lenkbefehlen auf Grundlage der vorhergesagten Trajektorie. In derartigen Ausführungsformen ermittelt die Regelung auch einen Satz von Geschwindigkeitsbefehlen auf Grundlage der vorhergesagten Trajektorie. In derartigen Ausführungsformen implementiert die Regelung den ermittelten Satz von Lenkbefehlen und den ermittelten Satz von Geschwindigkeitsbefehlen.
-
In einigen Ausführungsformen erhält die Regelung Sensordaten, die von einer zweiten Partei generiert wurden (z. B. einem Sensor des autonomen Fahrzeugs). In derartigen Ausführungsformen sind die Sensordaten mit einem Hindernis (z. B. einer Erkennung des Hindernisses, einem Zustand (z. B. Position, lineare Geschwindigkeit, Beschleunigung) des Hindernisses, einer Klassifizierung des Hindernisses) in der Nähe von der Referenztrajektorie und/oder der vorhergesagten Trajektorie assoziiert. In einigen Ausführungsformen beinhaltet die Position des autonomen Fahrzeugs relativ zum Hindernis einen lateralen Abstand des autonomen Fahrzeugs vom Hindernis und einen longitudinalen Abstand des autonomen Fahrzeugs vom Hindernis.
-
In einigen Ausführungsformen erfolgt als Reaktion auf eine Vergrößerung des lateralen Abstands des autonomen Fahrzeugs vom Hindernis und/oder eine Vergrößerung des longitudinalen Abstands des autonomen Fahrzeugs vom Hindernis eine Erhöhung der zulässigen Geschwindigkeit der Fahrzeuggeschwindigkeitsrandbedingung. In einigen Ausführungsformen erfolgt als Reaktion auf eine Verringerung des lateralen Abstands des autonomen Fahrzeugs vom Hindernis und/oder eine Verringerung des longitudinalen Abstands des autonomen Fahrzeugs vom Hindernis eine Verringerung der zulässigen Geschwindigkeit der Fahrzeuggeschwindigkeitsrandbedingung.
-
In einigen Ausführungsformen wird ein Notkollisionsvermeidungssystem als Reaktion auf eine Ermittlung aktiviert, dass vom Sensor generierte Sensordaten und/oder die vorhergesagte Trajektorie eine Kollision mit dem Hindernis durch das autonome Fahrzeug anzeigen (z. B. als Reaktion auf eine Ermittlung, dass die Wahrscheinlichkeit, dass die vorhergesagte Trajektorie zu einer Kollision mit dem Hindernis führen wird, einen vorbestimmten Schwellenwert überschreitet).
-
In der vorstehenden Beschreibung wurden Ausführungsformen unter Bezugnahme auf zahlreiche spezifische Details beschrieben, die von Implementierung zu Implementierung variieren können. Die Beschreibung und Zeichnungen sollen dementsprechend in einem illustrierenden Sinn statt in einem einschränkenden Sinn betrachtet werden. Der einzige und ausschließliche Indikator für den Umfang der Ansprüche und was von den Anmeldern als Umfang der Ansprüche beabsichtigt ist, ist der wörtliche und äquivalente Umfang der Gruppe von Ansprüchen, die sich aus dieser Anmeldung ergibt, und zwar in der spezifischen Form, in der diese Ansprüche erteilt werden, einschließlich aller späteren Berichtigungen. Alle hierin ausdrücklich festgelegten Definitionen von Begriffen, die in solchen Ansprüchen enthalten sind, gelten für die Bedeutung dieser Begriffe, wie sie in den Ansprüchen verwendet werden. Darüber hinaus, wenn wir in der vorstehenden Beschreibung oder in den folgenden Ansprüchen den Ausdruck „ferner umfassend“ verwenden, kann das, was auf diesen Ausdruck folgt, ein zusätzlicher Schritt oder eine zusätzliche Entität oder ein Teilschritt/eine Subentität eines zuvor genannten Schritts oder einer zuvor genannten Entität sein.