-
GEBIET
-
Diese Beschreibung betrifft ein Computersystem zum Erfassen eines oder mehrerer Objekte in der Umgebung eines autonomen Fahrzeugs und zum Vorhersagen eines Verhaltens des einen oder der mehreren Objekte unter Verwendung von maschinellen Lernverfahren.
-
HINTERGRUND
-
Autonome Fahrzeuge können zur Beförderung von Personen und/oder Gütern (z.B. Paketen, Gegenständen oder anderen Dingen) von einem Ort zum anderen eingesetzt werden. Beispielsweise kann ein autonomes Fahrzeug zum Standort einer Person navigieren, darauf warten, dass die Person in das autonome Fahrzeug einsteigt, und zu einem bestimmten Ziel navigieren (z.B. einem von der Person ausgewählten Ort). Um in der Umgebung zu navigieren, sind diese autonomen Fahrzeuge mit verschiedenen Arten von Sensoren ausgestattet, um Objekte in der Umgebung zu erfassen.
-
KURZDARSTELLUNG
-
Es kann schwierig sein, das Verhalten von Objekten, die von den Sensoren erfasst werden, vorherzusagen. Der in dieser Spezifikation beschriebene Gegenstand ist auf ein Computersystem und Methoden zum Erfassen und Vorhersagen des Verhaltens von Objekten in einer Umgebung um ein autonomes Fahrzeug gerichtet. Im Allgemeinen ist das Computersystem so ausgelegt, dass es Eingaben von einem oder mehreren Sensoren des Fahrzeugs empfängt, ein oder mehrere Objekte in der Umgebung um das Fahrzeug auf Grundlage der empfangenen Eingaben erfasst und das Fahrzeug auf Grundlage des vorhergesagten Verhaltens der Objekte betreibt.
-
Insbesondere wird ein System offenbart, das mindestens einen Prozessor und mindestens einen Speicher umfasst, in dem Anweisungen gespeichert sind, die bei Ausführung durch den mindestens einen Prozessor den mindestens einen Prozessor veranlassen, Operationen durchzuführen, die Folgendes umfassen: Beziehen von Sensordaten, die von einem Sensor eines autonomen Fahrzeugs erzeugt werden, wobei die Sensordaten mit einer Vielzahl von Objekten in der Nähe einer geplanten Route des autonomen Fahrzeugs verbunden sind; Bestimmen statischer Einschränkungen, die eine Trajektorie des autonomen Fahrzeugs entlang der geplanten Route begrenzen, auf Grundlage nicht-zeitlicher Risiken, die mit einem ersten Teilsatz der Vielzahl von Objekten verbunden sind; Vorhersagen einer Position und Geschwindigkeit des autonomen Fahrzeugs als Funktion der Zeit entlang der geplanten Route auf Grundlage der statischen Einschränkungen; Identifizieren zeitlicher Risiken, die mit einem zweiten Teilsatz der Vielzahl von Objekten verbunden sind, auf Grundlage der vorhergesagten Position und Geschwindigkeit des autonomen Fahrzeugs; Bestimmen dynamischer Einschränkungen, die die Trajektorie des autonomen Fahrzeugs entlang der geplanten Route weiter begrenzen, um dem autonomen Fahrzeug zu helfen, die zeitlichen Risiken zu vermeiden, die mit dem zweiten Teilsatz der Vielzahl von Objekten verbunden sind; und Anpassen der Trajektorie des autonomen Fahrzeugs gemäß den statischen Einschränkungen und den dynamischen Einschränkungen; und Navigieren des autonomen Fahrzeugs gemäß der angepassten Trajektorie.
-
Es wird ein nicht transientes computerlesbares Speichermedium offenbart, das darauf gespeicherte Anweisungen enthält, die bei Ausführung durch mindestens einen Prozessor den mindestens einen Prozessor veranlassen, Operationen auszuführen, die Folgendes umfassen: Beziehen von Sensordaten, die von einem Sensor eines autonomen Fahrzeugs erzeugt werden, wobei die Sensordaten mit einer Vielzahl von Objekten in der Nähe einer geplanten Route des autonomen Fahrzeugs verbunden sind; Bestimmen statischer Einschränkungen, die eine Trajektorie des autonomen Fahrzeugs entlang der geplanten Route begrenzen, auf Grundlage nicht-zeitlicher Risiken, die mit einem ersten Teilsatz der Vielzahl von Objekten verbunden sind; Vorhersagen einer Position und Geschwindigkeit des autonomen Fahrzeugs als Funktion der Zeit entlang der geplanten Route auf Grundlage der statischen Einschränkungen; Identifizieren zeitlicher Risiken, die mit einem zweiten Teilsatz der Vielzahl von Objekten verbunden sind, auf Grundlage der vorhergesagten Position und Geschwindigkeit des autonomen Fahrzeugs; Bestimmen dynamischer Einschränkungen, die die Trajektorie des autonomen Fahrzeugs entlang der geplanten Route weiter begrenzen, um dem autonomen Fahrzeug zu helfen, die zeitlichen Risiken zu vermeiden, die mit dem zweiten Teilsatz der Vielzahl von Objekten verbunden sind; Anpassen der Trajektorie des autonomen Fahrzeugs gemäß den statischen Einschränkungen und den dynamischen Einschränkungen; und Navigieren des autonomen Fahrzeugs gemäß der angepassten Trajektorie.
-
Es wird ein Verfahren offenbart, das von einem autonomen Fahrzeug durchgeführt wird, das einer geplanten Route folgt. Das Verfahren umfasst: Beziehen von Sensordaten, die von einem Sensor eines autonomen Fahrzeugs erzeugt werden, wobei die Sensordaten mit einer Vielzahl von Objekten in der Nähe einer geplanten Route des autonomen Fahrzeugs verbunden sind; Bestimmen statischer Einschränkungen, die eine Trajektorie des autonomen Fahrzeugs entlang der geplanten Route begrenzen, auf Grundlage nicht-zeitlicher Risiken, die mit einem ersten Teilsatz der Vielzahl von Objekten verbunden sind; Vorhersagen einer Position und Geschwindigkeit des autonomen Fahrzeugs als Funktion der Zeit entlang der geplanten Route auf Grundlage der statischen Einschränkungen; Identifizieren zeitlicher Risiken, die mit einem zweiten Teilsatz der Vielzahl von Objekten verbunden sind, auf Grundlage der vorhergesagten Position und Geschwindigkeit des autonomen Fahrzeugs; Bestimmen dynamischer Einschränkungen, die die Trajektorie des autonomen Fahrzeugs entlang der geplanten Route weiter begrenzen, um dem autonomen Fahrzeug zu helfen, die zeitlichen Risiken zu vermeiden, die mit dem zweiten Teilsatz der Vielzahl von Objekten verbunden sind; Anpassen der Trajektorie des autonomen Fahrzeugs gemäß den statischen Einschränkungen und den dynamischen Einschränkungen; und Navigieren des autonomen Fahrzeugs gemäß der angepassten Trajektorie.
-
Diese und andere Aspekte, Merkmale und Implementierungen können als Verfahren, Vorrichtungen, Systeme, Komponenten, Programmprodukte, Mittel oder Schritte zum Durchführen einer Funktion sowie auf andere Weise ausgedrückt werden.
-
Diese und andere Aspekte, Merkmale und Implementierungen werden aus den nachfolgenden Beschreibungen einschließlich der Ansprüche ersichtlich.
-
Figurenliste
-
- 1 zeigt ein Beispiel eines autonomen Fahrzeugs mit autonomer Fähigkeit.
- 2 veranschaulicht eine beispielhafte „Cloud“-Datenverarbeitungsumgebung.
- 3 veranschaulicht ein Computersystem.
- 4 zeigt eine beispielhafte Architektur für ein autonomes Fahrzeug.
- 5 zeigt ein Beispiel für Eingänge und Ausgänge, die von einem Wahrnehmungsmodul verwendet werden können.
- 6 zeigt ein Beispiel eines LiDAR-Systems.
- 7 zeigt das LiDAR-System im Betrieb.
- 8 zeigt weitere Einzelheiten des Betriebs des LiDAR-Systems.
- 9 zeigt ein Blockdiagramm der Beziehungen zwischen Eingängen und Ausgängen eines Planungsmoduls.
- 10 zeigt einen für Wegplanung verwendeten gerichteten Graphen.
- 11 zeigt ein Blockdiagramm der Eingänge und Ausgänge eines Steuermoduls.
- 12 zeigt ein Blockdiagramm der Eingänge, Ausgänge und Komponenten einer Steuereinheit.
- 13A - 13B zeigen Graphen der Geschwindigkeit im Quadrat gegenüber der Position, die veranschaulichen, wie sich weiche und harte Einschränkungen auf eine geplante Route und maximale Beschleunigungs-/Verlangsamungsprofile eines autonomen Fahrzeugs gemäß einigen Ausführungsformen auswirken.
- 14A zeigt eine Draufsicht auf ein autonomes Fahrzeug, das eine Straße entlangfährt, während eine Ampel an einer Ampelkreuzung auf Gelb schaltet.
- 14B zeigt einen Graphen der Geschwindigkeit im Quadrat gegenüber der Position, der veranschaulicht, wie eine Baustelle in der Nähe der in 14A dargestellten Ampelkreuzung die Fähigkeit des autonomen Fahrzeugs beeinflusst, die Ampelkreuzung zu passieren, bevor sie auf Rot schaltet, gemäß einigen Ausführungsformen.
- 15A - 15C zeigen ein Szenario, in dem ein autonomes Fahrzeug die beschriebenen Ausführungsformen nutzt, um auf einen Fußgänger zu reagieren, der die Straße überquert.
- 16A zeigt ein Szenario, in dem sich ein autonomes Fahrzeug einer Kreuzung nähert und anhand des Verhaltens eines anderen Fahrzeugs bestimmt, dass das andere Fahrzeug wahrscheinlich zur gleichen Zeit wie das autonome Fahrzeug in die Kreuzung einfahren wird.
- 16B zeigt einen Graphen der Geschwindigkeit im Quadrat gegenüber der Position, der veranschaulicht, wie gemäß einigen Ausführungsformen ein minimales Geschwindigkeitsprofil angewendet werden kann, um das in 16A dargestellte autonome Fahrzeug sicher über die Kreuzung zu bringen.
- 17 ist ein Flussdiagramm eines Beispielprozesses 1700 zum Erfassen von Objekten in einer Umgebung und zum Betreiben des Fahrzeugs auf Grundlage der Erfassung von Objekten.
-
AUSFÜHRLICHE BESCHREIBUNG
-
In der folgenden Beschreibung werden zu Erklärungszwecken zahlreiche spezifische Details aufgeführt, um ein umfassendes Verständnis der vorliegenden Offenbarung zu ermöglichen. Es wird jedoch deutlich, dass die vorliegende Offenbarung auch ohne diese spezifischen Details praktiziert werden kann. In anderen Fällen werden allgemein bekannte Strukturen und Einrichtungen in Blockdiagrammform gezeigt, um die vorliegende Erfindung klarer darzustellen.
-
In den Zeichnungen sind konkrete Anordnungen oder Ordnungen schematischer Elemente, beispielsweise solcher, die Einrichtungen, Module, Anweisungsblöcke und Datenelemente repräsentieren, aus Gründen einer vereinfachten Beschreibung gezeigt. Ein Fachmann sollte jedoch verstehen, dass die konkrete Ordnung oder Anordnung der schematischen Elemente in den Zeichnungen nicht implizieren soll, dass eine bestimmte Reihenfolge oder Abfolge der Verarbeitung oder eine Trennung von Prozessen erforderlich ist. Ferner soll die Aufnahme eines schematischen Elements in eine Zeichnung nicht bedeuten, dass dieses Element in allen Ausführungsformen erforderlich ist oder dass die durch dieses Element dargestellten Merkmale in einigen Ausführungsformen nicht in andere Elemente aufgenommen oder mit anderen Elementen kombiniert werden können.
-
Wenn ferner in den Zeichnungen Verbindungselemente wie beispielsweise durchgezogene oder gestrichelte Linien oder Pfeile verwendet werden, um eine Verbindung, eine Beziehung oder einen Zusammenhang zwischen oder unter zwei oder mehr anderen schematischen Elementen zu veranschaulichen, so ist das Fehlen solcher Verbindungselemente nicht so zu verstehen, dass keine Verbindung, keine Beziehung oder kein Zusammenhang vorliegen kann. Mit anderen Worten, einige Verbindungen, Beziehungen oder Zusammenhänge zwischen Elementen sind in den Zeichnungen nicht gezeigt, um nicht von der Offenbarung abzulenken. Zudem wird aus Gründen einer vereinfachten Darstellung ein einziges Verbindungselement verwendet, um mehrere Verbindungen, Beziehungen oder Zusammenhänge zwischen Elementen zu repräsentieren. Wenn beispielsweise ein Verbindungselement eine Kommunikation von Signalen, Daten oder Anweisungen repräsentiert, sollte ein Fachmann verstehen, dass ein solches Element einen oder mehrere Signalwege (z.B. einen Bus) repräsentiert, je nachdem, was erforderlich ist, um die Kommunikation zu bewirken.
-
Es wird nun im Einzelnen Bezug auf Ausführungsformen genommen, zu denen Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der nachfolgenden ausführlichen Beschreibung werden zahlreiche konkrete Einzelheiten dargelegt, um ein vollständiges Verständnis der verschiedenen beschriebenen Ausführungsformen zu gewährleisten. Ein Fachmann versteht jedoch, dass die verschiedenen beschriebenen Ausführungsformen auch ohne diese konkreten Einzelheiten umgesetzt werden können. In anderen Fällen wurden allgemein bekannte Verfahren, Prozeduren, Komponenten, Schaltungen und Netzwerke nicht im Einzelnen beschrieben, um nicht unnötig von Aspekten der Ausführungsformen abzulenken.
-
Nachstehend werden verschiedene Merkmale beschrieben, die jeweils unabhängig voneinander oder mit jedweder Kombination weiterer Merkmale verwendet werden können. Ein einzelnes Merkmal löst jedoch möglicherweise noch keines der vorstehend erörterten Probleme oder löst möglicherweise nur eines der vorstehend erörterten Probleme. Einige der vorstehend erörterten Probleme werden möglicherweise von keinem der vorliegend beschriebenen Merkmale vollständig gelöst. Auch wenn Überschriften angegeben sind, 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 zu finden sein. Ausführungsformen werden vorliegend gemäß der nachstehenden Gliederung beschrieben:
- 1. Allgemeine Übersicht
- 2. Übersicht über die Hardware
- 3. Architektur des autonomen Fahrzeugs
- 4. Eingänge des autonomen Fahrzeugs
- 5. Planung des autonomen Fahrzeugs
- 6. Steuerung des autonomen Fahrzeugs
- 7. Datenverarbeitungssystem für Objekterfassung mittels Säulen
- 8. Beispielhafte Punktwolken und Säulen
- 9. Beispielprozess zum Erfassen von Objekten und Betreiben des Fahrzeugs auf Grundlage der Erfassung der Objekte
-
Allgemeine Übersicht
-
Autonome Fahrzeuge, die in komplexen Umgebungen (z.B. in einer städtischen Umgebung) fahren, stellen eine große technologische Herausforderung dar. Damit autonome Fahrzeuge in diesen Umgebungen navigieren können, erfassen die Fahrzeuge verschiedene Arten von Objekten wie Fahrzeuge, Fußgänger und Fahrräder in Echtzeit mithilfe von Sensoren wie LIDAR, optischen Bildern und/oder RADAR. Diese Sensoren sind zwar in der Lage, Objekte zu identifizieren und zu verfolgen, aber das Vorhersagen des Verhaltens der Objekte kann schwierig sein, und eine zu konservative Behandlung der verfolgten Objekte kann dazu führen, dass autonome Fahrzeuge nicht mehr funktionieren. Die offenbarten Ausführungsformen umfassen ein System und Methoden zum Vorhersagen des Verhaltens von erfassten Objekten und zum effizienten Vermeiden solcher Objekte.
-
Insbesondere implementieren das vorliegend beschriebene System und die vorliegend beschriebenen Methoden maschinelles Lernen (z.B. ein neuronales Netz), das Sensordaten von erfassten Objekten mit Sensordaten von zuvor verfolgten Objekten korrelieren kann. Das autonome Fahrzeug ist dann in der Lage, das Verhalten der zuvor verfolgten Objekte zu nutzen, um die Bewegung erfasster Objekte in der Nähe einer geplanten Fahrtroute des autonomen Fahrzeugs vorherzusagen. Die vorhergesagte Bewegung kann dann verwendet werden, um eine zeitliche Zone zu identifizieren, die das erkannte Objekt wahrscheinlich enthält. Wenn die vorhergesagte Bewegung von ausreichender Qualität ist, kann das autonome Fahrzeug die Geschwindigkeit und/oder Position anpassen, um unbeabsichtigte Kollisionen mit einem oder mehreren dynamischen Objekten effizient zu vermeiden.
-
Übersicht über die Hardware
-
1 zeigt ein Beispiel eines autonomen Fahrzeugs 100 mit autonomer Fähigkeit.
-
Die Bezeichnung „autonome Fähigkeit“ bezieht sich vorliegend auf eine Funktion, ein Merkmal oder eine Einrichtung, die es ermöglicht, ein Fahrzeug teilweise oder vollständig ohne menschliche Echtzeit-Intervention zu betreiben, darunter, ohne hierauf eingeschränkt zu sein, vollständig autonome Fahrzeuge, hochgradig autonome Fahrzeuge und bedingt autonome Fahrzeuge.
-
Ein autonomes Fahrzeug (autonomous vehicle, AV) ist vorliegend ein Fahrzeug, das autonome Fähigkeit besitzt.
-
Ein „Fahrzeug“ umfasst vorliegend Transportmittel für Güter oder Personen. Beispielsweise Autos, Busse, Züge, Flugzeuge, Drohnen, Lastwagen, Boote, Schiffe, Tauchfahrzeuge, Luftschiffe usw. Ein fahrerloses Auto ist ein Beispiel für ein Fahrzeug.
-
„Trajektorie“ bezieht sich vorliegend auf einen Weg oder eine Route zum Navigieren eines AV von einem ersten räumlich-zeitlichen Ort zu einem zweiten räumlich-zeitlichen Ort. In einer Ausführungsform wird der erste räumlich-zeitliche Ort als Anfangs- oder Startort und der zweite räumlich-zeitliche Ort als Bestimmungsort, Endort, Ziel, Zielposition oder Zielort bezeichnet. In einigen Beispielen besteht eine Trajektorie aus einem oder mehreren Teilstücken (z.B. Straßenabschnitten) und besteht jedes Teilstück aus einem oder mehreren Blöcken (z.B. Abschnitten einer Fahrspur oder Kreuzung). In einer Ausführungsform entsprechen die räumlich-zeitlichen Orte realen Orten. Beispielsweise handelt es sich bei den räumlich-zeitlichen Orten um Abhol- oder Absetzpunkte zum Abholen oder Absetzen von Personen oder Gütern.
-
„Sensor(en)“ umfassen vorliegend eine oder mehrere Hardwarekomponenten, die Informationen über die Umgebung des Sensors erfassen. Einige der Hardwarekomponenten können Sensorkomponenten (z.B. Bildsensoren, biometrische Sensoren), Sende- und/oder Empfangskomponenten (z.B. Laser- oder Hochfrequenzwellensender und -empfänger), elektronische Komponenten wie beispielsweise Analog-Digital-Wandler, eine Datenspeichereinrichtung (wie beispielsweise einen RAM und/oder einen nichtflüchtigen Speicher), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie beispielsweise eine ASIC (anwendungsspezifische integrierte Schaltung), einen Mikroprozessor und/oder einen Mikrocontroller umfassen.
-
Bei einer „Szenenbeschreibung“ handelt es sich vorliegend um eine Datenstruktur (z.B. Liste) oder einen Datenstrom, die ein oder mehrere klassifizierte oder gekennzeichnete Objekte umfassen, die durch einen oder mehrere Sensoren am AV-Fahrzeug erfasst oder durch eine außerhalb des AV befindliche Quelle bereitgestellt werden.
-
Eine „Straße“ ist ein physischer Bereich, der von einem Fahrzeug befahren werden kann, und kann einer benannten Durchgangsstraße (z. B. einer Stadtstraße, einer Autobahn usw.) oder einer unbenannten Durchgangsstraße (z. B. einer Einfahrt in ein Haus oder Bürogebäude, einem Abschnitt eines Parkplatzes, einem Abschnitt eines unbebauten Grundstücks, einem Feldweg in einem ländlichen Gebiet usw.) entsprechen. Da einige Fahrzeuge (z.B. Allrad-Pickup-Fahrzeuge, Sport Utility Vehicles usw.) in der Lage sind, eine Vielzahl von physischen Bereichen zu befahren, die nicht speziell für Fahrzeuge geeignet sind, kann eine „Straße“ ein physischer Bereich sein, der von keiner Gemeinde oder anderen Regierungs- oder Verwaltungsbehörde formal als Durchgangsstraße definiert ist.
-
Eine „Fahrspur“ ist vorliegend ein Abschnitt einer Straße, der von einem Fahrzeug befahren werden kann, und kann größtenteils oder vollständig dem Raum zwischen Fahrspurmarkierungen entsprechen oder kann nur einem Teil (z.B. weniger als 50 %) des Raums zwischen Fahrspurmarkierungen entsprechen. Beispielsweise könnte eine Straße mit weit auseinander liegenden Fahrspurmarkierungen zwei oder mehr Fahrzeuge zwischen den Markierungen aufnehmen, so dass ein Fahrzeug das andere überholen kann, ohne die Fahrspurmarkierungen zu überqueren, und könnte daher so interpretiert werden, dass die Fahrspur schmaler ist als der Raum zwischen den Fahrspurmarkierungen, oder dass zwischen den Fahrspurmarkierungen zwei Fahrspuren liegen. Eine Fahrspur könnte auch ohne vorhandene Fahrspurmarkierungen interpretiert werden. Beispielsweise kann eine Fahrspur auf Grundlage physischer Merkmale einer Umgebung definiert werden, z.B. Felsen und Bäume entlang einer Durchgangsstraße in einem ländlichen Gebiet.
-
„Ein(e) oder mehrere“ umfasst eine von einem Element ausgeführte Funktion, eine von mehr als einem Element ausgeführte Funktion, z.B. verteilt, mehrere Funktionen, die von einem Element ausgeführt werden, mehrere Funktionen, die von mehreren Elementen ausgeführt werden, oder eine beliebige Kombination aus diesen.
-
Zudem versteht es sich, dass zwar in einigen Fällen die Bezeichnungen erste(r/s), zweite(r/s) usw. verwendet werden, um verschiedene Elemente zu beschreiben, diese Elemente jedoch durch diese Bezeichnungen nicht eingeschränkt werden sollen. Diese Bezeichnungen werden lediglich verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erster Kontakt als zweiter Kontakt bezeichnet werden und entsprechend ein zweiter Kontakt als erster Kontakt, ohne vom Umfang der verschiedenen beschriebenen Ausführungsformen abzuweichen. Sowohl beim ersten Kontakt als auch beim zweiten Kontakt handelt es sich um Kontakte, jedoch nicht um denselben Kontakt, soweit nicht anders angegeben.
-
Die vorliegend verwendete Terminologie der verschiedenen vorliegend beschriebenen Ausführungsformen dient lediglich dem Zweck der Beschreibung bestimmter Ausführungsformen und soll nicht einschränkend sein. Die Singularformen „ein/eine“ und „der/die/das“ wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und den Ansprüchen verwendet sollen ebenso die Pluralformen einschließen, sofern nicht durch den Kontext offensichtlich anders angegeben. Zudem versteht es sich, dass sich die Angabe „und/oder“ wie vorliegend verwendet auf sämtliche mögliche Kombinationen aus einem oder mehreren der zugehörigen aufgeführten Elemente bezieht und diese umfasst. Ferner ist zu beachten, dass die Ausdrücke „beinhalten/aufweisen“, „beinhaltend/aufweisend“, „umfasst“ und/oder „umfassend“, soweit in dieser Spezifikation verwendet, das Vorliegen genannter Merkmale, Zahlen, Schritte, Operationen, Elemente und/oder Komponenten angibt, jedoch nicht das Vorliegen oder Hinzufügen eines oder mehrerer weiterer Merkmale, Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließt.
-
Der vorliegend verwendete Ausdruck „wenn“ kann je nach Kontext als „wenn“ oder „bei“ oder „in Reaktion auf Bestimmen“ oder „in Reaktion auf Erfassen“ verstanden werden. Ebenso kann die Formulierung „wenn bestimmt wird“ oder „wenn [eine angegebene Bedingung oder ein Ereignis] bestimmt wird“ wahlweise so ausgelegt werden, dass sie „bei Bestimmen“ oder „in Reaktion auf Bestimmen“ oder „bei Bestimmen [der angegebenen Bedingung oder des Ereignisses]“ oder „in Reaktion auf Bestimmen [der angegebenen Bedingung oder des Ereignisses]“ bedeutet.
-
Ein AV-System bezeichnet vorliegend das AV zusammen mit der Gruppierung aus Hardware, Software, gespeicherten Daten und in Echtzeit generierten Daten, die den Betrieb des AV unterstützen. In einer Ausführungsform ist das AV-System in das AV integriert. In einer Ausführungsform ist das AV-System auf mehrere Orte verteilt. Beispielsweise wird ein Teil der Software des AV-Systems in einer Cloud-Computing-Umgebung ähnlich der nachstehend in Bezug auf 2 beschriebenen Cloud-Computing-Umgebung 200 implementiert.
-
Im Allgemeinen beschreibt dieses Dokument Technologien, die auf alle Fahrzeuge anwendbar sind, die über eine oder mehrere autonome Fähigkeiten verfügen, darunter vollständig autonome Fahrzeuge, hochautonome Fahrzeuge und bedingt autonome Fahrzeuge, wie beispielsweise so genannte Level-5-, Level-4- bzw. Level-3-Fahrzeuge (für weitere Einzelheiten zur Klassifizierung von Autonomiestufen in Fahrzeugen vgl. Norm J3016 von SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Taxonomie und Definitionen für Begriffe im Zusammenhang mit automatisierten On-Road-Kraftfahrzeug-Fahrsystemen), die durch Bezugnahme vollumfänglich hierin aufgenommen wird). Die in diesem Dokument beschriebenen Technologien sind auch auf teilautonome Fahrzeuge und fahrerunterstützte Fahrzeuge anwendbar, wie z.B. sogenannte Level-2- und Level-I-Fahrzeuge (vgl. Norm J3016 von SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems). In einer Ausführungsform können eines oder mehrere der Level-1-, 2-, 3-, 4- und 5-Fahrzeugsysteme bestimmte Fahrzeugoperationen unter bestimmten Betriebsbedingungen auf Grundlage der Verarbeitung von Sensoreingaben automatisieren (z.B. Lenkung, Bremsen und Verwenden von Karten). Die in diesem Dokument beschriebenen Technologien können Fahrzeugen aller Stufen zugute kommen, von vollständig autonomen Fahrzeugen bis hin zu von Menschen betriebenen Fahrzeugen.
-
Unter Bezugnahme auf 1 steuert ein AV-System 120 das AV 100 entlang einer Trajektorie 198 durch eine Umgebung 190 zu einem Bestimmungsort 199 (manchmal als Endstandort bezeichnet), während es Objekten (z.B. natürlichen Hindernissen 191, Fahrzeugen 193, Fußgängern 192, Radfahrern und anderen Hindernissen) ausweicht und Verkehrsregeln beachtet (z.B. Betriebsregeln oder Fahrpräferenzen).
-
In einer Ausführungsform umfasst das AV-System 120 Einrichtungen 101, die so instrumentiert sind, dass sie Betriebsbefehle von den Computerprozessoren 146 empfangen und auf diese reagieren. In einer Ausführungsform ähneln die Datenverarbeitungsprozessoren 146 dem nachstehend in Bezug auf 3 beschriebenen Prozessor 304. Zu Beispielen für die Einrichtungen 101 zählen eine Lenksteuerung 102, Bremsen 103, Schaltung, Gaspedal oder andere Beschleunigungssteuerungsmechanismen, Scheibenwischer, Seitentürenschlösser, Fenstersteuerungen und Blinker.
-
In einer Ausführungsform umfasst das AV-System 120 Sensoren 121 zum Messen oder Ableiten von Zustandseigenschaften des AV 100, beispielsweise der Position des AV' Linear- und Winkelgeschwindigkeit und Beschleunigung sowie Fahrtrichtung (z.B. eine Ausrichtung des vorderen Endes des AV 100). Zu Beispielen für Sensoren 121 zählen GPS, Trägheitsmesseinheiten (IMU, inertial measurement unit), die sowohl lineare Fahrzeugbeschleunigungen als auch Winkelgeschwindigkeiten messen, Raddrehzahlsensoren zur Messung oder Schätzung von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren sowie Lenkwinkel- und Winkelgeschwindigkeitssensoren.
-
In einer Ausführungsform umfassen die Sensoren 121 zudem Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AV. Zum Beispiel Monokular- oder Stereo-Videokameras 122 im sichtbaren Licht-, Infrarot- oder Wärmespektrum (oder beidem), LiDAR 123, RADAR, Ultraschallsensoren, Flugzeit- (ToF, Time of Flight) Tiefensensoren, Drehzahlsensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensoren.
-
In einer Ausführungsform umfasst das AV-System 120 eine Datenspeichereinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen im Zusammenhang mit den Computerprozessoren 146 oder mit durch die Sensoren 121 gesammelten Daten. In einer Ausführungsform ähnelt die Datenspeichereinheit 142 dem ROM 308 oder der Speichereinrichtung 310, die nachstehend in Bezug auf 3 beschrieben sind. In einer Ausführungsform ähnelt der Speicher 144 dem nachstehend beschriebenen Hauptspeicher 306. In einer Ausführungsform speichern die Datenspeichereinheit 142 und der Speicher 144 historische, Echtzeit- und/oder Vorhersageinformationen über die Umgebung 190. In einer Ausführungsform zählen zu den gespeicherten Informationen Karten, Fahrverhalten, Aktualisierungen zum Verkehrsaufkommen oder Wetterbedingungen. In einer Ausführungsform werden die Umgebung 190 betreffende Daten von einer entfernt gelegenen Datenbank 134 über einen Kommunikationskanal an das AV 100 übertragen.
-
In einer Ausführungsform umfasst das AV-System 120 Kommunikationseinrichtungen 140 zum Kommunizieren gemessener oder abgeleiteter Eigenschaften der Zustände und Bedingungen anderer Fahrzeuge, beispielsweise Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen sowie Linear- und Winkelausrichtungen, an das AV 100. Zu diesen Einrichtungen zählen Fahrzeug-Fahrzeug (V2V-, vehicle to vehicle) und Fahrzeug-zu-Infrastruktur- (V2I, vehicle to infrastructure) Kommunikationseinrichtungen und Einrichtungen für drahtlose Kommunikation über Punktzu-Punkt- oder Ad-hoc-Netzwerke oder beides. In einer Ausführungsform kommunizieren die Kommunikationseinrichtungen 140 über das elektromagnetische Spektrum (darunter Funk- und optische Kommunikation) oder andere Medien (z.B. Luft und akustische Medien). Eine Kombination aus Fahrzeug-zu-Fahrzeug- (V2V-) und Fahrzeug-zu-Infrastruktur- (V2I-) Kommunikation (und in einigen Ausführungsformen einer oder mehreren weiteren Arten von Kommunikation) wird manchmal als Fahrzeug-zu-Alles- (V2X-) Kommunikation bezeichnet. V2X-Kommunikation entspricht üblicherweise einem oder mehreren Kommunikationsstandards zur Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
-
In einer Ausführungsform umfassen die Kommunikationseinrichtungen 140 Kommunikationsschnittstellen. Beispiele hierfür sind drahtgebundene, drahtlose, WiMAX-, WiFi-, Bluetooth-, Satelliten-, Mobilfunk-, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen übertragen Daten von einer entfernt gelegenen Datenbank 134 an das AV-System 120. In einer Ausführungsform ist die entfernt gelegene Datenbank 134 in eine Cloud-Computing-Umgebung 200 eingebettet, wie in 2 beschrieben. Die Kommunikationsschnittstellen 140 übertragen von den Sensoren 121 gesammelte Daten oder andere den Betrieb des AV 100 betreffende Daten an die entfernt gelegene Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Informationen, die Teleoperationen betreffen, an das AV 100. In einigen Ausführungsformen kommuniziert das AV 100 mit weiteren entfernten (z.B. „Cloud“-) Servern 136.
-
In einer Ausführungsform speichert und überträgt die entfernt gelegene Datenbank 134 zudem digitale Daten (z.B. speichert Daten wie Verkehrswege- und Straßenstandorte). Solche Daten werden im Speicher 144 im AV 100 gespeichert oder von der entfernt gelegenen Datenbank 134 über einen Kommunikationskanal an das AV 100 übertragen.
-
In einer Ausführungsform speichert und überträgt die entfernt gelegene Datenbank 134 historische Informationen über Fahreigenschaften (z.B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten die Trajektorie 198 befahren haben. In einer Implementierung können solche Daten im Speicher 144 im AV 100 gespeichert oder von der entfernt gelegenen Datenbank 134 über einen Kommunikationskanal an das AV 100 übertragen werden.
-
Im AV 100 befindliche Datenverarbeitungseinrichtungen 146 generieren algorithmisch Steueraktionen auf Grundlage von Echtzeit-Sensordaten und früheren Informationen und ermöglichen so dem AV-System 120, seine autonomen Fahrfähigkeiten auszuüben.
-
In einer Ausführungsform umfasst das AV-System 120 Computerperipheriegeräte 132, die mit Datenverarbeitungseinrichtungen 146 gekoppelt sind, um Informationen und Warnungen an einen Nutzer (z.B. einen Insassen oder einen entfernten Nutzer) des AV 100 zu liefern und Eingaben von diesem zu empfangen. In einer Ausführungsform ähneln die Peripheriegeräte 132 der Anzeige 312, der Eingabeeinrichtung 314 und der Cursor-Steuereinheit 316, die nachstehend in Bezug auf 3 behandelt werden. Die Kopplung ist drahtlos oder drahtgebunden. In eine einzige Einrichtung können beliebige zwei oder mehr der Schnittstelleneinrichtungen integriert sein.
-
2 veranschaulicht eine beispielhafte „Cloud“-Datenverarbeitungsumgebung. Cloud-Computing ist ein Dienstbereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerken, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuellen Maschinen und Diensten). In typischen Cloud-Computing-Systemen sind die zum Liefern der durch die Cloud bereitgestellten Dienste verwendeten Maschinen in einem oder mehreren großen Cloud-Datenzentren untergebracht. Gemäß 2 umfasst die Cloud-Computing-Umgebung 200 Cloud-Datenzentren 204a, 204b und 204c, die durch die Cloud 202 untereinander verbunden sind. Die Datenzentren 204a, 204b und 204c stellen mit der Cloud 202 verbundenen Computersystemen 206a, 206b, 206c, 206d, 206e und 206f Cloud-Computing-Dienste bereit.
-
Die Cloud-Computing-Umgebung 200 umfasst ein oder mehrere Cloud-Datenzentren. Grundsätzlich bezeichnet ein Cloud-Datenzentrum, beispielsweise das in 2 gezeigte Cloud-Datenzentrum 204a, die physische Anordnung aus Servern, die eine Cloud, beispielsweise die in 2 gezeigte Cloud 202, oder einen bestimmten Abschnitt einer Cloud bilden. Beispielsweise sind Server in dem Cloud-Datenzentrum physisch in Räumen, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Datenzentrum verfügt über eine oder mehrere Zonen, die einen oder mehrere Serverräume umfassen. Jeder Raum verfügt über eine oder mehrere Reihen von Servern, und jede Reihe umfasst ein oder mehrere Racks. Jedes Rack umfasst einen oder mehrere einzelne Serverknoten. In einigen Implementierungen werden Server basierend auf den physischen Infrastrukturanforderungen der Rechenzentreneinrichtung, die Strom-, Energie-, Wärme- und/oder andere Anforderungen umfassen, in Zonen, Räumen, Racks und/oder Reihen in Gruppen angeordnet. In einer Ausführungsform ähneln die Serverknoten dem in 3 beschriebenen Computersystem. Das Datenzentrum 204a verfügt über viele Datenverarbeitungssysteme, die auf viele Racks verteilt sind.
-
Die Cloud 202 umfasst die Cloud-Datenzentren 204a, 204b und 204c sowie die Netzwerk- und Netzwerkbetriebsressourcen (beispielsweise Netzwerkbetriebsausrüstung, Knoten, Router, Switches und Netzwerkkabel), die die Cloud-Datenzentren 204a, 204b und 204c untereinander verbinden und dabei helfen, den Zugriff der Computersysteme 206a bis f auf Cloud-Computing-Dienste zu ermöglichen. In einer Ausführungsform repräsentiert das Netzwerk eine beliebige Kombination aus einem oder mehreren lokalen Netzwerken, Weitverkehrsnetzen oder Verbundnetzwerken, die mittels drahtgebundener oder drahtloser Verbindungen gekoppelt sind, die mittels terrestrischer oder Satellitenverbindungen realisiert sind. Über das Netz ausgetauschte Daten werden über eine beliebige Anzahl von Netzschichtprotokollen übertragen, z.B. Internet Protocol (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay, usw. Darüber hinaus werden in Ausführungsformen, in denen das Netz eine Kombination aus mehreren Teilnetzen darstellt, in jedem der zugrunde liegenden Teilnetze unterschiedliche Netzschichtprotokolle verwendet. In einigen Ausführungsformen repräsentiert das Netzwerk ein oder mehrere untereinander verbundene Verbundnetze, beispielsweise das öffentliche Internet.
-
Die Datenverarbeitungssysteme 206a-f oder Cloud-Computing-Dienst-Konsumenten sind mit der Cloud 202 durch Netzwerkverbindungen und Netzwerkadapter verbunden. In einer Ausführungsform sind die Datenverarbeitungssysteme 206a-f als verschiedene Datenverarbeitungseinrichtungen implementiert, beispielsweise Server, Desktops, Laptops, Tablet, Smartphones, Internet-der-Dinge- (IoT-, Internet of Things) Einrichtungen, autonome Fahrzeuge (darunter Autos, Drohnen, Shuttles, Züge, Busse usw.) und Unterhaltungselektronik. In einer Ausführungsform sind die Datenverarbeitungssysteme 206a-f in oder als Teil anderer Systeme implementiert.
-
3 veranschaulicht ein Computersystem 300. In einer Implementierung handelt es sich bei dem Computersystem 300 um eine Spezial-Datenverarbeitungseinrichtung. Die Spezial-Datenverarbeitungseinrichtung ist für die Durchführung der Methoden fest verdrahtet oder umfasst digitale elektronische Einrichtungen wie eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) oder feldprogrammierbare Gate-Arrays (FPGAs), die dauerhaft für die Durchführung der Methoden programmiert sind, oder kann einen oder mehrere Universal-Hardwareprozessoren umfassen, die für die Durchführung der Methoden gemäß Programmbefehlen in Firmware, Speicher, anderen Speichern oder einer Kombination programmiert sind. Solche Spezial-Datenverarbeitungseinrichtungen können auch kundenspezifisch festverdrahtete Logik, ASICs oder FPGAs mit kundenspezifischer Programmierung kombinieren, um die Methoden umzusetzen. In verschiedenen Ausführungsformen handelt es sich bei den Spezial-Datenverarbeitungseinrichtungen um Desktop-Computersysteme, tragbare Computersysteme, Handgeräte, Netzwerkeinrichtungen oder eine beliebige andere Einrichtung, die festverdrahtete und/oder Programmlogik enthält, um die Methoden umzusetzen.
-
In einer Ausführungsform umfasst das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Informationen und einen mit einem Bus 302 gekoppelten Hardwareprozessor 304 zum Verarbeiten von Informationen. Bei dem Hardwareprozessor 304 handelt es sich beispielsweise um einen Universal-Mikroprozessor. Das Computersystem 300 umfasst zudem einen Hauptspeicher 306, beispielsweise einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speichereinrichtung, der mit dem Bus 302 gekoppelt ist, um Informationen und Anweisungen zur Ausführung durch den Prozessor 304 zu speichern. In einer Implementierung wird der Hauptspeicher 306 zum Speichern temporärer Variablen und anderer Zwischeninformationen während der Ausführung von durch den Prozessor 304 auszuführenden Anweisungen verwendet. Solche Anweisungen, wenn sie in durch den Prozessor 304 abrufbaren nicht transienten Speichermedien gespeichert sind, machen das Computersystem 300 zu einer Spezialmaschine, die darauf spezialisiert ist, die in den Anweisungen vorgegebenen Operationen durchzuführen.
-
In einer Ausführungsform umfasst das Computersystem 300 ferner einen mit dem Bus 302 gekoppelten Nur-Lese-Speicher (ROM) 308 oder eine andere statische Speichereinrichtung zum Speichern statischer Informationen und Anweisungen für den Prozessor 304. Eine Speichereinrichtung 310, beispielsweise eine Magnetplatte, eine optische Platte, ein Solid-State-Speicher oder ein dreidimensionaler Kreuzpunktspeicher, ist vorhanden und mit dem Bus 302 zum Speichern von Informationen und Anweisungen gekoppelt.
-
In einer Ausführungsform ist das Computersystem 300 über den Bus 302 an eine Anzeige 312 gekoppelt, beispielsweise eine Kathodenstrahlröhre (CRT), eine Flüssigkristallanzeige (LCD), eine Plasmaanzeige, eine Leuchtdioden- (LED) Anzeige oder eine organische Leuchtdiodenanzeige (OLED), um Informationen für einen Computernutzer anzuzeigen. Eine Eingabeeinrichtung 314, die alphanumerische und andere Tasten umfasst, ist mit dem Bus 302 gekoppelt, um Informationen und Befehlsauswahlen an den Prozessor 304 zu übermitteln. Eine andere Art von Nutzereingabeneinrichtung ist eine Cursor-Steuereinheit 316, beispielsweise eine Maus, ein Trackball, eine Anzeige mit Berührungsfunktion, oder Cursor-Richtungstasten zum Kommunizieren von Richtungsinformationen und Befehlsauswahlen an den Prozessor 304 und zum Steuern von Cursor-Bewegungen auf der Anzeige 312. Diese Eingabeeinrichtung verfügt typischerweise über zwei Freiheitsgrade in zwei Achsen, einer ersten Achse (z.B. x-Achse) und einer zweiten Achse (z.B. y-Achse), mit denen die Einrichtung Positionen in einer Ebene festlegen kann.
-
Gemäß einer Ausführungsform werden die vorliegenden Methoden durch ein Computersystem 300 in Reaktion darauf durchgeführt, dass der Prozessor 304 eine oder mehrere Abfolgen aus einer oder mehreren im Hauptspeicher 306 enthaltenen Anweisungen ausführt. Solche Anweisungen werden von einem anderen Speichermedium, beispielsweise der Speichereinrichtung 310, in den Hauptspeicher 306 gelesen. Die Ausführung der im Hauptspeicher 306 enthaltenen Abfolgen von Anweisungen bewirkt, dass der Prozessor 304 die vorliegend beschriebenen Prozessschritte durchführt. In alternativen Ausführungsformen wird anstelle von oder in Kombination mit Softwareanweisungen festverdrahtete Schalttechnik verwendet.
-
Die Bezeichnung „Speichermedien“ bezeichnet vorliegend alle nicht transienten Medien, die Daten und/oder Anweisungen speichern, die eine Maschine veranlassen, auf eine bestimmte Weise zu arbeiten. Zu solchen Speichermedien zählen nichtflüchtige Medien und/oder flüchtige Medien. Zu nichtflüchtigen Medien zählen beispielsweise optische Platten, Magnetplatten, Solid-State-Speicher oder dreidimensionaler Kreuzpunktspeicher, beispielsweise die Speichereinrichtung 310. Zu flüchtigen Medien zählt dynamischer Speicher, beispielsweise der Hauptspeicher 306. Zu gängigen Formen von Speichermedien zählen beispielsweise Disketten, flexible Platten, Festplatten, Solid-State-Laufwerke, Magnetbänder oder beliebige andere magnetische Datenspeichermedien, CD-ROMs, andere optische Datenspeichermedien, physische Medien mit Lochmustern, RAM, PROM, EPROM, FLASH-EPROM, NV-RAM oder beliebige andere Speicherchips oder -kassetten.
-
Speichermedien unterscheiden sich von Übertragungsmedien, können jedoch mit diesen zusammen verwendet werden. Übertragungsmedien sind an der Übertragung von Informationen zwischen Speichermedien beteiligt. Beispielsweise umfassen Übertragungsmedien Koaxialkabel, Kupferdraht und Glasfaser, darunter auch die Drähte, die im Bus 302 umfasst sind. Die Übertragungsmedien können auch die Form von Schall- oder Lichtwellen haben, wie sie z.B. bei der Funkwellen- und Infrarot-Datenkommunikation entstehen.
-
In einer Ausführungsform sind verschiedene Formen von Medien am Transport einer oder mehrerer Abfolgen aus einer oder mehreren Anweisungen an den Prozessor 304 zur Ausführung beteiligt. Beispielsweise sind die Anweisungen zunächst auf einem Magnetplattenlaufwerk oder Solid-State-Speicher eines entfernten Computers enthalten. Der entfernte Computer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen über eine Telefonleitung mittels eines Modems. Ein am Ort des Computersystems 300 befindliches Modem empfängt die Daten über die Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor empfängt die in dem Infrarotsignal enthaltenen Daten, und geeignete Schalttechnik legt die Daten auf den Bus 302. Der Bus 302 transportiert die Daten zum Hauptspeicher 306, aus dem der Prozessor 304 die Anweisungen abruft, um diese auszuführen. Die durch den Hauptspeicher 306 empfangenen Anweisungen können wahlweise entweder vor oder nach der Ausführung durch den Prozessor 304 in der Speichereinrichtung 310 gespeichert werden.
-
Das Computersystem 300 umfasst zudem eine mit dem Bus 302 gekoppelte Kommunikationsschnittstelle 318. Die Kommunikationsschnittstelle 318 stellt eine Zwei-Wege-Datenkommunikationskopplung mit einer Netzwerkverbindung 320 bereit, die mit einem lokalen Netzwerk 322 verbunden ist. Bei der Kommunikationsschnittstelle 318 handelt es sich beispielsweise um eine ISDN-Karte (Integrated Service Digital Network), ein Kabelmodem, ein Satellitenmodem oder ein Modem zur Bereitstellung einer Datenkommunikationsverbindung mit einer entsprechenden Art von Telefonleitung. Als weiteres Beispiel handelt es sich bei der Kommunikationsschnittstelle 318 um eine LAN-Karte (Local Area Network) zum Bereitstellen einer Datenkommunikationsverbindung mit einem kompatiblen LAN. In einigen Implementierungen werden zudem drahtlose Verbindungen umgesetzt. In jeder dieser Implementierungen sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme enthalten, die verschiedene Arten von Informationen repräsentieren.
-
Die Netzwerkverbindung 320 stellt üblicherweise Datenkommunikation durch ein oder mehrere Netzwerke an andere Dateneinrichtungen bereit. Beispielsweise bietet die Netzwerkverbindung 320 eine Verbindung über das lokale Netzwerk 322 zu einem Host-Computer 324 oder zu einem Cloud-Datenzentrum oder zu Geräten, die von einem Internet-Dienstanbieter (ISP, Internet Service Provider) 326 betrieben werden. Der ISP 326 stellt seinerseits Datenkommunikationsdienste durch das weltweite Paketdaten-Kommunikationsnetzwerk bereit, das heute gemeinhin als das „Internet“ 328 bezeichnet wird. Sowohl das lokale Netzwerk 322 als auch das Internet 328 nutzen elektrische, elektromagnetische oder optische Signale, die digitale Datenströme enthalten. Bei den Signalen durch die verschiedenen Netzwerke und den Signalen über die Netzwerkverbindung 320 und durch die Kommunikationsschnittstelle 318, welche die digitalen Daten an das und von dem Computersystem 300 enthalten, handelt es sich um beispielhafte Formen von Übertragungsmedien. In einer Ausführungsform enthält das Netzwerk 320 die Cloud 202 oder einen Teil der Cloud 202 wie vorstehend beschrieben.
-
Das Computersystem 300 sendet Nachrichten und empfängt Daten, darunter Programmcode, durch das oder die Netzwerke, die Netzwerkverbindung 320 und die Kommunikationsschnittstelle 318. In einer Ausführungsform empfängt das Computersystem 300 Code zur Verarbeitung. Der empfangene Code wird bei Empfang durch den Prozessor 304 ausgeführt und/oder in der Speichereinrichtung 310 oder einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert.
-
Architektur des autonomen Fahrzeugs
-
4 zeigt eine beispielhafte Architektur 400 für ein autonomes Fahrzeug (z.B. das in 1 gezeigte AV 100). Die Architektur 400 umfasst ein Wahrnehmungsmodul 402 (manchmal auch als Wahrnehmungsschaltung bezeichnet), ein Planungsmodul 404 (manchmal auch als Planungsschaltung bezeichnet), ein Steuermodul 406 (manchmal auch als Steuerschaltung bezeichnet), ein Lokalisierungsmodul 408 (manchmal auch als Lokalisierungsschaltung bezeichnet) und ein Datenbankmodul 410 (manchmal auch als Datenbankschaltung bezeichnet). Jedes Modul spielt eine Rolle im Betrieb des AV 100. Zusammen können die Module 402, 404, 406, 408 und 410 Teil des in 1 gezeigten AV-Systems 120 sein. In einigen Ausführungsformen handelt es sich bei jedem der Module 402, 404, 406, 408 und 410 um eine Kombination aus Computersoftware (z.B. auf einem computerlesbaren Medium gespeichertem ausführbarem Code) und Computerhardware (z.B. einem oder mehreren Mikroprozessoren, Mikrocontrollern, anwendungsspezifischen integrierten Schaltungen [ASICs], Hardware-Speichereinrichtungen, anderen Arten integrierter Schaltungen, anderen Arten von Computerhardware oder einer Kombination beliebiger oder aller dieser Dinge).
-
Im Betrieb empfängt das Planungsmodul 404 Daten, die einen Zielort 412 repräsentieren, und bestimmt Daten, die eine Trajektorie 414 (manchmal als Route bezeichnet) repräsentieren, die von dem AV 100 befahren werden kann, um den Zielort 412 zu erreichen (z.B. dort anzukommen). Damit das Planungsmodul 404 die die Trajektorie 414 repräsentierenden Daten bestimmen kann, empfängt das Planungsmodul 404 Daten vom Wahrnehmungsmodul 402, dem Lokalisierungsmodul 408 und dem Datenbankmodul 410.
-
Das Wahrnehmungsmodul 402 identifiziert in der Nähe befindliche physische Objekte mittels eines oder mehrerer Sensoren 121, wie z.B. auch in 1 gezeigt. Die Objekte werden klassifiziert (z.B. in Typen wie beispielsweise Fußgänger, Fahrrad, Automobil, Verkehrszeichen usw. gruppiert), und eine die klassifizierten Objekte 416 umfassende Szenenbeschreibung wird dem Planungsmodul 404 bereitgestellt.
-
Das Planungsmodul 404 empfängt zudem die Position 418 des AV repräsentierende Daten vom Lokalisierungsmodul 408. Das Lokalisierungsmodul 408 bestimmt die AV-Position, indem es Daten von den Sensoren 121 und Daten aus dem Datenbankmodul 410 (z.B. geografische Daten) verwendet, um eine Position zu berechnen. Beispielsweise verwendet das Lokalisierungsmodul 408 Daten von einem GNSS- (Global Navigation Satellite System) Sensor und geografische Daten, um einen Längen- und einen Breitengrad des AV zu berechnen. In einer Ausführungsform umfassen die vom Lokalisierungsmodul 408 verwendeten Daten hochpräzise Karten der geometrischen Eigenschaften der Fahrbahn, Karten, die die Verbindungseigenschaften des Straßennetzes beschreiben, Karten, die die physikalischen Eigenschaften der Fahrbahn beschreiben (z. B. Verkehrsgeschwindigkeit, Verkehrsaufkommen, Anzahl der Fahrspuren für den Auto- und Radverkehr, Fahrspurbreite, Fahrspurrichtungen oder Fahrspurmarkierungstypen und -orte oder Kombinationen davon), sowie Karten, die die räumliche Lage von Straßenmerkmalen wie Fußgängerüberwegen, Verkehrsschildern oder anderen Verkehrssignalen verschiedener Arten beschreiben.
-
Das Steuermodul 406 empfängt die die Trajektorie 414 repräsentierenden Daten und die die AV-Position 418 repräsentierenden Daten und betreibt die Steuerfunktionen 420a-c (z.B. Lenkung, Drosselung, Bremsen, Zündung) des AV so, dass das AV 100 die Trajektorie 414 bis zum Zielort 412 abfährt. Wenn z.B. die Trajektorie 414 eine Linkskurve umfasst, steuert das Steuermodul 406 die Steuerfunktionen 420a-c so, dass der Lenkwinkel der Lenkfunktion das AV 100 zum Linksabbiegen veranlasst und Gasgeben und Bremsen das AV 100 veranlassen, anzuhalten und auf vorbeifahrende Fußgänger oder Fahrzeuge zu warten, bevor die Kurve genommen wird.
-
Eingaben an das autonome Fahrzeug
-
5 zeigt ein Beispiel für Eingänge 502a-d (z.B. die in 1 gezeigten Sensoren 121) und Ausgänge 504a-d (z.B. Sensordaten), die vom Wahrnehmungsmodul 402 (4) verwendet werden. Bei einem Eingang 502a handelt es sich um ein LiDAR-(Light Detection and Ranging, Lichtabstandsmessung) System (z.B. das in 1 gezeigte LiDAR 123). LiDAR ist eine Technologie, die Licht (z.B. Lichtblitze wie beispielsweise Infrarotlicht) verwendet, um Daten über physische Objekte in ihrer Sichtlinie zu erhalten. Ein LiDAR-System produziert LiDAR-Daten als Ausgang 504a. LiDAR-Daten sind beispielsweise Sammlungen von 3D- oder 2D-Punkten (auch als Punktwolken bekannt), die zur Konstruktion einer Darstellung der Umgebung 190 verwendet werden.
-
Bei einem weiteren Eingang 502b handelt es sich um ein RADAR-System. RADAR ist eine Technologie, die Radiowellen verwendet, um Daten über in der Nähe befindliche physische Objekte zu erhalten. RADAR kann Daten über Objekte gewinnen, die sich nicht in der Sichtlinie eines LiDAR-Systems befinden. Ein RADAR-System 502b produziert RADAR-Daten als Ausgang 504b. RADAR-Daten sind beispielsweise ein oder mehrere elektromagnetische Hochfrequenzsignale, die verwendet werden, um eine Darstellung der Umgebung 190 zu konstruieren.
-
Bei einem weiteren Eingang 502c handelt es sich um ein Kamerasystem. Ein Kamerasystem verwendet eine oder mehrere Kameras (z.B. Digitalkameras, die einen Lichtsensor wie beispielsweise eine ladungsgekoppelte Einrichtung [CCD, charge-coupled device] verwenden), um Informationen über in der Nähe befindliche physische Objekte zu erhalten. Ein Kamerasystem produziert Kameradaten als Ausgang 504c. Kameradaten haben häufig die Form von Bilddaten (z.B. Daten in einem Bilddatenformat wie beispielsweise RAW, JPEG, PNG usw.). In einigen Beispielen verfügt das Kamerasystem über mehrere unabhängige Kameras, z.B. für Stereopsis (räumliches Sehen), welche dem Kamerasystem Tiefenwahrnehmung ermöglicht. Auch wenn die durch das Kamerasystem wahrgenommenen Objekte hier als „nahe“ beschrieben werden, ist dies für das AV relativ. Im Betrieb kann das Kamerasystem so ausgelegt sein, dass es Objekte „sieht“, die weit weg sind und z.B. bis zu einem Kilometer oder mehr vor dem AV liegen. Entsprechend kann das Kamerasystem über Merkmale wie beispielsweise Sensoren und Linsen verfügen, die für die Wahrnehmung weit entfernter Objekte optimiert sind.
-
Bei einem weiteren Eingang 502d handelt es sich um ein System für Verkehrsampelerkennung (TLD, traffic light detection). Ein TLD-System verwendet eine oder mehrere Kameras, um Informationen über Verkehrsampeln, Straßenschilder und andere physische Objekte zu erhalten, die optische Navigationsinformationen liefern. Ein TLD-System produziert TLD-Daten als Ausgang 504d. TLD-Daten haben häufig die Form von Bilddaten (z.B. Daten in einem Bilddatenformat wie beispielsweise RAW, JPEG, PNG usw.). Ein TLD-System unterscheidet sich von einem System mit einer Kamera dadurch, dass bei einem TLD-System eine Kamera mit weitem Sichtfeld (z.B. mit einem Weitwinkelobjektiv oder einem Fischaugenobjektiv) verwendet wird, um Informationen über möglichst viele physische Objekte zu erhalten, die optische Navigationsinformationen liefern, so dass das AV 100 Zugriff auf alle relevanten Navigationsinformationen hat, die von diesen Objekten geliefert werden. Beispielsweise kann der Sichtwinkel des TLD-Systems etwa 120 Grad oder mehr betragen.
-
In einigen Ausführungsformen werden die Ausgänge 504a-d mit Hilfe einer Sensorfusionstechnik kombiniert. Somit werden entweder die einzelnen Ausgänge 504a-d anderen Systemen des AV 100 zur Verfügung gestellt (z.B. einem Planungsmodul 404, wie in 4 dargestellt), oder der kombinierte Ausgang kann den anderen Systemen zur Verfügung gestellt werden, entweder in Form eines einzelnen kombinierten Ausgangs oder mehrerer kombinierter Ausgängedes gleichen Typs (z. B. durch Verwendung der gleichen Kombinationstechnik oder Kombination der gleichen Ergebnisse oder beides) oder unterschiedlicher Typen (z. B. durch Verwendung unterschiedlicher Kombinationstechniken oder Kombination unterschiedlicher Ergebnisse oder beides). In einigen Ausführungsformen wird eine Frühfusionstechnik verwendet. Eine Frühfusionstechnik ist gekennzeichnet durch das Kombinieren von Ausgängen, bevor ein oder mehrere Datenverarbeitungsschritte auf den kombinierten Ausgang angewendet werden. In einigen Ausführungsformen wird eine Spätfusionstechnik verwendet. Eine Spätfusionstechnik ist gekennzeichnet durch das Kombinieren von Ausgängen, nachdem ein oder mehrere Datenverarbeitungsschritte auf den kombinierten Ausgang angewendet wurden.
-
6 zeigt ein Beispiel eines LiDAR-Systems 602 (z.B. den in 5 gezeigten Eingang 502a). Das LiDAR-System 602 emittiert Licht 604a-c aus einem Lichtstrahler 606 (z.B. einem Lasersender). Von einem LiDAR-System emittiertes Licht liegt üblicherweise nicht im sichtbaren Spektrum, beispielsweise wird häufig Infrarotlicht verwendet. Ein Teil des emittierten Lichts 604b trifft auf ein physisches Objekt 608 (z.B. ein Fahrzeug) und reflektiert zurück zum LiDAR-System 602. (Von einem LiDAR-System emittiertes Licht durchdringt üblicherweise keine physischen Objekte, z.B. physische Objekte in fester Form). Das LiDAR-System 602 verfügt zudem über einen oder mehrere Lichtdetektoren 610, die das reflektierte Licht erfassen. In einer Ausführungsform erzeugen ein oder mehrere dem LiDAR-System zugehörige Datenverarbeitungssysteme ein Bild 612, welches das Sichtfeld 614 des LiDAR-Systems darstellt. Das Bild 612 umfasst Informationen, die die Begrenzungen 616 eines physischen Objekts 608 darstellen. Auf diese Weise wird das Bild 612 verwendet, um die Begrenzungen 616 eines oder mehrerer physischer Objekte in der Nähe eines AV zu bestimmen.
-
7 zeigt das LiDAR-System 602 im Betrieb. In dem in dieser Figur gezeigten Szenario empfängt das AV 100 sowohl den Kamerasystemausgang 504c in Form eines Bilds 702 als auch den LiDAR-Systemausgang 504a in Form von LiDAR-Datenpunkten 704. Im Betrieb 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 Begrenzungen des physischen Objekts auf Grundlage der Kontur und Dichte der Datenpunkte 704 wahr.
-
8 zeigt weitere Einzelheiten des Betriebs des LiDAR-Systems 602. Wie vorstehend beschrieben, erfasst das AV 100 die Begrenzung eines physischen Objekts auf Grundlage von Eigenschaften der durch das LiDAR-System 602 erfassten Datenpunkte. Wie in 8 gezeigt, reflektiert ein flaches Objekt wie beispielsweise der Boden 802 von einem LiDAR-System 602 emittiertes Licht 804a-d in konsistenter Weise. Anders ausgedrückt, da das LiDAR-System 602 Licht unter Verwendung konsistenter Abstände emittiert, reflektiert der Boden 802 Licht mit den gleichen konsistenten Abständen zurück zum LiDAR-System 602. Während sich das AV 100 über den Boden 802 bewegt, erfasst das LiDAR-System 602 weiter Licht, das vom nächsten gültigen Bodenpunkt 806 reflektiert wird, sofern nichts die Straße behindert. Wenn jedoch ein Objekt 808 die Straße behindert, wird das vom LiDAR-System 602 emittierte Licht 804e-f von den Punkten 810a-b in einer Weise reflektiert, die nicht mit der erwarteten konsistenten Weise übereinstimmt. Aus diesen Informationen kann das AV 100 bestimmen, dass das Objekt 808 vorhanden ist.
-
Wegplanung
-
9 zeigt ein Blockdiagramm 900 der Beziehungen zwischen Eingängen und Ausgängen eines Planungsmoduls 404 (z.B. wie in 4 gezeigt). Grundsätzlich handelt es sich beim Ausgang eines Planungsmoduls 404 um eine Route 902 von einem Startpunkt 904 (z.B. einem Ausgangspunkt oder Anfangspunkt) bis zu einem Endpunkt 906 (z.B. Zielort oder Endort). Die Route 902 wird üblicherweise durch ein oder mehrere Teilstücke definiert. Ein Teilstück ist beispielsweise eine Strecke, die über zumindest einen Abschnitt einer Straße, Fahrbahn, Autobahn, Durchfahrt oder eines anderen für den Autoverkehr geeigneten physischen Bereichs zurückgelegt werden muss. In einigen Beispielen, z.B. wenn das AV 100 ein geländegängiges Fahrzeug wie ein allradgetriebener (4WD-) oder allradgetriebener (AWD-) PKW, SUV, Pick-up oder dergleichen ist, umfasst die Route 902 „Gelände“-Abschnitte wie unbefestigte Wege oder offene Felder.
-
Zusätzlich zur Route 902 gibt ein Planungsmodul zudem Routenplanungsdaten 908 auf Fahrspurebene aus. Die Routenplanungsdaten 908 auf Fahrspurebene werden verwendet, um Teilstücke der Route 902 auf Grundlage von Bedingungen des Teilstücks zu einer bestimmten Zeit zu durchlaufen. Wenn die Route 902 beispielsweise eine mehrspurige Autobahn umfasst, enthalten die Routenplanungsdaten 908 auf Fahrspurebene Trajektorienplanungsdaten 910, die das AV 100 verwenden kann, um eine Fahrspur unter den mehreren Fahrspuren auszuwählen, z.B. basierend darauf, ob sich eine Ausfahrt nähert, ob auf einer oder mehreren der Fahrspuren andere Fahrzeuge unterwegs sind oder andere Faktoren, die sich im Laufe von einigen Minuten oder weniger ändern. Ebenso umfassen in einigen Implementierungen die Routenplanungsdaten 908 auf Fahrspurebene Geschwindigkeitseinschränkungen 912, die für ein Teilstück der Route 902 spezifisch sind. Falls beispielsweise das Teilstück Fußgänger oder unerwarteten Verkehr aufweist, können die Geschwindigkeitseinschränkungen 912 das AV 100 auf eine Reisegeschwindigkeit einschränken, die langsamer ist als eine erwartete Geschwindigkeit, z.B. eine auf Geschwindigkeitsbegrenzungsdaten für das Teilstück basierende Geschwindigkeit.
-
In einer Ausführungsform umfassen die Eingänge in das Planungsmodul 404 Datenbankdaten 914 (z.B. von dem in 4 gezeigten Datenbankmodul 410), aktuelle Standortdaten 916 (z.B. die in 4 gezeigte AV-Position 418), Zielortdaten 918 (z.B. für den in 4 gezeigten Zielort 412) und Objektdaten 920 (z.B. die durch das Wahrnehmungsmodul 402 wahrgenommenen klassifizierten Objekte 416 wie in 4 gezeigt). In einigen Ausführungsformen umfassen die Datenbankdaten 914 bei der Planung verwendete Regeln. Die Regeln sind mittels einer formalen Sprache festgelegt, z.B. mittels Boolescher Logik. In jeder Situation, in der sich das AV 100 befindet, sind zumindest einige der Regeln auf die Situation anwendbar. Eine Regel ist auf eine gegebene Situation anwendbar, falls die Regel Bedingungen aufweist, die auf Grundlage für das AV 100 verfügbarer Informationen, z.B. Informationen über die Umgebung, erfüllt sind. Regeln können Priorität haben. Beispielsweise kann eine Regel, die besagt „falls es sich bei der Straße um eine Autobahn handelt, auf die ganz linke Fahrspur wechseln“, eine niedrigere Priorität besitzen als „falls die Ausfahrt noch weniger als eine Meile entfernt ist, auf die ganz rechte Fahrspur wechseln“.
-
10 zeigt einen gerichteten Graphen 1000, der für Wegplanung verwendet wird, z.B. vom Planungsmodul 404 (4). Grundsätzlich wird ein gerichteter Graph 1000 wie der in 10 gezeigte verwendet, um einen Weg zwischen einem Startpunkt 1002 und einem Endpunkt 1004 zu bestimmen. In der Praxis kann die Entfernung zwischen dem Startpunkt 1002 und dem Endpunkt 1004 relativ groß (z.B. in zwei verschiedenen Ballungsgebieten) oder relativ klein sein (z.B. zwei Kreuzungen, die an einen Stadtblock angrenzen oder zwei Fahrspuren einer mehrspurigen Straße).
-
In einer Ausführungsform hat der gerichtete Graph 1000 Knoten 1006a-d, die verschiedene Standorte zwischen dem Startpunkt 1002 und dem Endpunkt 1004 darstellen, die von einem AV 100 eingenommen werden können. In einigen Beispielen, z.B. wenn der Startpunkt 1002 und der Endpunkt 1004 verschiedene Ballungsgebiete repräsentieren, repräsentieren die Knoten 1006a-d Teilstücke von Straßen. In einigen Beispielen, z.B. wenn der Startpunkt 1002 und der Endpunkt 1004 verschiedene Standorte auf der gleichen Straße repräsentieren, repräsentieren die Knoten 1006a-d verschiedene Positionen auf dieser Straße. Auf diese Weise umfasst der gerichtete Graph 1000 Informationen unterschiedlicher Granularität. In einer Ausführungsform ist ein gerichteter Graph mit hoher Granularität gleichzeitig ein Teilgraph eines anderen gerichteten Graphen mit größerem Maßstab. Zum Beispiel hat ein gerichteter Graph, bei dem der Startpunkt 1002 und der Endpunkt 1004 weit entfernt sind (z.B. viele Meilen voneinander entfernt), die meisten seiner Informationen in einer niedrigen Granularität und basiert auf gespeicherten Daten, enthält aber auch einige Informationen mit hoher Granularität für den Teil des Graphen, der physische Orte im Sichtfeld des AV 100 darstellt.
-
Die Knoten 1006a-d unterscheiden sich von Objekten 1008a-b, die sich nicht mit einem Knoten überlappen können. In einer Ausführungsform repräsentieren bei niedriger Granularität die Objekte 1008a-b Regionen, die nicht mit einem Auto befahrbar sind, z.B. Bereiche, die keine Straßen oder Verkehrswege aufweisen. Bei hoher Granularität repräsentieren die Objekte 1008a-b physische Objekte im Sichtfeld des AV 100, z.B. andere Autos, Fußgänger oder andere Objekte, mit denen sich das AV 100 nicht den gleichen physischen Raum teilen kann. In einer Ausführungsform sind einige oder alle der Objekte 1008a-b statische Objekte (z.B. ein Objekt, das seine Position nicht ändert, wie eine Straßenlaterne oder ein Strommast) oder dynamische Objekte (z.B. ein Objekt, das seine Position ändern kann, wie ein Fußgänger oder ein anderes Auto).
-
Die Knoten 1006a-d sind durch Kanten 1010a-c verbunden. Wenn zwei Knoten 1006a-b durch eine Kante 1010a verbunden sind, ist es möglich, dass ein AV 100 zwischen dem einen Knoten 1006a und dem anderen Knoten 1006b hin- und herfahren kann, z.B. ohne zu einem Zwischenknoten fahren zu müssen, bevor er am anderen Knoten 1006b ankommt. (Wenn gesagt wird, dass sich ein AV 100 zwischen Knoten bewegt, ist damit gemeint, dass sich das AV 100 zwischen den beiden physischen Positionen bewegt, die durch die jeweiligen Knoten repräsentiert werden.) Die Kanten 1010a-c sind häufig insofern bidirektional, als sich ein AV 100 von einem ersten Knoten zu einem zweiten Knoten oder von dem zweiten Knoten zum ersten Knoten bewegt. In einer Ausführungsform sind die Kanten 1010a-c insofern unidirektional, als sich ein AV 100 von einem ersten Knoten zu einem zweiten Knoten, jedoch nicht von dem zweiten Knoten zum ersten Knoten bewegen kann. Kanten 1010a-c sind unidirektional, wenn sie beispielsweise Einbahnstraßen, einzelne Fahrspuren einer Straße, Fahrbahn oder Autobahn oder andere Merkmale repräsentieren, die aufgrund gesetzlicher oder physischer Einschränkungen nur in einer Richtung befahren werden können.
-
In einer Ausführungsform verwendet das Planungsmodul 404 den gerichteten Graphen 1000, um einen aus Knoten und Kanten gebildeten Weg 1012 zwischen dem Startpunkt 1002 und Endpunkt 1004 zu identifizieren.
-
Eine Kante 1010a-c weist zugehörige Kosten 1014a-b auf. Bei den Kosten 1014a-b handelt es sich um einen Wert, der die Ressourcen repräsentiert, die aufgewendet werden, wenn das AV 100 diese Kante wählt. Eine typische Ressource ist Zeit. Wenn beispielsweise eine Kante 1010a eine physische Entfernung repräsentiert, die das Zweifache einer anderen Kante 1010b beträgt, dann können die zugehörigen Kosten 10 14a der ersten Kante 1010a das Zweifache der zugehörigen Kosten 1014b der zweiten Kante 1010b betragen. Zu anderen Faktoren, die die Zeit beeinflussen, zählen der erwartete Verkehr, die Anzahl an Kreuzungen, Geschwindigkeitsbegrenzung usw. Eine weitere typische Ressource ist Kraftstoffökonomie. Zwei Kanten 1010a-b können die gleiche physische Entfernung repräsentieren, jedoch kann eine Kante 1010a mehr Kraftstoff erfordern als eine andere Kante 1010b, z.B. aufgrund von Straßenbedingungen, erwarteter Wetterlage usw.
-
Wenn das Planungsmodul 404 einen Weg 1012 zwischen dem Startpunkt 1002 und dem Endpunkt 1004 identifiziert, wählt das Planungsmodul 404 üblicherweise einen kostenoptimierten Weg, z.B. den Weg mit den geringsten Gesamtkosten, wenn die einzelnen Kosten der Kanten zusammenaddiert werden.
-
Steuerung des autonomen Fahrzeugs
-
11 zeigt ein Blockdiagramm 1100 der Eingänge und Ausgänge eines Steuermoduls 406 (z.B. wie in 4 gezeigt). Ein Steuermodul arbeitet in Übereinstimmung mit einer Steuereinheit 1102, die beispielsweise einen oder mehrere Prozessoren (z.B. einen oder mehrere Computerprozessoren wie Mikroprozessoren oder Mikrocontroller oder beides) ähnlich dem Prozessor 304, Kurzzeit- und/oder Langzeit-Datenspeicherung (z.B. Direktzugriffsspeicher oder Flashspeicher oder beides) ähnlich dem Hauptspeicher 306, ROM 308 und eine Speichereinrichtung 310 und im Speicher gespeicherte Anweisungen umfasst, die Arbeitsschritte der Steuereinheit 1102 ausführen, wenn die Anweisungen ausgeführt werden (z.B. durch den einen oder die mehreren Prozessoren).
-
In einer Ausführungsform empfängt die Steuereinheit 1102 Daten, die einen gewünschten Ausgang 1104 repräsentieren. Der gewünschte Ausgang 1104 umfasst üblicherweise eine Geschwindigkeit, z.B. eine Fortbewegungsgeschwindigkeit und eine Fahrtrichtung. Der gewünschte Ausgang 1104 kann beispielsweise auf von einem Planungsmodul 404 (z.B. wie in 4 gezeigt) empfangenen Daten basieren. Gemäß dem gewünschten Ausgang 1104 produziert die Steuereinheit 1102 Daten, die als Drosseleingang 1106 und Lenkeingang 1108 verwendbar sind. Der Gaseingang 1106 stellt das Ausmaß dar, in dem das Gaspedal (z.B. Beschleunigungsregelung) eines AV 100 zu betätigen ist, z.B. durch Betätigen des Lenkpedals oder durch Betätigen einer anderen Gassteuerung, um den gewünschten Ausgang 1104 zu erhalten. In einigen Beispielen umfasst der Gaseingang 1106 zudem Daten, die zum Betätigen der Bremse (z.B. Bremsregelung) des AV 100 verwendbar sind. Der Lenkeingang 1108 repräsentiert einen Lenkwinkel, z.B. den Winkel, in dem die Lenksteuerung (z.B. Lenkrad, Lenkwinkelstellglied oder eine andere Funktion zur Steuerung des Lenkwinkels) des AV positioniert werden sollte, um den gewünschten Ausgang 1104 zu erhalten.
-
In einer Ausführungsform empfängt die Steuereinheit 1102 Rückmeldungen, die beim Anpassen der an die Drossel und die Lenkung bereitgestellten Eingänge verwendet wird. Trifft das AV 100 beispielsweise auf eine Störung 1110, wie z.B. einen Hügel, wird die gemessene Geschwindigkeit 1112 des AV 100 unter die gewünschte Ausgangsgeschwindigkeit gesenkt. In einer Ausführungsform wird jeder gemessene Ausgang 1114 der Steuereinheit 1102 bereitgestellt, damit die nötigen Anpassungen vorgenommen werden, z.B. auf Grundlage der Differenz 1113 zwischen der gemessenen Geschwindigkeit und dem gewünschten Ausgang. Der gemessene Ausgang 1114 umfasst gemessene Position 1116, gemessene Geschwindigkeit 1118 (umfassend Fortbewegungsgeschwindigkeit und Fahrtrichtung), gemessene Beschleunigung 1120 und andere durch die Sensoren des AV 100 messbare Ausgänge.
-
In einer Ausführungsform werden Informationen über die Störung 1110 vorab erfasst, z.B. durch einen Sensor wie eine Kamera oder einen LiDAR-Sensor, und einem prädiktiven Rückmeldungsmodul 1122 bereitgestellt. Das prädiktive Rückmeldungsmodul 1122 stellt der Steuereinheit 1102 dann Informationen bereit, die die Steuereinheit 1102 verwenden kann, um entsprechende Anpassungen vorzunehmen. Falls beispielsweise die Sensoren des AV 100 einen Hügel erfassen („sehen“), kann diese Information von der Steuereinheit 1102 verwendet werden, um den Einsatz des Gaspedals zum geeigneten Zeitpunkt vorzubereiten, um ein deutliches Abbremsen zu vermeiden.
-
12 zeigt ein Blockdiagramm 1200 der Eingänge, Ausgänge und Komponenten der Steuereinheit 1102. Die Steuereinheit 1102 verfügt über eine Geschwindigkeitsprofileinheit 1202, die den Betrieb einer Gas-/Bremssteuereinheit 1204 beeinflusst. Beispielsweise instruiert die Geschwindigkeitsprofileinheit 1202 die Gas-/Bremssteuereinheit 1204 abhängig von z.B. Rückmeldungen, die durch die Steuereinheit 1102 empfangen und durch die Geschwindigkeitsprofileinheit 1202 verarbeitet werden, Beschleunigung oder Abbremsen mittels Gas/Bremse 1206 durchzuführen.
-
Die Steuereinheit 1102 verfügt zudem über eine seitliche Spurführungssteuereinheit 1208, die den Betrieb einer Lenksteuereinheit 1210 beeinflusst. Beispielsweise instruiert die seitliche Spurführungssteuereinheit 1208 die Lenksteuereinheit 1210 abhängig von z.B. Rückmeldungen, die durch die Steuereinheit 1102 empfangen und durch die seitliche Spurführungssteuereinheit 1208 verarbeitet werden, die Position des Lenkwinkelstellglieds 1212 anzupassen.
-
Die Steuereinheit 1102 empfängt verschiedene Eingänge, die verwendet werden, um zu bestimmen, wie Gas/Bremse 1206 und das Lenkwinkelstellglied 1212 gesteuert werden sollen. Ein Planungsmodul 404 stellt Informationen bereit, die beispielsweise von der Steuereinheit 1102 verwendet werden, um eine Fahrtrichtung zu wählen, wenn das AV 100 den Betrieb aufnimmt, und um zu bestimmen, welches Straßenteilstück zu befahren ist, wenn das AV 100 eine Kreuzung erreicht. Ein Lokalisierungsmodul 408 stellt der Steuereinheit 1102 Informationen bereit, die den aktuellen Standort des AV 100 beschreiben, damit beispielsweise die Steuereinheit 1102 bestimmen kann, ob sich das AV 100 auf Grundlage der Art und Weise, in der Gas/Bremse 1206 und das Lenkwinkelstellglied 1212 gesteuert werden, an einem erwarteten Standort befindet. In einer Ausführungsform empfängt die Steuereinheit 1102 Informationen aus anderen Eingängen 1214, z.B. Informationen, die von Datenbanken, Computernetzwerken usw. empfangen werden.
-
Planung mit dynamischem Zustand
-
13A - 13B zeigen Graphen der Geschwindigkeit im Quadrat gegenüber der Position, die veranschaulichen, wie sich weiche und harte Einschränkungen auf eine geplante Route und maximale Beschleunigungs-/Verlangsamungsprofile des AV 100 gemäß einigen Ausführungsformen auswirken. Insbesondere zeigt 13A, wie eine maximale Geschwindigkeit, die mit jeweiligen Teilstücken der geplanten Route 1302 verbunden ist, durch weiche Einschränkungen 1304 begrenzt wird. Weiche Einschränkungen 1304 können sich aus vielen verschiedenen Straßenbedingungen ergeben. Beispielsweise kann die Einschränkung 1304-1 einer empfohlenen Höchstgeschwindigkeit für eine bestimmte Kurve entsprechen, die Einschränkung 1304-2 kann einer Geschwindigkeitsbeschränkung in Verbindung mit einem Baustellenbereich entsprechen, und die Einschränkung 1304-3 kann bedeuten, dass ein Fahrzeug die Geschwindigkeit reduziert, um einer raueren oder rutschigeren Straßenoberfläche gerecht zu werden. In jedem Fall wird ein vom AV 100 erreichter Geschwindigkeitsvektor im Verlauf eines bestimmten Straßenabschnitts aus verschiedenen Gründen reduziert.
-
13B zeigt ein maximales Beschleunigungsprofil 1352 und ein maximales Verlangsamungsprofil 1354, die vom AV 100 in einigen Ausführungsformen erreicht werden können. Das maximale Beschleunigungsprofil 1352 wird durch harte Einschränkungen 1356 beeinflusst. Die harte Einschränkung 1356-1 kann einer Beschleunigungsbegrenzung entsprechen, die ausgelegt ist, um Schaden an einem Antriebsstrang des AV 100 zu verhindern. Die harte Einschränkung 1356-2 kann einer maximalen Beschleunigungsbegrenzung entsprechen, die angesichts der Krümmung einer Straße, über die das AV 100 fährt, ein Umkippen verhindert, und die harte Einschränkung 1356-3 kann einer Annäherung des AV 100 an seine Höchstgeschwindigkeit entsprechen. Es sollte beachtet werden, dass ein Benutzer, der die manuelle Steuerung des AV 100 übernimmt, in der Lage sein könnte, das maximale Verlangsamungsprofil zu überschreiten oder jenseits einer der harten Einschränkungen 1356 zu fahren, dass aber die harten Einschränkungen 1356 eine harte Grenze für das darstellen, was das autonome Fahrsystem ohne Benutzereingriff oder den Einsatz eines Systems wie z.B. eines Kollisionsvermeidungssystems durchführen kann.
-
Einschränkungen können auch als statisch und dynamisch charakterisiert werden. Eine statische Einschränkung ist eine Einschränkung, bei der es unwahrscheinlich ist, dass sie sich während der Durchfahrt des AV 100 ändert, und eine dynamische Einschränkung ist eine Einschränkung, bei der es wahrscheinlich ist, dass sie sich während der Durchfahrt des AV 100 verlagert oder ihren Zustand ändert. Wie nachstehend näher beschrieben wird, können mit dem autonomen Fahrsystem verbundene Prozessoren im Allgemeinen so ausgelegt sein, dass sie statische Einschränkungen vor den dynamischen Einschränkungen bestimmen, so dass das System weiß, welche Optionen für den Umgang mit Objekten, die wahrscheinlich ihre Position oder ihren Zustand ändern, zur Verfügung stehen, wenn es die dynamischen Einschränkungen bestimmt, die mit weniger vorhersehbaren Objekten verbundene Risiken verringern.
-
14A zeigt eine Draufsicht auf ein AV 100, das eine Straße 1402 entlangfährt, während eine Ampel an einer Ampelkreuzung 1404 auf Gelb schaltet. Mit dem in 14B dargestellten maximalen kinematischen Profil kann das AV 100 die Kreuzung 1404 passieren, bevor die Ampel auf Rot schaltet (z.B. auf Grundlage typischer Gelblicht-Schaltzeiten), ohne die harte Einschränkung 1 (dargestellt in 14B) zu überschreiten. Die harte Einschränkung 1 kann eine Höchstgeschwindigkeitsbegrenzung für die Straße 1402 darstellen. In diesem Szenario befindet sich ein Baustellenbereich 1406 auf der linken Straßenseite (bezogen auf die Fahrtrichtung des AV 100). Die harte Einschränkung 2 (dargestellt in 14B) stellt eine Einschränkung dar, die das AV 100 befolgen muss, wenn es an dem Baustellenbereich 1406 vorbeifährt, und die das AV 100 daran hindert, eine in unmittelbarer Nähe des Baustellenbereichs 1406 als sicher bestimmte Höchstgeschwindigkeit zu überschreiten. Das AV 100 kann so ausgelegt sein, dass es eine sichere Höchstgeschwindigkeit auf mehreren verschiedenen Wegen bestimmt. In einigen Fällen wird eine Standard-Höchstgeschwindigkeitsbeschränkung für Baustellenbereiche auf Stadtstraßen verwendet. In einigen Ausführungsformen werden anstelle der Standard-Höchstgeschwindigkeitsbegrenzung ausgeschriebene Baustellenbereich-Geschwindigkeitsbegrenzungen verwendet, wenn diese verfügbar sind. In einigen Ausführungsformen kann das AV 100 so ausgelegt sein, dass es eine maximale sichere Geschwindigkeitsbegrenzung dynamisch auf Grundlage eines oder mehrerer Faktoren bestimmt, wie z.B. der Nähe zum Baustellenbereich 1406 bei maximaler Annäherung, sonstigem Fahrzeugverkehr und Aktivitäten im Baustellenbereich 1406.
-
In dem in 14A gezeigten Szenario kann das AV 100, wenn es dem in 14B gezeigten maximalen Beschleunigungsprofil folgt, aufgrund der harten Einschränkung 2 erst dann auf die durch die harte Einschränkung 1 dargestellte Höchstgeschwindigkeit beschleunigen, nachdem das AV 100 in die Kreuzung 1404 eingefahren ist. Die harte Einschränkung 2 wird als statische Einschränkung betrachtet, da es unwahrscheinlich ist, dass die zum Baustellenbereich 1406 gehörigen Pylonen verschwinden, bevor das AV 100 die Kreuzung 1404 passiert. Aus diesem Grund kann das AV 100 bestimmen, dass es die Kreuzung 1404 nicht sicher passieren kann, bevor die Ampel auf Rot schaltet, ohne die harte Einschränkung 2 zu verletzen. In diesem Szenario kann das AV 100 eine dynamische Einschränkung anwenden, die durch das in 14B gezeigte aktualisierte Profil dargestellt wird und dem AV 100 ermöglicht, vor der Einfahrt in die Kreuzung 1404 anzuhalten, ohne irgendwelche Systemeinschränkungen zu verletzen. Die aktualisierte Bedingung wird als dynamische Bedingung charakterisiert, da das AV 100 nicht ganz sicher ist, wie lange die Ampel gelb sein wird. 14B zeigt zudem ein typisches Profil mit weniger aggressiver Beschleunigung und einer konservativeren Geschwindigkeitsbegrenzung für den Baustellenbereich 1406, die als weiche Einschränkungslinie dargestellt ist. Offensichtlich kann das AV 100 auch nicht in die Kreuzung 1404 einfahren, bevor die Ampel rot wird. Es ist zu beachten, dass in einigen Szenarien ein Auswählen des maximalen Beschleunigungsprofils oder sogar ein Einhalten des typischen Profils es dem AV 100 ermöglicht, eine Kreuzung zu überqueren, ohne eine rote Ampel zu überfahren oder in eine Kollision zu geraten. Das AV 100 wird grundsätzlich das Profil auswählen, das Sicherheit und Komfort optimiert.
-
15A- 15C zeigen ein Szenario, in dem ein Fußgänger 1504 (z.B. ein unachtsamer Fußgänger) die Straße 1502 überquert. In 15A erkennt das AV 100 den Fußgänger 1504, der beginnt, die Straße 1502 zu überqueren. Nach dem Erkennen des Fußgängers 1504, der die Straße 1502 betritt, bestimmt das AV 100, dass bei der aktuellen Geschwindigkeit des AV 100, die in diesem Beispiel die für diese Straße ausgeschriebene Höchstgeschwindigkeit ist, und auf Grundlage des vorhergesagten Verhaltens des Fußgängers 1504sich der Fußgänger 1504 auf einer der beiden Fahrspuren der Straße 1502 befinden könnte. Die möglichen Standorte des Fußgängers 1504 zu einem vorhergesagten Zeitpunkt, zu dem das AV 100 sich dem Fußgänger 1504 am nächsten befindet, sind in 15A als zeitliche Zone 1506 dargestellt und basieren auf einer vorhergesagten zukünftigen Bewegung des Fußgängers 1504. In einigen Ausführungsformen liegt die Wahrscheinlichkeit, dass sich das Objekt in einer identifizierten zeitlichen Zone befindet, bei über 99 %. In diesem Szenario kann das AV 100 die Größe und Form der zeitlichen Zone 1506 als relativ groß bestimmen (z.B. ein Mehrfaches der Größe des Fußgängers 1504; im Vergleich zur zeitlichen Zone 1506 in 15B und 15C, die nachstehend beschrieben werden), da eine historische Datenbank, auf die das AV 100 zugreifen kann, darauf hinweist, dass sich Fußgänger oft unvorhersehbar bewegen, wenn sie sich nicht auf einem Zebrastreifen befinden, z.B. anstatt direkt über die Straße zu gehen, wie es in einem Zebrastreifen-Szenario zu erwarten wäre. In einigen Ausführungsformen ist die historische Datenbank an Bord des AV 100 gespeichert, während in anderen Ausführungsformen zumindest ein Teil der Datenbank außerhalb des AV 100 gespeichert ist. Im aktuellen Szenario kann das AV 100 aufgrund der Nähe der zeitlichen Zone 1506 zum AV 100 nicht vollständig anhalten, bevor es die zeitliche Zone 1506 kreuzt. In dieser Situation wechselt das AV 100 auf die linke Spur (z.B. die obere Spur in 15A), da das AV 100 anhand der zeitlichen Zone 1506 bestimmen kann, dass sich der Fußgänger 1504 aufgrund der relativen Flächen der zeitlichen Zonen 1506, die die rechte und linke Spur einnehmen, mit geringerer Wahrscheinlichkeit auf der linken Spur aufhält als auf der rechten Spur (z.B. der unteren Spur in 15A).
-
15B zeigt, dass nach dem Fahrspurwechsel des AV 100 die zeitliche Zone 1506 immer noch einen Teil der linken Fahrspur einnimmt. 15B zeigt auch, dass die zeitliche Zone 1506 schrumpft (z.B. in ihrer Größe reduziert wird und/oder ihre Form ändert), während sich das AV 100 dem Fußgänger 1504 nähert, weil das AV 100 mehr Vertrauen in die Position 1506 hat, die der Fußgänger 1504 zum Zeitpunkt der maximalen Annäherung zwischen dem AV 100 und dem Fußgänger 1504 einnehmen wird. Konfidenzniveaus können aus einer Reihe von Gründen zunehmen, darunter zumindest die Folgenden: (1) es bleibt weniger Zeit für den Fußgänger 1504, sich zu bewegen, während sich das AV 100 dem Fußgänger 1504 nähert, wodurch die mögliche Entfernung, die der Fußgänger 1504 zurücklegen kann, verringert wird; und (2) das AV 100 hatte Zeit, die Geschwindigkeit und die Richtung zu messen, in der sich der Fußgänger 1504 bewegt, wodurch das AV 100 das Verhalten (d.h. die Bewegungsrichtung) des Fußgängers 1504 genauer vorhersagen kann.
-
Für den Fall, dass die ausgeschriebene Höchstgeschwindigkeitsbegrenzung des AV 100 als weiche Beschränkung betrachtet wird, kann das AV 100 über die ausgeschriebene Höchstgeschwindigkeitsbegrenzung hinaus beschleunigen, um die Zeit zu verkürzen, die dem Fußgänger 1504 bleibt, um die linke Fahrspur zu erreichen. In einigen Ausführungsformen ist das AV 100 berechtigt, auf eine Geschwindigkeit zu beschleunigen, die um einen Schwellenwertbetrag über der ausgeschriebenen Höchstgeschwindigkeitsbegrenzung liegt, wenn dies im Rahmen eines Kollisionsvermeidungsmanövers geschieht. 15C zeigt, wie durch das Beschleunigen über die ausgeschriebene Höchstgeschwindigkeitsbegrenzung hinaus die zeitliche Zone 1506 weiter verkleinert und so weit auf die rechte Fahrspur zurückgedrängt wird, dass das AV 100 dem Fußgänger 1504 mit großer Sicherheit ausweichen kann. Dieses Beispiel zeigt, wie das AV 100 in der Lage ist, die ausgeschriebene Geschwindigkeitsbegrenzung zu umgehen, wenn diese als weiche Einschränkung betrachtet wird, um einen möglichen Zusammenstoß mit einem Fußgänger zu vermeiden (z.B. hat die Vermeidung eines Zusammenstoßes mit einem Fußgänger eine höhere Priorität als die Einhaltung der ausgeschriebenen Geschwindigkeitsbegrenzung). Wenngleich das AV 100 grundsätzlich versuchen wird, alle Einschränkungen zu befolgen, zeigt dies, dass das AV 100 unter bestimmten Umständen der Befolgung einer harten dynamischen Einschränkung (Fußgänger) Vorrang vor einer weichen statischen Einschränkung (ausgeschriebene Geschwindigkeitsbegrenzung) einräumt. Es sollte beachtet werden, dass in Fällen, in denen der Fußgänger 1504 ein Fußgänger ist, der die Straße 1502 an einem Zebrastreifen überquert, eine anfängliche Form der zeitlichen Zone 1506 durch diese Art von Bodenmarkierung genauer definiert werden kann, wodurch das AV 100 eine verfeinerte anfängliche Projektion der Größe und Form des Fußgängers erstellen kann (z.B. eine anfängliche Projektion, die sich im Laufe der Zeit nicht wesentlich ändert (z.B. weniger als 50%, weniger als 25%, weniger als 10%)). Einem Objekt, das als Fußgänger bestimmt wird, der die Straße 1502 auf einem zugelassenen Weg überquert, kann auch eine andere Klassifizierung zugewiesen werden. Zum Beispiel könnte bestimmt werden, dass ein Fußgänger auf einem Zebrastreifen eine besser vorhersehbare Geschwindigkeit aufweist als ein Fußgänger, der sich nicht auf einem Zebrastreifen befindet, was dazu führt, dass die zeitliche Zone für den Fußgänger kleiner und für das AV 100 einfacher zu handhaben ist.
-
Wenngleich 15A - 15C nur ein einziges dynamisches Objekt zeigen, das verfolgt und vermieden wird, kann das AV 100 in einigen Ausführungsformen mehrere dynamische und/oder statische Objekte verfolgen (z.B. gleichzeitig), so dass eines oder mehrere der Objekte (z.B. jedes erfasste und/oder verfolgte Objekt) als Einschränkung wirkt, die mögliche Aktionen begrenzt, die vom AV 100 durchgeführt werden können, ohne eine Kollision zu riskieren. Da das Verhalten der erfassten Objekte aufgrund der Korrelation der historischen Daten genauer vorhergesagt werden kann, ist das AV 100 eher in der Lage, Maßnahmen zu ergreifen, die ihm helfen, Kollisionen in schwierigen Situationen zu vermeiden.
-
16A zeigt ein Szenario, in dem sich das AV 100 auf der Straße 1604 der Kreuzung 1602 nähert und anhand des Verhaltens des Fahrzeugs 1606 und seiner in 16B dargestellten aktuellen geplanten Route bestimmt, dass das Fahrzeug 1606 wahrscheinlich zur gleichen Zeit wie das AV 100 in die Kreuzung 1602 einfahren wird. Zudem bestimmt das AV 100, dass es zu nahe an der Kreuzung 1602 ist, um rechtzeitig anzuhalten, um die Einfahrt in die Kreuzung 1602 zu vermeiden, wie die in 16B dargestellte Linie des maximalen Verlangsamungsprofils zeigt. In einigen Ausführungsformen kann die Steigung der Linie des maximalen Verlangsamungsprofils von einem Folgeabstand eines dem autonomen Fahrzeug folgenden Fahrzeugs abhängen. Die Steigung kann in diesem Fall der maximalen Verlangsamung entsprechen, die das autonome Fahrzeug als machbar bestimmt, ohne dass das nachfolgende Fahrzeug auf das autonome Fahrzeug auffährt. In Reaktion darauf, dass nicht genug Raum zum Anhalten des autonomen Fahrzeugs vorhanden ist, bestimmt das AV 100, dass der effektivste Weg, eine Kollision mit dem Fahrzeug 1606 zu vermeiden, darin besteht, zu beschleunigen, während es sich der Kreuzung 1602 nähert, und eine höhere als die geplante Geschwindigkeit durch die Kreuzung 1602 beizubehalten. Um das AV 100 dazu zu bringen, diese Aktion durchzuführen, kann eine zusätzliche Einschränkung für das AV 100 eingeführt werden, die vom AV 100 verlangt, eine Mindestgeschwindigkeitseinschränkung einzuhalten, die es dem AV 100 ermöglicht, die Kreuzung 1602 mit einer bestimmten Sicherheit vor dem Fahrzeug 1606 zu passieren. 16B zeigt die Mindestgeschwindigkeitseinschränkung, die einen höheren Geschwindigkeitsvektor als die geplante Route, aber einen niedrigeren Geschwindigkeitsvektor als das maximale Beschleunigungsprofil vorgibt. Dadurch kann das AV 100 einem relativ engen Fenster folgen, das es vor einer Kollision mit dem Fahrzeug 1606 bewahrt. In einigen Ausführungsformen kann das AV 100 so ausgelegt sein, dass es stattdessen das in 16B dargestellte maximale Beschleunigungsprofil übernimmt, um den Abstand zwischen dem AV 100 und dem Fahrzeug 1606 zu maximieren.
-
Beispielprozess zum Erfassen von Objekten und Betreiben des Fahrzeugs auf Grundlage der Erfassung der Objekte
-
17 ist ein Flussdiagramm eines Beispielprozesses 1700 zum Erfassen von Objekten in einer Umgebung und Betreiben eines autonomen Fahrzeugs (z.B. AV 100) auf Grundlage der Erfassung von Objekten (z.B. 1406, 1504). Der Einfachheit halber wird der Prozess 1700 so beschrieben, dass er von einem System aus einem oder mehreren Computern durchgeführt wird, die sich an einem oder mehreren Standorten befinden. Beispielsweise kann das Datenverarbeitungssystem 300 aus 3, das gemäß dieser Spezifikation entsprechend programmiert ist, den Prozess 1700 durchführen. Insbesondere erfassen bei 1702 ein oder mehrere Sensoren eines autonomen Fahrzeugs eine Vielzahl von Objekten in der Nähe der geplanten Route des autonomen Fahrzeugs. In einigen Fällen können zudem Sensoren an nahegelegenen Fahrzeugen oder an nahegelegenen Kreuzungen verwendet werden, um das Vorhandensein von unerwarteten Objekten in der Nähe der geplanten Route zu erfassen. Sensordaten, die von den Sensoren erzeugt werden und der Vielzahl von Objekten zugeordnet sind, werden von mindestens einem Prozessor des autonomen Fahrzeugs bezogen. Bei 1704 bestimmt der mindestens eine Prozessor statische Einschränkungen, die eine Trajektorie des autonomen Fahrzeugs begrenzen. Die statischen Einschränkungen verhindern, dass das autonome Fahrzeug irgendwelchen nicht-zeitlichen Risiken ausgesetzt wird, die mit einem ersten Teilsatz der Vielzahl von Objekten verbunden sind. Bei nicht-zeitlichen Risiken handelt es sich im Allgemeinen um Risiken, bei denen der Prozessor bestimmt, dass sie sich wahrscheinlich nicht ändern werden, während das autonome Fahrzeug die geplante Route durchfährt.
-
Bei 1706 sagt der mindestens eine Prozessor eine Position und Geschwindigkeit des autonomen Fahrzeugs als Funktion der Zeit entlang der geplanten Route voraus. In einigen Ausführungsformen können die vorhergesagte Position und Geschwindigkeit auf der durch die statischen Einschränkungen zulässigen Höchstgeschwindigkeit beruhen. Zum Beispiel in dem Fall, in dem die einzige statische Einschränkung eine ausgeschriebene Geschwindigkeitsbegrenzung ist. Die Vorhersage könnte darauf beruhen, dass das autonome Fahrzeug mit der ausgeschriebenen Höchstgeschwindigkeit fährt. In einigen Ausführungsformen kann die ausgeschriebene Höchstgeschwindigkeit eine weiche statische Einschränkung sein, da der Prozessor eine Trajektorie des autonomen Fahrzeugs festlegen kann, die die ausgeschriebene Höchstgeschwindigkeit überschreitet, wenn dies zur Vermeidung einer Kollision oder eines anderen unerwünschten Ereignisses dienlich ist.
-
Bei 1708 ist der mindestens eine Prozessor so ausgelegt, dass er zeitliche Risiken identifiziert und charakterisiert, die von einem zweiten Teilsatz der Vielzahl von Objekten ausgehen. Die Charakterisierung der zeitlichen Risiken kann auf historischen Daten beruhen, die dem mindestens einen Prozessor helfen, zukünftige Bewegungen und/oder Zustandsänderungen des zweiten Teilsatzes von Objekten vorherzusagen. Die historischen Daten können zum Beispiel Aufzeichnungen darüber enthalten, wie lange eine Ampel braucht, um von Gelb auf Rot zu schalten. Eine Konfidenz in die Vorhersage kann den mindestens einen Prozessor veranlassen, bei Entscheidungen über Änderungen der Trajektorie mehr oder weniger konservativ vorzugehen. So kann der Prozessor beispielsweise auf die Gehgeschwindigkeit eines Fußgängers weniger vertrauen als auf die Dauer einer Ampel-Gelbphase. Folglich würden alle dynamischen Einschränkungen, die auf die Vermeidung von Fußgängern abzielen, eine größere Bandbreite an Gehgeschwindigkeiten für den Fußgänger berücksichtigen.
-
Bei 1710 bestimmt der mindestens eine Prozessor dynamische Einschränkungen auf Grundlage der vorhergesagten Position und Geschwindigkeit des autonomen Fahrzeugs. Die Berechnung der dynamischen Einschränkungen nach dem Bestimmen der statischen Einschränkungen hilft dabei, die Optionen einzugrenzen, die das autonome Fahrzeug hat, um weniger vorhersehbare erfasste Objekte zu vermeiden, die ein zeitliches Risiko für das autonome Fahrzeug darstellen. Statische Einschränkungen können zum Beispiel so aussehen, dass das autonome Fahrzeug nicht ausreichend beschleunigen kann, um ein zeitliches Risiko zu vermeiden, und stattdessen abbremsen muss, um Schäden oder Gefahren zu vermeiden, die von dem zeitlichen Risiko ausgehen.
-
Bei 1712 passt der mindestens eine Prozessor die Trajektorie des autonomen Fahrzeugs gemäß den statischen Einschränkungen und den dynamischen Einschränkungen an. Es sei darauf hingewiesen, dass der mindestens eine Prozessor Änderungen an den dynamischen Einschränkungen vornehmen kann, die zu zusätzlichen Anpassungen der Trajektorie führen. Ein Fußgänger könnte sich beispielsweise plötzlich entschließen, über einen Zebrastreifen zu laufen, oder plötzlich mitten auf einem Zebrastreifen stehen bleiben. In einem solchen Fall würden die dynamischen Einschränkungen aktualisiert werden, was in einer Änderung der Trajektorie resultiert, um die aktualisierte dynamische Einschränkung zu berücksichtigen. Bei 1714 navigiert der mindestens eine Prozessor das autonome Fahrzeug gemäß der letzten Aktualisierung der Trajektorie.
-
In der vorstehenden Beschreibung wurden Ausführungsformen der Erfindung unter Bezugnahme auf zahlreiche konkrete Einzelheiten beschrieben, die von Implementierung zu Implementierung variieren können. Entsprechend sind die Beschreibung und die Zeichnungen als veranschaulichend und nicht einschränkend anzusehen. Der einzige und ausschließliche Indikator für den Umfang der Erfindung und das, was die Anmelder als Umfang der Erfindung beabsichtigen, ist der wörtliche und äquivalente Umfang des Satzes von Ansprüchen, die aus dieser Anmeldung hervorgehen, in der spezifischen Form, in der diese Ansprüche ausgegeben werden, einschließlich jeder späteren Korrektur. Alle hierin ausdrücklich festgelegten Definitionen von Bezeichnungen, die in solchen Ansprüchen enthalten sind, gelten für die Bedeutung der in den Ansprüchen verwendeten Bezeichnungen. Wenn in der vorstehenden Beschreibung oder in den folgenden Ansprüchen die Bezeichnung „ferner umfassend“ verwendet wird, kann das, was auf diesen Satz folgt, ein zusätzlicher Schritt oder eine zusätzliche Entität oder ein Unterschritt/eine Unterentität eines zuvor erwähnten Schritts oder einer zuvor erwähnten Entität sein.