-
TECHNISCHES GEBIET
-
Die Offenbarung betrifft im Allgemeinen Fahrzeugsensoren.
-
ALLGEMEINER STAND DER TECHNIK
-
Fahrzeuge können Sensoren zum Erkennen der Außenwelt, z. B. von Objekten und/oder Eigenschaften der Umgebung des Fahrzeugs, wie etwa andere Fahrzeuge, Fahrbahnmarkierungen, Verkehrsampeln und/oder Verkehrsschilder, Fußgänger usw. beinhalten. Die Sensoren können zum Beispiel Radarsensoren, Laserscanner-Entfernungsmesser, Light-Detection-and-Ranging-Vorrichtungen (LIDAR-Vorrichtungen) und Bildverarbeitungssensoren, wie etwa Kameras, einschließen. Eine LIDAR-Vorrichtung erkennt Entfernungen zu Objekten durch Aussenden von Laserimpulsen bei einer bestimmten Wellenlänge und Messen der Laufzeit, die der Impuls benötigt, um zu dem Objekt und zurück zu gelangen.
-
Daten von den Sensoren werden häufig als eine Vielzahl von Punkten generiert. Die Punkte müssen in eine Darstellung umgewandelt werden, die von einem Computer verwendet werden kann, sodass der Computer basierend auf den Daten Komponenten betätigen kann, damit der Computer zum Beispiel ein Fahrzeug autonom betreiben kann.
-
KURZDARSTELLUNG
-
Das nachstehend beschriebene System kann eine einfache Darstellung eines Objekts in Form einer Abgrenzung des Objekts generieren, z. B. einen rechteckigen Begrenzungsrahmen. Die Verwendung einer einfachen Darstellung eines Objekts ermöglicht eine schnelle Verarbeitung von Objekten in der Umgebung. Darüber hinaus berücksichtigt das System nicht besetzten Raum, wenn die Abgrenzung aus einer Vielzahl von Punkten generiert wird. Die Verwendung von nicht besetztem Raum kann zu genauen Abgrenzungen führen, wodurch eine zuverlässige Entscheidungsfindung durch einen Computer erleichtert wird, der für die Betätigung von Komponenten basierend auf einer Position und/oder Ausrichtung des Objekts verantwortlich ist.
-
Ein Computer beinhaltet einen Prozessor und einen Speicher, der Anweisungen speichert, die durch den Prozessor ausgeführt werden können, um Daten von einem Sensor zu empfangen, der eine Vielzahl von Punkten spezifiziert, wobei die Punkte eine Vielzahl von ersten Punkte beinhalten, die ein Objekt beschreiben; um eine Abgrenzung zu definieren, welche die ersten Punkte umgibt, während ein Raumvolumen minimiert wird, das sowohl (i) in der Abgrenzung enthalten als auch (ii) als nicht besetzt identifiziert ist; und um eine Komponente in Bezug auf ein Fahrzeug basierend auf der Abgrenzung zu betätigen.
-
Die Punkte können in den Sensordaten als dreidimensionale Punkte beschrieben sein, und die Anweisungen können ferner vor dem Definieren der Abgrenzung das Projizieren der Punkte in zweidimensionalen horizontalen Raum beinhalten.
-
Die Anweisungen können ferner beinhalten, Raum als nicht besetzt zu identifizieren, nachdem bestimmt wurde, dass der Sensor eine unbehinderte Sicht durch den Raum zu einem der Punkte aufweist.
-
Die Abgrenzung kann ein rechteckiger Begrenzungsrahmen sein.
-
Die Anweisungen können ferner das Generieren einer konvexen Hülle, welche die ersten Punkte umgibt, und das Definieren der Abgrenzung als einen rechteckigen Begrenzungsrahmen basierend auf der konvexen Hülle beinhalten. Die Anweisungen können ferner das Generieren einer Vielzahl von rechteckigen Begrenzungsrahmenkandidaten basierend auf der konvexen Hülle beinhalten, wobei das Definieren der Abgrenzung das Auswählen eines ersten rechteckigen Begrenzungsrahmenkandidaten aus den rechteckigen Begrenzungsrahmenkandidaten beinhalten kann, und wobei der erste rechteckige Begrenzungsrahmenkandidat der rechteckigen Begrenzungsrahmenkandidaten ein minimales Volumen an Raum enthalten kann, das sowohl (i) im jeweiligen rechteckigen Begrenzungsrahmenkanditaten enthalten als auch (ii) als nicht besetzt identifiziert ist. Die konvexe Hülle kann eine Vielzahl von Liniensegmenten beinhalten, jeder rechteckige Begrenzungsrahmenkandidat kann vier Seiten beinhalten, und jeder rechteckige Begrenzungsrahmenkandidat kann eine Seite aufweisen, die ein Liniensegment der konvexen Hülle überlappt, und kann eine minimale Länge und Breite aufweisen, um alle der ersten Punkte zu umgeben.
-
Das Fahrzeug kann den Computer beinhalten, und die Komponente kann mindestens eines von einem Lenksystem, einem Bremssystem oder einem Antrieb des Fahrzeugs sein.
-
Das Objekt kann das Fahrzeug sein, und die Komponente kann eine Infrastrukturkomponente in der Nähe des Fahrzeugs sein.
-
Ein Verfahren beinhaltet das Empfangen von Daten von einem Sensor, die eine Vielzahl von Punkten spezifizieren, wobei die Punkte eine Vielzahl von ersten Punkten beinhalten, die ein Objekt beschreiben; das Definieren einer Abgrenzung, welche die ersten Punkte umgibt, während ein Raumvolumen minimiert wird, das sowohl (i) in der Abgrenzung enthalten als auch (ii) als nicht besetzt identifiziert ist; und das Betätigen einer Komponente in Bezug auf ein Fahrzeug basierend auf der Abgrenzung.
-
Die Punkte können in den Sensordaten als dreidimensionale Punkte beschrieben sein, und das Verfahren kann ferner das Projizieren der Punkte in zweidimensionalen horizontalen Raum vor dem Definieren der Abgrenzung beinhalten.
-
Das Verfahren kann ferner das Identifizieren von Raum als nicht besetzt beinhalten, nachdem bestimmt wurde, dass der Sensor eine unbehinderte Sicht durch den Raum zu einem der Punkte aufweist.
-
Die Abgrenzung kann ein rechteckiger Begrenzungsrahmen sein.
-
Das Verfahren kann ferner das Generieren einer konvexen Hülle, welche die ersten Punkte umgibt, und das Definieren der Abgrenzung als einen rechteckigen Begrenzungsrahmen basierend auf der konvexen Hülle beinhalten. Das Verfahren kann ferner das Generieren einer Vielzahl von rechteckigen Begrenzungsrahmenkandidaten basierend auf der konvexen Hülle beinhalten, wobei das Definieren der Abgrenzung das Auswählen eines ersten rechteckigen Begrenzungsrahmenkandidaten aus den rechteckigen Begrenzungsrahmenkandidaten beinhalten kann, und wobei der erste rechteckige Begrenzungsrahmenkandidat der rechteckigen Begrenzungsrahmenkandidaten ein minimales Volumen an Raum enthalten kann, das sowohl (i) im jeweiligen rechteckigen Begrenzungsrahmenkanditaten enthalten als auch (ii) als nicht besetzt identifiziert ist. Die konvexe Hülle kann eine Vielzahl von Liniensegmenten beinhalten, jeder rechteckige Begrenzungsrahmenkandidat kann vier Seiten beinhalten, und jeder rechteckige Begrenzungsrahmenkandidat kann eine Seite aufweisen, die ein Liniensegment der konvexen Hülle überlappt, und kann eine minimale Länge und Breite aufweisen, um alle der ersten Punkte zu umgeben.
-
Die Komponente kann mindestens eines von einem Lenksystem, einem Bremssystem und einem Antrieb des Fahrzeugs sein.
-
Das Objekt kann das Fahrzeug sein, und die Komponente kann eine Infrastrukturkomponente in der Nähe des Fahrzeugs sein.
-
Ein System beinhaltet einen Computer, der dazu programmiert ist, Daten von einem Sensor zu empfangen, die eine Vielzahl von Punkten spezifizieren, wobei die Punkte eine Vielzahl von ersten Punkte beinhalten, die ein Objekt beschreiben; eine Abgrenzung zu definieren, welche die ersten Punkte umgibt, während ein Raumvolumen minimiert wird, das sowohl (i) in der Abgrenzung enthalten als auch (ii) als nicht besetzt identifiziert ist; sowie Mittel zum Betätigen einer Komponente in Bezug auf ein Fahrzeug basierend auf der Abgrenzung.
-
Figurenliste
-
- 1 ist ein Blockdiagramm eines beispielhaften Fahrzeugs.
- 2 ist ein Blockdiagramm einer beispielhaften Infrastrukturkomponente.
- 3 ist ein Diagramm des Fahrzeugs und der Infrastrukturkomponente.
- 4 ist ein Prozessablaufdiagramm eines beispielhaften Prozesses zum Generieren eines Begrenzungsrahmens für ein Objekt.
- 5 ist ein Diagramm einer durch Sensordaten spezifizierten Punktwolke.
- 6 ist ein Diagramm einer Vielzahl von Begrenzungsrahmenkandidaten.
-
DETAILLIERTE BESCHREIBUNG
-
In Bezug auf die Figuren beinhaltet ein Computer 30 einen Prozessor und einen Speicher, der Anweisungen speichert, die durch den Prozessor ausgeführt werden können, um Daten von einem Sensor 32 zu empfangen, der eine Vielzahl von Punkten 34 spezifiziert, wobei die Punkte 34 eine Vielzahl von ersten Punkten 36 beinhalten, die ein Objekt beschreiben; um eine Abgrenzung 38 zu definieren, welche die ersten Punkte 36 umgibt, während ein Raumvolumen 40 minimiert wird, das sowohl (i) in der Abgrenzung 38 enthalten als auch (ii) als nicht besetzt identifiziert ist; und um eine Komponente 42 in Bezug auf ein Fahrzeug 44 basierend auf der Abgrenzung 38 zu betätigen.
-
Unter Bezugnahme auf 1 kann es sich bei dem Fahrzeug 44 um einen beliebigen Personenkraftwagen oder ein beliebiges Nutzfahrzeug handeln, wie etwa ein Auto, einen Truck, eine Geländelimousine, ein Crossover-Fahrzeug, einen Van, einen Minivan, ein Taxi, einen Bus usw.
-
Bei dem Fahrzeug 44 kann es sich um ein autonomes Fahrzeug handeln. Der Computer 30 kann dazu programmiert sein, das Fahrzeug 44 vollständig oder in geringerem Ausmaß unabhängig vom Eingreifen eines menschlichen Fahrers zu betreiben. Der Computer 30 kann dazu programmiert sein, einen Antrieb 46, ein Lenksystem 48, ein Bremssystem 50 und/oder andere Fahrzeugsysteme zu betreiben. Für die Zwecke dieser Offenbarung ist unter einem autonomen Betrieb zu verstehen, dass der Computer 30 den Antrieb 46, das Lenksystem 48 und das Bremssystem 50 ohne Eingabe von einem menschlichen Fahrer steuert; ist unter einem halbautonomen Betrieb zu verstehen, dass der Computer 30 ein oder zwei von dem Antrieb 46, dem Lenksystem 48 und dem Bremssystem 50 steuert und ein menschliche Fahrer den Rest steuert; und ist unter einem nicht autonomen Betrieb zu verstehen, dass der menschliche Fahrer den Antrieb 46, das Lenksystem 48 und das Bremssystem 50 steuert.
-
Das Fahrzeug 44 kann den Computer 30 beinhalten. Der Computer 30 ist eine Steuerung auf Mikroprozessorbasis. Der Computer 30 beinhaltet einen Prozessor, einen Speicher usw. Der Speicher des Computers 30 beinhaltet Medien zum Speichern von Anweisungen, die durch den Prozessor ausgeführt werden können, sowie zum elektronischen Speichern von Daten und/oder Datenbanken.
-
Der Computer 30 kann Daten über ein Kommunikationsnetzwerk 52, wie etwa einen Controller-Area-Network-Bus (CAN-Bus), Ethernet, WLAN, ein Local Interconnect Network (LIN), einen On-Board-Diagnoseanschluss (OBD-II) und/oder über ein beliebiges anderes drahtgebundenes oder drahtloses Kommunikationsnetzwerk 52 übertragen und empfangen. Der Computer 30 kann über das Kommunikationsnetzwerk 52 kommunikativ mit dem Antrieb 46, dem Lenksystem 48, dem Bremssystem 50, den Sensoren 32, einem Sendeempfänger 54 und anderen Komponenten gekoppelt sein.
-
Der Antrieb 46 des Fahrzeugs 44 generiert Energie und wandelt die Energie in Bewegung des Fahrzeugs 44 um. Der Antrieb 46 kann ein herkömmliches Untersystem des Fahrzeugantriebs sein, zum Beispiel ein herkömmlicher Antriebsstrang einschließlich einer Brennkraftmaschine, die mit einem Getriebe gekoppelt ist, das Rotationsbewegung an Räder überträgt; ein elektrischer Antriebsstrang einschließlich Batterien, eines Elektromotors und eines Getriebes, das Rotationsbewegung an die Räder überträgt; ein hybrider Antriebsstrang einschließlich Elementen des herkömmlichen Antriebsstrangs und des elektrischen Antriebsstrangs; oder eine beliebige andere Art von Antrieb. Der Antrieb 46 kann eine elektronische Steuereinheit (electronic control unit - ECU) oder dergleichen beinhalten, die mit dem Computer 30 und/oder einem menschlichen Fahrer in Kommunikation steht und Eingaben von diesem/diesen empfängt. Der menschliche Fahrer kann den Antrieb 46 z. B. über ein Gaspedal und/oder einen Gangschalthebel steuern.
-
Das Lenksystem 48 ist typischerweise ein herkömmliches Untersystem zum Lenken eines Fahrzeugs und steuert das Einlenken der Räder. Bei dem Lenksystem 48 kann es sich um ein Zahnstangensystem mit elektrischer Servolenkung, ein Steer-by-Wire-System, wie sie beide bekannt sind, oder ein beliebiges anderes geeignetes System handeln. Das Lenksystem 48 kann eine elektronische Steuereinheit (ECU) oder dergleichen beinhalten, die mit dem Computer 30 und/oder einem menschlichen Fahrer in Kommunikation steht und Eingaben von diesem/diesen empfängt. Der menschliche Fahrer kann das Lenksystem 48 zum Beispiel über ein Lenkrad steuern.
-
Bei dem Bremssystem 50 handelt es sich typischerweise um ein herkömmliches Untersystem zum Abbremsen eines Fahrzeugs, das der Bewegung des Fahrzeugs 44 entgegenwirkt, um dadurch das Fahrzeug 44 zu verlangsamen und/oder anzuhalten. Das Bremssystem 50 kann Reibungsbremsen, wie etwa Scheibenbremsen, Trommelbremsen, Bandbremsen usw.; Nutzbremsen; eine beliebige andere geeignete Art von Bremsen oder eine Kombination beinhalten. Das Lenksystem 50 kann eine elektronische Steuereinheit (ECU) oder dergleichen beinhalten, die mit dem Computer 30 und/oder einem menschlichen Fahrer in Kommunikation steht und Eingaben von diesem/diesen empfängt. Der menschliche Fahrer kann das Bremssystem 50 zum Beispiel über ein Bremspedal steuern.
-
Das Fahrzeug 44 kann die Sensoren 32 beinhalten. Die Sensoren 32 können die Außenwelt erkennen, z. B. Objekte und/oder Eigenschaften der Umgebung des Fahrzeugs 44, wie etwa andere Fahrzeuge, Fahrbahnmarkierungen, Verkehrsampeln und/oder Verkehrsschilder, Fußgänger usw. Die Sensoren 32 können zum Beispiel Radarsensoren, Laserscanner-Entfernungsmesser, Light-Detection-and-Ranging-Vorrichtungen (LIDAR-Vorrichtungen) und Bildverarbeitungssensoren, wie etwa Kameras, einschließen. Eine LIDAR-Vorrichtung erkennt Entfernungen zu Objekten durch Aussenden von Laserimpulsen bei einer bestimmten Wellenlänge und Messen der Laufzeit, die der Impuls benötigt, um zu dem Objekt und zurück zu gelangen.
-
Der Sendeempfänger 54 kann dazu angepasst sein, Signale drahtlos mittels eines beliebigen geeigneten drahtlosen Kommunikationsprotokolls, wie etwa Bluetooth®, WiFi, IEEE 802.11a/b/g, andere RF-Kommunikation (Radiofrequenz-Kommunikation) usw. zu übertragen. Der Sendeempfänger 54 kann dazu angepasst sein, mit einem entfernten Server zu kommunizieren, das heißt einem Server, der sich von dem ersten Fahrzeug 44 unterscheidet und von diesem beabstandet ist. Der entfernte Server kann sich außerhalb des Fahrzeugs 44 befinden. Der entfernte Server kann zum Beispiel mit einem anderen Fahrzeug (z. B. V2V-Kommunikation), einer Infrastrukturkomponente 56 (z. B. V2I-Kommunikation über dedizierte Nahbereichskommunikation (Dedicated Short-Range Communications - DSRC) oder dergleichen), einem Nothelfer, einer mobilen Vorrichtung, die mit dem Halter des Fahrzeugs 44 assoziiert ist, usw. assoziiert sein. Der Sendeempfänger 54 kann eine Vorrichtung sein oder kann einen separaten Sender und Empfänger beinhalten.
-
Unter Bezugnahme auf die 2 und 3 kann die Infrastrukturkomponente 56 den Computer 30, das Kommunikationsnetzwerk 52 und den Sendeempfänger 54 beinhalten. Die Infrastrukturkomponente 56 kann alles sein, was als Reaktion auf eine Handlung des Fahrzeugs 44 sinnvoll betätigt werden kann. Wie in 3 gezeigt, kann die Infrastrukturkomponente 56 zum Beispiel ein Verkehrssignal sein, das eine Vielzahl von Lichtern 58 beinhaltet, z. B. grüne, gelbe und rote Lichter 58, die so positioniert sind, dass sie für entgegenkommende Verkehrsspuren sichtbar sind. Andere Beispiele beinhalten ein Kommunikationsrelais zum Bereitstellen von Informationen an Fahrzeuge 44; ein Bahnübergangssignal und eine Schranke; einen Schlagbaum, d. h. eine Schranke, die zwischen einer unteren Position, die das Fahrzeug 44 daran hindert, entlang einer Fahrspur zu fahren, und einer oberen Position, die eine Fahrt entlang der Fahrspur ermöglicht, schwenkbar ist; Garagentore; usw.
-
4 ist ein Prozessablaufdiagramm, das einen beispielhaften Prozess 400 zum Generieren einer Abgrenzung 38 für ein Objekt veranschaulicht. Der Speicher des Computers 30 speichert ausführbare Anweisungen zum Durchführen der Schritte des Prozesses 400. Als eine allgemeine Übersicht über den Prozess 400 generiert der Computer 30 eine konvexe Hülle 62 (nachstehend definiert) für den Satz von ersten Punkten 36, die das Objekt beschreiben; generiert der Computer eine Vielzahl von Abgrenzungskandidaten 38 basierend auf der konvexen Hülle 62; wählt der Computer den Abgrenzungskandidaten 38 aus, der die Überlappung zwischen der Abgrenzung 38 und nicht besetztem Raum 60 minimiert, d. h. dem Raum, der als nicht besetzt identifiziert ist, weil der Sensor 32 eine unbehinderte Sicht durch den Raum auf mindestens einen der Punkte 34 aufweist; und betätigt der Computer eine Komponente 42 basierend auf der ausgewählten Abgrenzung 38.
-
Der Prozess 400 beginnt in einem Block 405, in dem der Computer 30 Daten von einem oder mehreren der Sensoren 32 empfängt. Die Daten spezifizieren eine Vielzahl von Punkten 34. Die Punkte 34 sind in den Daten als dreidimensionale Punkte beschrieben, d. h. als ein Satz geordneter Tripel. Jedes geordnete Tripel kann einen Punkt 34 in einem beliebigen geeigneten Koordinatensystem darstellen, z. B. kartesisch, zylindrisch, polar usw. Die geordneten Tripel können zum Beispiel als ein kartesisches Koordinatensystem mit einer horizontalen x-und y-Achse, die zueinander orthogonal sind, und einer vertikalen z-Achse, d. h. ((x1, y1, z1), (x2, y2, z2),... (xn, yn, zn)) dargestellt werden. Die Punkte 34 beinhalten eine Vielzahl von ersten Punkten 36, die ein Objekt beschreibt. Die ersten Punkte 36 können aus den übrigen Punkten 34 ausgewählt werden, beispielsweise durch ein neurales Faltungsnetzwerk (convolutional neural network - CNN). Der Rest des Prozesses 400 wird in Bezug auf die ersten Punkte 36 für ein Objekt beschrieben, die Punkte 34 können jedoch auch andere Objekte beschreiben, für die jeweils die gleichen nachstehenden Schritte unabhängig ausgeführt werden können. Die Punkte 34 werden in dem Computer 30 im Speicher des Computers 30 einem der verschiedenen Objekte zugewiesen.
-
Als nächstes projiziert der Computer 30 in einem Block 410 die Punkte 34 vom dreidimensionalen Raum in zweidimensionalen Raum. Für das vorstehend beschriebene kartesische Koordinatensystem kann die Projektion erreicht werden, indem die z-Koordinate aus jedem geordneten Tripel entfernt wird, d. h. ((x1, y1, z1), (x2, y2, z2),... (xn, yn, zn)) können ((x1, y1), (x2, y2),... (xn, yn)) zugeordnet werden. Die Punkte 34 in einer horizontalen zweidimensionalen Ebene sind in 5 gezeigt. Für andere Koordinatensysteme kann die Projektion unter Verwendung herkömmlicher Techniken linearer Algebra durchgeführt werden.
-
Als nächstes identifiziert der Computer 30 in einem Block 415 nicht besetzen Raum 60 in der Umgebung. Für die Zwecke dieser Offenbarung ist „nicht besetzter Raum“ als Raum definiert, der kein Objekt enthält. Der Computer 30 kann nicht besetzten Raum 60 als den zweidimensionalen Raum identifizieren, der von nicht blockierten geraden Linien 64 zwischen dem Sensor 32 und den jeweiligen Punkten 34 und Verbindungslinien 64 zwischen umlaufend benachbarten Punkten 34 eingeschlossen ist, d. h. die Verbindungslinien 64 befinden sich jeweils zwischen einem Punkt 34 und dem nächstgelegenen Punkt 34 in Umlaufrichtung um den Sensor 32 in der horizontalen Ebene. Eine gerade Linie 64 ist blockiert, wenn ein Objekt die gerade Linie 64 kreuzt, d. h. wenn zwei Punkte 34, die dem gleichen Objekt zugewiesen sind, auf gegenüberliegenden Seiten der geraden Linie 64 liegen und sich näher am Sensor 32 befinden als der Punkt 34 am Ende der gerade Linie 64. Im Wesentlichen ist der nicht besetzte Raum 60 der zweidimensionale Raum, durch den der Sensor 32 eine unbehinderte Sicht auf die Punkte 34 aufweist, wie in 5 veranschaulicht.
-
Als nächstes generiert der Computer 30 in einem Block 420 die konvexe Hülle 62, welche die ersten Punkte 36 umgibt. Für die Zwecke dieser Offenbarung ist eine „konvexe Hülle“ das konvexe Polygon mit minimaler Fläche, das alle Punkte eines Satzes von Punkten umgibt. Ein konvexes Polygon ist ein Polygon, bei dem sich kein Liniensegment zwischen zwei Punkten am Umfang außerhalb des Polygons erstreckt. Umgangssprachlich ist die konvexe Hülle 62 die Form, die durch Strecken und Lösen (d. h. Ermöglichen des Entspannens) eines Gummibands um alle Punkte eines Satzes von Punkten gebildet wird. Der Computer 30 generiert die konvexe Hülle 62 durch Anwenden eines von mehreren herkömmlichen Algorithmen der algorithmischen Geometrie, um dies zu tun, z. B. des Graham-Scans, auf die ersten Punkte 36. Die konvexe Hülle 62 beinhaltet eine Vielzahl von Liniensegmenten 68, die den Umfang der konvexen Hülle 62 bilden und eine Teilmenge der ersten Punkte 36 verbinden, wie in 6 gezeigt.
-
Als nächstes generiert der Computer 30 in einem Block 425 eine Vielzahl von Abgrenzungskandidaten 38 basierend auf der konvexen Hülle 62, wie in 6 gezeigt. Die Abgrenzungskandidaten 38 sind rechteckige Begrenzungsrahmen, d. h. Vierecke mit Winkeln von 90°, d. h. Polygone mit vier Seiten 70, die an Winkeln von 90° verbunden sind. Der Computer 30 kann einen Abgrenzungskandidaten 38 für jedes Liniensegment 68 der konvexen Hülle 62 generieren. Jeder Abgrenzungskandidat 38 weist eine Seite 70 auf, die das jeweilige Liniensegment 68 der konvexen Hülle 62 überlappt, und weist eine minimale Länge und Breite auf, um alle der ersten Punkte 36 zu umgeben.
-
Als nächstes wählt der Computer 30 in einem Block 430 einen ersten Abgrenzungskandidat 38 aus den Abgrenzungskandidaten 38 aus. Der erste Abgrenzungskandidat 38 enthält das minimale Volumen 40 von nicht besetztem Raum 60 der Abgrenzungskandidaten 38. In einem Block 415 berechnet der Computer 30 für jeden Abgrenzungskandidaten 38 das Volumen 40, das sowohl (i) im Abgrenzungskandidaten 38 enthalten als auch (ii) als nicht besetzt identifiziert ist. Der Abgrenzungskandidat 38 mit dem kleinsten derartigen Volumen 40 ist der erste Abgrenzungskandidat 38.
-
Als nächstes betätigt der Computer 30 in einem Block 435 die Komponente 42 in Bezug auf das Fahrzeug 44 basierend auf der ausgewählten Abgrenzung 38. Die Komponente 42 kann zum Beispiel mindestens eines von dem Antrieb 46, dem Lenksystem 48 und dem Bremssystem 50 sein. Der Computer 30 des Fahrzeugs 44 kann den Antrieb 46, das Lenksystem 48 und das Bremssystem 50 unter Verwendung bekannter autonomer Fahralgorithmen betätigen, um das Fahrzeug 44 zu fahren, während die Abgrenzung 38 als ein zu vermeidendes Zielobjekt definierend behandelt wird, z. B. Vermeiden von Kontakt mit dem Objekt oder Einhalten eines Mindestabstands zu diesem, wie durch die ausgewählte Abgrenzung 38 dargestellt. Der Computer 30 kann auch den Antrieb 46, das Lenksystem 48 und das Bremssystem 50 betätigen, um Orte zu vermeiden, an denen sich das Objekt möglicherweise bald befindet. Der Computer 30 kann wahrscheinliche zukünftige Orte für das Objekt teilweise bestimmen, indem er die Ausrichtung der ausgewählten Abgrenzung 38 verwendet, um mögliche Fahrtrichtungen einzugrenzen. Für ein anderes Beispiel kann die Komponente 42 die Infrastrukturkomponente 56 sein, und das Objekt ist das Fahrzeug 44, auf das die Infrastrukturkomponente 56 reagiert. Zum Beispiel kann der Computer 30 der Infrastrukturkomponente 56 die Lichter 58 als Reaktion darauf betätigen, dass sich das Fahrzeug 44 einer Kreuzung nähert, z. B. indem ein Zyklus beginnt, um auf das Leuchten des grünen Lichts, das auf das Fahrzeug 44 gerichtet ist, umzuschalten und die roten Lichter, die auf eine Querstraße der Kreuzung gerichtet sind, als Reaktion auf das sich der Kreuzung nähernde Fahrzeug 44 auf Leuchten umgeschaltet werden, während sich kein Verkehr von der Querstraße nähert. Für ein anderes Beispiel kann der Computer 30 den Sendeempfänger 54 betätigen, um eine Nachricht an das Fahrzeug 44 zu übertragen, die z. B. angibt, wann die Lichter 58 in einen anderen Zustand wechseln werden, z. B. gelb und rot werden. Nach dem Block 435 endet der Prozess 400.
-
Im Allgemeinen können die beschriebenen Rechnersysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Rechnerbetriebssystemen einsetzen, einschließlich unter anderem Versionen und/oder Varianten der Sync®-Anwendung von Ford, AppLink/Smart Device Link Middleware, der Betriebssysteme Microsoft Automotive®, Microsoft Windows®, Unix (z. B. das Betriebssystem Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, Linux, Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, BlackBerry OS, vertrieben durch Blackberry, Ltd. in Waterloo, Kanada, und Android, entwickelt von Google, Inc. und der Open Handset Alliance, oder der Plattform QNX® CAR für Infotainment, angeboten von QNX Software Systems. Beispiele für Rechenvorrichtungen beinhalten unter anderem Folgendes: einen im Fahrzeug integrierten Computer, einen Arbeitsplatzcomputer, einen Server, einen Desktop-, einen Notebook-, einen Laptop- oder einen Handcomputer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung.
-
Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausführt werden können, wie etwa durch die vorstehend aufgeführten. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung vielfältiger Programmiersprachen und/oder -technologien erstellt wurden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Python, Perl, HTML usw. Einige dieser Anwendungen können auf einer virtuellen Maschine zusammengestellt und ausgeführt werden, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung vielfältiger computerlesbarer Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.
-
Ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhaltet ein beliebiges nicht transitorisches (z. B. greifbares) Medium, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) ausgelesen werden können. Ein solches Medium kann viele Formen annehmen, einschließlich unter anderem nicht flüchtiger Medien und flüchtiger Medien. Nicht flüchtige Medien können zum Beispiel optische Platten oder Magnetplatten und anderen dauerhaften Speicher einschließen. Flüchtige Medien können zum Beispiel einen dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM) beinhalten, der üblicherweise einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, darunter Koaxialkabel, Kupferdraht und Glasfaser, einschließlich der Drähte, die einen an einen Prozessor einer ECU gekoppelten Systembus umfassen. Gängige Formen computerlesbarer Medien beinhalten zum Beispiel Folgendes: eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer gelesen werden kann.
-
Datenbanken, Datendepots oder andere Datenspeicher, die in dieser Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedenen Arten von Daten beinhalten, einschließlich einer hierarchischen Datenbank, eines Datensatzes in einem Dateisystem, einer Anwendungsdatenbank in einem proprietären Format, eines relationalen Datenbankverwaltungssystems (relational database management system - RDBMS), einer nicht relationalen Datenbank (NoSQL), einer Graphdatenbank (graph database - GDB) usw. Jeder derartige Datenspeicher ist im Allgemeinen innerhalb einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem, wie etwa eines der vorstehend aufgeführten, verwendet, und es wird auf eine oder mehrere von vielfältigen Weisen über ein Netzwerk darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden und es kann Dateien beinhalten, die in verschiedenen Formaten gespeichert sind. Ein RDBMS setzt im Allgemeinen die Computersprache Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erzeugen, Speichern, Editieren und Ausführen gespeicherter Vorgänge ein, wie etwa die vorangehend erwähnte Sprache PL/SQL.
-
In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, PCs usw.) umgesetzt sein, die auf zugeordneten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.
-
In den Zeichnungen geben die gleichen Bezugszeichen die gleichen Elemente an. Ferner könnten einige oder alle dieser Elemente geändert werden. Hinsichtlich der hierin beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass die Schritte derartiger Prozesse usw. zwar als gemäß einer bestimmten Reihenfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden könnten, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der hierin beschriebenen Reihenfolge abweicht. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte in dieser Schrift beschriebene Schritte weggelassen werden könnten.
-
Allen in den Patentansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern in dieser Schrift nicht ausdrücklich etwas anderes angegeben ist. Insbesondere ist die Verwendung der Singularartikel wie etwa „ein“, „einer“, „eine“, „der“, „die“, „das“ etc. dahingehend auszulegen, dass ein oder mehrere der aufgeführten Element genannt werden, sofern ein Anspruch nicht eine ausdrückliche gegenteilige Einschränkung enthält.
-
Die Offenbarung wurde auf veranschaulichende Weise beschrieben und es versteht sich, dass die verwendete Terminologie vielmehr der Beschreibung als der Einschränkung dienen soll. In Anbetracht der vorstehenden Lehren sind viele Modifikationen und Variationen der vorliegenden Offenbarung möglich und die Offenbarung kann anders als konkret beschrieben umgesetzt werden.
-
Gemäß der vorliegenden Erfindung ist ein Computer bereitgestellt, der einen Prozessor und einen Speicher, der Anweisungen speichert, die durch den Prozessor ausgeführt werden können, aufweist, um Daten von einem Sensor zu empfangen, der eine Vielzahl von Punkten spezifiziert, wobei die Punkte eine Vielzahl von ersten Punkten beinhalten, die ein Objekt beschreiben; um eine Abgrenzung zu definieren, welche die ersten Punkte umgibt, während ein Raumvolumen minimiert wird, das sowohl (i) in der Abgrenzung enthalten als auch (ii) als nicht besetzt identifiziert ist; und um eine Komponente in Bezug auf ein Fahrzeug basierend auf der Abgrenzung zu betätigen.
-
Gemäß einer Ausführungsform sind die Punkte in den Sensordaten als dreidimensionale Punkte beschrieben, und beinhalten die Anweisungen ferner das Projizieren der Punkte in zweidimensionalen horizontalen Raum vor dem Definieren der Abgrenzung.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner, Raum als nicht besetzt zu identifizieren, nachdem bestimmt wurde, dass der Sensor eine unbehinderte Sicht durch den Raum zu einem der Punkte aufweist.
-
Gemäß einer Ausführungsform ist die Abgrenzung ein rechteckiger Begrenzungsrahmen.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner das Generieren einer konvexen Hülle, welche die ersten Punkte umgibt, und das Definieren der Abgrenzung als einen rechteckigen Begrenzungsrahmen basierend auf der konvexen Hülle.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner das Generieren einer Vielzahl von rechteckigen Begrenzungsrahmenkandidaten basierend auf der konvexen Hülle, wobei das Definieren der Abgrenzung das Auswählen eines ersten rechteckigen Begrenzungsrahmenkandidaten aus den rechteckigen Begrenzungsrahmenkandidaten beinhaltet, und wobei der erste rechteckige Begrenzungsrahmenkandidat der rechteckigen Begrenzungsrahmenkandidaten ein minimales Volumen an Raum enthält, das sowohl (i) im jeweiligen rechteckigen Begrenzungsrahmenkanditaten enthalten als auch (ii) als nicht besetzt identifiziert ist.
-
Gemäß einer Ausführungsform beinhaltet die konvexe Hülle eine Vielzahl von Liniensegmenten, weist jeder rechteckige Begrenzungsrahmenkandidat vier Seiten auf und weist jeder rechteckige Begrenzungsrahmenkandidat eine Seite auf, die ein Liniensegment der konvexen Hülle überlappt, und weist eine minimale Länge und Breite auf, um alle ersten Punkte zu umgeben.
-
Gemäß einer Ausführungsform beinhaltet das Fahrzeug den Computer und ist die Komponente mindestens eines von einem Lenksystem, einem Bremssystem oder einem Antrieb des Fahrzeugs.
-
Gemäß einer Ausführungsform ist das Objekt das Fahrzeug und die Komponente ist eine Infrastrukturkomponente in der Nähe des Fahrzeugs.
-
Gemäß einer Ausführungsform beinhaltet ein Verfahren Folgendes: Empfangen von Daten von einem Sensor, die eine Vielzahl von Punkten spezifizieren, wobei die Punkte eine Vielzahl von ersten Punkten beinhalten, die ein Objekt beschreiben; Definieren einer Abgrenzung, welche die ersten Punkte umgibt, während ein Raumvolumen minimiert wird, das sowohl (i) in der Abgrenzung enthalten als auch (ii) als nicht besetzt identifiziert ist; und Betätigen einer Komponente in Bezug auf ein Fahrzeug basierend auf der Abgrenzung.
-
Gemäß einer Ausführungsform sind die Punkte in den Sensordaten als dreidimensionale Punkte beschrieben und umfasst das Verfahren ferner das Projizieren der Punkte in zweidimensionalen horizontalen Raum vor dem Definieren der Abgrenzung.
-
Gemäß einer Ausführungsform ist die Erfindung ferner durch das Identifizieren von Raum als nicht besetzt gekennzeichnet, nachdem bestimmt wurde, dass der Sensor eine unbehinderte Sicht durch den Raum zu einem der Punkte aufweist.
-
Gemäß einer Ausführungsform ist die Abgrenzung ein rechteckiger Begrenzungsrahmen.
-
Gemäß einer Ausführungsform ist die Erfindung ferner durch das Generieren einer konvexen Hülle, welche die ersten Punkte umgibt, und das Definieren der Abgrenzung als einen rechteckigen Begrenzungsrahmen basierend auf der konvexen Hülle gekennzeichnet.
-
Gemäß einer Ausführungsform ist die Erfindung ferner durch das Generieren einer Vielzahl von rechteckigen Begrenzungsrahmenkandidaten basierend auf der konvexen Hülle gekennzeichnet, wobei das Definieren der Abgrenzung das Auswählen eines ersten rechteckigen Begrenzungsrahmenkandidaten aus den rechteckigen Begrenzungsrahmenkandidaten beinhaltet, und wobei der erste rechteckige Begrenzungsrahmenkandidat der rechteckigen Begrenzungsrahmenkandidaten ein minimales Volumen an Raum enthält, das sowohl (i) im jeweiligen rechteckigen Begrenzungsrahmenkanditaten enthalten als auch (ii) als nicht besetzt identifiziert ist.
-
Gemäß einer Ausführungsform beinhaltet die konvexe Hülle eine Vielzahl von Liniensegmenten, weist jeder rechteckige Begrenzungsrahmenkandidat vier Seiten auf und weist jeder rechteckige Begrenzungsrahmenkandidat eine Seite auf, die ein Liniensegment der konvexen Hülle überlappt, und weist eine minimale Länge und Breite auf, um alle ersten Punkte zu umgeben.
-
Gemäß einer Ausführungsform ist die Komponente mindestens eines von einem Lenksystem, einem Bremssystem und einem Antrieb des Fahrzeugs.
-
Gemäß einer Ausführungsform ist das Objekt das Fahrzeug und die Komponente ist eine Infrastrukturkomponente in der Nähe des Fahrzeugs.
-
Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das Folgendes aufweist: einen Computer, der dazu programmiert ist, Daten von einem Sensor zu empfangen, die eine Vielzahl von Punkten spezifizieren, wobei die Punkte eine Vielzahl von ersten Punkte beinhalten, die ein Objekt beschreiben; eine Abgrenzung zu definieren, welche die ersten Punkte umgibt, während ein Raumvolumen minimiert wird, das sowohl (i) in der Abgrenzung enthalten als auch (ii) als nicht besetzt identifiziert ist; sowie Mittel zum Betätigen einer Komponente in Bezug auf ein Fahrzeug basierend auf der Abgrenzung.