-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung bezieht sich allgemein auf autonome Fahrzeuge und insbesondere auf Systeme und Verfahren zur Vorhersage der Abmessungen von Fahrzeugen, die von verschiedenen Sensoren eines autonomen Fahrzeugs beobachtet werden.
-
HINTERGRUND
-
Ein autonomes Fahrzeug (AV) ist ein Fahrzeug, das in der Lage ist, seine Umgebung zu erfassen und mit wenig oder keiner Benutzereingabe zu navigieren. Dies geschieht durch den Einsatz von Sensorvorrichtungen wie Radar, Lidar, Bildsensoren und dergleichen. Autonome Fahrzeuge nutzen weiterhin Informationen von globalen Positioniersystemen (GPS), Navigationssystemen, Fahrzeug-Fahrzeug-Kommunikationen, Fahrzeug-Infrastruktur-Technologien und/oder drahtgesteuerten Systemen, um das Fahrzeug zu navigieren.
-
Während in den letzten Jahren signifikante Fortschritte bei AVs erzielt wurden, könnten solche Systeme in einer Reihe von Aspekten noch verbessert werden. Es wäre beispielsweise für AVs vorteilhaft, in der Lage zu sein, die tatsächlichen Abmessungen von Fahrzeugen zu ermitteln, denen sie während des Betriebs begegnen. Das heißt, während AVs mit fortschrittlichen Sensorsystemen ausgerüstet sind, die die beobachteten Abmessungen von Fahrzeugen und anderen Objekten in der Umgebung (z. B. Fahrzeuge, die von der Seite, von vorne usw. gesehen werden) auf eine Reihe von Arten charakterisieren können, sind die tatsächlichen Abmessungen dieser Objekte nicht immer ableitbar, teilweise aufgrund der variierenden Ausrichtung des beobachteten Fahrzeugs vom Standpunkt der Sensoren.
-
Dementsprechend ist es wünschenswert, Systeme und Verfahren bereitzustellen, die in der Lage sind, die tatsächlichen Abmessungen eines Fahrzeugs, die von Sensorsystemen beobachtet werden, genauer zu ermitteln. Ferner werden andere wünschenswerte Merkmale und Eigenschaften der vorliegenden Erfindung aus der nachfolgenden ausführlichen Beschreibung und den hinzugefügten Ansprüchen in Verbindung mit den zugehörigen Zeichnungen und dem vorhergehenden technischen Gebiet und Hintergrund ersichtlich.
-
KURZDARSTELLUNG
-
Systeme und Verfahren werden zum Steuern eines autonomen Fahrzeugs bereitgestellt. In einer Ausführungsform beinhaltet ein Vorhersageverfahren für Fahrzeugabmessungen das Erzeugen eines Satzes simulierter beobachteter Abmessungen basierend auf einem Satz bekannter Fahrzeugabmessungen und das Trainieren eines maschinellen Lernmoduls basierend auf dem Satz simulierter beobachteter Abmessungen und dem Satz bekannter Fahrzeugabmessungen. Das Verfahren beinhaltet ferner das Erfassen von Sensordaten, die einem ersten Fahrzeug zugeordnet sind, beobachtet durch ein Sensorsystem eines autonomen Fahrzeugs, das Ermitteln von beobachteten Abmessungen des ersten Fahrzeugs basierend auf den erfassten Sensordaten, und das Ermitteln von vorhergesagten tatsächlichen Abmessungen des ersten Fahrzeugs mit einem Prozessor durch Anwenden der Vielzahl von beobachteten Abmessungen auf das maschinelle Lernmodell.
-
In einer Ausführungsform beinhaltet ein System zum Steuern eines Fahrzeugs ein Vorhersagemodul für Fahrzeugabmessungen, das konfiguriert ist, Sensordaten, die einem ersten Fahrzeug zugeordnet sind, zu erfassen, die von einem Sensorsystem eines autonomen Fahrzeugs beobachtet werden, und eine Vielzahl von beobachteten Abmessungen des ersten Fahrzeugs basierend auf den erfassten Sensordaten zu ermitteln. Das Vorhersagemodul für Fahrzeugabmessungen ist ferner dazu konfiguriert, eine Vielzahl von vorhergesagten tatsächlichen Abmessungen des ersten Fahrzeugs durch Anwenden der Vielzahl von beobachteten Abmessungen auf ein maschinelles Lernmodell zu ermitteln, worin das maschinelle Lernmodel trainiert wird, indem ein Satz simulierter beobachteter Abmessungen basierend auf dem Satz bekannter Fahrzeugabmessungen erzeugt wird und das maschinelle Lernmodul basierend auf einem Satz von simulierten beobachteten Abmessungen und einem Satz bekannter Fahrzeugabmessungen trainiert wird.
-
Figurenliste
-
Die exemplarischen Ausführungsformen werden nachfolgend in Verbindung mit den folgenden Zeichnungen beschrieben, worin gleiche Bezugszeichen gleiche Elemente bezeichnen, und worin gilt:
- 1 ist ein Funktionsblockdiagramm, das ein autonomes Fahrzeug mit einem Steuersystem gemäß verschiedenen Ausführungsformen veranschaulicht;
- 2 ist ein Funktionsblockdiagramm, das ein Transportsystem mit einem oder mehreren autonomen Fahrzeugen aus 1 gemäß verschiedenen Ausführungsformen veranschaulicht;
- 3 ist ein Funktionsblockdiagramm, das ein autonomes Antriebssystem (ADS) in Verbindung mit einem autonomen Fahrzeug gemäß verschiedenen Ausführungsformen veranschaulicht;
- 4 ist ein Datenflussdiagramm, das ein Vorhersagesystem für Fahrzeugabmessungen gemäß verschiedenen Ausführungsformen veranschaulicht;
- 5 ist ein konzeptionelles Blockdiagramm eines Maschinensprachmodells (ML-Modells) gemäß verschiedenen Ausführungsformen;
- 6 ist ein Flussdiagramm, das ein Steuerverfahren zur Abmessungsvorhersage gemäß verschiedenen Ausführungsformen veranschaulicht;
- 7 veranschaulicht exemplarische Fahrzeugabmessungen gemäß verschiedenen Ausführungsformen;
- 8 ist eine konzeptionelle Darstellung einer bekannten Datenbank von Fahrzeugabmessungen gemäß verschiedenen Ausführungsformen;
- 9 veranschaulicht einen dimensionsbasierten Entscheidungsbaum gemäß verschiedenen Ausführungsformen; und
- 10 veranschaulicht die Simulation einer Lidar-Punktwolke gemäß verschiedenen Ausführungsformen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende ausführliche Beschreibung dient lediglich als Beispiel und soll die Anwendung und Verwendung in keiner Weise einschränken. Weiterhin besteht keine Absicht, im vorstehenden technischen Gebiet, Hintergrund, der Kurzzusammenfassung oder der folgenden ausführlichen Beschreibung, an eine ausdrücklich oder implizit vorgestellte Theorie gebunden zu sein. Der hierin verwendete Begriff „Modul“ bezieht sich auf alle Hardware-, Software-, Firmwareprodukte, elektronische Steuerkomponenten, Verarbeitungslogik und/oder Prozessorgeräte, einzeln oder in allen Kombinationen, unter anderem beinhaltend, eine anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate-Array (FPGA), eine elektronische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert oder Gruppenprozessor) und einen Speicher, der ein oder mehrere Software- oder Firmwareprogramme, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten ausführt, welche die beschriebene Funktionalität bieten.
-
Ausführungsformen der vorliegenden Offenbarung können als funktionale und/oder logische Blockkomponenten und verschiedene Verfahrensschritte hierin beschrieben sein. Es ist zu beachten, dass derartige Blockkomponenten aus einer beliebigen Anzahl an Hardware-, Software- und/oder Firmware-Komponenten aufgebaut sein können, die zur Ausführung der erforderlichen Funktionen konfiguriert sind. Zum Beispiel kann eine Ausführungsform der vorliegenden Offenbarung verschiedene integrierte Schaltungskomponenten, beispielsweise Speicherelemente, digitale Signalverarbeitungselemente, Logikelemente, Wertetabellen oder dergleichen, einsetzen, die mehrere Funktionen unter der Steuerung eines oder mehrerer Mikroprozessoren oder anderer Steuervorrichtungen durchführen können. Zudem werden Fachleute auf dem Gebiet erkennen, dass Ausführungsformen der vorliegenden Offenbarung in Verbindung mit einer beliebigen Anzahl an Systemen eingesetzt werden können, und dass das hierin beschriebene System lediglich eine exemplarische Ausführungsform der vorliegenden Offenbarung darstellt.
-
Der Kürze halber werden herkömmliche Techniken in Bezug auf Signalverarbeitung, Datenübertragung, Signalisierung, Steuerung, autonome Fahrzeuge, maschinelles Lernen, Bildanalyse, neurale Netzwerke, Lidar, analytische Geometrie und andere funktionale Aspekte der Systeme (und der einzelnen Betriebskomponenten der Systeme) hierin nicht im Detail beschrieben werden. Weiterhin sollen die in den verschiedenen Figuren dargestellten Verbindungslinien exemplarische Funktionsbeziehungen und/oder physikalische Verbindungen zwischen den verschiedenen Elementen darstellen. Es sollte beachtet werden, dass viele alternative oder zusätzliche funktionale Beziehungen oder physikalische Verbindungen in einer Ausführungsform der vorliegenden Offenbarung vorhanden sein können.
-
Unter Bezugnahme auf 1 ist ein Vorhersagesystem für Fahrzeugabmessungen (oder einfach „System“) 100 einem autonomen Fahrzeug (AV) 10 gemäß verschiedenen Ausführungsformen zugeordnet. Im Allgemeinen beinhaltet das Vorhersagesystem für Fahrzeugabmessungen 100 ein maschinelles Lernmodell (ML-Modell) (z. B. ein neurales Netzwerk oder einen Entscheidungsbaum), das in der Lage ist, die tatsächlichen Abmessungen eines Fahrzeugs in der Nähe von AV 10 vorherzusagen. Unter Verwendung einer Datenbank bekannter Fahrzeugabmessungen für eine große Anzahl an Fahrzeugmodellen wird ein ML-Modell basierend auf simulierten Sensordaten, die diesen bekannten Abmessungen zugeordnet sind, trainiert. Das resultierende ML-Modell nimmt als Eingabe die beobachteten Abmessungen eines Fahrzeugs (z. B. die scheinbare Höhe, Breite und Länge aus der Sicht von AV 10) und erzeugt als Ausgabe einen vorhergesagten tatsächlichen Wert dieser Abmessungen.
-
Bezugnehmend auf 1 beinhaltet ein autonomes Fahrzeug („AV“ oder einfach „Fahrzeug“) 10 allgemein ein Fahrgestell 12, eine Karosserie 14, Vorderräder 16 und Hinterräder 18. Die Karosserie 14 ist auf dem Fahrgestell 12 angeordnet und umhüllt im Wesentlichen die anderen Komponenten des Fahrzeugs 10. Die Karosserie 14 und das Fahrgestell 12 können gemeinsam einen Rahmen bilden. Die Räder 16-18 sind jeweils mit dem Fahrgestell 12 in der Nähe einer jeweiligen Ecke der Karosserie 14 drehbar verbunden.
-
In verschiedenen Ausführungsformen ist das Fahrzeug 10 ein autonomes Fahrzeug und das Vorhersagesystem für Fahrzeugabmessungen 100 ist in das autonome Fahrzeug 10 eingebaut. Das autonome Fahrzeug 10 ist beispielsweise ein Fahrzeug, das automatisch gesteuert wird, um Passagiere von einem Ort zum anderen zu befördern. Das Fahrzeug 10 ist in der veranschaulichten Ausführungsform als Personenkraftwagen dargestellt, es sollte jedoch beachtet werden, dass auch jedes andere Fahrzeug, einschließlich Motorräder, Lastwagen, Sport-Nutzfahrzeuge (SUVs), Freizeitfahrzeuge (RVs), Schiffe, Flugzeuge usw. verwendet werden können.
-
In einer exemplarischen Ausführungsform entspricht das autonome Fahrzeug 10 einem Automatisierungssystem des Levels vier oder Levels fünf gemäß der Standardtaxonomie automatisierter Fahrlevels der Society of Automotive Engineers (SAE) „J3016“. Mit dieser Terminologie bezeichnet ein Level-Vier-System eine „hohe Automatisierung“ unter Bezugnahme auf einen Fahrmodus, bei dem das automatisierte Fahrsystem alle Aspekte der dynamischen Fahraufgabe übernimmt, selbst wenn ein menschlicher Fahrer nicht angemessen auf eine Aufforderung zum Eingreifen reagiert. Ein Level-Fünf-System hingegen zeigt eine „Vollautomatisierung“ und bezeichnet einen Fahrmodus, bei dem das automatisierte Fahrsystem alle Aspekte der dynamischen Fahraufgabe unter allen Fahrbahn- und Umweltbedingungen erfüllt, die ein menschlicher Fahrer bewältigen kann. Es wird geschätzt werden, dass die Ausführungsformen gemäß der vorliegenden Thematik nicht auf eine bestimmte Taxonomie oder Rubrik der Automatisierungskategorien beschränkt sind. Ferner können Systeme und Verfahren gemäß der vorliegenden Ausführungsform in Verbindung mit jedem autonomen Fahrzeug verwendet werden, das ein Navigationssystem verwendet, um eine Routenführung bereitzustellen.
-
Wie dargestellt, beinhaltet das autonome Fahrzeug 10 im Allgemeinen ein Antriebssystem 20, ein Getriebesystem 22, ein Lenksystem 24, ein Bremssystem 26, ein Sensorsystem 28, ein Stellantriebsystem 30, mindestens einen Datenspeicher 32, mindestens eine Steuerung 34 und ein Kommunikationssystem 36. Das Antriebssystem 20 kann in verschiedenen Ausführungsformen einen Verbrennungsmotor, einen Elektromotor, wie beispielsweise einen Traktionsmotor und/oder ein Brennstoffzellenantriebssystem, beinhalten. Das Getriebesystem 22 ist dazu konfiguriert, Leistung vom Antriebssystem 20 auf die Fahrzeugräder 16 und 18 gemäß den wählbaren Übersetzungsverhältnissen zu übertragen. Gemäß verschiedenen Ausführungsformen kann das Getriebesystem 22 ein Stufenverhältnis-Automatikgetriebe, ein stufenlos verstellbares Getriebe oder ein anderes geeignetes Getriebe beinhalten.
-
Das Bremssystem 26 ist dazu konfiguriert, den Fahrzeugrädern 16 und 18 ein Bremsmoment bereitzustellen. Das Bremssystem 26 kann in verschiedenen Ausführungsformen Reibungsbremsen, Brake-by-Wire, ein regeneratives Bremssystem, wie beispielsweise einen Elektromotor und/oder andere geeignete Bremssysteme, beinhalten.
-
Das Lenksystem 24 beeinflusst eine Position der Fahrzeugräder 16 und/oder 18. Während in einigen Ausführungsformen innerhalb des Umfangs der vorliegenden Offenbarung zur Veranschaulichung als ein Lenkrad 25 dargestellt, kann das Lenksystem 24 kein Lenkrad beinhalten.
-
Das Sensorsystem 28 beinhaltet eine oder mehrere Sensorvorrichtungen 40a-40n, die beobachtbare Zustände der äußeren Umgebung und/oder der inneren Umgebung des autonomen Fahrzeugs 10 erfassen. Die Sensorvorrichtungen 40a-40n können Radargeräte, Lidare, globale Positionierungssysteme, optische Kameras, Wärmebildkameras, Ultraschallsensoren und/oder andere Sensoren beinhalten, sind aber nicht darauf beschränkt. Das Stellgliedsystem 30 beinhaltet ein oder mehrere Stellgliedvorrichtungen 42a-42n, die ein oder mehrere Fahrzeugeigenschaften, wie zum Beispiel das Antriebssystem 20, das Getriebesystem 22, das Lenksystem 24 und das Bremssystem 26, steuern, sind aber nicht darauf beschränkt. In verschiedenen Ausführungsformen kann das autonome Fahrzeug 10 auch Fahrzeug-Innen- und/oder Außenausstattungen beinhalten, die nicht in 1 dargestellt sind, wie beispielsweise verschiedene Türen, Kofferraum- und Kabinenausstattungen, wie Luft, Musik, Beleuchtung, Touchscreen-Display-Komponenten (wie sie in Verbindung mit Navigationssystemen verwendet werden) und dergleichen.
-
Die Datenspeichervorrichtung 32 speichert Daten zur Verwendung beim automatischen Steuern des autonomen Fahrzeugs 10. In verschiedenen Ausführungsformen speichert die Datenspeichervorrichtung 32 definierte Landkarten der navigierbaren Umgebung. In verschiedenen Ausführungsformen werden die definierten Landkarten vordefiniert und von einem entfernten System (in weiteren Einzelheiten in Bezug auf 2 beschrieben) erhalten. So können beispielsweise die definierten Landkarten durch das entfernte System zusammengesetzt und dem autonomen Fahrzeug 10 (drahtlos und/oder drahtgebunden) mitgeteilt und in der Datenspeichervorrichtung 32 gespeichert werden. Routeninformationen können auch in der Datenvorrichtung 32 gespeichert werden - d. h. in einer Reihe von Straßenabschnitten (die geografisch mit einer oder mehreren der definierten Karten verknüpft sind), die zusammen eine Route definieren, die der Benutzer von einem Startort (z. B. dem aktuellen Standort des Benutzers) zu einem Zielort zurücklegen kann. Wie ersichtlich ist, kann die Datenspeichervorrichtung 32 ein Teil der Steuerung 34, von der Steuerung 34 getrennt, oder ein Teil der Steuerung 34 und Teil eines separaten Systems sein.
-
Die Steuerung 34 beinhaltet mindestens einen Prozessor 44 und eine computerlesbare Speichervorrichtung oder Medien 46. Der Prozessor 44 kann eine Spezialanfertigung oder ein handelsüblicher Prozessor sein, eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Hilfsprozessor unter mehreren Prozessoren verbunden mit der Steuerung 34, ein Mikroprozessor auf Halbleiterbasis (in Form eines Mikrochips oder Chip-Satzes) eine Kombination derselben oder allgemein jede beliebige Vorrichtung zur Ausführung von Anweisungen. Die computerlesbare Speichervorrichtung oder Medien 46 können flüchtige und nicht-flüchtige Speicher in einem Nur-Lesen-Speicher (ROM), einem Speicher mit direktem Zugriff (RAM) und einem Keep-Alive-Speicher (KAM) beinhalten. KAM ist ein persistenter oder nicht-flüchtiger Speicher, der verwendet werden kann, um verschiedene Betriebsvariablen zu speichern, während der Prozessor 44 ausgeschaltet ist. Die computerlesbare Speichervorrichtung oder Medien 46 können unter Verwendung einer beliebigen einer Anzahl an bekannten Speichervorrichtungen, wie beispielsweise PROMs (programmierbarer Nur-Lesen-Speicher), EPROMs (elektrische PROM), EEPROMs (elektrisch löschbarer PROM), Flash-Speicher oder beliebige andere elektrischen, magnetischen, optischen oder kombinierten Speichervorrichtungen implementiert werden, die Daten speichern können, von denen einige ausführbare Anweisungen darstellen, die von der Steuerung 34 beim Steuern des autonomen Fahrzeugs 10 verwendet werden.
-
Die Anweisungen können ein oder mehrere separate Programme beinhalten, von denen jedes eine geordnete Auflistung von ausführbaren Anweisungen zum Implementieren von logischen Funktionen beinhaltet. Die Anweisungen empfangen und verarbeiten, wenn diese vom Prozessor 44 ausgeführt werden, Signale vom Sensorsystem 28, führen Logik, Berechnungen, Verfahren und/oder Algorithmen zur automatischen Steuerung der Komponenten des autonomen Fahrzeugs 10 durch und erzeugen Steuersignale, die an das Stellgliedsystem 30 übertragen werden, um die Komponenten des autonomen Fahrzeugs 10 basierend auf der Logik, den Berechnungen, den Verfahren und/oder Algorithmen automatisch zu steuern. Obwohl in 1 nur eine Steuerung 34 dargestellt ist, können Ausführungsformen des autonomen Fahrzeugs 10 eine beliebige Anzahl an Steuerungen 34 beinhalten, die über ein geeignetes Kommunikationsmedium oder eine Kombination von Kommunikationsmedien kommunizieren und zusammenwirken, um die Sensorsignale zu verarbeiten, Logiken, Berechnungen, Verfahren und/oder Algorithmen durchzuführen, und Steuersignale zu erzeugen, um die Funktionen des autonomen Fahrzeugs 10 automatisch zu steuern. In einer Ausführungsform, wie im Detail unten diskutiert, ist die Steuerung 34 konfiguriert, Objekte in der Umgebung unter Verwendung eines ML-Modells zu klassifizieren, das zuvor basierend auf der Art der Berandungskurve, die solchen Objekten zugeordnet ist, trainiert wurde.
-
Das Kommunikationssystem 36 ist dazu konfiguriert, Informationen drahtlos an und von anderen Einheiten 48, wie beispielsweise, jedoch nicht beschränkt auf andere Fahrzeuge („V2V“-Kommunikation,) Infrastruktur („V2I“-Kommunikation), entfernte Transportsysteme und/oder Benutzervorrichtungen (in Bezug auf FIG. 2 näher beschrieben), zu übermitteln. In einer exemplarischen Ausführungsform ist das Kommunikationssystem 36 ein drahtloses Kommunikationssystem, das dazu konfiguriert ist, über ein drahtloses lokales Netzwerk (WLAN) unter Verwendung von IEEE 802.11-Standards oder unter Verwendung von zellulärer Datenkommunikation zu kommunizieren. Im Geltungsbereich der vorliegenden Offenbarung werden jedoch auch zusätzliche oder alternative Kommunikationsverfahren, wie beispielsweise ein dedizierter Nahbereichskommunikations (DSRC)-kanal, berücksichtigt. DSRC-Kanäle beziehen sich auf unidirektionale oder bidirektionale drahtlose Kommunikationskanäle für kurze bis mittlere Reichweiten, die speziell für den Einsatz in Fahrzeugen entwickelt wurden, sowie auf einen entsprechenden Satz von Protokollen und Standards.
-
Mit Bezug nun auf 2 kann in verschiedenen Ausführungsformen das autonome Fahrzeug 10, das mit Bezug auf 1 beschrieben ist, zur Verwendung im Zusammenhang mit einem Taxi- oder Shuttle-System in einem bestimmten geographischen Bereich (z. B. einer Stadt, einer Schule oder einem Geschäftsgelände, einem Einkaufszentrum, einem Vergnügungspark, einem Veranstaltungszentrum oder dergleichen) geeignet sein oder möglicherweise einfach von einem Remote-System verwaltet werden. So kann beispielsweise das autonome Fahrzeug 10 einem autonomen fahrzeugbasierten entfernten Transportsystem zugeordnet sein. 2 veranschaulicht eine exemplarische Ausführungsform einer Betriebsumgebung, die im Allgemeinen bei 50 dargestellt ist und ein autonomes fahrzeugbasiertes entferntes Transportsystem (oder einfach „entferntes Transportsystem“) 52 beinhaltet, das, wie mit Bezug auf 1 beschrieben, einem oder mehreren autonomen Fahrzeugen 10a-10n zugeordnet ist. In verschiedenen Ausführungsformen beinhaltet die Betriebsumgebung 50 (die ganz oder teilweise den in 1 dargestellten Einheiten 48 entsprechen können) ferner eine oder mehrere Benutzervorrichtungen 54, die mit dem autonomen Fahrzeug 10 und/oder dem entfernten Transportsystem 52 über ein Kommunikationsnetzwerk 56 kommunizieren.
-
Das Kommunikationsnetzwerk 56 unterstützt die Kommunikation nach Bedarf zwischen Vorrichtungen, Systemen und Komponenten, die von der Betriebsumgebung 50 unterstützt werden (z. B. über physische Kommunikationsverbindungen und/oder drahtlose Kommunikationsverbindungen). So kann beispielsweise das Kommunikationsnetzwerk 56 ein Drahtlosträgersystem 60, wie beispielsweise ein Mobiltelefonsystem, das eine Vielzahl von Mobilfunktürmen (nicht dargestellt), eine oder mehrere Mobilvermittlungsstellen (MSCs) (nicht dargestellt) sowie alle anderen Netzwerkkomponenten beinhalten, die zum Verbinden des Drahtlosträgersystems 60 mit dem Festnetz-Kommunikationssystem erforderlich sind. Jeder Mobilfunkturm beinhaltet Sende- und Empfangsantennen und eine Basisstation, wobei die Basisstationen verschiedener Mobilfunktürme mit den MSC verbunden sind, entweder direkt oder über Zwischenvorrichtungen, wie beispielsweise eine Basisstationssteuerung. Das Drahtlosträgersystem 60 kann jede geeignete Kommunikationstechnologie implementieren, beispielsweise digitale Technologien, wie CDMA (z. B. CDMA2000), LTE (z. B. 4G LTE oder 5G LTE), GSM/GPRS oder andere aktuelle oder neu entstehende drahtlose Technologien. Andere Mobilfunkturm/Basisstation/MSC-Anordnungen sind möglich und könnten mit dem Drahtlosträgersystem 60 verwendet werden. So könnten sich beispielsweise die Basisstation und der Mobilfunkturm an derselben Stelle oder entfernt voneinander befinden, jede Basisstation könnte für einen einzelnen Mobilfunkturm zuständig sein oder eine einzelne Basisstation könnte verschiedene Mobilfunktürme bedienen, oder verschiedene Basisstationen könnten mit einer einzigen MSC verbunden werden, um nur einige der möglichen Anordnungen zu nennen.
-
Abgesehen vom Verwenden des Drahtlosträgersystems 60 kann ein zweites Drahtlosträgersystem in Form eines Satellitenkommunikationssystems 64 verwendet werden, um unidirektionale oder bidirektionale Kommunikation mit den autonomen Fahrzeugen 10a-10n bereitzustellen. Dies kann unter Verwendung von einem oder mehreren Kommunikationssatelliten (nicht dargestellt) und einer aufwärts gerichteten Sendestation (nicht dargestellt) erfolgen. Die unidirektionale Kommunikation kann beispielsweise Satellitenradiodienste beinhalten, worin programmierte Inhaltsdaten (Nachrichten, Musik usw.) von der Sendestation empfangen werden, für das Hochladen gepackt und anschließend zum Satelliten gesendet werden, der die Programmierung an die Teilnehmer ausstrahlt. Die bidirektionale Kommunikation kann beispielsweise Satellitentelefondienste beinhalten, die den Satelliten verwenden, um Telefonkommunikationen zwischen dem Fahrzeug 10 und der Station weiterzugeben. Die Satellitentelefonie kann entweder zusätzlich oder anstelle des Drahtlosträgersystems 60 verwendet werden.
-
Ein Festnetz-Kommunikationssystem 62 kann ferner ein konventionelles Festnetz-Telekommunikationsnetzwerk beinhalten, das mit einem oder mehreren Festnetztelefonen verbunden ist und das Drahtlosträgersystem 60 mit dem entfernten Transportsystem 52 verbindet. So kann beispielsweise das Festnetz-Kommunikationssystem 62 ein öffentliches Fernsprechnetz (PSTN) wie jenes sein, das verwendet wird, um festverdrahtetes Fernsprechen, paketvermittelte Datenkommunikationen und die Internetinfrastruktur bereitzustellen. Ein oder mehrere Segmente des Festnetz-Kommunikationssystems 62 könnten durch Verwenden eines normalen drahtgebundenen Netzwerks, eines Lichtleiter- oder eines anderen optischen Netzwerks, eines Kabelnetzes, von Stromleitungen, anderen drahtlosen Netzwerken, wie drahtlose lokale Netzwerke (WLANs) oder Netzwerke, die drahtlosen Breitbandzugang (BWA) bereitstellen oder jeder Kombination davon implementiert sein. Weiterhin muss das entfernte Transportsystem 52 nicht über das Festnetz-Kommunikationssystem 62 verbunden sein, sondern könnte Funktelefonausrüstung beinhalten, sodass sie direkt mit einem drahtlosen Netzwerk, wie z. B. dem Drahtlosträgersystem 60, kommunizieren kann.
-
Obwohl in 2 nur eine Benutzervorrichtung 54 dargestellt ist, können Ausführungsformen der Betriebsumgebung 50 eine beliebige Anzahl an Benutzervorrichtungen 54, einschließlich mehrerer Benutzervorrichtungen 54, die das Eigentum einer Person sind, von dieser bedient oder anderweitig verwendet werden, unterstützen. Jede Benutzervorrichtung 54, die von der Betriebsumgebung 50 unterstützt wird, kann unter Verwendung einer geeigneten Hardwareplattform implementiert werden. In dieser Hinsicht kann die Benutzervorrichtung 54 in einem gemeinsamen Formfaktor realisiert werden, darunter auch in: einem Desktop-Computer; einem mobilen Computer (z. B. einem Tablet-Computer, einem Laptop-Computer oder einem Netbook-Computer); einem Smartphone; einem Videospielgerät; einem digitalen Media-Player; einer Komponente eines Heimunterhaltungsgeräts; einer Digitalkamera oder Videokamera; einem tragbaren Computergerät (z. B. einer Smart-Uhr, Smart-Brille, Smart-Kleidung); oder dergleichen. Jede von der Betriebsumgebung 50 unterstützte Benutzervorrichtung 54 ist als computerimplementiertes oder computergestütztes Gerät mit der Hardware-, Software-, Firmware- und/oder Verarbeitungslogik realisiert, die für die Durchführung der hierin beschriebenen verschiedenen Techniken und Verfahren erforderlich ist. So beinhaltet beispielsweise die Benutzervorrichtung 54 einen Mikroprozessor in Form einer programmierbaren Vorrichtung, die eine oder mehrere in einer internen Speicherstruktur gespeicherte Anweisungen beinhaltet und angewendet wird, um binäre Eingaben zu empfangen und binäre Ausgaben zu erzeugen. In einigen Ausführungsformen beinhaltet die Benutzervorrichtung 54 ein GPS-Modul, das GPS-Satellitensignale empfangen und GPS-Koordinaten basierend auf diesen Signalen erzeugen kann. In weiteren Ausführungsformen beinhaltet die Benutzervorrichtung 54 eine Mobilfunk-Kommunikationsfunktionalität, sodass die Vorrichtung Sprach- und/oder Datenkommunikationen über das Kommunikationsnetzwerk 56 unter Verwendung eines oder mehrerer Mobilfunk-Kommunikationsprotokolle durchführt, wie hierin erläutert. In verschiedenen Ausführungsformen beinhaltet die Benutzervorrichtung 54 eine visuelle Anzeige, wie zum Beispiel ein grafisches Touchscreen-Display oder eine andere Anzeige.
-
Das entfernte Transportsystem 52 beinhaltet ein oder mehrere Backend-Serversysteme (nicht dargestellt), die an dem speziellen Campus oder dem geografischen Standort, der vom entfernten Transportsystem 52 bedient wird, Cloud-basiert, netzwerkbasiert oder resident sein können. Das entfernte Transportsystem 52 kann mit einem Live-Berater, einem automatisierten Berater, einem System der künstlichen Intelligenz oder einer Kombination davon besetzt sein. Das entfernte Transportsystem 52 kann mit den Benutzervorrichtungen 54 und den autonomen Fahrzeugen 10a-10n kommunizieren, um Fahrten zu planen, autonome Fahrzeuge 10a-10n zu versetzen und dergleichen. In verschiedenen Ausführungsformen speichert das entfernte Transportsystem 52 Kontoinformationen, wie zum Beispiel Teilnehmerauthentisierungsdaten, Fahrzeugkennzeichen, Profilaufzeichnungen, biometrische Daten, Verhaltensmuster und andere entsprechende Teilnehmerinformationen. In einer Ausführungsform, wie nachstehend ausführlicher beschrieben, beinhaltet das entfernte Transportsystem 52 eine Routendatenbank 53, die Informationen in Bezug auf Navigationssystemrouten speichert.
-
Gemäß einem typischen Anwendungsfall-Arbeitsablauf kann ein registrierter Benutzer des entfernten Transportsystems 52 über die Benutzervorrichtung 54 eine Fahrtanforderung erstellen. Die Fahrtanforderung gibt typischerweise den gewünschten Abholort des Fahrgastes (oder den aktuellen GPS-Standort), den gewünschten Zielort (der einen vordefinierten Fahrzeugstopp und/oder ein benutzerdefiniertes Fahrgastziel identifizieren kann) und eine Abholzeit an. Das entfernte Transportsystem 52 empfängt die Fahrtanforderung, verarbeitet die Anforderung und sendet ein ausgewähltes der autonomen Fahrzeuge 10a-10n (wenn und sofern verfügbar), um den Fahrgast an dem vorgesehenen Abholort und zu gegebener Zeit abzuholen. Das Transportsystem 52 kann zudem eine entsprechend konfigurierte Bestätigungsnachricht oder Benachrichtigung an die Benutzervorrichtung 54 erzeugen und senden, um den Fahrgast zu benachrichtigen, dass ein Fahrzeug unterwegs ist.
-
Wie ersichtlich, bietet der hierin offenbarte Gegenstand bestimmte verbesserte Eigenschaften und Funktionen für das, was als ein autonomes Standardfahrzeug oder Basisfahrzeug 10 und/oder ein autonomes fahrzeugbasiertes Transportsystem 52 betrachtet werden kann. Zu diesem Zweck kann ein autonomes fahrzeugbasiertes Transportsystem modifiziert, erweitert oder anderweitig ergänzt werden, um die nachfolgend näher beschriebenen zusätzlichen Funktionen bereitzustellen.
-
Gemäß verschiedener Ausführungsformen realisiert die Steuerung 34 ein autonomes Antriebssystem (ADS) 70, wie in 3 dargestellt. Das heißt, dass geeignete Soft- und/oder Hardwarekomponenten der Steuerung 34 (z. B. der Prozessor 44 und das computerlesbare Speichervorrichtung 46) verwendet werden, um ein autonomes Antriebssystem 70 bereitzustellen, das in Verbindung mit dem Fahrzeug 10 verwendet wird.
-
In verschiedenen Ausführungsformen können die Anweisungen des autonomen Antriebssystems 70 je nach Funktion oder System gegliedert sein. Das autonome Antriebssystem 70 kann beispielsweise, wie in 3 dargestellt, ein Sensorfusionssystem 74, ein Positioniersystem 76, ein Leitsystem 78 und ein Fahrzeugsteuersystem 80 beinhalten. Wie ersichtlich ist, können die Anweisungen in verschiedenen Ausführungsformen in beliebig viele Systeme (z. B. kombiniert, weiter unterteilt usw.) gegliedert werden, da die Offenbarung nicht auf die vorliegenden Beispiele beschränkt ist.
-
In verschiedenen Ausführungsformen synthetisiert und verarbeitet das Sensorfusionssystem 74 Sensordaten und prognostiziert Anwesenheit, Lage, Klassifizierung und/oder Verlauf von Objekten und Merkmalen der Umgebung des Fahrzeugs 10. In verschiedenen Ausführungen kann das Sensorfusionssystem 74 Informationen von mehreren Sensoren beinhalten, einschließlich, aber nicht beschränkt auf Kameras, Lidare, Radare und/oder eine beliebige Anzahl anderer Arten von Sensoren.
-
Das Positioniersystem 76 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Position (z. B. eine lokale Position in Bezug auf eine Karte, eine exakte Position in Bezug auf die Fahrspur einer Straße, Fahrzeugrichtung, Geschwindigkeit usw.) des Fahrzeugs 10 in Bezug auf die Umgebung zu ermitteln. Das Leitsystem 78 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Strecke zu ermitteln, dem das Fahrzeug 10 folgen soll. Das Fahrzeugsteuersystem 80 erzeugt Steuersignale zum Steuern des Fahrzeugs 10 gemäß der ermittelten Strecke.
-
In verschiedenen Ausführungsformen implementiert die Steuerung 34 maschinelle Lerntechniken, um die Funktionalität der Steuerung 34 zu unterstützen, wie z. B. Merkmalerkennung/Klassifizierung, Hindernisminderung, Routenüberquerung, Kartierung, Sensorintegration, Boden-Wahrheitsbestimmung und dergleichen.
-
Gemäß verschiedenen Ausführungsformen implementiert die Steuerung 34 ein autonomes Antriebssystem (ADS), wie es in 3 dargestellt ist. Das heißt, geeignete Software- und/oder Hardwarekomponenten der Steuerung 34 (z. B. der Prozessor 44 und die computerlesbare Speichervorrichtung 46) werden verwendet, um ein ADS 70 bereitzustellen, das in Verbindung mit dem Fahrzeug 10 verwendet wird.
-
In verschiedenen Ausführungsformen können die Anweisungen des autonomen Antriebssystems 70 je nach Funktion oder System gegliedert sein. Das autonome Antriebssystem 70 kann beispielsweise, wie in 3 dargestellt, ein Sensorfusionssystem 74, ein Positioniersystem 76, ein Leitsystem 78 und ein Fahrzeugsteuersystem 80 beinhalten. Wie ersichtlich ist, können die Anweisungen in verschiedenen Ausführungsformen in beliebig viele Systeme (z. B. kombiniert, weiter unterteilt usw.) gegliedert werden, da die Offenbarung nicht auf die vorliegenden Beispiele beschränkt ist.
-
In verschiedenen Ausführungsformen synthetisiert und verarbeitet das Sensorfusionssystem 74 Sensordaten und prognostiziert Anwesenheit, Lage, Klassifizierung und/oder Verlauf von Objekten und Merkmalen der Umgebung des Fahrzeugs 10. In verschiedenen Ausführungen kann das Sensorfusionssystem 74 Informationen von mehreren Sensoren beinhalten, einschließlich, aber nicht beschränkt auf Kameras, Lidare, Radare und/oder eine beliebige Anzahl anderer Arten von Sensoren.
-
Das Positioniersystem 76 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Position (z. B. eine lokale Position in Bezug auf eine Karte, eine exakte Position in Bezug auf die Fahrspur einer Straße, Fahrzeugrichtung, Geschwindigkeit usw.) des Fahrzeugs 10 in Bezug auf die Umgebung zu ermitteln. Das Leitsystem 78 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Strecke zu ermitteln, dem das Fahrzeug 10 folgen soll. Das Fahrzeugsteuersystem 80 erzeugt Steuersignale zum Steuern des Fahrzeugs 10 gemäß der ermittelten Strecke.
-
In verschiedenen Ausführungsformen implementiert die Steuerung 34 maschinelle Lerntechniken, um die Funktionalität der Steuerung 34 zu unterstützen, wie z. B. Merkmalerkennung/Klassifizierung, Hindernisminderung, Routenüberquerung, Kartierung, Sensorintegration, Boden-Wahrheitsbestimmung und dergleichen.
-
Wie oben kurz erwähnt, ist das System 100 von 1 in der Lage, die tatsächlichen Abmessungen eines anderen Fahrzeugs in der Nähe von AV 10 basierend auf einem zuvor trainierten ML-Modell vorherzusagen. In verschiedenen Ausführungsformen wird das ML-Modell unter Verwendung simulierter Sensorergebnisse (z. B. simulierte Lidar-Wolken) trainiert, die aus einer Datenbank bekannter Abmessungen für tatsächliche Fahrzeugmodelle abgeleitet werden, auf die AV während des tatsächlichen Betriebs wahrscheinlich trifft.
-
4 ist ein Datenflussdiagramm, das verschiedene Ausführungsformen des Systems 100 veranschaulicht, die in die Steuerung 34 eingebettet sein können. Bezugnehmend auf 4 beinhaltet ein exemplarisches System 400 im Allgemeinen ein Vorhersagemodul für Fahrzeugabmessungen 420, das Sensordaten 402 in Bezug auf beobachtete Abmessungen eines in der Umgebung anzutreffenden Fahrzeugs (z. B. Kamerabilder, Lidardaten oder andere Sensordaten, die von dem Sensorsystem 28 empfangen werden) empfängt und als Ausgabe 403 die vorhergesagten tatsächlichen Abmessungen dieses Fahrzeugs hat. In verschiedenen Ausführungsformen implementiert das Modul 420 ein ML-Modell, das zuvor unter Verwendung eines Korpus von Beispielbildern trainiert wurde, die durch simulierte Sensordaten basierend auf einer Datenbank bekannter Fahrzeugabmessungen erzeugt wurden.
-
Es versteht sich, dass verschiedene Ausführungsformen des Systems 100 gemäß der vorliegenden Offenbarung eine beliebige Anzahl an Untermodulen beinhalten können, die in der Steuerung 34 eingebettet sind. Wie zu erkennen ist, können dann alle Module/Untermodule, die in 4 dargestellt sind, kombiniert und/oder weiter unterteilt werden, um ähnlich die verschiedenen hierin beschriebenen Verfahren durchzuführen. Eingaben an das System 100 können von dem Sensorsystem 28 empfangen werden, von anderen Steuermodulen (nicht dargestellt), die dem autonomen Fahrzeug 10 zugeordnet sind, empfangen werden, von dem Kommunikationssystem 36 empfangen werden und/oder durch andere Untermodule (nicht dargestellt) innerhalb der Steuerung 34 von 1 bestimmt/modelliert werden. Modul 420 kann zum Beispiel in einem der verschiedenen in 3 veranschaulichten Module implementiert sein.
-
Das Vorhersagemodul für Fahrzeugabmessungen 420 kann eine Vielzahl von maschinellen Lernmodellen implementieren, die unter Verwendung eines Satzes von Bildern und anderen Daten trainiert werden, die zuvor erfasst und gespeichert wurden (z. B. in Server 53 von 2). In dieser Hinsicht ist 5 eine konzeptionelle Übersicht eines ML-Modells 500, das in Verbindung mit verschiedenen Ausführungsformen verwendet werden könnte.
-
Das ML-Modell 500 beinhaltet eine Anzahl an Eingängen 501 (z. B. 501a - 501c) und eine Anzahl an Ausgängen 504 (z. B. 504a - 504c). In der dargestellten Ausführungsform entsprechen die Eingaben 501a, 501b und 501c jeweils der beobachteten Höhe, Breite und Länge des Fahrzeugs, das von AV 10 beobachtet wird (z. B. reelle Zahlen, die die Entfernung in Metern oder anderen geeigneten Einheiten darstellen), und die Ausgaben 504a, 504b und 504c entsprechen jeweils der vorhergesagten tatsächlichen Höhe, Breite und Länge des Fahrzeugs, das von AV 10 beobachtet wird. Diesbezüglich können abhängig von den bestimmten Sensordaten, die zum Messen dieser Attribute verwendet werden, die beobachtete Höhe, Breite und Länge auf einem einfachen linearen Maß basieren, das durch AV 10 bestimmt wird, oder können auf einem detaillierteren Maß basieren, das die aus den Sensordaten abgeleitete Tiefeninformation berücksichtigt. Zum Beispiel könnte in dem Fall, dass Lidar-Daten (die Abstandsinformationen beinhalten) verwendet werden, um die beobachtete Länge 501c zu ermitteln, und das beobachtete Fahrzeug AV 10 in einem schrägen Winkel gegenüberliegt, die beobachtete Länge geschätzt werden, indem zuerst der Winkel von dem entgegenkommende Auto und dann unter Berücksichtigung dieses Winkels beim Berechnen die beobachteten Länge 501c geschätzt wird. Die beobachtete Breite 501b und die beobachtete Höhe 501a können ähnlich berechnet werden, obwohl angemerkt werden sollte, dass aufgrund der im Allgemeinen seitlichen Bewegung von Fahrzeugen auf einer Straße die beobachtete Höhe 501a typischerweise im Wesentlichen die gleiche wie die vorhergesagte tatsächliche Ausgabe der Länge 504c ist (außer in Fällen, in denen sich das beobachtete Fahrzeug auf einer Schräge befindet usw.)
-
Das ML-Modell 500 wird in verschiedenen Ausführungsformen über eine Lernregel „trainiert“, die es ermöglicht, effektiv durch ein Beispiel zu lernen. Ein solches Lernen kann beaufsichtigt werden (mit bekannten Beispielen als Eingabe), unbeaufsichtigt (mit nicht kategorisierten Beispielen als Eingabe) oder mit verstärkendem Lernen verbunden sein (wo während des Trainings etwas von „Belohnung“ bereitgestellt wird). Sobald das ML-Modell 500 auf ein zufriedenstellendes Niveau „trainiert“ ist, kann es als ein analytisches Werkzeug verwendet werden, um Vorhersagen während des normalen Betriebs von AV 10 zu treffen.
-
Wie nachfolgend im Detail beschrieben wird, kann das ML-Modell 500 von 5 verwendet werden, um das Klassifizierungsmodul 420 von 4 zu implementieren durch Akzeptieren von Eingaben 501, die beobachteten Abmessungen eines Fahrzeugs in der Nähe von AV 10 entsprechen, und Erzeugen von vorhergesagten tatsächlichen Werten dieser Abmessungen als eine Ausgabe 504.
-
Das ML-Modell 500 kann unter Verwendung einer Vielzahl von auf dem Fachgebiet bekannten maschinellen Lerntechniken implementiert werden. In einer Ausführungsform wird das ML-Modell 500 unter Verwendung eines künstlichen Netzwerks implementiert, wie z. B. eines rekurrenten neuronalen Netzes (RNN). In einer anderen Ausführungsform wird das ML-Modell 500 unter Verwendung eines Entscheidungsbaummodells implementiert. In anderen Ausführungsformen wird das ML-Modell unter Verwendung eines Random-Forest-Modells, Bayes-Klassifikatoren (z. B. naive Bayes), eines Hauptkomponentenanalyse- (PCA) Modells, eines Cluster-Modells, eines Support-Vektor-Maschinenmodells, eines linearen Diskriminanzanalysemodells, eines Regressionsmodells, eines Ensemble-Modells oder irgendeines anderen Modells, das bei der Erzeugung nummerischer Werte, die vorhergesagten Abmessungen entsprechen, basierend auf nummerischen Werten, die beobachteten Abmessungen entsprechen, wirksam sein kann, implementiert.
-
6 ist ein Flussdiagramm, das ein Steuerverfahren für die Vorhersage der Fahrzeugabmessung gemäß verschiedenen Ausführungsformen darstellt und wird nun in Verbindung mit 1-5 sowie 7-10 beschrieben. Im Allgemeinen und wie weiter unten im Detail beschrieben, veranschaulicht 7 exemplarische Abmessungen eines bekannten Fahrzeugs und 8 veranschaulicht konzeptionell eine exemplarische Datenbank bekannter Fahrzeugabmessungen. 9 zeigt einen dimensionsbasierten Entscheidungsbaum gemäß verschiedenen Ausführungsformen und 10 zeigt die Erzeugung simulierter Lidardaten gemäß verschiedenen Ausführungsformen.
-
Bezugnehmend auf 6 kann ein Steuerverfahren 600 durch das System 100 von 1 in Verbindung mit dem Vorhersagemodul für Fahrzeugabmessungen 420 von 4 ausgeführt werden. Wie angesichts der Offenbarung erkannt werden wird, ist die Reihenfolge des Betriebs innerhalb des Verfahrens 600 nicht auf die sequenzielle Ausführung beschränkt, wie sie in 6 veranschaulicht ist, sondern kann in einem oder mehreren unterschiedlichen Aufträgen, wie es anwendbar und gemäß der vorliegenden Offenbarung ist, durchgeführt werden.
-
Steuerverfahren 600 beginnt bei 601 mit der Zusammenstellung eine Datenbank bekannter Fahrzeugabmessungen. Eine solche Datenbank ist konzeptionell in 8 veranschaulicht, die eine Datenbank 800 mit einer Anzahl an Feldern (801 - 804) zeigt, die den Satz von Fahrzeugabmessungen, die von dem Vorhersagemodul für Fahrzeugabmessungen 420 betrachtet werden, kennzeichnen. In FIG. 8 könnte beispielsweise die Datenbank 800 ein Fahrzeugidentifikationsfeld 801 (z. B. eine eindeutige ID, die sich auf das bestimmte Jahr, Marke und Modell des tatsächlichen Fahrzeugs, wie „2018 CHEVY BOLT“ bezieht) sowie ein Höhenfeld 802, ein Breitenfeld 803 und ein Längenfeld 804 beinhalten. Um kurz auf 7 einzugehen, hier sind diese Werte jeweils als eine Höhe 702, eine Länge 703 und eine Breite 704 eines exemplarischen Fahrzeugs 700 veranschaulicht. In einigen Ausführungsformen werden mehr oder weniger Dimensionen verwendet. In verschiedenen Ausführungsformen werden beispielsweise nur die Fahrzeugbreite 803 und die Länge 804 zusammengestellt.
-
Die Datenbank 800 kann auf eine Anzahl an Arten gefüllt oder auf andere Weise zusammengestellt sein und kann auf jede geeignete Art und Weise gespeichert sein (z. B. in der Datenbank 53 von 2). Die Datenbank 800 kann beispielsweise von einer öffentlich verfügbaren Datenbank, einem Server oder einer Website abgeleitet werden, die Informationen bezüglich der Abmessungen neuer und/oder gebrauchter Autos beinhaltet. In anderen Ausführungsformen wird die Datenbank 800 in einer automatisierten und/oder manuellen Weise durch direkte Beobachtung und Messung von Fahrzeugen in der Umgebung befüllt.
-
Als Nächstes wird bei 602 ein Korpus (oder Satz) simulierter beobachteter Abmessungen basierend auf einer Datenbank bekannter Fahrzeugabmessungen 800 erzeugt. Dieser Korpus von Trainingsdaten könnte zum Beispiel eine großen Satz von Bildern beinhalten, die Sensordaten beinhalten, die Fahrzeugen entsprechen, denen das AV 10 wahrscheinlich begegnet (z. B. bei verschiedenen Orientierungen relativ zu AV 10), zusammen mit bekannten tatsächlichen Abmessungen, die diesen Bildern (z. B. Felder 802-804 von 8) zugeordnet sind.
-
In einer Ausführungsform werden die simulierten beobachteten Abmessungen erzeugt, wie in den 9 und 10 dargestellt, indem zuerst ein Entscheidungsbaum 900 optimiert wird (oder anderweitig trainiert wird), um das über die Datenbank 800 gewonnene Wissen effektiv darzustellen und dann zufällig (oder systematisch) exemplarische Fahrzeuge und entsprechende simulierte Sensordaten basierend auf dem Entscheidungsbaum 900 zu erzeugen.
-
Der dimensionsbasierte Entscheidungsbaum 900 beinhaltet im Allgemeinen einen Satz von Knoten (z. B. 901 - 905) und Zweigen (z. B. 910 - 913) zwischen diesen Knoten. Die Knoten 901 - 905 stellen Entscheidungspunkte (und folglich Sätze von Fahrzeugen, die bestimmten Bereichen von Abmessungen entsprechen) dar, und die Zweige (910 - 913) entsprechen Kriterien, die Knoten zugeordnet sind, die sich tiefer am Baum befinden. Die „Blattknoten“ (d. h. Endpunkte des Baums, die keine untergeordneten Knoten haben, wie die Knoten 903, 904 und 905) entsprechen individuellen Fahrzeug-IDs 801 (oder logisch gruppierten IDs ähnlicher Fahrzeuge) aus der Datenbank 800. So könnte beispielsweise der Zweig 910 dem Kriterium „Länge < 4,5 Meter“, könnte der Zweig 901 dem Kriterium „Länge >= 4,5 Meter und Länge < 5,2 Meter“, und so weiter entsprechen. Jeder Zweig (910 - 913) kann eine beliebige Anzahl an Bedingungen basierend auf den verschiedenen in der Datenbank 800 zusammengestellten Abmessungen beinhalten. Es ist somit offensichtlich, dass repräsentative tatsächliche Fahrzeugabmessungen erzeugt werden können, indem der Baum 900 einfach von oben nach unten entweder zufällig oder systematisch durchquert wird (z. B. um exemplarische Fahrzeuge zu erzeugen, die den typischerweise in der realen Welt anzutreffenden Größenverhältnissen entsprechen). In einer anderen Ausführungsform werden exemplarische Fahrzeuge, anstatt einen Entscheidungsbaum 900 zu verwenden, zufällig oder systematisch direkt aus der Datenbank 800 ausgewählt.
-
Unabhängig davon, wie Fahrzeugabmessungen für die Simulation ausgewählt werden, wird dann eine geeignete Software verwendet, um Sensordaten zu simulieren, die einem Fahrzeug entsprechen, das die ausgewählten Abmessungen und die Ausrichtung im Raum aufweist. Diese Vorgehensweise ist beispielsweise in 10 veranschaulicht, die ein Beispiel eines entgegenkommenden Fahrzeugs 1000 zeigt, das in einem Winkel von etwa 45 Grad in Bezug auf die Zeichenebene ausgerichtet ist (wobei auch vorausgesetzt wird, dass es sich um den Blickpunkt des AV 10 handelt, das Fahrzeug 1000 beobachtet). Das System simuliert dann die Sensordaten, die sich aus der Beobachtung des Fahrzeugs 1000 ergeben könnten. In der veranschaulichten Ausführungsform ist zum Beispiel eine Lidar-Punktwolke 1010 gezeigt, obwohl jede andere Art von Sensordaten simuliert werden kann (z. B. optische Daten, Radardaten usw.). Unter Verwendung bekannter Techniken können dann die beobachtete Länge (1013), die beobachtete Breite (1012) und die beobachtete Höhe (1011) verwendet werden, um einen Satz simulierter beobachteter Abmessungen zu erzeugen, die als Eingabe(n) 501 von 5 verwendet werden können.
-
Die obige Simulationsvorgehensweise kann beispielsweise über einen Server und/oder eine geeignete Software ausgeführt werden, die sich innerhalb des Systems 52 von 2 befindet. Systeme und Software zum Simulieren des Vorhandenseins eines Fahrzeugs in einem virtuellen 3D-Raum und zum Ermitteln der Lidar- und/oder anderer Sensordaten, die durch solch ein simuliertes Fahrzeug erzeugt werden könnten, sind in der Technik bekannt und brauchen hierin nicht im Detail beschrieben zu werden.
-
Mit fortgesetzter Bezugnahme auf 6 werden bei 503 die simulierten beobachteten Abmessungen von 603 in Verbindung mit den bekannten Fahrzeugabmessungen (wie basierend auf dem Entscheidungsbaum 900 simuliert oder anderweitig aus der Datenbank 800 abgeleitet) zum Trainieren des ML-Modells 500 verwendet. In der Ausführungsform beispielsweise, in der das ML-Modell 500 ein neurales Netzwerk ist, werden die simulierten beobachteten Abmessungen an die Eingangsknoten 501a -c angelegt, während die bekannten Fahrzeugabmessungen an die Ausgangsknoten 504a-c angelegt werden. Backpropagation oder andere Techniken werden dann verwendet, um das ML-Modell 500 zu trainieren. In der Ausführungsform, in der das ML-Modell 500 ein Entscheidungsbaum ist, wird eine geeignete Baumtraining/Optimierungstechnik verwendet, um das gewünschte ML-Modell 500 zu erzeugen.
-
Als Nächstes werden bei 604 Sensordaten vom AV 10 während des normalen Betriebs erfasst. Wie oben erwähnt, können die Sensordaten beliebige verfügbare Daten beinhalten, die von dem Sensorsystem 28 während des Betriebs von AV 10 erfasst werden. In verschiedenen Ausführungsformen sind Lidar-Daten eines beobachteten Fahrzeugs von besonderem Interesse in dem Vorhersageverfahren für Fahrzeugabmessungen. Dennoch sind die hierin beschriebenen Ausführungsformen nicht so beschränkt und es können alle verfügbaren Sensordaten verwendet werden.
-
Als Nächstes werden bei 605 die beobachteten Abmessungen des Fahrzeugs basierend auf den bei 604 erfassten Sensordaten bestimmt. Wie oben in Verbindung mit 5 erwähnt, beinhaltet in einer Ausführungsform diese Klassifizierung im Allgemeinen das Zuführen der extrahierten beobachteten Abmessungen (z. B. Höhe, Breite und Länge) in das zuvor trainierte ML-Modell 500 als Eingaben 501.
-
Gemäß verschiedenen Ausführungsformen werden andere Daten (wie zum Beispiel Zuordnungsdaten, die in AV 10 oder außerhalb davon gespeichert sind) als eine Eingabe in das trainierte ML-Modell 500 oder in einem nachfolgenden Verfahren verwendet, um das Schätzen der tatsächlichen Abmessungen weiter zu unterstützen. Zuordnungsdaten in der Nähe von AV 10 könnten beispielsweise anzeigen, dass eine Wand oder eine andere zuvor bestimmte Struktur (ob stationär oder mobil) an einer solchen Position relativ zu einem beobachteten Fahrzeug ist, dass sie die möglichen Abmessungen dieses beobachteten Fahrzeugs begrenzt. Anders ausgedrückt könnte das System allgemein annehmen, dass ein beobachtetes Fahrzeug eine nahegelegene Wand nicht räumlich durchschneiden kann. Auf diese Weise können zusätzliche Informationen bezüglich der Abmessungen des Fahrzeugs (z. B. Breite, Länge usw.) abgeleitet werden.
-
Schließlich werden bei 606 die vorhergesagten tatsächlichen Abmessungen über Ausgaben 504 des ML-Modells 500 bestimmt. Diese vorhergesagten tatsächlichen Abmessungen können dann von den verschiedenen Modulen von AV 10 (z. B. irgendeinem der in 3 gezeigten Module) verwendet werden, um ihre jeweiligen Funktionen genauer auszuführen. Das Wegplanungsmodul 90 könnte beispielsweise die vorhergesagten tatsächlichen Abmessungen 504 verwenden, um einen Weg zu planen, der es vermeidet, sehr lange Fahrzeuge zu kreuzen (d. h. ein Fahrzeug, dessen Länge allein aufgrund der verfügbaren Sensordaten nicht offensichtlich ist).
-
Während mindestens eine exemplarische Ausführungsform in der vorstehenden ausführlichen Beschreibung dargestellt wurde, versteht es sich, dass es eine große Anzahl an Varianten gibt. Es versteht sich weiterhin, dass die exemplarische Ausführungsform oder die exemplarischen Ausführungsformen lediglich Beispiele sind und den Umfang, die Anwendbarkeit oder die Konfiguration dieser Offenbarung in keiner Weise einschränken sollen. Die vorstehende ausführliche Beschreibung stellt Fachleuten auf dem Gebiet vielmehr einen zweckmäßigen Plan zur Implementierung der exemplarischen Ausführungsform oder der exemplarischen Ausführungsformen zur Verfügung. Es versteht sich, dass verschiedene Veränderungen an der Funktion und der Anordnung von Elementen vorgenommen werden können, ohne vom Umfang der Offenbarung, wie er in den hinzugefügten Ansprüchen und deren rechtlichen Entsprechungen aufgeführt ist, abzuweichen.