-
Gebiet der Technik
-
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf autonome Systeme und insbesondere auf ein Verfahren und ein System zur autonomen Erkennung einer Materialhalde.
-
Stand der Technik
-
In der Bau- und Bergbauindustrie können autonome Maschinen, wie Planiergeräte, geländefähige Lastkraftwagen, Radlader und Bagger eingesetzt werden. Die Fähigkeit, Materialhalden zu erkennen, ist eine wichtige Funktion für autonome Systeme vieler verschiedener Maschinentypen. Beispielsweise müssen autonome Lkw Halden erkennen und lokalisieren können, damit sie einen Pfad planen und auf zu einer Halde oder um eine Halde herum navigieren können. Autonome Radlader und Bagger müssen in der Lage sein, Halden zu erkennen, damit sie wissen, wie sie sich der Halde nähern und die Schaufel positionieren, um sicherzustellen, dass die Ladekapazität der Schaufel maximiert ist. Autonome Planierraupen müssen Halden erkennen, um die zu verteilende Halde zu identifizieren. Auch für die Hinderniserkennung und Sicherheit ist die Erkennung von Halden wichtig. Führt die Fahrstrecke einer autonomen Maschine durch oder über eine Halde, kann die Maschine umkippen, abrutschen oder stecken bleiben, was nicht nur ein Sicherheitsrisiko darstellt, sondern auch Zeit und Geld kostet, um die Situation zu beheben. Ferner kann es für eine entfernte Bedienperson oder das automatisierte System schwierig sein, den Grad des Werkzeugeingriffs mit der Halde während des Ladesegments des Aushubvorgangs genau zu ermitteln. Ein Versuch, die Effizienz im Ladesegment durch ein autonomes Verfahren zur Erkennung einer Halde zu verbessern, ist in
US-Patent Nr. 9,702,115 an Darakhanavala (das '115-Patent) offenbart. Insbesondere offenbart das '115-Patent ein autonomes Verfahren zur Erkennung, wenn eine Erdbewegungsmaschine eine Erdhalde in Kontakt mit einer anderen Erdhalde gebracht hat. Das Verfahren beinhaltet das Empfangen einer Vielzahl von Signalen an einer Steuerung, die einen oder mehrere Parameter angeben, einschließlich einer Fahrgeschwindigkeit der Maschine, einer Soll- Fahrgeschwindigkeit der Maschine, einer Last auf einem Arbeitsgerät der Maschine, einer Abtriebsdrehzahl eines Drehmomentwandlers der Maschine, einer Maschinenneigung, eines Maschinensteuerbefehls, einer Maschinenfahrtrichtung und einer Fahrtrichtung eines Schlitzes, in dem sich die Maschine befindet. Die Steuerung standardisiert und normalisiert jedes Signal aus der Vielzahl von Signalen, um Werte für jeden der einen oder mehreren Parameter zu erzeugen, die alle in einen gemeinsamen Bereich fallen, wobei der gemeinsame Bereich repräsentativ für einen Bereich von minimalen bis maximalen Werten für jeden der einen oder mehreren Parameter ist. Die Steuerung ermittelt auch eine Veränderung jedes der Werte für den einen oder die mehreren Parameter über jede einer Vielzahl von Zeitperioden, um relative Geschwindigkeiten der Veränderung für den einen oder die mehreren Parameter zu berechnen, gewichtet jeden der Werte für jeden des einen oder der mehreren Parameter als eine Funktion der relativen Geschwindigkeiten der Veränderung, addiert die gewichteten Werte der Parameter und wendet eine Sigmoidfunktion auf die gewichteten Werte der Parameter an, um den Effekt zu begrenzen, den ein beliebiger der Parameter auf eine Ausgabe hat, die auf ein Verhalten hinweist, das für die Maschine charakteristisch ist, die eine Erdhalde in Kontakt mit einer anderen Erdhalde geschoben hat.
-
Kurzdarstellung
-
Gemäß einigen Implementierungen bezieht sich die vorliegende Offenbarung auf ein Verfahren zur Erkennung einer Materialhalde durch eine autonome Maschine. Das Verfahren beinhaltet das Empfangen einer dreidimensionalen Punktwolke, die eine Umgebung mit einer Materialhalde anzeigt, unter Verwendung eines Prozessors auf der Maschine, das Durchführen einer Schätzung der Bodenfläche auf der dreidimensionalen Punktwolke, um Nicht-Boden-Punkte zu identifizieren, das Gruppieren der Nicht-Boden-Punkte in einem oder mehreren Clustern von Punkten basierend auf der Nähe der Punkte zueinander, Erzeugen eines normalisierten Höhenhistogramms für jeden der einen oder mehreren Cluster, Vergleichen des normalisierten Höhenhistogramms jedes Clusters mit einem verallgemeinerten Haldenhistogramm, und Identifizieren eines Clusters aus dem einen oder den mehreren Clustern als eine Halde basierend auf der Ähnlichkeit zwischen dem normalisierten Höhenhistogramm des Clusters und dem verallgemeinerten Haldenistogramm. Gemäß einigen Implementierungen bezieht sich die vorliegende Offenbarung auf ein autonomes Fahrzeug mit einer oder mehreren mit einem Rahmen verbundenen und diesen tragenden Traktionsvorrichtungen, einer am Rahmen montierten Leistungsquelle, die zum Antrieb der Traktionsvorrichtungen ausgelegt ist, einer 3D-Sensorvorrichtung, die eine 3D-Punktwolke erzeugen kann, die eine Umgebung mit einer Materialhalde angibt, und einem Prozessor. Der Prozessor ist ausgelegt zum Empfangen einer dreidimensionalen Punktwolke, die eine Umgebung mit einer Materialhalde anzeigt, unter Verwendung eines Prozessors auf der Maschine, zum Durchführen einer Schätzung der Bodenfläche auf der dreidimensionalen Punktwolke, um Nicht-Boden-Punkte zu identifizieren, zum Gruppieren der Nicht-Boden-Punkte in einem oder mehreren Clustern von Punkten basierend auf der Nähe der Punkte zueinander, zum Erzeugen eines normalisierten Höhenhistogramms für jeden der einen oder mehreren Cluster, zum Vergleichen des normalisierten Höhenhistogramms jedes Clusters mit einem verallgemeinerten Haldenhistogramm, und zum Identifizieren eines Clusters aus dem einen oder den mehreren Clustern als eine Halde basierend auf der Ähnlichkeit zwischen dem normalisierten Höhenhistogramm des Clusters und dem verallgemeinerten Haldenistogramm. Gemäß einigen Implementierungen bezieht sich die vorliegende Offenbarung auf ein Verfahren zum Erkennen einer Materialhalde durch eine autonome Maschine, das den Empfang eines zweidimensionalen Bildes einer Umgebung mit einer Materialhalde von einer bildgebenden Vorrichtung unter Verwendung eines Prozessors auf der Maschine, das autonome Erkennen eines Bildes der Materialhalde in dem zweidimensionalen Bild unter Verwendung eines in einem Speicher der Maschine gespeicherten neuronalen Netzwerks mit tiefem Lernvermögen, das zuvor auf das Erkennen eines Bildes einer Materialhalde in einem zweidimensionalen Bild trainiert wurde, und Kalibrieren der bildgebenden Vorrichtung in Bezug auf einen Koordinatenrahmen der Maschine zur Ermittlung des Abstands der Materialhalde von der Maschine, beinhaltet.
-
Figurenliste
-
- 1 ist eine Seitenansicht einer beispielhaften Maschine;
- 2 ist eine schematische Darstellung eines beispielhaften Systems zur Erkennung von Halden der Maschine von 1;
- 3 ist ein Ablaufdiagramm eines beispielhaften Verfahrens zum Erkennen einer Halde;
- 4 ist eine Darstellung eines Bildes einer Umgebung mit Materialhalden, wobei die Halden mit Begrenzungsrahmen identifiziert sind;
- 5 ist eine Darstellung eines Bildes einer Umgebung mit Materialhalden, wobei die Halden mit pixelweisen Segmentierungsmasken identifiziert sind; diese Masken sind in der Abbildung nicht enthalten;
- 6 ist ein Ablaufdiagramm eines weiteren beispielhaften Verfahrens zum Erkennen einer Halde;
- 7 ist eine Darstellung einer 3D-Punktwolke, die eine Umgebung mit einer Materialhalde angibt; und
- 8 ist eine Darstellung der Ausgabe eines Algorithmus zur Schätzung einer Bodenfläche auf der 3D-Punktwolke von 7.
-
Ausführliche Beschreibung
-
1 veranschaulicht eine beispielhafte Ausführungsform einer autonomen Maschine 10. In dem offenbarten Beispiel ist die autonome Maschine 10 ein Radlader. Es ist jedoch denkbar, dass die autonome Maschine 10 eine Vielzahl von Maschinen sein kann. Bei der autonomen Maschine 10 kann es sich beispielsweise um eine Maschine handeln, die in der Bau- und/oder Bergbauindustrie eingesetzt wird, wie etwa ein Bagger, eine Planierraupe oder ein geländefähiger LKW. Es kann jede autonome Maschine verwendet werden, die von den offenbarten Systemen und Verfahren zur Erkennung einer Halde profitieren würde.
-
Die Maschine 10 kann unter anderem eine Leistungsquelle 12, eine oder mehrere Traktionsvorrichtungen 14 (z. B. Räder oder Ketten), ein Arbeitsgerät 16, einen oder mehrere Hubaktoren 18 und einen oder mehrere Kippaktoren 20 umfassen. Die Hubaktoren 18 und die Kippaktoren 20 können das Arbeitsgerät 16 mit einem Rahmen 22 der Maschine 10 verbinden. In einer beispielhaften Ausführungsform, wie in 1 dargestellt, können die Hubaktoren 18 an einem Ende mit dem Rahmen 22 und am anderen Ende mit einem Strukturelement 24 verbunden sein, das mit dem Arbeitsgerät 16 verbunden sein kann.
-
Das Arbeitsgerät 16 kann über einen Schwenkzapfen 26 mit dem Strukturelement 24 verbunden sein. Die Hubaktoren 18 können zum Anheben des Arbeitsgeräts 16 auf eine gewünschte Höhe über einer Bodenfläche 28 ausgelegt sein. In einer beispielhaften Ausführungsform, wie in 1 dargestellt, können die Kippaktoren 20 an einem Ende mit dem Rahmen 22 und am anderen Ende mit einem Gestängeelement 30 verbunden sein, das mit dem Arbeitsgerät 16 verbunden sein kann.
-
Die Leistungsquelle 12 kann von dem Rahmen 22 der Maschine 10 getragen werden und einen Motor (nicht abgebildet) umfassen, der zum Erzeugen einer Drehleistungsausgabe ausgelegt ist, sowie ein Getriebe (nicht abgebildet), das die Leistungsausgabe in ein gewünschtes Verhältnis von Drehzahl und Drehmoment umwandelt. Die Drehleistungsausgabe kann zum Antrieb einer Pumpe (nicht abgebildet) verwendet werden, die die Hubaktoren 18, die Kippaktoren 20 und/oder einen oder mehrere mit den Traktionsvorrichtungen 14 verbundene Motoren (nicht abgebildet) mit druckbeaufschlagter Flüssigkeit versorgt. Der Motor der Leistungsquelle 12 kann ein Verbrennungsmotor sein, der zum Verbrennen eines Gemischs aus Kraftstoff und Luft ausgelegt ist. Das Getriebe der Leistungsquelle 12 kann jede in der Technik bekannte Form annehmen, beispielsweise eine Lastschaltkonfiguration, die mehrere diskrete Betriebsbereiche bereitstellt, eine stufenlose Konfiguration oder eine Hybridkonfiguration. Zusätzlich zum Antrieb des Arbeitsgeräts 16 kann die Leistungsquelle 12 auch als Antrieb für die Maschine 10, beispielsweise über eine oder mehrere Traktionsvorrichtungen 14, dienen.
-
An der Maschine 10 können zahlreiche verschiedene Arbeitsgeräte 16 funktionsfähig befestigt und von der Leistungsquelle 12 angetrieben werden. Das Arbeitsgerät 16 kann jede Vorrichtung umfassen, die zur Durchführung einer bestimmten Aufgabe verwendet wird, wie beispielsweise eine Schaufel, eine Gabel, ein Schild, eine Schaufel oder jede andere in der Technik bekannte Vorrichtung zur Durchführung einer Aufgabe. Obwohl das Arbeitsgerät 16 in der Ausführungsform von 1 zum Heben und Kippen relativ zur Maschine 10 verbunden ist, kann es sich alternativ oder zusätzlich drehen, gleiten, aufzuschwingen oder auf jede andere in der Technik bekannte Weise bewegen. Die Hub- und Kippaktoren 18, 20 können ausgefahren oder eingefahren werden, um das Arbeitsgerät 16 während eines Grabungszyklus wiederholt zu bewegen.
-
In einer beispielhaften Ausführungsform kann die Maschine 10 zum Bewegen oder Aufstocken einer Materialhalde 34 und/oder zum Aufzeichnen eines Pfades zu der oder um die Materialhalde 34 herum verwendet werden. Die Materialhalde 34 kann aus verschiedenen Arten von Materialien bestehen. Beispielsweise kann die Materialhalde 34 aus losem Sand, Erde, Kies, Lehm, Steinen, mineralischen Formationen usw. bestehen. In der dargestellten Ausführungsform ist das Arbeitsgerät 16 eine Schaufel mit einer Spitze 38, die zum Eindringen in die Materialhalde 34 ausgelegt ist.
-
Mit Bezugnahme auf 2 beinhaltet die Maschine 10 ein System 40 zur autonomen Erkennung von Materialhalden 34. Das System 40 beinhaltet einen oder mehrere Sensoren 42, die zur Bereitstellung eines zweidimensionalen (2D) Bildes einer Umgebung mit einer Materialhalde 34 und/oder einer dreidimensionalen (3D) Kartenraumdarstellung, die eine Umgebung mit einer Materialhalde 34 anzeigt, ausgelegt sind. Beispielsweise kann die Maschine 10, wie in 2 dargestellt, eine 2D-Bildgebungsvorrichtung 44, wie eine Monokamera, eine Wärmekamera, eine Videokamera, eine Stereokamera oder eine andere Bildgebungsvorrichtung (z. B. einen Bildsensor) beinhalten. Die Maschine 10 kann auch eine 3D-Sensorvorrichtung 46, wie beispielsweise eine LID AR-Vorrichtung (Lichterfassungs- und Entfernungsmessvorrichtung), eine RADAR-Vorrichtung (Funkerfassungs- und Entfernungsmessvorrichtung), eine SONAR-Vorrichtung (Schallnavigations- und Entfernungsmessvorrichtung), eine Stereokamera oder jede andere Vorrichtung, die zur Bereitstellung einer 3D-Kartenraumdarstellung (d. h. einer 3D-Punktwolke) fähig ist, die eine Umgebung mit einer Materialhalde 34 anzeigt, beinhalten. Bei dem einen oder den mehreren Sensoren 42 kann es sich um jede in der Technik bekannte geeignete Vorrichtung zur Erzeugung eines 2D-Bildes und/oder einer 3D-Kartenraumdarstellung oder einer anderen geeigneten Ausgabe zur Verwendung bei der Erkennung einer Halde handeln.
-
Der eine oder die mehreren Sensoren 42 können das Bild und/oder eine 3D-Kartenraumdarstellung der Materialhalde 34 erzeugen und das Bild und/oder die 3D-Kartenraumdarstellung an einen bordeigenen Prozessor 48 zur weiteren Verarbeitung übermitteln. Die ein oder mehreren Sensoren 42 sind auf beliebige geeignete Weise kommunikativ mit dem Prozessor 48 gekoppelt. Der Prozessor 48 kann auf vielfältige Weise konfiguriert sein. Der Prozessor 48 kann einen einzelnen Mikroprozessor oder mehrere Mikroprozessoren verkörpern. Der Prozessor 48 kann für die Funktion der Erkennung von Halden dediziert sein oder zusätzliche Funktionen für die Maschine 10 bereitstellen, wie beispielsweise ein Motorsteuermodul (ECM).
-
Das System 40 beinhaltet auch Speicher 50. Der Speicher 50 kann in den Prozessor 48 integriert oder von diesem entfernt, jedoch über den Prozessor 48 zugänglich sein. Bei dem Speicher 50 kann es sich um einen Festwertspeicher (ROM) zum Speichern von Programmen, einem neuronalen Netzwerk oder anderen Informationen, einen Direktzugriffsspeicher (RAM), der als Arbeitsspeicherbereich für die Ausführung der im Speicher 50 gespeicherten Programme dient, oder eine Kombination davon handeln. Der Prozessor 48 kann konfiguriert sein, um auf in dem Speicher 50 gespeicherte Informationen Bezug zu nehmen, und der Speicher 50 kann ausgelegt sein, um verschiedene Informationen zu speichern, die von dem Prozessor 48 ermittelt werden. Die Maschine 10 kann auch mit einer Kommunikationsvorrichtung 52 (1) ausgestattet sein, die die Übermittlung des Bildes und/oder einer 3D-Kartenraumdarstellung an eine bordfremde Einheit oder von einer bordfremden Einheit ermöglicht. Beispielsweise kann die Maschine 10 über die Kommunikationsvorrichtung 52 mit einer entfernten Bedienperson und/oder einer zentralen Einrichtung (nicht abgebildet) kommunizieren.
-
3 veranschaulicht ein von der Maschine 10 verwendetes beispielhaftes Verfahren 100 zur Erkennung der Materialhalde 34. Das Verfahren 100 verwendet eine oder mehrere Monokamera(s) 44 oder andere bildgebende Vorrichtung(en) (z. B. Ethernet-Bildsensor), die ein 2D-Bild erzeugen können, und den Prozessor 48 auf der Maschine 10, der ein Deep-Learning-Netzwerk für die Inferenz unterstützt. Das Verfahren 100 umfasst die Eingabe von 2D-Bildern in das neuronale Deep-Learning-Netzwerk, das für die Ausführung der Aufgabe der Haldenerkennung trainiert wurde. Das Verfahren 100 umfasst die ersten Schritte des Sammelns und Annotierens von 2D-Bilddaten 102 und die anschließende Verwendung der annotierten Bilddaten zum Trainieren eines neuronalen Deep-Learning-Netzwerks 104. Für den Schritt der Datenerfassung und Annotation 102 werden 2D-Bilder von einer Vielzahl von Halden erhalten. Die Monokamera(s) oder die andere(n) bildgebende(n) Vorrichtung(en), die zum Erhalten der 2D-Bilder verwendet wird/werden, kann/können einer oder mehrere der Sensoren 42 an der Maschine 10, eine oder mehrere Kameras oder andere bildgebende Vorrichtungen unabhängig von der Maschine 10 oder eine Kombination davon sein. Vorzugsweise würden die 2D-Bilder eine Vielzahl von Materialhalden mit unterschiedlichen Formen, Größen und Materialarten beinhalten und die Bilder können von einer Vielzahl von Bau- und Bergbaustellen erhalten werden.
-
Mit Bezugnahme auf Schritt 104 werden die in Schritt 102 erhaltenen 2D-Bilder mit Hilfe eines Annotationswerkzeugs markiert. Es kann jedes geeignete Annotationswerkzeug bzw. jede geeignete Annotationsmethode verwendet werden, die in der Technik für die Markierung von Bildbereichen bekannt ist. 3 veranschaulicht ein Beispiel für ein annotiertes Bild 120. Das annotierte Bild 120 beinhaltet eine Bodenfläche 121, eine erste Materialhalde 122, eine zweite Materialhalde 124, eine stehende Person 126 und einen Felsbrocken 128. Die erste Materialhalde 122 wird durch das Annotationswerkzeug markiert, indem es sie mit einem Begrenzungsrahmen 130 umgibt. Auch die zweite Materialhalde 124 ist von einem zweiten Begrenzungsrahmen 132 umgeben. Auf diese Weise identifizieren die Begrenzungsrahmen 130, 132 diejenigen Bereiche des Bildes 120, die Materialhalden sind. 4 veranschaulicht das annotierte Bild 120 unter Verwendung eines anderen Annotationsverfahrens. Wie in 3 beinhaltet das annotierte Bild 120 eine Bodenfläche 121, eine erste Materialhalde 122, eine zweite Materialhalde 124, eine stehende Person 126 und einen Felsbrocken 128. Die erste Materialhalde 122 wird vom Annotationswerkzeug durch Abdecken der Bereiche des Bildes, die die erste Materialhalde 122 darstellen, mit einer ersten pixelweisen Segmentierungsmaske 140 markiert. Ebenso werden die Bereiche des Bildes, die die zweite Materialhalde 124 darstellen, mit einer zweiten pixelweisen Segmentierungsmaske 142 abgedeckt. Die pixelweisen Segmentierungsmasken 140, 142 identifizieren somit diejenigen Bereiche des Bildes 120, die Materialhalden sind.
-
Die verschiedenen annotierten Bilder der Materialhalden, wie das annotierte Bild 120, werden anschließend zum Trainieren eines neuronalen Deep-Learning-Netzwerks verwendet, das in der Lage ist, Materialhalden in einem Bild zu erkennen. Neuronale Deep-Learning-Netzwerke sind in der Technik bekannt. Jedes geeignete neuronale Deep-Learning-Netzwerk kann verwendet werden. Wird beispielsweise eine Begrenzungsrahmenmarkierung verwendet, kann ein Netzwerk wie MobileNetSSD-V2 genutzt werden. Werden zur Markierung der Materialhalden pixelweise Segmentierungsmasken verwendet, kann ein Netzwerk wie SegNet genutzt werden. Ferner ist die Methodik des Trainings eines neuronalen Deep-Learning-Netzwerks in der Fachwelt bekannt und wird hierin nicht in Einzelheiten erläutert.
-
Sobald das neuronale Deep-Learning-Netzwerk trainiert wurde, wird das trainierte Netzwerk durch Anschluss an den Prozessor 48 eingesetzt. Der Prozessor 48 kann ein beliebiger Prozessor sein, der das neuronale Deep-Learning-Netzwerk ausführen kann. Beispielsweise kann der Prozessor 48 ein beschleunigter ECM sein, der auf FPGAs oder GPUs basiert.
-
Zusätzlich beinhaltet der Einsatz die Kalibrierung der Kamera 44 oder der 2D-Bildgebungsvorrichtung an der Maschine 10, damit der Abstand zwischen den in dem Bild erfassten Objekten und der Maschine ermittelt oder geschätzt werden kann. Beispielsweise kann die Maschine 10 eine Inertialmesseinheit (IMU) beinhalten (nicht abgebildet), die zur Definition eines Koordinatenrahmens der Maschine 10 verwendet werden kann. Eine extrinsische Kalibrierung der Kamera 44 in Bezug auf den Koordinatenrahmen der Maschine 10 kann mit einer Vorrichtung wie einer Universaltotalstation gemessen werden.
-
Nachdem das neuronale Netzwerk trainiert und an den Prozessor 48 angeschlossen und die Kamera 44 kalibriert wurde, ist das System 40 zum autonomen Erkennen von Halden konfiguriert. Im Betrieb erzeugt die Kamera 44 oder die 2D-Bildgebungsvorrichtung in Schritt 106 Bilder und übermittelt die Bilder an den Prozessor 48. In Schritt 108 werden die Bilder an das trainierte neuronale Netzwerk im Prozessor 48 übergeben. Im Schritt 110 untersucht das trainierte neuronale Netzwerk jedes empfangene Bild und erkennt, ob eine Materialhalde 34 in einem bestimmten Bildrahmen gezeigt ist.
-
Sobald eine Materialhalde 34 im Bilderrahmen erkannt wird, wird der Schwerpunkt (Zentrum) der Materialhalde 34 durch Mittelung der Position aller zur Materialhalde 34 gehörenden Pixel berechnet. Die Position kann durch Verwendung der Kameraproj ektionsmatrix und der extrinsischen Kalibrierung in den Maschinenrahmen transformiert werden, sodass das autonome System in der Lage ist, die Position und Lage der Materialhalde 34 in Bezug auf die Maschine 10 zu kennen.
-
6 veranschaulicht ein weiteres von der Maschine 10 verwendetes beispielhaftes Verfahren 200 zur Erkennung der Materialhalde 34. Das Verfahren 100 verwendet ein System, das die 3D-Sensorvorrichtung 46 und den Prozessor 48 auf der Maschine 10 mit Unterstützung zur Ausführung einer beschleunigten Berechnung beinhaltet. Das Verfahren 200 verwendet eine geometrische Technik zur Erkennung einer Halde basierend auf einer 3D-Punktwolke. Eine 3D-Punktwolke ist ein Satz von Datenpunkten (XYZ-Koordinaten) im Raum.
-
Das Verfahren 200 beinhaltet das Eingeben einer 3D-Punktwolke in den Prozessor 48 in Schritt 202. Die 3D-Punktwolke kann direkt von der 3D-Sensorvorrichtung 46, wie beispielsweise einer Stereokamera, einem LIDAR usw., und/oder von einer beliebigen Art von 3D-Kartenraumdarstellung, wie beispielsweise einer Oktokarte oder Höhenkarte, stammen. Die 3D-Kartenraumdarstellung kann entfernt von der Maschine 10 erzeugt und zum Prozessor 48, beispielsweise von einer externen Einheit über die Kommunikationsvorrichtung 52, hochgeladen werden.
-
7 veranschaulicht ein Beispiel einer 3D-Punktwolke 300 derselben Szene, wie sie in dem annotierten Bild 120 dargestellt ist. Die 3D-Punktwolke stellt insbesondere die Bodenfläche 121, die erste Materialhalde 122, die zweite Materialhalde 124, die stehende Person 126 und den Felsbrocken 128 dar. Sobald eine 3D-Punktwolke erhalten wurde, kann in Schritt 204 eine Bodenflächenschätzung (Ground Surface Estimation, GSE) für die 3D-Punktwolke durchgeführt werden. GSE ist in der Technik bekannt. Jede(r) geeignete(r) GSE-Technik oder -Algorithmus kann verwendet werden. Im Allgemeinen identifiziert und extrahiert ein GSE-Algorithmus die Hauptbodenfläche aus einer 3D-Punktwolke über eine Reihe von mathematischen und geometrischen Berechnungen wie Normalberechnung, Unebenheitsschätzung, Ebenenanpassung und Random Sampling Consensus (RANSAC).
-
In Schritt 206 weist die Ausgabe der GSE den Punkten, die als Boden angesehen werden, eine Markierung zu und den Punkten, die als Nicht-Boden angesehen werden (d. h. alles über oder unterhalb der Bodenfläche), eine andere Markierung. 8 ist ein Beispiel der Ausgabe der GSE 302 für die 3D-Punktwolke von 7. In 8 sind die Bodenpunkte 304 in einem helleren Farbton dargestellt, während die Nicht-Bodenpunkte 306 in einem dunkleren Farbton dargestellt sind.
-
In Schritt 208 werden nach der Einstufung jedes Punktes als Boden und Nicht-Boden nur die Nicht-Boden-Punkte für die weitere Verarbeitung ausgewählt. Die Nicht-Boden-Punkte werden anschließend basierend auf einer Punkt-zu-Punkt-Näherungsmetrik in Clustern gruppiert (d. h. Nicht-Boden-Punkte, die sich in unmittelbarer Nähe zueinander befinden, werden als Teil desselben Clusters gruppiert). Clustering-Algorithmen, die auf einer Näherungsmetrik basieren, sind in der Technik bekannt. Jeder geeignete Clustering-Algorithmus kann verwendet werden, um die Nicht-Boden-Punkte in Clustern zu gruppieren.
-
In Schritt 210 berechnet der Prozessor 48 für jeden Cluster ein Histogramm der normalisierten Höhe der Punkte von der Bodenfläche. Beispielsweise wird dem niedrigsten Punkt des Clusters der Wert Null und dem höchsten Punkt des Clusters der Wert 1 zugewiesen. Allen Punkten, deren Höhe zwischen dem höchsten und dem niedrigsten Punkt liegt, werden im Verhältnis zu ihrer Höhe relativ zum höchsten und niedrigsten Punkt numerische Werte zwischen Null und 1 zugewiesen. Anschließend wird ein Histogramm der normalisierten Höhendaten erstellt.
-
In Schritt 212 vergleicht der Prozessor 48 das Histogramm mit einer zuvor erstellten und für den Prozessor 48 zugänglichen Halden-Deskriptor-Vorlage. Hinsichtlich der Halden-Deskriptor-Vorlage weisen Materialhalden unabhängig von der Art des Materials im Allgemeinen eine ähnliche Form auf. Daher ist das normalisierte Höhenhistogramm einer Materialhalde im Allgemeinen ähnlich wie das normalisierte Höhenhistogramm anderer Materialhalden. Daher wird ein verallgemeinertes normalisiertes Histogramm einer Materialhalde aus den zuvor gesammelten Daten anderer Halden erstellt und dem Prozessor 48 zur Verfügung gestellt. Das verallgemeinerte Haldenhistogramm wird als Darstellung der meisten Halden (d. h. eine Halden-Deskriptor-Vorlage) verwendet. In einigen Ausführungsformen können mehrere verallgemeinerte Haldenhistogramme erstellt werden, die jeweils mit dem Histogramm der normalisierten Höhe der Punkte von der Bodenfläche für jeden Cluster verglichen werden können.
-
Als Ausgabe des Vergleichs des Histogramms der normalisierten Höhe der Punkte von der Bodenfläche für jeden Cluster mit der Halden-Deskriptor-Vorlage berechnet der Prozessor 48 einen Ähnlichkeitswert. Ein Ähnlichkeitswert gibt an, wie sicher der Algorithmus ist, dass das normalisierte Höhenhistogramm mit der Deskriptor-Vorlage übereinstimmt. Beispielsweise kann ein Ähnlichkeitswert ein numerischer Wert sein, der angibt, wie gut das normalisierte Histogramm mit der Halden-Deskriptor-Vorlage übereinstimmt. In einem Beispiel kann der Ähnlichkeitswert ein Wert zwischen 0 und 100 sein, wobei 0 für überhaupt keine Übereinstimmung steht, während 100 für eine perfekte Übereinstimmung steht. Die Berechnung eines Ähnlichkeitswertes zwischen Datensätzen ist in der Technik bekannt. Jede geeignete Methode zur Berechnung eines Ähnlichkeitswertes zwischen dem Histogramm der normalisierten Höhe der Punkte auf der Bodenfläche für jeden Cluster und der Halden-Deskriptor-Vorlage kann verwendet werden.
-
In Schritt 214 identifiziert der Prozessor 48 die Cluster mit den höchsten Ähnlichkeitswerten und behandelt diese Cluster als Materialhalden. In einigen Ausführungsformen kann ein Schwellenwert für den Ähnlichkeitswert festgelegt werden und der Prozessor vergleicht den Ähnlichkeitswert jedes Clusters mit dem Schwellenwert für den Ähnlichkeitswert. Jeder Cluster, dessen Ähnlichkeitswert den Schwellenwert erreicht oder überschreitet, wird vom Prozessor 48 als Materialhalde betrachtet.
-
In Schritt 216 wird für die als Materialhalden identifizierten Cluster der Standort der Materialhalde 34 ermittelt. Der Standort der Halden kann auf jede geeignete Weise ermittelt werden. Beispielsweise kann der Schwerpunkt (Zentrum) der Halde berechnet und anschließend bei Bedarf in den Maschinen- oder Weltrahmen transformiert werden. Beispielsweise verfügt bei 3D-Wolkenpunktdaten jeder der Punkte über kartesische 3D-Koordinaten (x,y,z) im Raum, die es ermöglichen, den Standort dieser Punkte leicht zu identifizieren. In Abhängigkeit davon, in welchem Koordinatensystem die 3D-Punktdaten vorliegen, kann eine Transformation in den Welt- oder Maschinenrahmen erforderlich sein. Liegen die 3D-Punktdaten im Welt- oder Maschinenrahmen vor, muss keine Transformation vorgenommen werden, um die Standorte der Halden zu ermitteln. Liegen die 3D-Punktdaten jedoch im Rahmen der Sensorvorrichtung vor, kann eine extrinsische Kalibrierung in Bezug auf den Koordinatenrahmen der Maschine 10 mit einer Vorrichtung wie einer Universaltotalstation gemessen werden.
-
In einigen Ausführungsformen kann die Maschine 10 eine Kombination oder Fusion aus dem Verfahren 100, bei dem 2D-Bilder in das neuronale Deep-Learning-Netzwerk eingegeben werden, das für die Aufgabe der Erkennung von Halden trainiert wurde, und dem Verfahren 200, das eine geometrische Technik zur Erkennung einer Halde basierend auf einer 3D-Punktwolke verwendet, nutzen. Beispielsweise kann der eine oder können die mehreren Sensoren 42 der Maschine 10 sowohl eine Kamera 44 oder eine andere 2D-Bildgebungsvorrichtung als auch eine 3D-Sensorvorrichtung 46, wie LIDAR oder eine Stereokamera, beinhalten. Ist die 3D-Sensorvorrichtung 46 eine Stereokamera, weist sie automatisch die 3D-Punktwolke und das 2D-Bild als eine Nachricht aus und kann für beide Verfahren genutzt werden.
-
Die kombinierte Nutzung des Verfahrens 100 und des Verfahrens 200 zur Erkennung von Halden kann auf verschiedene Weise erfolgen. In einer Ausführungsform wird beispielsweise jedes Erkennungsverfahren 100, 200 unabhängig voneinander ausgeführt, wobei die Maschine 10 alle von einem der Verfahren erkannten Materialhalden als eine Halde behandelt. In einer anderen Ausführungsform wird jedem Erkennungsverfahren 100, 200 eine Konfidenzgewichtung zugewiesen und die Ausgaben der beiden Verfahren 100, 200 werden fusioniert. In noch einer weiteren Ausführungsform kann jede im Verfahren 200 erkannte Halde zurück in das Bild projiziert werden, und die beiden Vorhersagen können zur Verbesserung der Vorhersagegenauigkeit fusioniert werden. Beispielsweise können die verschiedenen Haldenerkennungsverfahren 100, 200 unterschiedliche Sensoren (z. B. eine Monokamera und ein LIDAR) verwenden und somit erkannte Halden im jeweiligen Sensorkoordinatensystem bereitstellen. Eine Koordinatentransformation zu der in einem Bildsensor (z. B. einem 3D-Bildsensor) erkannten Halde kann durchgeführt werden, um die Punkte auf dem Bildrahmen der 2D-Bildgebungsvorrichtung anzuordnen. Auf diese Weise wird die von der 3D-Sensorvorrichtung erkannte Halde der von der 2D-Bildgebungsvorrichtung erkannten Halde überlagert, und es kann mit Hilfe von in der Technik bekannten Verfahren ermittelt werden, dass die beiden Sensoren dieselbe Halde erkennen.
-
Gewerbliche Anwendbarkeit
-
Die Systeme und Verfahren zur Erkennung von Halden können in jeder autonomen Maschine eingesetzt werden, die auf Materialhalden stoßen kann, wie beispielsweise in einem Radlader, einem Bagger, einem geländefähigen LKW oder einer Planierraupe. Viele autonome Systeme nutzen derzeit sowohl eine Kamera als auch eine 3D-Sensorvorrichtung, wie LIDAR. Die offenbarten Systeme und Verfahren stellen einen effektiven Weg zur Erkennung von Materialhalden bereit, indem sie die bereits bei den meisten autonomen Systemen vorhandenen Sensoren zusammen mit einem Prozessor 48 auf der Maschine 10 nutzen, der in der Lage ist, die beschleunigte Berechnung durchzuführen, die für die Nutzung der geometrischen Technik zur Erkennung einer Halde basierend auf einer 3D-Punktwolke des Verfahrens 200 von 5 und für die Ausführung des trainierten neuronalen Netzwerks und des Bildvergleichs des Verfahrens 100 von 2 erforderlich ist.
-
Zusätzlich zu der Kernfunktionalität der Haldenerkennung, die erforderlich ist, um einen Pfad zu planen und zu einer Materialhalde hin oder um sie herum zu navigieren und um eine Materialhalde anzufahren und ein Arbeitsgerät optimal zu positionieren, stellen die offenbarten Verfahren zur Haldenerkennung auch Vorteile für die Produktivitätsmessung und -überwachung bereit. Baustellenleiter sind daran interessiert, zu erfahren, wie viel Material die Halde enthält und wie viel Material von der Halde bewegt wurde. Bei den traditionellen Verfahren werden Berechnungen und Schätzungen von Hand und auf Papier vorgenommen. Es besteht jedoch der Wunsch, dass Wahrnehmungssysteme automatisch das Volumen der Halden und die Menge des bewegten Materials berechnen. Bevor diese Metriken berechnet werden können, muss die Halde zunächst automatisch erkannt werden.
-
Während das System als Implementierung in einem autonomen Radlader dargestellt ist, kann es auch in anderen Arten von Maschinen, ob autonom oder nicht, verwendet werden. Sofern hierin nicht anders angegeben, sind alle Unterausführungsformen und optionalen Ausführungsformen entsprechende Unterausführungsformen und optionale Ausführungsformen für alle hierin beschriebenen Ausführungsformen. Obwohl die vorliegende Offenbarung durch die Beschreibung von Ausführungsformen davon veranschaulicht wurde und obwohl die Ausführungsformen sehr detailliert beschrieben wurden, ist es nicht die Absicht des Antragstellers, den Umfang der beigefügten Ansprüche auf diese Details zu begrenzen oder in irgendeiner Weise einzuschränken. Zusätzliche Vorteile und Modifikationen werden sich den Fachleuten auf diesem Gebiet ohne weiteres erschließen. Daher ist die vorliegende Offenbarung in ihren breiteren Aspekten nicht auf die spezifischen Details, die repräsentativen Zusammensetzungen oder Formulierungen und die dargestellten und beschriebenen veranschaulichenden Beispiele beschränkt. Dementsprechend kann von diesen Einzelheiten abgewichen werden, ohne vom Sinn oder Umfang der allgemeinen Offenbarung des Antragstellers hierin abzuweichen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-