DE112019004832T5 - Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen - Google Patents

Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen Download PDF

Info

Publication number
DE112019004832T5
DE112019004832T5 DE112019004832.5T DE112019004832T DE112019004832T5 DE 112019004832 T5 DE112019004832 T5 DE 112019004832T5 DE 112019004832 T DE112019004832 T DE 112019004832T DE 112019004832 T5 DE112019004832 T5 DE 112019004832T5
Authority
DE
Germany
Prior art keywords
vehicle
segment
motion
feature vector
machine learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112019004832.5T
Other languages
English (en)
Inventor
Sourabh Vora
Oscar Olof Beijbom
Shih-Yuan Liu
Tichakorn Wongpiromsarn
Daniele De Francesco
Scott D. Pendleton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motional AD LLC
Original Assignee
Motional AD LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motional AD LLC filed Critical Motional AD LLC
Publication of DE112019004832T5 publication Critical patent/DE112019004832T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/105Speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0013Planning or execution of driving tasks specially adapted for occupant comfort
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • B60W60/0016Planning or execution of driving tasks specially adapted for safety of the vehicle or its occupants
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • B60W60/0017Planning or execution of driving tasks specially adapted for safety of other traffic participants
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3602Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/22Command input arrangements
    • G05D1/228Command input arrangements located on-board unmanned vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/617Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/80Arrangements for reacting to or preventing system or operator failure
    • G05D1/81Handing over between on-board automatic and on-board manual control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/165Anti-collision systems for passive traffic, e.g. including static obstacles, trees
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/60Traffic rules, e.g. speed limits or right of way
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2400/00Special features of vehicle units
    • B60Y2400/30Sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Business, Economics & Management (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Traffic Control Systems (AREA)

Abstract

Techniken für den Betrieb eines Fahrzeugs unter Verwendung von maschinellem Lernen mit Bewegungsplanung schließen das Speichern, unter Verwendung eines oder mehrerer Prozessoren eines Fahrzeugs, das sich innerhalb einer Umgebung befindet, mehrerer Randbedingungen zum Betreiben des Fahrzeugs innerhalb der Umgebung ein. Ein oder mehrere Sensoren des Fahrzeugs empfangen Sensordaten, welche die Umgebung beschreiben. Der eine oder die mehreren Prozessoren extrahieren einen Merkmalsvektor aus den gespeicherten mehreren Randbedingungen und den empfangenen Sensordaten. Der Merkmalsvektor schließt ein erstes Merkmal ein, das ein innerhalb der Umgebung befindliches Objekt beschreibt. Ein Maschinenlernkreis des Fahrzeugs wird verwendet, um ein erstes Bewegungssegment auf Grundlage des Merkmalsvektors zu erzeugen. Eine Anzahl von Verletzungen der gespeicherten mehreren Randbedingungen liegt unterhalb eines Schwellenwertes. Der eine oder die mehreren Prozessoren betreiben das Fahrzeug entsprechend dem erzeugten ersten Bewegungssegment.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht den Vorteil der Provisorischen US-Patentanmeldung 62/781,573 , eingereicht am 18. Dezember 2018.
  • GEBIET DER ERFINDUNG
  • Diese Beschreibung betrifft im Allgemeinen den Betrieb von Fahrzeugen und im Besonderen den Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen.
  • ALLGEMEINER STAND DER TECHNIK
  • Die Navigation eines Fahrzeugs von einer anfänglichen Position zu einem abschließenden Ziel erfordert häufig, dass ein Benutzer oder ein Entscheidungsfindungssystem des Fahrzeugs eine Route durch ein Straßennetz von der anfänglichen Position zu einem abschließenden Ziel auswählt. Die Route kann das Erfüllen von Zeilen, wie beispielsweise, eine maximale Fahrzeit nicht zu überschreiten, einschließen. Jedoch kann eine komplizierte Route viele Entscheidungen erfordern, was herkömmliche Algorithmen zur Routenauswahl unpraktisch macht. Herkömmliche Greedy-Algorithmen werden manchmal verwendet, um eine Route über einen gerichteten Graph von der anfänglichen Position zu einem abschließenden Ziel auszuwählen. Falls jedoch eine große Anzahl von Fahrzeugen auf der Straße einen solchen Greedy-Algorithmus verwendet, kann die ausgewählte Route überlastet werden, und die Fahrt kann sich auf ein Kriechen verlangsamen. Außerdem machen das Vorhandensein von geparkten Fahrzeugen, Baustellen und Fußgänger Routenauswahl und Navigation kompliziert.
  • KURZDARSTELLUNG
  • Es werden Techniken für den Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung (z. B. Bewegungsplanung mit minimaler Verletzung) mit maschinellem Lernen bereitgestellt. Die Techniken schließen das Speichern, unter Verwendung eines oder mehrerer Prozessoren eines Fahrzeugs, das sich innerhalb einer Umgebung befindet, mehrerer Randbedingungen zum Betreiben des Fahrzeugs innerhalb der Umgebung ein. Ein oder mehrere Sensoren des Fahrzeugs empfangen Sensordaten, welche die Umgebung beschreiben. Der eine oder die mehreren Prozessoren extrahieren einen Merkmalsvektor aus den gespeicherten mehreren Randbedingungen und den empfangenen Sensordaten. Der Merkmalsvektor schließt ein erstes Merkmal ein, das ein innerhalb der Umgebung befindliches Objekt beschreibt. Ein Maschinenlernkreis des Fahrzeugs wird verwendet, um ein erstes Bewegungssegment auf Grundlage des Merkmalsvektors zu erzeugen. Eine Anzahl von Verletzungen der gespeicherten mehreren Randbedingungen liegt unterhalb eines Schwellenwertes. Der eine oder die mehreren Prozessoren betreiben das Fahrzeug entsprechend dem erzeugten ersten Bewegungssegment.
  • Die Techniken schließen ferner das Speichern, unter Verwendung des einen oder der mehreren Prozessoren, mehrerer Randbedingungen zum Betreiben des Fahrzeugs ein. Der eine oder die mehreren Prozessoren empfangen mehrere Bewegungssegmente zum Betreiben des Fahrzeugs. Wenigstens ein erstes Bewegungssegment der mehreren Bewegungssegmente schließt eine zu fahrende Entfernung für das Fahrzeug ein. Für jedes Bewegungssegment der empfangenen mehreren Bewegungssegmente wird eine entsprechend Anzahl von Verletzungen der gespeicherten mehreren Randbedingungen bestimmt. Ein Maschinenlernkreis erzeugt ein zweites Bewegungssegment aus den gespeicherten mehreren Randbedingungen und den empfangenen mehreren Bewegungssegmenten. Eine Anzahl von Verletzungen der gespeicherten mehreren Randbedingungen für das zweite Bewegungssegment ist niedriger als die entsprechende Anzahl von Verletzungen der gespeicherten mehreren Randbedingungen für jedes Bewegungssegment der empfangenen mehreren Bewegungssegmente. Das Fahrzeug wird entsprechend dem zweiten Bewegungssegment betrieben.
  • Diese und andere Aspekte, Merkmale und Umsetzungen können als Verfahren, Vorrichtungen, Systeme, Komponenten. Programmerzeugnisse, Mittel oder Schritte zum Ausführen einer Funktion und auf andere Weisen ausgedrückt werden.
  • Diese und andere Aspekte, Merkmale und Umsetzungen werden aus den folgenden Beschreibungen, einschließlich der Ansprüche, offensichtlich werden.
  • Figurenliste
    • 1 illustriert ein Beispiel eines autonomen Fahrzeugs (autonomous vehicle - AV), das Autonomiefähigkeit aufweist, nach einer oder mehreren Ausführungsformen.
    • 2 illustriert eine beispielhafte „Cloud“-Datenverarbeitungsumgebung, nach einer oder mehreren Ausführungsformen.
    • 3 illustriert ein Rechnersystem, nach einer oder mehreren Ausführungsformen.
    • 4 illustriert eine beispielhafte Architektur für ein AV, nach einer oder mehreren Ausführungsformen.
    • 5 illustriert ein Beispiel von Eingaben und Ausgaben, die durch ein Wahrnehmungsmodul verwendet werden können, nach einer oder mehreren Ausführungsformen.
    • 6 illustriert ein Beispiel eines LiDAR-Systems, nach einer oder mehreren Ausführungsformen.
    • 7 illustriert das LiDAR-System im Betrieb, nach einer oder mehreren Ausführungsformen.
    • 8 illustriert den Betrieb des LiDAR-Systems mit zusätzlichen Einzelheiten, nach einer oder mehreren Ausführungsformen.
    • 9 illustriert ein Blockdiagramm der Beziehungen zwischen Eingaben und Ausgaben eines Planungsmoduls, nach einer oder mehreren Ausführungsformen.
    • 10 illustriert einen gerichteten Graph, der in der Wegplanung verwendet wird, nach einer oder mehreren Ausführungsformen.
    • 11 illustriert ein Blockdiagramm der Eingaben und Ausgaben eines Steuerungsmoduls, nach einer oder mehreren Ausführungsformen.
    • 12 illustriert ein Blockdiagramm der Eingaben, Ausgaben und Komponenten einer Steuerung, nach einer oder mehreren Ausführungsformen.
    • 13 illustriert ein Blockdiagramm einer Betriebsumgebung eines Fahrzeugs, das Bewegungsplanung mit maschinellem Lernen verwendet, nach einer oder mehreren Ausführungsformen.
    • 14 illustriert ein Beispiel einer Verletzung einer Randbedingung niedrigeren Ranges durch ein Fahrzeug, um einen Zusammenstoß mit einem Objekt zu vermeiden, nach einer oder mehreren Ausführungsformen.
    • 15 illustriert ein Blockdiagramm einer Maschinenlernarchitektur für den Betrieb eines Fahrzeugs, nach einer oder mehreren Ausführungsformen.
    • 16 illustriert einen Prozess für den Betrieb eines Fahrzeugs, das Bewegungsplanung mit maschinellem Lernen verwendet, nach einer oder mehreren Ausführungsformen.
    • 17 illustriert einen alternativen Prozess für den Betrieb eines Fahrzeugs, das Bewegungsplanung mit maschinellem Lernen verwendet, nach einer oder mehreren Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung werden, zu Erläuterungszwecken, zahlreiche spezifische Einzelheiten dargelegt, um ein gründliches Verständnis der vorliegenden Erfindung zu gewährleisten. Es wird jedoch offensichtlich sein, dass die vorliegende Erfindung ohne diese spezifischen Einzelheiten praktiziert werden kann. In anderen Fällen werden gut bekannte Strukturen und Vorrichtungen in Blockdiagrammform gezeigt, um ein unnötiges Verunklaren der vorliegenden Erfindung zu vermeiden.
  • In den Zeichnungen werden spezifische Anordnungen oder Reihenfolgen schematischer Elemente, wie beispielsweise derjenigen, die Geräte, Module, Anweisungsblöcke und Datenelemente darstellen, der einfachen Beschreibung halber gezeigt. Es sollte sich jedoch für die Fachleute verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht bedeuten soll, dass eine bestimmte Ordnung oder Abfolge der Verarbeitung oder Trennung von Prozessen erforderlich ist. Ferner soll der Einschluss eines schematischen Elements in den Zeichnungen nicht bedeuten, dass ein solches Element in allen Ausführungsformen erforderlich ist oder dass die Merkmale, die durch ein solches Element dargestellt werden, nicht in einigen Ausführungsformen in anderen Elementen eingeschlossen oder mit denselben kombiniert sein können.
  • Ferner soll in den Zeichnungen, wo verbindende Elemente, wie beispielsweise durchgehende oder gestrichelte Linien oder Pfeile, verwendet werden, um eine Verbindung, Beziehung oder Verknüpfung zwischen oder unter zwei oder mehr anderen schematischen Elementen zu illustrieren, das Fehlen eines solchen verbindenden Elements nicht bedeuten, dass keine Verbindung, Beziehung oder Verknüpfung bestehen kann, Mit anderen Worten, einige Verbindungen, Beziehungen oder Verknüpfungen zwischen Elementen werden in den Zeichnungen nicht gezeigt, um so die Offenbarung nicht zu verunklaren. Außerdem wird, der einfachen Illustration halber, ein einziges verbindendes Element verwendet, um mehrere Verbindungen, Beziehungen oder Verknüpfungen zwischen Elementen darzustellen. Zum Beispiel sollte es sich, wo ein verbindendes Element eine Übermittlung von Signalen darstellt, für die Fachleute verstehen, dass ein solches Element einen oder mehrere Signalwege (z. B. einen Bus) darstellt, wie es erforderlich sein kann, um die Übermittlung zu bewirken.
  • Es wird nun ausführlich Bezug genommen auf Ausführungsformen, von denen Beispiele in den beigefügten Zeichnungen illustriert werden. In der folgenden ausführlichen Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt, um ein gründliches Verständnis der vorliegenden Erfindung zu gewährleisten. Es wird jedoch für einen Durchschnittsfachmann offensichtlich sein, dass die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten praktiziert werden können. In anderen Fällen sind gut bekannte Verfahren, Prozeduren, Komponenten, Schaltungen und Netze nicht ausführlich beschrieben worden, um so Aspekte der Ausführungsformen nicht unnötig zu verunklaren.
  • Es werden im Folgenden verschiedene Merkmale beschrieben, die jeweils unabhängig voneinander oder mit einer beliebigen Kombination anderer Merkmale verwendet werden können. Jedoch kann sich ein beliebiges einzelnes Merkmal nicht jedem der oben erörterten Probleme widmen oder könnte sich nur einem der oben erörterten Probleme widmen. Einige der oben erörterten Probleme könnten durch ein beliebiges der hierin beschriebenen Merkmale nicht vollständig angegangen werden. Obwohl Überschriften bereitgestellt werden, können Informationen bezüglich einer bestimmten Überschrift, die aber nicht in dem Absatz mit dieser Überschrift zu finden sind, ebenfalls an anderer Stelle in dieser Beschreibung zu finden sein. Ausführungsformen werden hierin entsprechend der folgenden Gliederung beschrieben:
    1. 1. Allgemeiner Überblick
    2. 2. Systemüberblick
    3. 3. Architektur eines autonomen Fahrzeugs
    4. 4. Eingaben eines autonomen Fahrzeugs
    5. 5. Planung eines autonomen Fahrzeugs
    6. 6. Steuerung eines autonomen Fahrzeugs
    7. 7. Betriebsumgebung für Bewegungsplanung mit maschinellem Lernen
    8. 8. Beispiel von Randbedingungsverletzung zur Kollisionsvermeidung
    9. 9. Maschinenlernarchitektur für Bewegungsplanung
    10. 10. Prozesse zum Betrieb eines Fahrzeugs mit Bewegungsplanung
  • Allgemeiner Überblick
  • Ein autonomes Fahrzeug (AV) verwendet Sensoren, um während des Betriebs in einer Umgebung Objekte zu erfassen und Entfernungen von Objekten zu erfassen. Die Sensoren schließen optische Sensoren, wie beispielsweise Kameras und LiDAR ein. Ein LiDAR ist eine Fernerkundungseinrichtung, die ein Raster von gepulsten Laserstrahlen verwendet, um eine Entfernung von einem Objekt zu der Einrichtung zu messen. Um das AV zu betreiben, werden die optischen Sensoren des AV verwendet, um Sensordaten zu empfangen, welche die Umgebung darstellen. Ein oder mehrere Prozessoren des AV werden verwendet, um Randbedingungen zum Betreiben des Fahrzeugs innerhalb der Umgebung zu speichern. Zum Beispiel kann eine Randbedingung eine Höchstgeschwindigkeit für das AV angeben. Die Prozessoren extrahieren einen Merkmalsvektor aus den Randbedingungen und den empfangenen Sensordaten. Der Merkmalsvektor schließt ein erstes Merkmal ein, das ein innerhalb der Umgebung befindliches Objekt beschreibt. Zum Beispiel kann das erste Merkmal eine Position oder eine Geschwindigkeit des Objekts beschreiben. Ein Maschinenlernkreis des Fahrzeugs wird verwendet, um ein erstes Bewegungssegment auf Grundlage des Merkmalsvektors zu erzeugen. Das erste Bewegungssegment wird derart erzeugt, dass eine Anzahl von Verletzungen der Randbedingungen für das erste Bewegungssegment unterhalb eines Schwellenwertes liegt. Der eine oder die mehreren Prozessoren betreiben das Fahrzeug entsprechend dem erzeugten ersten Bewegungssegment.
  • Systemüberblick
  • 1 illustriert ein Beispiel eines autonomen Fahrzeugs 100, das Autonomiefähigkeit aufweist.
  • Wie hierin verwendet, bezieht sich der Begriff „Autonomiefähigkeit“ auf eine Funktion, ein Merkmal oder eine Fähigkeit, die es ermöglicht, dass ein Fahrzeug teilweise oder vollständig ohne menschlichen Echtzeiteingriff betrieben wird, einschließlich, ohne Beschränkung, vollständig autonomer Fahrzeuge, hochgradig autonomer Fahrzeuge und bedingt autonomer Fahrzeuge.
  • Wie hierin verwendet, ist ein autonomes Fahrzeug (AV) ein Fahrzeug, das Autonomiefähigkeit aufweist.
  • Wie hierin verwendet, schließt „Fahrzeug“ Beförderungsmittel für Güter oder Personen ein. Zum Beispiel Autos, Busse, Züge, Flugzeuge, Drohnen, Lastkraftwagen, Boote, Schiffe, Tauchboote, Luftschiffe usw. Ein fahrerloses Auto ist ein Beispiel eines Fahrzeugs.
  • Wie hierin verwendet, bezieht sich „Strecke“ auf einen Weg oder eine Route, um ein AV von einer ersten raumzeitlichen Position zu einer zweiten raumzeitlichen Position zu navigieren. In einer Ausführungsform wird die erste raumzeitliche Position als die anfängliche oder Startposition bezeichnet, und die zweite raumzeitliche Position wird als die Bestimmung, die abschließende Position, das Ziel, die Zielposition oder der Zielstandort bezeichnet. In einigen Beispielen besteht eine Strecke aus einem oder mehreren Segmenten (z. B. Straßenabschnitten) und jedes Segment besteht aus einem der mehreren Blöcken (z. B. Abschnitten einer Fahrspur oder Kreuzung). In einer Ausführungsform entsprechen die raumzeitlichen Positionen Positionen in der wirklichen Welt. Zum Beispiel sind die raumzeitlichen Positionen Abhol- oder Absetzpositionen, um Personen oder Güter abzuholen oder abzusetzen.
  • Wie hierin verwendet, schließt „Sensoren“ eine oder mehrere Hardwarekomponenten ein, die Informationen über die Umgebung erfassen, die den Sensor umgibt. Einige der Hardwarekomponenten können Sensorkomponenten (z. B. Bildsensoren, biometrische Sensoren), sendende und/oder empfangende Komponenten (z. B. Laser- oder Hochfrequenzwellen-Sender und -Empfänger), elektronische Komponenten, wie beispielsweise Analog-Digital-Wandler, ein Datenspeichergerät (wie beispielsweise einen RAM und/oder einen nicht-flüchtigen Speicher), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten, wie beispielsweise einen ASIC (application-specific integrated circuit - anwendungsspezifischen integrierten Schaltkreis), einen Mikroprozessor und/oder einen Mikrocontroller, einschließen.
  • Wie hierin verwendet, ist „Szenenbeschreibung“ eine Datenstruktur (z. B. eine Liste) oder ein Datenstrom, die/der ein oder mehrere klassifizierte oder gekennzeichnete Objekte einschließt, die durch einen oder mehrere Sensoren auf dem AV-Fahrzeug erfasst oder durch eine Quelle außerhalb des AV bereitgestellt werden.
  • Wie hierin verwendet, ist „Straße“ eine physische Fläche, die durch ein Fahrzeug durchlaufen werden kann, und kann einer benannten Durchfahrt (z. B. einer Stadtstraße, einer Fernstraße usw.) entsprechen oder kann einer unbenannten Durchfahrt (z. B. einer Auffahrt in einem Haus oder Bürogebäude, einem Abschnitt eines Parkplatzes, einem Abschnitt eines unbebauten Grundstücks, einem Feldweg in einem ländlichen Gebiet usw.) entsprechen. Da einige Fahrzeuge (z. B. Kleinlastwagen mit 4-Rad-Antrieb, Geländewagen usw.) dazu in der Lage sind physische Flächen zu durchfahren, die nicht spezifisch für Fahrzeugverkehr angepasst sind, kann eine „Straße“ eine physische Fläche sein, die nicht formell durch eine Gemeinde oder eine andere Regierungs- oder Verwaltungsinstanz als Durchfahrt definiert ist.
  • Wie hierin verwendet, ist „Fahrspur“ ein Abschnitt einer Straße, der durch ein Fahrzeug durchlaufen werden kann, und kann dem Großteil oder der Gesamtheit des Raums zwischen Fahrspurmarkierungen entsprechen oder kann nur etwas (z. B. weniger als 50 %) des Raums zwischen Fahrspurmarkierungen entsprechen. Zum Beispiel könnte eine Straße, die Fahrspurmarkierungen aufweist, die weit voneinander beabstandet sind, zwei oder mehr Fahrzeuge zwischen den Markierungen aufnehmen, so dass ein Fahrzeug das andere überholen kann, ohne die Fahrspurmarkierungen zu überqueren, und könnte folglich so ausgelegt werden, dass sie eine Fahrspur hat, die schmaler ist als der Raum zwischen den Fahrspurmarkierungen, oder dass sie zwei Fahrspuren zwischen den Fahrspurmarkierungen hat. Eine Fahrspur könnte ebenfalls beim Fehlen von Fahrspurmarkierungen ausgelegt werden. Zum Beispiel kann eine Fahrspur auf Grund von physischen Merkmalen einer Umgebung, z. B. Steinen und Bäumen entlang einer Durchfahrt in einem ländlichen Gebiet, definiert werden.
  • „Ein oder mehrere“ schließt eine Funktion, die durch ein Element ausgeführt wird, eine Funktion, die durch mehr als ein Element, z. B. auf eine verteilte Weise, ausgeführt wird, mehrere Funktionen, die durch ein Element ausgeführt werden, mehrere Funktionen, die durch mehrere Elemente ausgeführt werden, oder eine beliebige Kombination des Obigen ein.
  • Es wird sich ebenfalls verstehen, dass, obwohl die Begriffe erster, zweiter usw. in einigen Fällen hierin verwendet werden, um verschiedene Elemente zu beschreiben, diese Elemente nicht durch diese Begriffe beschränkt werden sollten. Diese Begriffe werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Zum Beispiel könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet werden, und ähnlich könnte ein zweiter Kontakt als ein erster Kontakt bezeichnet werden, ohne vom Rahmen der verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beides Kontakte, aber sie sind nicht der gleiche Kontakt.
  • Die Terminologie, die in der Beschreibung der verschiedenen hierin beschriebenen Ausführungsformen verwendet wird, dient nur dem Zweck des Beschreibens bestimmter Ausführungsformen und ist nicht als einschränkend vorgesehen. Wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und der Ansprüche verwendet, ist beabsichtigt, dass die Einzahlformen „ein“, „eine“ und „der/die/das“ die Mehrzahlformen ebenfalls einschließen, sofern es der Kontext nicht deutlich anders angibt. Es wird ebenfalls zu verstehen sein, dass der Begriff „und/oder“, wie er hierin verwendet wird, sämtliche möglichen Kombinationen von einem oder mehreren der zugehörigen aufgelisteten Gegenstände bezeichnet und umfasst. Es wird sich ferner verstehen, dass die Begriffe „schließt ein“, „einschließend“, „einschließt“ und/oder „einschließlich“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein oder Hinzufügen eines/einer oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Bestandteile und/oder Gruppen derselben nicht ausschließen.
  • Wie hierin verwendet, ist der Begriff „falls“ wahlweise so auszulegen, dass er, abhängig vom Kontext, „wenn“ oder „auf‟ oder „als Reaktion auf ein Feststellen“ oder „als Reaktion auf ein Erkennen“ bedeutet. Ähnlich ist die Wendung „falls festgestellt wird“ oder „falls [ein(e) genannte(s) Bedingung oder Ereignis] erkannt wird“ wahlweise so auszulegen, dass sie, abhängig vom Kontext, „auf ein Feststellen“ oder „als Reaktion auf ein Feststellen“ oder „auf ein Feststellen [der/des genannten Bedingung oder Ereignisses]“ oder „als Reaktion auf ein Feststellen [der/des genannten Bedingung oder Ereignisses]“ bedeutet.
  • Wie hierin verwendet, bezieht sich ein AV-System auf das AV zusammen mit der Reihe von Hardware, Software, gespeicherten Daten und in Echtzeit erzeugten Daten, die den Betrieb des AV unterstützt. In einer Ausführungsform ist das AV-System innerhalb des AV eingeschlossen. In einer Ausführungsform ist das AV-System über verschiedene Standorte verteilt. Zum Beispiel ist etwas von der Software des AV-Systems auf einer Cloud-Datenverarbeitungsumgebung, ähnlich der unten unter Bezugnahme auf 3 beschriebenen Cloud-Datenverarbeitungsumgebung 300 umgesetzt.
  • Im Allgemeinen beschreibt dieses Dokument Technologien, die auf jegliche Fahrzeuge anwendbar sind, die eine oder mehrere Autonomiefähigkeiten aufweisen, einschließlich vollständig autonomer Fahrzeuge, hochgradig autonomer Fahrzeuge und bedingt autonomer Fahrzeuge, wie beispielsweise Fahrzeuge der sogenannten Stufe 5, Stufe 4 beziehungsweise Stufe 3 (siehe den Standard J3016 der SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Taxonomie und Definitionen für Begriffe in Bezug auf automatisierte Fahrsysteme von Straßenkraftfahrzeugen), der hier durch Bezugnahme in Gänze aufgenommen wird, wegen weiterer Einzelheiten zur Klassifikation von Autonomiestufen bei Fahrzeugen). Die in diesem Dokument beschriebenen Technologien sind ebenfalls auf teilweise autonome Fahrzeuge und Fahrzeuge mit Fahrerassistenz anwendbar, wie beispielsweise Fahrzeuge der sogenannten Stufe 2 und Stufe 1 (siehe den Standard J3016 der SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems). In einer Ausführungsform können eines oder mehrere Fahrzeugsysteme der Stufe 1, 2, 3, 4 und 5 unter bestimmten Betriebsbedingungen auf Grundlage der Verarbeitung von Sensoreingaben bestimmte Fahrzeugoperationen (z. B. Lenken, Bremsen und Verwenden von Karten) automatisieren. Die in diesem Dokument beschriebenen Technologien können Fahrzeugen auf beliebigen Stufen zugutekommen, die von vollständig autonomen Fahrzeugen bis zu von Menschen bedienten Fahrzeugen reichen.
  • Unter Bezugnahme auf 1 betreibt ein AV-System 120 das AV 100 entlang einer Strecke 198 durch eine Umgebung 190 zu einem Ziel 199 (manchmal als eine abschließende Position bezeichnet), während es Objekten (z. B. natürlichen Hindernissen 191, Fahrzeugen 193, Fußgängern 192, Radfahrern und anderen Hindernissen) ausweicht und Regeln der Straße . (z. B. Bedienungsregeln oder Fahrtpräferenzen) befolgt.
  • In einer Ausführungsform schließt das AV-System 120 Vorrichtungen 101 ein, die instrumentiert sind, um Betriebsbefehle von den Rechnerprozessoren 146 zu empfangen und daraufhin zu handeln. In einer Ausführungsform sind die Rechnerprozessoren 146 ähnlich dem Prozessor 304, der unten unter Bezugnahme auf 3 beschrieben wird. Beispiele der Vorrichtungen 101 schließen eine Lenkungssteuerung 102, Bremsen 103, Getriebe, Gaspedal oder andere Beschleunigungssteuerungsmechanismen, Scheibenwischer, Seitentürschlösser, Fenstersteuerungen und Richtungsanzeiger ein.
  • In einer Ausführungsform schließt das AV-System 120 Sensoren 121 zum Messen oder Ableiten von Status- oder Zustandseigenschaften des AV 100, wie beispielsweise der Position des AV, der linearen Geschwindigkeit und Beschleunigung, der Winkelgeschwindigkeit und -beschleunigung und des Kurses (z. B. einer Ausrichtung des vorderen Endes des AV 100), ein. Beispiele der Sensoren 121 sind GNSS, Trägheitsmesseinheiten (inertial measurement units - IMU), die sowohl lineare Beschleunigungen als auch Winkelgeschwindigkeiten des Fahrzeugs messen, Raddrehzahlsensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren und Lenkwinkel- und Winkelgeschwindigkeitssensoren.
  • In einer Ausführungsform schließen die Sensoren 121 ebenfalls Sensoren zum Abfühlen oder Messen von Eigenschaften der Umgebung des AV ein. Zum Beispiel monokulare oder Stereo-Videokameras 122 im sichtbaren Licht, Infrarot- oder Wärme- (oder beides) Spektren-, LiDAR- 123, RADAR-, Ultraschallsensoren, Laufzeit (time-of-flight-TOF-) Tiefensensoren, Geschwindigkeitssensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensoren.
  • In einer Ausführungsform schließt das AV-System 120 eine Datenspeichereinheit 142 und Speicher 144 zum Speichern von Maschinenanweisungen, die mit den Rechnerprozessoren 146 verbunden sind, oder durch die Sensoren 121 gesammelten Daten ein. In einer Ausführungsform ist die Datenspeichereinheit 142 ähnlich dem ROM 308 oder dem Speichergerät 310, die unten unter Bezugnahme auf 3 beschrieben werden. In einer Ausführungsform ist der Speicher 144 ähnlich dem unten beschriebenen Hauptspeicher 306. In einer Ausführungsform speichern die Datenspeichereinheit 142 und der Speicher 144 Verlaufs-, Echtzeit- und/oder Vorhersageinformationen über die Umgebung 190. In einer Ausführungsform schließen die gespeicherten Informationen Karten, Fahrleistung, Verkehrsstau-Aktualisierungen oder Wetterbedingungen ein. In einer Ausführungsform werden Daten bezüglich der Umgebung 190 über einen Kommunikationskanal von einer entfernt angeordneten Datenbank 134 an das AV 100 übermittelt.
  • In einer Ausführungsform schließt das AV-System 120 Kommunikationsgeräte 140 zum Übermitteln gemessener oder abgeleiteter Eigenschaften von Zuständen und Bedingungen andere Fahrzeuge, wie beispielsweise Positionen, linearen und Winkelgeschwindigkeiten, linearen und Winkelbeschleunigungen und linearen und Winkelkursen, an das AV 100 ein. Diese Geräte schließen Fahrzeug-zu-Fahrzeug- (Vehicle-to-Vehicle - V2V-) und Fahrzeug-zu-Infrastruktur- (Vehicle-to-Infrastructure - V2I-) Kommunikationsgeräte und Geräte für drahtlose Kommunikation über Punkt-zu-Punkt- oder Ad-hoc-Netze oder beides ein. In einer Ausführungsform kommunizieren die Kommunikationsgeräte 140 über das elektromagnetische Spektrum (einschließlich von Funk- und optischer Kommunikation) oder andere Medien (z. B. Luft- und akustische Medien). Eine Kombination von Fahrzeug-zu-Fahrzeug- (V2V-), Fahrzeug-zu-Infrastruktur- (V2I-) Kommunikation (und, in einigen Ausführungsformen, einer oder mehreren anderen Arten von Kommunikation) wird manchmal als Fahrzeug-zu-allem- (Vehicle-to-Everything - V2X-) Kommunikation bezeichnet. V2X-Kommunikation entspricht typischerweise einem oder mehreren Kommunikationsstandards zur Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
  • In einer Ausführungsform schließen die Kommunikationsgeräte 140 Kommunikationsschnittstellen ein. Zum Beispiel kabelgebundene, drahtlose, WiMAX-, Wi-Fi-, Bluetooth-, Satelliten-, Mobilfunk-, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen übertragen Daten von einer entfernt angeordneten Datenbank 134 zu dem AV-System 120. In einer Ausführungsform ist die entfernt angeordnete Datenbank 134 in einer Cloud-Datenverarbeitungsumgebung 200 eingebettet, wie in 2 beschrieben. Die Kommunikationsschnittstellen 140 übertragen von den Sensoren 121 gesammelte Daten oder andere Daten, die mit dem Betrieb des AV 100 verbunden sind, an die entfernt angeordnete Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Informationen, die sich aus Teleoperationen beziehen, an das AV 100. In einigen Ausführungsformen kommuniziert das AV 100 mit anderen entfernten (z. B. „Cloud“-) Servern 136.
  • In einer Ausführungsform speichert und übermittelt die entfernt angeordnete Datenbank 134 ebenfalls digitale Daten (speichert z. B. Daten wie beispielsweise Wege- und Straßenpositionen). Solche Daten werden auf dem Speicher 144 auf dem AV 100 gespeichert oder über einen Kommunikationskanal von der entfernt angeordneten Datenbank 134 an das AV 100 übermittelt.
  • In einer Ausführungsform speichert und übermittelt die entfernt angeordnete Datenbank 134 Verlaufsinformationen über Fahreigenschaften (z. B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten entlang der Strecke 198 gefahren sind. In einer Umsetzung können solche Daten auf dem Speicher 144 auf dem AV 100 gespeichert oder über einen Kommunikationskanal von der entfernt angeordneten Datenbank 134 an das AV 100 übermittelt werden.
  • Datenverarbeitungsgeräte 146, die auf dem AV 100 angeordnet sind, erzeugen algorithmisch Steuerungsaktionen auf Grundlage von sowohl Echtzeit-Sensordaten als auch vorherigen Informationen, was es ermöglicht, dass das AV-System 120 seine autonomen Fahrfähigkeiten ausübt.
  • In einer Ausführungsform schließt das AV-System 120 Rechnerperipheriegeräte 132 ein, die mit den Datenverarbeitungsgeräten 146 verbunden sind, um Informationen und Warnungen für einen Benutzer (z. B. einen Insassen oder einen entfernten Benutzer) des AV 100 bereitzustellen und eine Eingabe von demselben zu empfangen. In einer Ausführungsform sind die Peripheriegeräte 132 ähnlich der Anzeige 312, dem Eingabegerät 314 und der Cursorsteuerung 316, die unten unter Bezugnahme auf 3 erörtert werden. Die Verbindung ist drahtlos oder kabelgebunden. Beliebige zwei oder mehr der Schnittstellengeräte können zu einem einzigen Gerät integriert sein.
  • Beispielhafte Cloud-Datenverarbeitungsumgebung
  • 2 illustriert eine beispielhafte „Cloud“-Datenverarbeitungsumgebung. Cloud-Datenverarbeitung ist ein Modell von Dienstleistungserbringung, um einen bequemen Netzzugang auf Anforderung zu einem gemeinsam genutzten Fundus von konfigurierbaren Datenverarbeitungsressourcen (z. B. Netzen, Netzbandbreite, Servern, Verarbeitung, Speicher, Speicherung, Anwendungen, virtuellen Maschinen und Dienstleistungen) zu ermöglichen. In typischen Cloud-Datenverarbeitung nehmen ein oder mehrere große Cloud-Datenzentralen die Maschinen auf, die verwendet werden, um die durch die Cloud bereitgestellten Dienstleistungen zu erbringen. Unter Bezugnahme nun auf 2 schließt die Cloud-Datenverarbeitungsumgebung 200 Datenzentralen 204a, 204b und 204c ein, die durch die Cloud 202 miteinander verbunden sind. Die Datenzentralen 204a, 204b und 204c stellen Cloud-Datenverarbeitungsdienstleistungen für Rechnersysteme 206a, 206b, 206c, 206d, 206e und 206f bereit, die mit der Cloud 202 verbunden sind.
  • Die Cloud-Datenverarbeitungsumgebung 200 schließt eine oder mehrere Cloud-Datenzentralen ein. Im Allgemeinen bezieht sich eine Cloud-Datenzentrale, zum Beispiel die in 2 gezeigte Cloud-Datenzentrale 204a, auf die physische Anordnung von Servern, die eine Cloud, zum Beispiel die in 2 gezeigte Cloud 202 oder einen bestimmten Teil einer Cloud, ausmachen. Zum Beispiel sind Server in der Cloud-Datenzentrale physisch in Räumen, Gruppen, Reihen und Schränken angeordnet. Eine Cloud-Datenzentrale weist eine oder mehrere Zonen auf, die einen oder mehrere Serverräume einschließen. Jeder Raum weist eine oder mehrere Reihen von Servern auf, und jede Reihe schließt einen oder mehrere Schränke ein. Jeder Schrank schließt einen oder mehrere einzelne Serverknoten ein. In einigen Umsetzungen sind Server in Zonen, Räumen, Schränken und/oder Reihen auf Grundlage physischer Infrastrukturanforderungen der Datenzentraleneinrichtung, die Leistungs-, Energie-, thermische, Wärme- und/oder andere Anforderungen einschließen, zu Gruppen angeordnet. In einer Ausführungsform sind die Serverknoten ähnlich dem in 3 beschriebenen Rechnersystem. Die Datenzentrale 204a weist viele Datenverarbeitungsanlagen auf, die durch viele Schränke verteilt sind.
  • Die Cloud 202 schließt die Cloud-Datenzentralen 204a, 204b und 204c zusammen mit den Netz- und Vernetzungsressourcen (z. B. Vernetzungsausrüstung, Knoten, Routern, Schaltern und Vernetzungskabeln), welche die Cloud-Datenzentralen 204a, 204b und 204c miteinander verbinden und dazu beitragen, den Zugang der Datenverarbeitungsanlagen 206a-f zu Cloud-Datenverarbeitungsdienstleistungen zu ermöglichen. In einer Ausführungsform stellt das Netz eine beliebige Kombination eines oder mehrerer lokaler Netze dar, Weitverkehrsnetze oder Verbundnetze, die unter Verwendung kabelgebundener oder drahtloser Anbindungen angeschlossen sind, die unter Verwendung von terrestrischen oder Satellitenverbindungen entfaltet werden. Daten, die über das Netz ausgetauscht werden, werden unter Verwendung einer beliebigen Anzahl von Netzschichtprotokollen, wie beispielsweise Internet Protocol (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay usw. übertragen. Darüber hinaus werden, in Ausführungsformen, wo das Netz eine Kombination mehrerer Unternetze darstellt, bei jedem der darunterliegenden Unternetze unterschiedliche Netzschichtprotokolle verwendet. In einigen Ausführungsformen stellt das Netz ein oder mehrere miteinander verbundene Verbundnetze, wie beispielsweise das öffentliche Internet, dar.
  • Die Datenverarbeitungsanlagen 206a-f oder Nutzer von Cloud-Datenverarbeitungsdienstleistungen sind durch Netzanbindungen und Netzadapter mit der Cloud 202 verbunden. In einer Ausführungsform sind die Datenverarbeitungsanlagen 206a-f als verschiedene Datenverarbeitungsgeräte, zum Beispiel Server, Desktops, Laptops, Tablets, Smartphones, Geräte des Internets der Dinge (Internet of Things - IoT), autonome Fahrzeuge (einschließlich von Autos, Drohnen, Zubringern, Zügen, Bussen usw.) und Verbraucherelektronik, umgesetzt. In einer Ausführungsform sind die Datenverarbeitungsanlagen 206a-f in oder als ein Teil von anderen Systemen umgesetzt.
  • Rechnersystem
  • 3 illustriert ein Rechnersystem 300. In einer Umsetzung ist das Rechnersystem 300 ein Datenverarbeitungsgerät mit besonderer Zweckbestimmung. Das Datenverarbeitungsgerät mit besonderer Zweckbestimmung ist fest verdrahtet, um die Techniken auszuführen, oder schließt digitale elektronische Bausteine, wie beispielsweise einen oder mehrere anwendungsspezifische integrierte Schaltkreise (application-specific integrated circuits - ASIC) oder feldprogrammierbare Gatteranordnungen (FPGA), ein, die dauerhaft programmiert sind, um die Techniken auszuführen, oder kann einen oder mehrere Mehrzweck-Hardwareprozessoren einschließen, die programmiert sind, um die Techniken gemäß Programmanweisungen in Firmware, Speicher, anderer Speicherung oder einer Kombination auszuführen. Solche Datenverarbeitungsgeräte mit besonderer Zweckbestimmung können ebenfalls fest verdrahtete Logik, ASIC oder FPGA mit kundenspezifischer Programmierung, um die Techniken durchzuführen, kombinieren. In verschiedenen Ausführungsformen sind die Datenverarbeitungsgerät mit besonderer Zweckbestimmung Rechnersysteme, tragbare Rechnersystems, in der Hand gehaltene Geräte, Netzgeräte oder ein beliebiges anderes Gerät, das fest verdrahtete und/oder Programmlogik, um die Techniken umzusetzen, einschließt.
  • In einer Ausführungsform schließt das Rechnersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Übermitteln von Informationen und einen Hardwareprozessor 304, der mit einem Bus 302 verbunden ist, zum Verarbeiten von Informationen ein. Der Hardwareprozessor 304 ist zum Beispiel ein Mehrzweck-Mikroprozessor. Das Rechnersystem 300 schließt ebenfalls einen Hauptspeicher 306, wie beispielsweise einen Direktzugriffsspeicher (RAM) oder ein anderes dynamisches Speichergerät, angeschlossen an den Bus 302, zum Speichern von Informationen und durch den Prozessor 304 auszuführenden Anweisungen. In einer Umsetzung wird der Hauptspeicher 306 zum Speichern zeitweiliger Variablen oder anderer Zwischeninformationen während der Ausführung von durch den Prozessor 304 auszuführenden Anweisungen verwendet. Solche Anweisungen, wenn sie in für den Prozessor 304 zugänglichen nicht-flüchtigen Speichermedien gespeichert sind, machen das Rechnersystem 300 zu einer Maschine mit besonderer Zweckbestimmung, die angepasst ist, um die in den Anweisungen angegebenen Operationen durchzuführen.
  • In einer Ausführungsform schließt das Rechnersystem 300 ferner einen Festspeicher (ROM) 308 oder ein anderes statisches Speichergerät, angeschlossen an den Bus 302, zum Speichern von statischen Informationen und Anweisungen für den Prozessor 304 ein. Es wird ein Speichergerät 310, wie beispielsweise eine Magnetplatte, eine optische Platte, ein Festkörperlaufwerk oder ein dreidimensionaler Kreuzungspunktspeicher, bereitgestellt und an den Bus 302 angeschlossen, zum Speichern von Informationen und Anweisungen.
  • In einer Ausführungsform ist das Rechnersystem 300 über den Bus 302 an eine Anzeige 312, wie beispielsweise eine Kathodenstrahlröhre (cathode ray tube - CRT), eine Flüssigkristallanzeige (liquid crystal display - LCD), Plasmaanzeige, Lichtemissionsdioden-(LED-) Anzeige oder eine organische Lichtemissionsdioden- (OLED-) Anzeige, zum Anzeigen von Informationen für einen Rechnerbenutzer angeschlossen. Ein Eingabegerät 314, das alphanumerische und andere Tasten einschließt, ist an den Bus 302 angeschlossen, zum Übermitteln von Informationen und Befehlsauswahlen an den Prozessor 304. Eine andere Art von Benutzer-Eingabegerät ist eine Cursorsteuerung 316, wie beispielsweise eine Maus, ein Trackball, eine berührungsfähige Anzeige oder Cursor-Richtungstasten, zum Übermitteln von Richtungsinformationen und Befehlsauswahlen an den Prozessor 304 und zum Steuern einer Cursorbewegung auf der Anzeige 312. Dieses Eingabegerät weist typischerweise zwei Freiheitsgrade in zwei Achsen, einer ersten Achse (z. B. einer x-Achse) und einer zweiten Achse (z. B. einer y-Achse), auf, was es dem Gerät ermöglicht, Positionen in einer Ebene anzugeben.
  • Nach einer Ausführungsform werden die Techniken hierin durch das Rechnersystem 300 als Reaktion darauf durchgeführt, dass der Prozessor 304 eine oder mehrere Sequenzen von einer oder mehreren Anweisungen ausführt, die in dem Hauptspeicher 306 enthalten sind. Solche Anweisungen werden in den Hauptspeicher 306 von einem anderen Speichermedium, wie beispielsweise dem Speichergerät 310, eingelesen. Die Ausführung der Sequenzen von Anweisungen, die in dem Hauptspeicher 306 enthalten sind, bewirkt, dass der Prozessor 304 die hierin beschriebenen Prozessschritte durchführt. In alternativen Ausführungsformen werden fest verdrahtete Schaltungen an Stelle von oder in Kombination mit Software-Anweisungen verwendet.
  • Der Begriff „Speichermedien“, wie er hierin verwendet wird, bezieht sich auf beliebige nicht-flüchtige Medien, die Daten und/oder Anweisungen, die bewirken, dass eine Maschine auf eine spezifische Weise arbeitet, ein. Solche Speichermedien schließen nicht-flüchtige Medien und/oder flüchtige Medien ein. Nicht-flüchtige Medien schließen zum Beispiel optische Platten, Magnetplatten, Festkörperlaufwerke oder dreidimensionalen Kreuzungspunktspeicher, wie beispielsweise das Speichergerät 310, ein. Flüchtige Medien schließen dynamischen Speicher, wie beispielsweise den Hauptspeicher 306, ein. Verbreitete Formen von Speichermedien schließen zum Beispiel eine Diskette, eine flexible Platte, eine Festplatte, ein Festkörperlaufwerk, ein Magnetband oder ein beliebiges anderes magnetisches Datenspeichermedium, eine CD-ROM, ein beliebiges anderes optisches Datenspeichermedium, ein beliebiges physisches Medium mit Lochmustern, einen RAM, einen PROM und EPROM, einen FLASH-EPROM, NV-RAM oder eine(n) beliebige(n) andere(n) Speicherchip oder -kassette ein.
  • Speichermedien unterscheiden sich von Übertragungsmedien, können aber in Verbindung mit denselben verwendet werden. Übertragungsmedien sind sich am Übertragen von Informationen zwischen Speichermedien beteiligt. Zum Beispiel schließen Übertragungsmedien Koaxialkabel, Kupferdraht und Faseroptik ein, einschließlich der Drähte, die den Bus 302 einschließen. Übertragungsmedien können ebenfalls die Form von akustischen oder Lichtwellen, wie beispielsweise derjenigen, die während Funkwellen- und Infrarot-Datenkommunikation erzeugt werden, annehmen.
  • In einer Ausführungsform sind verschiedene Formen von Medien daran beteiligt, eine oder mehrere Sequenzen von Anweisungen zur Ausführung zu dem Prozessor 304 zu bringen. Zum Beispiel werden die Anweisungen anfangs auf einer Magnetplatte oder einem Festkörperlaufwerk eines entfernten Rechners getragen. Der entfernte Rechner lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen unter Verwendung eines Modems über eine Telefonleitung. Ein lokales Modem des Rechnersystems 300 empfängt die Daten auf der Telefonleitung und verwendet einen Infrarotsender, um die Daten zu einem Infrarotsignal umzuwandeln. Ein Infrarotdetektor empfängt die in dem Infrarotsignal beförderten Daten, und geeignete Schaltungen bringen die Daten auf den Bus 302. Der Bus 302 befördert die Daten zu dem Hauptspeicher 306, von dem der Prozessor 304 die Anweisungen abruft und ausführt. Die durch den Hauptspeicher 306 empfangenen Anweisungen können wahlweise entweder vor oder nach der Ausführung durch den Prozessor 304 auf dem Speichergerät 310 gespeichert werden.
  • Das Rechnersystem 300 schließt ebenfalls eine Kommunikationsschnittstelle 318 ein, die an den Bus 302 angeschlossen ist. Die Kommunikationsschnittstelle 318 stellt eine Zweiwege-Datenkommunikationsverbindung zu einer Netzanbindung 320 bereit, die mit einem lokalen Netz 322 verbunden ist. Zum Beispiel ist die Kommunikationsschnittstelle 318 eine Integrated-Service-Digital-Network- (ISDN-) Karte, ein Kabelmodem, ein Satellitenmodem oder ein Modem, um eine Datenkommunikationsverbindung zu einer entsprechenden Art von Telefonleitung bereitzustellen. Als ein anderes Beispiel ist die Kommunikationsschnittstelle 318 eine lokale Netz- (local area network - LAN-) Karte, um eine Datenkommunikationsverbindung zu einem kompatiblen LAN bereitzustellen. In einigen Umsetzungen werden ebenfalls drahtlose Anbindungen umgesetzt. In einer beliebigen solchen Umsetzung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme befördern, die verschiedene Arten von Informationen darstellen.
  • Die Netzanbindung 320 stellt typischerweise eine Datenkommunikation durch ein oder mehrere Netze zu anderen Datengeräten bereit. Zum Beispiel stellt die Netzanbindung 320 eine Verbindung durch das lokale Netz 322 zu einem Hostrechner 324 oder zu einer Cloud-Datenzentale oder Ausrüstung, die durch einen Internet-Dienstanbieter (Internet Service Provider - ISP) 326 betrieben wird, bereit. Der ISP 326 wiederum stellt Datenkommunikationsdienstleistungen durch das weltweite Paket-Datenkommunikationsnetz, das jetzt gemeinhin als das „Internet“ 328 bezeichnet wird, bereit. Das lokale Netz 322 und das Internet 328 verwenden beide elektrische, elektromagnetische oder optische Signale, die digitale Datenströme befördern. Die Signale durch die verschiedenen Netze und die Signale auf der Netzanbindung 320 und durch die Kommunikationsschnittstelle 318, welche die digitalen Daten zu und von dem Rechnersystem 300 befördern, sind Beispielformen von Übertragungsmedien. In einer Ausführungsform enthält das Netz 320 die Cloud 202 oder einen Teil der Cloud 202, die oben beschrieben wird.
  • Das Rechnersystem 300 sendet Nachrichten und empfängt Daten, einschließlich von Programmcode, durch das/die Netz(e), die Netzanbindung 320 und die Kommunikationsschnittstelle 318. In einer Ausführungsform empfängt das Rechnersystem 300 Code zur Verarbeitung. Der empfangene Code wird durch den Prozessor 304 ausgeführt, wenn er empfangen wird und/oder in dem Speichergerät 310 oder einem anderen nicht-flüchtigen Speicher zur späteren Ausführung gespeichert.
  • Autonome Fahrzeugarchitektur
  • 4 illustriert eine beispielhafte Architektur 400 für ein autonomes Fahrzeug (z. B. das in 1 gezeigte AV 100). Die Architektur 400 schließt ein Wahrnehmungsmodul 402 (manchmal als Wahrnehmungsschaltkreis bezeichnet), ein Planungsmodul 404 (manchmal als Planungsschaltkreis bezeichnet), ein Steuerungsmodul 406 (manchmal als Steuerungsschaltkreis bezeichnet), ein Ortungsmodul 408 (manchmal als Ortungsschaltkreis bezeichnet) und ein Datenbankmodul 410 (manchmal als Datenbankschaltkreis bezeichnet) ein. Jedes Modul spielt eine Rolle im Betrieb des AV 100. Zusammen können die Module 402, 404, 406, 408 und 410 Teil des in 1 gezeigten AV-Systems 120 sein. In einigen Ausführungsformen ist ein beliebiges der Module 402, 404, 406, 408 und 410 eine Kombination von Rechnersoftware (z. B. ausführbarem Code, der auf einem rechnerlesbaren Medium gespeichert ist) und Rechnerhardware (z. B. einem oder mehreren Mikroprozessoren, Mikrocontrollern, anwendungsspezifischen integrierten Schaltkreisen [ASIC]), Hardware-Speichergeräten, anderen Arten von integrierten Schaltkreisen, anderen Arten von Rechnerhardware oder eine Kombination beliebiger oder aller dieser Dinge).
  • Bei Anwendung empfängt das Planungsmodul 404 Daten, die ein Ziel 412 darstellen und bestimmt Daten, die eine Strecke 414 (manchmal als Route bezeichnet) darstellen, die durch das AV 100 gefahren werden kann, um das Ziel 412 zu erreichen (z. B. an demselben anzukommen). Damit das Planungsmodul 404 die Daten bestimmt, welche die Strecke 414 darstellen, empfängt das Planungsmodul 404 Daten von dem Wahrnehmungsmodul 402, dem Ortungsmodul 408 und dem Datenbankmodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert nahegelegene physische Objekte unter Verwendung eines oder mehrerer Sensoren 121, z. B. wie ebenfalls in 1 gezeigt. Die Objekte werden klassifiziert (z. B. in Arten wie beispielsweise Fußgänger, Fahrrad, Automobil, Verkehrszeichen usw. gruppiert) und eine Szenenbeschreibung einschließlich der klassifizierten Objekte 416 wird für das Planungsmodul 404 bereitgestellt.
  • Das Planungsmodul 404 empfängt ebenfalls Daten, welche die AV-Position 418 darstellen, von dem Ortungsmodul 408. Das Ortungsmodul 408 bestimmt die AV-Position durch Verwendung von Daten von den Sensoren 121 und Daten von dem Datenbankmodul 410 (z. B. geographischen Daten), um eine Position zu berechnen. Zum Beispiel verwendet das Ortungsmodul 408 Daten von einem GNSS (Globalen Navigationssatellitensystem-) Sensor und geographische Daten, um eine Länge und Breite des AV zu berechnen. In einer Ausführungsform schließen Daten, die durch das Ortungsmodul 408 verwendet werden, hochpräzise Karten der geometrischen Fahrbahneigenschaften, Karten, die Straßennetz-Anschlusseigenschaften beschreiben, Karten, die physische Fahrbahneigenschaften (wie beispielsweise Verkehrsgeschwindigkeit, Verkehrsumfang, die Anzahl von Fahrzeug- und Fahrradfahrspuren, Fahrspurbreite, Fahrspur-Verkehrsrichtungen oder Fahrspur-Markierungsarten und -positionen oder Kombinationen derselben) beschreiben, und Karten, welche die räumlichen Positionen von Straßenmerkmalen, wie beispielsweise Fußgängerüberwegen, Verkehrszeichen oder anderen Verkehrssignalen, beschreiben, ein.
  • Das Steuerungsmodul 406 empfängt die Daten, welche die Strecke 414 darstellen, und die Daten, welche die AV-Position 418 darstellen und betätigt die Steuerungsfunktionen 420a-c (z. B. Lenken, Gaswegnehmen, Bremsen, Zündung) des AV auf eine Weise, die bewirken wird, dass das AV 100 die Strecke 414 bis zu dem Ziel 412 fährt. Zum Beispiel wird, falls die Strecke 414 eine Linkskurve einschließt, das Steuerungsmodul 406 die Steuerungsfunktionen 420a-c auf eine derartige Weise betätigen, dass der Lenkwinkel der Lenkfunktion bewirken wird, dass das AV 100 nach links abbiegt, und das Gaswegnehmen und Bremsen wird bewirken, dass das AV 100 anhält und auf passierende Fußgänger oder Fahrzeuge wartet, bevor das Abbiegen vollzogen wird.
  • Autonome Fahrzeugeingaben
  • 5 illustriert ein Beispiel von Eingaben 502a-d (z. B. in 1 gezeigte Sensoren 121) und Ausgaben 504a-d (z. B. Sensordaten), die durch das Wahrnehmungsmodul 402 (4) verwendet werden. Eine Eingabe 502a ist ein LiDAR-(Light Detection and Ranging - Lichterfassungs- und Abstandsmess-) System (z. B. das in 1 gezeigte LiDAR 123). LiDAR ist eine Technologie, die Licht (z. B. Lichtimpulse, wie beispielsweise infrarotes Licht) verwendet, um Daten über physische Objekte in ihrer Sichtlinie zu erfassen. Ein LiDAR-System erzeugt LiDAR-Daten als Ausgabe 504a. Zum Beispiel sind LiDAR-Daten Sammlungen von 3D- oder 2D-Punkten (ebenfalls als Punktwolken bekannt), die verwendet werden, um eine Darstellung der Umgebung 190 zu konstruieren.
  • Eine andere Eingabe 502b ist ein RADAR-System. RADAR ist eine Technologie, die Funkwellen verwendet, um Daten über nahe physische Objekte zu erfassen. RADAR können Daten über Objekte nicht innerhalb der Sichtlinie eines LiDAR-Systems erfassen. Ein RADAR-System 502b erzeugt RADAR-Daten als Ausgabe 504b. Zum Beispiel sind RADAR-Daten ein oder mehrere elektromagnetische Funkfrequenzsignale, die verwendet werden, um eine Darstellung der Umgebung 190 zu konstruieren.
  • Eine andere Eingabe 502c ist ein Kamerasystem. Ein Kamerasystem verwendet eine oder mehrere Kameras (z. B. digitale Kameras unter Verwendung eines Lichtsensors, wie beispielsweise eines ladungsgekoppelten Bausteins [charge-coupled device - CCD]), um Informationen über nahe physische Objekte zu erfassen. Ein Kamerasystem erzeugt Kameradaten als Ausgabe 504c. Kameradaten nehmen häufig die Form von Bilddaten (z. B. Daten in einem Bilddatenformat, wie beispielsweise RAW, JPEG, PNG usw., an). In einigen Beispielen weist das Kamerasystem mehrere unabhängige Kameras auf, z. B. zum Zweck von Stereopsis (Stereosehen), was ermöglicht, dass das Kamerasystem Tiefe wahrnimmt. Obwohl die durch das Kamerasystem wahrgenommenen Objekte hier als „nahegelegen“ beschrieben werden, ist dies relativ zu dem AV. Bei Anwendung kann das Kamerasystem dafür ausgelegt sein, Objekte fern, z. B. bis zu einem Kilometer oder mehr vor dem AV, zu „sehen“. Entsprechend kann das Kamerasystem Merkmale, wie beispielsweise Sensoren und Linsen, aufweisen, die zum Wahrnehmen von Objekten optimiert sind, die weit entfernt sind.
  • Eine andere Eingabe 502d ist ein Verkehrsampelerkennungs- (traffic light detection - TLD-) System. Ein TLD-System verwendet eine oder mehrere Kameras, um Informationen über Verkehrsampeln, Verkehrszeichen und andere physische Objekte zu erfassen, die visuelle Navigationsinformationen bereitstellen. Ein TLD-System erzeugt TLD-Daten als Ausgabe 504d. TLD-Daten nehmen häufig die Form von Bilddaten (z. B. Daten in einem Bilddatenformat, wie beispielsweise RAW, JPEG, PNG usw., an). Ein TLD-System unterscheidet sich darin von einem System, das eine Kamera einschließt, dass das TLD-System eine Kamera mit einem weiten Sichtfeld verwendet (z. B. unter Verwendung einer Weitwinkellinse oder einer Fischaugenlinse), um Informationen über so viele physische Objekte, die visuelle Navigationsinformationen bereitstellen, wie möglich zu erfassen, so dass das AV 100 Zugriff auf alle maßgeblichen Navigationsinformationen hat, die durch diese Objekte bereitgestellt werden. Zum Beispiel kann der Sichtwinkel des TLD-Systems etwa 120 Grad oder mehr betragen.
  • In einigen Ausführungsformen werden die Ausgaben 504a-d unter Verwendung einer Sensorfusionstechnik kombiniert. Folglich werden entweder die einzelnen Ausgaben 504a-d für andere Systeme des AV 100 bereitgestellt (z. B. für ein Planungsmodul 404 bereitgestellt, wie in 4 gezeigt), oder die kombinierte Ausgabe kann für die anderen Systeme, entweder in der Form einer einzigen kombinierten Ausgabe oder mehrerer kombinierter Ausgaben der gleichen Art (z. B. unter Verwendung der gleichen Kombinationstechnik oder durch Kombinieren der gleichen Ausgaben oder beides) oder unterschiedlicher Arten (z. B. unter Verwendung unterschiedlicher jeweiliger Kombinationstechniken oder durch Kombinieren unterschiedlicher jeweiliger Ausgaben oder beides), bereitgestellt werden. In einigen Ausführungsformen wird eine frühe Fusionstechnik verwendet. Eine frühe Fusionstechnik ist durch das Kombinieren von Ausgaben, bevor ein oder mehrere Datenverarbeitungsschritte auf die kombinierte Ausgabe angewendet werden, gekennzeichnet. In einigen Ausführungsformen wird eine späte Fusionstechnik verwendet. Eine späte Fusionstechnik ist durch das Kombinieren von Ausgaben, nachdem ein oder mehrere Datenverarbeitungsschritte auf die einzelnen Ausgaben angewendet werden, gekennzeichnet.
  • 6 illustriert ein Beispiel eines LiDAR-Systems 602 (z. B. der in 5 gezeigten Ausgabe 502a). Das LiDAR-System 602 emittiert Licht 604a-c aus einem Lichtemitter 606 (z. B. einem Lasersender). Das durch ein LiDAR-System emittierte Licht ist typischerweise nicht in dem sichtbaren Spektrum; es wird zum Beispiel häufig infrarotes Licht verwendet. Etwas von dem emittierten Licht 604b trifft auf ein physisches Objekt 608 (z. B. ein Fahrzeug) und wird zurück zu dem LiDAR-System 602 reflektiert. (Von einem LiDAR-System emittiertes Licht durchdringt typischerweise physische Objekte, z. B. physische Objekte in fester Form, nicht.) Das LiDAR-System 602 weist ebenfalls einen oder mehrere Lichtdetektoren 610 auf, die das reflektierte Licht erfassen. In einer Ausführungsform erzeugen ein oder mehrere Datenverarbeitungssysteme, die mit dem LiDAR-System verknüpft sind, ein Bild 612, welches das Sichtfeld 614 des LiDAR-Systems darstellt. Das Bild 612 schließt Informationen ein, welche die Grenzen 616 eines physischen Objekts 608 darstellen. Auf diese Weise wird das Bild 612 verwendet, um die Grenzen 616 eines oder mehrerer physischer Objekte nahe einem AV zu bestimmen.
  • 7 illustriert das LiDAR-System 602 im Betrieb In dem in dieser Figur gezeigten Szenario empfängt das AV 100 sowohl die Kamerasystem-Ausgabe 504c in der Form eines Bildes 702 als auch die LiDAR-System-Ausgabe 504a in der Form von LiDAR-Datenpunkten 704. Bei Anwendung vergleichen die Datenverarbeitungssysteme des AV 100 das Bild 702 mit den Datenpunkten 704. Im Einzelnen wird ein in dem Bild 702 identifiziertes physisches Objekt 706 ebenfalls unter den Datenpunkten 704 identifiziert. Auf diese Weise nimmt das AV 100 die Grenzen des physischen Objekts auf Grundlage des Umrisses und der Dichte der Datenpunkte 704 wahr.
  • 8 illustriert den Betrieb des LiDAR-Systems 602 mit zusätzlichen Einzelheiten. Wie oben beschrieben, erkennt das AV 100 die Grenze eines physischen Objekts auf Grundlage der Datenpunkte, die durch das LiDAR-System 602 erfasst werden. Wie in 8 gezeigt, wird ein flaches Objekt, wie beispielsweise der Boden 802, das Licht 804a-d, das von einem LiDAR-System 602 emittiert wird, auf eine einheitliche Weise reflektieren. Anders gesagt, weil das LiDAR-System 602 Licht unter Verwendung eines einheitlichen Abstands emittiert, wird der Boden 802 das Licht mit dem gleichen einheitlichen Abstand zurück zu dem LiDAR-System 602 reflektieren. Wenn das AV 100 über den Boden 802 fährt, wird das LiDAR-System 602 weiter Licht erfassen, das durch den nächsten gültigen Bodenpunkt 806 reflektiert wird, falls nichts die Straße versperrt. Falls jedoch ein Objekt 808 die Straße versperrt, wird das durch das LiDAR-System 602 emittierte Licht 804e-f von Punkten 810a-b auf eine Weise reflektiert werden, die mit der erwarteten einheitlichen Weise unvereinbar ist. Aus diesen Informationen kann das AV 100 feststellen, dass das Objekt 808 vorhanden ist.
  • Wegplanung
  • 9 illustriert ein Blockdiagramm 900 der Beziehungen zwischen Eingaben und Ausgaben eines Planungsmoduls 404 (z. B. wie in 4 gezeigt). Im Allgemeinen ist die Ausgabe eines Planungsmoduls 404 eine Route 902 von einem Startpunkt 904 (z. B. einer Ausgangsposition oder anfänglichen Position) und einem Endpunkt 906 (z. B. einem Ziel oder einer abschließenden Position). Die Route 902 wird typischerweise durch ein oder mehrere Segmente definiert. Zum Beispiel ist ein Segment eine Entfernung, die über wenigstens einen Abschnitt einer Straße, Landstraße, Autobahn, Auffahrt oder eine andere physische Fläche, die zum Autofahren geeignet ist, zu fahren ist. In einigen Beispielen, z. B., falls das AV 100 ein geländegängiges Fahrzeug, wie beispielsweise ein Auto, SUV, Kleinlastwagen mit Vierradantrieb (four-wheel-drive - 4WD) oder Allradantrieb (all-wheel-drive - AWD), oder dergleichen ist, schließt die Route 902 „Gelände“-Segmente, wie beispielsweise ungepflasterte Wege oder offene Felder, ein.
  • Zusätzlich zu der Route 902 gibt ein Planungsmodul ebenfalls Routenplanungsdaten 908 auf Fahrspurebene aus. Die Routenplanungsdaten 908 auf Fahrspurebene werden verwendet, um Segmente der Route 902 auf Grundlage von Bedingungen des Segments zu einer bestimmten Zeit zu durchfahren. Falls die Route 902 zum Beispiel eine mehrspurige Autobahn einschließt, schließen die Routenplanungsdaten 908 auf Fahrspurebene Streckenplanungsdaten 910 ein, die das AV 100 verwenden kann, um eine Fahrspur unter den mehreren Fahrspuren auszuwählen, z. B. auf Grundlage dessen, ob sich eine Abfahrt nähert, ob es auf einer oder mehreren der Fahrspuren andere Fahrzeuge gibt, oder anderer Faktoren, die sich über den Ablauf von wenigen Minuten oder weniger ändern. Ähnlich schließen die Routenplanungsdaten 908 auf Fahrspurebene, in einigen Umsetzungen, für ein Segment der Route 902 spezifische Geschwindigkeitsbeschränkungen 912 ein. Falls das Segment zum Beispiel Fußgänger oder unerwarteten Verkehr einschließt, können die Geschwindigkeitsbeschränkungen 912 das AV 100 auf eine Fahrgeschwindigkeit, die langsamer ist als eine erwartete Geschwindigkeit, z. B. eine Geschwindigkeit auf Grundlage von Geschwindigkeitsbegrenzungsdaten für das Segment, begrenzen.
  • In einer Ausführungsform schließen die Eingaben in das Planungsmodul 404 Datenbankdaten 914 (z. B. von dem in 4 gezeigten Datenbankmodul 410), aktuelle Positionsdaten 916 (z. B. die in 4 gezeigte AV-Position 418), Zieldaten 918 (z. B. für das in 4 gezeigte Ziel 412) und Objektdaten 920 (z. B. die klassifizierten Objekte 416, wie durch das in 4 gezeigte Wahrnehmungsmodul 402 wahrgenommen) ein. In einigen Ausführungsformen schließen die Datenbankdaten 914 bei der Planung verwendete Regeln ein. Die Regeln werden unter Verwendung einer formalen Sprache, z. B. unter Verwendung von Boolescher Logik, angegeben. In einer beliebigen gegebenen Situation, auf die das AV 100 trifft, werden wenigstens einige der Regeln für die Situation gelten. Eine Regel gilt für eine gegebene Situation, falls die Regel Bedingungen aufweist, die auf Grundlage von Informationen, die für das AV 100 verfügbar sind, z. B. Informationen über die umliegende Umgebung, erfüllt sind. Regeln können Priorität haben. Zum Beispiel kann eine Regel, die besagt „falls die Straße eine Schnellstraße ist, bewegen Sie sich zu der äußersten linken Spur“, eine niedrigere Priorität haben als „falls sich die Abfahrt innerhalb einer Meile nähert, bewegen Sie sich zu der äußersten rechten Spur“.
  • 10 illustriert einen gerichteten Graph 1000, der in der Wegplanung, z. B. durch das Planungsmodul 404 (4), verwendet wird. Im Allgemeinen wird ein gerichteter Graph 1000 wie der in 10 gezeigte verwendet, um einen Weg zwischen einem beliebigen Startpunkt 1002 und einem Endpunkt 1004 festzulegen. In Begriffen der wirklichen Welt kann die Entfernung, die den Startpunkt 1002 und den Endpunkt 1004 trennt, verhältnismäßig groß sein (z. B. in zwei unterschiedlichen Ballungsräumen) oder kann verhältnismäßig klein sein (z. B. zwei Kreuzungen, die an einen Häuserblock angrenzen, oder zwei Fahrspuren einer mehrspurigen Straße).
  • In einer Ausführungsform weist der gerichtete Graph 1000 Knoten 1006a-d auf, die unterschiedliche Positionen zwischen dem Startpunkt 1002 und dem Endpunkt 1004 darstellen, die durch ein AV 100 eingenommen werden könnten. In einigen Beispielen, z. B., wenn der Startpunkt 1002 und der Endpunkt 1004 unterschiedliche Ballungsräume darstellen, stellen die Knoten 1006a-d Segmente von Straßen dar. In einigen Beispielen, z. B., wenn der Startpunkt 1002 und der Endpunkt 1004 unterschiedliche Positionen auf der gleichen Straße darstellen, stellen die Knoten 1006a-d unterschiedliche Positionen auf dieser Straße dar. Auf diese Weise schließt der gerichtete Graph 1000 Informationen auf unterschiedlichen Granularitätsebenen ein. In einer Ausführungsform ist ein gerichteter Graph, der eine hohe Granularität aufweist, ebenfalls ein Untergraph eines anderen gerichteten Graphs, der einen größeren Maßstab aufweist. Zum Beispiel hat ein gerichteter Graph, bei dem der Startpunkt 1002 und der Endpunkt 1004 weit entfernt (z. B. viele Meilen entfernt) sind, die meisten seiner Informationen mit einer niedrigen Granularität und beruht auf gespeicherten Daten, schließt aber ebenfalls einige Informationen mit hoher Granularität für den Abschnitt des Graphen ein, der physische Positionen in dem Sichtfeld des AV 100 einschließt.
  • Die Knoten 1006a-d unterscheiden sich von Objekten 1008a-b, die nicht mit einem Knoten überlappen können. In einer Ausführungsform, wenn die Granularität niedrig ist, stellen die Objekte 1008a-b Bereiche dar, die nicht durch ein Automobil durchfahren werden können, z. B. Flächen, die keine Straßen oder Landstraßen aufweisen. Wenn die Granularität hoch ist, stellen die Objekte 1008a-b physische Objekte in dem Sichtfeld des AV 100, z. B. andere Automobile, Fußgänger oder andere Gebilde dar, mit denen das AV 100 physischen Raum nicht teilen kann. In einer Ausführungsform sind einige oder alle der Objekte 1008a-b statische Objekte (z. B. ein Objekt, das die Position nicht ändert, wie beispielsweise eine Straßenlampe oder ein Strommast) oder dynamische Objekte (z. B. ein Objekt, das zum Ändern der Position in der Lage ist, wie beispielsweise ein Fußgänger oder ein anderes Auto).
  • Die Knoten 1006a-d sind durch Kanten 1010a-c verbunden. Falls zwei Knoten 1006a-b durch eine Kante 1010a verbunden sind, ist es möglich, dass ein AV 100 zwischen dem einen Knoten 1006a und dem anderen Knoten 1006b fährt, z. B., ohne zu einem dazwischenliegenden Knoten fahren zu müssen, bevor es bei dem anderen Knoten 1006b ankommt. (Wenn wir uns auf ein AV 100 beziehen, das zwischen Knoten fährt, meinen wir, dass das AV 100 zwischen den zwei physischen Positionen fährt, die durch die jeweiligen Knoten dargestellt werden.) Die Kanten 1010a-ca sind häufig zweiseitig gerichtet, in dem Sinn, dass ein AV 100 von einem ersten Knoten zu einem zweiten Knoten oder von dem zweiten Knoten zu dem ersten Knoten fährt. In einer Ausführungsform sind die Kanten 1010a-c einseitig gerichtet, in dem Sinn, dass ein AV 100 von einem ersten Knoten zu einem zweiten Knoten fahren kann, jedoch das AV 100 nicht von dem zweiten Knoten zu dem ersten Knoten fahren kann. Die Kanten 1010a-c sind einseitig gerichtet, wenn sie zum Beispiel Einbahnstraßen, einzelne Fahrspuren einer Straße, Landstraße oder Autobahn oder andere Merkmale, die auf Grund gesetzlicher oder physischer Einschränkungen nur in einer Richtung durchfahren werden können, darstellen.
  • In einer Ausführungsform verwendet das Planungsmodul 404 den gerichteten Graph 1000, um einen Weg 1012 zu identifizieren, der aus Knoten und Kanten zwischen dem Startpunkt 1002 und dem Endpunkt 1004 besteht.
  • Eine Kante 1010a-c weist einen zugehörigen Aufwand 1014a-b auf. Der Aufwand 1014a-b ist ein Wert, der die Ressourcen darstellt, die aufgewendet werden, falls das AV 100 diese Kante auswählt. Eine typische Ressource ist Zeit. Falls zum Beispiel eine Kante 1010a eine physische Entfernung darstellt, die doppelt so groß ist wie eine andere Kante 1010b, dann kann der zugehörige Aufwand 1014a der ersten Kante 1010a das Doppelte des zugehörigen Aufwands 1014b der zweiten Kante 1010b betragen. Andere Faktoren, welche die Zeit beeinflussen, schließen Verkehr, Anzahl von Kreuzungen, Geschwindigkeitsbegrenzung usw. ein. Eine andere typische Ressource ist Kraftstoffeffizienz. Zwei Kanten 1010a-b können die gleiche physische Entfernung darstellen, aber eine Kante 1010a kann mehr Kraftstoff erfordern als eine andere Kante 1010b, z. B. auf Grund von Straßenbedingungen, erwartetem Wetter usw.
  • Wenn das Planungsmodul 404 einen Weg 1012 zwischen dem Startpunkt 1002 und dem Endpunkt 1004 identifiziert, wählt das Planungsmodul 404 typischerweise einen in Bezug auf den Aufwand optimierten Weg, z. B. den Weg, der den geringsten Gesamtaufwand aufweist, wenn die einzelnen Aufwände der Kanten addiert werden.
  • Autonome Fahrzeugsteuerung
  • 11 illustriert ein Blockdiagramm 1100 der Eingaben und Ausgaben eines Steuerungsmoduls 406 (z. B. wie in 4 gezeigt). Ein Steuerungsmodul arbeitet in Übereinstimmung mit einer Steuerung 1102, die zum Beispiel einen oder mehrere Prozessoren (z. B. einen oder mehrere Rechnerprozessoren, wie beispielsweise Mikroprozessoren oder Mikrocontroller oder beides), ähnlich dem Prozessor 304, Kurzzeit und/oder Langzeit-Datenspeicher (z. B. Speicher, Direktzugriffsspeicher oder Flash-Speicher oder beides), ähnlich dem Hauptspeicher 306, dem ROM 1308 und dem Speichergerät 210, und in dem Speicher gespeicherte Anweisungen, die Operationen der Steuerung 1102 ausführen, wenn die Anweisungen (z. B. durch den einen oder die mehreren Prozessoren) ausgeführt werden, einschließt.
  • In einer Ausführungsform empfängt die Steuerung 1102 Daten, die ein gewünschtes Ergebnis 1104 darstellen. Das gewünschte Ergebnis 1104 schließt typischerweise eine Geschwindigkeit, z. B. eine Drehzahl und einen Kurs, ein. Das gewünschte Ergebnis 1104 kann zum Beispiel auf von einem Planungsmodul 404 (z. B. wie in 4 gezeigt) empfangenen Daten beruhen. In Übereinstimmung mit der gewünschten Ausgabe 1104 erzeugt die Steuerung 1102 Daten, die als eine Gaseingabe 1106 und eine Lenkungseingabe 1108 verwendbar sind. Die Gaseingabe 1106 stellt das Ausmaß dar, in dem das Gas (z. B. die Beschleunigungsregelung) eines AV 100 zu betätigen ist, z. B. durch Betätigen des Lenkungspedals oder Betätigen einer anderen Gasregelung, um das gewünschte Ergebnis 1104 zu erreichen. In einigen Beispielen schließt die Gaseingabe 1106 ebenfalls Daten ein, die verwendbar sind, um die Bremse (z. B. eine Verzögerungsregelung) des AV 100 zu betätigen. Die Lenkungseingabe 1108 stellt einen Lenkwinkel dar, z. B. den Winkel, in dem die Lenkungssteuerung (z. B. das Lenkrad, der Lenkwinkel-Stellantrieb oder eine andere Funktionalität zum Regeln des Lenkwinkels) des AV angeordnet sein sollte, um das gewünschte Ergebnis 1104 zu erreichen.
  • In einer Ausführungsform empfängt die Steuerung 1102 eine Rückmeldung, die beim Einstellen der für das Gas und die Lenkung bereitgestellten Eingaben verwendet wird. Falls das AV 100 zum Beispiel auf eine Störung 1110, wie beispielsweise einen Hügel, trifft, wird die gemessene Geschwindigkeit 1112 des AV 100 unter die gewünschte Ausgangsgeschwindigkeit vermindert. In einer Ausführungsform wird ein beliebiges Ergebnis 1114 für die Steuerung 1102 bereitgestellt, so dass die notwendigen Einstellungen vorgenommen werden, z. B. auf Grundlage der Differenz 1113 zwischen der gemessenen Geschwindigkeit und der gewünschten Ausgabe. Das gewünschte Ergebnis 1114 schließt eine gemessene Position 1116, eine gemessene Geschwindigkeit 1118 (einschließlich von Drehzahl und Kurs), eine gemessene Beschleunigung 1120 und andere durch Sensoren des AV 100 messbare Ergebnisse ein.
  • In einer Ausführungsform werden Informationen über die Störung 1110 im Voraus erfasst, z. B. durch einen Sensor, wie beispielsweise eine Kamera oder einen LiDAR-Sensor, und für ein prädiktives Rückkopplungsmodul 1122 bereitgestellt. Das prädiktive Rückkopplungsmodul 1122 stellt dann Informationen für die Steuerung 1102 bereit, welche die Steuerung 1102 verwenden kann, um entsprechend anzupassen. Falls zum Beispiel die Sensoren des AV 100 einen Hügel erfassen („sehen“), können diese Informationen durch die Steuerung 1102 verwendet werden, um zur passenden Zeit das Gas zu betätigen, um eine bedeutende Verzögerung zu vermeiden.
  • 12 illustriert ein Blockdiagramm 1200 der Eingaben, Ausgaben und Komponenten der Steuerung 1102. Die Steuerung 1102 weist einen Geschwindigkeitsprofiler 1202 auf, der den Betrieb einer Gas-/Bremsensteuerung 1204 beeinflusst. Zum Beispiel weist der Geschwindigkeitsprofiler 1202 die Gas-/Bremsensteuerung 1204 an, unter Verwendung von Gas/Bremse 1206 eine Beschleunigung zu betätigen oder eine Verzögerung zu betätigen, im Abhängigkeit z. B. von einer durch die Steuerung 1102 empfangenen und durch den Geschwindigkeitsprofiler 1202 verarbeiteten Rückmeldung.
  • Die Steuerung 1102 weist ebenfalls eine seitliche Spurführungssteuerung 1208 auf, die den Betrieb einer Lenkungssteuerung 1210 beeinflusst. Zum Beispiel weist die seitliche Spurführungssteuerung 1208 die Lenkungssteuerung 1204 an, die Position des Lenkwinkel-Stellantriebs 1212 in Abhängigkeit z. B. von einer durch die Steuerung 1102 empfangenen und durch die seitliche Spurführungssteuerung 1208 verarbeiteten Rückmeldung anzupassen.
  • Die Steuerung 1102 empfängt verschiedene Eingaben, die verwendet werden, um festzulegen, wie das Gas/die Bremse 1206 und der Lenkwinkel-Stellantrieb 1212 zu steuern sind. Ein Planungsmodul 404 stellt Informationen bereit, die durch die Steuerung 1102 verwendet werden, um zum Beispiel einen Kurs auszuwählen, wenn das AV 100 den Betrieb beginnt, und festzulegen, welcher Straßenabschnitt zu durchfahren ist, wenn das AV 100 eine Kreuzung erreicht. Ein Ortungsmodul 408 stellt Informationen für die Steuerung 1102 bereit, die zum Beispiel die aktuelle Position des AV 100 beschreiben, so dass die Steuerung 1102 feststellen kann, ob sich das AV 100 an einer Position befindet, die auf Grundlage der Weise, wie das Gas/die Bremse 1206 und der Lenkwinkel-Stellantrieb 1212 gesteuert werden. In einer Ausführungsform empfängt die Steuerung 1102 Informationen von anderen Eingaben 1214, z. B. Informationen, die von Datenbanken, Rechnernetzen usw. empfangen werden.
  • Betriebsumgebung für Bewegungsplanung unter Verwendung von maschinellem Lernen
  • 13 illustriert eine Betriebsumgebung 1304 für ein AV 1308, das Bewegungsplanung mit maschinellem Lernen verwendet, nach einer oder mehreren Ausführungsformen. Die Betriebsumgebung 1304 schließt das AV 1308 und ein Fahrzeug 1316 ein. Die Betriebsumgebung 1304 stellt ein geographisches Gebiet, wie beispielsweise einen Staat, eine Stadt, ein Viertel oder ein(en) Straßennetz oder -abschnitt dar. Die Betriebsumgebung 1304 kann ein Beispiel der Umgebung 190 sein, die oben unter Bezugnahme auf 1 illustriert und beschrieben wird. In anderen Ausführungsformen schließt die Betriebsumgebung 1304 zusätzliche Objekte zu den hierin beschriebenen ein.
  • Die Betriebsumgebung 1304 schließt Objekte ein, die physische Gebilde außerhalb des AV 1308 sind. Ein Objekt kann statisch oder dynamisch sein. Ein statisches Objekt kann Folgendes einschließen, ist aber nicht darauf beschränkt: ein Straßenabschnitt, ein Verkehrszeichen, ein Gebäude, ein Parkplatz, der sich an einem Straßenabschnitt befindet, eine Autobahnabfahrt oder Einfahrtsrampe, ein Bordstein, der sich angrenzend an eine befahrbare Fläche befindet, eine Mittellinie, die zwei Spuren der befahrbaren Fläche trennt, und ein beliebiges anderes Objekt, das sich nicht bewegt, innerhalb der Umgebung 1304. Ein dynamisches Objekt kann Folgendes einschließen, ist aber nicht darauf beschränkt: ein anderes Fahrzeug, das nicht geparkt ist, ein Fußgänger, ein Radfahrer und ein beliebiges anderes Objekt, das sich bewegt, innerhalb der Umgebung 1304. Das Fahrzeug 1316 ist ein Beispiel eines dynamischen Objekts.
  • Im Fahrmodus verwendet das AV 1308 Sensordaten 1352, zum Beispiel LiDAR-Daten oder Stereokameradaten, um statische Objekte und dynamische Objekte in der Umgebung 1304 zu erfassen und zu klassifizieren oder bezeichnen. Die klassifizierten/bezeichneten Objekte und ihre dynamischen Eigenschaften, falls vorhanden, zum Beispiel Positionen, Geschwindigkeiten oder Kurse, werden durch ein Planungsmodul 1336 verwendet, um einen Zusammenstoß zwischen dem AV 1308 und Objekten (z. B. dem Fahrzeug 1316) innerhalb der Betriebsumgebung 1304 vorherzusagen, um einen sicheren Weg durch die Umgebung 1304 zu erzeugen und um das AV 1308 so zu betreiben, dass es entlang des sicheren Wegs durch die Betriebsumgebung 1304 fährt.
  • Während es entlang des Weges fährt, empfangen ein oder mehrere optische Sensoren 1344 des AV 1308 Sensordaten 1352, welche die Umgebung 1304 beschreiben. Die optischen Sensoren 1344 fühlen einen Zustand der Umgebung 1304, wie beispielsweise das Vorhandensein und die Struktur des Fahrzeugs 1316, ab und übermitteln die Sensordaten 1352 und semantische Daten, die den Zustand darstellen, an das Planungsmodul 1336. Die optischen Sensoren 1344 sind kommunikativ mit dem Planungsmodul 1336 verbunden, um die Sensordaten 1352 und die semantischen Daten zu übermitteln. Die optischen Sensoren 1344 schließen eine oder mehrere monokulare oder Stereo-Videokameras in dem Spektrum von sichtbarem Licht, Infrarot oder Wärme (oder beiden), LiDAR-, RADAR-, Ultraschallsensoren, Laufzeit- (TOF-) Tiefensensoren ein und können Temperatursensoren, Feuchtigkeitssensoren oder Niederschlagssensoren einschließen. Die optischen Sensoren 1344 können ein Beispiel der Sensoren 122-123 sein, die oben unter Bezugnahme auf 1 illustriert und beschrieben werden.
  • In einer Ausführungsform schließen die Sensordaten 1352 LiDAR-Punkt-Cloud-Daten oder Kamerabilder ein. LiDAR-Sensoren des AV 1308 werden verwendet, um ein Ziel, zum Beispiel das Fahrzeug 1316, mit gepulstem Laserlicht zu beleuchten und die reflektierten Impulse zu messen. Differenzen bei Laser-Rücklaufzeiten und Wellenlängen können dann verwendet werden, um die Sensordaten 1352 zu erzeugen und eine digitale 3D-Darstellung des Fahrzeugs 1316 zu erzeugen. Die Struktur der LiDAR-Punkt-Cloud-Daten ermöglicht, dass eine große Menge an Rohmessdaten durch das Planungsmodul 1336 gehandhabt wird.
  • In einer Ausführungsform verwendet das Planungsmodul 1336 die dynamischen Eigenschaften des Fahrzeugs 1316, um einen Weg für das Fahrzeug 1316 abzuschätzen. Das Planungsmodul 1336 schätzt ebenfalls einen Punkt und eine Zeit einer Überschneidung zwischen dem abgeschätzten Weg des Fahrzeugs 1316 und dem geplanten Weg des AV 1308 ab. Das Planungsmodul 1336 bestimmt mögliche Verhaltensweisen für das Fahrzeug 1316 und weist jeder Verhaltensweise Wahrscheinlichkeiten zu, um eine Wahrscheinlichkeit eines Zusammenstoßes für das AV 1308 mit dem Fahrzeug 1316 zu bestimmen.
  • Zusätzlich zum Bestimmen der Wege und des Überschneidungspunktes und der Zeit speichert das Planungsmodul 1336 eine Vielzahl von Randbedingungen zum Betreiben des AV 1308. Jede Randbedingung begrenzt den Betrieb des AV 1308. Zum Beispiel kann eine Randbedingung eine Höchstgeschwindigkeitsbegrenzung für das AV 1308 auf Grundlage einer Verkehrsregel sein. Eine andere Randbedingung kann angeben, dass das AV 1308 an roten Ampeln anhalten muss. Das Planungsmodul 1336 kann eine oder mehrere Randbedingungen von dem Server 136 empfangen, die dafür vorgesehen sind, ein Niveau der Fahrgastbequemlichkeit zu steigern, das durch Fahrgastsensoren des AV 1308 gemessen wird. Zum Beispiel kann eine Randbedingung eine Höchstgeschwindigkeit oder eine maximale Beschleunigung des AV 1308 angeben, die mit einem Niveau der Fahrgastbequemlichkeit verknüpft sind, das durch Fahrgastsensoren gemessen wird, die an dem AV 1308 angeordnet sind. Die Fahrgastsensoren schließen spezialisierte Sensoren ein, um Daten, wie beispielsweise Gesichtsausdrücke des Fahrgastes, Hautleitfähigkeit, Puls- und Herzfrequenz, eine Temperatur des Körpers des Fahrgastes, Pupillenerweiterung und Druck auf den Armstützen des AV-Sitzes, aufzuzeichnen. Jede Art von Daten kann unter Verwendung eines anderen Sensors oder einer Kombination unterschiedlicher Sensoren, zum Beispiel Herzfrequenzmonitoren, eines Sphygmomanometer, eines Pupillometers, eines Infrarotthermometers oder eines galvanischen Hautreaktionssensors aufgezeichnet werden. Das Planungsmodul 1336 bestimmt die Bewegungsrandbedingung auf Grundlage einer erhöhten Herzfrequenz oder eines Hautleitfähigkeitsniveaus, wie durch die Fahrgastsensoren erfasst.
  • In einer Ausführungsform werden die Randbedingungen zum Betreiben des AV 1308 in einer hierarchischen Ordnung eingestuft, wobei ein Rang jeder Randbedingung einem Niveau der Navigationssicherheit des AV 1308 entspricht. Zum Beispiel wird eine Randbedingung, die eine Höchstgeschwindigkeitsbegrenzung von 50 mph angibt, niedriger eingestuft als eine Randbedingung, die angibt, dass das AV 1308 beschleunigen sollte, um einen Zusammenstoß mit dem Fahrzeug 1316 zu vermeiden. Das Planungsmodul 1336 kann daher zeitweilig eine rangniedere Randbedingung verletzen, um eine höherrangige Randbedingung zu erfüllen.
  • In einer Ausführungsform erzeugt das Planungsmodul 1336 eine operative Metrik für ein Bewegungssegment. Bewegungssegmente sind diskrete Bewegungen, in die eine Operation des AV 1308 zerlegt werden kann. Zum Beispiel kann eine gewünschte Operation das Verlassen einer Kreuzung ohne einen Zusammenstoß einschließen. Ein Bewegungssegment kann einschließen, dass das AV 1308 mit 40 mph vorwärtsfährt oder seine Richtungsorientierung um 30° ändert. Das Planungsmodul 1336 erzeugt eine operative Metrik für ein Bewegungssegment durch Bestimmen einer gewichteten Summe einer Anzahl von Verletzungen der Randbedingungen durch das Bewegungssegment. Zum Beispiel kann eine Randbedingung angeben, dass das AV 1308 mit einer Höchstgeschwindigkeit von 50 mph fahren und mit einem maximalen Winkel von 15° nach rechts lenken sollte. Das Bewegungssegment kann einschließen, dass das AV 1308 mit 25 mph fährt, aber in einem Winkel von 20° nach rechts lenkt. Daher wird das Planungsmodul 1336 die Anzahl von Verletzungen als 1 bestimmen. Um die operative Metrik zu erzeugen, gewichtet das Planungsmodul 1336 jede Verletzung einer Randbedingung durch einen Rang der Randbedingung. Die operative Metrik für ein Bewegungssegment kann ausgedrückt werden als OM = i ( R i × V i ) ,
    Figure DE112019004832T5_0001
    wobei Ri den Rang einer Randbedingung i bezeichnet und Vi bezeichnet, ob die Randbedingung i durch das Bewegungssegment verletzt wird. Zum Beispiel Vi = 0, falls die Randbedingung i nicht verletzt wird, und Vi = 1, falls die Randbedingung i verletzt wird.
  • In einer Ausführungsform erzeugt das Planungsmodul 1336 mehrere operative Metriken für jedes Bewegungssegment. Die operativen Metriken werden unter Verwendung der entsprechenden Anzahl von Verletzungen der Randbedingungen für das Bewegungssegment erzeugt. Zum Beispiel können die operativen Metriken erzeugt werden durch Gruppieren von Randbedingungen entsprechend ihrem Rang oder ihrer Verknüpfung mit der Navigationssicherheit. Die operativen Metriken für ein Bewegungssegment können als (OM1, OM2, OM3) ausgedrückt werden, wobei OM1 eine erste operative Metrik auf Grundlage der Navigationssicherheit bezeichnet, OM2 eine zweite operative Metrik auf Grundlage von Verkehrsregeln bezeichnet, und OM3 eine dritte operative Metrik auf Grundlage von Fahrgastbequemlichkeit bezeichnet.
  • Jede operative Metrik wird in einer hierarchischen Ordnung entsprechend einer Verknüpfung der operativen Metrik mit der Navigationssicherheit des Fahrzeugs eingestuft. Eine operative Metrik, die mit dem Vermeiden eines Zusammenstoßes des AV 1308 mit dem Fahrzeug 1316 verknüpft ist, wird höher eingestuft als eine andere operative Metrik, die mit einem Steigern des Niveaus der Fahrgastbequemlichkeit, gemessen durch die Fahrgastsensoren des AV 1308, verknüpft ist. Zum Beispiel wird die operative Metrik OM1, die auf der Navigationssicherheit beruht, höher eingestuft als die operative Metrik OM2, die auf Verkehrsregeln beruht. Wiederum wird OM2 höher eingestuft als die operative Metrik OM3, die auf Fahrgastbequemlichkeit beruht.
  • Wie oben beschrieben, sind Bewegungssegmente disktrete Aktionen oder Bewegungen, in die eine gewünschte Operation des AV 1308 zerlegt werden kann. In einer Ausführungsformen empfängt das Planungsmodul 1336, von dem Server 136, oder erzeugt unter Verwendung anderer Verfahren, mehrere Bewegungssegmente zum Betreiben des AV 1308. Die anderen Verfahren zum Erzeugen von Bewegungssegmenten können eine rasterbasierte Suche, eine intervallbasierte Suche oder einen geometrischen Algorithmus zur Bewegungsplanung einschließen. Zum Beispiel kann ein Bewegungssegment eine in einer bestimmten Richtung zu fahrende Strecke d für das AV 1308 einschließen. In einem anderen Beispiel schließt ein Bewegungssegment eine Richtungsorientierung des AV 1308, um einen Zusammenstoß mit dem Fahrzeug 1316 zu vermeiden, ein. Ein Bewegungssegment kann einen Weg zwischen zwei raumzeitlichen Positionen der Umgebung 1304 einschließen. Ein Bewegungssegment kann eine Geschwindigkeit des AV 1308, um einen Zusammenstoß mit dem Fahrzeug 1316 zu vermeiden, einschließen. Zum Beispiel stellt das Planungsmodul 1336 fest, dass sich das Fahrzeug 1316 anschickt, die Straße innerhalb von t1 Sekunden an einer Kreuzungsstelle l1 zu kreuzen, die sich in einer bestimmten Entfernung d1 von dem AV 1308 befindet. Ein Bewegungssegment, um eine Zusammenstoßbewegung zu vermeiden, kann eine Geschwindigkeit des AV 1308 auf Grundlage von (d1/t1) einschließen, so dass das AV 1308 die Kreuzungsstelle l1 sicher passieren kann, bevor das Fahrzeug 1316 die Straße kreuzt.
  • In einer Ausführungsform bestimmt das Planungsmodul 1336 eine entsprechende Anzahl von Verletzungen der Randbedingungen für jedes Bewegungssegment. Das Planungsmodul 1336 kann den Betrieb des AV 1308 simulieren, um die entsprechende Anzahl von Verletzungen für jedes Bewegungssegment zu bestimmen. In anderen Ausführungsformen kann das Planungsmodul 1336 Verfahren auf Grundlage einer eingegebenen räumlichen Diskretisierung mit Kollisionsprüfung, randomisierter Planung oder eingeschränkter Optimierung und Steuerung mit zurückweichendem Horizont verwenden, um die entsprechende Anzahl von Verletzungen der Randbedingungen für jedes Bewegungssegment zu bestimmen.
  • Das Planungsmodul extrahiert einen Merkmalsvektor aus den Randbedingungen und den empfangenen Sensordaten 1352. Der Merkmalsvektor schließt ein oder mehrere Merkmale ein, die kompakte, nicht-redundante Darstellungen der Randbedingungen und der Sensordaten 1352 sind. Zum Beispiel kann der Merkmalsvektor ein Merkmal einschließen, das eine Struktur oder Form des Fahrzeugs 1316 beschreibt, welche die optischen Sensoren 1344 identifiziert haben. Ein Merkmal des extrahierten Merkmalsvektors kann eine raumzeitliche Position (Koordinaten) des Fahrzeugs 1316, eine Geschwindigkeit (z. B. 25 mph) des Fahrzeugs 1316 oder eine Richtungsorientierung (Norden) des Fahrzeugs 1316 einschließen.
  • Ein aus den Randbedingungen extrahiertes Merkmal kann eine Höchstgeschwindigkeitsbegrenzung für das AV 1308, eine maximale Beschleunigungsgrenze des AV 1308, oder ein maximales Anrucken des AV 1308 einschließen. Das Anrucken des AV 1308 bezieht sich auf eine Änderungsrate der Beschleunigung oder eine zeitliche Ableitung der Beschleunigung des AV 1308, ausgedrückt in m/s3. Die Höchstgeschwindigkeitsbegrenzung, die maximale Beschleunigung und das maximale Anrucken des AV 1308 entsprechen einem Niveau der Fahrgastbequemlichkeit, gemessen durch die Fahrgastsensoren des AV 1308. Falls zum Beispiel die Beschleunigung des AV 1308 verringert wird, nimmt das Niveau der Fahrgastbequemlichkeit typischerweise zu. Falls das Anrucken des AV 1308 zunimmt, nimmt das Niveau der Fahrgastbequemlichkeit typischerweise ab.
  • Ein Merkmal des extrahierten Merkmalsvektors kann darstellen, ob das Betreiben des AV 1308 entsprechend einem bestimmten Bewegungssegment einen Ampelverstoß verursacht. Zum Beispiel kann ein Bewegungssegment erfordern, dass das AV 1308 beschleunigt und über eine Ampel fährt, wenn die Ampel rot wird, damit das AV 1308 vermeidet, mit dem Fahrzeug 1316 zusammenzustoßen, das gerade auf das AV 1308 zufährt. In diesem Fall stellt das Planungsmodul 1336 fest, dass kein anderes Fahrzeug über die Ampel fährt und dass das AV 1308 sicher beschleunigen und über die Ampel fahren kann, um den Zusammenstoß zu vermeiden. Das Bewegungssegment verursacht einen Ampelverstoß, vermeidet aber einen Zusammenstoß mit dem Fahrzeug 1316.
  • Ein Merkmal des extrahierten Merkmalsvektors kann eine Wahrscheinlichkeit eines Zusammenstoßes des AV 1308 mit dem Fahrzeug 1316, wenn es entsprechend einem Bewegungssegment fährt, darstellen. Zum Beispiel stellt das Planungsmodul 1336 fest, dass das Fahrzeug 1316 im Begriff ist, innerhalb von t2 Sekunden die Straße an einer Kreuzungsstelle l2 zu kreuzen, die sich in einer bestimmten Entfernung d2 von dem AV 1308 befindet. Das Planungsmodul 1336 schätzt die Geschwindigkeit und den Weg des Fahrzeugs 1336 ab. Das Planungsmodul 1336 bestimmt ebenfalls die Kollisionswahrscheinlichkeit für das AV 1308 mit dem Fahrzeug 1316, falls das Fahrzeug 1316 weiter mit seiner aktuellen Geschwindigkeit auf seinem aktuellen Weg fährt. Ein Beispiel, dass das AV 1308 eine niederrangige Randbedingung verletzt, um einen Zusammenstoß mit dem Fahrzeug 1316 zu vermeiden, wird unten unter Bezugnahme auf 14 beschrieben.
  • Ein Merkmal des extrahierten Merkmalsvektors kann ein Niveau der Fahrgastbequemlichkeit, gemessen durch Fahrgastsensoren, die an dem AV 1308 angeordnet sind, darstellen. Das Merkmal ist mit der Fahrgastbequemlichkeit verknüpft, wenn das AV 1308 entsprechend einem bestimmten Bewegungssegment fährt. Zum Beispiel kann eine Randbedingung angeben, dass der Fahrgast ein bestimmtes Niveau der Bequemlichkeit erfährt, wenn das AV 1308 mit weniger als 30 mph fährt. Falls das Bewegungssegment eine Geschwindigkeit von 40 mph einschließt, wird das Merkmal darstellen, dass der Fahrgast keine Bequemlichkeit erfährt, wenn das AV 1308 auf dem bestimmten Bewegungssegment fährt.
  • In einer Ausführungsform extrahier das Planungsmodul 1336 einen Merkmalsvektor aus den Randbedingungen und den empfangenen Bewegungssegmenten. Der Merkmalsvektor schließt ein Merkmal ein, das einen seitlichen Abstand des AV 1308 zu dem Fahrzeug 1316 beschreibt. Der seitliche Abstand des AV 1308 zu dem Fahrzeug 1316 stellt eine Kollisionswahrscheinlichkeit für das AV 1308 mit dem Fahrzeug 1316 dar. Zum Beispiel wird, falls der seitliche Abstand größer ist, die Kollisionswahrscheinlichkeit für das AV 1308 mit dem Fahrzeug 1316 kleiner sein. Der seitliche Abstand des AV 1308 zu dem Fahrzeug 1316 kann ebenfalls verwendet werden, um ein Niveau der Fahrgastbequemlichkeit zu bestimmen. Zum Beispiel wird sich, falls der seitliche Abstand größer ist, der Fahrgast in dem AV 1308 wohler fühlen. Der Merkmalsvektor wird an einen Maschinenlernkreis des AV 1308 übermittelt, um ein Bewegungssegment 1312 zum Betreiben des AV 1308 zu erzeugen. Das Bewegungssegment 1312 erreicht das Navigationsziel des AV 1308, während die Anzahl verletzter Randbedingungen verringert und das Maß der bereitgestellten Fahrgastbequemlichkeit gesteigert wird.
  • Der Maschinenlernkreis kann ein Teil des Planungsmoduls 1336 oder einer anderen Komponente des AV 1308 sein. Der Maschinenlernkreis erstellt ein Modell aus Schulungsdaten, das die Eingaben (Randbedingungen und Sensordaten 1352) und die gewünschten Ergebnisse (Bewegungssegmente) enthält. In einer Ausführungsform erzeugt der Maschinenlernkreis das Bewegungssegment 1312 für das AV 1308, auf Grundlage des Merkmalsvektors derart, dass eine Anzahl von Verletzungen der Randbedingungen unterhalb eines Schwellenwertes liegt. Der Merkmalsvektor schließt Informationen über die Position und den Ort des Fahrzeugs 1316 ein. Der Maschinenlernkreis verwendet folglich den Merkmalsvektor, um ein optimales Bewegungssegment 1312 festzulegen, dass einen Zusammenstoß mit dem Fahrzeug 1316 vermeiden und gleichzeitig die Anzahl von Verletzungen der gespeicherten Randbedingungenverringern wird. Informationen, die dieses Bewegungssegment 1312 beschreiben, werden von dem Planungsmodul 1336 an das Steuerungsmodul 1340 übermittelt, um das AV 1308 zu betreiben, während die Anzahl von Verletzungen der Randbedingungen verringert wird.
  • In einer Ausführungsform erzeugt der Maschinenlernkreis die hierarchische Ordnung zum Einstufen der Randbedingungen auf Grundlage des extrahierten Merkmalsvektors. In dieser Ausführungsform stellen die Merkmale des Merkmalsvektors den Grad dar, bis zu dem jede Randbedingung die Navigationssicherheit beeinflusst. Zum Beispiel kann ein Merkmal darstellen, dass eine bestimmte Randbedingung nicht auf die Sicherheit bezogen ist, sondern nur beeinflusst, wie wohl sich der Fahrgast fühlt. In diesem Falls wird der Maschinenlernkreis der bestimmten Randbedingung einen niederen Rang zuweisen. Der Maschinenlernkreis wird unter Verwendung von Datensätzen geschult, die Listen von Bewegungsrandbedingungen als Eingaben und eine hierarchische Einstufung als Ergebnisse einschließen.
  • In einer Ausführungsform empfängt das Planungsmodul 1336 mehrere Bewegungssegmente, die durch andere Mittel erzeugt werden, wie oben beschrieben. Der Maschinenlernkreis verwendet diese Bewegungssegmente und Randbedingungen als Schulungsdaten. Der Maschinenlernkreis wird darin geschult, festzustellen, welche Bewegungssegmente eine Randbedingung verletzen werden, sowie die Priorität oder den Rang der verletzten Randbedingung. Das Maschinenlernmodell erzeugt dann das Bewegungssegment 1312 für das AV 1308. Die Anzahl von Verletzungen der Randbedingungen für das Bewegungssegment 1312 ist niedriger als di entsprechende Anzahl von Verletzungen der Randbedingungen für jedes Bewegungssegment. Weitere Einzelheiten über den Betrieb und die Schulung des Maschinenlernkreises finden sich unten unter Bezugnahme auf 14.
  • Das Planungsmodul 1336 verbindet die Merkmale des extrahierten Merkmalsvektors zu einem Bewegungsplanungsgraphen. Bewegungsplanung ist, wie oben beschrieben, ein Prozess des Zerlegens einer gewünschten Operation, wie beispielsweise Verlassen einer Kreuzung ohne einen Zusammenstoß, in diskrete Bewegungen für das AV 1308. In einer Ausführungsform empfängt das Planungsmodul 1336 eine Beschreibung der gewünschten Operation für das AV 1308 und verbindet die Randbedingungen und die empfangenen Bewegungssegmente zu einem Bewegungsplanungsgraphen. Der Bewegungsplanung wird verwendet, um das Bewegungssegment 1312 zu erzeugen, um das AV 1308 zu betreiben. Das Planungsmodul 1336 durchläuft den Bewegungsplanungsgraphen, um Geschwindigkeits- und Abbiegebefehle für das Gas und die Lenkung des AV 1308 zu erzeugen.
  • In einer Ausführungsform wird der Bewegungsplanungsgraph auf einen Konfigurationsraum (raumzeitliche Position, Geschwindigkeit, Richtungsorientierung usw.) für das AV 1308 überlagert. Jede Konfiguration für das AV 1308 wird mit einem Scheitelpunkt des Bewegungsplanungsgraphs verknüpft. Von jedem Scheitelpunkt wird ermöglicht, dass sich das AV 1308 zu benachbarten Scheitelpunkten bewegt, solange der Weg zwischen ihnen einen Zusammenstoß mit einem Objekt, zum Beispiel dem Fahrzeug 1316, vermeidet. Der Bewegungsplanungsgraph schließt ebenfalls mehrere Kanten ein. Jede Kante entspricht einem Bewegungssegment. Das Planungsmodul 1336 bestimmt die entsprechende Anzahl von Verletzungen für jede Randbedingung durch Identifizieren, für jedes Bewegungssegment, einer Kante des Bewegungsplanungsgraphs entsprechend dem Bewegungssegment. Das Planungsmodul 1336 bestimmt dann eine Anzahl von Verletzungen der Randbedingungen, die mit der identifizierten Kante verknüpft sind. Ein beispielhafter Bewegungsplanungsgraph wird oben unter Bezugnahme auf 10 illustriert und beschrieben.
  • In einer Ausführungsform verwendet das Planungsmodul 1336 die gespeicherten Randbedingungen und die empfangenen Bewegungssegmente, um einen Bewegungsplanungsgraph mit minimaler Verletzung zu erzeugen. Jede Kante des Bewegungsplanungsgraphs mit minimaler Verletzung wird mit einem Wert der operativen Metrik eines entsprechenden Bewegungssegments verknüpft. In einer Ausführungsform verwendet der Maschinenlernkreis die Randbedingungen, Bewegungssegmente und Sensordaten 1352 als Schulungsdaten und erzeugt den Wert der operativen Metrik jedes entsprechenden Bewegungssegments der mehreren Kanten des Bewegungsplanungsgraphs auf Grundlage des Merkmalsvektors. Zum Beispiel kann eine Randbedingung, die eine Höchstgeschwindigkeit von 60 mph wegen der Fahrgastbequemlichkeit angibt, kann zeitweilig verletzt werden, falls eine Mindestgeschwindigkeitsrandbedingung von 65 mph, um einen Zusammenstoß zu vermeiden, zu dem Bewegungsplanungsgraph mit minimaler Verletzung hinzugefügt wird. Daher wird der Maschinenlernkreis die Randbedingung, welche die Höchstgeschwindigkeit angibt, niedriger gewichten als die Randbedingung, welche die Mindestgeschwindigkeit, um einen Zusammenstoß zu vermeiden, angibt.
  • In einer Ausführungsform erzeugt der Maschinenlernkreis das Bewegungssegment 1312 durch Identifizieren, für jede Kante des Bewegungsplanungsgraphs, einer Wahrscheinlichkeit, dass ein betreiben des AV 1308 in Übereinstimmung mit einem entsprechenden Bewegungssegment bewirken wird, dass die operative Metrik unterhalb des Schwellenwertes liegt. Der Maschinenlernkreis verwendet Randbedingungen als Eingabe und durchläuft die Kanten des Bewegungsplanungsgraphs, um die Wahrscheinlichkeit für jedes Bewegungssegment zu bestimmen. Dabei erzeugt der Maschinenlernkreis das Bewegungssegment 1312 durch Erzeugen einer neuen Kante des Bewegungsplanungsgraphs. Die Anzahl von Verletzungen der Randbedingungen, die mit der neuen Kante verknüpft sind, ist niedriger als die entsprechende Anzahl von Verletzungen der Randbedingungen, die mit jeder anderen Kante des Bewegungsplanungsgraphs verknüpft sind.
  • In einer Ausführungsform verwendet, nachdem das Einstufen der Randbedingungen abgeschlossen ist, der Maschinenlernkreis den Merkmalsvektor (auf Grundlage eingestufter Randbedingungen), um das Bewegungssegment 1312 zu erzeugen. Der Maschinenlernkreis wählt das Bewegungssegment 1312 gegenüber einem anderen Bewegungssegment aus. Der Maschinenlernkreis optimiert seine Auswahl derart, dass ein Betreiben des AV 1308 in Übereinstimmung mit dem Bewegungssegment 1312 eine Verletzung einer ersten Randbedingung verursacht, die einen höheren Rang aufweist. Zum Beispiel kann die erste Randbedingung angeben, dass das AV 1308 auf bis zu 65 mph beschleunigen sollte, um einen Zusammenstoß mit den Fahrzeug 1316 zu vermeiden. Das Maschinenlernen stellt fest, dass ein Betreiben des AV 1308 in Übereinstimmung mit dem anderen Bewegungssegment eine Verletzung einer zweiten Randbedingung verursacht, die einen niedrigeren Rang aufweist, Zum Beispiel kann die zweite Randbedingungen angeben, dass die Höchstgeschwindigkeitsbegrenzung entsprechend den Verkehrsregeln 45 mph beträgt.
  • In einer Ausführungsform erzeugt der Maschinenlernkreis einen Koeffizienten entsprechend jeder operativen Metrik der mehreren oben beschriebenen operativen Metriken. Die Koeffizienten werden verwendet, um die operativen Metriken für jedes Bewegungssegment in der Reihenfolge ihrer Beziehung zur Navigationssicherheit zu gewichten. Zum Beispiel kann eine Aufwandsfunktion für ein Bewegungssegment ausgedrückt werden als Aufwand = a1×OM1 + a2×OM2 + a3×OM3, wobei a1, a2 und a3 die Koeffizienten sind, die durch den Maschinenlernkreis auf Grundlage seiner Schulung unter Verwendung vorheriger Aktionen des AV und der beobachteten Sensordaten 1352 erzeugt werden. Ein höherer Wert eines Koeffizienten wird eine bestimmte operative Metrik höher in der Aufwandsfunktion gewichten und das Planungsmodul vorspannen, um zu vermeiden, ein Bewegungssegment auszuwählen, das eine Randbedingung verletzt, die mi dieser operativen Metrik verknüpft ist. In einer anderen Ausführungsform verwendet der Maschinenlernkreis den Merkmalsvektor (extrahiert aus den Randbedingungen und den Bewegungssegmenten), um die hierarchische Ordnung zum Einstufen der operativen Metriken zu erzeugen. In einer Ausführungsform erzeugt das Planungsmodul 1336 das Bewegungssegment 1312 durch Einstufen einer ersten operativen Metrik (z. B. OM1), die mit Navigationssicherheit verknüpft ist, höher als eine zweite operative Metrik (z. B. OM2), die mit Fahrgastbequemlichkeit verknüpft ist. Der Maschinenlernkreis wird verwendet, um die operative Metrik OM1 für das Bewegungssegment 1312 zu optimieren.
  • Das Planungsmodul 1336 bestimmt ferner eine Geschwindigkeit, Beschleunigung oder Richtungsorientierung für das AV 1308 unter Verwendung des Bewegungsplanungsgraphs mit minimaler Verletzung derart, dass es eine minimale Anzahl von Verletzungen der erzeugten Bewegungsrandbedingungen gibt. In einer Ausführungsform wird sampling-basierte Bewegungsplanung verwendet, um eine Modellprüfung für die erzeugten Bewegungsrandbedingungen auf Grundlage der gestuften Hierarchie von Bewegungsrandbedingungen durchzuführen. Das Durchlaufen des Bewegungsplanungsgraphs mit minimaler Verletzung führt zu einem Weg für das AV 1308, der das Sicherheitsniveau unter mehreren möglichen Wegen, die das Navigationsziel erfüllen, maximiert. Der erzeugte Weg schließt das Bewegungssegment 1312 ein.
  • In einer Ausführungsform erzeugt, nachdem das Planungsmodul 1336 die durch andere Verfahren erzeugten Bewegungssegmentes empfängt, der Maschinenlernkreis ein neues Bewegungssegment auf Grundlage von aus den Randbedingungen und den Bewegungssegmenten extrahierten Merkmalen. Der Maschinenlernkreis versucht, die Anzahl verletzter Randbedingungen für das neue Bewegungssegment zu minimieren. Das Planungsmodul 1336 überprüft die Funktionsweise des Maschinenlernkreises. Das Planungsmodul 1336 stellt fest, ob die Anzahl verletzter Randbedingungen für das neue Bewegungssegment in der Tat niedriger ist als für jedes andere empfangene Bewegungssegment. Das Planungsmodul 1336 erstellt eine Gruppe, welche die empfangenen Bewegungssegmente und das neue Bewegungssegment einschließt. Aus dieser Gruppe wählt das Planungsmodul 1336 ein optimales Bewegungssegment zum Betreiben des AV 1308 aus. Die Aufwandsfunktion, die oben beschrieben wird, oder die mehreren operativen Metriken werden über das ausgewählte optimale Bewegungssegment optimiert. Das Planungsmodul 1336 erzeugt ferner eine erste Wertung, die eine Wahrscheinlichkeit angibt, dass das ausgewählte optimale Bewegungssegment tatsächlich das durch den Maschinenlernkreis erzeugte neue Bewegungssegment ist. Die erste Wertung wird verwendet, um die Qualität und die Konvergenz des Maschinenlernkreises zu überprüfen. Der Maschinenlernkreis wird, wie unten unter Bezugnahme auf 14 beschrieben, unter Verwendung der erzeugten ersten Wertung geschult, um das Bewegungssegment 1312 zu erzeugen, das die operativen Metriken optimiert. Dieses Bewegungssegment 1312, das die operativen Metriken optimiert, weist eine Anzahl von Verletzungen der Randbedingungen auf, die geringer ist als die entsprechende Anzahl von Verletzungen für andere Bewegungssegmente.
  • In einer Ausführungsform erzeugt der Maschinenlernkreis das Bewegungssegment 1312, indem er zuerst eine zweite Wertung für jedes empfangene Bewegungssegment erzeugt. Die zweite Wertung gibt eine Wahrscheinlichkeit an, dass die Anzahl von Verletzungen der Randbedingungen für ein Bewegungssegment niedriger ist als die Anzahl von Verletzungen der Randbedingungen für jedes andere Bewegungssegment der empfangenen Bewegungssegmente. Auf diese Weise kann der Maschinenlernkreis einfach das empfangene Bewegungssegment auswählen, das die höchste Wertung aufweist. Die zweiten Wertungen können ebenfalls verwendet werden, um die Funktionsweise des Maschinenlernkreises zu überprüfen. Der Maschinenlernkreis wird ebenfalls geschult, um, unter Verwendung der Wertung und der empfangenen Bewegungssegmente, das Bewegungssegment 1312 zu erzeugen. Die Schulung ausgelegt den Maschinenlernkreis derart, dass eine Anzahl von Verletzungen der Randbedingungen für das Bewegungssegment 1312 niedriger ist als die entsprechende Anzahl von Verletzungen der Randbedingungen für jedes empfangene Bewegungssegment.
  • In einer Ausführungsform wird sampling-basierte Bewegungsplanung verwendet, um eine Modellprüfung für die erzeugten Bewegungsrandbedingungen auf Grundlage der gestuften Hierarchie von Bewegungsrandbedingungen durchzuführen. Das Planungsmodul 1336 sampelt die Randbedingungen und die Sensordaten 1352, um das Bewegungssegment 1312 zu erzeugen. Ein Betreiben des AV 1308 in Übereinstimmung mit dem Bewegungssegment 1312 verursacht, dass die operative Metrik OM unterhalb eines Schwellenwertes liegt. In einer Ausführungsform schließt das Sampling das Durchlaufen des Bewegungsgraphen mit minimaler Verletzung ein, um einen Weg für das AV 1308 zu erzeugen. Der Weg maximiert ein Sicherheitsniveau unter mehreren möglichen Wegen, welche die Navigationsziele erfüllen. Der erzeugte Weg schließt die Bewegungsrandbedingung 1312 ein.
  • Das Steuerungsmodul 1340 betreibt das AV 1308 in Übereinstimmung mit dem erzeugten Bewegungssegment 1312. Das Steuerungsmodul 1340 verwendet das Bewegungssegment 1312 von dem Planungsmodul 1336, um die Bremsen 420c, die Lenkung 420a und das Gas 420b (illustriert und beschrieben oben unter Bezugnahme auf 4) des AV 1308. Das Betreiben des AV 1308 kann ein Verletzen einer Randbedingung niederer Priorität, zum Beispiel einer Randbedingung maximaler Beschleunigung, die auf dem Bereitstellen eines Niveaus von Fahrgastbequemlichkeit beruht, einschließen. In einer Ausführungsform betreibt das Steuerungsmodul 1340 das AV 1308 innerhalb eines diskretisierten befahrbaren Bereichs in Übereinstimmung mit dem Bewegungssegment 1312, während es Kollisionsprüfung durchführt oder probabilistisch den befahrbaren Bereich um das Fahrzeug 1316 erkundet. In einer anderen Ausführungsform leitet, falls sich das Fahrzeug 1316 bewegt, das Steuerungsmodul 1340 die Absicht des Fahrzeugs 1320 aus seiner Bewegung ab, wie beispielsweise Vorfahrt zu lassen oder aggressiv zu handeln. Auf Grundlage des Bewegungssegments 1312 betreibt das Steuerungsmodul 1340 die Lenkungssteuerung 102, die Bremsen 103, Getriebe oder das Gaspedal, falls eine vorhergesagte Zeit bis zu einem Zusammenstoß mit dem Fahrzeug 1316 unter einen Schwellenwert fällt.
  • Unter den Leistungen und Vorteilen der hierin offenbarten Ausführungsformen ist, dass unterschiedliche und komplexe Bewegungssegmente durch ein AV-System erzeugt und bewertet werden können, um operativen Aufwand zu minimieren, die Anzahl zeitweilig verletzter Verkehrsregeln zu minimieren und Zusammenstöße zu verhindern. Die offenbarten Ausführungsformen steigern die Navigationssicherheit für das AV sowie für Fußgänger und andere Fahrzeuge. Durch Einstufen von Bewegungsrandbedingungen in einer hierarchischen Ordnung in Übereinstimmung mit der Navigationssicherheit kann das AV eine Regel niederer Priorität zum zeitweiligen Verletzen auswählen, um die Fahrzeugsicherheit zu steigern. Ein Betreiben des AV unter Verwendung der offenbarten Ausführungsformen führt zu gesteigerter Fahrgastbequemlichkeit, gesteigerter Fahrgast- und Fußgängersicherheit, niedrigerer Abnutzung an dem AV, verringerter Fahrzeit, einer verringerten Fahrstrecke usw. Eine gesteigertes Sicherheit für andere Fahrzeuge in dem Straßennetz wird ebenfalls erreicht.
  • Beispiele von Randbedingungsverletzung zur Kollisionsvermeidung
  • 14 illustriert ein Beispiel einer Verletzung einer niederrangigen Randbedingung durch das AV 1308, um einen Zusammenstoß mit dem Fahrzeug 1316 zu vermeiden, nach einer oder mehreren Ausführungsformen. 14 bildet eine Umgebung 1400 ab, in der das AV 1308 und das Fahrzeug 1316 beide fahren. Das AV 1308 beginnt, in einer Fahrspur 1408 von einer anfänglichen Position 1412 in Übereinstimmung mit einem Weg 1432 hin zu einer Zielposition 1416 zu fahren. Das Planungsmodul 1336 des AV 1308 speichert eine erste Randbedingung zum Betreiben des AV 1308, die angibt, dass das AV 1308 nicht mit einem anderen Objekt zusammenstoßen sollte. Die Höchstgeschwindigkeitsbegrenzung der Fahrspur 1408 beträgt 55 mph. Das Planungsmodul 1336 speichert ebenfalls eine zweite Randbedingung entsprechend der Höchstgeschwindigkeitsbegrenzung von 55 mph zum Betreiben des AV 1308. Die erste Randbedingung (einen Zusammenstoß zu vermeiden) wird höher eingestuft als die zweite Randbedingung (die Geschwindigkeitsbegrenzung einzuhalten). Das Planungsmodul 1336 erzeugt das Bewegungssegment 1428 zum Betreiben des AV 1308, um die gespeicherte erste und zweite Randbedingung zu erfüllen. Das Bewegungssegment 1428 gibt sowohl die Richtungsorientierung des AV 1308 (hin zu der Zielposition 1416) als auch eine Geschwindigkeit von 50 mph ab. Das AV 1308 arbeitet daher in Übereinstimmung mit dem Bewegungssegment 1428.
  • Das AV 1308 nähert sich einer Kreuzung 1436 in der Fahrspur 1408 vor dem AV 1308. Indessen fährt das Fahrzeug 1316 in Übereinstimmung mit einem Weg 1424 in einer Fahrspur 1440 im rechten Winkel zu der Fahrspur 1408 ebenfalls hin zu der Kreuzung 1436. Die optischen Sensoren 1344 des AV 1308 erzeugen Sensordaten 1352, welche die Umgebung 1400 beschreiben, und erfassen das Vorhandensein und die Bewegung des Fahrzeugs 1316. Auf Grundlage der Sensordaten 1352, die durch die optischen Sensoren 1344 erzeugt werden, stellt das Planungsmodul 1336 des AV 1308 fest, dass das Fahrzeug 1316 in Übereinstimmung mit dem Weg 1424 hin zu der Kreuzung 1436 fährt. Das Planungsmodul 1336 stellt ferner fest, dass, auf Grundlage der Geschwindigkeit des Fahrzeugs 1316 und des Bewegungssegments 1428, eine Kollisionswahrscheinlichkeit für das AV 1308 mit dem Fahrzeug 1316 besteht, die oberhalb eines Schwellenwertes liegt. Das Planungsmodul 1336 stellt ferner fest, dass das AV 1308 und das Fahrzeug 1316 wahrscheinlich an einer Position 1420 zusammenstoßen, wo sich die Wege 1424, 1432 schneiden. Das Planungsmodul bestimmt den Ort und die Zeit der Überschneidung.
  • Das Planungsmodul 1336 extrahiert einen Merkmalsvektor aus den gespeicherten Randbedingungen und den empfangenen Sensordaten 1352. Der Merkmalsvektor schließt Merkmale ein, welche die Größe, Form, Geschwindigkeit und Richtung des Fahrzeugs 1316 beschreiben. Ein Maschinenlernkreis des AV 1308 erzeugt ein neues Bewegungssegment 1404, auf Grundlage des Merkmalsvektors, derart, dass eine Anzahl von Verletzungen der gespeicherten Randbedingungen minimiert wird. Der Maschinenlernkreis schätzt ab, dass es zwei Möglichkeiten für das AV 1308 gibt: zu verlangsamen, um einen Zusammenstoß zu vermeiden, oder zu beschleunigen. Der Maschinenlernkreis, der unter Verwendung von gespeichertem Verhalten des AV 1308 geschult worden ist, stellt fest, dass sich das AV 1308 zu nahe an der Position 1420 befindet und daher nicht in der Lage sein wird, ausreichend zu verlangsamen, um den Zusammenstoß zu vermeiden. Der Maschinenlernkreis stellt fest, dass ein Steigern der Geschwindigkeit des AV 1308 auf 60 mph und schnelleres Fahren über die Kreuzung 1436 den Zusammenstoß vermeiden, aber zeitweilig die zweite Randbedingung verletzen wird, die eine Höchstgeschwindigkeit von 55 mph angibt. Da die erste Randbedingung höher eingestuft ist als die zweite Randbedingung, verletzt der Maschinenlernkreis zeitweilig die zweite Randbedingung, um die erste Randbedingung (den Zusammenstoß zu vermeiden) zu erfüllen. Daher erzeugt der Maschinenlernkreis das Bewegungssegment 1404, das eine Geschwindigkeit von 60 mph für das AV 1308 angibt.
  • Das Steuerungsmodul 1340 des AV 1308 betreibt das AV 1308 in Übereinstimmung mit dem Bewegungssegment 1404 derart, dass das AV 1308 sicher über die Kreuzung 1436 fährt und einen Zusammenstoß mit dem Fahrzeug 1316 vermeidet.
  • Maschinenlernarchitektur zur Bewegungsplanung
  • 15 illustriert ein Blockdiagramm einer Maschinenlernarchitektur 1500 für das AV 1308 zur Bewegungsplanung, nach einer oder mehreren Ausführungsformen. Die Architektur 1500 schließt ein Merkmalsextraktionsmodul 1508 und einen Maschinenlernkreis 1516 ein. In anderen Ausführungsformen, schließt die Architektur 1500 zusätzliche oder weniger Komponenten als die hierin beschriebenen ein. Ähnlich können die Funktionen unter den Komponenten und/oder verschiedenen Instanzen auf eine andere Weise verteilt sein, als es hierin beschrieben ist.
  • Unter Bezugnahme auf 13 und 15 extrahiert das Merkmalsextraktionsmodul 1508 den Merkmalsvektor 1512 aus den Sensordaten 1352, den empfangenen Bewegungssegmenten 1504 und den Randbedingungen. Der Merkmalsvektor 1512 beschreibt die Position und Geschwindigkeit des Fahrzeugs 1316 sowie die unterschiedlichen Wege, die das AV 1308 nehmen kann. Ein Merkmal 1512a stellt eine raumzeitliche Position des Fahrzeugs 1316 dar. Falls die Position des Fahrzeugs 1316 zu nahe zu dem AV 1308 ist, erzeugt der Maschinenlernkreis 1516 ein Bewegungssegment 1312, um einen Zusammenstoß zu vermeiden. Ein Merkmal 1512b stellt eine Geschwindigkeit des Fahrzeugs 1316 dar. Falls das Fahrzeug 1316 von dem AV 1308 wegfährt, erzeugt der Maschinenlernkreis das Bewegungssegment 1312, um den Aufwand zu minimieren, um zum Beispiel die Fahrgastbequemlichkeit zu steigern.
  • Ein Merkmal 1512c stellt eine Richtungsorientierung des Fahrzeugs 1316 dar. Falls das Fahrzeug 1316 hin zu dem AV 1308 gerichtet ist, wird der Maschinenlernkreis 1516 das Bewegungssegment 1312 derart auswählen, dass das AV 1308 wegfährt. Ein Merkmal 1512d stellt dar, ob ein Betreiben des AV 1308 in Übereinstimmung mit einem der Bewegungssegmente 1504 einen Ampelverstoß verursacht. Falls es keine höherrangige Randbedingung zu erfüllen gibt, wird es der Maschinenlernkreis 1516 vermeiden, die Randbedingung zu verletzen, die durch das Merkmal 1512d dargestellt wird. Ein Merkmal 1512e stellt eine Wahrscheinlichkeit eines Zusammenstoßes des AV 1308 mit dem Fahrzeug 1316, wenn es in Übereinstimmung mit einem Bewegungssegment fährt, dar. Falls das Merkmal 1512e illustriert, dass die Wahrscheinlichkeit eines Zusammenstoßes niedrig ist, kann der Maschinenlernkreis 1516 dieses Bewegungssegment auswählen. In einer Ausführungsform wendet das Merkmalsextraktionsmodul 1508 Dimensionsreduktion (z. B. über lineare Diskriminantenanalyse (LDA), Hauptkomponentenanalyse (HKA) oder dergleichen), um die Datenmenge in dem Merkmalsvektor 1512 auf einen kleineren, repräsentativeren Datensatz zu verringern.
  • Der Maschinenlernkreis 1516 wird unter Verwendung des Merkmalsvektors 1512, von Schulungsdaten 1524 und der Randbedingungen 1520 geschult. Die Schulungsdaten 1524 schließen gespeicherte Operationen des AV 1308 ein, wie beispielsweise die Entscheidungen, die das AV 1308 traf, wenn es mit einer Wahl mehrerer Bewegungssegmente konfrontiert war. In einer Ausführungsform ist der Maschinenlernkreis 1516 dadurch dafür ausgelegt, das Bewegungssegment 1312 derart zu erzeugen, dass eine Anzahl von Verletzungen der Randbedingungen 1520 niedriger ist als die entsprechende Anzahl von Verletzungen für jedes empfangene Bewegungssegment. In einer anderen Ausführungsform ist der Maschinenlernkreis 1516 dafür ausgelegt, das Bewegungssegment 1312 derart zu erzeugen, dass ein Betreiben des AV 1308 in Übereinstimmung mit dem Bewegungssegment 1312 die operative Metrik OM verringert.
  • In einer Ausführungsform, wenn angewendet auf Merkmale empfangener Bewegungssegmente, schätzt der Maschinenlernkreis 1516 ab, ob die Bewegungssegmente die operative Metrik OM optimieren. Als Teil der Schulung des Maschinenlernkreises 1516 wird ein Schulungssatz von Merkmalen und Schulungsdaten 1524 durch Identifizieren eines ersten Schulungssatzes von Merkmalen gebildet, von denen festgestellt worden ist, dass sie die fragliche Eigenschaft (Optimieren der operativen Metrik OM) aufweisen, und bildet, in einigen Ausführungsformen, einen zweiten Schulungssatz von Merkmalen, denen die fragliche Eigenschaft fehlt.
  • In einer Ausführungsform wird überwachtes maschinelles Lernen verwendet, um den Maschinenlernkreis 1516 mit dem Merkmalsvektor 1512 des ersten und des zweiten Schulungssatzes zu schulen. In anderen Ausführungsformen können unterschiedliche Maschinenlerntechniken, wie beispielsweise tiefes Lernen, neuronale Netze, lineare Supportvektormaschine (lineare SVM), Boosting nach anderen Algorithmen (z. B. AdaBoost), logistische Regression, naiver Bayes, speicherbasiertes Lernen, Random Forests, Bagged Trees, Entscheidungsbäume, Boosted Trees oder Boosted Stumps, verwendet werden.
  • Prozess für Bewegungsplanung unter Verwendung von maschinellem Lernen
  • 16 illustriert einen Prozess 1600 für einen Betrieb des AV 1308 unter Verwendung von maschinellem Lernen mit Bewegungsplanung, nach einer oder mehreren Ausführungsformen. In einer Ausführungsform wird der Prozess von 1600 durch das Planungsmodul 1336 durchgeführt. Andere Instanzen, zum Beispiel eine oder mehrere Komponenten des AV 1308 oder der Server 136, führen in anderen Ausführungsformen einige oder alle der Schritte des Prozesses 1600 durch. Gleichfalls können Ausführungsformen unterschiedliche und/oder zusätzliche Schritte einschließen oder die Schritte in unterschiedlichen Reihenfolgen durchführen.
  • Das AV 1308 speichert 1604, unter Verwendung eines oder mehrerer Prozessoren, Randbedingungen 1520 zum Betreiben des AV 1308 innerhalb einer Umgebung 1304. Jede Randbedingung begrenzt den Betrieb des AV 1308. Zum Beispiel kann eine Randbedingung eine Höchstgeschwindigkeitsbegrenzung für das AV 1308 auf Grundlage einer Verkehrsregel sein. Eine andere Randbedingung kann angeben, dass das AV 1308 an roten Ampeln anhalten muss. Das Planungsmodul 1336 kann eine oder mehrere Randbedingungen von dem Server 136 empfangen, die dafür vorgesehen sind, ein Niveau der Fahrgastbequemlichkeit, gemessen durch Fahrgastsensoren des AV 1308, zu steigern.
  • Das AV 1308 empfängt 1608, unter Verwendung eines oder mehrerer Sensoren 1344, Sensordaten 1352, welche die Umgebung 1304 beschreiben. In einer Ausführungsform schließen die Sensordaten 1352 LiDAR-Punkt-Cloud-Daten oder Kamerabilder ein. Zum Beispiel werden LiDAR-Sensoren des AV 1308 verwendet, um ein Ziel, zum Beispiel das Fahrzeug 1316, mit gepulstem Laserlicht zu beleuchten und die reflektierten Impulse zu messen. Differenzen bei Laser-Rücklaufzeiten und -wellenlängen können dann verwendet werden, um die Sensordaten 1352 zu erzeugen und eine digitale 3D-Darstellung des Fahrzeugs 1316 zu schaffen.
  • Das AV 1308 extrahiert 1612, unter Verwendung des einen oder der mehreren Prozessoren, einen Merkmalsvektor 1512 aus den Randbedingungen 1520 und den empfangenen Sensordaten 1352. Der Merkmalsvektor 1512 schließt ein Merkmal 1512a ein, welches das Fahrzeug 1316 beschreibt. Das Merkmal 1512a stellt eine raumzeitliche Position des Fahrzeugs 1316 dar. Falls die Position des Fahrzeugs 1316 zu nahe zu dem AV 1316 ist, erzeugt der Maschinenlernkreis 1516 ein Bewegungssegment 1312, um einen Zusammenstoß zu vermeiden.
  • Das AV 1308 erzeugt 1616, unter Verwendung des Maschinenlernkreises 1516, ein Bewegungssegment 1312 auf Grundlage des Merkmalsvektors 1512. Eine Anzahl von Verletzungen der Randbedingungen 1520 für das Bewegungssegment 1312 liegt unterhalb eines Schwellenwertes. In einer Ausführungsform ist der Maschinenlernkreis 1516 dafür ausgelegt, das Bewegungssegment 1312 derart zu erzeugen, dass eine Anzahl von Verletzungen der Randbedingungen 1520 niedriger ist als die entsprechende Anzahl von Verletzungen der Randbedingungen 1520 für jedes Bewegungssegment. In einer anderen Ausführungsform ist der Maschinenlernkreis 1516 dafür ausgelegt, das Bewegungssegment 1312 derart zu erzeugen, dass ein Betreiben des AV 1308 in Übereinstimmung mit dem Bewegungssegment 1312 die operative Metrik OM verringert.
  • Das AV 1308 arbeitet 1620, unter Verwendung des einen oder der mehreren Prozessoren, in Übereinstimmung mit dem erzeugten Bewegungssegment 1312.
  • Alternativer Prozess zur Bewegungsplanung unter Verwendung von maschinellem Lernen
  • 17 illustriert einen alternativen Prozess 1700 zum Betreiben des AV 1308 unter Verwendung von maschinellem Lernen mit Bewegungsplanung, nach einer oder mehreren Ausführungsformen. In einer Ausführungsform wird der Prozess von 1700 durch das Planungsmodul 1336 durchgeführt. Andere Instanzen, zum Beispiel eine oder mehrere Komponenten des AV 1308 oder der Server 136, führen in anderen Ausführungsformen einige oder alle der Schritte des Prozesses 1700 durch. Gleichfalls können Ausführungsformen unterschiedliche und/oder zusätzliche Schritte einschließen oder die Schritte in unterschiedlichen Reihenfolgen durchführen.
  • Das AV 1308 speichert 1704, unter Verwendung eines oder mehrerer Prozessoren, mehrere Randbedingungen 1520 zum Betreiben des Fahrzeugs. Jede Randbedingung begrenzt den Betrieb des AV 1308. Zum Beispiel kann eine Randbedingung eine Höchstgeschwindigkeitsbegrenzung für das AV 1308 auf Grundlage einer Verkehrsregel sein. Eine andere Randbedingung kann angeben, dass das AV 1308 an roten Ampeln anhalten muss. Das Planungsmodul 1336 kann eine oder mehrere Randbedingungen von dem Server 136 empfangen, die dafür vorgesehen sind, ein Niveau der Fahrgastbequemlichkeit, gemessen durch Fahrgastsensoren des AV 1308, zu steigern.
  • The AV 1308 empfängt 1708, unter Verwendung des einen oder der mehreren Prozessoren, mehrere Bewegungssegmente 1504 zum Betreiben des AV 1308. Jedes Bewegungssegment gibt eine Aktion für das AV 1308 an. Zum Beispiel kann ein erstes Bewegungssegment der mehreren Bewegungssegmente 1504 eine zu fahrende Strecke für das AV 1308 oder eine Geschwindigkeit, bei der das AV 1308 arbeiten soll, einschließen.
  • Für jedes Bewegungssegment der empfangenen mehreren Bewegungssegmente 1504 bestimmt 1712 das AV 1308 eine entsprechende Anzahl von Verletzungen der gespeicherten mehreren Randbedingungen 1520. Ein Bewegungssegment verletzt eine Randbedingung, wenn es das AV 1308 anweist, entgegen der Randbedingung zu handeln. Zum Beispiel kann die Randbedingung angeben, dass die Höchstgeschwindigkeit für das AV 1308 30 mph betragen sollte, während das Bewegungssegment eine Betriebsgeschwindigkeit von 60 mph für das AV 1308 angibt. Das AV 1308 kann zeitweilig eine niederrangige Randbedingung, zum Beispiel eine bequeme Fahrt zu gewährleisten, verletzen, um eine höherrangige Randbedingung, zum Beispiel einen Zusammenstoß mit dem Fahrzeug 1316 zu vermeiden, zu erfüllen.
  • Das AV 1308 erzeugt 1716, unter Verwendung des Maschinenlernkreises 1516, ein zweites Bewegungssegment aus den gespeicherten mehreren Randbedingungen 1520 und den empfangenen mehreren Bewegungssegmenten 1504. Eine Anzahl von Verletzungen der Randbedingungen 1520 für das zweite Bewegungssegment ist niedriger als die entsprechende Anzahl von Verletzungen der Randbedingungen 1520 für jedes Bewegungssegment der empfangenen mehreren Bewegungssegmente 1504. Das AV 1308 erreicht folglich sein Navigationsziel, während es die Anzahl von Randbedingungen verringert, die es verletzt.
  • Das AV 1308 betreibt 1720, unter Verwendung des einen oder der mehreren Prozessoren, das AV 1308 in Übereinstimmung mit dem zweiten Bewegungssegment.
  • Zusätzliche Ausführungsformen
  • In einer Ausführungsform speichern ein oder mehrere Prozessoren eines Fahrzeugs mehrere Randbedingungen zum Betreiben des Fahrzeugs. Der eine oder die mehreren Prozessoren empfangen mehrere Bewegungssegments zum Betreiben des Fahrzeugs. Wenigstens ein erstes Bewegungssegment schließt eine zu fahrende Strecke für das Fahrzeug ein. Für jedes Bewegungssegment wird eine entsprechende Anzahl von Verletzungen der gespeicherten Randbedingungen bestimmt. Ein Maschinenlernkreis erzeugt ein zweites Bewegungssegment aus dem gespeicherten Randbedingungen und den empfangenen Bewegungssegmenten. Der Maschinenlernkreis stellt fest, dass eine Anzahl von Verletzungen der Randbedingungen für das zweite Bewegungssegment niedriger ist als die entsprechende Anzahl von Verletzungen der Randbedingungen für jedes Bewegungssegment der empfangenen Bewegungssegmente. Der eine oder die mehreren Prozessoren betreiben das Fahrzeug in Übereinstimmung mit dem zweiten Bewegungssegment.
  • In einer Ausführungsform verbinden der eine oder die mehreren Prozessoren die gespeicherten Randbedingungen und die empfangenen Bewegungssegments zu einem Bewegungsp lanungsgraphen.
  • In einer Ausführungsform schließt das Bestimmen der entsprechenden Anzahl von Verletzungen der gespeicherten Randbedingungen das Identifizieren, für jedes Bewegungssegment, einer Kante des Bewegungsplanungsgraphs entsprechend dem Bewegungssegment ein. Eine Anzahl von Verletzungen der gespeicherten Randbedingungen, die mit der identifizierten Kante verknüpft ist, wird bestimmt.
  • In einer Ausführungsform entspricht das zweite Bewegungssegment, das durch den Maschinenlernkreis erzeugt wird, einer zweiten Kante des Bewegungsplanungsgraphs. Eine Anzahl von Verletzungen der gespeicherten Randbedingungen, die mit der zweiten Kante verknüpft ist, ist niedriger als eine entsprechende Anzahl von Verletzungen der gespeicherten Randbedingungen, die mit jeder anderen Kante des Bewegungsplanungsgraphs verknüpft ist.
  • In einer Ausführungsform werden operative Metriken für jedes Bewegungssegment auf Grundlage der entsprechenden Anzahl von Verletzungen der gespeicherten Randbedingungen erzeugt.
  • In einer Ausführungsform erzeugt der Maschinenlernkreis einen Koeffizienten entsprechend jeder operativen Metrik aus den gespeicherten Randbedingungen und den empfangenen Bewegungssegmenten.
  • In einer Ausführungsform wird jede operative Metrik in einer hierarchischen Ordnung in Übereinstimmung mit einer Verknüpfung der operativen Metrik mit einer Navigationssicherheit des Fahrzeugs eingestuft.
  • In einer Ausführungsform wird eine erste operative Metrik, die mit dem Vermeiden eines Zusammenstoßes des Fahrzeugs mit einem Objekt verknüpft ist, höher eingestuft als eine zweite operative Metrik, die mit dem Steigern des Niveaus der Fahrgastbequemlichkeit, gemessen durch die Fahrgastsensoren des Fahrzeugs, verknüpft ist.
  • In einer Ausführungsform erzeugt der Maschinenlernkreis die hierarchische Ordnung zum Einstufen der operativen Metriken auf Grundlage der gespeicherten Randbedingungen und der empfangenen Bewegungssegmente.
  • In einer Ausführungsform schließt das Erzeugen des zweiten Bewegungssegments das Einstufen einer dritten operativen Metrik, die mit Navigationssicherheit verknüpft ist, höher als eine vierte operative Metrik, die nicht mit Navigationssicherheit verknüpft ist, ein. Der Maschinenlernkreis verringert die dritte operative Metrik für das zweite Bewegungssegment.
  • In einer Ausführungsform wird ein drittes Bewegungssegment zum Betreiben des Fahrzeugs aus einer Gruppe identifiziert, welche die empfangenen Bewegungssegments und das zweite Bewegungssegment einschließt. Die operativen Metriken werden über das identifizierte dritte Bewegungssegment verringert.
  • In einer Ausführungsform wird eine Wertung erzeugt, die eine Wahrscheinlichkeit angibt, dass das identifizierte dritte Bewegungssegment das zweite Bewegungssegment einschließt. Der Maschinenlernkreis wird unter Verwendung der erzeugten Wertung geschult, um ein viertes Bewegungssegment zu erzeugen. Eine Anzahl von Verletzungen der gespeicherten Randbedingungen entsprechend dem erzeugten vierten Bewegungssegment ist niedriger als die entsprechende Anzahl von Verletzungen der gespeicherten Randbedingungen für jedes Bewegungssegment der empfangenen Bewegungssegmente.
  • In einer Ausführungsform schließt das Erzeugen des zweiten Bewegungssegments das Erzeugen einer Wertung für jedes Bewegungssegment der empfangenen Bewegungssegmente ein. Die Wertung gibt eine Wahrscheinlichkeit an, dass die entsprechende Anzahl von Verletzungen der gespeicherten Randbedingungen für das Bewegungssegment niedriger ist als die entsprechende Anzahl von Verletzungen der gespeicherten Randbedingungen für jedes andere Bewegungssegment der empfangenen Bewegungssegmente.
  • In einer Ausführungsform schließt das Erzeugen des zweiten Bewegungssegments das Extrahieren eines Merkmalsvektors aus den gespeicherten Randbedingungen und den empfangenen Bewegungssegmenten ein. Der Merkmalsvektor schließt wenigstens ein erstes Merkmal ein, das einen seitlichen Abstand des Fahrzeugs zu einem Objekt angibt, wenn das Fahrzeug in Übereinstimmung mit einem fünften Bewegungssegment betrieben wird. Der eine oder die mehreren Prozessoren übermitteln den Merkmalsvektor an den Maschinenlernkreis, um das zweite Bewegungssegment zu erzeugen.
  • In einer Ausführungsform wird der Maschinenlernkreis auf Grundlage der empfangenen Bewegungssegmente geschult, um ein sechstes Bewegungssegment zum Betreiben des Fahrzeugs zu erzeugen. Eine Anzahl von Verletzungen der gespeicherten Randbedingungen für das sechste Bewegungssegment ist niedriger als die entsprechende Anzahl von Verletzungen der gespeicherten Randbedingungen für jedes Bewegungssegment der empfangenen Bewegungssegmente.
  • In einer Ausführungsform schließt ein zweites Merkmal des Merkmalsvektors eine Wahrscheinlichkeit eines Zusammenstoßes des Fahrzeugs mit einem Objekt, wenn es in Übereinstimmung mit einem siebenten Bewegungssegment fährt, ein.
  • In einer Ausführungsform schließt ein drittes Merkmal des Merkmalsvektors ein Niveau der Fahrgastbequemlichkeit, wenn das Fahrzeug in Übereinstimmung mit einem achten Bewegungssegment der empfangenen Bewegungssegmente fährt, ein. Das Niveau der Fahrgastbequemlichkeit wird durch Fahrgastsensoren gemessen, die an dem Fahrzeug angeordnet sind.
  • In der vorstehenden Beschreibung sind Ausführungsformen der Erfindung unter Bezugnahme auf zahlreiche spezifische Einzelheiten beschrieben worden, die sich von Umsetzung zu Umsetzung unterscheiden können. Die Beschreibung und die Zeichnungen sind dementsprechend eher in einem illustrativen als in einem einschränkenden Sinn zu betrachten. Die einzige und ausschließliche Angabe des Rahmens der Erfindung und dessen, was von den Anmeldern als der Rahmen der Erfindung vorgesehen ist, ist der wörtliche Rahmen des Satzes von Ansprüchen, die dieser Anmeldung entspringen, in der spezifischen Form, in der solche Ansprüche erscheinen, einschließlich jeglicher nachfolgender Korrektur. Jegliche Definitionen, die hierin ausdrücklich für Begriffe dargelegt werden, die in solchen Ansprüchen enthalten sind, sollen die Bedeutung solcher Begriffe bestimmen, wie sie in den Ansprüchen verwendet werden. Außerdem kann, wenn wir den Ausdruck „ferner einschließend“ in der vorstehenden Beschreibung oder den folgenden Ansprüchen verwenden, was dieser Wendung folgt, ein(e) zusätzliche(r) Schritt oder Einheit oder ein(e) Teilschritt/Untereinheit eines/einer zuvor erwähnten Schrittes oder Einheit sein.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62781573 [0001]

Claims (20)

  1. Verfahren, umfassend: Speichern, unter Verwendung eines oder mehrerer Prozessoren eines Fahrzeugs, das sich innerhalb einer Umgebung befindet, mehrerer Randbedingungen zum Betreiben des Fahrzeugs innerhalb der Umgebung, Empfangen, unter Verwendung eines oder mehrerer Sensoren des Fahrzeugs, von Sensordaten, welche die Umgebung beschreiben, Extrahieren, unter Verwendung des einen oder der mehreren Prozessoren, eines Merkmalsvektors aus den gespeicherten mehreren Randbedingungen und den empfangenen Sensordaten, wobei der Merkmalsvektor ein erstes Merkmal einschließt, das ein innerhalb der Umgebung befindliches Objekt beschreibt, Erzeugen, unter Verwendung eines Maschinenlernkreises des Fahrzeugs, eines ersten Bewegungssegments auf Grundlage des Merkmalsvektors, derart, dass eine Anzahl von Verletzungen der gespeicherten mehreren Randbedingungen unterhalb eines Schwellenwertes liegt, und Betreiben, unter Verwendung des einen oder der mehreren Prozessoren, des Fahrzeugs entsprechend dem erzeugten ersten Bewegungssegment.
  2. Verfahren nach Anspruch 1, wobei das erzeugte erste Bewegungssegment eine Richtungsorientierung des Fahrzeugs, um einen Zusammenstoß mit dem Objekt zu vermeiden, umfasst.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, wobei ein zweites Merkmal des extrahierten Merkmalsvektors wenigstens eines von Folgendem umfasst: eine raumzeitliche Position des Objekts, eine Geschwindigkeit des Objekts oder eine Richtungsorientierung des Objekts.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei: ein drittes Merkmal des extrahierten Merkmalsvektors wenigstens eines von einer Höchstgeschwindigkeit des Fahrzeugs, einer maximalen Beschleunigung des Fahrzeugs oder einem maximalen Anrucken des Fahrzeugs umfasst und das wenigstens eine von der Höchstgeschwindigkeit, der maximalen Beschleunigung oder dem maximalen Anrucken einem Niveau der Fahrgastbequemlichkeit entspricht, das durch einen oder mehrere Fahrgastsensoren des Fahrzeugs gemessen wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei ein viertes Merkmal des extrahierten Merkmalsvektor darstellt, ob das Betreiben des Fahrzeugs in Übereinstimmung mit dem ersten Bewegungssegment einen Ampelverstoß verursacht.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das erzeugte erste Bewegungssegment wenigstens eines von Folgendem umfasst: einen Weg zwischen zwei raumzeitlichen Positionen der Umgebung oder eine Geschwindigkeit des Fahrzeugs, um einen Zusammenstoß des Fahrzeugs mit dem Objekt zu vermeiden.
  7. Verfahren nach einem der Ansprüche 1 bis 6, ferner umfassend: Verbinden, unter Verwendung des einen oder der mehreren Prozessoren, mehrerer Merkmale des extrahierten Merkmalsvektor zu einem Bewegungsplanungsgraph, wobei: der Bewegungsplanungsgraph mehrere Kanten umfasst und jede Kante der mehreren Kanten einem Bewegungssegment der empfangenen mehreren Bewegungssegmente entspricht.
  8. Verfahren nach Anspruch 7, wobei das Erzeugen, auf Grundlage des Merkmalsvektors, des ersten Bewegungssegments zum Betreiben des Fahrzeug Folgendes umfasst: Auswählen, unter Verwendung des einen oder der mehreren Prozessoren, des ersten Bewegungssegments entsprechend einer ersten Kante der mehreren Kanten über ein zweites Bewegungssegment entsprechend einer zweiten Kante der mehreren Kanten, wobei: ein Betreiben des Fahrzeugs in Übereinstimmung mit dem ersten Bewegungssegment eine Verletzung einer ersten Randbedingung, die einen höheren Rang aufweist, verursacht und ein Betreiben des Fahrzeugs in Übereinstimmung mit dem zweiten Bewegungssegment eine Verletzung einer zweiten Randbedingung, die einen niedrigeren Rang aufweist, verursacht.
  9. Verfahren nach Anspruch 7, wobei: der Bewegungsplanungsgraph einen Bewegungsplanungsgraph mit minimaler Verletzung umfasst und jede Kante der mehreren Kanten mit einem Wert einer operativen Metrik eines entsprechenden Bewegungssegments verknüpft ist.
  10. Verfahren nach Anspruch 9, ferner umfassend das Erzeugen, unter Verwendung des Maschinenlernkreises, des Wertes der operativen Metrik jedes entsprechenden Bewegungssegments der mehreren Kanten des Bewegungsplanungsgraphs auf Grundlage des Merkmalsvektors.
  11. Verfahren nach Anspruch 9, wobei das Erzeugen des ersten Bewegungssegments zum Betreiben des Fahrzeug das Identifizieren, unter Verwendung des Maschinenlernkreises, für jede Kante der mehreren Kanten des Bewegungsplanungsgraphs, einer Wahrscheinlichkeit, dass das Betreiben des Fahrzeugs in Übereinstimmung mit einem entsprechenden Bewegungssegment bewirkt, dass die operative Metrik unterhalb des Schwellenwertes liegt, umfasst.
  12. Verfahren nach Anspruch 9, ferner umfassend das Sampling, unter Verwendung des einen oder der mehreren Prozessoren, der gespeicherten mehreren Randbedingungen und der empfangenen Sensordaten, um ein drittes Bewegungssegment zum Betreiben des Fahrzeugs innerhalb der Umgebung zu erzeugen, wobei das Betreiben des Fahrzeugs in Übereinstimmung mit dem dritten Bewegungssegment bewirkt, dass die mit dem Betreiben des Fahrzeugs verknüpfte operative Metrik unterhalb des Schwellenwertes liegt.
  13. Verfahren nach Anspruch 9, wobei: die operative Metrik ferner eine gewichtete Summe einer Anzahl von Verletzungen der gespeicherten mehreren Randbedingungen umfasst und jede Verletzung einer Randbedingung der gespeicherten mehreren Randbedingungen durch einen Rang der Randbedingung gewichtet wird.
  14. Verfahren nach einem der Ansprüche 1 bis 13, wobei: die mehreren Randbedingungen zum Betreiben des Fahrzeugs innerhalb der Umgebung in einer hierarchischen Ordnung eingestuft werden und ein Rang jeder Randbedingung der mehreren Randbedingungen einem Niveau der Navigationssicherheit des Fahrzeugs entspricht.
  15. Verfahren nach Anspruch 14, ferner umfassend das Erzeugen, unter Verwendung des Maschinenlernkreises der hierarchischen Ordnung zum Einstufen der mehreren Randbedingungen auf Grundlage des extrahierten Merkmalsvektors.
  16. Fahrzeug, umfassend: einen oder mehrere Rechnerprozessoren und ein oder mehrere nicht-flüchtige Speichermedien, die Anweisungen speichern, die, wenn sie durch den einen oder die mehreren Rechnerprozessoren ausgeführt werden, bewirken, dass der eine oder die mehreren Rechnerprozessoren: mehrere Randbedingungen zum Betreiben des Fahrzeugs innerhalb einer Umgebung speichern, unter Verwendung eines oder mehrerer Sensoren des Fahrzeugs Sensordaten empfangen, welche die Umgebung beschreiben, einen Merkmalsvektor aus den gespeicherten mehreren Randbedingungen und den empfangenen Sensordaten extrahieren, wobei der Merkmalsvektor ein erstes Merkmal umfasst, das ein Objekt beschreibt, das sich innerhalb der Umgebung befindet, unter Verwendung eines Maschinenlernkreises des Fahrzeugs ein erstes Bewegungssegment auf Grundlage des Merkmalsvektors erzeugen, derart, dass eine Anzahl von Verletzungen der gespeicherten mehreren Randbedingungen unterhalb eines Schwellenwertes liegt, und das Fahrzeug in Übereinstimmung mit dem erzeugten ersten Bewegungssegment betreiben.
  17. Fahrzeug nach Anspruch 16, wobei das erzeugte erste Bewegungssegment eine Richtungsorientierung des Fahrzeugs, um einen Zusammenstoß mit dem Objekt zu vermeiden, umfasst.
  18. Fahrzeug nach Anspruch 16 oder Anspruch 17, wobei ein zweites Merkmal des extrahierten Merkmalsvektors wenigstens eines von einer raumzeitlichen Position des Objekts, einer Geschwindigkeit des Objekts oder einer Richtungsorientierung des Objekts umfasst.
  19. Ein oder mehrere nicht-flüchtige Speichermedien, die Anweisungen speichern, die, wenn sie durch ein oder mehrere Datenverarbeitungsgeräte ausgeführt werden, bewirken, dass das eine oder die mehreren Datenverarbeitungsgeräte: mehrere Randbedingungen zum Betreiben eines Fahrzeugs innerhalb einer Umgebung speichern, unter Verwendung eines oder mehrerer Sensoren des Fahrzeugs Sensordaten empfangen, welche die Umgebung beschreiben, einen Merkmalsvektor aus den gespeicherten mehreren Randbedingungen und den empfangenen Sensordaten extrahieren, wobei der Merkmalsvektor ein erstes Merkmal umfasst, das ein Objekt beschreibt, das sich innerhalb der Umgebung befindet, unter Verwendung eines Maschinenlernkreises des Fahrzeugs ein erstes Bewegungssegment auf Grundlage des Merkmalsvektors erzeugen, derart, dass eine Anzahl von Verletzungen der gespeicherten mehreren Randbedingungen unterhalb eines Schwellenwertes liegt, und das Fahrzeug in Übereinstimmung mit dem erzeugten ersten Bewegungssegment betreiben.
  20. Ein oder mehrere nicht-flüchtige Speichermedien nach Anspruch 19, wobei das erzeugte erste Bewegungssegment eine Richtungsorientierung des Fahrzeugs, um einen Zusammenstoß mit dem Objekt zu vermeiden, umfasst.
DE112019004832.5T 2018-12-18 2019-12-05 Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen Pending DE112019004832T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862781573P 2018-12-18 2018-12-18
US62/781,573 2018-12-18
PCT/US2019/064603 WO2020131399A1 (en) 2018-12-18 2019-12-05 Operation of a vehicle using motion planning with machine learning

Publications (1)

Publication Number Publication Date
DE112019004832T5 true DE112019004832T5 (de) 2021-06-24

Family

ID=68988316

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019004832.5T Pending DE112019004832T5 (de) 2018-12-18 2019-12-05 Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen

Country Status (6)

Country Link
US (3) US11899464B2 (de)
KR (1) KR102569134B1 (de)
CN (1) CN113165668A (de)
DE (1) DE112019004832T5 (de)
GB (2) GB2608567B (de)
WO (1) WO2020131399A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230331252A1 (en) * 2022-04-15 2023-10-19 Gm Cruise Holdings Llc Autonomous vehicle risk evaluation

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6643417B2 (ja) * 2018-08-02 2020-02-12 Hapsモバイル株式会社 システム、制御装置及び軽航空機
GB2608718B (en) 2018-12-18 2023-06-28 Motional Ad Llc Operation of a vehicle using multiple motion constraints
GB2608567B (en) 2018-12-18 2023-06-14 Motional Ad Llc Operation of a vehicle using motion planning with machine learning
US20210058814A1 (en) * 2019-08-22 2021-02-25 Toyota Motor Engineering & Manufacturing North America, Inc. Methods and systems for processing traffic data from vehicles
US11945440B2 (en) 2019-08-23 2024-04-02 Motional Ad Llc Data driven rule books
US11325594B2 (en) * 2020-02-10 2022-05-10 GM Global Technology Operations LLC Sensor fusion based on intersection scene to determine vehicle collision potential
US11429107B2 (en) 2020-02-21 2022-08-30 Argo AI, LLC Play-forward planning and control system for an autonomous vehicle
US11643105B2 (en) 2020-02-21 2023-05-09 Argo AI, LLC Systems and methods for generating simulation scenario definitions for an autonomous vehicle system
US20200326721A1 (en) * 2020-06-26 2020-10-15 Intel Corporation Occupancy verification device and method
US20220080962A1 (en) * 2020-09-14 2022-03-17 Motional Ad Llc Vehicle operation using a behavioral rule model
US11521394B2 (en) * 2020-10-09 2022-12-06 Motional Ad Llc Ground plane estimation using LiDAR semantic network
US11648959B2 (en) 2020-10-20 2023-05-16 Argo AI, LLC In-vehicle operation of simulation scenarios during autonomous vehicle runs
US20220126876A1 (en) * 2020-10-23 2022-04-28 Motional Ad Llc Vehicle operation using behavioral rule checks
US12019449B2 (en) * 2021-02-18 2024-06-25 Argo AI, LLC Rare event simulation in autonomous vehicle motion planning
US11623738B1 (en) * 2021-11-12 2023-04-11 Beta Air, Llc System and method for the prioritization of flight controls in an electric aircraft
RU2767826C1 (ru) * 2021-05-24 2022-03-22 Общество с ограниченной ответственностью «Яндекс Беспилотные Технологии» Способ и устройство для управления автомобилем
US20230020503A1 (en) * 2021-07-08 2023-01-19 Ford Global Technologies, Llc Machine control
US11845454B2 (en) * 2021-09-14 2023-12-19 Motional Ad Llc Operational envelope detection with situational assessment
US11851091B2 (en) 2021-09-14 2023-12-26 Motional Ad Llc Immobility detection within situational context
US20230221128A1 (en) * 2022-01-11 2023-07-13 Motional Ad Llc Graph Exploration for Rulebook Trajectory Generation
US20240042993A1 (en) * 2022-08-04 2024-02-08 Motional Ad Llc Trajectory generation utilizing diverse trajectories
WO2024073117A1 (en) * 2022-09-30 2024-04-04 Tesla, Inc. Ai inference compiler and runtime tool chain
US20240124016A1 (en) * 2022-10-14 2024-04-18 Motional Ad Llc Ensemble-based vehicle motion planner

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602005006269T2 (de) 2005-08-04 2009-05-07 Ford Global Technologies, LLC, Dearborn Automatisches Kollisions-Management System
JP5125400B2 (ja) 2007-10-19 2013-01-23 トヨタ自動車株式会社 車両走行制御装置
JP5029329B2 (ja) 2007-12-05 2012-09-19 トヨタ自動車株式会社 走行軌跡生成方法及び走行軌跡生成装置
DE102008062916A1 (de) 2008-12-23 2010-06-24 Continental Safety Engineering International Gmbh Verfahren zur Ermittlung einer Kollisionswahrscheinlichkeit eines Fahrzeuges mit einem Lebewesen
WO2011009009A1 (en) 2009-07-15 2011-01-20 Massachusetts Institute Of Technology Methods and apparati for predicting and quantifying threat being experienced by a modeled system
WO2010101749A1 (en) 2009-03-05 2010-09-10 Massachusetts Institute Of Technology Predictive semi-autonomous vehicle navigation system
JP5766941B2 (ja) 2010-12-01 2015-08-19 トヨタ自動車株式会社 走行支援装置
US8698639B2 (en) 2011-02-18 2014-04-15 Honda Motor Co., Ltd. System and method for responding to driver behavior
DE102013013867A1 (de) 2013-08-20 2015-03-12 Audi Ag Kraftfahrzeug und Verfahren zur Steuerung eines Kraftfahrzeugs
EP2848487B1 (de) 2013-09-12 2020-03-18 Volvo Car Corporation Manövererzeugung für automatisches Fahren
US9135803B1 (en) * 2014-04-17 2015-09-15 State Farm Mutual Automobile Insurance Company Advanced vehicle operator intelligence system
WO2015176723A1 (de) 2014-05-22 2015-11-26 Conti Temic Microelectronic Gmbh Verfahren und vorrichtung zur erhöhung der sicherheit bei einem überholvorgang eines fahrzeuges
JP2016007989A (ja) 2014-06-26 2016-01-18 クラリオン株式会社 車両制御装置及び車両制御方法
KR101610544B1 (ko) 2014-11-21 2016-04-07 현대자동차주식회사 차량의 자율 주행 시스템 및 방법
JP6074553B1 (ja) 2015-04-21 2017-02-01 パナソニックIpマネジメント株式会社 情報処理システム、情報処理方法、およびプログラム
US9645577B1 (en) * 2016-03-23 2017-05-09 nuTonomy Inc. Facilitating vehicle driving and self-driving
JP6699831B2 (ja) * 2016-04-28 2020-05-27 トヨタ自動車株式会社 運転意識推定装置
US10331138B2 (en) * 2016-07-05 2019-06-25 Baidu Usa Llc Standard scene-based planning control methods for operating autonomous vehicles
JP6756174B2 (ja) * 2016-07-12 2020-09-16 株式会社デンソー 車両制御装置
US10699305B2 (en) 2016-11-21 2020-06-30 Nio Usa, Inc. Smart refill assistant for electric vehicles
US10403145B2 (en) 2017-01-19 2019-09-03 Ford Global Technologies, Llc Collison mitigation and avoidance
FR3063265B1 (fr) * 2017-02-28 2019-04-05 Renault S.A.S Dispositif de controle de trajectoire d un vehicule
EP4357869A3 (de) 2017-03-20 2024-06-12 Mobileye Vision Technologies Ltd. Trajektorieauswahl für ein autonomes fahrzeug
KR102406507B1 (ko) * 2017-03-27 2022-06-10 현대자동차주식회사 딥러닝 기반 자율주행 차량 제어 장치, 그를 포함한 시스템 및 그 방법
EP3764060A1 (de) * 2017-06-14 2021-01-13 Mobileye Vision Technologies Ltd. Fusionsrahmen von navigationsinformationen für autonome navigation
US10216189B1 (en) 2017-08-23 2019-02-26 Uber Technologies, Inc. Systems and methods for prioritizing object prediction for autonomous vehicles
US10019011B1 (en) * 2017-10-09 2018-07-10 Uber Technologies, Inc. Autonomous vehicles featuring machine-learned yield model
US20190120640A1 (en) 2017-10-19 2019-04-25 rideOS Autonomous vehicle routing
US10156850B1 (en) 2017-12-08 2018-12-18 Uber Technologies, Inc. Object motion prediction and vehicle control systems and methods for autonomous vehicles
US20180150081A1 (en) * 2018-01-24 2018-05-31 GM Global Technology Operations LLC Systems and methods for path planning in autonomous vehicles
CN110352153A (zh) * 2018-02-02 2019-10-18 辉达公司 自主车辆中用于障碍物躲避的安全程序分析
US20180164822A1 (en) 2018-02-09 2018-06-14 GM Global Technology Operations LLC Systems and methods for autonomous vehicle motion planning
US10860023B2 (en) * 2018-06-25 2020-12-08 Mitsubishi Electric Research Laboratories, Inc. Systems and methods for safe decision making of autonomous vehicles
US11048252B2 (en) * 2018-10-19 2021-06-29 Baidu Usa Llc Optimal path generation for static obstacle avoidance
US11827241B2 (en) * 2018-10-29 2023-11-28 Motional Ad Llc Adjusting lateral clearance for a vehicle using a multi-dimensional envelope
US11648951B2 (en) * 2018-10-29 2023-05-16 Motional Ad Llc Systems and methods for controlling actuators based on load characteristics and passenger comfort
DK201970121A1 (en) * 2018-10-30 2020-06-04 Aptiv Technologies Limited GENERATION OF OPTIMAL TRAJECTORIES FOR NAVIGATION OF VEHICLES
US11713975B2 (en) 2018-11-26 2023-08-01 Uber Technologies, Inc. Routing graph management in autonomous vehicle routing
EP3870491A4 (de) * 2018-12-10 2022-03-23 Huawei Technologies Co., Ltd. Lernen des persönlichen fahrstils für autonomes fahren
GB2608567B (en) 2018-12-18 2023-06-14 Motional Ad Llc Operation of a vehicle using motion planning with machine learning
GB2608718B (en) 2018-12-18 2023-06-28 Motional Ad Llc Operation of a vehicle using multiple motion constraints

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230331252A1 (en) * 2022-04-15 2023-10-19 Gm Cruise Holdings Llc Autonomous vehicle risk evaluation

Also Published As

Publication number Publication date
US20220283586A1 (en) 2022-09-08
CN113165668A (zh) 2021-07-23
GB202215006D0 (en) 2022-11-23
US20210255635A1 (en) 2021-08-19
WO2020131399A1 (en) 2020-06-25
US11320826B2 (en) 2022-05-03
US20200192391A1 (en) 2020-06-18
US11899464B2 (en) 2024-02-13
GB2592293A (en) 2021-08-25
GB2608567B (en) 2023-06-14
GB2592293B (en) 2022-11-30
KR102569134B1 (ko) 2023-08-22
GB202018358D0 (en) 2021-01-06
GB2608567A (en) 2023-01-04
US12019450B2 (en) 2024-06-25
KR20210100007A (ko) 2021-08-13

Similar Documents

Publication Publication Date Title
DE112019004832T5 (de) Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen
DE102020111682A1 (de) Systeme und verfahren zum implementieren einer autonomen fahrzeugreaktion auf ein sensorversagen
DE102020111938A1 (de) Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie
DE102020133744A1 (de) Vordergrundextraktion unter verwendung von flächenanpassung
DE102020129456A1 (de) Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten bank von trajektorien
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE102021101758A1 (de) Ampeldetektionssystem für ein fahrzeug
DE102020210499A1 (de) Datengesteuerte regelwerke
DE102021112349A1 (de) Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters
DE112019006282T5 (de) Betrieb eines Fahrzeugs unter Verwendung mehrerer Bewegungsbeschränkungen
DE112020002695T5 (de) Autonomer fahrzeugbetrieb mittels linearer temporaler logik
DE102020111250A1 (de) Grafische benutzerschnittstelle zur anzeige des verhaltens autonomer fahrzeuge
DE102020126217A1 (de) Navigieren von Mehrwege-Stopp-Kreuzungen mit einem autonomen Fahrzeug
DE102021133742A1 (de) Planung einer trajektorie eines autonomen fahrzeugs mit dynamischem zustand
DE102020132302A1 (de) Sicherheitssystem für ein fahrzeug
DE102021211781A1 (de) Fahrzeugbetrieb unter verwendung von verhaltensregelprüfungen
DE102020128433A1 (de) Simulation eines autonomen Fahrzeugs zur Verbesserung der Sicherheit und Zuverlässigkeit eines autonomen Fahrzeugs
DE102021132722A1 (de) Auswählen von testszenarien zum bewerten der leistung autonomer fahrzeuge
DE102021124913A1 (de) Metrik-backpropagation für die beurteilung der leistung von untersystemen
DE102020114306A1 (de) Schätzen von geschwindigkeitsprofilen
DE102020128155A1 (de) Bedingte bewegungsvorhersagen
DE102021133739A1 (de) Steuern eines autonomen fahrzeugs unter verwendung einer näheregel
DE102021133340A1 (de) Modalitätsübergreifendes aktives lernen zur objekterkennung
DE102021132850A1 (de) Homotopiebasierter planer für autonome fahrzeuge
DE102021123721A1 (de) Fahrzeugbetrieb unter verwendung eines verhaltensregelmodells