-
QUERVERWEIS UND PRIORITÄTSANSPRUCH
-
Dieses Patentdokument beansprucht die Priorität der US-Patentanmeldung Nr.
17/104.937 , eingereicht am 25. November 2020, die durch Bezugnahme in ihrer Gesamtheit hierin aufgenommen wird.
-
HINTERGRUND
-
Ein autonomes Fahrzeug (AV) muss über ein Bewegungsplanungssystem verfügen, um Trajektorien zu planen, die das AV ausführen soll. Jede Trajektorie umfasst einen Pfad und eine zeitliche Lösung (d.h. die Korrelation von Zeiten zu Punkten entlang des Pfads, die die Zeiten darstellt, zu denen das AV die Punkte auf dem Pfad durchquert). Geplante Trajektorien sollten: (i) dynamisch durchführbar sein, damit das AV sie ausführen kann; (ii) sicher sein (d.h., die Trajektorien halten einen ausreichenden Abstand zu anderen Verkehrsteilnehmern und Hindernissen ein); (iii) die Einhaltung von Verkehrsregeln wie Geschwindigkeitsbegrenzungen, Fahrbahnmarkierungen und dergleichen gewährleisten; und (iv) komfortabel für den Fahrer im Fahrzeug sein (z.B. durch Vermeidung extremer Beschleunigung und/oder Rucken).
-
Die Bewegungsplanung für AVs ist rechnerisch anspruchsvoll, da sie hochdimensional ist. Der Zustandsraum für das AV umfasst mindestens die Pose des Fahrzeugs auf einer Mannigfaltigkeit, die durch eine Karte (die X-, Y- und Gierkomponenten umfasst) zu jedem Zeitpunkt definiert wird. Um realisierbare und komfortable Trajektorien zu planen, kann der Zustandsraum auch Terme höherer Ordnung, wie Geschwindigkeit, Beschleunigung und Krümmung, enthalten.
-
Um die Dimensionalität bei der Berechnung der AV-Bewegungsplanung zu reduzieren, können AVs die Bewegungsplanung in krummlinigen oder kurvilinearen Koordinaten implementieren, was manchmal auch als Planung im „Frenet-Rahmen“ oder Frenet-Bezugssystem bezeichnet wird. Im Frenet-Rahmen werden die drei Grundparameter des AV in kartesischen Koordinaten {x, y, yaw bzw. Gier} durch zwei Zustände {s, l} ersetzt, wobei s die Entfernung entlang einer Referenzkurve und l die seitliche Abweichung des Fahrzeugs von der Referenzkurve darstellt. Die Referenzkurve ist typischerweise ein kontinuierlicher Pfad durch die Mitte einer Fahrspur, obwohl krummlinige Koordinaten nicht unbedingt auf diese genaue Positionierung der Referenzkurve beschränkt sind. Beispiele für solche Prozesse werden in Artikeln wie Hery et al., „Map-based Curvilinear Coordinates for Autonomous Vehicles“, IEEE Intelligent Transportation Systems Conference (2017) offenbart.
-
Während die Planung der Bewegung eines AV in krummlinigen Koordinaten zwar dazu beiträgt, die Dimensionalität des Zustandsraums zu reduzieren, ist der Prozess mathematisch immer noch anspruchsvoll und erfordert eine erhebliche Menge an Verarbeitungsressourcen. Zu den mathematischen Herausforderungen gehören: Die Transformation von kartesischen in krummlinige Koordinaten ist keine 1:1-Abbildung, und die Abbildung kann in der Nähe des Krümmungsmittelpunkts jeder Referenzkurve mehrdeutig sein. Zum Beispiel veranschaulicht 1 eine Referenzkurve 101 in kartesischen Koordinaten, in der ein Objekt 103 nahe dem Krümmungsmittelpunkt der Referenzkurve 101 positioniert ist. Da das Objekt 103 an dieser Stelle von mehreren Punkten entlang der Referenzkurve gleich weit entfernt ist, wäre die Position des Objekts 103 in krummlinigen Koordinaten nicht eindeutig. Da sich die meisten anderen Verkehrsteilnehmer ebenfalls bewegen, entstehen rechnerische Herausforderungen. Daher müssen Entfernungen zu sich bewegenden Aktoren als Funktion der Zeit berechnet werden, und diese Entfernungen müssen immer dann neu berechnet werden, wenn sich die projizierte Bewegung eines anderen Aktors ändert. Entfernungen müssen auch neu berechnet werden, wenn sich die Referenzkurve ändert, was passieren kann, wenn das AV auf eine andere Fahrspur wechselt oder auf andere Weise seinen geplanten Weg ändert.
-
In diesem Dokument werden Verfahren und Systeme beschrieben, die auf die Lösung der oben beschriebenen Probleme und/oder anderer Probleme abzielen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
In verschiedenen Ausführungsformen bestimmt ein Bewegungsplanungssystem des Fahrzeugs zum Planen einer Trajektorie für ein autonomes Fahrzeug eine Referenzkurve, die einen Weg darstellt, über den das autonome Fahrzeug in einer Umgebung über einen Zeithorizont fahren kann. Das Bewegungsplanungssystem empfängt von einem Wahrnehmungssystem des autonomen Fahrzeugs Daten, die einen Aktor darstellen, der sich in der Umgebung bewegt. Das Bewegungsplanungssystem segmentiert den Zeithorizont in mehrere Zeitintervalle. Für jedes der Zeitintervalle identifiziert das Bewegungsplanungssystem eine Grenzgeometrie für den Aktor, wobei die Grenzgeometrie einen interessierenden Bereich darstellt, der den Aktor umgibt. Das Bewegungsplanungssystem wird einen seitlichen bzw. lateralen Versatzabstand zwischen der Referenzkurve und dem Aktor vorhersagen und anhand der vorhergesagten seitlichen Versatzabstände eine Trajektorie für das autonome Fahrzeug bestimmen.
-
In einigen Ausführungsformen kann das Bewegungsplanungssystem die vorhergesagten seitlichen Versatzabstände in einer Nachschlagetabelle speichern. Wenn dies der Fall ist, kann das System bei Verwendung der vorhergesagten seitlichen Versatzabstände zur Bestimmung einer Trajektorie für das autonome Fahrzeug die vorhergesagten seitlichen Versatzabstände aus der Nachschlagetabelle abrufen, wenn sich der sich bewegende Aktor in der Nähe des autonomen Fahrzeugs befindet.
-
In einigen Ausführungsformen kann die Verwendung des vorhergesagten seitlichen Versatzabstands zum Bestimmen einer Trajektorie für das autonome Fahrzeug das Bestimmen - anhand des für das autonome Fahrzeug vorhergesagten seitlichen Versatzabstands - eines oder mehrerer Bereiche des Konfigurationsraums für das autonome Fahrzeug, die vom Aktor eingenommen werden, und eines oder mehrerer Bereiche des Konfigurationsraums, die frei vom Aktor sind, umfassen. Das System kann bestimmen, ob eine geplante Trajektorie für das autonome Fahrzeug mit einem der besetzten Bereiche eines Konfigurationsraums in Konflikt steht. Wenn die geplante Trajektorie für das autonome Fahrzeug mit einem der besetzten Bereiche des Konfigurationsraums in Konflikt gerät, kann das System die geplante Trajektorie so ändern, dass sie vollständig innerhalb eines freien Bereichs liegt und außerhalb eines belegten Konfigurationsraums für das autonome Fahrzeug.
-
In einigen Ausführungsformen umfasst die Verwendung des vorhergesagten seitlichen Versatzabstands zum Bestimmen einer Trajektorie für das autonome Fahrzeug: Bestimmen eines oder mehrerer Bereiche des Konfigurationsraums für das autonome Fahrzeug, die belegt sind; Bestimmen eines oder mehrerer Bereiche des Konfigurationsraums für das autonome Fahrzeug, die frei sind; und Bestimmen einer geplanten Trajektorie, die vollständig innerhalb einer Region freien Konfigurationsraums für das autonome Fahrzeug und außerhalb aller Regionen belegten Konfigurationsraums für das autonome Fahrzeug liegt.
-
In einigen Ausführungsformen umfasst das Identifizieren des Begrenzungsrahmens für den Aktor und das Vorhersagen des seitlichen Versatzabstands zwischen der Referenzkurve und dem Aktor für jedes der Zeitintervalle: (i) ein Bestimmen einer groben Begrenzungsgeometrie für den Aktor über das Zeitintervall; und (ii) ein Bestimmen, ob die grobe Begrenzungsgeometrie für den Aktor eine grobe Begrenzungsgeometrie für das autonome Fahrzeug über ein Distanzintervall auf der Referenzkurve schneidet. Wenn sich die grobe Begrenzungsgeometrie für den Aktor nicht mit der groben Begrenzungsgeometrie für das autonome Fahrzeug schneidet, kann sich das System zu einem nächsten Zeit- oder Distanzintervall bewegen, ohne eine seitliche Versatzdistanz für dieses Zeit- oder Distanzintervall vorherzusagen. Wenn sich die grobe Begrenzungsgeometrie für den Aktor mit der groben Begrenzungsgeometrie für das autonome Fahrzeug schneidet, kann das System mehrere feine Begrenzungsgeometrien für den Aktor über Zeitteilintervalle und feine Begrenzungsgeometrien für das autonome Fahrzeug über Entfernungsteilintervalle bestimmen, und das System kann dann seitliche Versatzabstände an jedem Ort bestimmen, an dem sich die feinen Begrenzungsgeometrien des Aktors und des autonomen Fahrzeugs schneiden. In einigen Ausführungsformen kann das Bewegungsplanungssystem die grobe Begrenzungsgeometrie für das autonome Fahrzeug durch Bestimmen eines Begrenzungsrahmens für das autonome Fahrzeug und durch seitliches Erweitern des Begrenzungsrahmens für das autonome Fahrzeug um einen Schwellenwert bestimmen.
-
In einigen Ausführungsformen umfasst das Identifizieren der Begrenzungsgeometrie für den Aktor und das Vorhersagen des seitlichen Versatzabstands zwischen der Referenzkurve und dem Aktor für jedes der Zeitintervalle: (i) ein Unterteilen des Zeitintervalls in Zeitunterintervalle; (ii) für jedes der Zeitunterintervalle ein Bestimmen einer feinen Begrenzungsgeometrie für den Aktor; (iii) ein Bestimmen eines Entfernungsintervalls, das dem Zeitintervall entspricht, und Unterteilen des Entfernungsintervalls auf der Referenzkurve in mehrere Entfernungsteilintervalle; (iv) für jedes der Entfernungsteilintervalle ein Bestimmen einer feinen Begrenzungsgeometrie für das autonome Fahrzeug; (v) ein Identifizieren von Paaren aus Zeitintervallen und entsprechenden Distanz-Teilintervallen für jedes Zeit-Teilintervall- und Distanz-Teilintervall-Paar; und (vi) ein Bestimmen, ob die feine Begrenzungsgeometrie für den Aktor die feine Begrenzungsgeometrie für das autonome Fahrzeug schneidet. Wenn sich die feine Begrenzungsgeometrie für den Aktor nicht mit der feinen Begrenzungsgeometrie für das autonome Fahrzeug überschneidet, kann das System mit einem nächsten Zeit-Subintervall fortfahren. Wenn sich die feine Begrenzungsgeometrie für den Aktor mit der feinen Begrenzungsgeometrie für das autonome Fahrzeug schneidet, kann das System den seitlichen Versatz zu einer Begrenzungsgeometrie des Aktors über das Zeitteilintervall an Beispielpositionen auf der Referenzkurve innerhalb des Entfernungsteilintervalls vorhersagen.
-
In einigen Ausführungsformen kann die Vorhersage des seitlichen Versatzabstands zwischen dem autonomen Fahrzeug und dem sich bewegenden Aktor die Bestimmung eines Abstands zwischen einem Begrenzungsrahmen für das autonome Fahrzeug und einer konvexen Hülle des sich bewegenden Aktors umfassen.
-
In einigen Ausführungsformen umfasst das Identifizieren des Begrenzungsrahmens für den Aktor und das Vorhersagen des seitlichen Versatzabstands zwischen der Referenzkurve und dem Aktor für jedes der Zeitintervalle Folgendes: (i) Unterteilen des Zeitintervalls in Zeitunterintervalle; (ii) für jeden der Zeitunterintervalle, die eine feine Begrenzungsgeometrie für den Aktor bestimmen; und (iii) Bestimmen eines Distanzintervalls, das dem Zeitintervall entspricht, Bestimmen einer maximalen Distanzintervalllänge, um einen Erfassungsbereich in Bezug auf einen Referenzpunkt auf der Referenzkurve zu gewährleisten. Zur Bestimmung des Abstandsintervalls kann der Algorithmus δdetect = p - rturn verwendet werden, der weiter unten ausführlicher beschrieben wird.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
- 1 zeigt ein Beispiel einer Referenzkurve in kartesischen Koordinaten.
- 2 ist ein Flussdiagramm, das einen Prozess zur Bestimmung einer Trajektorie eines autonomen Fahrzeugs unter Verwendung einer Konfigurationsraumberechnung in krummlinigen Koordinaten veranschaulicht.
- 3 veranschaulicht ein Beispiel dafür, wie das Bordcomputersystem eines autonomen Fahrzeugs die Bewegung eines sich bewegenden Aktors in Bezug auf eine Referenzkurve über die Zeit vorhersagen kann.
- Die 4A-4F veranschaulichen, wie der seitliche Versatz eines sich bewegenden Aktors für mehrere Probenpositionen auf einer Referenzkurve über eine Folge von Zeitintervallen berechnet wird.
- 5 veranschaulicht einen beispielhaften Grob-zu-Fein-Proximity-Check-Prozess.
- 6A und 6B veranschaulichen beispielhafte grobe Begrenzungsgeometrien für einen sich bewegenden Aktor.
- Die 7A und 7B veranschaulichen beispielhafte Feinbegrenzungsgeometrien für ein autonomes Fahrzeug.
- 8 veranschaulicht eine Beispielgeometrie, die zur Berechnung eines garantierten Erkennungs-Abtastbereichs für einen sich bewegenden Aktor verwendet werden kann.
- 9 veranschaulicht beispielhafte Systeme und Komponenten eines autonomen Fahrzeugs.
- 10 ist ein Blockdiagramm, das verschiedene Elemente eines möglichen elektronischen Subsystems eines AV und/oder eines externen elektronischen Geräts veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG
-
Die in diesem Dokument verwendeten Singularformen „ein / eine“ und „der / die / das“ schließen Pluralverweise ein, sofern der Kontext nicht eindeutig etwas anderes erfordert. Sofern nicht anders definiert, haben alle hier verwendeten technischen und wissenschaftlichen Begriffe die gleiche Bedeutung, wie sie von einem Fachmann allgemein verstanden wird. Wie in diesem Dokument verwendet, soll der Begriff „umfassend“ im Sinne von „einschließlich“ verstanden werden, ist aber nicht beschränkt hierauf. Definitionen für zusätzliche Begriffe, die für dieses Dokument relevant sind, finden sich am Ende dieser detaillierten Beschreibung.
-
Dieses Dokument beschreibt eine Verfahren, mit der ein Bewegungsplanungssystem eines autonomen Fahrzeugs (AV) eine Trajektorie für das AV bestimmen kann, indem es den belegten und freien Konfigurationsraum des AV in krummlinigen Koordinaten bestimmt. Der „Konfigurationsraum“ eines Robotergeräts ist der Raum möglicher Positionen, die das Gerät im Laufe der Zeit einnehmen kann. In kartesischen Koordinaten umfasst die Position sowohl den Standort als auch die Ausrichtung und kann daher als die möglichen Posen (x, y, yaw) (yaw = Gier) betrachtet werden, die das Fahrzeug im Laufe der Zeit erreichen kann. In krummlinigen Koordinaten berücksichtigt der Konfigurationsraum jedoch die möglichen (Längs-, Quer-)Positionen, die das Fahrzeug in Bezug auf eine Referenzkurve im Laufe der Zeit erreichen kann. Die Systeme dieses Dokuments verwenden krummlinige Koordinaten, um den Konfigurationsraum zu berechnen. Teile des Konfigurationsraums, an denen das AV ein anderes Objekt kontaktieren würde, sind „besetzt“, während Teile, die keinen solchen Kontakt haben, „frei“ sind. Das Bewegungsplanungssystem des AV kann dann eine Trajektorie im freien Konfigurationsraum berechnen - und die Platzierung der Trajektorie im belegten Konfigurationsraum vermeiden - um Konflikte mit anderen Objekten zu vermeiden.
-
2 veranschaulicht einen Beispielprozess, mit dem das Bewegungsplanungssystem eines AV dies tun kann. Bei 201 kann das System eine Referenzkurve identifizieren, die einen Pfad darstellt, über den sich das AV über einen Zeithorizont in einer Umgebung bewegen kann. Das System kann beispielsweise die Mittellinie einer Fahrspur, auf der das AV fährt und/oder fahren wird, als Referenzkurve identifizieren, oder eine Kurve, die zwischen den Mittellinien mehrerer Fahrspuren übergeht, auf denen das AV fährt und/oder fahren wird. Das System kann die Mitte als Mittelpunkt zwischen Fahrspurmarkierungen identifizieren, wie in Wahrnehmungsdaten erkannt und/oder wie in einer Karte des Ortes gespeichert, an dem sich das AV befindet.
-
2 veranschaulicht einen Beispielprozess, mit dem das Bewegungsplanungssystem eines AV dies tun kann. Bei 201 kann das System eine Referenzkurve identifizieren, die einen Pfad darstellt, über den sich das AV über einen Zeithorizont in einer Umgebung bewegen kann. Das System kann als Referenzkurve beispielsweise die Mittellinie einer Fahrspur identifizieren, auf der das AV fährt und/oder fahren wird, oder eine Kurve, die zwischen den Mittellinien mehrerer Fahrspuren wechselt, auf denen das AV fährt und/oder fahren wird. Das System kann die Mitte als Mittelpunkt zwischen Fahrspurmarkierungen identifizieren, wie in Wahrnehmungsdaten erkannt und/oder wie in einer Karte des Ortes gespeichert, an dem das AV sich befindet. Bei 202 empfängt das System von einem Wahrnehmungssystem des autonomen Fahrzeugs Daten, die einen Aktor darstellen, der sich in der Umgebung bewegt. Im Folgenden werden Verfahren beschrieben, mit denen das System dies tun kann. Der Aktor kann ein anderes Fahrzeug (z.B. ein Auto, ein LKW, ein Fahrrad oder ein Bus), ein Fußgänger, ein Tier oder ein anderer Aktor sein, der erkannt wird und sich bewegt.
-
Bei 203 unterteilt das System den interessierenden Zeitraum im Zeithorizont (wobei der interessierende Zeitraum den gesamten oder einen Teil des Zeithorizonts umfassen kann) in diskrete Zeitintervalle und unterteilt den interessierenden Bereich auf der Referenzkurve (wobei der interessierende Bereich die gesamte Referenzkurve oder einen Teil davon umfassen kann) in diskrete Entfernungsintervalle. Zu diesem Zweck kann das System eine Reihe diskreter Punkte entlang der Referenzkurve identifizieren und dann jedes Abstandsintervall als Intervall zwischen zwei benachbarten Punkten bestimmen.
-
Bei 205 empfängt das Bewegungsplanungssystem des AV eine vorhergesagte Trajektorie für den Aktor (wie durch das Vorhersagesystem des AV bestimmt), und bei 206 wird das Bewegungsplanungssystem ein Bestimmen eines erwarteten Standorts des Aktors zu Beginn und am Ende jedes Zeitintervalls vornehmen. Zum Beispiel 3 zeigt die relative Position des Aktors (dargestellt als konvexe Hülle 303) in Bezug auf die Referenzkurve 301 zu den Zeitpunkten t0, t1, t2 und t3.
-
Zurückkommend auf 2 führt das System bei 207 für jedes Zeitintervall eine Näherungsprüfung für den Aktor durch, was bedeutet, dass das System ermittelt, in welchen Abstandsintervallen entlang der Referenzkurve sich der Aktor für das Zeitintervall in der Nähe befindet. Das System geht davon aus, dass sich der Aktor in der Nähe der Referenzkurve befindet, wenn er ausreichend nahe an der Referenzkurve ist, um für die Trajektorienplanung relevant zu sein. Das bedeutet, dass das AV als Reaktion auf die Position des Aktors Brems- oder Lenkmaßnahmen ergreifen kann. Die Relevanz kann als einfacher Schwellenwertabstand von der Referenzkurve oder als Funktion anderer Eigenschaften des Aktors bestimmt werden. Ein beispielhaftes Verfahren, mit der das System dies vollbringen kann, wird unten beschrieben.
-
Bei 208 berechnet das System die seitlichen Versätze zum Aktor an jedem Abtastpunkt innerhalb jedes Entfernungsintervalls, das für das Zeitintervall in der Nähe liegt. Dies ist in den 4A-D näher dargestellt. Für jedes Zeitintervall berechnet das System eine konvexe Hülle 303, die den Aktor an der erwarteten Position zu Beginn und am Ende des Zeitintervalls umgibt. 4A und 4B zeigen, dass während eines Zeitintervalls [t0, t1] seitliche Versätze 305a, 305b von den Abtastorten s1 und s2 zu einem Referenzpunkt auf einem Begrenzungsrahmen 309 des AV (wobei der Ort des seitlichen Versatzes des AV-Begrenzungsrahmens 309 die konvexe Hülle 303 des Aktors berührt) auftreten können, die aus den jeweiligen Abtastpunkten s1 bzw. s2 berechnet werden können. In 4C befindet sich der Aktor (dargestellt als konvexe Hülle 303) während des Zeitintervalls [t0, t1] nicht seitlich zur Referenzkurve an einem Abtastort s3, sodass für dieses Zeitintervall kein Versatz vom Referenzpunkt s3 berechnet wird.
-
Die 4D-4F zeigen Berechnungen während eines Zeitintervalls [t1, t2]. Wie bei 4C und dem ersten Zeitintervall zeigt 4D, dass sich der Aktor 303 während des Zeitintervalls [t1, t2] nicht seitlich vom Probenort s1 befindet; daher wird für dieses Zeitintervall kein Versatz hinsichtlich s1 berechnet. Wie jedoch in den 4E und 4F gezeigt, können während des Zeitintervalls [t1, t2] seitliche Versätze 305e, 305f aus den Abtastpunkten s2 und s3 berechnet werden. Daher berechnet das System möglicherweise nur dann seitliche Versatzabstände, wenn sich der Aktor tatsächlich in der Nähe der Referenzkurve befindet. Dies trägt dazu bei, die Zuweisung von Rechenressourcen während der Laufzeit zu optimieren, und hilft dem System auch dabei, diskrete Interaktionsintervalle auszuwählen und daraus separat Folgerungen anzustellen.
-
Der bei 208 berechnete seitliche Versatz kann ein Abstand von der Kurve sein, den der Begrenzungsrahmen 309 des AV zurücklegen muss, um den Rand der konvexen Hülle für den Aktor 303 zu berühren, wie in den 4A-4F dargestellt, oder eine andere Entfernungsmessung, die durch die Versatz-Berechnungsregeln des Systems bestimmt wird. Das System kann mithilfe mehrerer solcher Algorithmen seitliche Versatzabstände ermitteln und die Abstände in einer Nachschlagetabelle speichern. Beispielsweise kann die Nachschlagetabelle seitliche Abstände von der Referenzkurve zu jeder Seite des Objekts an jeder Stelle entlang der Referenzkurve für jedes Zeitintervall enthalten. Durch das Speichern der Entfernungen in einer Nachschlagetabelle kann das System Entfernungsberechnungen konsolidieren, um die Berechnung der Bewegungsplanung effizienter zu gestalten. Optional kann eine einmal ermittelte Distanztabelle verwendet werden, solange die maximale Abweichung zwischen der AV-Kandidatenbahn und der Referenzkurve unter einem festgelegten Schwellenwert liegt. Wenn die Abweichung größer als der Schwellenwert ist, kann die Zuverlässigkeit der Tabelle in Bezug auf diese Trajektorie fraglich sein, und das System berechnet eine neue Nachschlagetabelle in Bezug auf eine neue Referenzkurve basierend auf der Kandidatentrajektorie des AV neu, indem es die in diesem Dokument und in den Figuren beschriebenen Berechnungen durchführt. Optional führt das System die Neuberechnung möglicherweise nur über einen interessierenden Zeitraum oder einen interessierenden Bereich auf der Referenzkurve durch.
-
Bei der Durchführung der Näherungsprüfung bei 207 kann das System zunächst eine relativ grobe Begrenzungsgeometrie verwenden, um den vom AV und dem Aktor eingenommenen Raum zu definieren. Die grobe Begrenzungsgeometrie umfasst den gesamten AV oder den Aktor und kann auch einen relativ größeren Raum um den AV oder Aktor herum umfassen. Für jedes Zeitintervall, in dem die Näherungsprüfung feststellt, dass sich die groben Begrenzungsgeometrien des AV und des Aktors überschneiden, kann das System jedoch eine oder mehrere feinere Begrenzungsgeometrien bestimmen, die den interessierenden Bereich präziser definieren, um relativ weniger zusätzlichen Raum um das AV oder den Aktor herum einzuschließen. Diese grobe bis feine Lokalisierung und die Bestimmung der Grenzgeometrie bei jedem Schritt werden im Folgenden ausführlicher beschrieben.
-
Vor der Berechnung der seitlichen Versätze zum Aktor, wie in den 4A-4D dargestellt, kann das System einen Näherungsprüfungsalgorithmus verwenden, um die Abstandsintervalle entlang der Referenzkurve zu bestimmen, in denen sich der Aktor für jedes Zeitintervall in der Nähe befindet. Es kann jeder geeignete Algorithmus zur Näherungsprüfung verwendet werden. 5 veranschaulicht einen beispielhaften hierarchischen, groben bis feinen Näherungsprüfungsprozess. Zu Beginn erweitert das System bei 501 den Begrenzungsrahmen des AV seitlich um den gewünschten Schwellenwert in einem seitlichen Abstand von der Referenzkurve, um einen Aktor in der Nähe zu berücksichtigen. Aktoren innerhalb dieses Schwellenwerts für den seitlichen Abstand von der Referenzkurve sind ausreichend nah an der Referenzkurve, um für die Trajektorienplanung relevant zu sein, was bedeutet, dass das AV als Reaktion auf die Position des Aktors Brems- oder Lenkmaßnahmen ergreifen kann. Der seitliche Abstandsschwellenwert kann auf der Breite der Fahrspur oder des befahrbaren Bereichs basieren, durch den die Referenzkurve verläuft. 6A veranschaulicht ein Beispiel, in dem erweiterte Begrenzungsrahmen 609a, 609b für den AV an den Abtastpunkten s1 bzw. s3 auf der Referenzkurve 601 gezeigt werden. Danach beginnt der Prozess mit der Bestimmung eines groben Begrenzungsrahmens für den sich bewegenden Aktor für ein Zeitintervall bei 502. Eine geeignete grobe Geometrie kann eine „Stadion“- oder „Kapsel“-Geometrie sein, die aus Begrenzungskreisen um den Begrenzungsrahmen des Aktors zu Beginn und am Ende des Timerintervalls erstellt wird. Das „Stadion“ umfasst alle möglichen Orte, die der Aktor während der gesamten Zeitspanne durchqueren kann. Ein Beispiel ist in 6B dargestellt, die ein Begrenzungsstadium 603 für den sich bewegenden Aktor über das Zeitintervall [t0, t2] zeigt.
-
Zurückkommend auf 5 bestimmt das System bei 503 für das Distanzintervall auf der Referenzkurve, das den Begrenzungsrahmen des AV enthält, eine Kursbegrenzungsgeometrie für den Begrenzungsrahmen des AV. Ein Beispiel ist in 6B dargestellt, die ein Begrenzungsstadium 609 für den erweiterten AV-Begrenzungsrahmen über ein Distanzintervall zwischen [s1, s3] entlang der Referenzkurve 601 darstellt. Bei 504 bestimmt das System, ob sich die groben Begrenzungsgeometrien für den sich bewegenden Aktor und das AV überschneiden. Wenn sich die groben Begrenzungsgeometrien des sich bewegenden Aktors und des AV nicht schneiden (504: NEIN), kann die Näherungsprüfung mit dem nächsten Entfernungsintervall entlang der Referenzkurve oder dem nächsten Zeitintervall fortgesetzt werden (Schritt 505).
-
Wenn sich andererseits die groben Begrenzungsgeometrien des sich bewegenden Aktors und des AV überschneiden (504: JA), dann kann das System bei 506 die großen Zeit- und Distanzintervalle in mehrere kleinere Teilintervalle segmentieren. Das System kann dann relativ feinere Begrenzungsgeometrien für den Aktor bei 507 über jedes der Zeitunterintervalle und für das AV bei 508 über jedes der Entfernungsunterintervalle bestimmen. Eine geeignete Feingeometrie kann ein „orientierter Begrenzungsrahmen“ („Oriented Bounding Box“) sein. "
-
Bei 509 bestimmt das System dann für jedes Teilintervall, ob sich die feinen Begrenzungsgeometrien des sich bewegenden Aktors und des AV überschneiden. Wenn sich die feinen Begrenzungsgeometrien des sich bewegenden Aktors und des AV nicht schneiden (509: NEIN), kann die Näherungsprüfung mit dem nächsten Entfernungsteilintervall entlang der Referenzkurve oder dem nächsten Zeitteilintervall fortgesetzt werden (Schritt 510). Wenn sich die feinen Begrenzungsgeometrien schneiden (509: JA), bestimmt das System bei 511 an jedem Ort innerhalb des Distanz-Subintervalls den seitlichen Versatzabstand von der Referenzkurve zur konvexen Hülle des sich bewegenden Aktors über das Zeit-Subintervall. Ein Beispielergebnis dieses Prozesses ist in 7A gezeigt, in der ein erweiterter AV-Begrenzungsrahmen 703a, 703b entlang der Referenzkurve 701 an den Abtastpunkten s1 bzw. s2 dargestellt ist. 7B veranschaulicht die feine Begrenzungsgeometrie 709 für den AV über das Distanzintervall zwischen Abtastpunkten [s1, s2] auf der Referenzkurve. Es können andere Algorithmen zur Näherungsprüfung angewendet werden, beispielsweise andere hierarchische Schnittprüfungsverfahren oder räumliche Indexverfahren wie R-Bäume.
-
In einigen Ausführungsformen kann das System bei der Diskretisierung des Zeithorizonts in Zeitintervalle (oder sogar bei der Berechnung der anfänglichen Zeitintervalle zu Beginn des Prozesses) Vorsichtsmaßnahmen treffen, um zu vermeiden, dass der Standort des Aktors zu einem kritischen Zeitpunkt übersehen wird. Wenn sich der sich bewegende Aktor beispielsweise in eine Richtung bewegt, die die Referenzkurve kreuzt, ist es möglich, dass sich der Aktor zum Zeitpunkt t0 auf der einen Seite der Kurve und zum Zeitpunkt t1 auf der anderen Seite der Kurve befindet. Diese beiden Abtastzeiten würden nicht den Zeitpunkt erfassen, zu dem der Aktor tatsächlich die Referenzkurve kreuzt. Um dieses Problem zu lösen, benötigt das System möglicherweise eine Mindestanzahl an Abtastvorgängen. Das System kann auch die konvexe Hülle des Begrenzungsrahmens des Aktors zwischen den Abtastzeiten berechnen. Im obigen Beispiel würde die konvexe Hülle des Begrenzungsrahmens des Aktors bei t0 und t1 die Referenzkurve schneiden, selbst wenn die einzelnen Begrenzungsrahmen bei t0 und t1 dies nicht tun.
-
In einigen Ausführungsformen kann das System beim Diskretisieren der Referenzkurve in Distanzintervalle eine maximale Länge des Distanzintervalls bestimmen, um einen Erkennungsbereich in Bezug auf die Referenzkurve zu gewährleisten. Dies lässt sich anhand von 8 nachvollziehen, in der die Referenzkurve 801 mit Begrenzungsrahmen für das AV 809a, 809b an jedem der Abtastpunkte s1 bzw. s2 dargestellt ist. Ein geeigneter Algorithmus kann δdetect als den garantierten Erkennungsbereich betrachten (d.h. den Entfernungsbereich von der Referenzkurve, in dem jedes Objekt garantiert erkannt wird). Für ein gegebenes Paar von Standortabtastwerten s1 und s2 entlang der Referenzkurve 801 ist der garantierte Erkennungsbereich δdetect = p - rturn, wobei:
- p die Diagonale des Parallelogramms ist;
- wobei a und b Seiten des Parallelogramms sind:
-
-
Dabei sind dfront und drear die Abstände vom Referenzpunkt zur Vorder- bzw. Rückseite des AV.
-
rturn ist der Wenderadius der Referenzkurve, berechnet als rturn = Δs / Δθ.
-
Wenn die Kursänderung Δθ null ist, ist die garantierte Erkennungsreichweite = 0, wenn Δs > dfront + drear, andernfalls ist die Erkennungsreichweite unendlich.
-
Zurückkommend auf 2 kann das System, sobald der seitliche Versatz des Aktors von der Referenzkurve bestimmt ist, diese Informationen verwenden, um belegte Bereiche des AV-Konfigurationsraums zu identifizieren (210). Wie bereits erwähnt, kann das System bei 208 für jedes Zeitintervall und für jeden Abtastpunkt entlang der Referenzkurve einen seitlichen Versatz bestimmen, der vom Aktor eingenommen wird. Bei 209 kann das System diese Berechnungen in einer Nachschlagetabelle speichern. Das System kann dann später die seitlichen Versätze aus der Nachschlagetabelle extrahieren und sie verwenden, um die belegten Bereiche des AV-Konfigurationsraums bei 210 zu identifizieren, wie oben beschrieben.
-
Bei 211 kann das System den verbleibenden (nicht belegten) Konfigurationsraum als freien Konfigurationsraum 211 zur Verwendung in seiner Bewegungsplanung identifizieren. Insbesondere kann das Bewegungsplanungssystem bei 212 eine Trajektorie berechnen, die jeden Schnittpunkt mit dem belegten Konfigurationsraum vermeidet und nur den freien Konfigurationsraum umfasst. Wenn alternativ bereits eine Trajektorie berechnet wurde und die Trajektorie den belegten Konfigurationsraum durchquert (d.h. schneidet), kann das System bei 213 diese Trajektorie ändern, indem es den widersprüchlichen Teil ändert und/oder eine neue Trajektorie berechnet oder auswählt. Die Änderung oder Alternierung kann dazu führen, das AV: (a) zu verlangsamen, bevor es den besetzten Konfigurationsraum erreicht, und so den sich bewegenden Aktor passieren zu lassen; (b) zu beschleunigen, um den belegten Konfigurationsraum in einem Zeitintervall zu durchlaufen, bevor der Raum belegt wird; oder (c) auf eine andere Fahrspur wechseln zu lassen oder eine anderweitige Richtungsänderung vorzunehmen, um den belegten Konfigurationsraum zu umgehen.
-
9 veranschaulicht eine beispielhafte Systemarchitektur 999 für ein Fahrzeug, beispielsweise ein AV. Das Fahrzeug umfasst einen Motor 902 und verschiedene Sensoren zum Messen verschiedener Parameter des Fahrzeugs und/oder seiner Umgebung. Zu den Betriebsparametersensoren, die beiden Fahrzeugtypen gemeinsam sind, gehören beispielsweise: ein Positionssensor 936 wie ein Beschleunigungsmesser, ein Gyroskop und/oder eine Trägheitsmesseinheit; ein Geschwindigkeitssensor 938; und einen Kilometerzählersensor 940. Das Fahrzeug kann auch über eine Uhr bzw. einen Taktgeber 942 verfügen, den das System verwendet, um die Fahrzeugzeit während des Betriebs zu bestimmen. Der Taktgeber 942 kann im Bordrechner des Fahrzeugs codiert sein, es kann sich um ein separates Gerät handeln oder es können mehrere Taktgeber verfügbar sein.
-
Das Fahrzeug wird außerdem über verschiedene Sensoren verfügen, die Informationen über die Umgebung sammeln, in der sich das Fahrzeug bewegt. Zu diesen Sensoren können zum Beispiel gehören: ein Standortsensor 960, beispielsweise ein GPS-Gerät (Global Positioning System); Objekterkennungssensoren wie eine oder mehrere Kameras 962; ein LiDAR-Sensorsystem 964; und/oder ein Radar und/oder ein Sonarsystem 966. Zu den Sensoren können auch Umgebungssensoren 968 gehören, etwa ein Niederschlagssensor und/oder ein Umgebungstemperatursensor. Die Objekterkennungssensoren können es dem Fahrzeug ermöglichen, sich bewegende Aktoren und stationäre Objekte zu erkennen, die sich innerhalb eines bestimmten Entfernungsbereichs des Fahrzeugs 999 in jede Richtung befinden, während die Umgebungssensoren Daten über Umgebungsbedingungen innerhalb des Fahrbereichs des Fahrzeugs sammeln. Das System umfasst außerdem eine oder mehrere Kameras 962 zum Erfassen von Bildern der Umgebung. Einige oder alle dieser Sensoren, zusammen mit einem oder mehreren Prozessoren des Bordcomputergeräts 920 des Fahrzeugs und Programmieranweisungen, die, wenn sie von den Prozessoren ausgeführt werden, es dem Computersystem ermöglichen, Objekte in den Wahrnehmungsdaten zu klassifizieren, können insgesamt als das Wahrnehmungssystem des Fahrzeugs angesehen werden.
-
Während des Einsatzes des Fahrzeugs empfängt das Fahrzeug Wahrnehmungsdaten von einem oder mehreren Sensoren des Wahrnehmungssystems des Fahrzeugs. Die Wahrnehmungsdaten können Daten umfassen, die für ein oder mehrere Objekte in der Umgebung repräsentativ sind. Das Wahrnehmungssystem verarbeitet die Daten, um Objekte zu identifizieren und jedem in einer Szene erkannten Objekt kategorische Bezeichnungen und eindeutige Kennungen zuzuweisen. Kategorische Bezeichnungen können Kategorien wie Fahrzeug, Zweiradfahrer, Fußgänger, Gebäude und dergleichen umfassen. Verfahren zum Identifizieren von Objekten und zum Zuweisen kategorialer Bezeichnungen zu Objekten sind in der Technik gut bekannt, und es kann jeder geeignete Klassifizierungsprozess verwendet werden, beispielsweise solche, die Bounding-Box-Vorhersagen für erkannte Objekte in einer Szene erstellen und Faltungs-Neuronale Netzwerke oder andere Computer-Vision-Modelle verwenden . Einige dieser Prozesse werden in Yurtsever et al, „A Survey of Autonomous Driving: Common Practices and Emerging Technologies“ (arXiv, 2. April 2020) beschrieben.
-
Während einer Fahrt des Fahrzeugs werden Informationen von den Sensoren an ein Bordcomputergerät 920 übermittelt. Das Bordcomputergerät 920 analysiert die von den Sensoren des Wahrnehmungssystems erfassten Daten und führt als Bewegungsplanungssystem Anweisungen aus, um eine Trajektorie für das Fahrzeug zu bestimmen. Verschiedene Bewegungsplanungstechniken sind wohlbekannt, beispielsweise wie beschrieben in Gonzalez et al., „A Review of Motion Planning Techniques for Automated Vehicles“, veröffentlicht in IEEE Transactions on Intelligent Transportation Systems, Bd. 17, Nr. 4 (April 2016). Die Trajektorie umfasst Posen- und Zeitparameter, und der Bordrechner des Fahrzeugs steuert den Betrieb verschiedener Fahrzeugkomponenten, um das Fahrzeug entlang der Trajektorie zu bewegen. Beispielsweise kann das Bordcomputergerät 920 das Bremsen über eine Bremssteuerung 922 steuern; die Fahrtrichtung über einen Lenkregler 924; die Geschwindigkeit und Beschleunigung über einen Gashebel-Controller 926 (in einem kraftstoffbetriebenen Fahrzeug) oder ein Motorgeschwindigkeitscontroller 928 (z.B. ein Strompegelcontroller in einem Elektrofahrzeug); weiterhin können eine Differenzialgetriebesteuerung 930 (in Fahrzeugen mit Getriebe) und/oder andere Controller 954 vorgesehen sein.
-
Geografische Standortinformationen können vom Standortsensor 960 an das Bordcomputergerät 920 übermittelt werden, das dann auf eine Karte der Umgebung zugreifen kann, die den Standortinformationen entspricht, um bekannte feste Merkmale der Umgebung wie Straßen, Gebäude, Haltestellen zu bestimmen Schilder und/oder Stop-/Go-Signale. Aufgenommene Bilder von den Kameras 962 und/oder von Sensoren wie einem LiDAR-System 964 erfasste Objekterkennungsinformationen werden von diesen Sensoren an das Bordcomputergerät 920 übermittelt. Die Objekterkennungsinformationen und/oder erfassten Bilder können vom Bordcomputergerät 920 verarbeitet werden, um Objekte in der Nähe des Fahrzeugs 999 zu erkennen. Zusätzlich oder alternativ kann das AV beliebige Daten zur Verarbeitung an einen externen Server übermitteln. In den in diesem Dokument offenbarten Ausführungsformen kann jede bekannte oder bekannte Technik zur Durchführung einer Objekterkennung auf der Grundlage von Sensordaten und/oder erfassten Bildern verwendet werden.
-
In den verschiedenen in diesem Dokument besprochenen Ausführungsformen kann in der Beschreibung angegeben werden, dass das Fahrzeug oder das Bordcomputergerät des Fahrzeugs Programmieranweisungen implementieren kann, die das Bordcomputergerät des Fahrzeugs veranlassen, Entscheidungen zu treffen und die Entscheidungen zur Steuerung von Vorgängen zu verwenden eines oder mehrerer Fahrzeugsysteme. Die Ausführungsformen sind jedoch nicht auf diese Anordnung beschränkt, da in verschiedenen Ausführungsformen die Analyse, Entscheidungsfindung und/oder die Betriebssteuerung ganz oder teilweise von anderen Computergeräten übernommen werden können, die in elektronischer Kommunikation mit dem Bordcomputergerät des Fahrzeugs stehen. Beispiele für solche anderen Computergeräte umfassen ein elektronisches Gerät (z.B. ein Smartphone), das einer Person zugeordnet ist, die im Fahrzeug mitfährt, sowie ein Remote-Server, mit dem elektronische Kommunikation besteht das Fahrzeug über ein drahtloses Kommunikationsnetzwerk. Der Prozessor eines solchen Geräts kann die oben beschriebenen Vorgänge ausführen.
-
10 zeigt ein Beispiel für interne Hardware, die in einer der elektronischen Komponenten des Systems enthalten sein kann, wie etwa interne Verarbeitungssysteme des AV, externe Überwachungs- und Berichtssysteme oder Remote-Server. Ein elektrischer Bus 1000 dient als Informationsautobahn, die die anderen dargestellten Komponenten der Hardware miteinander verbindet. Der Prozessor 1005 ist ein zentrales Verarbeitungsgerät des Systems, das für die Durchführung von Berechnungen und logischen Operationen konfiguriert ist, die zur Ausführung von Programmieranweisungen erforderlich sind. Wie in diesem Dokument und in den Ansprüchen verwendet, können sich die Begriffe „Prozessor“ und „Verarbeitungsgerät“ auf einen einzelnen Prozessor oder eine beliebige Anzahl von Prozessoren in einer Gruppe von Prozessoren beziehen, die gemeinsam eine Reihe von Vorgängen ausführen, beispielsweise eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Remote-Server oder eine Kombination davon. Beispiele für Speichergeräte 1025 sind Nur-LeseSpeicher (ROM), Direktzugriffsspeicher (RAM), Flash-Speicher, Festplatten und andere Geräte, die elektronische Daten speichern können. Ein Speichergerät kann ein einzelnes Gerät oder eine Sammlung von Geräten umfassen, auf denen Daten und/oder Anweisungen gespeichert werden. Verschiedene Ausführungsformen der Erfindung können ein computerlesbares Medium umfassen, das Programmieranweisungen enthält, die so konfiguriert sind, dass sie einen oder mehrere Prozessoren veranlassen, die im Kontext der vorherigen Figuren beschriebenen Funktionen auszuführen.
-
Eine optionale Anzeigeschnittstelle 1030 kann die Anzeige von Informationen vom Bus 1000 auf einem Anzeigegerät 1035 im visuellen, grafischen oder alphanumerischen Format ermöglichen, beispielsweise auf einem Anzeigesystem im Armaturenbrett des Fahrzeugs. Es können auch eine Audioschnittstelle und ein Audioausgang (z.B. ein Lautsprecher) vorhanden sein. Die Kommunikation mit externen Geräten kann über verschiedene Kommunikationsgeräte 1040 erfolgen, wie etwa eine drahtlose Antenne, ein Radiofrequenz-Identifikationsetikett (RFID) und/oder einen Nahbereichs- oder Nahfeld-Kommunikations-Transceiver, die jeweils optional möglich sind kommunikativ mit anderen Komponenten des Geräts über ein oder mehrere Kommunikationssysteme verbinden. Das/die Kommunikationsgerät(e) 1040 kann/können für die kommunikative Verbindung mit einem Kommunikationsnetzwerk wie dem Internet, einem lokalen Netzwerk oder einem Mobilfunkdatennetzwerk konfiguriert sein.
-
Die Hardware kann auch einen Benutzerschnittstellensensor 1045 umfassen, der den Empfang von Daten von Eingabegeräten 1050 wie einer Tastatur oder einem Tastenfeld, einem Joystick, einem Touchscreen, einem Touchpad, einer Fernbedienung, einem Zeigegerät und/oder einem Mikrofon ermöglicht. Digitale Einzelbilder können auch von einer Kamera 1020 empfangen werden, die Videos und/oder Standbilder aufnehmen kann. Das System kann auch Daten von einem Bewegungs- und/oder Positionssensor 1070 empfangen, beispielsweise einem Beschleunigungsmesser, einem Gyroskop oder einer Trägheitsmesseinheit. Das System kann auch Daten von einem LiDAR-System 1060 empfangen, wie beispielsweise dem weiter oben in diesem Dokument beschriebenen.
-
Die oben offenbarten Merkmale und Funktionen sowie Alternativen können in vielen anderen unterschiedlichen Systemen oder Anwendungen kombiniert werden. Verschiedene Komponenten können in Hardware oder Software oder eingebetteter Software implementiert sein. Der Fachmann kann verschiedene derzeit unvorhergesehene oder unerwartete Alternativen, Modifikationen, Variationen oder Verbesserungen vornehmen, die jeweils auch von den offenbarten Ausführungsformen umfasst sein sollen.
-
Zu den für die oben bereitgestellte Offenlegung relevanten Begriffen gehören:
-
Ein „automatisiertes Gerät“ oder „Robotergerät“ bezieht sich auf ein elektronisches Gerät, das einen Prozessor, Programmieranweisungen und eine oder mehrere physische Hardwarekomponenten umfasst, die sich als Reaktion auf Befehle des Prozessors mit minimalem oder keinem menschlichen Eingriff bewegen können. Durch eine solche Bewegung kann ein Robotergerät eine oder mehrere automatische Funktionen oder Funktionssätze ausführen. Beispiele für solche Vorgänge, Funktionen oder Aufgaben können unter anderem das Betätigen von Rädern oder Propellern zum Betreiben, Fliegen oder andere Transportaktionen, Bedienen von Roboteraufzügen zum Be- und Entladen, medizinische Prozesse, baubezogene Prozesse und/oder Ähnliches. Zu den Beispielen automatisierter Geräte können unter anderem autonome Fahrzeuge, Drohnen und andere autonome Robotergeräte gehören.
-
Der Begriff „Fahrzeug“ bezieht sich auf jedes bewegliche Fortbewegungsmittel, das einen oder mehrere menschliche Insassen und/oder Fracht befördern kann und durch irgendeine Form von Energie angetrieben wird. Der Begriff „Fahrzeug“ umfasst unter anderem Autos, Lastwagen, Transporter, Züge, autonome Fahrzeuge, Flugzeuge, Flugdrohnen und dergleichen. Ein „autonomes Fahrzeug“ ist ein Fahrzeug mit einem Prozessor, Programmieranweisungen und Antriebsstrangkomponenten, die vom Prozessor gesteuert werden können, ohne dass ein menschlicher Bediener erforderlich ist. Ein autonomes Fahrzeug kann völlig autonom sein, da es für die meisten oder alle Fahrbedingungen und -funktionen keinen menschlichen Bediener benötigt. Alternativ kann es halbautonom sein, da unter bestimmten Bedingungen oder für bestimmte Vorgänge ein menschlicher Bediener erforderlich sein kann, oder dass ein menschlicher Bediener das autonome System des Fahrzeugs außer Kraft setzen und die Kontrolle über das Fahrzeug übernehmen kann. Zu den autonomen Fahrzeugen zählen auch Fahrzeuge, bei denen autonome Systeme den menschlichen Betrieb des Fahrzeugs unterstützen, wie zum Beispiel Fahrzeuge mit fahrerunterstützter Lenkung, Geschwindigkeitsregelung, Bremsen, Parken und anderen fortschrittlichen Fahrerassistenzsystemen.
-
Unter „fahren“ oder einem „run“ eines Fahrzeugs versteht man den Vorgang, ein Fahrzeug zu bedienen und zu veranlassen, dass sich das Fahrzeug in der realen Welt bewegt. Ein Fahren kann in öffentlichen, unkontrollierten Umgebungen wie Stadt- oder Vorortstraßen, Autobahnen oder offenen Straßen stattfinden. Ein Fahren kann auch in einer kontrollierten Umgebung wie einer Teststrecke stattfinden.
-
Wenn sich der Begriff „Objekt“ auf ein Objekt bezieht, das von einem Fahrzeugwahrnehmungssystem erkannt oder von einem Simulationssystem simuliert wird, soll er sowohl stationäre Objekte als auch sich bewegende (oder potenziell sich bewegende) Aktoren umfassen, sofern in Zusammenhang mit der Verwendung der Begriffe „Aktor“ oder „stationäres Objekt“ nicht ausdrücklich etwas anderes angegeben ist.
-
Der Begriff „Begrenzungsrahmen“ bezieht sich auf einen rechteckigen Rahmen, der den Standort eines Objekts darstellt. Ein Begrenzungsrahmen kann in Daten durch x- und y-Achsenkoordinaten [xmax, ymax] dargestellt werden, die einer ersten Ecke des Rahmens (z.B. der oberen rechten Ecke) entsprechen, zusammen mit x- und y-Achsenkoordinaten [xmin, ymin], die der Ecke des Rechtecks entsprechen, die der ersten Ecke gegenüberliegt (z.B. der unteren linken Ecke). Der Begrenzungsrahmen kann als das kleinste Rechteck berechnet werden, das alle Punkte eines Objekts enthält, optional plus einem zusätzlichen Leerraum, um eine Fehlermarge zu ermöglichen. Bei den Punkten des Objekts kann es sich um solche handeln, die von einem oder mehreren Sensoren erfasst wurden, beispielsweise der Pixel eines von einer Kamera erfassten Bildes oder der Punkte einer von einem LiDAR-Sensor erfassten Punktwolke. Eine „Begrenzungsgeometrie“ ist eine Form, die die Funktion eines darüber liegenden Begrenzungsrahmens erfüllt, aber nicht unbedingt eine rechteckige Form hat. Beispiele für Begrenzungsgeometrien sind Kreise, Zylinder, Dreiecke, Rechtecke und andere Formen.
-
In diesem Dokument werden die Begriffe „Strecke“, „Fahrspur“ und „Straße“ beispielhaft anhand von Fahrzeugen veranschaulicht, die auf einer oder mehreren Straßen fahren. Die Ausführungsformen sollen jedoch auch Fahrspuren und Kreuzungen an anderen Orten umfassen, beispielsweise auf Parkplätzen. Darüber hinaus kann bei autonomen Fahrzeugen, die für den Einsatz in Innenräumen konzipiert sind (z.B. automatische Kommissioniergeräte in Lagerhäusern), eine Fahrspur ein Korridor des Lagers sein, oder eine Straße kann der Korridor sein und eine Fahrspur kann ein Teil des Korridors sein. Wenn es sich bei dem autonomen Fahrzeug um eine Drohne oder ein anderes Luftfahrzeug handelt, kann der Begriff „Straße“ oder „Straße“ einen Luftweg darstellen und eine Fahrspur kann einen Teil des Luftwegs darstellen. Wenn es sich bei dem autonomen Fahrzeug um ein Wasserfahrzeug handelt, kann der Begriff „Straße“ oder „Straße“ eine Wasserstraße darstellen und eine Fahrspur kann ein Teil der Wasserstraße sein.
-
Ein „elektronisches Gerät“ oder ein „Computergerät“ bezieht sich auf ein Gerät, das einen Prozessor und einen Speicher enthält. Jedes Gerät verfügt möglicherweise über einen eigenen Prozessor und/oder Speicher, oder der Prozessor und/oder Speicher kann mit anderen Geräten gemeinsam genutzt werden, wie in einer virtuellen Maschine oder Containeranordnung. Der Speicher enthält oder empfängt Programmieranweisungen, die bei Ausführung durch den Prozessor dazu führen, dass das elektronische Gerät einen oder mehrere Vorgänge gemäß den Programmieranweisungen ausführt.
-
Die Begriffe „Speicher“, „Speichergerät“, „Datenspeicher“, „Datenspeichereinrichtung“ und dergleichen beziehen sich jeweils auf ein nichtflüchtiges Gerät, auf dem computerlesbare Daten, Programmieranweisungen oder beides gespeichert sind. Sofern nicht ausdrücklich anders angegeben, sollen die Begriffe „Speicher“, „Speichergerät“, „Datenspeicher“, „Datenspeichereinrichtung“ und dergleichen Ausführungsformen mit einem einzelnen Gerät umfassen, Ausführungsformen, in denen mehrere Speichergeräte zusammen oder gemeinsam einen Satz von Daten oder Anweisungen speichern sowie einzelne Sektoren innerhalb solcher Geräte.
-
Die Begriffe „Prozessor“ und „Verarbeitungsgerät“ beziehen sich auf eine Hardwarekomponente eines elektronischen Geräts, die zur Ausführung von Programmieranweisungen konfiguriert ist, beispielsweise einen Mikroprozessor oder eine andere logische Schaltung. Ein Prozessor und ein Speicher können Elemente eines Mikrocontrollers, eines individuell konfigurierbaren integrierten Schaltkreises, eines programmierbaren System-on-a-Chip oder eines anderen elektronischen Geräts sein, das für die Ausführung verschiedener Funktionen programmiert werden kann. Sofern nicht ausdrücklich anders angegeben, soll der Singular-Begriff „Prozessor“ oder „Verarbeitungsgerät“ sowohl Ausführungsformen mit einem einzelnen Verarbeitungsgerät als auch Ausführungsformen umfassen, bei denen mehrere Verarbeitungsgeräte gemeinsam oder gemeinsam einen Prozess ausführen.
-
Wenn in diesem Dokument relative Ordnungsbegriffe wie „erster“ und „zweiter“ zur Modifizierung eines Substantivs verwendet werden, dient diese Verwendung lediglich dazu, ein Element von einem anderen zu unterscheiden, und ist nicht dazu gedacht, eine sequentielle Reihenfolge zu implizieren, sofern nicht ausdrücklich anders angegeben.
-
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
-