DE112017008137T5 - Kartieren einer rasterbelegung unter verwendung einer fehlerbereichsverteilung - Google Patents

Kartieren einer rasterbelegung unter verwendung einer fehlerbereichsverteilung Download PDF

Info

Publication number
DE112017008137T5
DE112017008137T5 DE112017008137.8T DE112017008137T DE112017008137T5 DE 112017008137 T5 DE112017008137 T5 DE 112017008137T5 DE 112017008137 T DE112017008137 T DE 112017008137T DE 112017008137 T5 DE112017008137 T5 DE 112017008137T5
Authority
DE
Germany
Prior art keywords
error
occupancy
map
laser
cells
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
DE112017008137.8T
Other languages
English (en)
Inventor
Ganmei YOU
Zhigang Wang
Dawei Wang
Hu Chen
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE112017008137T5 publication Critical patent/DE112017008137T5/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
    • 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
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • 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
    • 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/483Details of pulse systems
    • G01S7/486Receivers
    • G01S7/487Extracting wanted echo signals, e.g. pulse detection
    • G01S7/4873Extracting wanted echo signals, e.g. pulse detection by deriving and controlling a threshold value
    • 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/491Details of non-pulse systems
    • G01S7/4912Receivers
    • G01S7/4913Circuits for detection, sampling, integration or read-out
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Electromagnetism (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Traffic Control Systems (AREA)

Abstract

Es wird eine Technologie zum Kartieren einer physischen Umgebung beschrieben. Ein beispielhaftes Verfahren kann das Empfangen von Laserpunktdaten für Laserlicht, das von der physischen Umgebung reflektiert wird und durch einen Lasersensor detektiert wird, umfassen. Punkte, die in den Laserpunktdaten enthalten sind, werden mit Rasterzellen in einer Umgebungskarte, welche die physische Umgebung darstellt, korreliert. Fehlerbereiche für die Punkte, die mit den Rasterzellen korrelieren, können teilweise basierend auf einer Fehlerverteilung bestimmt werden. Dann können Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte unter Verwendung einer Interpolationstechnik und Belegungswahrscheinlichkeiten von Rasterzellen für angrenzende Fehlerrasterzellen, die teilweise basierend auf den Fehlerbereichen der Punkte ausgewählt werden, berechnet werden, und die Rasterzellen in der Umgebungskarte können mit den Belegungswahrscheinlichkeiten aktualisiert werden.

Description

  • HINTERGRUND
  • LIDAR (d.h. „Light Detection And Ranging“ oder „Light Imaging, Detection, And Ranging“) ist eine Technik, die verwendet wird, um eine Entfernung bis zu einem Zielobjekt zu messen, indem das Zielobjekt mit Laserlicht beleuchtet wird und indem das reflektierte Laserlicht, das unter Verwendung eines Lasersensors detektiert wird, gemessen wird. Unterschiede der Rückkehrzeiten und der Wellenlängen des Laserlichts, die durch den Lasersensor detektiert werden, können verwendet werden, um digitale Darstellungen des Zielobjekts zu erstellen. Die LIDAR-Technologie kann in der Robotik verwendet werden, um eine Wahrnehmung einer physischen Umgebung zu erzielen. Beispielsweise kann eine LIDAR-Ausgabe verwendet werden, um zu bestimmen, ob es eventuelle Hindernisse in einer physischen Umgebung gibt, und wo sich ein Roboter im Verhältnis zu den eventuellen Hindernissen befindet. Die LIDAR-Technologie kann von autonomen Fahrzeugen zur Detektion und Vermeidung von Hindernissen verwendet werden, um durch physische Umgebungen zu navigieren.
  • Die gleichzeitige Lokalisierung und Kartierung („Simultaneous Localization and Mapping“, SLAM) ist ein rechnerisches Problem, das darin besteht eine Karte einer unbekannten Umgebung zu entwerfen oder zu aktualisieren und dabei gleichzeitig einen Agentenstandort innerhalb der Umgebung zu verfolgen. LIDAR-SLAM-Techniken können verwendet werden, um Umgebungskarten unter Verwendung von Laserpunktdaten, die von einer LIDAR-Vorrichtung erzielt werden, aufzubauen. Ein Beispiel einer SLAM-Technik umfasst das Abgleichen von Abtastung und Kartierung, wobei eine Umgebungskarte allmählich entwickelt wird, indem sie Abtastdaten mit vorhergehenden Abtastdaten abgeglichen werden. Beim Abgleichen von Abtastung und Kartierung wird eine 2D-(zweidimensionale) Rasterkarte verwendet, um eine 2D-Umgebung darzustellen. Eine Rasterzelle kann belegt sein, falls ein Teil eines Objekts innerhalb der Rasterzelle detektiert wird. Eine Wahrscheinlichkeit, dass eine Rasterzelle belegt ist (Belegungswahrscheinlichkeit) wird bei der Kartierung abgeleitet.
  • Figurenliste
  • Die Merkmale und Vorteile der technologischen Ausführungsformen werden aus der nachstehenden ausführlichen Beschreibung hervorgehen, wenn sie zusammen mit den beiliegenden Zeichnungen gesehen wird, die zusammen beispielhaft Merkmale der Ausführungsformen abbilden. Es zeigen:
    • 1 ein Blockdiagramm, das ein umfassendes Beispiel einer LIDAR-Vorrichtung abbildet, die verwendet wird, um eine physische Umgebung unter Verwendung von Laserpunktdaten und einer Fehlerbereichsverteilung zu kartieren.
    • 2 ein Ablaufschema, das ein beispielhaftes Verfahren zum Berechnen von Belegungswahrscheinlichkeiten für Rasterzellen in einer Umgebungskarte abbildet.
    • 3 ein Diagramm, das die Berechnung der Belegungswahrscheinlichkeit einer Rasterzelle unter Verwendung einer bilinearen Interpolation abbildet.
    • 4 ein Diagramm, das die Berechnung der Belegungswahrscheinlichkeit einer Rasterzelle unter Verwendung einer bikubischen Interpolation abbildet.
    • 5 ein Blockdiagramm, das Komponenten einer beispielhaften Rechenvorrichtung abbildet, auf der die vorliegende Technologie ausgeführt werden kann.
    • 6 ein Ablaufschema, das ein beispielhaftes Verfahren zum Kartieren einer physischen Umgebung abbildet.
    • 7 ein Blockdiagramm, das ein Beispiel eines Rechengeräts abbildet, das verwendet werden kann, um ein Verfahren zum Kartieren einer physischen Umgebung auszuführen.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Bevor erfinderische Ausführungsformen beschrieben werden, versteht es sich, dass die vorliegende Offenbarung nicht auf die bestimmten Strukturen, Prozessschritte oder Materialien eingeschränkt ist, die hier offenbart werden, sondern für die Äquivalente derselben gilt, die der Fachmann auf diesem Gebiet erkennen würde. Es versteht sich ebenfalls, dass die hier verwendete Terminologie nur zum Zweck der Beschreibung bestimmter Beispiele oder Ausführungsformen bestimmt ist und nicht dazu gedacht ist, einschränkend zu sein. Die gleichen Bezugszeichen in verschiedenen Zeichnungen stellen das gleiche Element dar. Die Zahlen, die in Ablaufschemata und Prozessen bereitgestellt werden, dienen der Übersichtlichkeit bei der Erläuterung von Schritten und Arbeitsgängen und geben nicht unbedingt eine bestimmte Reihenfolge oder Sequenz an.
  • Außerdem können die beschriebenen Merkmale, Strukturen oder Kennzeichen beliebig in einer oder mehreren Ausführungsformen kombiniert werden. In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten bereitgestellt, wie etwa Beispiele von Anordnungen, Entfernungen, Netzwerkbeispiele usw., um ein gründliches Verständnis von diversen Ausführungsformen der Erfindung bereitzustellen. Der Fachmann auf dem betreffenden Gebiet wird jedoch erkennen, dass diese ausführlichen Ausführungsformen die globalen Konzepte, die hier formuliert werden, nicht einschränken, sondern nur für diese repräsentativ sind.
  • Wie sie in der vorliegenden schriftlichen Beschreibung verwendet werden, umfassen die Einzahlformen „ein, eine, ein“ und „der, die, das“ ausdrücklich die Unterstützung für mehrzahlige Verweise, soweit der Zusammenhang es nicht eindeutig anderweitig vorschreibt. Somit umfasst beispielsweise eine Bezugnahme auf „ein Netzwerk“ eine Vielzahl dieser Netzwerke.
  • Eine Bezugnahme in der gesamten vorliegenden Beschreibung auf „ein Beispiel“ bedeutet, dass ein bestimmtes Merkmal, eine Struktur oder ein Kennzeichen, das bzw. die in Verbindung mit dem Beispiel beschrieben wird, in mindestens einer technologischen Ausführungsform enthalten ist. Somit beziehen sich Vorkommnisse der Ausdrücke „ein Beispiel“ oder „eine Ausführungsform“ an diversen Stellen in der gesamten vorliegenden Beschreibung nicht unbedingt alle auf die gleiche Ausführungsform.
  • Wie der Begriff hier verwendet wird, kann eine Vielzahl von Elementen, Strukturelementen, Zusammensetzungselementen und/oder Materialien aus praktischen Gründen in einer gemeinsamen Liste präsentiert werden. Diese Listen sind jedoch derart auszulegen, dass jedes Element der Liste als ein separates und einzigartiges Element individuell identifiziert ist. Somit ist allein auf der Grundlage ihrer Präsentation in einer gemeinsamen Gruppe ohne gegenteiligen Hinweis kein einzelnes Element einer derartigen Liste als ein tatsächliches Äquivalent eines beliebigen anderen Elements der gleichen Liste anzusehen. Zudem kann hier auf diverse technologische Ausführungsformen und Beispiele zusammen mit Alternativen für die diversen Komponenten derselben Bezug genommen werden. Es versteht sich, dass derartige Ausführungsformen, Beispiele und Alternativen nicht als tatsächliche Äquivalente voneinander auszulegen sind, sondern in der vorliegenden Offenbarung als separate und autonome Darstellungen anzusehen sind.
  • Außerdem können die beschriebenen Merkmale, Strukturen oder Kennzeichen beliebig in einer oder mehreren Ausführungsformen kombiniert werden. In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten bereitgestellt, wie etwa Beispiele von Anordnungen, Entfernungen, Netzwerkbeispiele usw., um ein gründliches Verständnis der technologischen Ausführungsformen bereitzustellen. Der Fachmann auf dem betreffenden Gebiet wird jedoch erkennen, dass die Technologie ohne eine oder mehrere der spezifischen Einzelheiten oder mit anderen Verfahren, Komponenten, Anordnungen usw. in die Praxis umgesetzt werden kann. In anderen Fällen kann es sein, dass wohlbekannte Strukturen, Materialien oder Arbeitsgänge nicht gezeigt oder ausführlich beschrieben werden, um eine Verschleierung der Aspekte der Offenbarung zu vermeiden.
  • In der vorliegenden Anmeldung können die Begriffe „umfasst“, „umfassend“, „enthaltend“ und „aufweisend“ und dergleichen die Bedeutung haben, die ihnen das US-Patentrecht zuschreibt, und können „umfasst“, „umfassend“ und dergleichen bedeuten, und werden im Allgemeinen als offene Begriffe ausgelegt. Die Begriffe „bestehend aus“ oder „besteht aus“ sind geschlossene Begriffe, und umfassen nur die Komponenten, Strukturen, Schritte oder dergleichen, die in Verbindung mit diesen Begriffen spezifisch aufgeführt werden, und wie es dem US-Patentrecht entspricht. „Im Wesentlichen bestehend aus“ oder „besteht im Wesentlichen aus“ haben die Bedeutung, die ihnen das US-Patentrecht im Allgemeinen zuschreibt. Insbesondere sind diese Begriffe im Allgemeinen geschlossene Begriffe, außer dass sie die Einbeziehung von zusätzlichen Elementen, Materialien, Komponenten, Schritten oder Elementen zulassen, die sich nicht materiell auf die grundlegenden und neuartigen Kennzeichen oder die Funktion des oder der Elemente, die in Verbindung damit verwendet werden, auswirken. Beispielsweise wären Spurenelemente, die in einer Zusammensetzung vorliegen, sich jedoch nicht auf die Beschaffenheit oder die Kennzeichen der Zusammensetzung auswirken, zulässig, falls sie unter dem Wortlaut „im Wesentlichen bestehend aus“ vorhanden sind, obwohl sie sie nicht ausdrücklich in einer Liste von Elementen erwähnt werden, die eine derartige Terminologie befolgt. Wenn in der vorliegenden schriftlichen Beschreibung ein offener Begriff, wie etwa „umfassend“, verwendet wird, versteht es sich, dass auch eine direkte Unterstützung für den Wortlaut „im Wesentlichen bestehend aus“ sowie den Wortlaut „bestehend aus“ zu gelten hat, als ob er ausdrücklich angegeben wäre, und umgekehrt.
  • Die Begriffe „erster“, „zweiter“, „dritter“, „vierter“ und dergleichen in der Beschreibung und in den Ansprüchen werden gegebenenfalls verwendet, um zwischen ähnlichen Elementen zu unterscheiden, und nicht unbedingt, um eine bestimmte sequentielle oder chronologische Reihenfolge zu beschreiben. Es versteht sich, dass alle derart verwendeten Begriffe unter geeigneten Umständen austauschbar sind, so dass die hier beschriebenen Ausführungsformen beispielsweise zu einem Betrieb in anderen Sequenzen als den abgebildeten oder anderweitig hier beschriebenen fähig sind. Ähnlich ist, falls ein Verfahren hier als eine Reihe von Schritten umfassend beschrieben wird, die Reihenfolge dieser Schritte, wie hier präsentiert, nicht unbedingt die einzige Reihenfolge, in der diese Schritte ausgeführt werden können, und einige der angegebenen Schritte können möglicherweise entfallen und/oder gewisse andere Schritte, die hier nicht beschrieben werden, können möglicherweise zu dem Verfahren hinzugefügt werden.
  • Wie sie hier verwendet werden, beziehen sich vergleichende Begriffe, wie etwa „erhöht“, „verringert“, „besser“, „schlechter“, „höher“, „niedriger“, „verbessert“ und dergleichen auf eine Eigenschaft eines Systems, eines Geräts, einer Vorrichtung, einer Komponente oder einer Aktivität, die messbar anders als andere Systeme, Geräte, Vorrichtungen, Komponenten oder Aktivitäten in einer Umgebung oder einem angrenzen Bereich, in einer einzigen Vorrichtung oder in mehreren vergleichbaren Entitäten, in einer Gruppe oder in einer Klasse, in mehreren Gruppen oder Klassen oder im Vergleich zu dem bekannten Stand der Technik ist. Beispielsweise kann sich eine Datenregion, die ein „erhöhtes“ Korruptionsrisiko aufweist, auf eine Region einer Speichervorrichtung beziehen, in der es wahrscheinlicher ist, dass darin Schreibfehler vorliegen, als in anderen Regionen in derselben Speichervorrichtung. Eine gewisse Anzahl von Faktoren kann ein derartiges erhöhtes Risiko verursachen, wozu der Standort, der Fertigungsprozess, die Anzahl von Programmimpulsen, die auf die Region angewendet werden, usw. gehören.
  • Zahlenbeträge und Daten können hier in einem Bereichsformat ausgedrückt oder präsentiert werden. Es versteht sich, dass ein derartiges Bereichsformat nur der Einfachheit und Kürze halber verwendet wird und somit flexibel auszulegen ist, um nicht nur die Zahlenwerte zu umfassen, die ausdrücklich als die Grenzen des Bereichs erwähnt werden, sondern auch, um alle einzelnen Zahlwerte oder Teilbereiche zu umfassen, die in diesem Bereich einbezogen sind, als ob jeder Zahlenwert und Teilbereich ausdrücklich erwähnt wäre. Zur Erläuterung ist ein Zahlenbereich von „ungefähr 1 bis ungefähr 5“ auszulegen, so dass er nicht nur die ausdrücklich erwähnten Werte von ungefähr 1 bis ungefähr 5 umfasst, sondern auch einzelne Werte und Teilbereiche innerhalb des angegebenen Bereichs umfasst. Somit sind in diesem Zahlenbereich einzelne Werte, wie etwa 2, 3 und 4 und Teilbereiche, wie etwa 1 bis 3, von 2 bis 4 und von 3 bis 5 usw., sowie 1; 1,5; 2; 2,3; 3; 3,8; 4; 4,6; 5 und 5,1 einzeln enthalten.
  • Das gleiche Prinzip gilt für Bereiche, die nur einen Zahlenwert als ein Minimum oder ein Maximum erwähnen. Außerdem hat diese Auslegung unabhängig von der Breite des Bereichs oder den beschriebenen Kennzeichen zu gelten.
  • Ausführungsbeispiele
  • Ein anfänglicher Überblick über die technologischen Ausführungsformen wird nachstehend bereitgestellt, und danach werden spezifische technologische Ausführungsformen ausführlicher beschrieben. Diese anfängliche Kurzdarstellung ist dazu gedacht, den Lesern zu helfen, die Technologie schneller zu verstehen, ist jedoch nicht dazu gedacht, ausschlaggebende oder wesentliche technologische Merkmale zu identifizieren, und ist auch nicht dazu gedacht, den Umfang des beanspruchten Gegenstands einzuschränken.
  • Es wird eine Technologie zum Kartieren einer physischen Umgebung unter Verwendung verschiedener Abtast- und Kartierverfahren beschrieben, die teilweise basierend auf Hardware-Messfehlern ausgewählt werden. Eine LIDAR-Vorrichtung kann konfiguriert sein, um eine unbekannte Umgebung unter Verwendung von Laserpunktdaten und vordefinierten Fehlerbereichen, die mit Hardware-Messfehlern verknüpft sind, zu kartieren. Es können verschiedene Abtast- und Kartierverfahren verwendet werden, die Laserpunktdaten mit einer Umgebungskarte basierend auf einem Fehlerbereich eines Laserpunktes abzugleichen. Beim Abgleichen von Abtasten und Kartieren wird eine 2D-Rasterkarte verwendet, um eine 2D-Umgebung darzustellen. Eine Rasterzelle in der Rasterkarte ist belegt, wenn bestimmt wird, dass sich ein Abschnitt eines Objekts innerhalb der Rasterzelle befindet. Die Wahrscheinlichkeit, dass jede Zelle belegt ist, wird in der Rasterkarte unter Verwendung von Belegungswahrscheinlichkeiten abgeleitet. Die Technologie berechnet eine Belegungswahrscheinlichkeit für eine Rasterzelle, indem sie zuerst die Belegungswahrscheinlichkeiten für jeden Laserpunkt, der im Innern der Rasterzelle enthalten ist, basierend auf einem Fehlerbereich, der mit jedem Laserpunkt verknüpft ist, berechnet, und indem sie dann die Belegungswahrscheinlichkeiten für die Umgebungskarte summiert. Die Belegungswahrscheinlichkeit für die Rasterzelle kann verwendet werden, um eine Umgebungskarte zu aktualisieren, die beispielsweise verwendet werden kann, um eine Roboterpose zu bestimmen oder um durch eine unbekannte Umgebung zu navigieren.
  • Viele Kartierungsverfahren gehen davon aus, dass die Laserpunktdaten (Entfernung und Winkel) richtig sind. Hardware-Messfehler können jedoch zu falschen Laserpunktdaten führen. Beispielsweise kann ein Lasersensor, der bei einem auf Triangulation basierenden LIDAR verwendet wird, Winkelmessfehler generieren, die zu einer Entfernungs- und Winkelabweichung eines Objektpunktes führen. Die Abweichung nimmt mit der Entfernung von dem Objektpunkt zu. Hardware-Messfehler können bei einigen kostengünstigen LIDAR-Systemen häufiger vorkommen, was zu falschen Laserpunktdaten und einer falschen Kartierung der Umgebung führt. Die vorliegende Technologie bietet Lösungen für das falsche Kartieren der Umgebung, das mit Hardware-Messfehler einhergeht.
  • Um die Technologie weiter zu beschreiben, werden nun Beispiele mit Bezug auf die Figuren bereitgestellt. 1 ist ein Diagramm, das ein Beispiel eines LIDAR-Geräts oder einer Vorrichtung 102, das Kartieren einer physischen Umgebung unter Verwendung von Laserpunktdaten und eine Fehlerbereichsverteilung 106 abbildet. Bei einem Beispiel kann das LIDAR-Gerät bzw. die Vorrichtung 102 konfiguriert sein, um Belegungswahrscheinlichkeiten für Rasterzellen 108 zu berechnen, die in einer Umgebungskarte 110 enthalten sind. Die Umgebungskarte 110 kann eine 2D-Rasterkarte umfassen, die verwendet wird, um eine physische 2D-Umgebung darzustellen. Die Rasterzellen 108, die in der Umgebungskarte 110 enthalten sind, können mit Belegungswahrscheinlichkeiten verknüpft sein, die eine Wahrscheinlichkeit darstellen, dass eine Rasterzelle 108 (mindestens teilweise) mit einem Objekt belegt ist. Genauer gesagt gibt eine Belegungswahrscheinlichkeit für eine Rasterzelle 108 an, ob ein physischer Raum, der durch die Rasterzelle 108 dargestellt wird, mindestens teilweise von einem physischen Objekt belegt sein kann.
  • Es kann eine Fehlerbereichsverteilung 106 verwendet werden, um Belegungswahrscheinlichkeiten für Rasterzellen 108, die in einer Umgebungskarte 110 enthalten sind, zu berechnen. Die Fehlerbereichsverteilung 106 kann einen Bereich von Entfernungen von einem Lasersensor (der in einem LIDAR-Gerät bzw. einer Vorrichtung 102 enthalten ist) bis zu Entfernungspunkten, die mit Hardware-Messfehlern verknüpft sind, wie etwa Winkelmessfehler, die zu Entfernungs- und Winkelabweichungen von Objektpunkten führen, vorgeben. Da Hardware-Messfehler mit der Entfernung zunehmen, kann eine Fehlerbereichsverteilung 106 Fehlerbereiche für verschiedene Entfernungen, die mit Hardware-Messfehlern verknüpft sind, vorgeben. Beispielsweise kann eine Fehlerbereichsverteilung 106 einen ersten Bereich (z. B. weniger als 5 m), in dem keine Hardware-Messfehler vorkommen, einen zweiten Bereich (z. B. zwischen 5 und 6 m), in dem ein vorgegebener Hardware-Messfehler vorkommen kann (z. B. ein einprozentiger Entfernungsfehler), einen dritten Bereich (z. B. zwischen 6 und 7 m), in dem ein anderer vorgegebener Hardware-Messfehler vorkommen kann (z. B. ein zweiprozentiger Entfernungsfehler), und so weiter umfassen.
  • Das LIDAR-Gerät bzw. die Vorrichtung 102 kann konfiguriert sein, um eine physische Umgebung unter Verwendung von Laserlicht abzutasten und um das Laserlicht, das von der physischen Umgebung reflektiert wird, unter Verwendung eines Lasersensors zu detektieren. Das detektierte Laserlicht kann in Laserpunktdaten umgewandelt werden, die eine Entfernung von dem Lasersensor bis zu einem Zielobjekt umfassen (z. B. eine kartesische Koordinaten- (x, y) Messung). Beim Abgleich von Abtastung und Kartierung können Laserpunktdaten, die durch das LIDAR-Gerät bzw. die Vorrichtung 102 generiert werden, für einen Abschnitt einer physischen Umgebung, der unter Verwendung eines Transformationswinkels 104 identifiziert wird, bestimmt sein. Beispielsweise kann eine Fläche einer physischen Umgebung, die einem Transformationswinkel 104 entspricht, durch das LIDAR-Gerät bzw. die Vorrichtung 102 abgetastet werden, und es können Laserpunktdaten für die Fläche generiert werden. Die Laserpunktdaten, die durch das LIDAR-Gerät bzw. die Vorrichtung 102 generiert werden, können verwendet werden, um eine Umgebungskarte 110 zu erstellen, welche die physische Umgebung darstellt. Genauer gesagt kann die Umgebungskarte 110 erstellt werden, indem eine Belegungswahrscheinlichkeit für die Rasterzellen 108, die in der Umgebungskarte 110 enthalten sind, unter Verwendung der Laserpunktdaten und der Fehlerbereichsverteilung 106 berechnet wird. Die Belegungswahrscheinlichkeiten können verwendet werden, um die Umgebungskarte 110 unter Verwendung des nachstehend beschriebenen Verfahrens zu erstellen und zu aktualisieren.
  • 2 ist ein Ablaufschema, das ein beispielhaftes Verfahren 200 zum Berechnen von Belegungswahrscheinlichkeiten für Rasterzellen in einer Umgebungskarte abbildet. Wie in Block 202 umfasst das Verfahren das Erzielen von Laserpunktdaten, die aus einer LIDAR-Abtastung einer physischen Umgebung generiert werden, und Fehlerbereichsverteilungsdaten, die Fehlerbereiche für verschiedene Entfernungen, die mit Hardware-Messfehlern verknüpft sind, vorgeben. Wie in Block 204 kann ein Transformationswinkel initialisiert werden. Der Transformationswinkel kann der LIDAR-Abtastung der physischen Umgebung entsprechen, d. h. der Fläche der physischen Umgebung, die unter Verwendung von Laserlicht und eines Lasersensors, der in einem LIDAR-Gerät bzw. einer Vorrichtung enthalten ist, abgetastet wird. Die Laserpunktdaten, die durch die LIDAR-Abtastung und die Fehlerbereichsverteilungsdaten abgetastet werden, können verwendet werden, um Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte zu berechnen, die der Fläche entsprechen, die in dem Transformationswinkel enthalten ist. Das Verfahren 200 berechnet iterativ Belegungswahrscheinlichkeiten für die Rasterzellen, die in der Fläche des Transformationswinkels enthalten sind, aktualisiert den Transformationswinkel, indem es den Transformationswinkel um einen konstanten Wert verringert, und berechnet dann die Belegungswahrscheinlichkeiten für die Rasterzellen, die in der Fläche des aktualisierten Transformationswinkels enthalten sind, wie nachstehend erklärt.
  • Die Laserpunktdaten, die durch die LIDAR-Abtastung generiert werden, können Daten für einzelne Laserpunkte umfassen, die durch den Lasersensor detektiert werden. Die Laserpunktdaten können auf Punkte in der Umgebungskarte ausgerichtet werden, wie in Block 208, indem die Koordinaten der physischen Umgebung der Laserpunkte in Koordinaten der Umgebungskarte umgewandelt werden, wodurch Transformationspunkte gebildet werden. Die Transformationspunkte können verwendet werden, um die Laserpunkte darzustellen, die durch den Lasersensor detektiert werden, und die Transformationspunkte können auf die Umgebungskarte ausgerichtet werden, indem die Koordinaten der Transformationspunkte verwendet werden.
  • Wie in Block 210 kann ein Fehlerbereich für jeden Transformationspunkt unter Verwendung der Fehlerbereichsverteilungsdaten berechnet werden. Wie zuvor beschrieben, umfassen die Fehlerbereichsverteilungsdaten Fehlerbereiche, die mit Hardware-Messfehlern verknüpft sind. Ein Fehlerbereich, der in den Fehlerbereichsverteilungsdaten enthalten ist, kann einen Entfernungspunkt von dem LIDAR-Sensor umfassen, an dem Messfehler vorkommen können. Als ein Beispiel können die Koordinaten für einen Transformationspunkt verwendet werden, um eine Entfernung des Transformationspunktes von dem LIDAR-Sensor zu bestimmen, und die Entfernung des Transformationspunktes kann verwendet werden, um einen Fehlerbereich zu identifizieren, welcher der Entfernung des Transformationspunktes entspricht. Die Entfernung des Fehlerbereichs kann auf die Umgebungskarte skaliert werden. Auch kann ein Fehlerbereich, der in den Fehlerbereichsverteilungsdaten enthalten ist, mit einem Messfehler verknüpft sein (z. B. einem Winkelfehler und/oder einem Entfernungsfehler, der mit dem Messen eines Laserpunktes verknüpft ist). Als ein Beispiel kann ein Fehlerbereich mit einem Messfehleranteil verknüpft sein. Entsprechend kann ein Fehlerbereich einen Entfernungspunkt von einem Lasersensor aus vorgeben und einen Messfehler, der mit dem Entfernungspunkt verknüpft ist, vorgeben. Erläuternd kann ein Fehlerbereich, der einer Entfernung von dem Lasersensor entspricht, in der keine Messflächen vorkommen können, vielleicht keinen Messfehler vorgeben, oder der Messfehler kann gleich null sein.
  • Jeder Transformationspunkt, der auf die Umgebungskarte ausgerichtet ist, kann innerhalb einer Rasterzelle auf der Umgebungskarte enthalten sein. Eine Rasterzelle kann mehrere Transformationspunkte enthalten. Wie in Block 212 können Rasterzellen, die Transformationspunkte enthalten, identifiziert werden, und es kann eine Verknüpfung zwischen einer Rasterzelle und den Transformationspunkten, die innerhalb der Rasterzelle enthalten sind, erstellt werden. Beispielsweise können die Kartenkoordinaten für einen Transformationspunkt verwendet werden, um eine Rasterzelle auf der Umgebungskarte, die den Transformationspunkt enthält, zu identifizieren, und es kann eine Verknüpfung zwischen der Rasterzelle und dem Transformationspunkt erstellt werden.
  • Wie in Block 214 können Rasterzellen für jeden Transformationspunkt identifiziert werden. Die Fehlerrasterzellen können Rasterzellen neben einer Rasterzelle sein, die durch einen Transformationspunkt belegt ist, und die Belegungswahrscheinlichkeiten der Fehlerzellen können bei einer Berechnung der Belegungswahrscheinlichkeit, dass eine Rasterzelle einen Transformationspunkt enthält, verwendet werden. Die Fehlerrasterzellen können basierend auf einem Fehlerbereich eines Transformationspunktes, der in der Rasterzelle enthalten ist, identifiziert werden. Beispielsweise kann eine Interpolationstechnik, die verwendet wird, um eine Belegungswahrscheinlichkeit für eine Rasterzelle, die einen Transformationspunkt enthält, zu berechnen, basierend auf dem Fehlerbereich des Transformationspunktes ausgewählt werden.
  • Bei einem Beispiel kann eine bilineare Interpolation verwendet werden, um die Belegungswahrscheinlichkeit für Rasterzellen zu berechnen, wenn ein Fehlerbereich für einen Transformationspunkt mit einem Messfehler von null verknüpft ist. Mit anderen Worten kann eine bilineare Interpolation verwendet werden, um die Belegungswahrscheinlichkeit für Transformationspunkte, die sich in einer Fläche der Umgebungskarte befinden, in der kein Messfehler vorkommt, zu berechnen. Als ein nicht einschränkendes Beispiel kann es sein, dass Entfernungen von weniger als 5 m von einem Lasersensor nicht mit Messfehlern verknüpft sind, und somit können Transformationspunkte, die sich innerhalb dieser Entfernungen befinden, Fehlerbereiche aufweisen, die gleich null sind. Wohingegen Entfernungen von mehr als 5 m von dem Lasersensor mit Messfehlern verknüpft sein können, und daher Transformationspunkte, die sich innerhalb dieser Entfernung befinden, Fehlerbereiche aufweisen können, die größer als null sind. Die bilineare Interpolation ist eine Technik zum Interpolieren von Funktionen von zwei Variablen (z. B. x und y) in einem geradlinigen 2D-Raster. Die bilineare Interpolation kann eine Nächster-Nachbar-Technik verwenden, um Belegungswahrscheinlichkeiten für Rasterzellen zu berechnen. Wie beispielsweise in 3 abgebildet, wird unter Verwendung der bilinearen Interpolation die Belegungswahrscheinlichkeit des Punktes (x,y) unter Verwendung der nächstgelegenen Fehlerrasterzellen (z. B. die nächsten zwei-mal-zwei Fehlerrasterzellen) berechnet.
  • Die bikubische Interpolation kann verwendet werden, um die Belegungswahrscheinlichkeit für Rasterzellen zu berechnen, wenn ein Fehlerbereich für einen Transformationspunkt mit einem Messfehler größer als null verknüpft ist. D. h. die bikubische Interpolation kann für Transformationspunkte verwendet werden, die sich in einer Fläche der Umgebungskarte befinden, in der Messfehler vorkommen können. Die bikubische Interpolation wird zum Interpolieren von Datenpunkten in einem zweidimensionalen regelmäßigen Raster verwendet. Eine Anzahl von angrenzenden Fehlerrasterzellen, die unter Verwendung der bikubischen Interpolation ausgewählt werden, kann unter Verwendung einer Abweichung für einen Transformationspunkt bestimmt werden, wobei die Anzahl der ausgewählten angrenzenden Fehlerzellen der Größe der Abweichung entspricht. Eine Entfernungsabweichung und eine Winkelabweichung können verwendet werden, um die Anzahl der angrenzenden Fehlerzellen auszuwählen. Als ein nicht einschränkendes Beispiel kann eine auf eine 5cm-Auflösung skalierte Umgebungskarte darstellen, dass Entfernungen von 5 cm von einem Lasersensor mit einem Messfehler verknüpft sind. Ein Transformationspunkt, der einen berechneten Fehlerbereich von 2 % in der Entfernung von 5 cm aufweist, weist eine 10cm- Abweichung auf. Wie in 4 abgebildet, da die Auflösung der Umgebungskarte 5 cm beträgt, können Fehlerrasterzellen innerhalb eines Bereichs von 10 cm des Transformationspunktes (z. B. 9 Fehlerrasterzellen) ausgewählt werden.
  • Nachdem die Fehlerrasterzellen in einem Fehlerbereich eines Transformationspunktes ausgewählt wurden, kann eine Belegungswahrscheinlichkeit für eine Rasterzelle, die den Transformationspunkt enthält, basierend auf den Belegungswahrscheinlichkeiten der angrenzenden Fehlerrasterzellen, wie in Block 216, berechnet werden. Es kann eine Interpolationstechnik verwendet werden, um die Belegungswahrscheinlichkeit für die Rasterzelle zu berechnen. Beispielsweise kann, wie zuvor beschrieben, wenn ein Transformationspunkt einen Fehlerbereich von null aufweist, eine bilineare Interpolation verwendet werden, um eine Belegungswahrscheinlichkeit für die Rasterzelle, die den Transformationspunkt enthält, zu berechnen. Erläuternd verwendet die bilineare Interpolation die Belegungswahrscheinlichkeitswerte der nächstgelegenen Fehlerrasterzellen, um eine Belegungswahrscheinlichkeit einer Rasterzelle zu berechnen, indem ein gewichteter Mittelwert der Belegungswahrscheinlichkeiten berechnet wird, um einen endgültigen interpolierten Wert zu erreichen. Eine Gewichtung für jede der Fehlerrasterzellen kann auf der Entfernung der Fehlerrasterzellen von dem Transformationspunkt basieren. Wenn ein Transformationspunkt einen Fehlerbereich aufweist, der größer als null ist, kann eine bikubische Interpolation verwendet werden, um eine Belegungswahrscheinlichkeit für die Rasterzelle, die den Transformationspunkt enthält, zu berechnen. Erläuternd kann eine bikubische Interpolation unter Verwendung von Lagrange-Polynomen, kubischen Splines oder eines kubischen Faltungsverfahrens ausgeführt werden.
  • Es kann eine Belegungswahrscheinlichkeit für jeden Transformationspunkt, der in einer Rasterzelle enthalten ist, wie zuvor beschrieben berechnet werden. Beispielsweise kann eine Rasterzelle mehrere Transformationspunkte enthalten. Es kann eine Belegungswahrscheinlichkeit für jeden der Transformationspunkte, die in der Rasterzelle enthalten sind, berechnet werden. Nach dem Berechnen einer Belegungswahrscheinlichkeit für jeden Transformationspunkt, der in der Rasterzelle enthalten ist, wie in Block 218, kann eine Summe der Transformationsbelegungswahrscheinlichkeiten (TOPS) für die Umgebungskarte berechnet werden, indem die Belegungswahrscheinlichkeiten, die für jeden Transformationspunkt, der in der Rasterzelle enthalten ist, berechnet werden, summiert werden. Als eine vereinfachte Erläuterung kann das Verfahren 200 die Transformationspunkte in einer Rasterzelle unter Verwendung von fünf Transformationswinkeln fünfmal drehen. Bei jeder Drehung werden die Belegungswahrscheinlichkeiten der Rasterzellen summiert, um eine TOPS für die Umgebungskarte zu bilden.
  • Es kann eine TOPS für die Umgebungskarte berechnet werden, die einem Transformationswinkel entspricht. Nach der Berechnung einer TOPS für die Umgebungskarte unter Verwendung des Transformationswinkels kann die TOPS für die Umgebungskarte in einem Speicher abgelegt werden, und wie in Block 220 kann der Transformationswinkel um einen konstanten Wert verringert werden, und eine andere Iteration des Berechnens einer TOPS für die Umgebungskarte unter Verwendung des Transformationswinkels kann ausgeführt werden, bis wie in Block 206 eine Bestimmung erfolgt, dass der Transformationswinkel größer als ein Schwellenwert ist.
  • Nach dem Iterieren über den Transformationswinkel, um die TOPS für die Umgebungskarte zu berechnen, kann wie in Block 222 der größte TOPS-Wert für die Umgebungskarte ausgewählt werden. Bei einem Beispiel, wie zuvor beschrieben, kann für jede Iteration des Transformationswinkels, ein TOPS-Wert, der für die Umgebungskarte berechnet wird, in einem Speicher aufbewahrt werden, und die TOPS-Werte können verglichen werden, um den größten TOPS-Wert für die Umgebungskarte zu bestimmen. Bei einem anderen Beispiel kann nach jeder Iteration des Transformationswinkels ein aktueller TOPS-Wert, der für die Umgebungskarte berechnet wird, mit einem letzten TOPS-Wert für die Umgebungskarte, der in dem Speicher abgelegt ist, verglichen werden, und der größte TOPS-Wert zwischen der aktuellen TOPS und der letzten TOPS kann in dem Speicher aufbewahrt werden.
  • Wie in Block 224 kann die Umgebungskarte aktualisiert werden, indem die Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte auf die zuvor ausgewählten größten TOPS-Werte eingestellt werden. Daraufhin wird die Umgebungskarte aktualisiert, um die physische Umgebung, die unter Verwendung der LIDAR-Abtastung detektiert wird, darzustellen. Wie in Block 226 können die Belegungswahrscheinlichkeiten in der aktualisierten Umgebungskarte verwendet werden, um eine Roboterpose zu berechnen, um durch die physische Umgebung zu navigieren, oder dergleichen.
  • 5 bildet Komponenten eines beispielhaften Rechengeräts bzw. einer Vorrichtung 502 ab, auf dem bzw. der die vorliegende Technologie zum Kartieren einer physischen Umgebung unter Verwendung von Laserpunktdaten und einer Fehlerbereichsverteilung ausgeführt werden kann. Das Rechengerät bzw. die Vorrichtung 502 kann eine LIDAR-Vorrichtung umfassen, oder das Rechengerät bzw. die Vorrichtung 502 kann eine Vorrichtung umfassen, die kommunikationsmäßig mit LIDAR-Komponenten, wie etwa mit einer Laservorrichtung 516 und einem Lasersensor 518, verbunden ist. Das Rechengerät bzw. die Vorrichtung 502 kann Module umfassen, die konfiguriert sind, um eine physische Umgebung zu kartieren und um eine Pose zu berechnen und/oder um durch die physische Umgebung zu navigieren. Erläuternd kann das Rechengerät bzw. die Vorrichtung 502 eine Komponente eines Roboters oder eines autonomen Fahrzeugs sein, und das Rechengerät bzw. die Vorrichtung 502 kann konfiguriert sein, um ein Verfahren zur gleichzeitigen Lokalisierung und Kartierung (SLAM) auszuführen.
  • Wie abgebildet kann das Rechengerät bzw. die Vorrichtung 502 ein Kartierungsmodul 508, ein Fehlerbereichsmodul 504, ein Belegungswahrscheinlichkeitsmodul 506, ein Posen-/Navigationsmodul 510 und andere Module umfassen. Das Kartierungsmodul 508 kann konfiguriert sein, um eine Umgebungskarte, die eine physische Umgebung darstellt, unter Verwendung von Laserpunktdaten, die durch eine LIDAR-Vorrichtung generiert werden, zu generieren. Das Kartierungsmodul 508 kann Laserpunktdaten für Laserlicht empfangen, das durch einen Lasersensor 518 detektiert wird. Der Lasersensor 518 detektiert Laserlicht, das von einer physischen Umgebung reflektiert wird, die durch eine Laservorrichtung 516 mit dem Laserlicht beleuchtet wird. Die Laserpunktdaten können Winkel und Entfernungen von Laserpunkten umfassen, die mit einer Laserabtastung einer physischen Umgebung verknüpft sind. Die Laserpunktdaten können auf die Umgebungskarte ausgerichtet ist. Bei einem Beispiel kann das Kartierungsmodul 508 konfiguriert sein, um Laserpunktdaten in Transformationspunkte auf einer Umgebungskarte unter Verwendung von Winkeln und Entfernungen der Laserpunkte umzuformen.
  • Eine Umgebungskarte kann unter Verwendung von Rasterzellen in eine Anzahl von verschiedenen Standorten unterteilt werden. Jede Rasterzelle kann verwendet werden, um eine Stelle in der Umgebungskarte zu identifizieren. Transformationspunkte, die auf die Umgebungskarte ausgerichtet sind, können innerhalb einer Rasterzelle enthalten sein. Rasterzellen, die einen oder mehrere Transformationspunkte enthalten, können identifiziert werden, und eine Belegungswahrscheinlichkeit für die Rasterzellen kann unter Verwendung des Belegungswahrscheinlichkeitsmoduls 506 berechnet werden. Eine Belegungswahrscheinlichkeit kann die Wahrscheinlichkeit angeben, dass eine Fläche, die durch eine Rasterzelle dargestellt wird, ein physisches Objekt enthält.
  • Bei einem Beispiel sendet das Kartierungsmodul 508 eine Anfrage für Belegungswahrscheinlichkeiten für Rasterzellen, die in einer Umgebungskarte enthalten sind, an das Belegungswahrscheinlichkeitsmodul 506. Das Belegungswahrscheinlichkeitsmodul 506 kann konfiguriert sein, um eine Belegungswahrscheinlichkeit für die Rasterzellen in einer Umgebungskarte unter Verwendung von Fehlerbereichen für Transformationspunkte, die innerhalb der Rasterzellen enthalten sind, zu berechnen. Das Belegungswahrscheinlichkeitsmodul 506 kann Fehlerbereiche für Transformationspunkte von dem Fehlerbereichsmodul 504 erzielen. Bei einem Beispiel kann das Fehlerbereichsmodul 504 konfiguriert sein, um Fehlerbereiche für Transformationspunkte unter Verwendung einer Fehlerbereichsverteilung zu berechnen. Eine Fehlerbereichsverteilung kann einen Bereich von Entfernungen von einem Lasersensor 518 bis zu Entfernungspunkten, die mit Hardware-Messfehlern, wie etwa einem Winkelmessfehler, der zu der Entfernungs- und Winkelabweichung eines Laserpunktes führt, verknüpft sind, vorgeben. Die Fehlerbereichsverteilung kann Fehlerbereiche für verschiedene Entfernungen vorgeben, von denen bestimmt wurde, dass sie zu Hardware-Messfehlern führen.
  • Ein Rechengerät bzw. eine Vorrichtung 502 kann unter Verwendung einer Fehlerbereichsverteilung, die den LIDAR-Komponenten entspricht, die verwendet werden, um Laserpunktdaten zu erheben, kalibriert werden. Beispielsweise können LIDAR-Vorrichtungen, die kostengünstige/minderwertige Komponenten umfassen, eher zu Materialfehlern neigen als LIDAR-Vorrichtungen, die höherwertige Komponenten umfassen. Auf Grund von Unterschieden zwischen den LIDAR Komponenten kann eine Fehlerbereichsverteilung für eine bestimmte Konfiguration von LIDAR-Komponenten bestimmt werden, und ein Rechengerät bzw. eine Vorrichtung 502 kann kalibriert werden, um die Fehlerbereichsverteilung zu verwenden, um eine Umgebungskarte zu generieren. Beispielsweise kann das Fehlerbereichsmodul 504 mit einer Fehlerbereichsverteilung, die einer Laservorrichtung 516 und/oder einem Lasersensor 518, der in dem Rechengerät bzw. der Vorrichtung 502 enthalten ist, entspricht, konfiguriert werden.
  • Das Fehlerbereichsmodul 504 kann einen Fehlerbereich für jeden Transformationspunkt auf einer Umgebungskarte unter Verwendung der Fehlerbereichsverteilung berechnen. Bei einem Beispiel kann ein Fehlerbereich für einen Transformationspunkt unter Verwendung der Koordinaten eines Transformationspunktes berechnet werden, um eine Entfernung des Transformationspunktes von einem Lasersensor zu bestimmen, und die Entfernung des Transformationspunktes kann verwendet werden, um einen Fehlerbereich zu identifizieren, welcher der Entfernung des Transformationspunktes entspricht. Wie zuvor beschrieben, kann die Entfernung eines Fehlerbereichs auf eine Umgebungskarte skaliert werden, und der Fehlerbereich kann mit einem Messfehler (z. B. einem Winkelfehler und/oder einem Entfernungsfehler, der mit dem Messen eines Laserpunktes verknüpft ist) verknüpft sein, so dass der Fehlerbereich einen Entfernungspunkt von einem Lasersensor vorgibt und einen Messfehler, der mit dem Entfernungspunkt verknüpft ist, vorgibt. Fehlerbereiche, die für Transformationspunkte unter Verwendung des Fehlerbereichsmoduls 504 berechnet werden, können an das Belegungswahrscheinlichkeitsmodul 506 zurückgegeben werden.
  • Fehlerbereiche für Transformationspunkte, die an das Belegungswahrscheinlichkeitsmodul 506 zurückgegeben werden, können verwendet werden, um eine Interpolationstechnik und angrenzende Fehlerrasterzellen, die verwendet werden, um die Belegungswahrscheinlichkeiten für Rasterzellen in der Umgebungskarte zu berechnen, auszuwählen. Bei einem Beispiel kann ein Wert eines Fehlerbereichs für einen Transformationspunkt verwendet werden, um eine Interpolationstechnik und angrenzende Fehlerrasterzellen auszuwählen. Beispielsweise kann eine bilineare Interpolation für Fehlerbereiche, die einen Messfehler von null aufweisen, verwendet werden, und eine bikubische Interpolation kann für Fehlerbereiche, die einen Messfehler aufweisen, der größer als null ist, verwendet werden. Für den Fall, dass die bilineare Interpolation ausgewählt wird, können Fehlerrasterzellen unter Verwendung einer Nächster-Nachbar-Technik ausgewählt werden. Für den Fall, dass die bikubische Interpolation ausgewählt wird, kann eine Anzahl von angrenzenden Fehlerrasterzellen unter Verwendung einer Abweichung für einen Transformationspunkt bestimmt werden, wobei die Anzahl der ausgewählten angrenzenden Fehlerzellen der Größe der Abweichung entspricht.
  • Das Belegungswahrscheinlichkeitsmodul 506 berechnet Belegungswahrscheinlichkeiten für Rasterzellen in einer Umgebungskarte unter Verwendung einer ausgewählten Interpolationstechnik, wie in Verbindung mit 2 beschrieben. Beispielsweise kann eine Belegungswahrscheinlichkeit für jeden Transformationspunkt, der in einer Rasterzelle enthalten ist, berechnet werden, und die Belegungswahrscheinlichkeiten können kumuliert werden, um eine Summe der Transformationsbelegungswahrscheinlichkeiten (TOPS) für die Umgebungskarte zu bilden. Dies kann für jede Iteration des Verringerns eines Transformationswinkels erfolgen. Nach dem Iterieren über den Transformationswinkel, um die TOPS für die Umgebungskarte zu berechnen, kann das Belegungswahrscheinlichkeitsmodul 506 konfiguriert sein, um den größten TOPS-Wert für jede Rasterzelle, die in der Umgebungskarte enthalten ist, auszuwählen. Die Belegungswahrscheinlichkeiten für die Rasterzellen können dann an das Kartierungsmodul 508 zurückgegeben werden, und das Kartierungsmodul 508 kann konfiguriert sein, um die Rasterzellen in der Umgebungskarte mit den Belegungswahrscheinlichkeiten zu aktualisieren.
  • Bei einem Beispiel kann das Posen-/Navigationsmodul 510 konfiguriert sein, um eine Roboterpose zu berechnen oder um eine Strecke durch eine physische Umgebung unter Verwendung der Belegungswahrscheinlichkeiten für Rasterzellen in einer Umgebungskarte zu berechnen. Bei der Computervision und der Robotertechnik kann eine LIDAR-Technologie verwendet werden, um Objekte in einer physischen Umgebung zu identifizieren und um die Position und Orientierung eines Objekts im Verhältnis zu einem Roboter, einem autonomen Fahrzeug oder dergleichen zu bestimmen. Informationen, die in einer Umgebungskarte enthalten sind, können verwendet werden, um beispielsweise ein Objekt unter Verwendung eines Roboters zu manipulieren, oder um zu vermeiden, mit einem autonomen Fahrzeug in ein Objekt zu fahren. Das Posen-/Navigationsmodul 510 kann die Informationen verwenden, die in einer Umgebungskarte enthalten sind, wozu die Belegungswahrscheinlichkeiten von Rasterzellen gehören, um eine Roboterpose zu berechnen und/oder um um ein Objekt herum zu navigieren.
  • 6 ist ein Ablaufschema, das ein beispielhaftes Verfahren 600 zum Kartieren einer physischen Umgebung abbildet. Wie in Block 610 können Laserpunktdaten für Laserlicht, das von einer physischen Umgebung reflektiert wird, empfangen werden. Das Laserlicht kann unter Verwendung eines Lasersensors detektiert werden, der konfiguriert ist, um das Laserlicht zu detektieren, das von der physischen Umgebung reflektiert wird, die mit dem Laserlicht beleuchtet wird. Beispielsweise kann eine LIDAR-Vorrichtung verwendet werden, um die physische Umgebung unter Verwendung eines Lasers und eines Lasersensors abzutasten, und Laserpunktdaten, die durch das Abtasten der physischen Umgebung generiert werden, können verwendet werden, um eine Umgebungskarte, welche die physische Umgebung darstellt, zu generieren und/oder zu aktualisieren.
  • Wie in Block 620 können Punkte, die in den Laserpunktdaten enthalten sind, mit Rasterzellen in einer Umgebungskarte korreliert werden, welche die physische Umgebung darstellt. Beispielsweise können die Laserpunktdaten Punktkoordinaten umfassen, die mit den Rasterzellen in der Umgebungskarte korrelieren, und die Punktkoordinaten können in Transformationspunkte umgewandelt werden, die sich auf der Umgebungskarte befinden. Bei einem Beispiel kann ein Transformationswinkel verwendet werden, um einen Abgleich von Abtastung und Kartierung vorzunehmen. Die Laserpunktdaten, die mit einer Fläche innerhalb der Grenzen des Transformationswinkels korrelieren, können auf die Umgebungskarte ausgerichtet sein, und es können Berechnungswahrscheinlichkeiten für Rasterzellen berechnet werden, die Punkte enthalten, die in den Laserpunktdaten dargestellt sind. Wie bereits beschrieben, kann der Transformationswinkel iterativ um einen konstanten Wert verringert werden, und Berechnungswahrscheinlichkeiten für Rasterzellen, die innerhalb der Grenzen des Transformationswinkels enthalten sind, können für jede Iteration berechnet werden, bis eine Bestimmung erfolgt, dass der Transformationswinkel kleiner als ein vordefinierter Schwellenwert ist, woraufhin eine Summe der besten Belegungswahrscheinlichkeiten für jede der Rasterzellen in der Umgebungskarte ausgewählt wird.
  • Wie in Block 630 können Fehlerbereiche für die Punkte, die in den Laserpunktdaten enthalten sind, teilweise basierend auf einer Fehlerverteilung bestimmt werden. Beispielsweise kann ein Fehlerbereich teilweise basierend auf einem Winkelfehler und einem Entfernungsfehler, die mit einem Punkt, der auf die Umgebungskarte ausgerichtet ist, verknüpft sind, berechnet werden, und der Fehlerbereich kann mit der Fehlerverteilung korreliert werden, die einen Messfehler vorgeben kann, der mit dem Fehlerbereich verknüpft ist. Wie in Block 640 können die Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte unter Verwendung einer Interpolationstechnik und der Belegungswahrscheinlichkeiten von Rasterzellen für angrenzende Fehlerrasterzellen, die teilweise basierend auf den Fehlerbereichen der Punkte ausgewählt werden, berechnet werden. Bei einem Beispiel können die Fehlerbereiche einen ersten Fehlerbereich und einen zweiten Fehlerbereich umfassen, wobei der erste Fehlerbereich eine Entfernung von einem Lasersensor zu einem vorgegebenen Punkt, der einen Anfang des zweiten Fehlerbereichs markiert, umfasst. Der erste Fehlerbereich kann mit einer bilinearen Interpolation verknüpft sein, die verwendet werden kann, um eine Belegungswahrscheinlichkeit für Rasterzellen, die Punkte enthalten, die sich innerhalb des ersten Fehlerbereichs befinden, zu berechnen. Der zweite Fehlerbereich kann mit einer bikubischen Interpolation verknüpft sein, die verwendet werden kann, um Belegungswahrscheinlichkeiten für Rasterzellen, die Punkte enthalten, die sich innerhalb des zweiten Fehlerbereichs befinden, zu berechnen.
  • Bei einem Beispiel kann eine Belegungswahrscheinlichkeit für eine Rasterzelle für jeden Punkt, der in der Rasterzelle enthalten ist, unter Verwendung einer Interpolationstechnik und angrenzender Fehlerrasterzellen, die teilweise basierend auf dem Fehlerbereich der Punkte, die innerhalb der Rasterzelle enthalten sind, ausgewählt werden, berechnet werden. Die Belegungswahrscheinlichkeiten, die für jeden Punkt, der innerhalb der Rasterzelle enthalten ist, berechnet werden, können summiert werden und eine kumulierte Belegungswahrscheinlichkeit für die Rasterzelle bilden. Danach kann eine Bestimmung erfolgen, dass die kumulierte Belegungswahrscheinlichkeit größer als eine aktuelle kumulierte Belegungswahrscheinlichkeit für die Umgebungskarte ist, und die aktuelle Belegungswahrscheinlichkeit für die Rasterzelle kann durch die Belegungswahrscheinlichkeit ersetzt werden.
  • Nach der Berechnung der Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte, wie in Block 650, können die Rasterzellen mit den Belegungswahrscheinlichkeiten aktualisiert werden. Erläuternd kann eine Pose basierend auf den Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte berechnet werden, und die Pose kann verwendet werden, um eine autonome Maschine, wie etwa einen Roboter oder ein Auto, zu positionieren und zu orientieren.
  • 7 bildet ein Rechengerät bzw. eine Vorrichtung 710 ab, auf dem bzw. der die Module der vorliegenden Technologie ausgeführt werden können. Es ist ein Rechengerät bzw. eine Vorrichtung 710 abgebildet, auf dem bzw. der ein umfassendes Beispiel der Technologie ausgeführt werden kann. Das Rechengerät bzw. die Vorrichtung 710 kann einen oder mehrere Prozessoren 712 umfassen, die mit Speichervorrichtungen 720 in Verbindung stehen. Das Rechengerät bzw. die Vorrichtung 710 kann eine lokale Kommunikationsschnittstelle 718 für die Komponenten in dem Rechengerät bzw. der Vorrichtung umfassen. Beispielsweise kann die lokale Kommunikationsschnittstelle 718 je nach Bedarf ein lokaler Datenbus und/oder ein beliebiger betreffender Adressen- oder Steuerbus sein.
  • Die Speichervorrichtung 720 kann Module 724, die durch den oder die Prozessoren 712 ausführbar sind, und Daten für die Module 724 enthalten. Beispielsweise kann die Speichervorrichtung 720 ein Kartierungsmodul, ein Fehlerbereichsmodul, ein Belegungswahrscheinlichkeitsmodul, ein Posen-/Navigationsmodul und andere Module umfassen. Die Module 724 können die bereits beschriebenen Funktionen erfüllen. Ein Datenverband 722 kann sich ebenfalls in der Speichervorrichtung 720 befinden, um Daten bezüglich der Module 724 und andere Anwendungen zusammen mit einem Betriebssystem, das durch den oder die Prozessoren 712 ausführbar ist, zu speichern.
  • Andere Anwendungen können ebenfalls in der Speichervorrichtung 720 gespeichert sein, und können durch den oder die Prozessoren 712 ausführbar sein. Die Komponenten oder Module, die in der vorliegenden Beschreibung besprochen werden, können in Form von Software umgesetzt werden, die höhere Programmiersprachen verwendet, die kompiliert, interpretiert oder unter Verwendung einer Kombination der Verfahren ausgeführt werden.
  • Das Rechengerät bzw. die Vorrichtung 710 kann auch Zugriff auf E/A-(Ein-/ Ausgabe) Vorrichtungen 714 haben, die durch die Rechenvorrichtung 710 verwendbar sind. Andere bekannte E/A-Vorrichtungen können mit der Rechenvorrichtung 710 je nach Bedarf verwendet werden. Netzwerkvorrichtungen 716 und ähnliche Kommunikationsvorrichtungen können in der Rechenvorrichtung enthalten sein. Die Netzwerkvorrichtungen 716 können drahtgebundene oder drahtlose Netzwerkvorrichtungen sein, die an das Internet, ein LAN, ein WAN oder ein anderes Computernetzwerk angeschlossen sind.
  • Die Komponenten oder Module, die als in der Speichervorrichtung 720 gespeichert gezeigt werden, können durch den oder die Prozessoren 712 ausgeführt werden. Der Begriff „ausführbar“ kann eine Programmdatei bedeuten, die in einer Form vorliegt, die durch einen Prozessor 712 ausführbar ist. Beispielsweise kann ein Programm in einer höheren Sprache in einem Format, das in einen Direktzugriffsabschnitt der Speichervorrichtung 720 geladen und durch den Prozessor 712 ausgeführt werden kann, zu Maschinencode kompiliert werden, oder der Source-Code kann durch ein anderes ausführbares Programm geladen und interpretiert werden, um Anweisungen in einem Direktzugriffsabschnitt des Speichers zu generieren, um durch einen Prozessor ausgeführt zu werden. Das ausführbare Programm kann in einem beliebigen Abschnitt oder einer Komponente der Speichervorrichtung 720 gespeichert sein. Beispielsweise kann die Speichervorrichtung 720 ein Arbeitsspeicher (RAM), ein Festspeicher (ROM), ein Flash-Speicher, ein Solid-State-Laufwerk, eine Speicherkarte, eine Festplatte, eine optische Platte, eine Diskette, ein Magnetband oder eine beliebige andere Speicherkomponente sein.
  • Der Prozessor 712 kann mehrere Prozessoren darstellen, und der Speicher 720 kann mehrere Speichereinheiten darstellen, die parallel zu den Verarbeitungsschaltungen betrieben werden. Dies kann parallele Verarbeitungskanäle für die Prozesse und Daten in dem System bereitstellen. Die lokale Schnittstelle 718 kann als ein Netzwerk verwendet werden, um die Kommunikation zwischen einem der mehreren Prozessoren und der mehreren Speicher zu ermöglichen. Die lokale Schnittstelle 718 kann zusätzliche Systeme verwenden, die zum Koordinieren der Kommunikation ausgelegt sind, wie etwa Lastausgleich, Volumendatenübertragung und ähnliche Systeme.
  • Obwohl die Ablaufschemata, die für die vorliegende Technologie präsentiert werden, eine spezifische Ausführungsreihenfolge bedingen können, kann die Ausführungsreihenfolge anders als abgebildet sein. Beispielsweise kann die Reihenfolge von zwei weiteren Blöcken mit Bezug auf die gezeigte Reihenfolge umgestellt werden. Ferner können zwei oder mehrere Blöcke, die nacheinander gezeigt werden, parallel oder mit Teilparallelisierung ausgeführt werden. Bei einigen Konfigurationen können einer oder mehrere Blöcke, die in dem Ablaufschema gezeigt werden, ausgelassen oder übersprungen werden. Eine beliebige Anzahl von Zählern, Zustandsvariablen, Warnsignalen oder Nachrichten könnte zu dem logischen Ablauf zum Zweck einer verbesserten Nützlichkeit, Kostenrechnung, Leistung, Messung, Fehlersuche oder aus ähnlichen Gründen hinzugefügt werden.
  • Einige der Funktionseinheiten, die in der vorliegenden Beschreibung beschrieben wurden, wurden als Module bezeichnet, um insbesondere ihre Umsetzungsunabhängigkeit hervorzuheben. Beispielsweise kann ein Modul als eine Hardware-Schaltung umgesetzt werden, die spezifische VLSI-Schaltungen oder logische Anordnungen, serienmäßig produzierte Halbleiter, wie etwa logische Chips, Transistoren oder andere diskrete Komponenten umfassen. Ein Modul kann auch in programmierbaren Hardware-Vorrichtungen, wie etwa in frei programmierbaren logischen Anordnungen, in einem programmierbaren Logikbaustein, programmierbaren Logikvorrichtungen oder dergleichen umgesetzt sein.
  • Die Module können auch als Software zur Ausführung durch diverse Prozessortypen umgesetzt sein. Ein identifiziertes Modul von ausführbarem Code kann beispielsweise einen oder mehrere Blöcke von Computeranweisungen umfassen, die als ein Objekt, eine Vorgehensweise oder eine Funktion organisiert sein können. Dennoch müssen sich die Programmdateien eines identifizierten Moduls nicht physisch zusammen befinden, sondern können disparate Anweisungen umfassen, die an verschiedenen Stellen gespeichert sind, die das Modul umfassen und den angegebenen Zweck für das Modul erfüllen, wenn sie logisch zusammengefügt werden.
  • In der Tat kann ein Modul von ausführbarem Code einer einzigen Anweisung oder zahlreichen Anweisungen entsprechen und kann sogar auf mehrere verschiedene Codesegmente, auf verschiedene Programme und über mehrere Speichervorrichtungen verteilt sein. Ähnlich können Betriebsdaten hier innerhalb von Modulen identifiziert und abgebildet sein und können in einer beliebigen geeigneten Form ausgebildet sein und innerhalb eines beliebigen geeigneten Datenstrukturtyps organisiert sein. Die Betriebsdaten können als ein einzelner Datensatz erhoben werden oder können auf verschiedene Stellen verteilt sein, einschließlich auf verschiedene Speichervorrichtungen. Die Module können passiv oder aktiv sein, einschließlich Agenten, die betriebsfähig sind, um gewünschte Funktionen zu erfüllen.
  • Die hier beschriebene Technologie kann auch auf einem computerlesbaren Speichermedium gespeichert sein, das flüchtige und nicht flüchtige, auswechselbare und nicht auswechselbare Datenträger umfasst, die mit einer beliebigen Technologie für die Speicherung von Informationen, wie etwa computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten, umgesetzt werden. Computerlesbare Speichermedien umfassen ohne Einschränkung nicht vorübergehende Datenträger, wie etwa RAM, ROM, EEPROM, Flash-Speicher oder eine andere Speichertechnologie, CD-ROM, DVD oder andere optische Speicherung, Magnetkassetten, Magnetbänder, Magnetplattenspeicherung oder beliebige andere Computerspeichermedien, die verwendet werden können, um die gewünschten Informationen und die beschriebene Technologie zu speichern.
  • Die hier beschriebenen Vorrichtungen und Systeme können auch Kommunikationsverbindungen oder Netzwerkgeräte und Netzwerkverbindungen enthalten, die es den Vorrichtungen und Systemen ermöglichen, mit anderen Vorrichtungen und/oder Systemen zu kommunizieren. Kommunikationsverbindungen sind ein Beispiel für Kommunikationsmedien. Kommunikationsmedien bilden typischerweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule und andere Daten in einem modulierten Datensignal aus, wie etwa einer Trägerwelle oder einem anderen Transportmechanismus und umfassen beliebige Informationsabgabemedien. Ein „moduliertes Datensignal“ bedeutet ein Signal, bei dem eines oder mehrere seiner Kennzeichen gesetzt sind oder derart geändert werden, dass sie Informationen in dem Signal codieren. Als nicht einschränkendes Beispiel umfassen die Kommunikationsmedien drahtgebundene Medien, wie etwa ein drahtgebundenes Netzwerk oder eine direkt verkabelte Verbindung und drahtlose Medien, wie etwa akustische, Funkfrequenz-, Infrarot- und andere drahtlose Medien. Der Begriff „computerlesbare Medien“, wie er hier verwendet wird, umfasst Kommunikationsmedien.
  • Es wurde auf die Beispiele Bezug genommen, die in den Zeichnungen abgebildet sind, und es wurde hier ein spezifischer Wortlaut verwendet, um diese zu beschreiben. Es versteht sich jedoch, dass dadurch keine Einschränkung des Umfangs der Technologie beabsichtigt ist. Änderungen und weitere Modifikationen der hier abgebildeten Merkmale und zusätzliche Anwendungen der Beispiele, wie sie hier abgebildet sind, sind im Umfang der Beschreibung zu berücksichtigen.
  • Außerdem können die beschriebenen Merkmale, Strukturen oder Kennzeichen auf eine beliebige geeignete Art und Weise in einem oder mehreren Beispielen kombiniert werden. In der vorstehenden Beschreibung wurden zahlreiche spezifische Einzelheiten bereitgestellt, wie etwa Beispiele von diversen Konfigurationen, um ein gründliches Verständnis von Beispielen der beschriebenen Technologie bereitzustellen. Es versteht sich jedoch, dass die Technologie ohne eine oder mehrere der spezifischen Einzelheiten oder mit anderen Verfahren, Komponenten, Vorrichtungen usw. in die Praxis umgesetzt werden kann. In anderen Fällen werden wohlbekannte Strukturen oder Arbeitsgänge nicht gezeigt oder nicht ausführlich beschrieben, um die Aspekte der Technologie nicht zu verschleiern.
  • Beispiele
  • Die folgenden Beispiele betreffen spezifische Ausführungsformen der Erfindung und verweisen auf spezifische Merkmale, Elemente oder Schritte, die verwendet werden können oder anderweitig zum Erreichen derartiger Ausführungsformen kombiniert werden können.
  • Bei einem Beispiel wird ein Gerät zum Kartieren einer physischen Umgebung bereitgestellt, wobei das Gerät einen Laser, der konfiguriert ist, um die physische Umgebung mit Laserlicht zu beleuchten, einen Lasersensor, der konfiguriert ist, um das Laserlicht zu detektieren, das von der physischen Umgebung reflektiert wird, einen oder mehrere Prozessoren und Speicher, die konfiguriert sind, um Laserpunktdaten von dem Lasersensor zu empfangen, um Punkte, die in den Laserpunktdaten enthalten sind, mit Rasterzellen, die in einer Umgebungskarte enthalten sind, welche die physische Umgebung darstellt, zu korrelieren, um Fehlerbereiche für die Punkte, die mit den Rasterzellen korrelieren, teilweise basierend auf einer Fehlerverteilung zu bestimmen, um Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte unter Verwendung einer Interpolationstechnik und Belegungswahrscheinlichkeiten von Rasterzellen für angrenzende Fehlerrasterzellen, die teilweise basierend auf den Fehlerbereichen der Punkte ausgewählt werden, zu berechnen, und um die Rasterzellen in der Umgebungskarte mit den Belegungswahrscheinlichkeiten zu aktualisieren, umfasst.
  • Bei einem Beispiel eines Geräts sind der eine oder die mehreren Prozessoren und der Speicher ferner konfiguriert, um einen Fehlerbereich teilweise basierend auf einem Winkelfehler und einem Entfernungsfehler, die mit einem Punkt verknüpft sind, zu berechnen.
  • Bei einem Beispiel eines Geräts umfassen die Fehlerbereiche einen ersten Fehlerbereich und einen zweiten Fehlerbereich, wobei der erste Fehlerbereich eine Entfernung von dem Lasersensor zu einem vorgegeben Punkt, der einen Anfang des zweiten Fehlerbereichs markiert, umfasst.
  • Bei einem Beispiel eines Geräts wird die bilineare Interpolation verwendet, um eine Belegungswahrscheinlichkeit für eine Rasterzelle, die einen Punkt enthält, der mit dem ersten Fehlerbereich verknüpft ist, zu berechnen.
  • Bei einem Beispiel eines Geräts werden die angrenzenden Fehlerrasterzellen, die verwendet werden, um eine Belegungswahrscheinlichkeit für eine Rasterzelle, die einen Punkt enthält, der mit dem ersten Fehlerbereich verknüpft ist, zu berechnen, unter Verwendung einer Nächster-Nachbar-Technik identifiziert.
  • Bei einem Beispiel eines Geräts wird eine bikubische Interpolation verwendet, um Belegungswahrscheinlichkeiten für die Rasterzellen, die Punkte enthalten, die Fehlerbereiche aufweisen, die sich in dem zweiten Fehlerbereich befinden, berechnen.
  • Bei einem Beispiel eines Geräts werden die angrenzenden Fehlerrasterzellen, die verwendet werden, um eine Belegungswahrscheinlichkeit für eine Rasterzelle, die einen Punkt enthält, der mit dem zweiten Fehlerbereich verknüpft ist, zu berechnen, unter Verwendung einer Abweichung für den Punkt identifiziert, wobei eine Anzahl der ausgewählten angrenzenden Fehlerrasterzellen einer Größe der Abweichung entspricht.
  • Bei einem Beispiel eines Geräts werden eine Entfernungsabweichung und eine Winkelabweichung verwendet, um die Anzahl der angrenzenden Fehlerrasterzellen auszuwählen, die verwendet werden, um die Belegungswahrscheinlichkeit für die Rasterzelle zu berechnen.
  • Bei einem Beispiel eines Geräts sind der eine oder die mehreren Prozessoren und der Speicher ferner konfiguriert, um einen Transformationswinkel zu initialisieren, und um die Laserpunktdaten über den Transformationswinkel zu drehen und die Punkte in den Laserpunktdaten mit der Umgebungskarte zu korrelieren.
  • Bei einem Beispiel eines Geräts sind der eine oder die mehreren Prozessoren und der Speicher ferner konfiguriert, um für jeden Punkt, der innerhalb einer Rasterzelle enthalten ist, eine Belegungswahrscheinlichkeit für die Rasterzelle unter Verwendung einer Interpolationstechnik und angrenzender Fehlerrasterzellen, die teilweise basierend auf dem Fehlerbereich des Punktes, der innerhalb der Rasterzelle enthalten ist, ausgewählt werden, zu berechnen, um die Belegungswahrscheinlichkeiten zu summieren, die für jeden Punkt, der innerhalb der Umgebungskarte enthalten ist, berechnet werden, wodurch eine kumulierte Belegungswahrscheinlichkeit für die Umgebungskarte gebildet wird, um zu bestimmen, dass die kumulierte Belegungswahrscheinlichkeit größer als eine aktuelle kumulierte Belegungswahrscheinlichkeit für die Umgebungskarte ist, und um die aktuelle Belegungswahrscheinlichkeit für die Rasterzelle mit der Belegungswahrscheinlichkeit, die einer größten kumulierten Belegungswahrscheinlichkeit für die Umgebungskarte entspricht, zu ersetzen.
  • Bei einem Beispiel eines Geräts sind der eine oder die mehreren Prozessoren und der Speicher ferner konfiguriert, um den Transformationswinkel um einen konstanten Wert zu verringern, wobei nach dem Verringern des Transformationswinkels eine Iteration des Berechnens der Belegungswahrscheinlichkeiten für die Rasterzellen, die sich innerhalb einer Fläche der Umgebungskarte befinden, erfolgt.
  • Bei einem Beispiel eines Geräts umfasst das Gerät ferner das Bestimmen, dass der Transformationswinkel größer als ein vordefinierter Schwellenwert ist; und das Bereitstellen der Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte.
  • Bei einem Beispiel eines Geräts umfasst das Gerät ferner das Berechnen einer Pose basierend auf den Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte.
  • Bei einem Beispiel wird ein computerumgesetztes Verfahren zum Kartieren einer physischen Umgebung bereitgestellt, umfassend das Empfangen von Laserpunktdaten für Laserlicht aus einem Lasersensor, wobei der Lasersensor konfiguriert ist, um das Laserlicht zu detektieren, das von der physischen Umgebung reflektiert wird, die mit dem Laserlicht beleuchtet wird, und um die Laserpunktdaten zu generieren; das Bestimmen von Fehlerbereichen für die Punkte, die in den Laserpunktdaten enthalten sind, teilweise basierend auf einer Fehlerverteilung, unter Verwendung des einen oder der mehreren Prozessoren, wobei ein Fehlerbereich eine Entfernung von dem Lasersensor ist, die mit einem Messfehler eines Punktes verknüpft ist, und der Fehlerbereich auf Rasterzellen in der Umgebungskarte verteilt ist; das Berechnen von Summen der besten Belegungswahrscheinlichkeiten für die Umgebungskarte unter Verwendung des einen oder der mehreren Prozessoren, wobei die Laserpunktdaten über einen Transformationswinkel gedreht werden und die Laserpunktdaten mit einer Umgebungskarte, welche die physische Umgebung darstellt, korreliert werden, wobei die Umgebungskarte die Rasterzellen umfasst und die Laserpunktdaten mit Punkten korrelieren, die innerhalb der Rasterzellen enthalten sind, wobei für jeden Punkt, der innerhalb einer Rasterzelle enthalten ist, eine Belegungswahrscheinlichkeit für die Rasterzelle unter Verwendung einer Interpolationstechnik und angrenzender Fehlerrasterzellen, die teilweise basierend auf dem Fehlerbereich des Punktes, der innerhalb der Rasterzelle enthalten ist, ausgewählt werden, berechnet wird, wobei Belegungswahrscheinlichkeiten, die für jeden Punkt, der innerhalb der Rasterzelle enthalten ist, berechnet werden, summiert werden, um eine kumulierte Belegungswahrscheinlichkeit für die Umgebungskarte zu bilden, wobei die kumulierte Belegungswahrscheinlichkeit für die Umgebungskarte für jede Drehung der Laserpunktdaten berechnet wird, und die kumulierte Belegungswahrscheinlichkeit, die größer als die andere kumulierte Belegungswahrscheinlichkeiten für Umgebungskarte ist, als eine Summe der besten Belegungswahrscheinlichkeiten für die Umgebungskarte ausgewählt wird; und das Aktualisieren der Rasterzellen in der Umgebungskarte mit den Belegungswahrscheinlichkeiten, die der Summe der besten Belegungswahrscheinlichkeiten entsprechen, unter Verwendung des einen oder der mehreren Prozessoren.
  • Bei einem Beispiel umfasst das computerumgesetzte Verfahren ferner das Initialisieren des Transformationswinkels, der verwendet wird, um die Rasterzellen in der Umgebungskarte zu identifizieren, wobei die Laserpunktdaten Koordinaten umfassen, die mit den Rasterzellen korrelieren, und die Laserpunktdaten auf die Umgebungskarte ausgerichtet sind.
  • Bei einem Beispiel umfasst das computerumgesetzte Verfahren ferner das Drehen der Punkte über den Transformationswinkel um einen konstanten Wert nach jeder Iteration des Berechnens der kumulierten Belegungswahrscheinlichkeit für die Umgebungskarte.
  • Bei einem Beispiel umfasst das computerumgesetzte Verfahren ferner das Bestimmen, dass der Transformationswinkel größer als ein vordefinierter Schwellenwert ist, und das Auswählen der Summe der besten Belegungswahrscheinlichkeiten für die Umgebungskarte.
  • Bei einem Beispiel wird ein nicht vorübergehendes, maschinenlesbares Speichermedium bereitgestellt, auf dem Anweisungen ausgebildet sind, wobei die Anweisungen, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, Laserpunktdaten für Laserlicht empfangen, das von einer physischen Umgebung reflektiert wird und durch einen Lasersensor detektiert wird, die Laserpunktdaten mit einer Umgebungskarte, welche die physische Umgebung darstellt, korrelieren, wobei die Umgebungskarte Rasterzellen umfasst, und die Laserpunktdaten mit den Rasterzellen in der Umgebungskarte korrelieren, Fehlerbereichsdaten für eine Verteilung von Fehlerbereichen erzielen, die mit Messfehlern von Punkten verknüpft sind, die in den Laserpunktdaten enthalten sind, wobei die Fehlerbereiche Entfernungen von dem Lasersensor sind, die mit Messfehlern der Punkte, die in den Laserpunktdaten enthalten sind, verknüpft sind, die Fehlerbereiche für die Punkte, die in den Laserpunktdaten enthalten sind, unter Verwendung der Fehlerbereichsdaten berechnen, Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte unter Verwendung einer Interpolationstechnik und der Belegungswahrscheinlichkeiten von Rasterzellen für angrenzende Fehlerrasterzellen, die teilweise basierend auf den Fehlerbereichen der Punkte ausgewählt werden, berechnen und die Rasterzellen in der Umgebungskarte mit den Belegungswahrscheinlichkeiten aktualisieren.
  • Bei einem Beispiel eines nicht vorübergehenden, maschinenlesbaren Speichermediums berechnen die Anweisungen, wenn sie durch den Prozessor ausgeführt werden, ferner eine Belegungswahrscheinlichkeit für eine Rasterzelle, die mit einem Fehlerbereich gleich null verknüpft ist, unter Verwendung einer bilinearen Interpolation.
  • Bei einem Beispiel eines nicht vorübergehenden, maschinenlesbaren Speichermediums berechnen die Anweisungen, wenn sie durch den Prozessor ausgeführt werden, ferner eine Belegungswahrscheinlichkeit für eine Rasterzelle, die mit einem Fehlerbereich größer als null verknüpft ist, unter Verwendung einer bikubischen Interpolation.
  • Bei einem Beispiel eines nicht vorübergehenden, maschinenlesbaren Speichermediums wählen die Anweisungen, wenn sie durch den Prozessor ausgeführt werden, ferner die Punkte aus, die in den Laserpunktdaten dargestellt sind und Koordinaten aufweisen, die einer Fläche der Umgebungskarte entsprechen.
  • Bei einem Beispiel eines nicht vorübergehenden, maschinenlesbaren Speichermediums wird ein Transformationswinkel nach dem Berechnen der Belegungswahrscheinlichkeiten für die Rasterzellen iterativ um einen konstanten Wert verringert.
  • Bei einem Beispiel eines nicht vorübergehenden, maschinenlesbaren Speichermediums wird für jeden Punkt, der innerhalb einer Rasterzelle enthalten ist, die Belegungswahrscheinlichkeit für die Rasterzelle berechnet, und die Belegungswahrscheinlichkeiten, die für jeden Punkt, der innerhalb der Rasterzelle enthalten ist, berechnet werden, werden summiert, um eine kumulierte Belegungswahrscheinlichkeit für die Umgebungskarte zu bilden.
  • Bei einem Beispiel eines nicht vorübergehenden, maschinenlesbaren Speichermediums wird die kumulierte Belegungswahrscheinlichkeit für die Umgebungskarte für mehrere Transformationswinkel berechnet, und die kumulierte Belegungswahrscheinlichkeit, die größer als andere kumulierte Belegungswahrscheinlichkeiten für die Umgebungskarte ist, wird ausgewählt, und es wird eine entsprechende Belegungswahrscheinlichkeit als die Belegungswahrscheinlichkeit für die Rasterzelle ausgewählt.
  • Obwohl die vorstehenden Beispiele die Grundsätze der vorliegenden Technologie bei einer oder mehreren bestimmten Anwendungen erläutern, wird es für den Fachmann ersichtlich sein, dass zahlreiche Modifikationen an Form, Verwendung und Einzelheiten der Umsetzung ohne die Ausübung einer erfinderischen Fähigkeit und ohne die Grundsätze und Konzepte der Technologie zu verlassen, vorgenommen werden können.

Claims (24)

  1. Gerät zum Kartieren einer physischen Umgebung, wobei das Gerät Folgendes umfasst: einen Laser, der konfiguriert ist, um die physische Umgebung mit Laserlicht zu beleuchten; einen Lasersensor, der konfiguriert ist, um das Laserlicht zu detektieren, das von der physischen Umgebung reflektiert wird; einen oder mehrere Prozessoren und Speicher, die konfiguriert sind zum: Empfangen von Laserpunktdaten von dem Lasersensor; Korrelieren von Punkten, die in den Laserpunktdaten enthalten sind, mit Rasterzellen, die in einer Umgebungskarte enthalten sind, welche die physische Umgebung darstellt; Bestimmen von Fehlerbereichen für die Punkte, die mit den Rasterzellen korrelieren, teilweise basierend auf einer Fehlerverteilung; Berechnen von Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte unter Verwendung einer Interpolationstechnik und von Belegungswahrscheinlichkeiten der Rasterzellen für angrenzende Fehlerrasterzellen, die teilweise basierend auf den Fehlerbereichen der Punkte ausgewählt werden; und Aktualisieren der Rasterzellen in der Umgebungskarte mit den Belegungswahrscheinlichkeiten.
  2. Gerät nach Anspruch 1, wobei der eine oder die mehreren Prozessoren und der Speicher ferner konfiguriert sind, um einen Fehlerbereich teilweise basierend auf einem Winkelfehler und einem Entfernungsfehler, die mit einem Punkt verknüpft sind, zu berechnen.
  3. Gerät nach Anspruch 1, wobei die Fehlerbereiche einen ersten Fehlerbereich und einen zweiten Fehlerbereich umfassen, wobei der erste Fehlerbereich eine Entfernung von dem Lasersensor zu einem vorgegebenen Punkt, der einen Anfang des zweiten Fehlerbereichs markiert, umfasst.
  4. Gerät nach Anspruch 3, wobei eine bilineare Interpolation verwendet wird, um eine Belegungswahrscheinlichkeit für eine Rasterzelle zu berechnen, die einen Punkt enthält, der mit dem ersten Fehlerbereich verknüpft ist.
  5. Gerät nach Anspruch 3, wobei die angrenzenden Fehlerrasterzellen, die verwendet werden, um eine Belegungswahrscheinlichkeit für eine Rasterzelle, die einen Punkt enthält, der mit dem ersten Fehlerbereich verknüpft ist, zu berechnen, unter Verwendung einer Nächster-Nachbar-Technik identifiziert werden.
  6. Gerät nach Anspruch 3, wobei eine bikubische Interpolation verwendet wird, um Belegungswahrscheinlichkeiten für die Rasterzellen zu berechnen, die Punkte enthalten, die Fehlerbereiche aufweisen, die sich in dem zweiten Fehlerbereich befinden.
  7. Gerät nach Anspruch 3, wobei die angrenzenden Fehlerrasterzellen, die verwendet werden, um eine Belegungswahrscheinlichkeit für eine Rasterzelle, die einen Punkt enthält, der mit dem zweiten Fehlerbereich verknüpft ist, zu berechnen, unter Verwendung einer Abweichung für den Punkt identifiziert werden, wobei eine Anzahl der ausgewählten angrenzenden Fehlerrasterzellen einer Größe der Abweichung entspricht.
  8. Gerät nach Anspruch 7, wobei eine Entfernungsabweichung und eine Winkelabweichung verwendet werden, um die Anzahl der angrenzenden Fehlerrasterzellen auszuwählen, die verwendet werden, um die Belegungswahrscheinlichkeit für die Rasterzelle zu berechnen.
  9. Gerät nach Anspruch 1, wobei der eine oder die mehreren Prozessoren und der Speicher ferner konfiguriert sind zum: Initialisieren eines Transformationswinkels; und Drehen der Laserpunktdaten über den Transformationswinkel und Korrelieren der Punkte in den Laserpunktdaten mit der Umgebungskarte.
  10. Gerät nach Anspruch 9, wobei der eine oder die mehreren Prozessoren und der Speicher ferner konfiguriert sind zum: Berechnen für jeden Punkt, der innerhalb einer Rasterzelle enthalten ist, einer Belegungswahrscheinlichkeit für die Rasterzelle unter Verwendung einer Interpolationstechnik und angrenzender Fehlerrasterzellen, die teilweise basierend auf dem Fehlerbereich des Punktes, der innerhalb der Rasterzelle enthalten ist, ausgewählt werden; Summieren der Belegungswahrscheinlichkeiten, die für jeden Punkt, der innerhalb der Umgebungskarte enthalten ist, berechnet werden, wodurch eine kumulierte Belegungswahrscheinlichkeit für die Umgebungskarte gebildet wird; Bestimmen, dass die kumulierte Belegungswahrscheinlichkeit größer als eine aktuelle kumulierte Belegungswahrscheinlichkeit für die Umgebungskarte ist; und Ersetzen der aktuellen Belegungswahrscheinlichkeit für die Rasterzelle mit der Belegungswahrscheinlichkeit, die der größten kumulierten Belegungswahrscheinlichkeit für die Umgebungskarte entspricht.
  11. Gerät nach Anspruch 9, wobei der eine oder die mehreren Prozessoren und der Speicher ferner konfiguriert sind, um den Transformationswinkel um einen konstanten Wert zu verringern, wobei nach dem Verringern des Transformationswinkels eine Iteration des Berechnens der Belegungswahrscheinlichkeiten für die Rasterzellen, die sich innerhalb einer Fläche der Umgebungskarte befinden, erfolgt.
  12. Gerät nach Anspruch 9, ferner umfassend: Bestimmen, dass der Transformationswinkel größer als ein vordefinierter Schwellenwert ist, und Bereitstellen der Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte.
  13. Gerät nach Anspruch 1, ferner umfassend das Berechnen einer Pose basierend auf den Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte.
  14. Computerumgesetztes Verfahren zum Kartieren einer physischen Umgebung, umfassend: Empfangen von Laserpunktdaten für Laserlicht von einem Lasersensor, wobei der Lasersensor konfiguriert ist, um das Laserlicht zu detektieren, das von der physischen Umgebung reflektiert wird, die mit dem Laserlicht beleuchtet wird, und um die Laserpunktdaten zu generieren; Bestimmen von Fehlerbereichen für die Punkte, die in den Laserpunktdaten enthalten sind, teilweise basierend auf einer Fehlerverteilung, unter Verwendung des einen oder der mehreren Prozessoren, wobei ein Fehlerbereich eine Entfernung von dem Lasersensor ist, der mit einem Messfehler eines Punktes verknüpft ist, und der Fehlerbereich auf Rasterzellen in der Umgebungskarte verteilt ist; Berechnen von Summen der besten Belegungswahrscheinlichkeiten für die Umgebungskarte unter Verwendung des einen oder der mehreren Prozessoren, wobei die Laserpunktdaten über einen Transformationswinkel gedreht werden und die Laserpunktdaten mit einer Umgebungskarte, welche die physische Umgebung darstellt, korreliert werden, wobei die Umgebungskarte die Rasterzellen umfasst und die Laserpunktdaten mit Punkten, die innerhalb der Rasterzellen enthalten sind, korrelieren, wobei für jeden Punkt, der innerhalb einer Rasterzelle enthalten ist, eine Belegungswahrscheinlichkeit für die Rasterzelle unter Verwendung einer Interpolationstechnik und angrenzender Fehlerrasterzellen, die teilweise basierend auf dem Fehlerbereich des Punktes, der innerhalb der Rasterzelle enthalten ist, ausgewählt werden, berechnet wird, wobei die Belegungswahrscheinlichkeiten, die für jeden Punkt, der innerhalb der Rasterzelle enthalten ist, berechnet werden, summiert werden, um eine kumulierte Belegungswahrscheinlichkeit für die Umgebungskarte zu bilden, wobei die kumulierte Belegungswahrscheinlichkeit für die Umgebungskarte für jede Drehung der Laserpunktdaten berechnet wird, und die kumulierte Belegungswahrscheinlichkeit, die größer als andere kumulierte Belegungswahrscheinlichkeiten für die Umgebungskarte ist, als eine Summe der besten Belegungswahrscheinlichkeiten für die Umgebungskarte ausgewählt wird; und Aktualisieren der Rasterzellen in der Umgebungskarte mit den Belegungswahrscheinlichkeiten, die der Summe der besten Belegungswahrscheinlichkeiten entsprechen, unter Verwendung des einen oder der mehreren Prozessoren.
  15. Verfahren nach Anspruch 14, ferner umfassend das Initialisieren des Transformationswinkels, der verwendet wird, um die Rasterzellen in der Umgebungskarte zu identifizieren, wobei die Laserpunktdaten Koordinaten umfassen, die mit den Rasterzellen korrelieren, und die Laserpunktdaten auf die Umgebungskarte ausgerichtet sind.
  16. Verfahren nach Anspruch 14, ferner umfassend das Drehen der Punkte über den Transformationswinkel um einen konstanten Wert nach jeder Iteration des Berechnens der kumulierten Belegungswahrscheinlichkeit für die Umgebungskarte.
  17. Verfahren nach Anspruch 16, ferner umfassend das Bestimmen, dass der Transformationswinkel größer als ein vordefinierter Schwellenwert ist, und das Auswählen der Summe der besten Belegungswahrscheinlichkeiten für die Umgebungskarte.
  18. Nicht vorübergehendes, maschinenlesbares Speichermedium, auf dem Anweisungen ausgebildet sind, wobei die Anweisungen, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden: Laserpunktdaten für Laserlicht empfangen, das von einer physischen Umgebung reflektiert und durch einen Lasersensor detektiert wird; die Laserpunktdaten mit einer Umgebungskarte, welche die physische Umgebung darstellt, korrelieren, wobei die Umgebungskarte Rasterzellen umfasst und die Laserpunktdaten mit den Rasterzellen in der Umgebungskarte korrelieren; Fehlerbereichsdaten für eine Verteilung von Fehlerbereichen erzielen, die mit Messfehlern von Punkten, die in den Laserpunktdaten enthalten sind, verknüpft sind, wobei die Fehlerbereiche Entfernungen von dem Lasersensor sind, die mit Messfehlern der Punkte, die in den Laserpunktdaten enthalten sind, verknüpft sind; die Fehlerbereiche für die Punkte, die in den Laserpunktdaten enthalten sind, unter Verwendung der Fehlerbereichsdaten berechnen; Belegungswahrscheinlichkeiten für die Rasterzellen in der Umgebungskarte unter Verwendung einer Interpolationstechnik und Belegungswahrscheinlichkeiten von Rasterzellen für angrenzende Fehlerrasterzellen, die teilweise basierend auf den Fehlerbereichen der Punkte ausgewählt werden, berechnen; und die Rasterzellen in der Umgebungskarte mit den Belegungswahrscheinlichkeiten aktualisieren.
  19. Nicht vorübergehendes, maschinenlesbares Speichermedium nach Anspruch 18, wobei die Anweisungen, wenn sie durch den Prozessor ausgeführt werden, ferner eine Belegungswahrscheinlichkeit für eine Rasterzelle, die mit einem Fehlerbereich gleich null verknüpft ist, unter Verwendung einer bilinearen Interpolation berechnen.
  20. Nicht vorübergehendes, maschinenlesbares Speichermedium nach Anspruch 18, wobei die Anweisungen, wenn sie durch den Prozessor ausgeführt werden, ferner eine Belegungswahrscheinlichkeit für eine Rasterzelle, die mit einem Fehlerbereich größer als null verknüpft ist, unter Verwendung einer bikubischen Interpolation berechnen.
  21. Nicht vorübergehendes, maschinenlesbares Speichermedium nach Anspruch 18, wobei die Anweisungen, wenn sie durch den Prozessor ausgeführt werden, ferner die Punkte auswählen, die in den Laserpunktdaten dargestellt sind und Koordinaten aufweisen, die einer Fläche der Umgebungskarte entsprechen.
  22. Nicht vorübergehendes, maschinenlesbares Speichermedium nach Anspruch 21, wobei ein Transformationswinkel nach dem Berechnen der Belegungswahrscheinlichkeiten für die Rasterzellen um einen konstanten Wert iterativ verringert wird.
  23. Nicht vorübergehendes, maschinenlesbares Speichermedium nach Anspruch 18, wobei für jeden Punkt, der innerhalb einer Rasterzelle enthalten ist, die Belegungswahrscheinlichkeit für die Rasterzelle berechnet wird und die Belegungswahrscheinlichkeiten, die für jeden Punkt, der innerhalb der Rasterzelle enthalten ist, berechnet werden, summiert werden, um eine kumulierte Belegungswahrscheinlichkeit für die Umgebungskarte zu bilden.
  24. Nicht vorübergehendes, maschinenlesbares Speichermedium nach Anspruch 23, wobei die kumulierte Belegungswahrscheinlichkeit für die Umgebungskarte für mehrere Transformationswinkel berechnet wird und die kumulierte Belegungswahrscheinlichkeit, die größer als andere kumulierte Belegungswahrscheinlichkeiten für die Umgebungskarte ist, ausgewählt wird und eine entsprechende Belegungswahrscheinlichkeit als die Belegungswahrscheinlichkeit für die Rasterzelle ausgewählt wird.
DE112017008137.8T 2017-10-03 2017-10-03 Kartieren einer rasterbelegung unter verwendung einer fehlerbereichsverteilung Pending DE112017008137T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/105245 WO2019068214A1 (en) 2017-10-03 2017-10-03 NETWORK OCCUPANCY MAPPING USING ERROR RANGE DISTRIBUTION

Publications (1)

Publication Number Publication Date
DE112017008137T5 true DE112017008137T5 (de) 2020-07-02

Family

ID=65994235

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017008137.8T Pending DE112017008137T5 (de) 2017-10-03 2017-10-03 Kartieren einer rasterbelegung unter verwendung einer fehlerbereichsverteilung

Country Status (4)

Country Link
US (1) US11815602B2 (de)
CN (1) CN111066064A (de)
DE (1) DE112017008137T5 (de)
WO (1) WO2019068214A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019136617A1 (en) * 2018-01-10 2019-07-18 Intel Corporation Predictive map generation technology
WO2020146447A1 (en) * 2019-01-08 2020-07-16 Aptiv Technologies Limited Field theory based perception for autonomous vehicles
EP3734388B1 (de) * 2019-04-29 2023-03-15 Commissariat à l'Energie Atomique et aux Energies Alternatives Verfahren und vorrichtung zur durchführung von gleichzeitiger ortung und kartierung
FR3097972B1 (fr) * 2019-06-28 2021-12-10 Aptiv Tech Ltd Procédé et système pour cartographier un environnement physique au moyen d’une grille d’occupation
US11544899B2 (en) * 2019-10-15 2023-01-03 Toyota Research Institute, Inc. System and method for generating terrain maps
CN110956697B (zh) * 2019-12-20 2023-05-05 上海有个机器人有限公司 基于激光slam的内存优化方法、介质、终端和装置
DE102021112349A1 (de) 2020-05-12 2021-11-18 Motional Ad Llc Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters
CN111578932B (zh) * 2020-05-28 2021-12-24 长沙中联重科环境产业有限公司 一种基于多线激光雷达的建图方法、装置、介质及设备
EP4012347A1 (de) * 2020-12-14 2022-06-15 Aptiv Technologies Limited System und verfahren zur abbildung einer fahrzeugumgebung
CN112835063B (zh) * 2021-01-08 2024-04-12 北京京东尚科信息技术有限公司 物体动静属性的确定方法、装置、设备及存储介质
US20230041716A1 (en) * 2021-08-04 2023-02-09 Motional Ad Llc Sensor object detection monitoring
CN116027341B (zh) * 2021-10-25 2024-05-03 珠海一微半导体股份有限公司 基于激光观测方向的栅格和体素定位方法、机器人及芯片

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7142150B2 (en) 2004-12-15 2006-11-28 Deere & Company Method and system for detecting an object using a composite evidence grid
US8577538B2 (en) * 2006-07-14 2013-11-05 Irobot Corporation Method and system for controlling a remote vehicle
US8805858B1 (en) * 2011-10-31 2014-08-12 The Boeing Company Methods and systems for spatial filtering using a stochastic sparse tree grid
US10269104B2 (en) * 2013-04-29 2019-04-23 Nokia Technologies Oy Method and apparatus for fusing distance data from a distance sensing camera with an image
AU2014342114B2 (en) * 2013-11-01 2019-06-20 Irobot Corporation Scanning range finder
US9599707B1 (en) * 2014-01-23 2017-03-21 Rockwell Collins, Inc. Weather radar system and method with path attenuation shadowing
FR3025325B1 (fr) * 2014-09-01 2016-12-30 Valeo Schalter & Sensoren Gmbh Dispositif et procede de localisation et de cartographie
US10459084B2 (en) * 2014-12-30 2019-10-29 Nokia Technologies Oy Range sensing using a hybrid range sensing device
KR101734654B1 (ko) * 2015-06-25 2017-05-11 현대자동차주식회사 레이저 스캐너를 이용한 센서 중심 좌표계의 점유 격자 지도를 작성하는 시스템 및 방법
JP6239664B2 (ja) * 2016-03-16 2017-11-29 株式会社デンソーアイティーラボラトリ 周辺環境推定装置及び周辺環境推定方法
WO2017212927A1 (ja) * 2016-06-08 2017-12-14 ソニー株式会社 撮像制御装置および方法、並びに車両
US10274325B2 (en) * 2016-11-01 2019-04-30 Brain Corporation Systems and methods for robotic mapping
US10195992B2 (en) * 2017-04-03 2019-02-05 Ford Global Technologies, Llc Obstacle detection systems and methods
US10222215B2 (en) * 2017-04-21 2019-03-05 X Development Llc Methods and systems for map generation and alignment
US10496104B1 (en) * 2017-07-05 2019-12-03 Perceptin Shenzhen Limited Positional awareness with quadocular sensor in autonomous platforms
CN109516990B (zh) * 2017-09-19 2021-06-01 天津药物研究院有限公司 嘧啶并三氮唑类化合物、其制备方法和用途

Also Published As

Publication number Publication date
US20200271787A1 (en) 2020-08-27
CN111066064A (zh) 2020-04-24
US11815602B2 (en) 2023-11-14
WO2019068214A1 (en) 2019-04-11

Similar Documents

Publication Publication Date Title
DE112017008137T5 (de) Kartieren einer rasterbelegung unter verwendung einer fehlerbereichsverteilung
EP3824247A1 (de) Verfahren und system zum bestimmen einer position eines fahrzeugs
EP3008534B1 (de) Verfahren zum modellieren eines umfelds eines fahrzeugs
DE112016002817T5 (de) Änderungserfassungbasiertes bildaufnahme-beauftragungssystem
DE112006003361T5 (de) Verfahren und Vorrichtung für das Aufzeichnen/Anzeigen von dreidimensionalen Formdaten und Verfahren und Vorrichtung für das Messen einer dreidimensionalen Form
DE102013107861A1 (de) Tracking von Strassen-Fahrzeugen mit Sensoren unterschiedlicher Ausführungsarten
DE102013208521A1 (de) Kollektives Erlernen eines hochgenauen Straßenmodells
DE102016225595A1 (de) Verfahren und Anordnung zur Kalibrierung mindestens eines Sensors eines Schienenfahrzeugs
WO2018019466A1 (de) Verfahren und system zum erfassen von landmarken in einem verkehrsumfeld einer mobilen einheit
DE112017005958T5 (de) Robotersteuerung und Kalibrierungsverfahren
DE112022000949T5 (de) Laserpunktwolkenbasierte Straßenranderkennung
DE102018123393A1 (de) Erkennung von Parkflächen
DE102017108107A1 (de) Verfahren, vorrichtung und computerlesbares speichermedium mit instruktionen zur schätzung einer pose eines kraftfahrzeugs
DE112019003929T5 (de) Elektronische steuervorrichtung und aktualisierungssystem eines neuronalen netzes
DE102015220031A1 (de) Verfahren zur Konfidenzabschätzung für optisch-visuelle Posenbestimmung
EP3504100B1 (de) Verfahren zur erstellung eines digitalen gleisplans einer gleisanlage
DE102008008499B4 (de) Verfahren zur rechnergestützten Berechnung der Bewegung eines Objekts aus Sensordaten
DE112022002046T5 (de) Fahrvorrichtung, fahrzeug und verfahren zum automatisierten fahren und/oder assistierten fahren
DE112020002578T5 (de) Verfahren, System und Vorrichtung zur dynamischen Aufgabensequenzierung
DE102019127322A1 (de) Verfahren zur Erfassung von Objekten in einer Fahrzeugumgebung, Vorrichtung zur Datenverarbeitung, Computerprogrammprodukt und computerlesbarer Datenträger
EP3663800A1 (de) Verfahren zur objekterfassung mit einer 3d-kamera
DE102018130745A1 (de) Verfahren zur Steuerung eines autonomen Fahrzeugs
DE102021207418A1 (de) Verfahren zum Ausdünnen eines SLAM-Graphen, Verfahren zum Betrieb eines mobilen Geräts und mobiles Gerät
DE102019209637B4 (de) Generieren einer Fahrzeugumgebungskarte
DE102022207370A1 (de) Verfahren zum Erkennen einer fehlerhaften Karte einer Umgebung