-
GEBIET DER ERFINDUNG
-
Diese Beschreibung betrifft die Annotation in zweidimensionalen und/oder dreidimensionalen Karten enthaltener befahrbarer Straßensegmente.
-
HINTERGRUND
-
Autonome Fahrzeuge können vorab erzeugte Karten verwenden, wenn sie von einem aktuellen Ort zu einem Bestimmungsort navigieren. Diese vorab erzeugten Karten werden häufig auf der Grundlage einer Benutzereingabe annotiert, um befahrbare Straßensegmente zu identifizieren. Dies ist ein zeitaufwendiger Prozess und erfordert erhebliche Ressourcen sowohl in Bezug auf die Zeit, die benötigt wird, um solche Karten zu erzeugen, als auch in Bezug auf Rechen- und finanzielle Ressourcen.
-
Figurenliste
-
Es zeigen:
- 1 ein Beispiel eines autonomen Fahrzeugs (AV) mit einer Autonomiefähigkeit,
- 2 eine beispielhafte „Cloud“-Rechenumgebung,
- 3 ein Computersystem,
- 4 eine beispielhafte Architektur für ein AV,
- 5 ein Beispiel von Eingaben und Ausgaben, die von einem Wahrnehmungssystem verwendet werden können,
- 6 ein Blockdiagramm eines beispielhaften Straßenannotationssystems,
- 7 ein Blockdiagramm der Eingaben, Ausgaben und Komponenten eines beim in 6 dargestellten Straßenannotationssystem verwendeten beispielhaften Inferenzsystems,
- 8 eine Darstellung der Beziehung zwischen einer Belegungskarte, Teilkarten und gleitenden Fenstern und
- 9 ein Flussdiagramm eines beispielhaften Prozesses zum automatischen Annotieren befahrbarer Straßensegmente.
-
DETAILLIERTE BESCHREIBUNG
-
In der folgenden Beschreibung werden für die Zwecke der Erklärung zahlreiche spezifische Einzelheiten dargelegt, um ein gründliches Verständnis der vorliegenden Offenbarung bereitzustellen. Es ist jedoch zu verstehen, dass die vorliegende Offenbarung ohne diese spezifischen Einzelheiten verwirklicht werden kann. In anderen Fällen sind wohlbekannte Strukturen und Vorrichtungen in Form eines Blockdiagramms dargestellt, um es zu vermeiden, die vorliegende Offenbarung unnötig unverständlich zu machen.
-
In den Zeichnungen sind im Interesse einer einfachen Beschreibung spezifische Anordnungen oder Reihenfolgen schematischer Elemente in der Art solcher, die Vorrichtungen, Module, Systeme, Befehlsblöcke und Datenelemente repräsentieren, dargestellt. Fachleute sollten jedoch verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht implizieren soll, dass eine bestimmte Ordnung oder Sequenz der Verarbeitung oder Trennung von Prozessen erforderlich ist. Ferner soll die Aufnahme eines schematischen Elements in einer Zeichnung nicht implizieren, dass dieses Element in allen Ausführungsformen benötigt wird oder dass die durch dieses Element repräsentierten Merkmale nicht gemäß einigen Ausführungsformen in andere Elemente aufgenommen oder mit diesen kombiniert werden können.
-
Ferner soll in den Zeichnungen an Stellen, an denen verbindende Elemente, beispielsweise durchgezogene oder gestrichelte Linien oder Pfeile, verwendet werden, um eine Verbindung, Beziehung oder Assoziation zwischen oder unter zwei oder mehr anderen schematischen Elementen darzustellen, das Nichtvorhandensein solcher verbindender Elemente nicht bedeuten, dass dadurch impliziert wird, dass keine Verbindung, Beziehung oder Assoziation existieren kann. Mit anderen Worten sind in den Zeichnungen einige Verbindungen, Beziehungen oder Assoziationen zwischen Elementen nicht dargestellt, um die Offenbarung nicht unverständlich zu machen. Zusätzlich wird im Interesse einer einfachen Darstellung ein einziges verbindendes Element verwendet, um mehrere Verbindungen, Beziehungen oder Assoziationen zwischen Elementen zu repräsentieren. Beispielsweise sollten Fachleute an Stellen, an denen ein verbindendes Element eine Kommunikation von Signalen, Daten oder Befehlen repräsentiert, verstehen, dass dieses Element einen oder mehrere Signalwege (beispielsweise einen Bus) repräsentiert, wie es erforderlich sein kann, um die Kommunikation auszuführen.
-
Es wird nun detailliert auf Ausführungsformen Bezug genommen, von denen Beispiele in den anliegenden Zeichnungen dargestellt sind. In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt, um ein gründliches Verständnis der verschiedenen beschriebenen Ausführungsformen bereitzustellen. Durchschnittsfachleute auf dem Gebiet werden jedoch verstehen, dass die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten verwirklicht werden können. In anderen Fällen wurden wohlbekannte Verfahren, Prozeduren, Komponenten, Schaltungen und Netze nicht detailliert beschrieben, um Aspekte der Ausführungsformen nicht unnötig unverständlich zu machen.
-
Nachstehend werden mehrere Merkmale beschrieben, die jeweils unabhängig voneinander oder mit einer beliebigen Kombination anderer Merkmale verwendet werden können. Ein individuelles Merkmal kann jedoch nicht jegliche der vorstehend erörterten Probleme adressieren oder könnte nur eines der vorstehend erörterten Probleme adressieren. Einige der vorstehend erörterten Probleme könnten durch eines der hier beschriebenen Merkmale nicht vollständig adressiert werden. Wenngleich Überschriften bereitgestellt sind, können Informationen, die sich auf eine bestimmte Überschrift beziehen, jedoch nicht in dem Abschnitt mit dieser Überschrift vorgefunden werden, auch anderswo in dieser Beschreibung gefunden werden. Ausführungsformen werden hier gemäß der folgenden Grobstruktur beschrieben:
- 1. Allgemeiner Überblick
- 2. Systemüberblick
- 3. Architektur autonomer Fahrzeuge
- 4. Eingaben autonomer Fahrzeuge
- 5. Planung für autonome Fahrzeuge
- 6. Steuerung autonomer Fahrzeuge
- 7. Automatische Annotation befahrbarer Straßensegmente
-
Allgemeiner Überblick
-
Die vorliegenden Techniken ermöglichen eine automatische Annotation befahrbarer Straßensegmente. Bei Beispielen werden die befahrbaren Straßensegmente in aus der Vogelperspektive erhaltenen Daten in der Art zusammengeführter Karten identifiziert. Ein mehrstufiges Annotationssystem, das Sensordaten empfängt, welche die nahe Umgebung eines Fahrzeugs angeben, erzeugt eine die nahe Umgebung repräsentierende Karte auf der Grundlage der Sensordaten. Eine Kartenschicht wird in Teilkarten segmentiert, und eine Teilkarten-Segmentierungsmaske, die ein befahrbares Straßensegment auf der Teilkarte angibt, wird für jede Teilkarte abgeleitet. Eine abgeleitete Segmentierungsmaske, die alle befahrbaren Straßensegmente auf der Straße angibt, wird auf der Grundlage der Teilkarten-Segmentierungsmasken gebildet. Die abgeleitete Segmentierungsmaske wird gefiltert, um eine gefilterte Segmentierungsmaske auf der Grundlage einer Schwelle zu erzeugen, und die gefilterte Segmentierungsmaske wird geglättet, um eine geglättete Segmentierungsmaske mit wenigstens einem kontinuierlichen befahrbaren Straßensegment auf der Grundlage wenigstens eines Kriteriums zu erzeugen.
-
Einige der Vorteile des offenbarten Systems schließen die Folgenden ein: Das System annotiert befahrbare Straßensegmente effizienter als eine Handannotation und verringert die erforderlichen Rechenressourcen und die erforderliche Zeit. Die resultierende Annotation ist auch genauer, während das ausgegebene befahrbare Straßensegment kontinuierlich ist. Beispielsweise werden Sensordaten in Zusammenhang mit der Umgebung schließlich als befahrbares Straßensegment zu einer Karte gerendert, wodurch Karten und andere Datenrepräsentationen mit befahrbaren Straßensegmenten verbessert werden. Die vorliegenden Techniken verbessern ferner die Effizienz eines autonomen Fahrzeugs, das gemäß den Karten und anderen Datenrepräsentationen mit befahrbaren Straßensegmenten, wie hier beschrieben, betreibbar ist.
-
Systemüberblick
-
1 zeigt ein Beispiel eines AVs 100 mit einer Autonomiefähigkeit.
-
Hier bezieht sich der Begriff „Autonomiefähigkeit“ auf eine Funktion, ein Merkmal oder eine Einrichtung, die es einem Fahrzeug ermöglicht, teilweise oder vollständig ohne menschlichen Eingriff in Echtzeit betrieben zu werden, wobei dies vollständige AVs, hochgradige AVs und bedingte AVs einschließt, jedoch nicht darauf beschränkt ist.
-
Hier ist ein autonomes Fahrzeug (AV) ein Fahrzeug, das eine Autonomiefähigkeit besitzt.
-
Hier schließt „Fahrzeug“ Mittel für den Transport von Waren oder Personen ein. Beispielsweise sind dies Autos, Busse, Züge, Flugzeuge, Drohnen, Lastwagen, Boote, Schiffe, Unterseeboote, Luftschiffe usw. Ein fahrerloses Auto ist ein Beispiel eines Fahrzeugs.
-
Hier bezieht sich „Fahrstrecke“ auf einen Weg oder eine Route zur Navigation eines AVs von einem ersten räumlich-zeitlichen Ort zu einem zweiten räumlich-zeitlichen Ort. Gemäß einer Ausführungsform wird der erste räumlich-zeitliche Ort als Anfangs- oder Ausgangsort bezeichnet und wird der zweite räumlich-zeitliche Ort als Bestimmungsort, endgültiger Ort, Ziel, Zielposition oder Zielort bezeichnet. Bei einigen Beispielen besteht eine Fahrstrecke aus einem oder mehreren Segmenten (beispielsweise Straßenabschnitten) und besteht jedes Segment aus einem oder mehreren Blöcken (beispielsweise Teilen einer Fahrspur oder einer Kreuzung). Gemäß einer Ausführungsform entsprechen die räumlich-zeitlichen Orte realen Orten. Beispielsweise sind die räumlich-zeitlichen Orte Einlade- oder Ausladeorte für das Einladen oder Ausladen von Personen oder Waren.
-
Hier schließt „Sensor(en)“ eine oder mehrere Hardwarekomponenten ein, die Informationen über die Umgebung um den Sensor herum erfassen. Einige der Hardwarekomponenten können Messkomponenten (beispielsweise Bildsensoren, biometrische Sensoren), sendende und/oder empfangende Komponenten (beispielsweise Laser- oder Hochfrequenzwellen-Sender und -Empfänger), elektronische Komponenten in der Art von Analog-Digital-Wandlern, eine Datenspeichervorrichtung (in der Art eines RAMs und/oder eines nichtflüchtigen Speichers), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten in der Art eines ASICs (anwendungsspezifische integrierte Schaltung), eines Mikroprozessors und/oder einer Mikrosteuereinrichtung einschließen.
-
Hier ist eine „Szenenbeschreibung“ eine Datenstruktur (beispielsweise Liste) oder ein Datenstrom, der einen oder mehrere klassifizierte oder gelabelte Objekte aufweist, die durch einen oder mehrere Sensoren am AV-Fahrzeug erfasst oder durch eine Quelle außerhalb des AVs bereitgestellt werden.
-
Hier ist eine „Straße“ ein physischer Bereich, der von einem Fahrzeug durchfahren werden kann, und sie kann einer benannten Durchgangsroute (beispielsweise einer Stadtstraße, einer Autobahn usw.) oder einer unbenannten Durchgangsroute (beispielsweise eine Auffahrt in einem Haus oder Bürogebäude, einem Abschnitt eines Parkplatzes, einem Abschnitt einer leeren Parzelle, einem unbefestigten Weg in einem ländlichen Bereich usw.) entsprechen. Weil einige Fahrzeuge (beispielsweise Pickup-Trucks mit Vierradantrieb, SUVs usw.) in der Lage sind, eine Vielzahl physischer Bereiche zu durchqueren, die nicht spezifisch für das Durchfahren mit einem Fahrzeug angepasst sind, kann eine „Straße“ ein physischer Bereich sein, der nicht formal durch eine Gemeinde- oder andere Regierungs- oder Verwaltungsinstitution als Durchgangsroute definiert ist.
-
Hier ist eine „Fahrspur“ ein Teil einer Straße, der von einem Fahrzeug durchfahren werden kann. Eine Fahrspur wird manchmal auf der Grundlage von Fahrspurmarkierungen identifiziert. Eine Fahrspur kann beispielsweise dem größten Teil des Raums zwischen Fahrspurmarkierungen oder dem ganzen Raum dazwischen oder nur einem Teil (beispielsweise weniger als 50 %) des Raums zwischen Fahrspurmarkierungen entsprechen. Eine Straße mit weit beabstandeten Fahrspurmarkierungen könnte beispielsweise zwei oder mehr Fahrzeuge zwischen den Markierungen aufnehmen, so dass ein Fahrzeug an dem anderen vorbeifahren kann, ohne die Fahrspurmarkierungen zu überqueren, so dass sie als eine Fahrspur, die schmaler ist als der Raum zwischen den Fahrspurmarkierungen, oder als zwei Fahrspuren zwischen den Fahrspurmarkierungen aufweisend interpretiert werden könnte. Eine Fahrspur könnte auch bei Nichtvorhandensein von Fahrspurmarkierungen interpretiert werden. Beispielsweise kann eine Fahrspur auf der Grundlage eines physischen Merkmals einer Umgebung, beispielsweise Felsen und Bäume entlang einer Durchgangsroute in einem ländlichen Bereich oder beispielsweise natürlicher Hindernisse, die in einem nicht entwickelten Bereich zu vermeiden sind, definiert werden. Eine Fahrspur könnte auch unabhängig von Fahrspurmarkierungen oder physischen Merkmalen interpretiert werden. Beispielsweise könnte eine Fahrspur auf der Grundlage eines beliebigen von Hindernissen freien Wegs in einem Bereich, dem ansonsten Merkmale fehlen, die als Fahrspurgrenzen interpretiert werden würden, interpretiert werden. Bei einem beispielhaften Szenario könnte ein AV eine Fahrspur durch einen hindernisfreien Teil eines Felds oder leeren Grundstücks interpretieren. Bei einem anderen beispielhaften Szenario könnte ein AV eine Fahrspur durch eine breite Straße (die beispielsweise breit genug für zwei oder mehr Fahrspuren ist), die keine Fahrspurmarkierungen aufweist, interpretieren. In diesem Szenario könnte das AV Informationen über die Fahrspur zu anderen AVs übermitteln, so dass die anderen AVs die gleichen Fahrspurinformationen verwenden können, um eine Wegplanung untereinander zu koordinieren.
-
„Ein/eine/eines oder mehrere" schließt ein, dass eine Funktion durch ein Element ausgeführt wird, eine Funktion durch mehr als ein Element ausgeführt wird, beispielsweise in verteilter Weise, dass mehrere Funktionen durch ein Element ausgeführt werden, dass mehrere Funktionen durch mehrere Elemente ausgeführt werden, oder es schließt eine Kombination von diesen ein.
-
Es wird auch verstanden werden, dass, wenngleich die Begriffe erster, zweiter usw. hier in einigen Fällen verwendet werden, um verschiedene Elemente zu beschreiben, diese Elemente nicht auf diese Begriffe beschränkt werden sollten. Diese Begriffe werden nur verwendet, um ein Element von einem anderen Element zu unterscheiden. Beispielsweise könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet werden und könnte ähnlich ein zweiter Kontakt als ein erster Kontakt bezeichnet werden, ohne vom Schutzumfang der verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste und der zweite Kontakt sind beide Kontakte, sie sind jedoch nicht derselbe Kontakt.
-
Die in der Beschreibung der verschiedenen hier beschriebenen Ausführungsformen verwendete Terminologie dient nur der Beschreibung bestimmter Ausführungsformen und ist nicht als einschränkend vorgesehen. Wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und den anliegenden Ansprüchen verwendet, sollen die Singularformen „ein/eine/eines“ und „der/die/das“ auch die Pluralformen einschließen, es sei denn, dass der Zusammenhang klar etwas anderes angibt. Es sei auch bemerkt, dass der Begriff „und/oder“, wie er hier verwendet wird, jegliche und alle möglichen Kombinationen eines oder mehrerer der assoziierten aufgezählten Bestandteile betrifft und diese umfasst. Es ist ferner zu verstehen, dass die Begriffe „weist auf, „aufweisend“, „umfasst“ und/oder „umfassend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein erwähnter Merkmale, natürlicher Zahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifizieren, jedoch nicht das Vorhandensein oder das Hinzufügen eines oder mehrerer anderer Merkmale, natürlicher Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließen.
-
Hier sollte der Begriff „falls“ abhängig vom Zusammenhang optional als „wenn“ oder „bei“ oder „ansprechend auf eine Feststellung“ oder „ansprechend auf eine Erkennung“ bedeutend ausgelegt werden. Ähnlich sollte der Ausdruck „falls festgestellt wird“ oder „falls [eine erwähnte Bedingung oder ein erwähntes Ereignis] erkannt wird“ abhängig vom Zusammenhang optional als „bei einer Feststellung“ oder „ansprechend auf eine Feststellung“ oder „bei einer Erkennung [der erwähnten Bedingung oder des erwähnten Ereignisses]“ oder „ansprechend auf eine Erkennung [der erwähnten Bedingung oder des erwähnten Ereignisses]“ bedeutend ausgelegt werden.
-
Hier bezeichnet ein AV-System das AV zusammen mit einer Anordnung von Hardware, Software, gespeicherten Daten und in Echtzeit erzeugten Daten, wodurch der Betrieb des AVs unterstützt wird. Gemäß einer Ausführungsform ist das AV-System in ein AV aufgenommen. Gemäß einer Ausführungsform ist das AV-System über mehrere Orte verteilt. Beispielsweise wird ein Teil der Software des AV-Systems auf einer Cloud-Rechenumgebung implementiert, die einer nachstehend mit Bezug auf 2 beschriebenen Cloud-Rechenumgebung 200 ähnelt.
-
Dieses Dokument beschreibt generell Technologien, die auf jegliche Fahrzeuge anwendbar sind, die eine oder mehrere autonome Fähigkeiten aufweisen, einschließlich vollständiger AVs, hochgradiger AVs und bedingter AVs, wie jeweilige so genannte Level-5-, Level-4- und Level-3-Fahrzeuge (siehe SAE International's Standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems, der für weitere Einzelheiten über die Klassifikation von Autonomieniveaus in Fahrzeugen durch Verweis in seiner Gesamtheit aufgenommen wird). Die in diesem Dokument beschriebenen Technologien sind auch auf Teil-AVs und fahrerunterstützte Fahrzeuge anwendbar, wie so genannte Level-2- und Level-1-Fahrzeuge (siehe SAE International's Standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems). Gemäß einer Ausführungsform können ein oder mehrere der Level-1-, 2-, 3-, 4- und 5-Fahrzeugsysteme bestimmte Fahrzeugoperationen (beispielsweise Lenken, Bremsen und Verwenden von Karten) auf der Grundlage der Verarbeitung von Sensoreingaben unter bestimmten Betriebsbedingungen automatisieren. Die in diesem Dokument beschriebenen Technologien können Fahrzeuge auf allen Niveaus, die von vollständigen AVs bis zu personenbetriebenen Fahrzeugen reichen, begünstigen.
-
AVs haben Vorteile gegenüber Fahrzeugen, die einen menschlichen Fahrer benötigen. Ein Vorteil ist Sicherheit. Beispielsweise sind in den Vereinigten Staaten 2016 13 Millionen Autounfälle, 2,4 Millionen Verletzungen, 40000 Todesfälle und 6 Millionen an Unfällen beteiligte Fahrzeuge aufgetreten, was zu geschätzten gesellschaftlichen Kosten von mehr als 910 Milliarden Dollar geführt hat. Die Verkehrstoten in den USA pro 100 Millionen gefahrener Meilen wurden von 1965 bis 2015 von etwa sechs auf etwa einen verringert, was teilweise auf zusätzliche in Fahrzeugen installierte Sicherheitsmaßnahmen zurückzuführen ist. Beispielsweise wird angenommen, dass eine zusätzliche halbe Sekunde für eine Warnung, dass ein Unfall bevorsteht, Auffahrunfälle um 60 % verringert. Passive Sicherheitsmerkmale (beispielsweise Sicherheitsgurte, Airbags) haben jedoch wahrscheinlich ihre Grenze bei der Verbesserung dieser Zahl erreicht. Demgemäß sind aktive Sicherheitsmaßnahmen in der Art einer automatisierten Steuerung eines Fahrzeugs der wahrscheinliche nächste Schritt für die Verbesserung dieser Statistiken. Weil angenommen wird, dass menschliche Fahrer bei 95 % aller Unfälle für ein kritisches Ereignis vor einem Crash verantwortlich sind, ist es wahrscheinlich, dass automatisierte Fahrsysteme bessere Sicherheitsergebnisse erreichen, beispielsweise indem sie kritische Situationen besser als Personen zuverlässig erkennen und vermeiden, bessere Entscheidungen treffen, Verkehrsregeln beachten und künftige Ereignisse besser vorhersagen als Personen und ein Fahrzeug zuverlässiger steuern als eine Person.
-
Mit Bezug auf 1 sei bemerkt, dass ein AV-System 120 das Fahrzeug 100 entlang einer Fahrstrecke 198 durch eine Umgebung 190 zu einem Bestimmungsort 199 (manchmal als endgültiger Ort bezeichnet) betreibt, während es Objekte vermeidet (beispielsweise natürliche Hindernisse 191, Fahrzeuge 193, Fußgänger 192, Radfahrer und andere Hindernisse) und Straßenregeln gehorcht (beispielsweise Regeln für den Betrieb oder Farbpräferenzen).
-
Gemäß einer Ausführungsform weist das AV-System 120 Vorrichtungen 101 auf, die dafür eingerichtet sind, Betriebsbefehle von den Computerprozessoren 146 zu empfangen und anhand dieser zu arbeiten. Wir verwenden den Begriff „Betriebsbefehl“, um eine ausführbare Anweisung (oder einen Satz von Anweisungen) zu bezeichnen, wodurch ein Fahrzeug veranlasst wird, eine Aktion (beispielsweise ein Fahrmanöver) auszuführen. Betriebsbefehle können ohne Einschränkung Anweisungen an ein Fahrzeug, mit einer Vorwärtsbewegung zu beginnen, die Vorwärtsbewegung zu unterbrechen, mit einer Rückwärtsbewegung zu beginnen, die Rückwärtsbewegung zu unterbrechen, zu beschleunigen, zu verzögern, eine Linkskurve zu fahren und eine Rechtskurve zu fahren, einschließen. Gemäß einer Ausführungsform ähneln Rechenprozessoren 146 dem nachstehend mit Bezug auf 3 beschriebenen Prozessor 304. Beispiele von Vorrichtungen 101 umfassen eine Lenksteuerung 102, Bremsen 103, Getriebe, das Beschleunigungspedal oder andere Beschleunigungssteuermechanismen, Scheibenwischer, Seitentürverriegelungen, Fenstersteuerungen und Abbiegeindikatoren.
-
Gemäß einer Ausführungsform weist das AV-System 120 Sensoren 121 zum Messen oder Ableiten von Eigenschaften des Zustands oder der Bedingung des Fahrzeugs 100 in der Art der Position, der Linear- und Winkelgeschwindigkeit und -beschleunigung und der Fahrtrichtung (beispielsweise Orientierung des vorderen Endes des Fahrzeugs 100) des AVs auf. Beispiele von Sensoren 121 sind GPS, Trägheitsmesseinheiten (IMU), die sowohl Fahrzeuglinearbeschleunigungen als auch Winkelraten messen, Radgeschwindigkeitssensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsdrehmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren und Lenkwinkel- und Winkelratensensoren.
-
Gemäß einer Ausführungsform schließen die Sensoren 121 auch Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AVs ein. Beispiele sind Monokular- oder Stereovideokameras 122 im sichtbaren Licht, im Infrarot- oder im thermischen Spektrum (oder beiden), LiDAR 123, RADAR, Ultraschallsensoren, Flugzeit(TOF)-Tiefensensoren, Geschwindigkeitssensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensoren.
-
Gemäß einer Ausführungsform weist das AV-System 120 eine Datenspeichereinheit 142 und einen Speicher 144 zum Speichern von Maschinenbefehlen in Zusammenhang mit Computerprozessoren 146 oder durch Sensoren 121 gesammelten Daten auf. Gemäß einer Ausführungsform ähnelt die Datenspeichereinheit 142 dem ROM 308 oder der Speichervorrichtung 310, wie nachstehend in Bezug auf 3 beschrieben. Gemäß einer Ausführungsform ähnelt der Speicher 144 dem nachstehend beschriebenen Hauptspeicher 306. Gemäß einer Ausführungsform speichern die Datenspeichereinheit 142 und der Speicher 144 historische, Echtzeit- und/oder vorhersagende Informationen über die Umgebung 190. Gemäß einer Ausführungsform umfassen die gespeicherten Informationen Karten, Fahrleistung, Verkehrsstauaktualisierungen oder Wetterbedingungen. Gemäß einer Ausführungsform werden Daten in Bezug auf die Umgebung 190 über einen Kommunikationskanal von einer fernen Datenbank 134 zum Fahrzeug 100 gesendet.
-
Gemäß einer Ausführungsform weist das AV-System 120 Kommunikationsvorrichtungen 140 zur Übermittlung gemessener oder abgeleiteter Eigenschaften anderer Fahrzeugzustände und Bedingungen in der Art von Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen und Linear- und Winkelfahrtrichtungen zum Fahrzeug 100 auf. Diese Vorrichtungen umfassen Fahrzeug-zu-Fahrzeug(V2V)- und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikationsvorrichtungen und Vorrichtungen zur Drahtloskommunikation über Punkt-zu-Punkt- oder Ad-hoc-Netze oder beide. Gemäß einer Ausführungsform kommunizieren die Kommunikationsvorrichtungen 140 über das elektromagnetische Spektrum (einschließlich Funk- und optischer Kommunikationen) oder andere Medien (beispielsweise Luft- und akustische Medien). Eine Kombination von Fahrzeug-zu-Fahrzeug(V2V)- und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikation (und gemäß einigen Ausführungsformen einem oder mehreren anderen Kommunikationstypen) wird manchmal als Fahrzeug-zu-alles(V2X)-Kommunikation bezeichnet. Die V2X-Kommunikation genügt typischerweise einem oder mehreren Kommunikationsstandards für die Kommunikation mit, zwischen und unter AVs.
-
Gemäß einer Ausführungsform weisen die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen auf. Beispiele sind festverdrahtete, drahtlose, WiMAX-, Wi-Fi-, Bluetooth-, Satelliten-, Mobilfunk-, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen senden Daten von einer fernen Datenbank 134 zum AV-System 120. Gemäß einer Ausführungsform ist die ferne Datenbank 134 in eine in 2 beschriebene Cloud-Rechenumgebung 200 eingebettet. Die Kommunikationsvorrichtungen 140 senden von Sensoren 121 gesammelte oder andere Daten in Bezug auf den Betrieb des Fahrzeugs 100 zur fernen Datenbank 134. Gemäß einer Ausführungsform senden Kommunikationsvorrichtungen 140 Informationen, die sich auf Teleoperationen beziehen, zum Fahrzeug 100. Gemäß einigen Ausführungsformen kommuniziert das Fahrzeug 100 mit anderen fernen (beispielsweise „Cloud“-) Servern 136.
-
Gemäß einer Ausführungsform speichert und sendet die ferne Datenbank 134 auch digitale Daten (beispielsweise Daten in der Art von Straßen- und Stadtstraßenorten). Diese Daten werden im Speicher 144 am Fahrzeug 100 gespeichert oder über einen Kommunikationskanal von der fernen Datenbank 134 zum Fahrzeug 100 gesendet.
-
Gemäß einer Ausführungsform speichert und sendet die ferne Datenbank 134 historische Informationen über Fahreigenschaften (beispielsweise Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten entlang der Fahrstrecke 198 gefahren sind. Bei einer Implementation können diese Daten im Speicher 144 am Fahrzeug 100 gespeichert werden oder über einen Kommunikationskanal von der fernen Datenbank 134 zum Fahrzeug 100 gesendet werden.
-
Computerprozessoren 146, die sich am Fahrzeug 100 befinden, erzeugen algorithmisch Steueraktionen auf der Grundlage sowohl von Echtzeit-Sensordaten als auch vorhergehender Informationen, wodurch es dem AV-System 120 ermöglicht wird, seine autonomen Fahrfähigkeiten auszuführen.
-
Gemäß einer Ausführungsform weist das AV-System 120 Computerperipheriegeräte 132 auf, die mit Computerprozessoren 146 gekoppelt sind, um einem Benutzer (beispielsweise einem Insassen oder einem fernen Benutzer) des Fahrzeugs 100 Informationen und Warnungen bereitzustellen und eine Eingabe davon zu empfangen. Gemäß einer Ausführungsform ähneln Peripheriegeräte 132 der Anzeige 312, der Eingabevorrichtung 314 und der Cursorsteuereinrichtung 316, wie nachstehend mit Bezug auf 3 erörtert. Die Kopplung ist drahtlos oder verdrahtet. Jegliche zwei oder mehr der Schnittstellenvorrichtungen können in eine einzige Vorrichtung integriert werden.
-
Gemäß einer Ausführungsform empfängt und erzwingt das AV-System 120 ein Privatheitsniveau eines Fahrgasts, beispielsweise durch den Fahrgast spezifiziert oder in einem Profil in Zusammenhang mit dem Fahrgast gespeichert. Das Privatheitsniveau des Fahrgasts legt fest, wie bestimmte Informationen in Zusammenhang mit dem Fahrgast (beispielsweise Fahrgastkomfortdaten, biometrische Daten usw.) verwendet, im Fahrgastprofil gespeichert und/oder auf dem Cloud-Server 136 gespeichert und dem Fahrgastprofil zugeordnet werden dürfen. Gemäß einer Ausführungsform spezifiziert das Privatheitsniveau bestimmte Informationen in Zusammenhang mit einem Fahrgast, die gelöscht werden, sobald die Fahrt abgeschlossen ist. Gemäß einer Ausführungsform spezifiziert das Privatheitsniveau bestimmte Informationen in Zusammenhang mit einem Fahrgast und identifiziert eine oder mehrere Entitäten, die berechtigt sind, auf die Informationen zuzugreifen. Beispiele spezifizierter Entitäten, die berechtigt sind, auf Informationen zuzugreifen, können andere AVs, AV-Systeme einer dritten Partei oder eine beliebige Entität, die möglicherweise auf die Informationen zugreifen könnte, einschließen.
-
Ein Privatheitsniveau eines Fahrgasts kann auf einem oder mehreren Granularitätsniveaus spezifiziert werden. Gemäß einer Ausführungsform identifiziert ein Privatheitsniveau spezifische zu speichernde oder zu teilende Informationen. Gemäß einer Ausführungsform gilt das Privatheitsniveau für alle Informationen in Zusammenhang mit dem Fahrgast, so dass der Fahrgast spezifizieren kann, dass keine seiner persönlichen Informationen gespeichert oder geteilt werden. Eine Spezifikation der Entitäten, die auf bestimmte Informationen zugreifen dürfen, können auch auf verschiedenen Granularitätsniveaus spezifiziert werden. Verschiedene Sätze von Entitäten, die auf bestimmte Informationen zugreifen dürfen, können beispielsweise andere AVs, Cloud-Server 136, spezifische AV-Systeme einer dritten Partei usw. einschließen.
-
Gemäß einer Ausführungsform bestimmt das AV-System 120 oder der Cloud-Server 136, ob auf gewisse Informationen in Zusammenhang mit einem Fahrgast durch das AV 100 oder eine andere Entität zugegriffen werden kann. Beispielsweise muss ein AV-System einer dritten Partei, das versucht, auf eine Fahrgasteingabe in Bezug auf einen bestimmten räumlich-zeitlichen Ort zuzugreifen, eine Autorisierung erhalten, beispielsweise vom AV-System 120 oder vom Cloud-Server 136, auf die Informationen in Zusammenhang mit dem Fahrgast zuzugreifen. Beispielsweise verwendet das AV-System 120 das spezifizierte Privatheitsniveau des Fahrgasts, um festzustellen, ob die Eingabe des Fahrgasts in Bezug auf den räumlich-zeitlichen Ort dem AV-System der dritten Partei, dem AV 100 oder einem anderen AV präsentiert werden kann. Dies ermöglicht es, dass das Privatheitsniveau des Fahrgasts spezifiziert, welche anderen Entitäten Daten über die Aktionen des Fahrgasts oder andere Daten in Zusammenhang mit dem Fahrgast empfangen dürfen.
-
2 eine beispielhafte „Cloud“-Rechenumgebung, Cloud-Computing ist ein Modell der Dienstauslieferung zum Ermöglichen eines zweckmäßigen auf Anforderung erfolgenden Netzzugriffs auf einen geteilten Pool konfigurierbarer Rechenressourcen (beispielsweise Netze, Netzbandbreite, Server, Verarbeitung, Speicher, Massenspeicher, Anwendungen, virtuelle Maschinen und Dienste). In typischen Cloud-Rechensystemen nehmen ein oder mehrere große Cloud-Rechenzentren die Maschinen auf, die zur Auslieferung der durch die Cloud bereitgestellten Dienste verwendet werden. Mit Bezug auf 2 sei nun bemerkt, dass die Cloud-Rechenumgebung 200 Cloud-Rechenzentren 204a, 204b und 204c aufweist, die durch die Cloud 202 miteinander verbunden sind. Die Rechenzentren 204a, 204b und 204c stellen Computersystemen 206a, 206b, 206c, 206d, 206e und 206f, die mit der Cloud 202 verbunden sind, Cloud-Rechendienste bereit.
-
Die Cloud-Rechenumgebung 200 weist ein oder mehrere Cloud-Rechenzentren auf. Ein Cloud-Rechenzentrum, beispielsweise das in 2 dargestellte Cloud-Rechenzentrum 204a, bezieht sich allgemein auf die physische Anordnung der eine Cloud, beispielsweise die in 2 dargestellte Cloud 202, oder einen bestimmten Teil einer Cloud bildenden Server. Beispielsweise sind Server im Cloud-Rechenzentrum physisch in Räumen, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Rechenzentrum weist eine oder mehrere Zonen auf, die einen oder mehrere Serverräume aufweisen. Jeder Raum weist eine oder mehrere Serverreihen auf, und jede Reihe weist ein oder mehrere Racks auf. Jedes Rack weist einen oder mehrere individuelle Serverknoten auf. Gemäß einigen Implementationen sind Server in Zonen, Räumen, Racks und/oder Reihen auf der Grundlage physischer Infrastrukturanforderungen der Rechenzentrumsanlage, welche Leistungs-, Energie-, thermische, Wärme- und/oder andere Anforderungen einschließen, in Gruppen angeordnet. Gemäß einer Ausführungsform ähneln die Serverknoten dem in 3 beschriebenen Computersystem. Das Rechenzentrum 204a weist viele über viele Racks verteilte Rechensysteme auf.
-
Die Cloud 202 weist Cloud-Rechenzentren 204a, 204b und 204c zusammen mit den Netz- und Vernetzungsressourcen (beispielsweise Vernetzungsgeräte, Nodes, Router, Switches und Vernetzungskabel), welche die Cloud-Rechenzentren 204a, 204b und 204c verbinden und dabei helfen, den Zugriff der Rechensysteme 206a-f auf Cloud-Rechendienste zu ermöglichen, auf. Gemäß einer Ausführungsform repräsentiert das Netz eine Kombination eines oder mehrerer lokaler Netze, Weitbereichsnetze oder Internetsysteme, die unter Verwendung festverdrahteter oder drahtloser Links, die unter Verwendung drahtgestützter oder Satellitenverbindungen erzeugt werden, gekoppelt sind. Über das Netz ausgetauschte Daten werden unter Verwendung einer Anzahl von Netzschichtprotokollen in der Art des Internetprotokolls (IP), Multiprotocol Label Switching (MPLS), asynchroner Übertragungsmodus (ATM), Frame Relay usw. übertragen. Ferner werden bei Ausführungsformen, bei denen das Netz eine Kombination mehrerer Subnetze repräsentiert, verschiedene Netzschichtprotokolle an jedem der darunter liegenden Subnetze verwendet. Gemäß einigen Ausführungsformen repräsentiert das Netz ein oder mehrere verbundene Internetsysteme in der Art des öffentlichen Internets.
-
Die Kunden der Rechensysteme 206a-f oder Cloud-Rechendienste werden durch Netz-Links und Netzadapter mit der Cloud 202 verbunden. Gemäß einer Ausführungsform sind die Rechensysteme 206a-f als verschiedene Rechenvorrichtungen, beispielsweise Server, Desktops, Laptops, Tablets, Smartphones, Internet-der-Dinge(IoT)-Vorrichtungen, AVs (einschließlich Personenwagen, Drohnen, Shuttles, Züge, Busse usw.) und Endverbraucherelektronik implementiert. Gemäß einer Ausführungsform sind die Rechensysteme 206a-f in anderen Systemen oder als Teil davon implementiert.
-
3 zeigt ein Computersystem 300. Bei einer Implementation ist das Computersystem 300 eine Rechenvorrichtung für spezielle Zwecke. Die Rechenvorrichtung für spezielle Zwecke ist festverdrahtet, um die Techniken auszuführen, oder sie weist digitale elektronische Vorrichtungen in der Art einer oder mehrerer anwendungsspezifischer integrierter Schaltungen (ASICs) oder feldprogrammierbarer Gate-Arrays (FPGAs) auf, die permanent programmiert sind, um die Techniken auszuführen, oder sie kann einen oder mehrere Hardwareprozessoren für allgemeine Zwecke aufweisen, die programmiert sind, um die Techniken gemäß Programmbefehlen in Firmware, im flüchtigen Speicher oder einem anderen Speicher oder einer Kombination davon auszuführen. Diese Rechenvorrichtungen für spezielle Zwecke können auch eine eigens eingerichtete festverdrahtete Logik, ASICs oder FPGAs mit eigens eingerichteter Programmierung kombinieren, um die Techniken auszuführen. Gemäß verschiedenen Ausführungsformen sind die Rechenvorrichtungen für spezielle Zwecke Desktopcomputersysteme, tragbare Computersysteme, handgehaltene Vorrichtungen, Netzvorrichtungen oder eine andere Vorrichtung, die eine festverdrahtete und/oder Programmlogik aufweist, um die Techniken zu implementieren.
-
Gemäß einer Ausführungsform weist das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zur Übermittlung von Informationen und einen mit einem Bus 302 gekoppelten Prozessor 304 zur Verarbeitung von Informationen auf. Der Prozessor 304 ist beispielsweise ein Mikroprozessor für allgemeine Zwecke. Das Computersystem 300 weist auch einen Hauptspeicher 306 in der Art eines Direktzugriffsspeichers (RAMs) oder einer anderen dynamischen Speichervorrichtung auf, die mit dem Bus 302 gekoppelt ist, um Informationen und Befehle, die durch den Prozessor 304 auszuführen sind, zu speichern. Bei einer Implementation wird der Hauptspeicher 306 zum Speichern temporärer Variablen oder anderer Zwischeninformationen während der Ausführung durch den Prozessor 304 auszuführender Befehle verwendet. Diese Befehle machen, wenn sie in einem für den Prozessor 304 zugänglichen nichtflüchtigen Speichermedium gespeichert werden, das Computersystem 300 zu einer Maschine für spezielle Zwecke, die eigens dafür eingerichtet ist, die in den Befehlen spezifizierten Operationen auszuführen.
-
Gemäß einer Ausführungsform weist das Computersystem 300 ferner einen Nurlesespeicher (ROM) 308 oder eine andere mit dem Bus 302 gekoppelte statische Speichervorrichtung zum Speichern statischer Informationen und Befehle für den Prozessor 304 auf. Eine Speichervorrichtung 310 in der Art einer Magnetplatte, einer optischen Scheibe, eines Halbleiterlaufwerks oder eines dreidimensionalen Cross-Point-Speichers ist für den Bus 302 für das Speichern von Informationen und Befehlen bereitgestellt und damit gekoppelt.
-
Gemäß einer Ausführungsform ist das Computersystem 300 über den Bus 302 mit einer Anzeige 312 in der Art einer Kathodenstrahlröhre (CRT), einer Flüssigkristallanzeige (LCD), einer Plasmaanzeige, einer Leuchtdioden(LED)-Anzeige oder einer Organische-Leuchtdioden(OLED)-Anzeige gekoppelt, um einem Computerbenutzer Informationen zu zeigen. Eine Eingabevorrichtung 314, die alphanumerische und andere Tasten aufweist, ist mit dem Bus 302 gekoppelt, um Informationen und Befehlsauswahlen zum Prozessor 304 zu übermitteln. Ein anderer Typ einer Benutzereingabevorrichtung ist eine Cursorsteuereinrichtung 316 in der Art einer Maus, eines Trackballs, einer berührungsfähigen Anzeige oder von Cursorrichtungstasten zur Übermittlung von Richtungsinformationen und Befehlsauswahlen zum Prozessor 304 und zum Steuern der Cursorbewegung auf der Anzeige 312. Diese Eingabevorrichtung weist typischerweise zwei Freiheitsgrade in zwei Achsen, nämlich einer ersten Achse (beispielsweise x-Achse) und einer zweiten Achse (beispielsweise y-Achse), auf, wodurch es der Vorrichtung ermöglicht wird, Positionen in einer Ebene zu spezifizieren.
-
Gemäß einer Ausführungsform werden die hier dargelegten Techniken ansprechend darauf durch das Computersystem 300 ausgeführt, dass der Prozessor 304 eine oder mehrere Sequenzen eines oder mehrerer im Hauptspeicher 306 enthaltener Befehle ausführt. Diese Befehle werden aus einem anderen Speichermedium in der Art der Speichervorrichtung 310 in den Hauptspeicher 306 gelesen. Die Ausführung der Sequenzen der im Hauptspeicher 306 enthaltenen Befehle veranlasst den Prozessor 304, die hier beschriebenen Prozessschritte auszuführen. Gemäß alternativen Ausführungsformen wird eine festverdrahtete Schaltungsanordnung an Stelle von Softwarebefehlen oder in Kombination damit verwendet.
-
Der hier verwendete Begriff „Speichermedien“ bezeichnet nichtflüchtige Medien, die Daten und/oder Befehle speichern, welche eine Maschine veranlassen, in einer spezifischen Weise zu arbeiten. Diese Speichermedien schließen nichtflüchtige und/oder flüchtige Medien ein. Nichtflüchtige Medien schließen beispielsweise optische Scheiben, Magnetplatten, Halbleiterlaufwerke oder einen dreidimensionalen Cross-Point-Speicher in der Art der Speichervorrichtung 310 ein. Flüchtige Medien schließen einen dynamischen Speicher in der Art des Hauptspeichers 306 ein. Übliche Formen von Speichermedien schließen beispielsweise eine Diskette, eine flexible Scheibe, eine Festplatte, ein Halbleiterlaufwerk, ein Magnetband oder einen anderen Typ eines magnetischen Datenspeichermediums, eine CD-ROM, ein anderes optisches Datenspeichermedium, ein physisches Medium mit Lochmustern, einen RAM, einen PROM und einen EPROM, einen FLASH-EPROM, NV-RAM oder einen anderen Speicherchip oder einen anderen Speichereinsatz ein.
-
Speichermedien unterscheiden sich von Übertragungsmedien, können jedoch zusammen mit diesen verwendet werden. Übertragungsmedien nehmen an der Übertragung von Informationen zwischen Speichermedien teil. Beispielsweise schließen Übertragungsmedien Koaxialkabel, Kupferdraht und Faseroptiken, einschließlich der Drähte, die den Bus 302 umfassen, ein. Übertragungsmedien können auch die Form akustischer Wellen oder von Lichtwellen in der Art jener, die während Funkwellen- und Infrarot-Datenkommunikationen erzeugt werden, annehmen.
-
Gemäß einer Ausführungsform sind verschiedene Medienformen daran beteiligt, eine oder mehrere Sequenzen eines oder mehrerer Befehle zur Ausführung zum Prozessor 304 zu übertragen. Beispielsweise werden die Befehle anfänglich auf eine Magnetplatte oder ein Halbleiterlaufwerk eines fernen Computers übertragen. Der ferne Computer lädt die Befehle in seinen dynamischen Speicher und sendet sie unter Verwendung eines Modems über eine Telefonleitung. Ein am Computersystem 300 lokales Modem empfängt die Daten auf der Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal zu wandeln. Ein Infrarotdetektor empfängt die im Infrarotsignal übertragenen Daten, und eine geeignete Schaltungsanordnung gibt die Daten auf den Bus 302. Der Bus 302 überträgt die Daten zum Hauptspeicher 306, von wo aus der Prozessor 304 die Befehle abruft und ausführt. Die vom Hauptspeicher 306 empfangenen Befehle können optional entweder vor oder nach der Ausführung durch den Prozessor 304 auf der Speichervorrichtung 310 gespeichert werden.
-
Das Computersystem 300 weist auch eine mit dem Bus 302 gekoppelte Kommunikationsschnittstelle 318 auf. Die Kommunikationsschnittstelle 318 stellt eine Zweiwege-Datenkommunikation bereit, die mit einem Netz-Link 320 koppelt, der mit einem lokalen Netz 322 verbunden ist. Beispielsweise ist die Kommunikationsschnittstelle 318 eine Integrated-Service-Digital-Network(ISDN)-Karte, ein Kabelmodem, ein Satellitenmodem oder ein Modem zur Bereitstellung einer Datenkommunikationsverbindung mit einem entsprechenden Typ einer Telefonleitung. Bei einem anderen Beispiel ist die Kommunikationsschnittstelle 318 eine Lokales-Netz(LAN)-Karte zur Bereitstellung einer Datenkommunikationsverbindung zu einem kompatiblen LAN. Bei einigen Implementationen sind auch Drahtlos-Links implementiert. Bei jeglichen solchen Implementationen sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die verschiedene Informationstypen repräsentierende digitale Datenströme übertragen.
-
Der Netz-Link 320 stellt typischerweise eine Datenkommunikation über ein oder mehrere Netze zu anderen Datenvorrichtungen bereit. Beispielsweise stellt der Netz-Link 320 eine Verbindung durch das lokale Netz 322 zu einem Host-Computer 324 oder zu einem Cloud-Rechenzentrum oder einem durch einen Internet-Dienstanbieter (ISP) 326 betriebenen Gerät bereit. Der ISP 326 stellt wiederum Datenkommunikationsdienste durch das nun üblicherweise als „Internet“ 328 bezeichnete weltweite Paketdaten-Kommunikationsnetz bereit. Das lokale Netz 322 und das Internet 328 verwenden beide elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen. Die über die verschiedenen Netze übertragenen Signale und die Signale auf dem Netz-Link 320 und die durch die Kommunikationsschnittstelle 318 übertragenen Signale, wodurch die digitalen Daten zum Computersystem 300 und von diesem übertragen werden, sind beispielhafte Formen von Übertragungsmedien. Gemäß einer Ausführungsform enthält das Netz 320 die Cloud 202 oder einen Teil der Cloud 202, wie vorstehend beschrieben.
-
Das Computersystem 300 sendet Nachrichten und empfängt Daten, einschließlich Programmcode, über das Netz (die Netze), den Netz-Link 320 und die Kommunikationsschnittstelle 318. Gemäß einer Ausführungsform empfängt das Computersystem 300 Code zur Verarbeitung. Der empfangene Code wird durch den Prozessor 304 ausgeführt, wenn er empfangen wird, und/oder zur späteren Ausführung in der Speichervorrichtung 310 oder einem anderen nichtflüchtigen Speicher gespeichert.
-
Architektur autonomer Fahrzeuge
-
4 zeigt eine beispielhafte Architektur 400 für ein AV (beispielsweise das in 1 dargestellte Fahrzeug 100). Die Architektur 400 weist ein Wahrnehmungssystem 402 (manchmal als Wahrnehmungsschaltung bezeichnet), ein Planungssystem 404 (manchmal als Planungsschaltung bezeichnet), ein Steuersystem 406 (manchmal als Steuerschaltung bezeichnet), ein Lokalisierungssystem 408 (manchmal als Lokalisierungsschaltung bezeichnet) und ein Datenbanksystem 410 (manchmal als Datenbankschaltung bezeichnet) auf. Jedes System spielt eine Rolle beim Betrieb des Fahrzeugs 100. Zusammen können die Systeme 402, 404, 406, 408 und 410 Teil des in 1 dargestellten AV-Systems 120 sein. Gemäß einigen Ausführungsformen ist eines der Systeme 402, 404, 406, 408 und 410 eine Kombination von Computersoftware (beispielsweise auf einem computerlesbaren Medium gespeicherten ausführbaren Codes) und Computerhardware (beispielsweise einem oder mehreren Mikroprozessoren, Mikrosteuereinrichtungen, anwendungsspezifischen integrierten Schaltungen [ASICs]), Hardwarespeichervorrichtungen, anderen Typen integrierter Schaltungen, anderen Typen von Computerhardware oder eine Kombination jeglicher oder aller dieser Dinge. Jedes der Systeme 402, 404, 406, 408 und 410 wird manchmal als Verarbeitungsschaltung (beispielsweise Computerhardware, Computersoftware oder eine Kombination der beiden) bezeichnet. Eine Kombination jeglicher oder aller der Systeme 402, 404, 406, 408 und 410 ist auch ein Beispiel einer Verarbeitungsschaltung.
-
Bei der Verwendung empfängt das Planungssystem 404 Daten, die einen Bestimmungsort 412 repräsentieren, und bestimmt Daten, die eine Fahrstrecke 414 (manchmal als Route bezeichnet) repräsentieren, welche vom Fahrzeug 100 durchfahren werden kann, um den Bestimmungsort 412 zu erreichen (beispielsweise an diesem anzukommen). Damit das Planungssystem 404 die Daten bestimmen kann, welche die Fahrstrecke 414 repräsentieren, empfängt das Planungssystem 404 Daten vom Wahrnehmungssystem 402, vom Lokalisierungssystem 408 und vom Datenbanksystem 410.
-
Das Wahrnehmungssystem 402 identifiziert nahegelegene physische Objekte unter Verwendung eines oder mehrerer Sensoren 121, wie beispielsweise auch in 1 dargestellt. Die Objekte werden klassifiziert (beispielsweise in Typen wie Fußgänger, Fahrrad, Kraftfahrzeug, Verkehrszeichen usw. gruppiert), und es wird eine die klassifizierten Objekte 416 aufweisende Szenenbeschreibung dem Planungssystem 404 bereitgestellt.
-
Das Planungssystem 404 empfängt auch Daten, welche die AV-Position 418 repräsentieren, vom Lokalisierungssystem 408. Das Lokalisierungssystem 408 bestimmt die AV-Position unter Verwendung von Daten von den Sensoren 121 und Daten vom Datenbanksystem 410 (beispielsweise geographische Daten), um eine Position zu berechnen. Beispielsweise verwendet das Lokalisierungssystem 408 Daten von einem GNSS(globales Navigationssatellitensystem)-Sensor und geographische Daten zur Berechnung der Länge und der Breite des AVs. Gemäß einer Ausführungsform umfassen vom Lokalisierungssystem 408 verwendete Daten Karten hoher Genauigkeit der geometrischen Eigenschaften entlang dem Weg, Karten, die Straßennetz-Verbindbarkeitseigenschaften beschreiben, Karten, die physische Eigenschaften des Wegs beschreiben (wie Verkehrsgeschwindigkeit, Verkehrsaufkommen, die Anzahl von Fahrzeug- und Radfahrer-Verkehrsspuren, Fahrspurbreite, Fahrspur-Verkehrsrichtungen oder Fahrspur-Markierungstypen und -orte oder Kombinationen von ihnen) und Karten, welche die räumlichen Orte von Straßenmerkmalen in der Art von Fußgängerüberwegen, Verkehrszeichen oder anderen Verkehrssignalen verschiedener Typen beschreiben. Gemäß einer Ausführungsform werden die Karten hoher Genauigkeit durch Hinzufügen von Daten durch automatische oder manuelle Annotation zu Karten geringer Genauigkeit gebildet.
-
Das Steuersystem 406 empfängt die Daten, welche die Fahrstrecke 414 repräsentieren, und die Daten, welche die AV-Position 418 repräsentieren, und führt die Steuerfunktionen 420a-c (beispielsweise Lenken, Drosseln, Bremsen, Zündung) des AVs derart aus, dass das Fahrzeug 100 veranlasst wird, entlang der Fahrstrecke 414 zum Bestimmungsort 412 zu fahren. Falls die Fahrstrecke 414 beispielsweise eine Abbiegung nach links aufweist, führt das Steuersystem 406 die Steuerfunktionen 420a-c so aus, dass der Lenkwinkel der Lenkfunktion das Fahrzeug 100 veranlasst, nach links abzubiegen, und das Drosseln und das Bremsen das Fahrzeug 100 veranlassen, zu halten und auf das Passieren von Fußgängern oder Fahrzeugen zu warten, bevor die Abbiegung vorgenommen wird.
-
Eingaben autonomer Fahrzeuge
-
5 zeigt ein Beispiel von Eingaben 502a-d (beispielsweise in 1 dargestellten Sensoren 121) und Ausgaben 504a-d (beispielsweise Sensordaten), die vom Wahrnehmungssystem 402 (4) verwendet werden. Eine Eingabe 502a ist ein LiDAR(Light Detection and Ranging)-System (beispielsweise das in 1 dargestellte LiDAR 123). LiDAR ist eine Technologie, die Licht (beispielsweise Bursts von Licht in der Art von Infrarotlicht) verwendet, um Daten über physische Objekte in der 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 für die Bildung einer Repräsentation der Umgebung 190 verwendet werden.
-
Eine andere Eingabe 502b ist ein RADAR-System. RADAR ist eine Technologie, die Radiowellen verwendet, um Daten über nahegelegene physische Objekte zu erhalten. RADARs können Daten über Objekte erhalten, die nicht innerhalb der Sichtlinie eines LiDAR-Systems liegen. Ein RADAR-System erzeugt RADAR-Daten als Ausgabe 504b. Beispielsweise sind RADAR-Daten ein oder mehrere elektromagnetische Radiofrequenzsignale, die zur Bildung einer Repräsentation der Umgebung 190 verwendet werden.
-
Eine andere Eingabe 502c ist ein Kamerasystem. Ein Kamerasystem verwendet eine oder mehrere Kameras (beispielsweise Digitalkameras unter Verwendung eines Lichtsensors in der Art einer ladungsgekoppelten Vorrichtung [CCD]), um Informationen über nahegelegene physische Objekte zu erhalten. Ein Kamerasystem erzeugt Kameradaten als Ausgabe 504c. Kameradaten nehmen häufig die Form von Bilddaten (beispielsweise Daten in einem Bilddatenformat in der Art von RAW, JPEG, PNG usw.) an. Bei einigen Beispielen weist das Kamerasystem mehrere unabhängige Kameras, beispielsweise zu Stereopsis(Stereosicht)-Zwecken auf, wodurch das Kamerasystem befähigt wird, Tiefe wahrzunehmen. Wenngleich die vom Kamerasystem wahrgenommenen Objekte hier als „nahegelegen“ beschrieben werden, ist dies für das AV relativ. Gemäß einigen Ausführungsformen ist das Kamerasystem dafür ausgelegt, Objekte in der Ferne „zu sehen“, beispielsweise bis zu einem Kilometer oder mehr vor dem AV. Dementsprechend weist das Kamerasystem gemäß einigen Ausführungsformen Merkmale in der Art von Sensoren und Linsen auf, die für die Wahrnehmung von fernen Objekten optimiert sind.
-
Eine andere Eingabe 502d ist ein Ampelerkennungs(TLD)-System. Ein TLD-System verwendet eine oder mehrere Kameras, um Informationen über Ampeln, Straßenzeichen und andere physische Objekte, die visuelle Navigationsinformationen bereitstellen, zu erhalten. Ein TLD-System erzeugt TLD-Daten als Ausgabe 504d. TLD-Daten nehmen häufig die Form von Bilddaten (beispielsweise Daten in einem Bilddatenformat in der Art von RAW, JPEG, PNG usw.) an. Ein TLD-System unterscheidet sich von einem eine Kamera aufweisenden System in der Hinsicht, dass ein TLD-System eine Kamera mit einem weiten Gesichtsfeld (beispielsweise unter Verwendung einer Weitwinkellinse oder einer Fischaugenlinse) verwendet, um Informationen über möglichst viele visuelle Navigationsinformationen bereitstellende physische Objekte zu erhalten, so dass das Fahrzeug 100 Zugriff auf alle durch diese Objekte bereitgestellten relevanten Navigationsinformationen hat. Beispielsweise beträgt der Sichtwinkel des TLD-Systems etwa 120 Grad oder mehr.
-
Gemäß einigen Ausführungsformen werden Ausgaben 504a-d unter Verwendung einer Sensorzusammenführungstechnik kombiniert. Demgemäß werden entweder die individuellen Ausgaben 504a-d anderen Systemen des Fahrzeugs 100 bereitgestellt (beispielsweise einem Planungssystem 404, wie in 4 dargestellt, bereitgestellt), oder die kombinierte Ausgabe kann den anderen Systemen bereitgestellt werden, entweder in Form einer einzigen kombinierten Ausgabe oder mehrerer kombinierter Ausgaben desselben Typs (beispielsweise unter Verwendung derselben Kombinationstechnik oder durch Kombinieren derselben Ausgaben oder beider) oder verschiedener Typen (beispielsweise unter Verwendung verschiedener jeweiliger Kombinationstechniken oder einer Kombination verschiedener jeweiliger Ausgaben oder beider). Gemäß einigen Ausführungsformen wird eine frühe Zusammenführungstechnik verwendet. Eine frühe Zusammenführungstechnik ist dadurch gekennzeichnet, dass Ausgaben kombiniert werden, bevor ein oder mehrere Datenverarbeitungsschritte auf die kombinierte Ausgabe angewendet werden. Gemäß einigen Ausführungsformen wird eine späte Zusammenführungstechnik verwendet. Eine späte Zusammenführungstechnik ist dadurch gekennzeichnet, dass Ausgaben kombiniert werden, nachdem ein oder mehrere Datenverarbeitungsschritte auf die individuellen Ausgaben angewendet wurden.
-
Automatische Annotation befahrbarer Straßensegmente
-
6 zeigt ein Blockdiagramm eines beispielhaften Straßenannotationssystems 600. Gemäß einer Ausführungsform ist das Straßenannotationssystem 600 ein Teil der in 4 dargestellten Verarbeitungsschaltung. Gemäß einer Ausführungsform ist das Straßenannotationssystem 600 ein Teil der in 2 dargestellten Cloud 202. Im Allgemeinen annotiert das Straßenannotationssystem 600 Kartendaten durch Labeln von Teilen der Kartendaten als einem befahrbaren Bereich der Umgebung entsprechend. Ein befahrbarer Bereich ist ein Teil der Umgebung (beispielsweise ein physischer Bereich), der von einem Fahrzeug durchfahren werden kann. Beispielsweise ist ein befahrbarer Bereich eine Straße, die einer benannten Durchgangsroute (beispielsweise Stadtstraße, Überlandstraße usw.) entspricht. Bei Beispielen ist der befahrbare Bereich eine Straße, die einer unbenannten Durchgangsroute (beispielsweise einer Auffahrt in einem Haus oder einem Bürogebäude, einem Teil eines Parkplatzes, einem Teil eines leeren Grundstücks, einem unbefestigten Weg in einem ländlichen Bereich usw.) entspricht. Zur Vereinfachung der Beschreibung wird der befahrbare Bereich als befahrbare Straße bezeichnet. Die vorliegenden Techniken sind jedoch nicht auf einen bestimmten Straßentyp beschränkt, und es kann eine beliebige Straße gemäß den vorliegenden Techniken gelabelt werden. Bei einem Beispiel identifiziert ein Label einen Bereich als Teil eines befahrbaren Straßensegments oder als nicht Teil eines befahrbaren Straßensegments. Gemäß einer Ausführungsform ist das Straßenannotationssystem 600 ein eigenständiges System an einem AV in der Art des in 1 dargestellten AVs 100. Gemäß einer Ausführungsform ist das Straßenannotationssystem 600 Teil des in 3 dargestellten Prozessors 304. Gemäß einer Ausführungsform ist das Straßenannotationssystem 600 Teil eines fernen Prozessors in einer in 2 dargestellten Cloud 202.
-
Das Straßenannotationssystem 600 nimmt als Eingabe von Sensoren 602 eines AVs ausgegebene Sensordaten 604. Gemäß einer Ausführungsform umfassen die Sensoren 602 wenigstens ein LiDAR 502a, ein RADAR 502b oder eine Kamera 502c, wie in 5 dargestellt. Dementsprechend umfassen die Sensordaten 604 gemäß einer Ausführungsform LiDAR-Daten 504a in Form von Punktwolken, RADAR-Daten 504b in Form eines oder mehrerer elektromagnetischer Radiofrequenzsignale und/oder Kameradaten 504c in Form von Bilddaten. Gemäß einer Ausführungsform werden andere Sensoren und die entsprechenden Daten von den Sensoren verwendet. Beispielsweise wird eine Ultraschallvorrichtung verwendet, die in der Lage ist, Hochfrequenz-Schallsignale zu emittieren und zu empfangen. Die Ultraschallvorrichtung erzeugt Schalldaten, die als Eingaben in das Straßenannotationssystem 600 verwendet werden.
-
Die Sensordaten 604 werden von einer Kartenbildungseinrichtung 606 verwendet, um eine Karte zu erzeugen, welche die Umgebung eines AVs (beispielsweise AVs 100 aus 1) repräsentiert. Im Allgemeinen erzeugt die Kartenbildungseinrichtung 606 wenigstens eine semantische Kartenschicht. Gemäß Ausführungsformen weist jede Schicht Informationen auf, welche den entsprechenden physischen Bereich kennzeichnen. Beispielsweise weist eine semantische Kartenschicht Informationen auf, die befahrbare Bereiche, Fußgängerbereiche, Parkplatzbereiche, Fahrradspuren, Bereiche mit hoher Fahrzeugbelegung und dergleichen kennzeichnen. Mit traditionellen Daten werden Bereiche manuell annotiert, um den physischen Bereich zu kennzeichnen. Gemäß Ausführungsformen ermöglichen die vorliegenden Techniken eine automatische Annotation semantischer Kartenschichten. Die automatische Annotation semantischer Kartenschichten, wie hier beschrieben, vergrößert die verfügbare Menge der genau gelabelten Karten. Zur Vereinfachung der Beschreibung werden die vorliegenden Techniken als automatisierte Annotation einer Karte mit befahrbaren Bereichen beschrieben. Die vorliegenden Techniken können eine Karte jedoch auch mit anderen Daten annotieren, und die befahrbaren Bereiche werden für Beispielzwecke verwendet.
-
Gemäß einer Ausführungsform ist die Karte eine Belegungskarte 608. Eine Belegungskarte (auch als Belegungsgitter bekannt) ist eine Repräsentation der Umgebung auf der Grundlage des Vorhandenseins von Objekten in der Umgebung. Gemäß einer Ausführungsform ist die Belegungskarte 608 eine zweidimensionale (2D) Karte, wobei jede Zelle der Belegungskarte 608 einen diskretisierten Raum (beispielsweise gleichmäßig unterteilte 2D-Blöcke) in der Umgebung des AVs repräsentiert. Das Diskretisieren von Räumen in Zellen beruht häufig auf einer vordefinierten Belegungskartengröße (beispielsweise einer vordefinierten Breite und Länge). Der jeder Zelle der Belegungskarte 608 zugewiesene Wert repräsentiert die Wahrscheinlichkeit, dass der der Zelle entsprechende Raum von Objekten (beispielsweise Fußgängern, Fahrzeugen und/oder dergleichen) verdeckt oder belegt ist. Gemäß einer Ausführungsform gibt ein höherer Wert für eine gegebene Zelle in der Belegungskarte 608 eine geringere Wahrscheinlichkeit eines freien Raums oder eines Raums, der weder von Objekten belegt ist noch dessen Einblick durch die Sensoren 602 am AV durch Objekte verhindert wird, an. Wenn sie als Bild verwendet wird, weist die Belegungskarte 608 als hellere Gebiete (beispielsweise Gebiete mit höheren Pixelwerten) dargestellte freie Räume auf, während belegte Gebiete als dunklere Gebiete (beispielsweise Gebiete mit geringeren Pixelwerten) dargestellt sind. Beispielsweise wird einem Pixel in der Belegungskarte 608 0 zugewiesen, falls der dem Pixel entsprechende Raum vom AV nicht beobachtbar ist, beispielsweise wenn sich der Raum hinter einem Gebäude befindet, das den Einblick durch die Sensoren 602 am AV blockiert. Bei einem solchen Beispiel ist die Belegungskarte 608 ein 8-Bit-Graustufenbild mit von 0 bis 255 reichenden Pixelwerten, wobei ein Pixelwert von 0 Schwarz oder ein Pixel dunkelster Intensität repräsentiert.
-
Die Belegungskarte 608 wird von einem Inferenzsystem 610, das eine abgeleitete Segmentierungsmaske 612 erzeugt, welche die Orte befahrbarer Straßensegmente angibt, als Eingabe genommen. Bei Beispielen besteht die abgeleitete Segmentierungsmaske 612 aus einem oder mehreren Straßensegmenten, die als befahrbar bestimmt wurden. Die abgeleitete Segmentierungsmaske wird durch einen Maschinenlernalgorithmus erzeugt, wie mit Bezug auf 7 beschrieben. Im Allgemeinen weist das Inferenzsystem 610 einen Maschinenlernalgorithmus in der Art eines künstlichen neuronalen Netzes (beispielsweise eines faltenden neuronalen Netzes in der Art von U-Net) auf. Bei einigen Beispielen verwendet das Straßenannotationssystem 600 einen Maschinenlernalgorithmus, um festzustellen, dass ein gegebenes Pixel von einer eingegebenen Belegungskarte 608 einem befahrbaren Straßensegment entspricht, und es erzeugt eine abgeleitete Segmentierungsmaske 612, die ein Satz als befahrbare Bereiche klassifizierter Pixel ist. Im Allgemeinen bearbeitet das Inferenzsystem 610, um die Vorhersagen zu machen, als Teilkarten bezeichnete kleine Flecken der Belegungskarte 608. Weitere Einzelheiten in Bezug auf das Inferenzsystem 610 und die an den Teilkarten ausgeführten Arbeitsvorgänge werden nachstehend mit Bezug auf 7 angeführt. Es können auch andere Karten verwendet werden, einschließlich Intensitätskarten, Texturkarten (Normalenkarten) und Karten, die von einem oder mehreren anderen Maschinenlernmodellen in der Art eines Bildsegmentierungsnetzes oder eines Punktwolken-Segmentierungsnetzes ausgegeben werden, jedoch ohne Einschränkung auf diese.
-
Die abgeleitete Segmentierungsmaske 612 enthält eine Identifikation eines oder mehrerer vom Inferenzsystem 610 auf der Grundlage der Belegungskarte 608 ausgegebener befahrbarer Bereiche. Gemäß einer Ausführungsform ist die abgeleitete Segmentierungsmaske 612 eine Karte mit der gleichen Größe (beispielsweise den gleichen Abmessungen) wie die Belegungskarte 608. Gemäß einer Ausführungsform ist die abgeleitete Segmentierungsmaske 612 eine binäre 2D-Karte, die zwei Labels enthält (beispielsweise 0 und 1, wobei 0 ein nicht befahrbares Straßensegment angibt und 1 ein befahrbares Straßensegment angibt). Beispielsweise ist die abgeleitete Segmentierungsmaske 612 eine binäre 2D-Karte in Form eines Bilds, wobei einem Pixel der abgeleiteten Segmentierungsmaske 612 1 zugewiesen ist, falls das entsprechende Pixel der Belegungskarte 608 durch das Inferenzsystem 610 als befahrbares Straßensegment vorhergesagt wird, und 0 zugewiesen ist, falls das entsprechende Pixel der Belegungskarte 608 durch das Inferenzsystem 610 als kein Teil eines befahrbaren Straßensegments vorhergesagt wird. Gemäß einer anderen Ausführungsform wird ein anderer boolescher Wert zur Unterscheidung zwischen einem befahrbaren Straßensegment und keinem befahrbaren Straßensegment in der abgeleiteten Segmentierungsmaske 612 verwendet. Aus Gründen der Einfachheit wird in der folgenden Erörterung befahrbaren Straßensegmenten ein Wert 1 zugewiesen und nicht befahrbaren (beispielsweise unbefahrbaren) Straßensegmenten ein Label 0 zugewiesen.
-
Gemäß einer Ausführungsform wird die abgeleitete Segmentierungsmaske 612 einem Filtersystem 614 als Eingabe bereitgestellt. Das Filtersystem 614 filtert die abgeleitete Segmentierungsmaske 612 zur Erzeugung einer gefilterten Segmentierungsmaske 616 auf der Grundlage einer Schwelle. Im Allgemeinen labelt das Filtersystem 614 einige Pixel der abgeleiteten Segmentierungsmaske 612 um. Gemäß einer Ausführungsform labelt das Filtersystem 614 falsch Positive (beispielsweise Pixel, die als 0 gelabelt sein sollten, jedoch als 1 gelabelt sind) der abgeleiteten Segmentierungsmaske 612 um, um die gefilterte Segmentierungsmaske 616 zu erzeugen. Das Umlabeln erhöht die Genauigkeit der Labels in der gefilterten Segmentierungsmaske 616. Weitere Einzelheiten in Bezug auf die falsch Positiven werden nachfolgend mit Bezug auf 7 angegeben.
-
Das Filtersystem 614 labelt falsch Positive auf der Grundlage einer Schwelle um. Gemäß einer Ausführungsform ist die Schwelle ein Wert in Zusammenhang mit der Belegungswahrscheinlichkeit in der entsprechenden Belegungskarte 608. Beispielsweise ist die Schwelle gemäß einer Ausführungsform ein vordefinierter Zahlenwert in der Art von 0,1. Falls bei diesem Beispiel der einer Zelle der Belegungskarte zugewiesene Wert größer/kleiner als der Wert ist, wird das Label in Zusammenhang mit dem Pixel/der Zelle umgelabelt. Bei Beispielen bezieht sich Umlabeln auf eine Änderung des aktuellen Labels zu einem anderen Label. Gemäß einer Ausführungsform ist die Schwelle ein dynamisch bestimmter Wert in der Art des 25. Quartils der Wahrscheinlichkeitswerte in der entsprechenden Belegungskarte 608.
-
Falls die abgeleitete Segmentierungsmaske 612 befahrbare Straßensegmente aufweist, die sich in Gebieten in Zusammenhang mit einer geringen Wahrscheinlichkeit eines freien Raums in einer entsprechenden Belegungskarte 608 befinden (beispielsweise Gebieten jenseits der Reichweite von Sensoren an einem Fahrzeug), ist es wahrscheinlich, dass die gelabelten befahrbaren Straßensegmente fehlerhaft gelabelt oder für das AV wenig interessant sind. Gelabelte befahrbare Straßensegmente, die in der entsprechenden Belegungskarte 608 Wahrscheinlichkeitswerte aufweisen, die unterhalb einer Schwelle liegen, werden als falsch Positive angesehen und werden als kein befahrbares Straßensegment umgelabelt. Falls ein Pixel einer abgeleiteten Segmentierungsmaske 612 beispielsweise als 1 gelabelt ist (beispielsweise Teil eines befahrbaren Straßensegments), das entsprechende Pixel in der Belegungskarte 608 jedoch einen Pixelwert aufweist, welcher die Schwelle nicht erfüllt, liegt das als 1 gelabelte Pixel in einem Bereich, der vom Fahrzeug nicht ausreichend untersucht ist, und wird als falsch positiv angesehen. Das Filtersystem 614 labelt das Pixel als 0 um (beispielsweise als nicht Teil eines befahrbaren Straßensegments). Bei einem anderen Beispiel weist eine abgeleitete Segmentierungsmaske 612 Pixel auf, die Bereichen entsprechen, welche fern vom Fahrzeug sind und von diesem nicht gesehen wurden (beispielsweise Bereichen mit 0-wertigen Pixeln in der entsprechenden Belegungskarte 608), die als 1 gelabelt sind (beispielsweise als Teil eines befahrbaren Straßensegments). Nach dem Filtern labelt die sich ergebende gefilterte Segmentierungsmaske 616 diese Pixel als 0 um. Bei Beispielen ist die umgelabelte Segmentierungsmaske die gefilterte Segmentierungsmaske 616. Die gefilterte Segmentierungsmaske 616 ist genauer als die abgeleitete Segmentierungsmaske 612, weil falsch Positive korrigiert und umgelabelt sind.
-
Gemäß einer Ausführungsform wird die gefilterte Segmentierungsmaske 616 einem Glättungssystem 618 als Eingabe bereitgestellt. Das Glättungssystem 618 glättet die gefilterte Segmentierungsmaske 616, um auf der Grundlage eines Kriteriums oder eines Satzes von Kriterien eine ausgegebene Segmentierungsmaske 620 zu erzeugen, die wenigstens ein kontinuierliches befahrbares Straßensegment enthält. Gemäß einer Ausführungsform ist das Kriterium die maximale Fläche, die von den Konturen aller erkannten befahrbaren Straßensegmente eingeschlossen ist, weil angenommen wird, dass das AV auf einem verbundenen Straßensegment fährt. Straßensegmente, die nicht mit dem Straßensegment verbunden sind, auf dem das AV fährt (beispielsweise ein Straßensegment über einen Fluss hinweg, ein Straßensegment hinter einem zugangsbeschränkten Bereich und/oder dergleichen), sind für das AV von geringem Interesse und werden nicht beachtet.
-
Beispielsweise kann die gefilterte Segmentierungsmaske 616 Artefakt-positive Labels enthalten (beispielsweise Pixel, die in Bereichen, die von einem Fahrzeug nicht befahrbar sind, als 1 gelabelt sind, beispielsweise einem Park, einem Platz und/oder dergleichen). Im Allgemeinen ist ein Artefakt ein als befahrbarer Bereich gelabelter Kartenort, wobei der befahrbare Bereich in der Umgebung nicht existiert. Gemäß einer Ausführungsform bestimmt das Glättungssystem 618 Konturen eines oder mehrerer als 1 gelabelter Pixel (d. h. aller gelabelten Straßensegmente) auf der gefilterten Segmentierungsmaske 616. Gemäß einer Ausführungsform entfernt das Glättungssystem 618 Segmente auf der Grundlage wenigstens eines Kriteriums. Bei diesem Beispiel wird der befahrbare Bereich auf der Grundlage der maximalen Fläche begrenzt, die von den Konturen aller erkannten befahrbaren Straßensegmente, seit das AV auf einem verbundenen Straßensegment fährt, eingeschlossen ist. Zusätzlich wird das Segment aus der Segmentierungsmaske entfernt, falls es ein Ortskriterium erfüllt, das beispielsweise darin besteht, dass keine Verbindung zum Straßensegment vorhanden ist, auf dem das AV fährt, dass es sich über einen Fluss oder eine Verdeckung hinaus befindet oder dass es sich um ein Straßensegment hinter einem zugangsbeschränkten Bereich handelt. Gemäß einer Ausführungsform wird das Segment als kein befahrbares Straßensegment umgelabelt. Gemäß Ausführungsformen wird eine Konturbestimmung unter Verwendung einer Kantenerkennung ausgeführt.
-
Das Glättungssystem 618 entfernt Rausch- oder Artefakt-positive Labels durch Vergleichen erkannter befahrbarer Straßensegmente mit dem Kriterium. Gemäß einer Ausführungsform behält das Glättungssystem 618 nur das kontinuierliche Segment mit der größten Fläche als befahrbares Straßensegment bei und labelt alle anderen Segmente als keine befahrbaren Straßensegmente um (beispielsweise durch Umlabeln aller Pixel in den kleineren Segmenten als 0). Nach der Glättung erzeugt das Glättungssystem 618 eine kontinuierliche ausgegebene Segmentierungsmaske 620. Die resultierende ausgegebene Segmentierungsmaske 620 enthält Labels wenigstens einer kontinuierlichen befahrbaren Straße.
-
Gemäß einer Ausführungsform wird die ausgegebene Segmentierungsmaske 620 einem Planer 622, der Wege oder Aktionen für das Fahrzeug plant, als Eingabe bereitgestellt. Gemäß einer Ausführungsform ist der Planer 622 Teil der Planungsschaltung 404.
-
7 ist ein Blockdiagramm eines beispielhaften Inferenzsystems 610, das beim in 6 dargestellten Straßenannotationssystem 600 verwendet wird. Die Eingabe in das beispielhafte Inferenzsystem 610 ist eine eingegebene Belegungskarte 608. Die eingegebene Belegungskarte 608 wird einem Kartensegmentierungssystem 702 bereitgestellt. Gemäß Ausführungsformen unterteilt das Kartensegmentierungssystem 702 die eingegebene Belegungskarte 608 in eine oder mehrere Teilkarten 704 der Belegungskarte 608. Bei Beispielen entspricht der durch eine Teilkarte repräsentierte physische Bereich wenigstens einem Teil des von der Belegungskarte 608 repräsentierten physischen Bereichs. Gemäß einer Ausführungsform sind die Teilkarten 704 disjunkt oder weisen keine überlappenden Gebiete auf. Gemäß einer Ausführungsform weisen die Teilkarten 704 überlappende Gebiete auf. Gemäß einer Ausführungsform weisen die Teilkarten 704 die gleiche Größe (beispielsweise die gleichen Abmessungen) auf. Gemäß einer Ausführungsform weisen die Teilkarten unterschiedliche Größen auf.
-
Das Vorhersagesystem 706 nimmt als Eingaben die Teilkarten 704 und erzeugt auch als Teilkarten-Segmentierungsmasken bekannte vorhergesagte Gebiete 708. Die vorhergesagten Gebiete 708 enthalten Labels, die angeben, ob ein befahrbares Straßensegment in den Teilkarten 704 ist. Gemäß einer Ausführungsform ist das Vorhersagesystem 706 ein Maschinenlernalgorithmus. Gemäß einer solchen Ausführungsform ist das Vorhersagesystem 706 ein künstliches neuronales Netz. In der folgenden Erörterung wird angenommen, dass das Vorhersagesystem 706 ein künstliches neuronales Netz ist. Das Vorhersagesystem 706 kann jedoch ein beliebiges geeignetes Maschinenlemmodell sein.
-
Gemäß einer Ausführungsform ist das Vorhersagesystem 706 ein faltendes neuronales Netz, das wenigstens eine Faltungsschicht enthält. Das Vorhersagesystem 706 beruht beispielsweise auf dem U-Net, das gewöhnlich bei der Segmentierung biomedizinischer Bilder verwendet wird, jedoch auch bei allgemeinen Segmentierungsaufgaben verwendet werden kann. Eine Faltungsschicht ist eine Schicht in einem neuronalen Netz, die eine Faltung an der Eingabe in die Schicht ausführt. Eine Faltung ist eine Operation, bei der ein Faltungskern (beispielsweise eine 5x5-Matrix) mit dem Eingangstensor gefaltet wird, um einen neuen Tensor zu erzeugen. Gemäß einer Ausführungsform ist das Vorhersagesystem 706 ein vollständig faltendes neuronales Netz, wobei Faltungsschichten vollständig verbundene Schichten ersetzen.
-
Gemäß einer Ausführungsform ist das Vorhersagesystem 706 ein rekurrentes neuronales Netz, das wenigstens eine rekurrente Schicht enthält. Eine rekurrente Schicht ist eine Schicht eines neuronalen Netzes, die einen internen Speicher aufweist. Der Speicher wird immer dann aktualisiert, wenn es eine neue Eingabe gibt. Die Ausgabe der rekurrenten Schicht wird sowohl unter Verwendung der aktuellen Eingabe als auch des internen Speichers berechnet.
-
Gemäß einer Ausführungsform ist das vorhergesagte Gebiet 708 eine binäre Segmentierungsmaske (beispielsweise eine binäre 2D-Karte) mit der gleichen Größe wie ihre entsprechende Teilkarte 704. Für jede Teilkarte bestimmt das Vorhersagesystem 706 für jedes Pixel der Teilkarte entweder ein Label von 1 (beispielsweise als Teil eines befahrbaren Straßensegments) oder ein Label von 0 (beispielsweise als kein Teil eines befahrbaren Straßensegments). Die Labels bilden die entsprechenden vorhergesagten Gebiete 708.
-
Durch Unterteilen der eingegebenen Belegungskarte 608 in kleinere Teilkarten 704 werden häufig die Berechnungszeit und das Ausmaß der Rechenressourcen, welche für das beispielhafte Inferenzsystem 610 benötigt werden, verringert. Weil das Vorhersagesystem 706 eine Anzahl von Parametern aufweist, die proportional (häufig exponentiell) zur Größe der Eingabe ist, ist die Beurteilung mehrerer Teilkarten 704 geringer Größe häufig schneller als die Beurteilung einer größeren eingegebenen Belegungskarte 608, weil die Anzahl der Parameter, die verwendet werden, um mehrere kleine Teilkarten 704 zu beurteilen, erheblich geringer ist als die Anzahl der Parameter, die verwendet werden, um eine große eingegebene Belegungskarte 608 zu beurteilen.
-
Während des Trainings des Vorhersagesystems 706 sind die Eingaben des Vorhersagesystems 706 gemäß einer Ausführungsform hauptsächlich positive Proben als Trainingsproben. Eine positive Probe bezieht sich auf Proben-Teilkarten mit als befahrbarer Bereich positiv identifizierten Segmenten. Dagegen bezieht sich eine negative Probe auf Proben-Teilkarten mit wenigen bis keinen befahrbaren Straßensegmenten. Traditionell sind die für das Training eines neuronalen Netzes in der Art des Vorhersagesystems 706 benötigten Trainingsproben ein ausgeglichener Satz, der in etwa gleiche Anzahlen positiver und negativer Proben enthält. Die absichtliche Verwendung hauptsächlich positiver Proben als Trainingsproblem halbiert die Anzahl der für das Training des Vorhersagesystems 706 notwendigen Trainingsproben nahezu. Weniger Trainingsproben verringern auch die für das Training des Vorhersagesystems 706 benötigte Zeit. Zusätzlich verbessert die Verwendung hauptsächlich positiver Proben als Trainingsproben die Fähigkeit des Vorhersagesystems 706, befahrbare Straßensegmente zu labeln. Gemäß Ausführungsformen werden die falsch Positiven durch das Filtersystem 614, wie in 6 dargestellt, rektifiziert.
-
Während des Trainings des Vorhersagesystems 706 ist gemäß einer Ausführungsform die für das Training des Vorhersagesystems 706 verwendete Verlustfunktion ein auch als Sigmoid-Kreuzentropieverlust bekannter binärer Kreuzentropieverlust. Gemäß einer Ausführungsform ist die für das Training des Vorhersagesystems 706 verwendete Verlustfunktion eine Kombination einer binären Kreuzentropieverlust- und anderer Verlustfunktionen.
-
Während des Trainings des Vorhersagesystems 706 werden gemäß einer Ausführungsform Gewichte im Vorhersagesystem 706 durch Fehlerrückführung aktualisiert, so dass die vom Vorhersagesystem 706 erzeugten ausgegebenen Labels in den vorhergesagten Gebieten 708 gegen Labels in den Ground-Truth-Daten konvergieren. Gemäß einer Ausführungsform sind die Ground-Truth-Daten eine binäre 2D-Karte, die aus durch Experten von Hand erzeugten Labels besteht. Weitere Einzelheiten in Bezug auf die Aktualisierung der Gewichte des Vorhersagesystems 706 sind nachstehend mit Bezug auf 8 angeführt.
-
Während des Betriebs des Vorhersagesystems 706 nimmt es eine oder mehrere Teilkarten 704 als Eingaben und erzeugt ein vorhergesagtes Gebiet 708 für jede Teilkarte 704 parallel oder in Reihe. Gemäß einer solchen Ausführungsform wird ein gleitendes Fenster (beispielsweise ein quadratisches oder rechteckiges Kästchen), das Teile von zwei oder mehr benachbarten Teilkarten 704 enthält, gebildet. Die ausgegebenen Labels (beispielsweise in zwei oder mehr entsprechenden vorhergesagten Gebieten 708) vom durch das gleitende Fenster begrenzten Gebiet werden in Bezug auf einen entsprechenden Fleck in den Ground-Truth-Daten beurteilt. Vom durch das gleitende Fenster begrenzten Gebiet (oder einem Teil davon) ausgegebene Labels konvergieren gegen die Ground-Truth-Daten (oder einen entsprechenden Teil davon), um ein vorhergesagtes Gebiet 708 zu erzeugen. Gemäß einer Ausführungsform werden Gewichte im Vorhersagesystem 706 durch Fehlerrückführung aktualisiert, so dass die vom Vorhersagesystem 706 erzeugten ausgegebenen Labels gegen Labels in den Ground-Truth-Daten konvergieren. Weitere Einzelheiten in Bezug auf die Aktualisierung der Gewichte des Vorhersagesystems 706 sind nachstehend mit Bezug auf 8 angeführt.
-
Das gleitende Fenster gewährleistet, dass die sich ergebende Vorhersage gleichmäßig ist. Mit anderen Worten gewährleistet das gleitende Fenster, dass es innerhalb eines befahrbaren Straßensegments kein großes Loch eines nicht befahrbaren Segments gibt. Falls es im gleitenden Fenster ein befahrbares Straßensegment gibt, werden der entsprechenden Ausgabe kontinuierliche Labels zugewiesen. Mit anderen Worten ist das vorhergesagte Straßensegment in den entsprechenden vorhergesagten Gebieten 708 kontinuierlich.
-
Gemäß Ausführungsformen weist das Vorhersagesystem 706 ein rekurrentes neuronales Netz auf, das die räumlichen Beziehungen zwischen benachbarten oder assoziierten Teilkarten 704 erlernt und kontinuierliche Vorhersagen über die befahrbaren Straßensegmente macht, ohne ein gleitendes Fenster zu verwenden. Das gleitende Fenster ist nicht erforderlich, um das kontinuierliche Labeln befahrbarer Straßensegmente in einem rekurrenten neuronalen Netz zu erzwingen.
-
Ein faltendes neuronales Netz lässt sich jedoch viel schneller trainieren und auswerten als ein rekurrentes neuronales Netz. Das gleitende Fenster gewährleistet ein kontinuierliches Labeln befahrbarer Straßensegmente in einem Vorhersagesystem 706 auf der Grundlage eines faltenden neuronalen Netzes. Ferner sollten die in das Vorhersagesystem 706 auf der Grundlage eines faltenden neuronalen Netzes eingegebenen Teilkarten 704 die gleiche Größe aufweisen. Während es Teilkarten 704, die Überlappungen enthalten, einem rekurrenten neuronalen Netz ermöglichen können, räumliche Beziehungen zwischen den Teilkarten schneller zu erlernen, kann das gleitende Fenster eine Gleichmäßigkeit in den vorhergesagten Gebieten 708 über disjunkte Teilkarten 704 erzwingen. Weil disjunkte Teilkarten 704 häufig geringere Größen aufweisen als Überlappungen enthaltende Teilkarten 704, sind disjunkte Teilkarten 704 zusätzlich bevorzugte Eingaben in ein faltendes neuronales Netz.
-
In der folgenden Erörterung nehmen wir an, dass das Vorhersagesystem 706 auf einem faltenden neuronalen Netz beruht, dass die eingegebenen Teilkarten 704 disjunkt sind und dass ein gleitendes Fenster verwendet wird, wenn die vorhergesagten Gebiete 708 unter Verwendung des Vorhersagesystems 706 erzeugt werden.
-
Gemäß einer Ausführungsform wird das gleitende Fenster horizontal oder vertikal über die eingegebene Belegungskarte 608 verschoben. Die Bewegung des gleitenden Fensters ermöglicht es dem Vorhersagesystem 706, über die eingegebene Belegungskarte 608 befahrbare Straßensegmente zu labeln, die durch mehrere disjunkte Teilkarten 704 in disjunkte Abschnitte unterteilt sind. Weitere Einzelheiten in Bezug auf die Teilkarten 704, das gleitende Fenster und die Gründe, aus denen das gleitende Fenster gewährleistet, dass die sich ergebende Vorhersage gleichmäßig ist, werden nachstehend mit Bezug auf 8 dargelegt.
-
Ein Kombinationssystem 710 nimmt als Eingaben die vorhergesagten Gebiete 708 und erzeugt die abgeleitete Segmentierungsmaske 612. Das Kombinationssystem ordnet die vorhergesagten Gebiete 708 entsprechend den Orten der entsprechenden Teilkarten 704 in der eingegebenen Belegungskarte 608 an. Gemäß einer Ausführungsform hat die abgeleitete Segmentierungsmaske 612 die gleiche Größe und die gleiche Abmessung wie die eingegebene Belegungskarte 608.
-
8 ist eine Darstellung einer Belegungskarte 608, von Teilkarten 704 und eines gleitenden Fensters 800 während des Trainings eines Vorhersagesystems 706 auf der Grundlage eines faltenden neuronalen Netzes. Ein Teil einer beispielhaften Belegungskarte 608 ist in 8 dargestellt. Gemäß einer Ausführungsform ist die Belegungskarte 608 in mehrere disjunkte Teilkarten 704 gleicher Größe unterteilt. Einige beispielhafte Teilkarten 704 sind als durch die gestrichelten Linien begrenzt dargestellt, wie Teilkarte A 802, Teilkarte B 804 und Teilkarte C 806. Gemäß einer Ausführungsform bewegt sich das durch die durchgezogene Linie begrenzte gleitende Fenster 800 zu mehreren Stellen, einschließlich der Position A 808 des gleitenden Fensters und der Position B 810 des gleitenden Fensters über die Teilkarten A 802, B 804 und C 806. Die Position A 808 des gleitenden Fensters enthält einen disjunkten Teil der Teilkarte A 802 und der Teilkarte B 804, während die Position B 810 des gleitenden Fensters einen disjunkten Teil der Teilkarte B 804 und der Teilkarte C 806 enthält. Gemäß einer Ausführungsform sind die Position A 808 des gleitenden Fensters und die Position B 810 des gleitenden Fensters disjunkt und überlappen einander nicht.
-
Gemäß einer Ausführungsform sind Teilkarte A 802, Teilkarte B 804 und Teilkarte C 806 Eingaben in das Vorhersagesystem 706. Jede der Teilkarten A 802, B 804 und C 806 weist ein durch das Vorhersagesystem 706 erzeugtes entsprechendes ausgegebenes Vorhersagegebiet 708 (in der Darstellung nicht gezeigt) auf. Für eine gegebene Teilkarte A 802, B 804 oder C 806 wird während der Fehlerrückführung nur der vom gleitenden Fenster 800 bedeckte entsprechende Teil des ausgegebenen Vorhersagegebiets 708 berücksichtigt, wenn vorhergesagt wird, ob ein aktueller Bereich ein befahrbarer Bereich oder kein befahrbarer Bereich ist. Für das vorhergesagte Gebiet 708 der Teilkarte A 802 wird beispielsweise nur der Schnitt zwischen der Teilkarte A 802 und der Position A 808 des gleitenden Fensters berücksichtigt. Die ausgegebenen Labels im Schnitt (der in der Nähe der Grenze eines vorhergesagten Gebiets 708 liegt) werden in Bezug auf die Labels in der Ground-Truth beurteilt. Der Gradient der Differenz zwischen den ausgegebenen Labels und der Ground-Truth wird gemäß der verwendeten Verlustfunktion fortgepflanzt, um die Gewichte im Vorhersagesystem 706 durch Fehlerrückführung zu aktualisieren. Bei der Fehlerrückführung werden nur die Gewichte in Zusammenhang mit dem Schnitt im Vorhersagesystem 706 aktualisiert, während andere Gewichte unverändert bleiben. Die ausgewählte Gewichtsaktualisierung während der Fehlerrückführung ermöglicht es, dass Labels in den vom Vorhersagesystem 706 erzeugten disjunkten vorhergesagten Gebieten 708 schneller konvergieren, weil weniger Gewichtsaktualisierungen benötigt werden und mehr Aktualisierungen an Gewichten in Zusammenhang mit der Grenze der vorhergesagten Gebiete 708 stattfinden.
-
Vom vorhergesagten Gebiet 708 einer benachbarten Teilkarte (beispielsweise Teilkarte 804) ausgegebene Labels konvergieren in einem ähnlichen Prozess gegen die Ground Truth. Die von der Teilkarte 802 und der Teilkarte 804 ausgegebenen Labels geben ein kontinuierliches befahrbares Straßensegment, wie durch die Ground-Truth-Daten angegeben, an. Wenngleich die unterteilten Straßensegmente in disjunkten Teilkarten liegen, ermöglicht das gleitende Fenster dem Vorhersagesystem 706, kontinuierliche Labels für kontinuierliche befahrbare Straßensegmente, insbesondere um die Grenze vorhergesagter Gebiete 708, zu erzeugen.
-
Gemäß einer Ausführungsform wird die Fehlerrückführung über mehrere Iterationen ausgeführt, so dass die ausgegebenen Labels gegen die Ground-Truth-Labels konvergieren. Nach der Fehlerrückführung gibt die Vereinigung der ausgegebenen Vorhersagegebiete 708, die Teilkarten A 802, B 804 oder C 806 entsprechen, ein kontinuierliches befahrbares Straßensegment an. Vorhersagen mit dem gleitenden Fenster 800 ermöglichen gleichmäßige und kontinuierliche Labels über die disjunkten ausgegebenen Vorhersagegebiete 708.
-
Das gleitende Fenster 800 bewegt sich horizontal oder vertikal, den durch die doppelköpfigen Pfeile angegebenen Richtungen folgend oder entgegengesetzt zu diesen, zu neuen Orten. Dies gewährleistet, dass das gleitende Fenster 800 eine gesamte eingegebene Belegungskarte 608 abdeckt. Dies ermöglicht es, dass die vorhergesagten Gebiete 708, die auch als Teilkarten-Segmentierungsmasken bezeichnet werden, selbst wenn sie disjunkt sind, kontinuierliche Labels enthalten. Die durch kombinieren der Teilkarten-Segmentierungsmaskengebiete 708 gebildete resultierende ausgegebene abgeleitete Segmentierungsmaske 612 enthält kontinuierliche Labels für befahrbare Straßensegmente.
-
9 zeigt ein Flussdiagramm eines Prozesses 900 zur automatischen Annotation befahrbarer Straßensegmente für ein Fahrzeug. Gemäß einer Ausführungsform ist das Fahrzeug das in 1 dargestellte AV 100. Gemäß einer Ausführungsform wird der Prozess 900 durch wenigstens einen Prozessor in der Art des in 3 dargestellten Prozessors 304 ausgeführt. Gemäß einer Ausführungsform wird der Prozess 900 durch das Wahrnehmungsmodul 402, das Planungsmodul 404, das Steuermodul 406 und/oder das Lokalisierungsmodul 408, wie in 4 dargestellt, ausgeführt. Gemäß einer Ausführungsform wird der Prozess 900 durch wenigstens einen fernen Prozessor in der in 2 dargestellten Cloud 202 ausgeführt.
-
In Block 902 empfängt der Prozessor Sensordaten, welche die nahe Umgebung eines Fahrzeugs angeben. Gemäß einer Ausführungsform sind die Sensordaten die von den in 6 dargestellten Sensoren 602 erhaltenen Sensordaten 604.
-
In Block 904 erhält der Prozessor eine die nahe Umgebung repräsentierende Karte. Gemäß einer Ausführungsform ist die Karte die in 6 dargestellte Belegungskarte 608.
-
In Block 906 unterteilt der Prozessor die Belegungskarte in Teilkarten (beispielsweise disjunkte Teilkarten). Gemäß einer Ausführungsform sind die Teilkarten die in 7 dargestellten Teilkarten 704.
-
In Block 908 leitet der Prozessor für jede Teilkarte mit einem Maschinenlernmodell eine Teilkarten-Segmentierungsmaske ab, die ein befahrbares Straßensegment auf der Teilkarte angibt. Gemäß einer Ausführungsform ist die Teilkarten-Segmentierungsmaske das vom in 7 dargestellten Vorhersagesystem 706 erzeugte vorhergesagte Gebiet 708.
-
In Block 910 bildet der Prozessor eine abgeleitete Segmentierungsmaske, die alle befahrbaren Straßensegmente auf der Straße angibt, auf der Grundlage der Teilkarten-Segmentierungsmasken, die bestimmte befahrbare Straßensegmente auf jeder Teilkarte angeben. Gemäß einer Ausführungsform ist die abgeleitete Segmentierungsmaske die in den 6 und 7 dargestellte abgeleitete Segmentierungsmaske 612.
-
In Block 912 filtert der Prozessor die abgeleitete Segmentierungsmaske bestimmter befahrbarer Straßensegmente auf der Grundlage einer Schwelle. Gemäß einer Ausführungsform ist die abgeleitete Segmentierungsmaske die in 6 dargestellte abgeleitete Segmentierungsmaske 612. Gemäß einer Ausführungsform ist die gefilterte Segmentierungsmaske die in 6 dargestellte gefilterte Segmentierungsmaske 616. Gemäß einer Ausführungsform ist die Schwelle ein gemäß 6 beschriebener Wert.
-
In Block 914 glättet der Prozessor die gefilterte Segmentierungsmaske befahrbarer Straßensegmente zur Erzeugung eines kontinuierlichen ausgegebenen befahrbaren Straßensegments auf der Grundlage wenigstens eines Kriteriums. Gemäß einer Ausführungsform ist die gefilterte Segmentierungsmaske die in 6 dargestellte gefilterte Segmentierungsmaske 616. Die geglättete Segmentierungsmaske ist die in 6 dargestellte ausgegebene Segmentierungsmaske 620. Gemäß einer Ausführungsform ist das wenigstens eine Kriterium das gemäß 6 beschriebene Kriterium.
-
In Block 916 plant der Prozessor einen Weg, der vom Fahrzeug zu befahren ist, auf der Grundlage der ausgegebenen Segmentierungsmaske befahrbarer Straßensegmente. Gemäß einer Ausführungsform plant der Prozessor durch einen in 6 dargestellten Planer 622, der wenigstens ein Teil einer in 4 dargestellten Planungsschaltung 404 ist. Gemäß einer Ausführungsform ist die ausgegebene Segmentierungsmaske die in 6 dargestellte ausgegebene Segmentierungsmaske 620.
-
In Block 918 steuert der Prozessor das Fahrzeug auf der Grundlage des geplanten Wegs. Gemäß einer Ausführungsform weist der Prozessor wenigstens einen Teil einer in 4 dargestellten Steuerschaltung 406 auf.
-
In der vorhergehenden Beschreibung wurden Ausführungsformen der Erfindung mit Bezug auf zahlreiche spezifische Einzelheiten, die von Implementation zu Implementation variieren können, beschrieben. Die Beschreibung und die Zeichnungen sind demgemäß als erläuternd statt als einschränkend anzusehen. Der einzige und ausschließliche Indikator des Schutzumfangs der Erfindung und dessen, was von den Anmeldern als der Schutzumfang der Erfindung vorgesehen ist, ist der buchstäbliche und gleichwertige Schutzumfang des Anspruchssatzes, der sich aus dieser Anmeldung ergibt, in der spezifischen Form, in der diese Ansprüche erteilt werden, einschließlich jeder späteren Korrektur. Jegliche Definitionen, die hier ausdrücklich für in diesen Ansprüchen enthaltene Begriffe dargelegt sind, sollen die Bedeutung dieser Begriffe, wie in den Ansprüchen verwendet, bestimmen. Zusätzlich kann, wenn wir den Begriff „ferner umfassend“ in der folgenden Beschreibung oder den folgenden Ansprüchen verwenden, das, was diesem Ausdruck 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.