DE102020131323A1 - Kamera-zu-lidar-kalibration und -validierung - Google Patents

Kamera-zu-lidar-kalibration und -validierung Download PDF

Info

Publication number
DE102020131323A1
DE102020131323A1 DE102020131323.3A DE102020131323A DE102020131323A1 DE 102020131323 A1 DE102020131323 A1 DE 102020131323A1 DE 102020131323 A DE102020131323 A DE 102020131323A DE 102020131323 A1 DE102020131323 A1 DE 102020131323A1
Authority
DE
Germany
Prior art keywords
lidar
camera
points
calibration
validation
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
DE102020131323.3A
Other languages
English (en)
Inventor
Paul Aurel Diederichs
Maurilio Di Cicco
Jun Shern Chan
Andreas Jianhao Aumiller
Francisco Alejandro Suarez Ruiz
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 DE102020131323A1 publication Critical patent/DE102020131323A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • 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
    • 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
    • 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/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • 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/89Lidar systems specially adapted for specific applications for mapping or imaging
    • 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/497Means for monitoring or calibrating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2323Non-hierarchical techniques based on graph theory, e.g. minimum spanning trees [MST] or graph cuts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/7635Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks based on graphs, e.g. graph cuts or spectral clustering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/57Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Discrete Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Traffic Control Systems (AREA)

Abstract

Es ist eine automatische Kalibrations- und Validierungspipeline offenbart, um die Genauigkeit extrinsischer Parameter einer Kamera-zu-LiDAR-Koordinatentransformation zu schätzen und zu evaluieren. In einer Ausführungsform wird eine automatisierte und unüberwachte Kalibrationsprozedur eingesetzt, bei der die berechneten Rotations- und Translationsparameter („extrinsische Parameter“) der Kamera-zu-LiDAR-Koordinatentransformation automatisch geschätzt und validiert und Obergrenzen für die Genauigkeit der extrinsischen Parameter festgelegt werden. Die Kalibrationsprozedur kombiniert dreidimensionale (3D) Ebenen-, Vektor- und Punktekorrespondenzen, um die extrinsischen Parameter zu bestimmen, und die resultierende Koordinatentransformation wird durch Analysieren der Projektion einer gefilterten Punktwolke, die ein Validierungsziel im Bildraum beinhaltet, validiert. Ein einzelnes Kamerabild und ein einzelner LiDAR-Scan (ein „Einzelschuss“) werden verwendet, um die extrinsischen Parameter zu kalibrieren und zu validieren. Zusätzlich dazu, dass nur ein Einzelschuss benötigt wird, ist die gesamte Prozedur alleinig auf ein oder mehrere planare Kalibrationsziele und einfache geometrische Validierungsziele angewiesen.

Description

  • Die vorliegende Offenbarung beansprucht die Priorität der vorläufigen US-Patentanmeldung mit der Serien-Nr. 62/950,076 mit dem Titel „CAMERA-TO-LIDAR CALIBRATION AND VALIDATION", eingereicht am 18. Dezember 2019, deren gesamter Inhalt hiermit durch Bezugnahme aufgenommen werden.
  • TECHNISCHES GEBIET
  • Diese Beschreibung betrifft allgemein den Betrieb von Fahrzeugen und insbesondere Kamera-zu-LiDAR-Konfiguration und -Validierung.
  • HINTERGRUND
  • Viele robotischen Aufgaben sind auf Sensorfusion angewiesen, um die Defizite jedes einzelnen Sensors zu überwinden. Autonome Fahrzeuge funktionieren beispielsweise, indem komplementäre Sensorinformationen, die von den fahrzeuginternen Sensoren erhalten werden, fusioniert werden. Die durch die Kameras des Fahrzeugs wahrgenommenen dichten zweidimensionalen Farb-, Erscheinungsbild- und Texturinformationen werden mit den spärlichen dreidimensionalen Tiefen- und Strukturinformationen assoziiert, die durch die LiDAR-Systeme (LiDAR: Lichtdetektion und -entfernungsmessung) in der Wahrnehmungspipeline bereitgestellt werden. Dies ermöglicht autonomen Fahrzeugen, ein tieferes Verständnis der umliegenden Umgebung zu erzeugen.
  • Die Fusion multimodaler Sensordaten erfordert, dass alle Sensorinformationen mit Bezug auf ein gemeinsames Koordinatensystem ausgedrückt werden. Daher muss die exakte Stellung (Orientierung und Translation) jedes an einer robotischen Plattform montierten Sensors berechnet werden. Varianzen bei der Herstellung von Sensorhalterungen bedeuten typischerweise, dass eine exakte Sensorstellung nicht aus schematischen Plänen gefolgert werden kann. Zusätzlich muss eine Sensorsuite möglicherweise erneut kalibriert werden, da die extrinsischen Kalibrationswerte aufgrund durch Ruckbewegungen verursachter Verschiebungen der Stellungen der Sensoren mit der Zeit driften können.
  • Die Forschung in diesem Gebiet hat zahlreiche Lösungen hervorgebracht, die die extrinsischen Parameter präzise schätzen. Viele der vorgeschlagenen Lösungen erfordern jedoch weiterhin einen manuellen Eingriff, sind überwacht und skalieren daher nicht gut auf eine kommerzielle Plattform. Zusätzlich scheitern die vorgeschlagenen Lösungen daran, die Herausforderung des Evaluierens der Genauigkeit der geschätzten Starrkörpertransformation anzusprechen. Damit Sensorfusion effektiv ist, muss die extrinsische Kalibration äußerst genau sein. Kleine Abweichungen in den extrinsischen Parametern können nachteilige Auswirkungen auf die Fusion haben. Demzufolge müssen Grenzen für die Genauigkeit für sicherheitskritische Aufgaben, wie etwa autonomes Fahren, garantiert und beibehalten werden.
  • KURZFASSUNG
  • Es sind Techniken zur automatischen und unüberwachten Kalibration und Validierung extrinsischer Parameter einer Kamera-zu-LiDAR-Transformation unter Verwendung eines einzelnen Kamerabildes und LiDAR-Scans (nachfolgend auch als „Einzelschuss“ bezeichnet) bereitgestellt. In einer Ausführungsform schätzt und evaluiert eine automatische Kalibrations- und Validierungspipeline die Genauigkeit der Rotations- und Translationselemente („extrinsische Parameter“). Die Kalibrationsprozedur kombiniert dreidimensionale (3D) Ebenen-, Vektor- und Punktkorrespondenzen, um die extrinsischen Parameter einer Kamera-zu-LiDAR-Koordinatentransformation zu schätzen.
  • Es sind auch Techniken zum Validieren der Kalibration unter Verwendung einfacher Validierungsziele, deren Form Ähnlichkeiten zu einem Bilderrahmen aufweisen, bereitgestellt. Die Genauigkeit einer Kalibration wird qualitativ durch Projizieren der LiDAR-Punkte auf das Kamerabild und Beobachten gegenseitiger Merkmale von durch beide Sensoren aufgenommenen Validierungszielen im gesamten Sichtfeld der Kamera evaluiert. Eine Kalibration wird als akzeptabel klassifiziert, falls die einem spezifischen gemeinsamen Validierungsziel entsprechenden LiDAR-Punkte auf dem Validierungsziel im Kamerabild aufliegen.
  • In einer Ausführungsform umfasst ein Verfahren: Empfangen, von einem LiDAR(Lichtdetektion und -entfernungsmessung)-Sensor eines Fahrzeugs, einer ersten Punktwolke, die einen ersten Satz von LiDAR-Punkten beinhaltet, die von einem oder mehreren Kalibrationszielen zurückgesendet werden; Empfangen, von einem Kamerasensor des Fahrzeugs, eines ersten Kamerabildes, das das eine oder die mehreren Kalibrationsziele beinhaltet; Extrahieren, unter Verwendung eines oder mehrerer Prozessoren des Fahrzeugs, von Merkmalen des einen oder der mehreren Kalibrationsziele aus dem ersten Satz von LiDAR-Punkten und dem ersten Kamerabild; Assoziieren, unter Verwendung des einen oder der mehreren Prozessoren, der extrahierten Merkmale aus dem ersten Satz von LiDAR-Punkten und dem ersten Kamerabild, um übereinstimmende Merkmale zu bestimmen; Schätzen, unter Verwendung des einen oder der mehreren Prozessoren, extrinsischer Parameter einer Koordinatentransformation von LiDAR-Koordinaten zu Kamerakoordinaten oder von Kamerakoordinaten zu LiDAR-Koordinaten, zumindest teilweise basierend auf den übereinstimmenden Merkmalen; Empfangen, vom LiDAR-Sensor, einer zweiten Punktwolke, die einen zweiten Satz von LiDAR-Punkten beinhaltet, die von einem oder mehreren Validierungszielen zurückgesendet werden; Empfangen, vom Kamerasensor, eines zweiten Kamerabildes, das das eine oder die mehreren Validierungsziele beinhaltet; Verwenden der Koordinatentransformation, um den zweiten Satz von LiDAR-Punkten auf das eine oder die mehreren Validierungsziele im zweiten Kamerabild zu projizieren; Schätzen, unter Verwendung des einen oder der mehreren Prozessoren, einer oder mehrerer Obergrenzen für die Genauigkeit der geschätzten extrinsischen Parameter; Bestimmen, unter Verwendung des einen oder der mehreren Prozessoren, ob eine spezifizierte Anzahl oder ein spezifizierter Anteil von LiDAR-Punkten in dem zweiten Satz von LiDAR-Punkten auf oder innerhalb des einen oder der mehreren Validierungsziele liegt, die in dem zweiten Kamerabild enthalten sind, gemäß der einen oder den mehreren berechneten Obergrenzen für die Genauigkeit; und gemäß der Bestimmung, dass die spezifizierte Anzahl oder der spezifizierte Anteil von LiDAR-Punkten aus dem zweiten Satz von LiDAR-Punkten auf oder innerhalb des einen oder der mehreren Validierungsziele in dem zweiten Kamerabild innerhalb der Obergrenze für die Genauigkeit liegen, Erachten der geschätzten extrinsischen Parameter der Koordinatentransformation als zulässig.
  • In einer Ausführungsform beinhalten die extrahierten Merkmale Vektorgrößen, die eine Ebene des einen oder der mehreren Kalibrationsziele definieren, und die extrinsischen Parameter werden durch Abgleichen der Vektorgrößen in LiDAR-Koordinaten mit ihren entsprechenden Vektorgrößen in Kamerakoordinaten geschätzt, und wobei die Vektorgrößen übereinstimmen, wenn die Vektorgrößen in definierten Beschränkungen für die Rotation und Translation der Vektorgrößen korrespondieren.
  • In einer Ausführungsform berücksichtigt das Schätzen einer oder mehrerer Obergrenzen für die Genauigkeit die mit manuell gemessenen Translationsparametern assoziierte Unsicherheit und die Abmessungen und Orte des einen oder der mehreren Validierungsziele.
  • In einer Ausführungsform werden zwei Validierungsziele verwendet, und ein erstes Validierungsziel befindet sich bei einer ersten Entfernung von der Kamera und ein zweites Validierungsziel befindet sich bei einer zweiten Entfernung von der Kamera, die weiter entfernt ist als die erste Entfernung, und das erste Validierungsziel wird zum Schätzen einer ersten Obergrenze für die Genauigkeit für geschätzte Translationsparameter, die in den geschätzten extrinsischen Parametern enthalten sind, verwendet und das zweite Validierungsziel wird zum Schätzen einer zweiten Obergrenze für die geschätzten Rotationsparameter, die in den geschätzten extrinsischen Parametern enthalten sind, verwendet.
  • In einer Ausführungsform wird eine Obergrenze für einen geschätzten Rollwinkel der geschätzten extrinsischen Parameter aus einer Länge und Dicke eines größeren der beiden Validierungsziele abgeleitet.
  • In einer Ausführungsform umfasst das Extrahieren, unter Verwendung eines oder mehrerer Prozessoren des Fahrzeugs, von Merkmalen des einen oder der mehreren Kalibrationsziele aus dem ersten Satz von LiDAR-Punkten ferner: Clustern des ersten Satzes von LiDAR-Punkten in räumliche Cluster von LiDAR-Punkten; für jedes Cluster: Filtern der LiDAR-Punkte in dem Cluster, um Ausreißer-LiDAR-Punkte zu detektieren; Verfeinern des Clusters durch Entfernen jeglicher detektierter Ausreißer-LiDAR-Punkte aus dem Cluster; Filtern des Clusters mittels seiner konvexen Hülle, wobei die konvexe Hülle ein Rechteck mit bekannten Abmessungen bildet; Detektieren von Randpunkten im Cluster; Projizieren der Randpunkte auf eine Ebene des Clusters; Anpassen eines zweidimensionalen (2D) Rechtecks an die Randpunkte; Bestimmen, ob das angepasste 2D-Rechteck ein Kalibrationsziel definiert, durch Formulieren und Lösen eines Beschränkungsoptimierungsproblems, das A-Priori-Verteilungen an der geometrischen Form und den Abmessungen des 2D-Rechtecks einbezieht; und gemäß dem angepassten 2D-Rechteck, das ein Kalibrationsziel definiert, Ableiten eines Ebenenvektors, von Begrenzungsvektoren und eines Zentroids des 2D-Rechtecks als die Merkmale des Kalibrationsziels.
  • In einer Ausführungsform beinhaltet das Detektieren von Randpunkten im Cluster Filtern der Punktwolke auf Punkte, die eine Tiefenkontinuität größer als ein Schwellenwert aufweisen, Identifizieren gefilterter Punkte auf einem Strahl, die Tiefenwerte aufweisen, die niedriger sind als mindestens einer von zwei nächsten Nachbar-LiDAR-Punkten auf demselben Strahl, Berechnen einer Überschneidung zwischen den detektierten Randpunkten und Verknüpfen jedes Randpunkts mit dem den Randpunkt enthaltenden Cluster.
  • In einer Ausführungsform umfasst das Extrahieren, unter Verwendung eines oder mehrerer Prozessoren des Fahrzeugs, von Merkmalen des einen oder der mehreren Kalibrationsziele aus dem ersten Bild ferner: Detektieren, unter Verwendung eines Computervisionsprozesses, des einen oder der mehreren Kalibrationsziele in dem ersten Bild; Extrahieren von drei Kalibrationszielvektoren aus den detektierten Kalibrationszielen durch Lösen eines Perspective-n-Point(PnP)-Problems für jedes Kalibrationsziel, wobei die Lösung des PnP-Problems zwischen globalen Koordinaten und Pixelkoordinaten jeder Ecke jedes Kalibrationsziels eine Transformation von Kamerakoordinaten zu Kalibrationszielkoordinaten ist, die die Ecke vom Kalibrationszielkoordinatensystem zu dem Koordinatensystem der Kamera transformiert, und wobei die Spaltenvektoren der Transformation den drei Kalibrationszielvektoren bezüglich des Kamerakoordinatensystems entsprechen, wobei jedes Zentroid eines Kalibrationsziels abgeleitet wird, indem alle Eckpunkte jedes Kalibrationsziels bezüglich des Kamerakoordinatensystems ausgedrückt werden, und wobei das Zentroid einer Durchschnittsstellung aller Ecken im Kamerakoordinatensystem entspricht.
  • In einer Ausführungsform wird die Punktwolke auf Punkte gefiltert, die eine Tiefenkontinuität größer als ein Schwellenwert aufweisen.
  • In einer Ausführungsform sind das eine oder die mehreren Kalibrationsziele planare Schachbretter.
  • In einer Ausführungsform umfasst ein System oder eine Einrichtung: einen oder mehrere Prozessoren, und Speicher, der Anweisungen speichert, die bei Ausführung durch den einen oder die mehreren Prozessoren bewirken, dass der eine oder die mehreren Prozessoren ein beliebiges der oben beschriebenen Verfahren durchführen.
  • In einer Ausführungsform speichert ein nichtflüchtiges computerlesbares Medium Anweisungen, die bei Ausführung durch den einen oder die mehreren Prozessoren bewirken, dass der eine oder die mehreren Prozessoren ein beliebiges der oben beschriebenen Verfahren durchführen.
  • Eine oder mehrere der offenbarten Ausführungsformen liefern einen oder mehrere der folgenden Vorteile. Ein Einzelschuss wird verwendet, um die Genauigkeit einer Kamera-zu-LiDAR-Koordinatentransformation innerhalb einer Obergrenze für die Genauigkeit unter Berücksichtigung eines Translations- und Rotationsfehlers zu kalibrieren und zu validieren. Zusätzlich dazu, dass nur ein Einzelschuss benötigt wird, ist die gesamte Prozedur alleinig auf ein oder mehrere planare Kalibrationsziele (z. B. Schachbretter) und ein oder mehrere einfache geometrische Validierungsziele (z. B. rechteckige Zielrahmen) angewiesen. Die offenbarten Ausführungsformen sind auf kommerzielle Anwendungen wie etwa autonome Fahrzeuge skalierbar, bei denen hohe Kalibrationsstandards gewährleistet und aufrechterhalten werden müssen.
  • Diese und andere Aspekte, Merkmale und Implementierungen können als Verfahren, Einrichtungen, Systeme, Komponenten, Programmprodukte, Mittel oder Schritte zum Durchführen einer Funktion, oder auf andere Weisen ausgedrückt werden.
  • Diese und andere Aspekte, Merkmale und Implementierungen werden aus den folgenden Beschreibungen, einschließlich den Ansprüchen, ersichtlich werden.
  • Figurenliste
    • 1 zeigt ein Beispiel eines autonomen Fahrzeugs (AV) mit autonomer Fähigkeit gemäß einer oder mehreren Ausführungsformen.
    • 2 veranschaulicht eine beispielhafte „Cloud“-Rechenumgebung gemäß einer oder mehreren Ausführungsformen.
    • 3 veranschaulicht ein Computersystem gemäß einer oder mehreren Ausführungsformen.
    • 4 zeigt eine beispielhafte Architektur für ein AV gemäß einer oder mehreren Ausführungsformen.
    • 5 zeigt ein Beispiel für Eingaben und Ausgaben, die durch ein Wahrnehmungsmodul verwendet werden können, gemäß einer oder mehreren Ausführungsformen.
    • 6 zeigt ein Beispiel für ein LiDAR-System gemäß einer oder mehreren Ausführungsformen.
    • 7 zeigt das LiDAR-System im Betrieb, gemäß einer oder mehreren Ausführungsformen.
    • 8 zeigt den Betrieb des LiDAR-Systems mit zusätzlichen Einzelheiten gemäß einer oder mehreren Ausführungsformen.
    • 9 zeigt ein Blockdiagramm der Beziehungen zwischen Eingaben und Ausgaben eines Planungsmoduls gemäß einer oder mehreren Ausführungsformen.
    • 10 zeigt einen bei der Pfadplanung verwendeten gerichteten Graphen, gemäß einer oder mehreren Ausführungsformen.
    • 11 zeigt ein Blockdiagramm der Eingaben und Ausgaben eines Steuermoduls gemäß einer oder mehreren Ausführungsformen.
    • 12 zeigt ein Blockdiagramm der Eingaben, Ausgaben und Komponenten einer Steuerung gemäß einer oder mehreren Ausführungsformen.
    • 13A und 13B veranschaulichen ein Offline-Sensorkalibrationssystem gemäß einer oder mehreren Ausführungsformen.
    • 14 veranschaulicht die Verwendung eines Schachbrettziels, um eine LiDAR-zu-Kamera-Transformation abzuleiten, gemäß einer oder mehreren Ausführungsformen.
    • 15 ist ein Blockdiagramm eines extrinsischen Kalibrations- und Validierungssystems gemäß einer oder mehreren Ausführungsformen.
    • 16 veranschaulicht, wie Informationen aus der i-ten Schachbrettstellung in einer LiDAR-Punktwolke und einem Kamerabild extrahiert werden, um den i-ten Einheitsnormalenvektor des Schachbretts, den i-ten Einheitsbegrenzungsvektor und das i-te Zentroid zu liefern, gemäß einer oder mehreren Ausführungsformen.
    • 17 veranschaulicht eine LiDAR-Merkmalsextraktion, bei der Randpunkte eines Clusters auf die Ebene des Clusters projiziert und auf ein zweidimensionales (2D) Rechteck angepasst werden, gemäß einer oder mehreren Ausführungsformen.
    • 18A veranschaulicht identifizierte Cluster, die aus einer LiDAR-Merkmalssegmentierung/-extraktion resultieren, gemäß einer oder mehreren Ausführungsformen.
    • 18B veranschaulicht gefilterte Cluster, die aus einer LiDAR-Merkmalssegmentierung/-extraktion resultieren, gemäß einer oder mehreren Ausführungsformen.
    • 18C veranschaulicht detektierte Randpunkte, die aus einer LiDAR-Merkmalssegmentierung/-extraktion resultieren, gemäß einer oder mehreren Ausführungsformen.
    • 18D veranschaulicht extrahierte Schachbrettmerkmale, die aus einer LiDAR-Merkmalssegmentierung/-extraktion resultieren, gemäß einer oder mehreren Ausführungsformen.
    • 19A veranschaulicht bei einer Validierungsprozedur verwendete Rahmenabmessungen, gemäß einer oder mehreren Ausführungsformen.
    • 19B veranschaulicht eine bei einer Validierungsprozedur verwendete Rahmenplatzierung, gemäß einer oder mehreren Ausführungsformen.
    • 20A veranschaulicht LiDAR-Punkte, die dem Rahmen von 19 entsprechen, gemäß einer oder mehreren Ausführungsformen.
    • 20B veranschaulicht das wie durch die Kamera beobachtete Bild des Rahmens, gemäß einer oder mehreren Ausführungsformen.
    • 20C veranschaulicht eine Projektion der LiDAR-Punkte auf das Kamerabild mit akzeptablen extrinsischen Kalibrationsparametern, gemäß einer oder mehreren Ausführungsformen.
    • 21A und 21B veranschaulichen eine durch den Rahmen gegebene anfängliche Fehlergrenze, erhöht um die Gierung, die erforderlich ist, um alle der LiDAR-Rahmenpunkte auf den Rahmen selbst zu verschieben, gemäß einer oder mehreren Ausführungsformen.
    • 22A und 22B sind ein Flussdiagramm eines Prozesses zum Kalibrieren und Validieren extrinsischer Parameter, die bei einer Koordinatentransformation von Kamera zu LiDAR verwendet werden, gemäß einer oder mehreren Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung sind für Erläuterungszwecke zahlreiche spezifische Einzelheiten dargelegt, um ein vollständiges Verständnis der vorliegenden Erfindung bereitzustellen. Es wird jedoch ersichtlich werden, dass die vorliegende Erfindung ohne diese spezifischen Einzelheiten umgesetzt werden kann. In anderen Fällen sind wohlbekannte Strukturen und Vorrichtungen in Blockdiagrammform gezeigt, um eine unnötige Verundeutlichung der vorliegenden Erfindung zu vermeiden.
  • In den Zeichnungen sind zur Vereinfachung der Beschreibung spezifische Anordnungen oder Reihenfolgen schematischer Elemente, wie etwa jener, die Vorrichtungen, Module, Anweisungsblöcke und Datenelemente repräsentieren, gezeigt. Fachleute sollten jedoch verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht andeuten soll, dass eine spezielle Verarbeitungsreihenfolge oder -sequenz oder eine Trennung von Prozessen notwendig ist. Ferner soll der Einschluss eines schematischen Elements in einer Zeichnung nicht andeuten, dass ein solches Element in allen Ausführungsformen notwendig ist oder die durch ein solches Element repräsentierten Merkmale in manchen Ausführungsformen möglicherweise nicht in anderen Elementen enthalten sind oder möglicherweise nicht mit diesen kombiniert werden.
  • In den Zeichnungen, in denen verbindende Elemente, wie etwa durchgezogene oder gestrichelte Linien oder Pfeile, zum Veranschaulichen einer Verbindung, einer Beziehung oder einer Assoziation zwischen oder unter zwei oder mehr anderen schematischen Elementen verwendet werden, soll das Nichtvorhandensein irgendwelcher solcher verbindender Elemente ferner nicht andeuten, dass keine Verbindung, Beziehung oder Assoziation vorhanden sein kann. Mit anderen Worten sind manche Verbindungen, Beziehungen oder Assoziationen zwischen Elementen nicht in den Zeichnungen gezeigt, sodass die Offenbarung nicht verundeutlicht wird. Zusätzlich wird zur Vereinfachung der Veranschaulichung ein einzelnes verbindendes Element verwendet, um mehrere Verbindungen, Beziehungen oder Assoziationen zwischen Elementen zu repräsentieren. Wenn ein verbindendes Element beispielsweise eine Kommunikation von Signalen, Daten oder Anweisungen repräsentiert, sollten Fachleute verstehen, dass ein solches Element einen oder mehrere Signalpfade (z. B. einen Bus), wie möglicherweise benötigt, repräsentiert, um die Kommunikation zu bewirken.
  • Nun wird ein ausführlicher Bezug auf Ausführungsformen genommen, deren Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der folgenden ausführlichen Beschreibung sind zahlreiche spezifische Einzelheiten dargelegt, um ein vollständiges Verständnis der verschiedenen beschriebenen Ausführungsformen bereitzustellen. Einem Durchschnittsfachmann wird jedoch ersichtlich werden, dass die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten umgesetzt werden können. In anderen Fällen wurden wohlbekannte Verfahren, Prozeduren, Komponenten, Schaltungen und Netzwerke nicht ausführlich beschrieben, sodass Aspekte der Ausführungsformen nicht unnötig verundeutlicht werden.
  • Nachfolgend sind mehrere Merkmale beschrieben, die jeweils unabhängig voneinander oder mit einer beliebigen Kombination anderer Merkmale verwendet werden können. Ein beliebiges individuelles Merkmal spricht jedoch möglicherweise keines der oben besprochenen Probleme an oder könnte nur eines der oben besprochenen Probleme ansprechen. Manche der oben besprochenen Probleme könnten möglicherweise nicht vollständig durch irgendwelche der hierin beschriebenen Merkmale angesprochen werden. Obwohl Überschriften bereitgestellt sind, können Informationen bezüglich einer speziellen Überschrift, die aber nicht in dem Abschnitt mit dieser Überschrift aufgefunden werden, auch andernorts in dieser Beschreibung aufgefunden werden. Ausführungsformen sind hierin gemäß der folgenden Gliederung beschrieben:
    1. 1. Allgemeiner Überblick
    2. 2. Systemüberblick
    3. 3. Architektur eines autonomen Fahrzeugs
    4. 4. Eingaben in das autonome Fahrzeug
    5. 5. Planung des autonomen Fahrzeugs
    6. 6. Steuerung des autonomen Fahrzeugs
    7. 7. Offline Kamera-zu-Lidar-Kalibration
    8. 8. Offline Kamera-zu-Lidar-Validierung
  • Allgemeiner Überblick
  • Die offenbarten Ausführungsformen für eine Kamera-zu-LiDAR-Kalibration sind auf mindestens ein Kalibrationsziel (z. B. ein Schachbrett) angewiesen, das sowohl für die Kamera als auch das LiDAR sichtbar ist. Die Eingaben für die Kalibrationsprozedur beinhalten einen Einzelschuss des Kalibrationsziels (der Kalibrationsziele) von der Kamera und dem LiDAR, die intrinsischen Parameter der Kamera, die Kameramatrix und Verzerrungskoeffizienten, die Anzahl sichtbarer Kalibrationsziele, die Abmessungen der Kalibrationsziele und den Abstand zwischen den Ecken der Kalibrationsziele. Die offenbarten Ausführungsformen detektieren automatisch die durch jedes Kalibrationsziel aufgespannte Ebene, die Richtung der Begrenzungsvektoren des Kalibrationsziels und das Zentroid des Kalibrationsziels in sowohl dem Kamerabild als auch der LiDAR-Punktwolke. Die erforderlichen Informationen für die Kalibration werden für jedes Kalibrationsziel im Kamerabild durch Lösen eines Perspective-n-Point(PnP)-Problems erhalten. In der LiDAR-Punktwolke wird ein Rechteck an jedes detektierte Kalibrationszielcluster angepasst, und die extrinsischen Parameter der Kamera-zu-LiDAR-Transformation werden durch Abgleichen identifizierter Merkmale geschätzt.
  • Die offenbarten Ausführungsformen zum Validieren der Kalibration verwenden ein einfaches Validierungsziel, dessen Form Ähnlichkeiten zu einem Bilderrahmen aufweist. Die Genauigkeit einer Kalibration wird qualitativ durch Projizieren der das Validierungsziel enthaltenden LiDAR-Punkte auf das Kamerabild unter Verwendung der Kamera-zu-LiDAR-Koordinatentransformation und Beobachten gegenseitiger Merkmale der durch beide Sensoren aufgenommenen Validierungsziele im gesamten Sichtfeld der Kamera evaluiert. Eine Kalibration wird als akzeptabel klassifiziert, falls die einem spezifischen gemeinsamen Validierungsziel entsprechenden LiDAR-Punkte auf demselben Validierungsziel im Kamerabild aufliegen.
  • Systemüberblick
  • 1 zeigt ein Beispiel für ein autonomes Fahrzeug 100 mit autonomer Fähigkeit.
  • Wie hierin verwendet, bezieht sich der Begriff „autonome Fähigkeit“ auf eine Funktion, ein Merkmal oder eine Einrichtung, die/das ermöglicht, dass ein Fahrzeug teilweise oder vollständig ohne einen menschlichen Eingriff in Echtzeit betrieben wird, einschließlich unter anderem vollautonome Fahrzeuge, hochautonome Fahrzeuge und bedingt autonome Fahrzeuge.
  • Wie hierin verwendet, ist ein autonomes Fahrzeug (AV) ein Fahrzeug, das autonome Fähigkeit besitzt.
  • Wie hierin verwendet, beinhaltet „Fahrzeug“ Mittel für den Transport von Gütern oder Menschen. Beispielsweise Autos, Busse, Züge, Flugzeuge, Drohnen, Lastkraftwagen, Boote, Schiffe, Unterwasserfahrzeuge, Luftfahrzeuge usw. Ein fahrerloses Auto ist ein Beispiel eines Fahrzeugs.
  • Wie hierin verwendet, bezieht sich „Trajektorie“ auf einen Pfad oder eine Route zum Betreiben eines AV von einem ersten raumzeitlichen Ort zu einem zweiten raumzeitlichen Ort. In einer Ausführungsform wird der erste raumzeitliche Ort als Anfangs- oder Startort bezeichnet und wird der zweite raumzeitliche Ort als Bestimmungsort, endgültiger Ort, Ziel, Zielposition oder Zielort bezeichnet. In manchen Beispielen besteht die Trajektorie aus einem oder mehreren Segmenten (z. B. Straßenabschnitten), und jedes Segment besteht aus einem oder mehreren Blöcken (z. B. Teilen einer Fahrbahn oder Kreuzung). In einer Ausführungsform entsprechen die raumzeitlichen Orte Orten der realen Welt. Beispielsweise sind die raumzeitlichen Orte Abhol- oder Abladeorte zum Abholen oder Abladen von Personen oder Gütern.
  • Wie hierin verwendet, beinhaltet „Sensor(en)“ eine oder mehrere Hardwarekomponenten, die Informationen über die Umgebung im Umfeld des Sensors detektieren. Manche der Hardwarekomponenten können Erfassungskomponenten (z. B. Bildsensoren, biometrische Sensoren), Übertragungs- und/oder Empfangskomponenten (z. B. Laser- oder Hochfrequenzwellen-Sender und -Empfänger), elektronische Komponenten wie etwa Analog-Digital-Wandler, eine Datenspeicherungsvorrichtung (wie etwa einen RAM und/oder eine nichtflüchtige Speicherung), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie etwa eine ASIC (anwendungsspezifische integrierte Schaltung), einen Mikroprozessor und/oder einen Mikrocontroller beinhalten.
  • Wie hierin verwendet, ist eine „Szenenbeschreibung“ eine Datenstruktur (z. B. Liste) oder ein Datenstrom, die/der ein oder mehrere klassifizierte oder gelabelte Objekte beinhaltet, die durch einen oder mehrere Sensoren am AV-Fahrzeug detektiert oder durch eine Quelle extern zu dem AV bereitgestellt werden.
  • Wie hierin verwendet, ist eine „Straße“ ein physischer Bereich, der von einem Fahrzeug durchfahren werden kann, und kann einer benannten Verkehrsstraße entsprechen (z. B. Stadtstraße, Autobahn usw.) oder kann einer unbenannten Verkehrsstraße entsprechen (z. B. einer Einfahrt in einem Haus oder Bürogebäude, einem Abschnitt eines Parkplatzes, einem Abschnitt eines leeren Grundstücks, einem Feldweg in einem ländlichen Gebiet usw.). Da manche Fahrzeuge (z. B. Allrad-Pickup-Trucks, Geländewagen usw.) in der Lage sind, eine Vielfalt physischer Bereiche zu durchfahren, die nicht spezifisch für den Fahrzeugverkehr konzipiert sind, kann eine „Straße“ ein physischer Bereich sein, der nicht formell durch irgendeine Gemeinde oder andere Regierungsstelle oder Behörde als eine Verkehrsstraße definiert ist.
  • Wie hierin verwendet, ist eine „Fahrbahn“ ein Teil einer Straße, auf der ein Fahrzeug fahren kann, und kann dem Großteil oder der Gesamtheit des Raums zwischen Fahrbahnmarkierungen entsprechen, oder kann nur einem Teil (z. B. weniger als 50 %) des Raums zwischen Fahrbahnmarkierungen entsprechen. Beispielsweise könnte eine Straße mit Fahrbahnmarkierungen zwei oder mehr Fahrzeuge zwischen den Markierungen unterbringen, sodass ein Fahrzeug an dem anderen vorbeifahren kann, ohne die Fahrbahnmarkierungen zu überfahren, und könnte somit als eine Fahrbahn aufweisend, die schmaler als der Raum zwischen den Fahrbahnmarkierungen ist, oder als zwei Fahrbahnen zwischen den Fahrbahnmarkierungen aufweisend interpretiert werden. Eine Fahrbahn könnte auch bei Nichtvorhandensein von Fahrbahnmarkierungen interpretiert werden. Beispielsweise kann eine Fahrbahn basierend auf physischen Merkmalen einer Umgebung definiert werden, z. B. Gestein und Bäume entlang einer Verkehrsstraße in einem ländlichen Gebiet.
  • „Ein oder mehrere“ beinhaltet eine Funktion, die durch ein Element durchgeführt wird, eine Funktion, die durch mehr als ein Element durchgeführt wird, z. B. in verteilter Weise, mehrere Funktionen, die durch ein Element durchgeführt werden, mehrere Funktionen, die durch mehrere Elemente durchgeführt werden, oder eine beliebige Kombination des Obigen.
  • Es versteht sich außerdem, dass obwohl hierin in manchen Fällen die Begriffe erster, zweiter usw. zum Beschreiben verschiedener Elemente verwendet werden, diese Elemente nicht durch diese Begriffe eingeschränkt werden sollten. Diese Begriffe werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet werden, und gleichermaßen könnte ein zweiter Kontakt als ein erster Kontakt bezeichnet werden, ohne vom Schutzumfang der verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beide Kontakte, aber sie sind nicht derselbe Kontakt.
  • Die in der Beschreibung der verschiedenen hierin beschriebenen Ausführungsformen verwendete Terminologie soll nur spezielle Ausführungsformen beschreiben und nicht beschränkend sein. Wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und in den angehängten Ansprüchen verwendet, sollen die Singularformen „ein“, „eine“ und „der/die/das“ auch die Pluralformen einschließen, insofern der Zusammenhang deutlich nicht etwas anderes angibt. Es versteht sich auch, dass sich der Begriff „und/oder“, wie hierin verwendet, auf beliebige und alle möglichen Kombinationen eines oder mehrerer der assoziierten aufgelisteten Elemente bezieht und diese einschließt. Es versteht sich ferner, dass die Begriffe „beinhaltet“, „einschließlich“, „beinhaltet“ und/oder „einschließlich“, wenn in dieser Beschreibung verwendet, das Vorhandensein genannter Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifizieren, aber nicht das Vorhandensein oder den Zusatz einer/eines oder mehrerer anderer Elemente, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließen.
  • Wie hierin verwendet, soll der Begriff „falls“ optional so ausgelegt werden, dass er in Abhängigkeit vom Zusammenhang „wenn“ oder „bei“ oder „als Reaktion auf das Bestimmen“ oder „als Reaktion auf das Detektieren“ bedeutet. Gleichermaßen soll der Ausdruck „falls bestimmt wird“ oder „falls [eine genannte Bedingung oder ein genanntes Ereignis] detektiert wird“ optional so ausgelegt werden, dass er in Abhängigkeit vom Zusammenhang „bei der Bestimmung“ oder „als Reaktion auf das Bestimmen“ oder „bei der Detektion [der genannten Bedingung oder des genannten Ereignisses]“ oder „als Reaktion auf das Detektieren [der genannten Bedingung oder des genannten Ereignisses]“ bedeutet.
  • Wie hierin verwendet, bezieht sich ein AV-System auf das AV zusammen mit dem Array von Hardware, Software, gespeicherten Daten und in Echtzeit erzeugten Daten, die den Betrieb des AV unterstützen. In einer Ausführungsform ist das AV-System in dem AV integriert. In einer Ausführungsform ist das AV-System über mehrere Orte verteilt. Beispielsweise ist ein Teil der Software des AV-Systems in einer Cloud-Rechenumgebung implementiert, ähnlich der unten mit Bezug auf 3 beschriebenen Cloud-Rechenumgebung 300.
  • Im Allgemeinen beschreibt dieses Dokument Technologien, die bei beliebigen Fahrzeugen anwendbar sind, die eine oder mehrere autonome Fähigkeiten aufweisen, einschließlich vollautonomen Fahrzeugen, hochautonomen Fahrzeugen und bedingt autonomen Fahrzeugen, wie etwa sogenannten Stufe-5-, Stufe-4- bzw. Stufe-3-Fahrzeugen (siehe Standard von SAE International J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems, der durch Bezugnahme in seiner Gesamtheit aufgenommen wird, für weitere Einzelheiten über die Klassifikation von Autonomiestufen in Fahrzeugen). Die in diesem Dokument beschriebenen Technologien sind auch bei teilautonomen Fahrzeugen und fahrergestützten Fahrzeugen anwendbar, wie etwa sogenannten Stufe-2- und Stufe-1-Fahrzeugen (siehe Standard von SAE International J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems). In einer Ausführungsform können ein oder mehrere der Fahrzeugsysteme der Stufe 1, 2, 3, 4 und 5 gewisse Fahrzeugoperationen (z.B. Lenkung, Bremsung und Kartenverwendung) unter gewissen Betriebsbedingungen basierend auf der Verarbeitung von Sensoreingaben automatisieren. Die in diesem Dokument beschriebenen Technologien können für Fahrzeuge in beliebigen Stufen vorteilhaft sein, angefangen von vollautonomen Fahrzeug bis zu menschlich betriebenen Fahrzeugen.
  • Mit Bezug auf 1 betreibt ein AV-System 120 das AV 100 entlang einer Trajektorie 198 durch eine Umgebung 190 zu einem Bestimmungsort 199 (manchmal als ein endgültiger Ort bezeichnet), während Objekte (z. B. natürliche Behinderungen 191, Fahrzeuge 193, Fußgänger 192, Fahrräder und andere Hindernisse) vermieden und Straßenregeln (z. B. Betriebsregeln oder Fahrpräferenzen) eingehalten werden.
  • In einer Ausführungsform beinhaltet das AV-System 120 Vorrichtungen 101, die so instrumentiert sind, dass sie Betriebsbefehle von den Computerprozessoren 146 empfangen und auf diese reagieren. In einer Ausführungsform ähneln die Rechenprozessoren 146 dem unten mit Bezug auf 3 beschriebenen Prozessor 304. Beispiele für die Vorrichtungen 101 beinhalten eine Lenkungssteuerung 102, Bremsen 103, Gänge, Gaspedal oder andere Beschleunigungssteuermechanismen, Scheibenwischer, Seitentürverriegelungen, Fenstersteuerungen und Blinker.
  • In einer Ausführungsform beinhaltet das AV-System 120 Sensoren 121 zum Messen oder Inferieren von Eigenschaften des Status oder Zustands des AV 100, wie etwa die Position des AV, Lineargeschwindigkeit und -beschleunigung, Winkelgeschwindigkeit und -beschleunigung und Kurs (z. B. eine Orientierung des führenden Endes des AV 100). Beispiele für die Sensoren 121 sind GNSS, inertiale Messeinheiten (IMU), die sowohl Fahrzeuglinearbeschleunigungen als auch Winkelraten messen, Radgeschwindigkeitssensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren und Lenkwinkel- und Winkelratensensoren.
  • In einer Ausführungsform beinhalten die Sensoren 121 auch Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AV. Beispielsweise Monokular- oder Stereo-Videokameras 122 im sichtbaren Licht, Infrarotspektrum oder thermischen Spektrum (oder beiden), LiDAR 123, RADAR, Ultraschallsensoren, Laufzeit(ToF)-Tiefensensoren, Geschwindigkeitssensoren, Temperatursensoren, Luftfeuchtigkeitssensoren und Niederschlagssensoren.
  • In einer Ausführungsform beinhaltet das AV-System 120 eine Datenspeicherungseinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen, die mit den Computerprozessoren 146 assoziiert sind, oder von Daten, die durch die Sensoren 121 gesammelt werden. In einer Ausführungsform ähnelt die Datenspeicherungseinheit 142 dem ROM 308 oder der Speicherungsvorrichtung 310, die nachstehend in Bezug auf 3 beschrieben sind. Bei einer Ausführungsform ähnelt der Speicher 144 dem unten beschriebenen Hauptspeicher 306. In einer Ausführungsform speichern die Datenspeicherungseinheit 142 und der Speicher 144 historische, Echtzeit- und/oder prädiktive Informationen über die Umgebung 190. In einer Ausführungsform beinhalten die gespeicherten Informationen Karten, Fahrleistung, Verkehrsüberlastungsaktualisierungen oder Wetterbedingungen. In einer Ausführungsform werden Daten bezüglich der Umgebung 190 von einer entfernten Datenbank 134 über einen Kommunikationskanal zu dem AV 100 übertragen.
  • In einer Ausführungsform beinhaltet das AV-System 120 Kommunikationsvorrichtungen 140 zum Kommunizieren von gemessenen oder inferierten Eigenschaften der Status oder Zustände anderer Fahrzeuge, wie etwa Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen und Linear- und Winkelkurse, zu dem AV 100. Diese Vorrichtungen beinhalten Fahrzeug-zu-Fahrzeug- (V2V) und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikationsvorrichtungen und Vorrichtungen für Drahtloskommunikationen über Punkt-zu-Punkt oder Ad-Hoc-Netzwerke oder beide. In einer Ausführungsform kommunizieren die Kommunikationsvorrichtungen 140 über das elektromagnetische Spektrum (einschließlich Funkkommunikationen und optischer Kommunikationen) oder andere Medien (z. B. Luft und akustische Medien). Eine Kombination von Fahrzeug-zu-Fahrzeug- (V2V) und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikation (und in manchen Ausführungsformen einer oder mehrerer anderer Kommunikationsarten) wird manchmal als eine Fahrzeug-zu-Allem(V2X)-Kommunikation bezeichnet. Eine V2X-Kommunikation entspricht typischerweise einem oder mehreren Kommunikationsstandards zur Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
  • In einer Ausführungsform beinhalten die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen. Beispielsweise drahtgebundene, drahtlose, WiMAX-, WiFi-, Bluetooth-, Satelliten-, zellulare, optische, Nahfeld-, Infrarot- oder Funk-Schnittstellen. Die Kommunikationsschnittstellen übertragen Daten von einer entfernten Datenbank 134 zu dem AV-System 120. In einer Ausführungsform ist die entfernte Datenbank 134 in einer Cloud-Rechenumgebung 200 eingebettet, wie in 2 beschrieben. Die Kommunikationsschnittstellen 140 übertragen von den Sensoren 121 gesammelte Daten oder andere Daten bezüglich des Betriebs des AV 100 zu der entfernten Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Informationen, die sich auf Teleoperationen beziehen, zu dem AV 100. In manchen Ausführungsformen kommuniziert das AV 100 mit anderen Fern(z. B. „Cloud“)-Servern 136.
  • In einer Ausführungsform speichert und überträgt die entfernte Datenbank 134 auch digitale Daten (z. B. Speichern von Daten wie etwa Landstraßen- und Stadtstraßenorten). Solche Daten werden auf dem Speicher 144 im AV 100 gespeichert oder von der entfernten Datenbank 134 über einen Kommunikationskanal zu dem AV 100 übertragen.
  • In einer Ausführungsform speichert und überträgt die entfernte Datenbank 134 historische Informationen über Fahreigenschaften (z. B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten entlang der Trajektorie 198 führen. In einer Implementierung können solche Daten auf dem Speicher 144 im AV 100 gespeichert oder von der entfernten Datenbank 134 über einen Kommunikationskanal zu dem AV 100 übertragen werden.
  • Die sich am AV 100 befindlichen Rechenvorrichtungen 146 erzeugen algorithmisch Steuerhandlungen basierend auf sowohl Echtzeit-Sensordaten als auch vorherigen Informationen, was dem AV-System 120 ermöglicht, seine autonomen Fahrfähigkeiten auszuführen.
  • In einer Ausführungsform beinhaltet das AV-System 120 mit den Rechenvorrichtungen 146 gekoppelte Computerperipheriegeräte 132 zum Bereitstellen von Informationen und Warnungen an einen Benutzer (z. B. einen Insassen oder einen Fernbenutzer) des AV 100 und Empfangen einer Eingabe von diesem. In einer Ausführungsform ähneln die Peripheriegeräte 132 der Anzeige 312, der Eingabevorrichtung 314 und der Cursor-Steuerung 316, die unten mit Bezug auf 3 besprochen sind. Die Kopplung ist drahtlos oder drahtgebunden. Zwei oder mehr beliebige der Schnittstellenvorrichtungen können in eine einzelne Vorrichtung integriert sein.
  • Beispielhafte Cloud-Rechenumgebung
  • 2 veranschaulicht eine beispielhafte „Cloud“-Rechenumgebung. Cloud-Computing ist ein Dienstlieferungsmodell zum Ermöglichen eines zweckmäßigen On-Demand-Netzwerkzugangs für einen gemeinsam genutzten Pool konfigurierbarer Rechenressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Speicherung, Anwendungen, virtuelle Maschinen und Dienste). In typischen Cloud-Rechensystemen sind die zum Liefern der durch die Cloud bereitgestellten Dienste verwendeten Maschinen in einem oder mehreren großen Cloud-Datenzentren untergebracht. Jetzt mit Bezug auf 2 beinhaltet die Cloud-Rechenumgebung 200 Cloud-Datenzentren 204a, 204b und 204c, die über die Cloud 202 miteinander verbunden sind. Die Datenzentren 204a ,204b und 204c stellen Computersystemen 206a, 206b, 206c, 206d, 206e und 206f, die mit der Cloud 202 verbunden sind, Cloud-Rechendienste bereit.
  • Die Cloud-Rechenumgebung 200 beinhaltet ein oder mehrere Cloud-Datenzentren. Im Allgemeinen bezieht sich ein Cloud-Datenzentrum, zum Beispiel das in 2 gezeigte Cloud-Datenzentrum 204a, auf die physische Anordnung von Servern, die eine Cloud bilden, zum Beispiel die in 2 gezeigte Cloud 202, oder einen speziellen Teil einer Cloud. Beispielsweise sind Server in dem Cloud-Datenzentrum physisch in Räume, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Datenzentrum weist eine oder mehrere Zonen auf, die einen oder mehrere Serverräume beinhalten. Jeder Raum weist eine oder mehrere Serverreihen auf, und jede Reihe beinhaltet ein oder mehrere Racks. Jedes Rack beinhaltet einen oder mehrere individuelle Serverknoten. In manchen Implementierungen sind Server in Zonen, Räume, Racks und/oder Reihen basierend auf physischen Infrastrukturanforderungen der Datenzentrumeinrichtung, einschließlich Leistungs-, Energie-, thermalen, Wärme- und/oder anderer Anforderungen, in Gruppen angeordnet. In einer Ausführungsform ähneln die Serverknoten dem in 3 beschriebenen Computersystem. Das Datenzentrum 204a weist viele Rechensysteme auf, die über viele Racks verteilt sind.
  • Die Cloud 202 beinhaltet Cloud-Datenzentren 204a, 204b und 204c zusammen mit dem Netzwerk und Networking-Ressourcen (zum Beispiel Networking-Geräten, Knoten, Routern, Switches und Vernetzungskabeln), die die Cloud-Datenzentren 204a, 204b und 204c miteinander verbinden und dabei helfen, den Zugang der Rechensysteme 206a-f auf Cloud-Rechensysteme zu ermöglichen. In einer Ausführungsform repräsentiert das Netzwerk eine beliebige Kombination eines oder mehrerer Lokalnetzwerke, großflächiger Netzwerke oder Inter-Netzwerke, die unter Verwendung drahtgebundener oder drahtloser Links gekoppelt sind, die unter Verwendung terrestrischer Verbindungen oder Satellitenverbindungen eingesetzt werden. Über das Netzwerk ausgetauschte Daten werden unter Verwendung einer beliebigen Anzahl von Netzwerkschichtprotokollen transferiert, wie etwa Internetprotokoll (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay usw. Ferner werden in Ausführungsformen, in denen das Netzwerk eine Kombination mehrerer Teilnetzwerke repräsentiert, unterschiedliche Netzwerkschichtprotokolle an jedem der zugrundeliegenden Teilnetzwerke verwendet. In manchen Ausführungsformen repräsentiert das Netzwerk ein oder mehrerer miteinander verbundene Inter-Netzwerke, wie etwa das öffentliche Internet.
  • Die Rechensysteme 206a-f oder Verbraucher der Cloud-Rechensysteme sind über Netzwerklinks und Netzwerkadapter mit der Cloud 202 verbunden. In einer Ausführungsform werden die Rechensysteme 206a-f als verschiedene Rechenvorrichtungen implementiert, zum Beispiel Server, Desktops, Laptops, Tablets, Smartphones, Internet-der-Dinge(IdD)-Vorrichtungen, autonome Fahrzeuge (einschließlich Autos, Drohnen, Shuttles, Zügen, Bussen usw.) und Verbraucherelektronik. In einer Ausführungsform werden die Rechensysteme 206a-f in anderen Systemen oder als ein Teil von diesen implementiert.
  • Computersystem
  • 3 veranschaulicht ein Computersystem 300. In einer Implementierung ist das Computersystem 300 eine Spezialzweck-Rechenvorrichtung. Die Spezialzweck-Rechenvorrichtung ist festverdrahtet, um die Techniken durchzuführen, oder beinhaltet digitale elektronische Vorrichtungen wie etwa eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) oder feldprogrammierbare Gate-Arrays (FPGAs), die persistent programmiert sind, um die Techniken durchzuführen, oder können einen oder mehrere Allgemeinzweck-Hardwareprozessoren beinhalten, die programmiert sind, die Techniken gemäß Programmanweisungen in Firmware, Speicher, anderer Speicherung oder einer Kombination durchzuführen. Solche Spezialzweck-Rechenvorrichtungen können auch benutzerdefinierte festverdrahtete Logik, ASICs oder FPGAs mit benutzerdefinierter Programmierung kombinieren, um die Techniken zu verwirklichen. In verschiedenen Ausführungsformen sind die Spezialzweck-Rechenvorrichtungen Desktop-Computersysteme, tragbare Computersysteme, Handheld-Vorrichtungen, Netzwerkvorrichtungen oder eine beliebige andere Vorrichtung, die festverdrahtete Logik und/oder Programmlogik einbezieht, um die Techniken zu implementieren.
  • In einer Ausführungsform beinhaltet das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Informationen und einen mit dem Bus 302 gekoppelten Hardwareprozessor 304 zum Verarbeiten von Informationen. Der Hardwareprozessor 304 ist beispielsweise ein Allgemeinzweck-Mikroprozessor. Das Computersystem 300 beinhaltet außerdem einen Hauptspeicher 306, wie etwa einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speicherungsvorrichtung, der/die mit dem Bus 302 gekoppelt ist, zum Speichern von Informationen und Anweisungen, die durch den Prozessor 304 auszuführen sind. In einer Implementierung wird der Hauptspeicher 306 zum Speichern temporärer Variablen oder anderen Zwischeninformationen während der Ausführung von durch den Prozessor 304 auszuführenden Anweisungen verwendet. Derartige Anweisungen, wenn sie in für den Prozessor 304 zugreifbaren, nichtflüchtigen Speicherungsmedien gespeichert sind, bilden das Computersystem 300 in eine Spezialzweck-Maschine aus, die zum Durchführen der in den Anweisungen spezifizierten Operationen angepasst ist.
  • In einer Ausführungsform beinhaltet das Computersystem 300 ferner einen Nur-LeseSpeicher (ROM) 308 oder eine andere statische Speicherungsvorrichtung, die mit dem Bus 302 gekoppelt ist, zum Speichern statischer Informationen und Anweisungen für den Prozessor 304. Eine Speicherungsvorrichtung 310, wie etwa eine magnetische Platte, eine optische Platte, ein Solid-State-Laufwerk oder ein dreidimensionaler Cross-Point-Speicher, ist bereitgestellt und mit dem Bus 302 gekoppelt, um Informationen und Anweisungen zu speichern.
  • In einer Ausführungsform ist das Computersystem 300 über den Bus 302 mit einer Anzeige 312 gekoppelt, wie etwa einer Kathodenstrahlröhre (CRT)-, einer Flüssigkristallanzeige (LCD), einer Plasmaanzeige, einer Leuchtdioden(LED)-Anzeige oder einer Organisch-Leuchtdioden(OLED)-Anzeige, um Informationen für einen Computerbenutzer anzuzeigen. Eine Eingabevorrichtung 314, die alphanumerische und andere Tasten beinhaltet, ist mit dem Bus 302 zum Kommunizieren von Informationen und Befehlsauswahlen zu dem Prozessor 304 gekoppelt. Eine andere Art von Benutzereingabevorrichtung ist eine Cursor-Steuerung 316, wie etwa eine Maus, ein Trackball, eine berührungsgestützte Anzeige oder Cursorrichtungstasten zum Kommunizieren von Richtungsinformationen und Befehlsauswahlen zu dem Prozessor 304 und zum Steuern der Cursorbewegung auf der Anzeige 312. Diese Eingabevorrichtung weist typischerweise zwei Freiheitsgrade in zwei Achsen auf, einer ersten Achse (z. B. x-Achse) und einer zweiten Achse (z. B. y-Achse), was der Vorrichtung ermöglicht, Positionen in einer Ebene zu spezifizieren.
  • Gemäß einer Ausführungsform werden die Techniken hierin durch das Computersystem 300 als Reaktion darauf durchgeführt, dass der Prozessor 304 eine oder mehrere Sequenzen einer oder mehrerer im Hauptspeicher 306 enthaltener Anweisungen ausführt. Solche Anweisungen werden von einem anderen Speicherungsmedium, wie etwa der Speicherungsvorrichtung 310, in den Hauptspeicher 306 gelesen. Die Ausführung der im Hauptspeicher 306 enthaltenen Anweisungssequenzen veranlasst, dass der Prozessor 304 die hierin beschriebenen Prozessschritte durchführt. In alternativen Ausführungsformen wird eine festverdrahtete Schaltungsanordnung anstelle von oder in Kombination mit Softwareanweisungen verwendet.
  • Der Begriff „Speicherungsmedien“, wie hierin verwendet, bezieht sich auf beliebige nicht transitorische Medien, die Daten und/oder Anweisungen speichern, die veranlassen, dass eine Maschine auf eine spezifische Weise arbeitet. Solche Speicherungsmedien beinhalten nichtflüchtige Medien und/oder flüchtige Medien. Nichtflüchtige Medien beinhalten beispielsweise optische Platten, Magnetplatten, Solid-State-Laufwerke oder dreidimensionalen Cross-Point-Speicher, wie etwa die Speicherungsvorrichtung 310. Flüchtige Medien beinhalten dynamischen Speicher, wie etwa den Hauptspeicher 306. Übliche Formen von Speicherungsmedien beinhalten beispielsweise eine Diskette, eine flexible Platte, eine Festplatte, ein Solid-State-Laufwerk, Magnetband oder ein beliebiges anderes magnetisches Datenspeicherungsmedium, eine CD-ROM, ein beliebiges anderes optisches Datenspeicherungsmedium, ein beliebiges physisches Medium mit Lochmustern, einen RAM, einen PROM und EPROM, einen FLASH-EPROM, NV-RAM oder einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette.
  • Speicherungsmedien unterscheiden sich von Übertragungsmedien, können jedoch in Verbindung mit diesen verwendet werden. Übertragungsmedien nehmen bei dem Transfer von Informationen zwischen Speicherungsmedien teil. Beispielsweise beinhalten Übertragungsmedien Koaxialkabel, Kupferdraht und Faseroptik, einschließlich der Drähte, die den Bus 302 beinhalten. Übertragungsmedien können auch die Form akustischer Wellen oder Lichtwellen annehmen, wie etwa jene, die während Funkwellen- oder Infrarot-Datenkommunikationen erzeugt werden.
  • In einer Ausführungsform sind verschiedene Formen von Medien beim Führen einer oder mehrerer Sequenzen einer oder mehrerer Anweisungen zu dem Prozessor 304 zur Ausführung beteiligt. Beispielsweise werden die Anweisungen anfänglich auf einer magnetischen Platte oder einem Solid-State-Laufwerk eines Ferncomputers geführt. Der Ferncomputer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen über eine Telefonleitung unter Verwendung eines Modems. Ein Modem lokal zu dem Computersystem 300 empfängt die Daten auf der Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor empfängt die in dem Infrarotsignal geführten Daten und eine geeignete Schaltungsanordnung platziert die Daten auf den Bus 302. Der Bus 302 führt die Daten zum Hauptspeicher 306, aus dem der Prozessor 304 die Anweisungen abruft und ausführt. Die durch den Hauptspeicher 306 empfangenen Anweisungen können optional in der Speicherungsvorrichtung 310 entweder vor oder nach der Ausführung durch den Prozessor 304 gespeichert werden.
  • Das Computersystem 300 beinhaltet auch eine Kommunikationsschnittstelle 318, die mit dem Bus 302 gekoppelt ist. Die Kommunikationsschnittstelle 318 stellt eine Zweiwege-Datenkommunikationskopplung mit einem Netzwerklink 320 bereit, der mit einem Lokalnetzwerk 322 verbunden ist. Beispielsweise ist die Kommunikationsschnittstelle 318 eine ISDN(Integrated Service Digital Network)-Karte, ein Kabelmodem, ein Satellitenmodem oder ein Modem zum Bereitstellen einer Datenkommunikationsverbindung mit einer entsprechenden Art von Telefonleitung. Als ein anderes Beispiel ist die Kommunikationsschnittstelle 318 eine Lokalnetzwerk(LAN)-Karte zum Bereitstellen einer Datenkommunikationsverbindung mit einem kompatiblen LAN. In manchen Implementierungen werden auch Drahtlos-Links implementiert. In einer beliebigen derartigen Implementierung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme führen, die verschiedene Informationsarten repräsentieren.
  • Der Netzwerklink 320 stellt typischerweise eine Datenkommunikation über ein oder mehrere Netzwerke zu anderen Datenvorrichtungen bereit. Beispielsweise stellt der Netzwerklink 320 eine Verbindung über das Lokalnetzwerk 322 zu einem Host-Computer 324 oder zu einem Cloud-Datenzentrum oder -Gerät bereit, der/das durch einen Internetdienstanbieter (ISP) 326 betrieben wird. Der ISP 326 stellt im Gegenzug Datenkommunikationsdienste über das weltweite Paketdatenkommunikationsnetzwerk bereit, heutzutage gewöhnlich bezeichnet als das „Internet“ 328. Sowohl das Lokalnetzwerk 322 als auch das Internet 328 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme führen. Die Signale über die verschiedenen Netzwerke und die Signale auf dem Netzwerklink 320 und über die Kommunikationsschnittstelle 318, die die digitalen Daten zu und von dem Computersystem 300 führen, sind beispielhafte Formen von Übertragungsmedien. In einer Ausführungsform enthält das Netzwerk 320 die Cloud 202 oder einen Teil der oben beschriebenen Cloud 202.
  • Das Computersystem 300 sendet Nachrichten und empfängt Daten, einschließlich Programmcode, über das (die) Netzwerk(e), den Netzwerklink 320 und die Kommunikationsschnittstelle 318. In einer Ausführungsform empfängt das Computersystem 300 Code zur Verarbeitung. Der empfangene Code wird durch den Prozessor 304 wie empfangen ausgeführt und/oder in der Speicherungsvorrichtung 310 oder einer anderen nichtflüchtigen Speicherung zur späteren Ausführung gespeichert.
  • Architektur eines autonomen Fahrzeugs
  • 4 zeigt eine beispielhafte Architektur 400 für ein autonomes Fahrzeug (z. B. das in 1 gezeigte AV 100). Die Architektur 400 beinhaltet ein Wahrnehmungsmodul 402 (manchmal als eine Wahrnehmungsschaltung bezeichnet), ein Planungsmodul 404 (manchmal als eine Planungsschaltung bezeichnet), ein Steuermodul 406 (manchmal als eine Steuerschaltung bezeichnet), ein Lokalisierungsmodul 408 (manchmal als eine Lokalisierungsschaltung bezeichnet) und ein Datenbankmodul 410 (manchmal als eine Datenbankschaltung bezeichnet). Jedes Modul spielt beim Betrieb des AV 100 eine Rolle. Zusammen können die Module 402, 404, 406, 408 und 410 Teil des in 1 gezeigten AV-Systems 120 sein. In manchen Ausführungsformen sind beliebige der Module 402, 404, 406, 408 und 410 eine Kombination von Computersoftware (z. B. ausführbarer Code, der auf einem computerlesbaren Medium gespeichert ist) und Computerhardware (z. B. ein/e oder mehrere Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen [ASICs], Hardwarespeichervorrichtungen, andere Arten von integrierten Schaltungen, andere Arten von Computerhardware oder eine Kombination beliebiger oder aller dieser Dinge).
  • Im Gebrauch empfängt das Planungsmodul 404 Daten, die einen Bestimmungsort 412 repräsentieren, und bestimmt Daten, die eine Trajektorie 414 (manchmal als eine Route bezeichnet) repräsentieren, auf der das AV 100 fahren kann, um den Bestimmungsort 412 zu erreichen (z. B. dort anzukommen). Damit das Planungsmodul 404 die die Trajektorie 414 repräsentierenden Daten bestimmt, empfängt das Planungsmodul 404 Daten vom Wahrnehmungsmodul 402, vom Lokalisierungsmodul 408 und vom Datenbankmodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert nahegelegene physische Objekte unter Verwendung eines oder mehrerer Sensoren 121, z. B. wie auch in 1 gezeigt. Die Objekte werden klassifiziert (z. B. in Typen wie etwa Fußgänger, Fahrrad, Kraftfahrzeug, Verkehrsschild usw. gruppiert) und dem Planungsmodul 404 wird eine Szenenbeschreibung einschließlich der klassifizierten Objekte 416 bereitgestellt.
  • Das Planungsmodul 404 empfängt auch Daten, die die AV-Position 418 repräsentieren, vom Lokalisierungsmodul 408. Das Lokalisierungsmodul 408 bestimmt die AV-Position unter Verwendung von Daten von den Sensoren 121 und Daten vom Datenbankmodul 410 (z. B. geografische Daten), um eine Position zu berechnen. Beispielsweise verwendet das Lokalisierungsmodul 408 Daten von einem GNSS(globales Satellitensystem)-Sensor und geografische Daten, um einen Längengrad und Breitengrad des AV zu berechnen. In einer Ausführungsform beinhalten die durch das Lokalisierungsmodul 408 verwendeten Daten hochpräzise Karten der geometrischen Eigenschaften der Verkehrsstraße, Karten, die Straßennetzkonnektivitätseigenschaften beschreiben, Karten, die physische Eigenschaften der Verkehrsstraße beschreiben (wie etwa Verkehrsgeschwindigkeit, Verkehrsvolumen, die Anzahl von Fahrzeug- und Fahrrad-Verkehrsfahrbahnen, Fahrbahnbreite, Fahrbahnverkehrsrichtung oder Fahrbahnmarkierungsarten und -orte oder Kombinationen davon), und Karten, die die räumlichen Orte von Straßenmerkmalen beschreiben, wie etwa Fußgängerüberwege, Verkehrsschilder oder andere Verkehrssignale verschiedener Arten.
  • Das Steuermodul 406 empfängt die die Trajektorie 414 repräsentierenden Daten und die die AV-Position 418 repräsentierenden Daten und betreibt die Steuerfunktionen 420a-c (z. B. Lenkung, Gasgeben, Bremsen, Zündung) des AV auf eine Weise, die bewirken wird, dass das AV 100 entlang der Trajektorie 414 zu dem Bestimmungsort 412 fährt. Falls beispielsweise die Trajektorie 414 eine Linksabbiegung beinhaltet, wird das Steuermodul 406 die Steuerfunktionen 420a-c auf eine Weise betreiben, dass der Lenkwinkel der Lenkfunktion bewirken wird, dass das AV 100 nach links abbiegt, und das Gasgeben und Bremsen bewirken werden, dass das AV 100 anhält und darauf wartet, dass Fußgänger und Fahrzeuge passieren, bevor das Abbiegen vorgenommen wird.
  • Eingaben in das autonome Fahrzeug
  • 5 zeigt ein Beispiel für Eingaben 502a-d (z. B. die in 1 gezeigten Sensoren 121) und Ausgaben 504a-d (z. B. Sensordaten), die durch das Wahrnehmungsmodul 402 (4) verwendet werden. Eine Eingabe 502a ist ein LiDAR(Lichtdetektion und -entfernungsmessung)-System (z. B. das in 1 gezeigte LiDAR 123). LiDAR ist eine Technologie, die Licht (z. B. Impulse von Licht wie etwa Infrarotlicht) verwendet, um Daten über physische Objekte in ihrer Sichtlinie zu erhalten. Ein LiDAR-System erzeugt LiDAR-Daten als die Ausgabe 504a. Beispielsweise sind LiDAR-Daten Sammlungen von 3D- oder 2D-Punkten (auch als Punktwolken bekannt), die zum Erstellen einer Repräsentation der Umgebung 190 verwendet werden.
  • Eine andere Eingabe 502b ist ein RADAR-System. RADAR ist eine Technologie, die Funkwellen verwendet, um Daten über nahegelegene physische Objekte zu erhalten. RADARs können Daten über Objekte erhalten, die sich nicht innerhalb der Sichtlinie eines LiDAR-Systems befinden. Ein RADAR-System 502b erzeugt RADAR-Daten als die Ausgabe 504b. Beispielsweise sind RADAR-Daten ein oder mehrere elektromagnetische Hochfrequenz-Signale, die zum Erstellen einer Repräsentation der Umgebung 190 verwendet werden.
  • Eine andere Eingabe 502c ist ein Kamerasystem. Ein Kamerasystem verwendet eine oder mehrere Kameras (z. B. Digitalkameras, die einen Lichtsensor wie etwa eine CCD [Charge-Coupled Device] verwenden), um Informationen über nahegelegene physische Objekte zu erhalten. Ein Kamerasystem erzeugt Kameradaten als die Ausgabe 504c. Kameradaten nehmen häufig die Form von Bilddaten an (z. B. Daten in einem Bilddatenformat wie etwa RAW, JPEG, PNG usw.). In manchen Beispielen weist das Kamerasystem mehrere unabhängige Kameras auf, z. B. für Stereopsis (Stereovision), was dem Kamerasystem ermöglicht, Tiefe wahrzunehmen. Obwohl die durch das Kamerasystem wahrgenommenen Objekte hier als „nahegelegen“ beschrieben sind, ist dies relativ zu dem AV. Im Gebrauch kann das Kamerasystem dazu ausgelegt sein, Objekte zu „sehen“, die sich entfernt, z. B. bis zu einem Kilometer oder mehr, vor dem AV befinden. Dementsprechend kann das Kamerasystem Merkmale wie etwa Sensoren und Objekte aufweisen, die zum Wahrnehmen von weit entfernten Objekten optimiert sind.
  • Eine andere Eingabe 502d ist ein Ampeldetektionssystem (TLD-System; TLD: Traffic Light Detection). Ein TLD-System verwendet eine oder mehrere Kameras, um Informationen über Ampeln, Verkehrsschilder und andere physische Objekte zu erhalten, die visuelle Betriebsinformationen bereitstellen. Ein TLD-System erzeugt TLD-Daten als die Ausgabe 504d. TLD-Daten nehmen häufig die Form von Bilddaten an (z. B. Daten in einem Bilddatenformat wie etwa RAW, JPEG, PNG usw.). Ein TLD-System unterscheidet sich von einem eine Kamera einbeziehenden System darin, dass ein TLD-System eine Kamera mit einem weiten Sichtfeld verwendet (z. B. unter Verwendung eines Weitwinkelobjektivs oder eines Fischaugenobjekivs), um Informationen über so viele physische Objekte, die visuelle Betriebsinformationen bereitstellen, wie möglich zu erhalten, sodass das AV 100 einen Zugang zu allen relevanten Betriebsinformationen aufweist, die durch diese Objekte bereitgestellt werden. Beispielsweise kann der Sichtwinkel des TLD-Systems etwa 120 Grad oder mehr betragen.
  • In manchen Ausführungsformen werden die Ausgaben 504a-d unter Verwendung einer Sensorfusionstechnik kombiniert. Somit werden entweder die individuellen Ausgaben 504a-d anderen Systemen des AV 100 bereitgestellt (z. B. einem Planungsmodul 404 bereitgestellt, wie in 4 gezeigt), oder die kombinierte Ausgabe kann den anderen Systemen bereitgestellt werden, entweder in der Form einer einzelnen kombinierten Ausgabe oder mehrerer kombinierter Ausgaben des gleichen Typs (z. B. unter Verwendung der gleichen Kombinationstechnik oder Kombinieren der gleichen Ausgaben oder beides) oder unterschiedlicher Typen (z. B. unter Verwendung verschiedener jeweiliger Kombinationstechniken oder Kombinieren verschiedener jeweiliger Ausgaben oder beides). In manchen Ausführungsformen wird eine Frühfusionstechnik verwendet. Eine Frühfusionstechnik ist gekennzeichnet durch das Kombinieren von Ausgaben, bevor ein oder mehrere Datenverarbeitungsschritte an der kombinierten Ausgabe angewendet werden. In manchen Ausführungsformen wird eine Spätfusionstechnik verwendet. Eine Spätfusionstechnik ist gekennzeichnet durch das Kombinieren von Ausgaben, nachdem ein oder mehrere Datenverarbeitungsschritte an den individuellen Ausgaben angewendet werden.
  • 6 zeigt ein Beispiel für ein LiDAR-System 602 (z. B. die in 5 gezeigte Eingabe 502a). Das LiDAR-System 602 emittiert Licht 604a-c von einem Lichtemitter 606 (z. B. einem Laser-Sender). Durch ein LiDAR-System emittiertes Licht liegt typischerweise nicht im sichtbaren Spektrum; beispielsweise wird häufig Infrarotlicht verwendet. Ein Teil des emittierten Lichts 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 dringt typischerweise nicht in physische Objekte, z. B. physische Objekte in fester Form, ein.) Das LiDAR-System 602 weist auch einen oder mehrere Lichtdetektoren 610 auf, die das reflektierte Licht detektieren. In einer Ausführungsform erzeugen ein oder mehrere mit dem LiDAR-System assoziierte Datenverarbeitungssysteme ein Bild 612, das das Sichtfeld 614 des LiDAR-Systems repräsentiert. Das Bild 612 beinhaltet Informationen, die die Abgrenzungen 616 eines physischen Objekts 608 repräsentieren. Auf diese Weise wird das Bild 612 zum Bestimmen der Abgrenzungen 616 eines oder mehrerer physischer Objekte in der Nähe eines AV verwendet.
  • 7 zeigt das LiDAR-System 602 im Betrieb. In dem in dieser Figur gezeigten Szenario empfängt das AV 100 sowohl die Kamerasystemausgabe 504c in der Form eines Bildes 702 als auch die LiDAR-Systemausgabe 504a in der Form von LiDAR-Datenpunkten 704. Im Gebrauch vergleichen die Datenverarbeitungssysteme des AV 100 das Bild 702 mit den Datenpunkten 704. Insbesondere wird ein im Bild 702 identifiziertes physisches Objekt 706 auch unter den Datenpunkten 704 identifiziert. Auf diese Weise nimmt das AV 100 die Abgrenzungen des physischen Objekts basierend auf der Kontur und der Dichte der Datenpunkte 704 wahr.
  • 8 zeigt den Betrieb des LiDAR-Systems 602 mit zusätzlichen Einzelheiten. Wie oben beschrieben, detektiert das AV 100 die Abgrenzungen eines physischen Objekts basierend auf Charakteristiken der durch das LiDAR-System 602 detektierten Datenpunkte. Wie in 8 gezeigt, wird ein flaches Objekt, wie etwa der Boden 802, von einem LiDAR-System 602 emittiertes Licht 804a-d konsistent reflektieren. Anders ausgedrückt, da das LiDAR-System 602 Licht unter Verwendung eines konstanten Abstands emittiert, wird der Boden 802 Licht zurück zu dem LiDAR-System 602 mit dem gleichen konsistenten Abstand reflektieren. Während das AV 100 über den Boden 802 fährt, wird das LiDAR-System 602 fortfahren, durch den nächsten gültigen Bodenpunkt 806 reflektiertes Licht zu detektieren, falls nichts die Straße versperrt. Falls jedoch ein Objekt 808 die Straße versperrt, wird durch das LiDAR-System 602 emittiertes Licht 804e-f von Punkten 810a-b inkonsistent zu der voraussichtlichen konsistenten Weise reflektiert. Aus diesen Informationen kann das AV 100 bestimmen, dass das Objekt 808 vorhanden ist.
  • F fadplanung
  • 9 zeigt 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. Quellstandort oder Anfangsstandort) zu einem Endpunkt 906 (z. B. Bestimmungsort oder endgültigen Ort). Die Route 902 wird typischerweise durch ein oder mehrere Segmente definiert. Beispielsweise ist ein Segment eine zu fahrende Distanz über zumindest einen Abschnitt einer Straße, Landstraße, Autobahn, Einfahrt oder ein anderer physischer Bereich, der sich zur Fahrt eines Kraftfahrzeugs eignet. In manchen Beispielen, falls z. B. das AV 100 ein geländefähiges Fahrzeug ist, wie etwa ein Vierrad(4WD)- oder Allrad(AWD)-Auto, SUV, Pickup-Truck oder dergleichen, beinhaltet die Route 902 „Off-Road“-Segmente, wie etwa unbefestigte Pfade oder offene Felder.
  • Zusätzlich zu der Route 902 gibt ein Planungsmodul auch Routenplanungsdaten 908 auf Fahrbahnebene aus. Die Routenplanungsdaten 908 auf Fahrbahnebene werden verwendet, um Segmente der Route 902 basierend auf Zuständen des Segments zu einer speziellen Zeit zu durchfahren. Falls die Route 902 eine mehrspurige Autobahn beinhaltet, beinhalten die Routenplanungsdaten 908 auf Fahrbahnebene Trajektorieplanungsdaten 910, die das AV 100 verwendet kann, um eine Fahrbahn unter den mehreren Fahrbahnen zu wählen, z. B. basierend darauf, ob sich einer Ausfahrt genähert wird, ob eine oder mehrere der Fahrbahnen andere Fahrzeuge aufweisen, oder andere Faktoren, die im Verlauf weniger Minuten oder weniger variieren. Gleichermaßen beinhalten die Routenplanungsdaten 908 auf Fahrbahnebene in manchen Implementierungen für ein Segment der Route 902 spezifische Geschwindigkeitsbeschränkungen 912. Falls das Segment beispielsweise Fußgänger oder unerwarteten Verkehr beinhaltet, können die Geschwindigkeitsbeschränkungen 912 das AV 100 auf eine Fahrgeschwindigkeit einschränken, die langsamer als eine voraussichtliche Geschwindigkeit ist, z. B. eine Geschwindigkeit basierend auf Geschwindigkeitsbegrenzungsdaten für das Segment.
  • In einer Ausführungsform beinhalten die Eingaben in das Planungsmodul 404 Datenbankdaten 914 (z.B. von dem in 4 gezeigten Datenbankmodul 410), aktuelle Standortdaten 916 (z. B. die in 4 gezeigte AV-Position 418), Bestimmungsortdaten 918 (z. B. für den in 4 gezeigten Bestimmungsort 412) und Objektdaten 920 (z. B. die klassifizierten Objekte 416, wie durch das in 4 gezeigte Wahrnehmungsmodul 402 wahrgenommen). In manchen Ausführungsformen beinhalten die Datenbankdaten 914 bei der Planung verwendete Regeln. Regeln werden unter Verwendung einer formellen Sprache spezifiziert, z. B. unter Verwendung von boolescher Logik. In einer beliebigen gegebenen Situation, auf die das AV 100 trifft, werden zumindest manche der Regeln für die Situation gelten. Eine Regel gilt für eine gegebene Situation, falls die Regel Bedingungen aufweist, die basierend auf dem AV 100 zur Verfügung stehenden Informationen erfüllt werden, z. B. Informationen über die umliegende Umgebung. Regeln können eine Priorität aufweisen. Beispielsweise kann eine Regel, die besagt „falls die Straße eine Schnellstraße ist, soll sich zu der am weitesten links gelegenen Spur bewegt werden“, eine niedrigere Priorität aufweisen als „falls sich der Ausfahrt innerhalb einer Meile genähert wird, soll sich zu der am weitesten rechts gelegenen Spur bewegt werden“.
  • 10 zeigt einen gerichteten Graphen 1000, der bei der Pfadplanung z. B. durch das Planungsmodul 404 (4) verwendet wird. Im Allgemeinen wird ein gerichteter Graph 1000, wie der in 10 gezeigte, zum Bestimmen eines Pfads zwischen einem beliebigen Startpunkt 1002 und einem Endpunkt 1004 verwendet. In der realen Welt kann die den Startpunkt 1002 und den Endpunkt 1004 trennende Distanz relativ groß sein (z. B. in zwei unterschiedlichen Großstadtgebieten) oder kann relativ klein sein (z. B. zwei Kreuzungen, die an einen Häuserblock angrenzen, oder zwei Fahrbahnen einer mehrspurigen Straße).
  • In einer Ausführungsform weist der gerichtete Graph 1000 Knoten 1006a-d auf, die unterschiedliche Orte zwischen dem Startpunkt 1002 und dem Endpunkt 1004 repräsentieren, die durch ein AV 100 belegt sein könnten. In manchen Beispielen, z. B. wenn der Startpunkt 1002 und der Endpunkt 1004 unterschiedliche Großstadtgebiete repräsentieren, repräsentieren die Knoten 1006a-d Segmente von Straßen. In manchen Beispielen, z. B. wenn der Startpunkt 1002 und der Endpunkt 1004 unterschiedliche Orte auf derselben Straße repräsentieren, repräsentieren die Knoten 1006a-d unterschiedliche Positionen auf dieser Straße. Auf diese Weise beinhaltet der gerichtete Graph 1000 Informationen bei unterschiedlichen Granularitätsstufen. In einer Ausführungsform ist der eine hohe Granularität aufweisende gerichtete Graph auch ein Teilgraph eines anderen gerichteten Graphen mit einem größeren Maßstab. Beispielsweise weist ein gerichteter Graph, in dem der Startpunkt 1002 und der Endpunkt 1004 weit voneinander entfernt sind (z. B. mehrere Meilen getrennt), den Großteil seiner Informationen mit niedriger Granularität auf und basiert auf gespeicherten Daten, beinhaltet aber auch einige hochgranulare Informationen für den Abschnitt des Graphen, der physische Orte im Sichtfeld des AV 100 repräsentiert.
  • Die Knoten 1006a-d unterscheiden sich von den Objekten 1008a-b, die sich nicht mit einem Knoten überlappen können. In einer Ausführungsform, wenn die Granularität niedrig ist, repräsentieren die Objekte 1008a-b Gebiete, die das Kraftfahrzeug nicht durchfahren kann, z. B. Bereiche, die keine Straßen oder Landstraßen aufweisen. Wenn die Granularität hoch ist, repräsentieren die Objekte 1008a-b physische Objekte im Sichtfeld des AV 100, z. B. andere Kraftfahrzeuge, Fußgänger oder andere Entitäten, mit denen das AV 100 keinen physischen Raum teilen kann. In einer Ausführungsform sind manche oder alle der Objekte 1008a-b statische Objekte (z. B. ein Objekt, das seine Position nicht ändert, wie etwa eine Straßenlampe oder ein Strommast) oder dynamische Objekte (z. B. ein Objekt, das in der Lage ist, seine Position zu ändern, wie etwa ein Fußgänger oder ein anderes Auto).
  • Die Knoten 1006a-d sind durch Kanten 1010a-c verbunden. Falls zwei Knoten 1006ab durch eine Kante 1010a verbunden sind, ist es für das AV 100 möglich, zwischen einem Knoten 1006a und dem anderen Knoten 1006b zu fahren, z. B. ohne zu einem Zwischenknoten fahren zu müssen, bevor es an dem anderen Knoten 1006b ankommt. (Wenn sich auf ein zwischen Knoten fahrendes AV 100 bezogen wird, bedeutet dies, dass das AV 100 zwischen den beiden physischen Positionen fährt, die durch die jeweiligen Knoten repräsentiert werden.) Die Kanten 1010a-c sind häufig bidirektional in dem Sinne, dass ein AV 100 von einem ersten Knoten zu einem zweiten Knoten oder vom zweiten Knoten zum ersten Knoten fährt. In einer Ausführungsform sind die Kanten 1010a-c unidirektional in dem Sinne, dass ein AV 100 von einem ersten Knoten zu einem zweiten Knoten fahren kann, das AV 100 jedoch nicht oder vom zweiten Knoten zum ersten Knoten fahren kann. Die Kanten 1010a-c sind unidirektional, wenn sie beispielsweise Einbahnstraßen, individuelle Fahrbahnen einer Straße, Landstraße oder Autobahn oder andere Merkmale, auf denen aufgrund rechtlicher oder physischer Beschränkungen nur in einer Richtung gefahren werden kann, repräsentieren.
  • In einer Ausführungsform verwendet das Planungsmodul 404 den gerichteten Graphen 1000, um einen Pfad 1012 zu identifizieren, der aus Knoten und Kanten zwischen dem Startpunkt 1002 und dem Endpunkt 1004 besteht.
  • Eine Kante 1010a-c weist assoziierte Kosten 1014a-b auf. Die Kosten 1014a-b sind ein Wert, der die Ressourcen repräsentiert, die verbraucht werden, falls das AV 100 diese Kante wählt. Eine typische Ressource ist Zeit. Falls beispielsweise eine Kante 1010a eine physische Distanz repräsentiert, die zweimal die einer anderen Kante 1010b ist, dann können die assoziierten Kosten 1014a der ersten Kante 1010a zweimal so groß sein wie die assoziierten Kosten 1014b der zweiten Kante 1010b. Andere Faktoren, die die Zeit beeinflussen, beinhalten erwarteter Verkehr, Anzahl von Kreuzungen, Geschwindigkeitsbegrenzung usw. Eine andere typische Ressource ist Kraftstoffeffizienz. Zwei Kanten 1010a-b können die gleiche physische Distanz repräsentieren, aber eine Kante 1010a kann mehr Kraftstoff erfordern als die andere Kante 1010b, z. B. infolge von Straßenbedingungen, erwartetem Wetter usw.
  • Wenn das Planungsmodul 404 einen Pfad 1012 zwischen dem Startpunkt 1002 und dem Endpunkt 1004 identifiziert, wählt das Planungsmodul 404 typischerweise einen für die Kosten optimierten Pfad, z. B. den Pfad, der die geringsten Gesamtkosten aufweist, wenn die individuellen Kosten der Kanten zusammenaddiert werden.
  • Steuerung des autonomen Fahrzeugs
  • 11 zeigt ein Blockdiagramm 1100 der Eingaben und Ausgaben eines Steuermoduls 406 (z. B. wie in 4 gezeigt). Ein Steuermodul arbeitet gemäß einer Steuerung 1102, die beispielsweise einen oder mehrere Prozessoren (z.B. einen oder mehrere Computerprozessoren wie etwa Mikroprozessoren oder Mikrocontroller oder beides) ähnlich dem Prozessor 304, Kurzzeit- und/oder Langzeit-Datenspeicherung (z. B. Speicher-Direktzugriffsspeicher oder Flash-Speicher oder beides) ähnlich dem Hauptspeicher 306, dem ROM 1308 und der Speicherungsvorrichtung 210 und im 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, beinhaltet.
  • In einer Ausführungsform empfängt die Steuerung 1102 Daten, die eine gewünschte Ausgabe 1104 repräsentieren. Die gewünschte Ausgabe 1104 beinhaltet typischerweise eine Bahngeschwindigkeit, z. B. eine Geschwindigkeit und einen Kurs. Die gewünschte Ausgabe 1104 kann beispielsweise auf Daten basieren, die von einem Planungsmodul 404 (z. B. wie in 4 gezeigt) empfangen werden. Gemäß der gewünschten Ausgabe 1104 erzeugt die Steuerung 1102 Daten, die als eine Gaspedaleingabe 1106 und eine Lenkeingabe 1108 verwendbar sind. Die Gaspedaleingabe 1106 repräsentiert den Betrag, mit dem das Gaspedal (z.B. Beschleunigungssteuerung) eines AV 100 zu betätigen ist, z. B. durch Einwirken auf das Lenkpedal oder Einwirken auf eine andere Gaspedalsteuerung, um die gewünschte Ausgabe 1104 zu erreichen. In manchen Beispielen beinhaltet die Gaspedaleingabe 1106 auch Daten, die zum Betätigen der Bremse (z. B. Verlangsamungssteuerung) des AV 100 verwendbar sind. Die Lenkeingabe 1108 repräsentiert einen Lenkwinkel, z. B. den Winkel, mit dem die Lenksteuerung (z. B. Lenkrad, Lenkwinkelaktor oder eine andere Funktionalität zum Steuern des Lenkwinkels) des AV positioniert werden sollte, um die gewünschte Ausgabe 1104 zu erreichen.
  • In einer Ausführungsform empfängt die Steuerung 1102 eine Rückmeldung, die zum Anpassen der Eingaben verwendet wird, die dem Gaspedal und der Lenkung bereitgestellt werden. Falls das AV 100 beispielsweise auf eine Beeinträchtigung 1110 trifft, wie etwa einen Hügel, wird die gemessene Geschwindigkeit 1112 des AV 100 unter die gewünschte Ausgabegeschwindigkeit gesenkt. In einer Ausführungsform wird eine jegliche gemessene Ausgabe 1114 der Steuerung 1102 bereitgestellt, sodass die notwendigen Anpassungen durchgeführt werden, z. B. basierend auf dem Unterschied 1113 zwischen der gemessenen Geschwindigkeit und der gewünschten Ausgabe. Die gemessene Ausgabe 1114 beinhaltet eine gemessene Position 1116, eine gemessene Bahngeschwindigkeit 1118 (einschließlich Geschwindigkeit und Kurs), eine gemessene Beschleunigung 1120 und andere Ausgaben, die durch Sensoren des AV 100 messbar sind.
  • In einer Ausführungsform werden Informationen über die Beeinträchtigung 1110 im Voraus detektiert, z. B. durch einen Sensor wie etwa eine Kamera oder ein LiDAR-Sensor, und einem prädiktiven Rückmeldemodul 1122 bereitgestellt. Das prädiktive Rückmeldemodul 1122 stellt dann der Steuerung 1102 Informationen bereit, die die Steuerung 1102 verwenden kann, um eine entsprechende Anpassung vorzunehmen. Falls die Sensoren des AV 100 beispielsweise einen Hügel detektieren („sehen“), können diese Informationen durch die Steuerung 1102 verwendet werden, um sich darauf vorzubereiten, das Gaspedal zu der geeigneten Zeit zu betätigen, um eine erhebliche Verlangsamung zu vermeiden.
  • 12 zeigt ein Blockdiagramm 1200 der Eingaben, Ausgaben und Komponenten der Steuerung 1102. Die Steuerung 1102 weist einen Geschwindigkeitsprofilersteller 1202 auf, der den Betrieb einer Gaspedal-/Bremssteuerung 1204 beeinflusst. Beispielsweise weist der Geschwindigkeitsprofilersteller 1202 die Gaspedal-/Bremssteuerung 1202 an, Beschleunigung zu bewirken und Verlangsamung zu bewirken, unter Verwendung des Gaspedals/der Bremse 1206, in Abhängigkeit von z. B. der Rückmeldung, die durch die Steuerung 1102 empfangen und durch den Geschwindigkeitsprofilersteller 1202 verarbeitet wird.
  • Die Steuerung 1102 weist auch eine Lateralverfolgungssteuerung 1208 auf, die den Betrieb einer Lenksteuerung 1210 beeinflusst. Beispielsweise weist die Lateralverfolgungssteuerung 1208 die Lenksteuerung 1204 an, die Position des Lenkwinkelaktors 1212 in Abhängigkeit von z. B. einer Rückmeldung, die durch die Steuerung 1102 empfangen und durch die Lateralverfolgungssteuerung 1208 verarbeitet wird, anzupassen.
  • Die Steuerung 1102 empfängt mehrere Eingaben, die zum Bestimmen verwendet werden, wie das Gaspedal/die Bremse 1206 und der Lenkwinkelaktor 1212 zu steuern sind. Ein Planungsmodul 404 stellt Informationen bereit, die durch die Steuerung 1102 verwendet werden, um z. B. einen Kurs zu wählen, wenn das AV 100 den Betrieb beginnt, und um zu bestimmen, welches Straßensegment zu durchfahren ist, wenn das AV 100 eine Kreuzung erreicht. Ein Lokalisierungsmodul 408 stellt der Steuerung 1102 Informationen bereit, die den aktuellen Standort des AV 100 beschreiben, sodass die Steuerung 1102 beispielsweise basierend auf der Weise, mit der das Gaspedal/die Bremse 1206 und der Lenkwinkelaktor 1212 gesteuert wird, bestimmen kann, ob sich das AV 100 an einem erwarteten Standort befindet. In einer Ausführungsform empfängt die Steuerung 1102 Informationen von anderen Eingaben 1214, z. B. Informationen, die von Datenbanken, Computernetzwerken usw. empfangen werden.
  • Offline Kamera-zu-LiDAR-Kalibration
  • Die 13A und 13B veranschaulichen ein Offline-Sensorkalibrationssystem 1300 gemäß einer oder mehreren Ausführungsformen. Mit Bezug auf 13A beinhaltet das System 1300 ein auf einer Drehscheibe 1302 aufgestelltes Fahrzeug 1301 und mehrere Kalibrationsziele 1305a...1305d. Das Fahrzeug 1301 kann beispielsweise ein AV sein. Auf dem Dach des Fahrzeugs 1031 ist ein 3D-LiDAR-Sensor 1303 und ein vorwärts gerichteter Kamerasensor 1304 montiert. Obwohl in diesem Beispiel zwei Sensoren gezeigt sind, kann das Fahrzeug 1301 eine beliebige Anzahl und einen beliebigen Typ von Sensoren aufweisen. Beispielsweise kann es einen oder mehrere am Fahrzeug 1301 montierte, nach hinten gerichtete und/oder zur Seite gerichtete Kamerasensoren geben. Wie hierin beschrieben wird, werden diese zusätzlichen Kamerasensoren durch Rotieren der Drehscheibe 1302 kalibriert und validiert, sodass die Sichtlinien dieser Kamerasensoren zu den Kalibrationszielen 1305a...1305d zeigen. In einer Ausführungsform kann das System 300 in einer Wartungsstation für AVs untergebracht und/oder in einer AV-Herstellungsanlage enthalten sein.
  • Obwohl in diesem Beispiel vier Kalibrationsziele gezeigt sind, die sich bei unterschiedlichen Entfernungen vom Fahrzeug 1301 befinden und unterschiedliche Stellungen aufweisen, kann eine beliebige Anzahl von Kalibrationszielen verwendet und mit einem beliebigen gewünschten Stellungswinkel und einer beliebigen gewünschten Entfernung platziert werden, unter der Voraussetzung, dass die Kalibrationsziele gleichzeitig durch die Kamera und das LiDAR detektiert werden können. In den folgenden Beispielen sind die Kalibrationsziele 1305a...1305d Schachbretter, wie in 13B gezeigt. Durchschnittsfachleute werden jedoch verstehen, dass andere planare Kalibrationsziele verwendet werden können. Beispielsweise kann neben einem Schachbrettmuster ein Gitter mit Kreisen oder ein rauschartiges Muster mit vielen Merkmalen variierender Größenordnungen als planare Kalibrationsziele verwendet werden.
  • Schachbretter werden gewöhnlich verwendet, um die extrinsische Kalibration verschiedener Kameras und LiDAR-Entfernungssensoren durchzuführen, da sie zahlreiche geometrische Beschränkungen bereitstellen und leicht durch beide Sensoren detektiert werden. Herkömmlicherweise werden Schachbrettebenenparameter in sowohl den Kamera- als auch LiDAR-Daten geschätzt. Durch das Erstellen einer Ebene-zu-Ebene-Korrespondenz zwischen dem durch jeden Sensor beobachteten Schachbrett wird die Koordinatentransformation zwischen dem LiDAR und der Kamera abgeleitet. Diese Ableitung erfordert, dass ein Schachbrett in mindestens drei unterschiedlichen Stellungen aufgenommen wird, da jede Stellung die Transformation um zwei Freiheitsgrade (2-DOF) einschränkt. Typischerweise ist die Berechnung der Transformationsmatrix in eine anfängliche Ableitung der Rotationsmatrix/des Rotationsvektors und des Translationsvektors entkoppelt. Nach dem getrennten Lösen der Rotationsmatrix und des Translationsvektors wird die Transformation durch gemeinsames Optimieren der Punkt-zu-Ebene-Distanz zwischen den Kamera- und LiDAR-Rahmen verfeinert. In einer Ausführungsform kann eine Quaternion zum Repräsentieren der Rotation verwendet werden.
  • Der oben beschriebene Ansatz nutzt nicht alle der durch ein einzelnes Schachbrett gegebenen Informationen aus. Zusätzlich zu dem Schätzen der Ebenenparameter des Schachbretts können die orthogonalen Begrenzungsvektoren des Schachbretts in sowohl dem Kamerabild als auch der LiDAR-Punktwolke abgeleitet werden. Die Begrenzungsvektoren beschränken die extrinsische Transformation um 2-DOF. Ferner erzeugt eine dreidimensionale (3D) Punktekorrespondenz des Zentroids des Schachbretts zwischen beiden Sensormodalitäten drei weitere Beschränkungen. Die unten beschriebene vorgeschlagene Kalibrationsprozedur setzt alle der erwähnten Beschränkungen wirksam ein, und somit reicht ein einzelnes Schachbrett für die Berechnung der extrinsischen Transformationsmatrix aus.
  • 14 veranschaulicht die Verwendung eines Schachbretts, um eine Kamera-zu-LiDAR-Koordinatentransformation abzuleiten, gemäß einer oder mehreren Ausführungsformen. Wie gezeigt, verwendet die Kalibrationsprozedur drei rechtshändige Koordinatensysteme: ein LiDAR-Koordinatensystem, das am LiDAR-Ort am Fahrzeug 1301 zentriert ist, das Kamerakoordinatensystem, das am Kameraort am Fahrzeug 1301 zentriert ist, und das Schachbrettkoordinatensystem, das an einem gewünschten Ort am Schachbrett zentriert ist. Die gewünschte Koordinatentransformation wird durch Bestimmen der Transformation von den LiDAR-Koordinaten zu den Kamerakoordinaten abgeleitet. Die Transformation vom LiDAR zu der Kamera kann aus der Transformation vom LiDAR zum Schachbrett und der Transformation vom Schachbrett zur Kamera unter Verwendung einer Matrizenmultiplikation, wie in Gleichung [1] gezeigt, berechnet werden. T L i D A R K a m e r a = T L i D A R S c h a c h b r e t t ( T K a m e r a S c h a c h b r e t t ) 1 .
    Figure DE102020131323A1_0001
  • Wie außerdem in 14 gezeigt, sind die sechs Freiheitsgrade (6-DOF) Transformationsmatrixparameter („extrinsische Parameter“), die eine 3x3-Rotationsmatrix R L i D A R K a m e r a
    Figure DE102020131323A1_0002
    und einen 3-Komponenten-Spaltenvektor t L i D A R K a m e r a
    Figure DE102020131323A1_0003
    zur Translation beinhalten.
  • 15 ist ein Blockdiagramm eines extrinsischen Kalibrations- und Validierungssystems 1500 gemäß einer oder mehreren Ausführungsformen. Das System 1500 beinhaltet einen LiDAR-Sensor 1502, einen Kamerasensor 1503, ein Merkmalsextraktionsmodul 1504, ein Extrinsische-Kalibration-Modul 1505 und ein Validierungsmodul 1506. Die offline Kamera-zu-LiDAR-Kalibration und -Validierung wird nun mit Bezug auf das Kalibrations- und Validierungssystem 1500 beschrieben.
  • Problemformulierung
  • Das zugrundeliegende Ziel einer extrinsischen Kalibration besteht darin, die in 14 gezeigte 6-DOF-Starrkörpertransformation T L C ( R L C t L C )
    Figure DE102020131323A1_0004
    zu schätzen, die die relative Position t L C
    Figure DE102020131323A1_0005
    und die relative Rotation R L C
    Figure DE102020131323A1_0006
    zwischen den beiden Sensoren beschreibt. Durch das Anwenden dieser Transformation T L C
    Figure DE102020131323A1_0007
    kann ein Punkt pC im Kamerakoordinatensystem in das LiDAR-Koordinatensystem p L = ( T L C ) 1 p C
    Figure DE102020131323A1_0008
    transformiert werden. Diese Transformation wird durch Extrahieren eines gemeinsamen Merkmals, eines planaren Schachbretts, in beiden Sensormodalitäten unter Verwendung des Merkmalsextraktionsmoduls 1504 berechnet.
  • Aus einem gegebenen Schachbrett in der in sowohl dem Kamerakoordinatensystem C als auch im LiDAR-Koordinatensystem L beobachteten i-ten Stellung wird der Ebenenvektor des Schachbretts, seine Begrenzungsvektoren und sein Zentroid gefolgert. Diese geometrischen Merkmale sind in 16 visualisiert. In dem Kamerareferenzrahmen soll n C i
    Figure DE102020131323A1_0009
    den i-ten Einheitsnormalenvektor des Schachbretts, l C i j { j = 1,2 }
    Figure DE102020131323A1_0010
    die Einheitsbegrenzungsvektoren des Schachbretts und p C i
    Figure DE102020131323A1_0011
    das Zentroid des Schachbretts bezeichnen. Ähnlich zu der Kamerabezeichnung soll n L i
    Figure DE102020131323A1_0012
    den Einheitsnormalenvektor des Schachbretts und l L i j { j = 1,2 }
    Figure DE102020131323A1_0013
    die Einheitsbegrenzungsvektoren des Schachbretts und P L i
    Figure DE102020131323A1_0014
    das Zentroid des Schachbretts, die im LiDAR-Koordinatensystem beobachtet werden, repräsentieren.
  • LiDAR-Merkmalsextraktion
  • Unter Annahme von N Schachbrettern detektiert der Segmentierungsalgorithmus automatisch die zuvor eingeführten geometrischen Merkmale innerhalb einer Punktwolke. Durch das Vertrauen auf den Annahmen, dass die beobachteten Schachbretter räumlich voneinander getrennt sind und die einem Schachbrett entsprechenden Punkte eng zusammengepackt sind, wird die Punktwolke durch Anwenden des bekannten Clustering-Algorithmus DBSCAN oder eines beliebigen anderen geeigneten Clustering-Algorithmus in Gruppen geclustert. Die Punkte werden dann innerhalb der DBSCAN-Cluster gefiltert. Alle Punkte, die ein einzelnes Schachbrett beschreiben, sollten auf einer dreidimensionalen Ebene liegen. Daher wird eine Ebene unter Verwendung des bekannten RANSAC-Algorithmus zu jedem der Cluster angepasst. Die Punkte im Cluster werden dann verfeinert, indem alle als Ausreißer identifizierte Punkte entfernt werden.
  • Als Nächstes werden die räumlichen Cluster mittels ihrer konvexen Hülle gefiltert, um die die Schachbretter selbst enthaltenden Cluster wiederzugewinnen. Die konvexe Hülle der Schachbrettcluster bildet ein Rechteck mit bekannten Abmessungen. Es wird angenommen, das die Simplizes jedes Clusters durch LiDAR-Rückkehrsignale gebildet werden, die durch erhebliche Tiefendiskontinuitäten gekennzeichnet sind. Diese Punkte werden als „Rand“-Punkte bezeichnet. Ein Punkt wird als ein Randpunkt klassifiziert, falls sein Tiefenwert erheblich niedriger ist als mindestens einer seiner beiden nächsten Nachbarn. Wenn nach Randpunkten evaluiert wird, wird jeder Strahl unabhängig berücksichtigt, und daher werden nur die nächsten Nachbarn auf demselben Strahl berücksichtigt. Die Rohpunktwolke wird für alle Punkte gefiltert, die eine Tiefendiskontinuität größer als zehn Zentimeter aufweisen. Der Tiefendiskontinuitätswert für einen Punkt p ist ein Gleichung [2] gezeigt: x p = max ( ρ p 1 ρ p , ρ p + 1 ρ p ,0 ) .
    Figure DE102020131323A1_0015
  • In Gleichung [2] bezieht sich p auf radiale Distanz (die L2-Norm der x- und y-Komponenten). Die Überschneidung zwischen den detektierten Randpunkten wird berechnet. Jeder Randpunkt wird mit dem den Randpunkt selbst enthaltenden Cluster verknüpft.
  • Im letzten Schritt werden die Randpunkte des Clusters auf die Ebene des Clusters projiziert und auf ein 2D-Rechteck angepasst. Um das Anpassungsproblem auf zwei Dimensionen zu reduzieren, wird eine Rotation angewendet, um die z-Achse mit dem Ebenenvektor auszurichten. Da LiDAR-Randpunkte durch Rauschen beeinflusst werden, wird ein Beschränkungsoptimierungsproblem formuliert, das A-Priori-Verteilungen an der geometrischen Form des Rechtecks sowie an seinen Abmessungen einbezieht. Die verarbeiteten Randpunkte werden dann in vier Sätze gruppiert: Pi, i ∈ {1,2, ..., p}, Qj,j ∈ {1,2, ..., q}, Rk, k ∈ {1,2, ...,r}, Sl, l ∈ {1,2, ..., s}, wobei P, Q, R, S den vier Seiten des Rechtecks entsprechen, wie in 17 veranschaulicht. Da die Seiten des Rechtecks entweder parallel oder orthogonal sind, müssen die folgenden vier Gleichungen für jeden Punkt an der Grenze gemäß Gleichungen [3a-3d] erfüllt sein: P : c P + n 1 x P i + n 2 y P i = 0,
    Figure DE102020131323A1_0016
    Q : c Q + n 2 x Q j n 1 y Q j = 0,
    Figure DE102020131323A1_0017
    R : c R + n 1 x R k + n 2 y R k = 0,
    Figure DE102020131323A1_0018
    S : c S + n 2 x S l n 1 y P S l = 0.
    Figure DE102020131323A1_0019
  • Dieses Gleichungssystem wird durch die Länge, Breite und Größe von [n1, n2]T beschränkt: c P c R 2 = w 2 ,   c Q c S 2 = l 2 ,   n 1 2 + n 2 2 = 1.
    Figure DE102020131323A1_0020
  • Es soll x = [cP, cQ, cR, cS, n1, n2]T die Lösung für das folgende beschränkte nichtlineare Least-Squares-Problem sein: x ^ = min x r 2 = m i n i = 0 p c P + n 1 x P i + n 2 y P i 2 + +                        i = 0 p c S + n 2 x S l n 1 y S l 2 s . t
    Figure DE102020131323A1_0021
    Figure DE102020131323A1_0022
  • Die optimale Lösung für Gleichung [5] wird durch Übernehmen eines sequenziellen quadratischen Programmierverfahrens erhalten. Alle Cluster mit einer Größe von ||r||2 unter einer Schwelle von 0,1 werden als Cluster angesehen, die ein Schachbrett enthalten, während alle anderen Cluster ignoriert werden. Dieser Prozess reicht aus, um die Nichtschachbrett-Cluster von den Schachbrett-Clustern zu trennen.
  • Aus den identifizierten Schachbrett-Clustern wird der Schachbrettebenenvektor n L i
    Figure DE102020131323A1_0023
    abgeleitet, der der zuvor angepassten Ebene entspricht. Die Schachbrettbegrenzungsvektoren l L i j { j = 1,2 }
    Figure DE102020131323A1_0024
    werden durch erneutes Projizieren der angepassten Rechteckparameter [n1, n2]T in den LiDAR-Koordinatenrahmen berechnet. Das Zentroid P L i
    Figure DE102020131323A1_0025
    ist als der Durchschnitt der Eckpunkte des angepassten Rechtecks definiert.
  • Mit Bezug auf die 18A-18D wird ein beispielhafter LiDAR-Merkmalsextraktionsprozess wie folgt zusammengefasst. Die Punktwolke wird zunächst geclustert, dann werden die Cluster auf Punkte gefiltert, die durch eine 3D-Ebene beschrieben werden, und schließlich werden die Schachbrett-Cluster durch Analysieren der durch die Randpunkte des Clusters gebildeten konvexen Hülle wiedergewonnen. 18A zeigt die identifizierten Cluster, die aus DBSCAN resultieren, 18B zeigt die Cluster nach der Filterung, 18C zeigt die detektierten Randpunkte und 18D zeigt die extrahierten Schachbrettmerkmale.
  • Kameramerkmalsextraktion
  • Die Schachbretter werden automatisch in dem Kamerabild unter Verwendung bekannter Computervisionsalgorithmen, die in der öffentlich verfügbaren OpenCV-Bibliothek definiert sind, detektiert. Die drei mit jedem Schachbrett assoziierten Vektoren werden durch Lösen des Perspective-n-Point(PnP)-Problems für jedes Schachbrett extrahiert, wobei das Lösen des PnP-Problems Schätzen der Stellung der Kamera in Anbetracht eines Satz von 3D-Punkten in globalen Koordinaten und ihren entsprechenden 2D-Projektionen im Bild beinhaltet. Die Kamerastellung besteht aus 6-DOF, die aus einer Rotation (Rollen, Nicken und Gieren) und einer 3D-Translation der Kamera bezüglich der globalen Koordinaten bestehen.
  • Die Lösung für das PnP-Problem zwischen den globalen Koordinaten und den Pixelkoordinaten jeder Schachbrettecke ist die Transformationsmatrix, die die Ecke des Schachbretts transformiert: T K a m e r a S c h a c h b r e t t = ( R K a m e r a S c h a c h b r e t t , t K a m e r a S c h a c h b r e t t ) .
    Figure DE102020131323A1_0026
  • Diese Transformationsmatrix transformiert die Eckpunkte des Schachbretts vom Koordinatensystem des Schachbretts. Daher entsprechen die Spaltenvektoren von R C a m e r a C e c k e r b o a r d ,
    Figure DE102020131323A1_0027
    ( l C i 1 ,  l C i 2 ,  n C i )
    Figure DE102020131323A1_0028
    den drei Schachbrettvektoren bezüglich des Kamerakoordinatensystems. Das Zentroid P C i
    Figure DE102020131323A1_0029
    des Schachbretts wird abgeleitet, indem alle Schachbretteckpunkte bezüglich des Kamerakoordinatensystems ausgedrückt werden. Das Zentroid entspricht dann der Durchschnittsstellung aller Schachbrettecken im Kamerakoordinatensystem.
  • Extrinsischer Kalibrationsalgorithmus
  • Erneut unter Bezugnahme auf 15 wird ein extrinsischer Kalibrationsalgorithmus durch das Kalibrationsmodul 1505 implementiert. Die Transformation T L C
    Figure DE102020131323A1_0030
    wird durch Abgleichen der zuvor eingeführten Schachbrettvektorgrößen im LiDAR-Koordinatensystem mit ihren Gegenstücken im Kamerakoordinatensystem definiert. Unter Berücksichtigung der Vektorkorrespondenz zwischen n C i  und n L i
    Figure DE102020131323A1_0031
    werden die folgenden Beschränkungen an der Rotationsmatrix erhalten: R L C n C i = n L i   R L C l C i j = l L i j .
    Figure DE102020131323A1_0032
  • In Anbetracht der Punktekorrespondenz zwischen p C i
    Figure DE102020131323A1_0033
    und p L i
    Figure DE102020131323A1_0034
    wird der Translationsvektor t L C
    Figure DE102020131323A1_0035
    beschränkt durch: R L C p C i + t L C = p L i .
    Figure DE102020131323A1_0036
  • In Anbetracht von Daten von N Schachbrettstellungen wird die Rotationsmatrix R L i D A R K a m e r a
    Figure DE102020131323A1_0037
    aus den Beschränkungen in Gleichung [6] berechnet. Die Einführung der Begrenzungsvektorkorrespondenz erhöht die Diversität der Rotationsmessungen erheblich, da n L i
    Figure DE102020131323A1_0038
    senkrecht zu beiden l L i j
    Figure DE102020131323A1_0039
    ist. Ein lineares Least-Squares-Problem wird formuliert, um den Einfluss von Sensorrauschen zu reduzieren: R ˜ L C = a r g   min R L C i = 1 N j = 1 2 R L C l C i j l L i j 2 + R L C n C i n L i 2 .
    Figure DE102020131323A1_0040
  • Dieses Optimierungsproblem weist eine geschlossene Lösung auf. Um die geschlossene Lösung zu formulieren, werden die folgenden Spaltenvektormatrizen definiert: M L = [ l L 11 , l L 12 , n L 1 , , l L N 1 l L N 2 n L N ] ,
    Figure DE102020131323A1_0041
    M C = [ l C 11 , l C 12 , n C 1 , , l C N 1 l C N 2 n C N ] .
    Figure DE102020131323A1_0042
  • Unter der Annahme, dass Singulärwertzerlegung (SVD: Singular Value Decomposition) von ML(MC)T=USVT ist, folgt, dass R ˜ L C = VU T .
    Figure DE102020131323A1_0043
    Diese geschlossene Lösung kann entartete Lösungen aufweisen, für die das R ˜ L C
    Figure DE102020131323A1_0044
    keine richtige Rotationsmatrix R ˜ L C S O ( 3 )
    Figure DE102020131323A1_0045
    ist. Um die entarteten Lösungen zu korrigieren und somit zu gewährleisten, dass alle abgeleiteten Rotationsmatrizen R ˜ L C S O ( 3 )
    Figure DE102020131323A1_0046
    sind, wird eine Korrekturmatrix C=diag(1,0, 1,0, 1-sign(det(VUT)) eingeführt. Somit wird die Lösung R ˜ L C = VCU T .
    Figure DE102020131323A1_0047
  • Eine Schätzung des Translationsvektors t L C
    Figure DE102020131323A1_0048
    wird durch Minimieren der Punkt-zu-Punkt-Distanzen zwischen den N Schachbrett-Zentroiden abgeleitet. Dieses Minimierungsproblem weist eine geschlossene Lösung auf, falls die Translation von der Rotation entkoppelt ist. Im entkoppelten Fall entspricht die Translationsschätzung: t ˜ L C = i = 1 N P L i R ˜ L C i = 1 N P C i N .
    Figure DE102020131323A1_0049
  • Eine anfängliche Schätzung von t ˜ L C
    Figure DE102020131323A1_0050
    wird unter Verwendung von R ˜ L C
    Figure DE102020131323A1_0051
    berechnet. Um Bias zu vermeiden, der aus der nicht einheitlichen Verteilung von LiDAR-Punkten hervorgeht, baut der vorgeschlagene Algorithmus alleinig auf p C i  und p L i
    Figure DE102020131323A1_0052
    auf, um die Translation zu schätzen, anstatt alle der Schachbrettpunkte wirksam einzusetzen.
  • In den vorherigen Abschnitten wurde die anfängliche Transformationsschätzung berechnet, indem die Translation und die Rotation getrennt behandelt wurden. Diese Schätzung der Transformation wird nun verfeinert, indem die folgende Punkt-zu-Punkt-Distanz der N Schachbrettmassenzentren gemeinsam minimiert werden: ( R ^ L C , t ^ L C ) = a r g   min R L C , t L C i = 1 N ( R L C p C i + t L C ) p L i 2 .
    Figure DE102020131323A1_0053
  • In einer Ausführungsform ist Gleichung [10] ein nichtlineares Least-Squares-Problem, das unter Verwendung der Levenberg-Marquardt-Methode oder eines beliebigen anderen geeigneten nichtlinearen Lösers gelöst wird.
  • Kamera-zu-LiDAR- Validierung
  • Problemformulierung
  • Das Ziel der Validierungsprozedur besteht darin, die exakte Fehlkalibration nicht als die Differenz zwischen den geschätzten extrinsischen Parametern T ^ L C ( θ ^ x , θ ^ y , θ ^ z , t ^ x , t ^ y , t ^ z )
    Figure DE102020131323A1_0054
    und einer Ground Truth T L C ( θ x , θ y , θ z , t x , t , t z )
    Figure DE102020131323A1_0055
    zu definieren. Die Validierungsprozedur berechnet eine Obergrenze für die Genauigkeit der Kalibration, die ohne eine Ground Truth möglich ist: | θ i θ ^ i | ε i θ ,   | t i t ^ i | ε i t ,   i { x , y , z } .
    Figure DE102020131323A1_0056
  • Um diese Obergrenzen zu schätzen, nimmt die Validierungsprozedur als Eingaben die mit manuell gemessenen Translationsparametern ε t i n i t
    Figure DE102020131323A1_0057
    assoziierte Ungenauigkeit (z. B. +/- 10 cm) und die Abmessungen und Standorte der Validierungsziele an. In einer Ausführungsform werden zwei Validierungsziele V1 und V2 genutzt, deren Form und Ort in den 19A bzw. 19B abgebildet sind. Das näher liegende Ziel wird als V1 bezeichnet, das die Abmessungen h1, l1, w1 aufweist und sich eine Distanz d1 entfernt vom Ursprung der Kamera befindet. Gleichermaßen werden die Abmessungen des entfernter gelegenen Ziels V2 durch h2, l2, w2 repräsentiert, und es befindet sich d2 entfernt von der Kamera.
  • Validierungsbedingung
  • Es wird die Obergrenze für die Genauigkeit der Kalibration wie in Gleichung [12] gezeigt abgeleitet: K | T ^ C L | P L I C ,
    Figure DE102020131323A1_0058
    wobei K die Kameramatrix ist, T ^ C L
    Figure DE102020131323A1_0059
    die extrinsische Transformation ist, PL = {(x,y, z)} die LiDAR-Rückkehrsignale vom Validierungsziel sind und IC = {(u, v)} die Pixel des Validierungsziels sind. Ein Bereich von Parametern erfüllt Gleichung [12], die jeweils die LiDAR-Punkte PL auf die Zielpixel des Kamerabildes IC im Bildraum projizieren, wie in den 20A-20C veranschaulicht, wobei 20A die LiDAR-Punkte PL zeigt, die dem Rahmen entsprechen, 20B das wie durch die Kamera beobachtete Bild IC des Rahmens zeigt, und 20C die Projektion der LiDAR-Punkte auf das Kamerabild IC mit akzeptablen extrinsischen Kalibrationsparametern zeigt. Dieser Bereich ändert sich mit den Abmessungen und dem Ort des Ziels.
  • Eine der Gleichung [12] genügende Kalibration ist in den 21A und 21B visualisiert, in denen die „+“-Symbole die projizierten LiDAR-Punkte sind. Die durch den Rahmen gegebene anfängliche Fehlergrenze (z. B. ±0,18 Grad in Gierung) wird durch die Gierung erhöht, die zum Verschieben aller LiDAR-Rahmenpunkte auf den Rahmen selbst benötigt wird (z. B. wird eine Gierverschiebung um 0,74 Grad benötigt, und daher ist die gegebene Kalibration auf ±0,92 Grad genau).
  • Genauigkeitsgrenzen
  • In Anbetracht einer Kalibration, die Gleichung [12] für zwei Validierungsziele V1 und V2 erfüllt, die sich bei unterschiedlichen Entfernungen von der Sensorsuite befinden, wird das näher liegende Ziel V1 ausgenutzt, um die geschätzten Translationsparameter zu begrenzen, während die Grenzen an Rotationsparametern vom entfernten Ziel V2 wiedergewonnen werden. Zunächst werden die Rotationsgrenzen definiert, und dann wird zu den Translationsgrenzen übergegangen. Eine extrinsische Transformation, die Gleichung [12] für V2 erfüllt, könnte weiterhin von der Ground Truth um einen zumindest der Größe von w2 entsprechenden Fehler abweichen. Zusätzlich zu einem Fehler von w2 könnte auch ein durch eine unkorrekte Schätzung des Translationsvektors verursachter Translationsfehler vorhanden sein. Um eine Obergrenze an den Rotationsparametern wiederzugewinnen, werden beide Fehlerquellen berücksichtigt. Die resultierende Obergrenze für i ∈ {x, y} ist: ε θ i = arctan ( w 2 2 d 2 ) + arctan ( w 2 2 + ε t i n i t d 2 ) .
    Figure DE102020131323A1_0060
  • Jetzt für den nahe liegenden Rahmen V1 wird erneut das schlimmstmögliche Szenario in Betracht gezogen: das Vorhandensein eines Fehlers der Größe w1 und ein Winkelversatz. Der Winkelversatz entspricht der in Gleichung [13] gezeigten, zuvor festgelegten Grenze. Es kann dann behauptet werden, dass die Translation in die x-Richtung und die y-Richtung zu Folgendem genau ist: ε t i = d 1  tan ( arctan ( 2 w 1 d 1 ) + ε θ i ) w 1 .
    Figure DE102020131323A1_0061
  • Durch iteratives Lösen der Gleichungen [13] und [14] wird die Größe der mit den geschätzten Kalibrationsparametern assoziierten Fehlerobergrenzen weiter reduziert.
  • Schließlich wird eine Grenze für die Genauigkeit des Kalibrationsrollen θz aus der Länge und Dicke eines größeren Validierungsziels abgeleitet: ε θ z = max ( arctan ( w 1 l 1 2 w 2 ) ,arctan ( w 2 l 2 2 w 2 ) ) .
    Figure DE102020131323A1_0062
  • Unter der Annahme, dass der zweite Rahmen F2 planar ist, und den Einfluss der perspektivischen Projektion vernachlässigend (Ebene des Rahmens ist ungefähr parallel zu der Bildebene der Kamera), wird eine Grenze für die Genauigkeit der Translation tz durch Vergleichen der wahren Rahmenabmessungen mit jenen im Kamerabild gemessenen, die mit L bezeichnet sind, berechnet: ε t z = f x max ( l 1 L 1 2 W 1 l 1 L 1 , l 2 L 2 2 W w 2 l 2 L 2 ) .
    Figure DE102020131323A1_0063
  • Implementierung
  • Durch das automatische Extrahieren von PL aus der Punktwolke und von IC aus dem Kamerabild wird die Validierungsprozedur automatisiert. Obwohl PL durch Clustern der Randpunkte in den LiDAR-Daten und Filtern auf Cluster, die Rechtecken entsprechen könnten, unter Verwendung des Rechteckanpassungsalgorithmus ohne die Beschränkungen an den Rechteckabmessungen abgerufen wird, wird IC durch klassische Computervisionsalgorithmen detektiert, wie etwa Kontrastverbesserung und Randdetektion.
  • Beispielhafter Prozess
  • Die 22A und 22B sind ein Flussdiagramm eines Prozesses 2200 zum Kalibrieren und Validieren extrinsischer Parameter, die bei einer Kamera-zu-LiDAR-Koordinatentransformation verwendet werden, gemäß einer oder mehreren Ausführungsformen. Der Prozess 2200 kann zum Beispiel unter Verwendung des in 3 gezeigten Computersystems implementiert werden. In einer Ausführungsform werden räumliche neuronale Netzwerke verwendet, um die Kalibrationsparameter vorherzusagen.
  • In einer Ausführungsform beginnt der Prozess 2200 mit Empfangen, von einem LiDAR(Lichtdetektion und -entfernungsmessung)-Sensor eines Fahrzeugs, einer ersten Punktwolke, die einen ersten Satz von LiDAR-Punkten beinhaltet, die von einem oder mehreren Kalibrationszielen zurückgesendet wurden (2202), und Empfangen, von einem Kamerasensor des Fahrzeugs, eines ersten Kamerabildes, das das eine oder die mehreren Kalibrationsziele beinhaltet. Die Kalibrationsziele können Schachbrettziele oder ein beliebiges anderes geeignetes planares Ziel sein.
  • Der Prozess 2200 fährt fort mit Extrahieren, unter Verwendung eines oder mehrerer Prozessoren des Fahrzeugs, von Merkmalen des einen oder der mehreren Kalibrationsziele aus dem ersten Satz von LiDAR-Punkten und dem ersten Kamerabild (2203), Assoziieren der extrahierten Merkmale aus dem ersten Satz von LiDAR-Punkten und dem ersten Kamerabild, um übereinstimmende Merkmale zu bestimmen (2204), und Schätzen extrinsischer Parameter einer Koordinatentransformation von LiDAR-Koordinaten zu Kamerakoordinaten oder von Kamerakoordinaten zu LiDAR-Koordinaten zumindest teilweise basierend auf den übereinstimmenden Merkmalen (2205). Beispielsweise werden Merkmale aus der LiDAR-Punktewolke und dem Kamerabild wie mit Bezug auf die 15-18 beschrieben extrahiert.
  • Der Prozess 2200 fährt fort mit Empfangen, vom LiDAR-Sensor, einer zweiten Punktwolke, die einen zweiten Satz von LiDAR-Punkten beinhaltet, die von einem oder mehreren Validierungszielen zurückgesendet wurden (2206), und
    Empfangen, vom Kamerasensor, eines zweiten Kamerabildes, das das eine oder die mehreren Validierungsziele beinhaltet (2207). Beispielsweise werden ein zweiter LiDAR-Scan und ein zweites Kamerabild verwendet, um die geschätzten extrinsischen Parameter der Koordinatentransformation von Kamerakoordinaten zu LiDAR-Koordinaten zu validieren.
  • Der Prozess 2200 fährt fort mit Verwenden der Koordinatentransformation, um den zweiten Satz von LiDAR-Punkten auf das eine oder die mehreren Validierungsziele im zweiten Kamerabild zu projizieren (2208), Berechnen einer oder mehrerer Obergrenzen für die Genauigkeit der geschätzten extrinsischen Parameter (2209), Bestimmen, ob eine spezifizierte Anzahl oder ein spezifizierter Anteil von LiDAR-Punkten im zweiten Satz von LiDAR-Punkten auf oder innerhalb des einen oder der mehreren Validierungsziele, die im zweiten Kamerabild enthalten sind, liegt, gemäß der einen oder den mehreren berechneten Obergrenzen für die Genauigkeit (2210). Gemäß der Bestimmung, dass sich die spezifizierte Anzahl oder der spezifizierte Anteil von LiDAR-Punkten aus dem zweiten Satz von LiDAR-Punkten, die auf oder innerhalb des einen oder der mehreren Validierungsziele im zweiten Kamerabild liegen, innerhalb der Obergrenze für die Genauigkeit befinden, werden die geschätzten extrinsischen Parameter der Koordinatentransformation als zulässig erachtet (2211). Beispielsweise sind die Schritte zum Validieren der geschätzten extrinsischen Parameter mit Bezug auf die 19-21 beschrieben.
  • In der vorstehenden Beschreibung wurden verschiedene Ausführungsformen mit Bezug auf zahlreiche spezifische Einzelheiten beschrieben, die von Implementierung zu Implementierung variieren können. Die Beschreibung und Zeichnungen sind dementsprechend als veranschaulichend anstatt beschränkend anzusehen. Der alleinige und ausschließliche Indikator des Schutzumfangs der Erfindung, und was durch die Anmelder als der Schutzumfang der Erfindung beabsichtigt ist, ist der wörtliche und äquivalente Schutzumfang des Satzes von Ansprüchen, die aus dieser Anmeldung hervorgehen, in der spezifischen Form, in der derartige Ansprüche hervorgehen, einschließlich einer beliebigen anschließenden Korrektur. Jegliche hierin ausdrücklich dargelegte Definitionen für in derartigen Ansprüchen enthaltenen Begriffe sollen die Bedeutung solcher Begriffe regulieren, wie in den Ansprüchen verwendet. Zusätzlich kann, wenn der Begriff „ferner beinhaltend“ in der vorstehenden Beschreibung oder in den folgenden Ansprüchen verwendet wird, das, was diesem Ausdruck folgt, ein zusätzlicher Schritt oder eine zusätzliche Entität oder ein Teilschritt/eine Teilentität eines zuvor vorgetragenen Schritts oder einer zuvor vorgetragenen Entität sein.
  • Die folgenden Aspekte bilden auch Teil der Erfindung:
  • Aspekte
    1. 1. Ein Verfahren, das Folgendes umfasst:
      • Empfangen, von einem LiDAR(Lichtdetektion und -entfernungsmessung)-Sensor eines Fahrzeugs, einer ersten Punktwolke, die einen ersten Satz von LiDAR-Punkten beinhaltet, die von einem oder mehreren Kalibrationszielen zurückgesendet wurden;
      • Empfangen, von einem Kamerasensor des Fahrzeugs, eines ersten Kamerabildes, das das eine oder die mehreren Kalibrationsziele beinhaltet;
      • Extrahieren, unter Verwendung eines oder mehrerer Prozessoren des Fahrzeugs, von Merkmalen des einen oder der mehreren Kalibrationsziele aus dem ersten Satz von LiDAR-Punkten und dem ersten Kamerabild;
      • Assoziieren, unter Verwendung des einen oder der mehreren Prozessoren, der extrahierten Merkmale aus dem ersten Satz von LiDAR-Punkten und dem ersten Kamerabild, um übereinstimmende Merkmale zu bestimmen;
      • Schätzen, unter Verwendung des einen oder der mehreren Prozessoren, extrinsischer Parameter einer Koordinatentransformation von LiDAR-Koordinaten zu Kamerakoordinaten oder von Kamerakoordinaten zu LiDAR-Koordinaten zumindest teilweise basierend auf den übereinstimmenden Merkmalen;
      • Empfangen, vom LiDAR-Sensor, einer zweiten Punktwolke, die einen zweiten Satz von LiDAR-Punkten beinhaltet, die von einem oder mehreren Validierungszielen zurückgesendet wurden;
      • Empfangen, vom Kamerasensor, eines zweiten Kamerabildes, das das eine oder die mehreren Validierungsziele beinhaltet;
      • Verwenden der Koordinatentransformation, um den zweiten Satz von LiDAR-Punkten auf das eine oder die mehreren Validierungsziel im zweiten Kamerabild zu projizieren;
      • Schätzen, unter Verwendung des einen oder der mehreren Prozessoren, einer oder mehrerer Obergrenzen für die Genauigkeit der geschätzten extrinsischen Parameter;
      • Bestimmen, unter Verwendung des einen oder der mehreren Prozessoren, ob eine spezifizierte Anzahl oder ein spezifizierter Anteil von LiDAR-Punkten im zweiten Satz von LiDAR-Punkten auf oder innerhalb des einen oder der mehreren Validierungsziele, die im zweiten
      • Kamerabild enthalten sind, liegt, gemäß der einen oder den mehreren berechneten Obergrenzen für die Genauigkeit; und
      • gemäß der Bestimmung, dass sich die spezifizierte Anzahl oder der spezifizierte Anteil von LiDAR-Punkten aus dem zweiten Satz von LiDAR-Punkten auf oder innerhalb des einen oder der mehreren Validierungsziele im zweiten Kamerabild innerhalb der Obergrenze für die Genauigkeit liegt, Erachten der geschätzten extrinsischen Parameter der Koordinatentransformation als zulässig.
    2. 2. Das Verfahren von Aspekt 1, wobei die extrahierten Merkmale Vektorgrößen beinhalten, die eine Ebene des einen oder der mehreren Kalibrationsziele definieren, und die extrinsischen Parameter durch Abgleichen der Vektorgrößen in LiDAR-Koordinaten mit ihren entsprechenden Vektorgrößen in Kamerakoordinaten geschätzt werden, und wobei die Vektorgrößen übereinstimmen, wenn die Vektorgrößen in definierten Beschränkungen für Rotation und Translation der Vektorgrößen korrespondieren.
    3. 3. Das Verfahren von Aspekt 1, wobei das Schätzen einer oder mehrerer Obergrenzen für die Genauigkeit die mit manuell gemessenen Translationsparametern assoziierte Unsicherheit und die Abmessungen und Orte des einen oder der mehreren Validierungsziele berücksichtigt.
    4. 4. Das Verfahren von Aspekt 1, wobei zwei Validierungsziele verwendet werden, und ein erstes Validierungsziel sich bei einer ersten Entfernung von der Kamera befindet und ein zweites Validierungsziel sich bei einer zweiten Entfernung von der Kamera befindet, die weiter entfernt ist als die erste Entfernung, und wobei das erste Validierungsziel zum Schätzen einer ersten Obergrenze für die Genauigkeit für geschätzte Translationsparameter, die in den geschätzten extrinsischen Parametern enthalten sind, verwendet wird und das zweite Validierungsziel zum Schätzen einer zweiten Obergrenze für die geschätzten Rotationsparameter, die in den geschätzten extrinsischen Parametern enthalten sind, verwendet wird.
    5. 5. Das Verfahren von Aspekt 3, wobei eine Obergrenze für einen geschätzten Rollwinkel der geschätzten extrinsischen Parameter aus einer Länge und Dicke eines größeren der beiden Validierungsziele abgeleitet wird.
    6. 6. Das Verfahren von Aspekt 1, wobei das Extrahieren, unter Verwendung eines oder mehrerer Prozessoren des Fahrzeugs, von Merkmalen des einen oder der mehreren Kalibrationsziele aus dem ersten Satz von LiDAR-Punkten ferner Folgendes umfasst:
      • Clustern des ersten Satzes von LiDAR-Punkten in räumliche Cluster von LiDAR-Punkten;
      • für jedes Cluster:
        • Filtern der LiDAR-Punkte innerhalb des Clusters, um Ausreißer-LiDAR-Punkte zu detektieren;
        • Verfeinern des Clusters durch Entfernen jeglicher detektierter Ausreißer-LiDAR-Punkte aus dem Cluster;
        • Filtern des Clusters mittels seiner konvexen Hülle, wobei die konvexe Hülle ein Rechteck mit bekannten Abmessungen bildet;
        • Detektieren von Randpunkten im Cluster;
        • Projizieren der Randpunkte auf eine Ebene des Clusters;
        • Anpassen eines zweidimensionalen (2D) Rechtecks auf die Randpunkte;
        • Bestimmen, ob das angepasste 2D-Rechteck ein Kalibrationsziel definiert, durch Formulieren und Lösen eines Beschränkungsoptimierungsproblems, das A-Priori-Verteilungen für die geometrische Form und Abmessungen des 2D-Rechtecks einbezieht; und
        • gemäß der Bestimmung, dass das angepasste 2D-Rechteck ein Kalibrationsziel definiert, Ableiten eines Ebenenvektors, von Begrenzungsvektoren und eines Zentroids des 2D-Rechtecks als die Merkmale des Kalibrationsziels.
    7. 7. Das Verfahren von Aspekt 6, wobei das Detektieren von Randpunkten im Cluster Folgendes beinhaltet: Filtern der Punktwolke auf Punkte, die eine Tiefenkontinuität größer als ein Schwellenwert aufweisen, Identifizieren gefilterter Punkte auf einem Strahl, die Tiefenwerte aufweisen, die niedriger sind als mindestens einer von zwei nächsten Nachbar-LiDAR-Punkten auf demselben Strahl, Berechnen einer Überschneidung zwischen den detektierten Randpunkten und Verknüpfen jedes Randpunkts mit dem den Randpunkt enthaltenden Cluster.
    8. 8. Das Verfahren von Aspekt 1, wobei das Extrahieren, unter Verwendung eines oder mehrerer Prozessoren des Fahrzeugs, von Merkmalen des einen oder der mehreren Kalibrationsziele aus dem ersten Bild ferner Folgendes umfasst:
      • Detektieren, unter Verwendung eines Computervisionsprozesses, des einen oder der mehreren Kalibrationsziele im ersten Bild;
      • Extrahieren von drei Kalibrationszielvektoren aus den detektierten Kalibrationszielen durch Lösen eines Perspective-n-Point(PnP)-Problems für jedes Kalibrationsziel, wobei die Lösung des PnP-Problems zwischen globalen Koordinaten und Pixelkoordinaten jeder Ecke jedes Kalibrationsziels eine Transformation von Kamerakoordinaten zu Kalibrationszielkoordinaten ist, die die Ecke vom Kalibrationszielkoordinatensystem zu dem Koordinatensystem der Kamera transformiert, und wobei die Spaltenvektoren der Transformation den drei Kalibrationszielvektoren bezüglich des Kamerakoordinatensystems entsprechen, wobei jedes Zentroid eines Kalibrationsziels abgeleitet wird, indem alle Eckpunkte jedes Kalibrationsziels bezüglich des Kamerakoordinatensystems ausgedrückt werden, und wobei das Zentroid einer Durchschnittsstellung aller Ecken im Kamerakoordinatensystem entspricht.
    9. 9. Das Verfahren von Aspekt 8, ferner umfassend Filtern der Punktwolke auf Punkte, die eine Tiefenkontinuität größer als ein Schwellenwert aufweisen.
    10. 10. Das Verfahren von Aspekt 1, wobei das eine oder die mehreren Kalibrationsziele planare Schachbretter sind.
    11. 11. Ein System, das Folgendes umfasst:
      • einen oder mehrere Prozessoren;
      • Speicher, der Anweisungen speichert, die bei Ausführung durch den einen oder die mehreren Prozessoren bewirken, dass der eine oder die mehreren Prozessoren ein beliebiges der vorstehenden Verfahren der Aspekte 1-10 durchführen.
  • 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 62/950076 [0001]
  • Zitierte Nicht-Patentliteratur
    • Titel „CAMERA-TO-LIDAR CALIBRATION AND VALIDATION“, eingereicht am 18. Dezember 2019 [0001]

Claims (12)

  1. Verfahren, das Folgendes umfasst: Empfangen, von einem LiDAR(Lichtdetektion und -entfernungsmessung)-Sensor eines Fahrzeugs, einer ersten Punktwolke, die einen ersten Satz von LiDAR-Punkten beinhaltet, die von einem oder mehreren Kalibrationszielen zurückgesendet wurden; Empfangen, von einem Kamerasensor des Fahrzeugs, eines ersten Kamerabildes, das das eine oder die mehreren Kalibrationsziele beinhaltet; Extrahieren, unter Verwendung eines oder mehrerer Prozessoren des Fahrzeugs, von Merkmalen des einen oder der mehreren Kalibrationsziele aus dem ersten Satz von LiDAR-Punkten und dem ersten Kamerabild; Assoziieren, unter Verwendung des einen oder der mehreren Prozessoren, der extrahierten Merkmale aus dem ersten Satz von LiDAR-Punkten und dem ersten Kamerabild, um übereinstimmende Merkmale zu bestimmen; Schätzen, unter Verwendung des einen oder der mehreren Prozessoren, extrinsischer Parameter einer Koordinatentransformation von LiDAR-Koordinaten zu Kamerakoordinaten oder von Kamerakoordinaten zu LiDAR-Koordinaten, zumindest teilweise basierend auf den übereinstimmenden Merkmalen; Empfangen, vom LiDAR-Sensor, einer zweiten Punktwolke, die einen zweiten Satz von LiDAR-Punkten beinhaltet, die von einem oder mehreren Validierungszielen zurückgesendet wurden; Empfangen, vom Kamerasensor, eines zweiten Kamerabildes, das das eine oder die mehreren Validierungsziele beinhaltet; Verwenden der Koordinatentransformation, um den zweiten Satz von LiDAR-Punkten auf das eine oder die mehreren Validierungsziele im zweiten Kamerabild zu projizieren; Schätzen, unter Verwendung des einen oder der mehreren Prozessoren, einer oder mehrerer Obergrenzen für die Genauigkeit der geschätzten extrinsischen Parameter; Bestimmen, unter Verwendung des einen oder der mehreren Prozessoren, ob eine spezifizierte Anzahl oder ein spezifizierter Anteil von LiDAR-Punkten im zweiten Satz von LiDAR-Punkten auf oder innerhalb des einen oder der mehreren Validierungsziele, die im zweiten Kamerabild enthalten sind, liegt, gemäß der einen oder den mehreren berechneten Obergrenzen für die Genauigkeit; und gemäß der Bestimmung, dass sich die spezifizierte Anzahl oder der spezifizierte Anteil von LiDAR-Punkten aus dem zweiten Satz von LiDAR-Punkten auf oder innerhalb des einen oder der mehreren Validierungsziele im zweiten Kamerabild innerhalb der Obergrenze für die Genauigkeit liegt, Erachten der geschätzten extrinsischen Parameter der Koordinatentransformation als zulässig.
  2. Verfahren nach Anspruch 1, wobei die extrahierten Merkmale Vektorgrößen beinhalten, die eine Ebene des einen oder der mehreren Kalibrationsziele definieren, und die extrinsischen Parameter durch Abgleichen der Vektorgrößen in LiDAR-Koordinaten mit ihren entsprechenden Vektorgrößen in Kamerakoordinaten geschätzt werden, und wobei die Vektorgrößen übereinstimmen, wenn die Vektorgrößen in definierten Beschränkungen für Rotation und Translation der Vektorgrößen korrespondieren.
  3. Verfahren nach den Ansprüchen 1 oder 2, wobei das Schätzen einer oder mehrerer Obergrenzen für die Genauigkeit die mit manuell gemessenen Translationsparametern assoziierte Unsicherheit und die Abmessungen und Orte des einen oder der mehreren Validierungsziele berücksichtigt.
  4. Verfahren nach einem der Ansprüche 1-3, wobei zwei Validierungsziele verwendet werden, und ein erstes Validierungsziel sich bei einer ersten Entfernung von der Kamera befindet und ein zweites Validierungsziel sich bei einer zweiten Entfernung von der Kamera befindet, die weiter entfernt ist als die erste Entfernung, und wobei das erste Validierungsziel zum Schätzen einer ersten Obergrenze für die Genauigkeit für geschätzte Translationsparameter, die in den geschätzten extrinsischen Parametern enthalten sind, verwendet wird und das zweite Validierungsziel zum Schätzen einer zweiten Obergrenze für die geschätzten Rotationsparameter, die in den geschätzten extrinsischen Parametern enthalten sind, verwendet wird.
  5. Verfahren nach Anspruch 3, wobei eine Obergrenze für einen geschätzten Rollwinkel der geschätzten extrinsischen Parameter aus einer Länge und Dicke eines größeren der beiden Validierungsziele abgeleitet wird.
  6. Verfahren nach einem der Ansprüche 1-5, wobei das Extrahieren, unter Verwendung eines oder mehrerer Prozessoren des Fahrzeugs, von Merkmalen des einen oder der mehreren Kalibrationsziele aus dem ersten Satz von LiDAR-Punkten ferner Folgendes umfasst: Clustern des ersten Satzes von LiDAR-Punkten in räumliche Cluster von LiDAR-Punkten; für jedes Cluster: Filtern der LiDAR-Punkte innerhalb des Clusters, um Ausreißer-LiDAR-Punkte zu detektieren; Verfeinern des Clusters durch Entfernen jeglicher detektierter Ausreißer-LiDAR-Punkte aus dem Cluster; Filtern des Clusters mittels seiner konvexen Hülle, wobei die konvexe Hülle ein Rechteck mit bekannten Abmessungen bildet; Detektieren von Randpunkten im Cluster; Projizieren der Randpunkte auf eine Ebene des Clusters; Anpassen eines zweidimensionalen (2D) Rechtecks auf die Randpunkte; Bestimmen, ob das angepasste 2D-Rechteck ein Kalibrationsziel definiert, durch Formulieren und Lösen eines Beschränkungsoptimierungsproblems, das A-Priori-Verteilungen für die geometrische Form und Abmessungen des 2D-Rechtecks einbezieht; und gemäß der Bestimmung, dass das angepasste 2D-Rechteck ein Kalibrationsziel definiert, Ableiten eines Ebenenvektors, von Begrenzungsvektoren und eines Zentroids des 2D-Rechtecks als die Merkmale des Kalibrationsziels.
  7. Verfahren nach Anspruch 6, wobei das Detektieren von Randpunkten im Cluster Folgendes beinhaltet: Filtern der Punktwolke auf Punkte, die eine Tiefenkontinuität größer als ein Schwellenwert aufweisen, Identifizieren gefilterter Punkte auf einem Strahl, die Tiefenwerte aufweisen, die niedriger sind als mindestens einer von zwei nächsten Nachbar-LiDAR-Punkten auf demselben Strahl, Berechnen einer Überschneidung zwischen den detektierten Randpunkten und Verknüpfen jedes Randpunkts mit dem den Randpunkt enthaltenden Cluster.
  8. Verfahren nach einem der Ansprüche 1-7, wobei das Extrahieren, unter Verwendung eines oder mehrerer Prozessoren des Fahrzeugs, von Merkmalen des einen oder der mehreren Kalibrationsziele aus dem ersten Bild ferner Folgendes umfasst: Detektieren, unter Verwendung eines Computervisionsprozesses, des einen oder der mehreren Kalibrationsziele im ersten Bild; Extrahieren von drei Kalibrationszielvektoren aus den detektierten Kalibrationszielen durch Lösen eines Perspective-n-Point(PnP)-Problems für jedes Kalibrationsziel, wobei die Lösung des PnP-Problems zwischen globalen Koordinaten und Pixelkoordinaten jeder Ecke jedes Kalibrationsziels eine Transformation von Kamerakoordinaten zu Kalibrationszielkoordinaten ist, die die Ecke vom Kalibrationszielkoordinatensystem zu dem Koordinatensystem der Kamera transformiert, und wobei die Spaltenvektoren der Transformation den drei Kalibrationszielvektoren bezüglich des Kamerakoordinatensystems entsprechen, wobei jedes Zentroid eines Kalibrationsziels abgeleitet wird, indem alle Eckpunkte jedes Kalibrationsziels bezüglich des Kamerakoordinatensystems ausgedrückt werden, und wobei das Zentroid einer Durchschnittsstellung aller Ecken im Kamerakoordinatensystem entspricht.
  9. Verfahren nach Anspruch 8, ferner umfassend Filtern der Punktwolke auf Punkte, die eine Tiefenkontinuität größer als ein Schwellenwert aufweisen.
  10. Verfahren nach einem der Ansprüche 1-9, wobei das eine oder die mehreren Kalibrationsziele planare Schachbretter sind.
  11. System, das Folgendes umfasst: einen oder mehrere Prozessoren; Speicher, der Anweisungen speichert, die bei Ausführung durch den einen oder die mehreren Prozessoren bewirken, dass der eine oder die mehreren Prozessoren ein beliebiges der Verfahren der Ansprüche 1-10 durchführen.
  12. Nichtflüchtiges Computerprogrammprodukt, das Anweisungen speichert, die bei Ausführung durch mindestens einen programmierbaren Prozessor bewirken, dass der mindestens eine programmierbare Prozessor Operationen in einem beliebigen der Verfahren der Ansprüche 1-10 durchführt.
DE102020131323.3A 2019-12-18 2020-11-26 Kamera-zu-lidar-kalibration und -validierung Pending DE102020131323A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962950076P 2019-12-18 2019-12-18
US62/950,076 2019-12-18

Publications (1)

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

Family

ID=74046579

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020131323.3A Pending DE102020131323A1 (de) 2019-12-18 2020-11-26 Kamera-zu-lidar-kalibration und -validierung

Country Status (5)

Country Link
US (1) US11940539B2 (de)
KR (1) KR102623269B1 (de)
CN (1) CN112991454A (de)
DE (1) DE102020131323A1 (de)
GB (2) GB202305331D0 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021133091A1 (de) 2021-12-14 2023-06-15 Cariad Se Verfahren zur Ermittlung einer Ausrichtung einer Kameraeinheit einer Erfassungseinrichtung, Erfassungseinrichtung und Fahrzeug

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7191671B2 (ja) * 2018-12-19 2022-12-19 フォルシアクラリオン・エレクトロニクス株式会社 キャリブレーション装置、キャリブレーション方法
US11726189B2 (en) 2019-12-09 2023-08-15 Nio Technology (Anhui) Co., Ltd. Real-time online calibration of coherent doppler lidar systems on vehicles
US11520024B2 (en) * 2019-12-24 2022-12-06 Nio Technology (Anhui) Co., Ltd. Automatic autonomous vehicle and robot LiDAR-camera extrinsic calibration
US11892560B2 (en) 2020-02-03 2024-02-06 Nio Technology (Anhui) Co., Ltd High precision multi-sensor extrinsic calibration via production line and mobile station
TWI736235B (zh) * 2020-04-27 2021-08-11 大陸商光寶電子(廣州)有限公司 可移動式電子裝置及其操作方法
TWI755765B (zh) * 2020-06-22 2022-02-21 中強光電股份有限公司 視覺與深度座標系的校正系統、校正方法及校正裝置
CN113847930A (zh) * 2020-06-28 2021-12-28 图森有限公司 多传感器校准***
US11420647B2 (en) * 2020-08-13 2022-08-23 Argo AI, LLC Enhanced static object classification using lidar
US11995920B2 (en) * 2020-10-23 2024-05-28 Argo AI, LLC Enhanced sensor health and regression testing for vehicles
US11960276B2 (en) 2020-11-19 2024-04-16 Tusimple, Inc. Multi-sensor collaborative calibration system
CN112946609B (zh) * 2021-02-02 2022-03-15 中国汽车技术研究中心有限公司 激光雷达与相机的标定方法、装置、设备及可读存储介质
CN113436233A (zh) * 2021-06-29 2021-09-24 阿波罗智能技术(北京)有限公司 自动驾驶车辆的配准方法、装置、电子设备和车辆
CN113567964B (zh) * 2021-06-29 2023-07-25 苏州一径科技有限公司 激光雷达自动测试方法及装置、***
KR102490521B1 (ko) * 2021-06-30 2023-01-26 주식회사 모빌테크 라이다 좌표계와 카메라 좌표계의 벡터 정합을 통한 자동 캘리브레이션 방법
KR102603467B1 (ko) * 2021-07-12 2023-11-17 클레이웍스 주식회사 디지털 트윈 연동 증강현실 카메라를 통한 공간 형성 및 측위 오차 보정 시스템 및 그 방법
US20230034492A1 (en) * 2021-07-20 2023-02-02 Locus Robotics Corp. Calibration of a Lidar Sensor
CN113830083B (zh) * 2021-07-26 2024-02-23 武汉理工大学 基于交通路锥识别的车辆安全引导方法
US20230145561A1 (en) * 2021-08-23 2023-05-11 Argo AI, LLC Systems and methods for validating camera calibration in real-time
US20230085898A1 (en) * 2021-09-22 2023-03-23 Qualcomm Incorporated Automatic cross-sensor calibration using object detections
KR102621599B1 (ko) * 2021-10-01 2024-01-05 주식회사 앤트랩 다중 센서 장치를 위한 캘리브레이션 방법 및 캘리브레이션 시스템
CN116071431A (zh) * 2021-11-03 2023-05-05 北京三快在线科技有限公司 一种标定方法、装置、存储介质及电子设备
CN113858217B (zh) * 2021-12-01 2022-02-15 常州唯实智能物联创新中心有限公司 多机器人交互的三维视觉位姿感知方法及***
US20230177724A1 (en) * 2021-12-07 2023-06-08 Adasky, Ltd. Vehicle to infrastructure extrinsic calibration system and method
DE102021134371A1 (de) * 2021-12-22 2023-06-22 Jungheinrich Aktiengesellschaft Verfahren zum Bestimmen einer relativen Anbauposition einer ersten Sensoreinheit in Bezug auf eine zweite Sensoreinheit an einem Flurförderzeug
KR20230172834A (ko) 2022-06-16 2023-12-26 엘아이지넥스원 주식회사 다중 교통 표지를 사용한 센서 캘리브레이션 장치 및 방법
CN115267751A (zh) * 2022-08-19 2022-11-01 广州小鹏自动驾驶科技有限公司 传感器标定方法、装置、车辆及存储介质
KR102643538B1 (ko) * 2023-08-25 2024-03-06 주식회사 라이드플럭스 자율주행 환경에서 이종 센서 데이터 간 오토 캘리브레이션 방법, 장치 및 컴퓨터프로그램
CN117456146B (zh) * 2023-12-21 2024-04-12 绘见科技(深圳)有限公司 激光点云拼接方法、装置、介质和设备
CN117784160A (zh) * 2023-12-21 2024-03-29 中国核工业华兴建设有限公司 一种基于深度学习的预埋件位置检查方法及检查设备
CN117911539A (zh) * 2024-03-15 2024-04-19 西南科技大学 基于线***叉点引导的雷达与相机联合自标定方法及***

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19962997B4 (de) 1999-12-24 2010-06-02 Robert Bosch Gmbh Verfahren zur Kalibrierung eines Sensorsystems
US20100157280A1 (en) * 2008-12-19 2010-06-24 Ambercore Software Inc. Method and system for aligning a line scan camera with a lidar scanner for real time data fusion in three dimensions
US9734419B1 (en) * 2008-12-30 2017-08-15 Cognex Corporation System and method for validating camera calibration in a vision system
US11699247B2 (en) * 2009-12-24 2023-07-11 Cognex Corporation System and method for runtime determination of camera miscalibration
US9834153B2 (en) 2011-04-25 2017-12-05 Magna Electronics Inc. Method and system for dynamically calibrating vehicular cameras
WO2013086249A2 (en) 2011-12-09 2013-06-13 Magna Electronics, Inc. Vehicle vision system with customized display
GB2507560A (en) 2012-11-05 2014-05-07 Univ Oxford Extrinsic calibration of mobile camera and lidar
US9719801B1 (en) 2013-07-23 2017-08-01 Waymo Llc Methods and systems for calibrating sensors using road map data
US10018711B1 (en) * 2014-01-28 2018-07-10 StereoVision Imaging, Inc System and method for field calibrating video and lidar subsystems using independent measurements
US9804594B2 (en) 2014-11-07 2017-10-31 Clearpath Robotics, Inc. Self-calibrating sensors and actuators for unmanned vehicles
WO2016130719A2 (en) * 2015-02-10 2016-08-18 Amnon Shashua Sparse map for autonomous vehicle navigation
WO2016153224A1 (ko) 2015-03-20 2016-09-29 엘지전자 주식회사 차량용 자율 캘리브레이션 장치 및 이를 구비한 차량
WO2016187757A1 (en) * 2015-05-23 2016-12-01 SZ DJI Technology Co., Ltd. Sensor fusion using inertial and image sensors
US10578713B2 (en) 2015-06-24 2020-03-03 Panasonic Corporation Radar axis displacement amount calculation device and radar axis displacement calculation method
CN105551039B (zh) 2015-12-14 2017-12-08 深圳先进技术研究院 结构光三维扫描***的标定方法及装置
DE102016204011A1 (de) 2016-03-11 2017-09-14 Robert Bosch Gmbh Vorrichtung zur Ermittlung einer Dejustage einer an einem Fahrzeug befestigten Detektionseinrichtung
WO2019018315A1 (en) * 2017-07-17 2019-01-24 Kaarta, Inc. ALIGNMENT OF MEASURED SIGNAL DATA WITH SLAM LOCATION DATA AND ASSOCIATED USES
CA2961921C (en) * 2016-03-29 2020-05-12 Institut National D'optique Camera calibration method using a calibration target
US10732621B2 (en) * 2016-05-09 2020-08-04 Strong Force Iot Portfolio 2016, Llc Methods and systems for process adaptation in an internet of things downstream oil and gas environment
CN106228537A (zh) 2016-07-12 2016-12-14 北京理工大学 一种三维激光雷达与单目摄像机的联合标定方法
US10145945B2 (en) 2017-01-11 2018-12-04 Toyota Research Institute, Inc. Systems and methods for automatically calibrating a LIDAR using information from a secondary vehicle
IL287819B (en) 2017-01-12 2022-07-01 Mobileye Vision Technologies Ltd Navigation based on vehicle activity
WO2018138584A1 (en) 2017-01-26 2018-08-02 Mobileye Vision Technologies Ltd. Vehicle navigation based on aligned image and lidar information
US10445928B2 (en) * 2017-02-11 2019-10-15 Vayavision Ltd. Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types
CN107167826B (zh) * 2017-03-31 2020-02-04 武汉光庭科技有限公司 一种自动驾驶中基于可变网格的图像特征检测的车辆纵向定位***及方法
DE102017205727A1 (de) 2017-04-04 2018-10-04 Siemens Aktiengesellschaft Verfahren zum Kalibrieren eines Sensorsystems
US10677897B2 (en) 2017-04-14 2020-06-09 Luminar Technologies, Inc. Combining lidar and camera data
CN110537109B (zh) 2017-04-28 2024-02-20 深圳市大疆创新科技有限公司 用于自主驾驶的感测组件
US10488521B2 (en) * 2017-06-13 2019-11-26 TuSimple Sensor calibration and time method for ground truth static scene sparse flow generation
US10176596B1 (en) * 2017-07-06 2019-01-08 GM Global Technology Operations LLC Calibration verification methods for autonomous vehicle operations
EP3438776B1 (de) 2017-08-04 2022-09-07 Bayerische Motoren Werke Aktiengesellschaft Verfahren, vorrichtung und computerprogramm für ein fahrzeug
EP3438777B1 (de) * 2017-08-04 2022-05-11 Bayerische Motoren Werke Aktiengesellschaft Verfahren, vorrichtung und computerprogramm für ein fahrzeug
US20190052851A1 (en) 2017-08-11 2019-02-14 Hilti Aktiengesellschaft System and Method for Recalibrating a Projector System
US10565457B2 (en) * 2017-08-23 2020-02-18 Tusimple, Inc. Feature matching and correspondence refinement and 3D submap position refinement system and method for centimeter precision localization using camera-based submap and LiDAR-based global map
CN118050012A (zh) 2017-09-29 2024-05-17 松下电器(美国)知识产权公司 客户端装置以及由客户端装置执行的方法
WO2019071512A1 (en) 2017-10-12 2019-04-18 Intel Corporation CALIBRATION OF CAMERAS
US10841496B2 (en) 2017-10-19 2020-11-17 DeepMap Inc. Lidar to camera calibration based on edge detection
CN109754426B (zh) 2017-11-01 2021-04-23 虹软科技股份有限公司 一种用于摄像标定参数验证的方法、***和装置
CN109813335B (zh) 2017-11-21 2021-02-09 武汉四维图新科技有限公司 数据采集***的标定方法、装置、***及存储介质
US11415683B2 (en) 2017-12-28 2022-08-16 Lyft, Inc. Mobile sensor calibration
US11906625B2 (en) * 2018-01-08 2024-02-20 The Regents Of The University Of California Surround vehicle tracking and motion prediction
US11392131B2 (en) 2018-02-27 2022-07-19 Nauto, Inc. Method for determining driving policy
US10705194B2 (en) 2018-03-21 2020-07-07 Zoox, Inc. Automated detection of sensor miscalibration
US10269141B1 (en) * 2018-06-04 2019-04-23 Waymo Llc Multistage camera calibration
EP3815045A1 (de) 2018-06-29 2021-05-05 Zoox, Inc. Sensorkalibrierung
US10733761B2 (en) 2018-06-29 2020-08-04 Zoox, Inc. Sensor calibration
CN109300162B (zh) 2018-08-17 2021-08-03 浙江工业大学 一种基于精细化雷达扫描边缘点的多线激光雷达和相机联合标定方法
US11428817B2 (en) * 2018-10-11 2022-08-30 Baidu Usa Llc Automatic LIDAR calibration based on cross validation for autonomous driving
US11609574B2 (en) * 2018-11-13 2023-03-21 FLIR Belgium BVBA Extrinsic sensor calibration systems and methods
US11105905B2 (en) * 2018-11-30 2021-08-31 Lyft, Inc. LiDAR and camera rotational position calibration using multiple point cloud comparisons
DK180555B1 (en) 2018-12-10 2021-06-17 Motional Ad Llc Systems and methods for validating and calibrating sensors
US10970878B2 (en) * 2018-12-13 2021-04-06 Lyft, Inc. Camera calibration using reference map
CN109636837B (zh) 2018-12-21 2023-04-28 浙江大学 一种单目相机与毫米波雷达外参标定准确性的评价方法
US11458912B2 (en) * 2019-03-08 2022-10-04 Zoox, Inc. Sensor validation using semantic segmentation information
CN109949371A (zh) 2019-03-18 2019-06-28 北京智行者科技有限公司 一种用于激光雷达和相机数据的标定方法
US10937178B1 (en) * 2019-05-09 2021-03-02 Zoox, Inc. Image-based depth data and bounding boxes
CN110175576B (zh) * 2019-05-29 2022-09-16 电子科技大学 一种结合激光点云数据的行驶车辆视觉检测方法
CN110298891A (zh) 2019-06-25 2019-10-01 北京智行者科技有限公司 相机外参精度自动评估的方法及装置
US11144754B2 (en) * 2019-08-19 2021-10-12 Nvidia Corporation Gaze detection using one or more neural networks
US10726579B1 (en) * 2019-11-13 2020-07-28 Honda Motor Co., Ltd. LiDAR-camera calibration
US10838049B1 (en) * 2019-12-17 2020-11-17 The Boeing Company Calibration procedure for establishing an extrinsic relationship between lidar and camera sensors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021133091A1 (de) 2021-12-14 2023-06-15 Cariad Se Verfahren zur Ermittlung einer Ausrichtung einer Kameraeinheit einer Erfassungseinrichtung, Erfassungseinrichtung und Fahrzeug

Also Published As

Publication number Publication date
CN112991454A (zh) 2021-06-18
GB202018035D0 (en) 2020-12-30
GB2594111B (en) 2023-06-07
KR20210078439A (ko) 2021-06-28
GB2594111A (en) 2021-10-20
GB202305331D0 (en) 2023-05-24
US20210192788A1 (en) 2021-06-24
KR102623269B1 (ko) 2024-01-09
US11940539B2 (en) 2024-03-26

Similar Documents

Publication Publication Date Title
DE102020131323A1 (de) Kamera-zu-lidar-kalibration und -validierung
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE102020129854A1 (de) Sequenzielle fusion zur 3d-objektdetektion
DE102020133982A1 (de) Automatisierte objektannotation unter verwendung fusionierter kamera-/lidar-datenpunkte
DE102020111682A1 (de) Systeme und verfahren zum implementieren einer autonomen fahrzeugreaktion auf ein sensorversagen
DE102020123585A1 (de) Erweiterte objektverfolgung mittels radar
DE102020111938A1 (de) Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie
DE102020129456A1 (de) Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten bank von trajektorien
DE102021101758A1 (de) Ampeldetektionssystem für ein fahrzeug
DE112019006119T5 (de) Erstellung von bewegungsgraphen und routenplanung auf fahrspurebene
DE112019006128T5 (de) Systeme und verfahren zum validieren von sensorkalibrierung
DE112020000653T5 (de) Zusammenführen von daten aus mehreren lidar-vorrichtungen
DE102021112349A1 (de) Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters
DE102020135000A1 (de) Systeme und verfahren zur verkehrsampelerfassung
DE102020210454A1 (de) Kühllösungen für autonome Fahrzeuge
DE102021108068A1 (de) Schätzung von bodenebenen unter verwendung eines semantischen lidar-netzes
DE102021124913A1 (de) Metrik-backpropagation für die beurteilung der leistung von untersystemen
DE112019004633T5 (de) Systeme und verfahren zum verbessern des fahrzeugbetriebs unter verwendung beweglicher sensoren
DE112020002695T5 (de) Autonomer fahrzeugbetrieb mittels linearer temporaler logik
DE102021133340A1 (de) Modalitätsübergreifendes aktives lernen zur objekterkennung
DE102021114032A1 (de) Identifizieren von hintergrundmerkmalen mittels lidar
DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
DE102021133739A1 (de) Steuern eines autonomen fahrzeugs unter verwendung einer näheregel
DE102021132853A1 (de) Auf deep learning basierende kamerakalibrierung
DE102021118316A1 (de) Monokulare 3d-objekterkennung aus bildsemantiknetzwerk