-
Die
Erfindung bezieht sich allgemein auf das Bestimmen der Position
und Ausrichtung eines Objekts und insbesondere auf das inkrementelle
Bestimmen der Position und Ausrichtung eines planaren Objekts zum
Aufnehmen einer Materialladung in einer Erdbewegungsumgebung.
-
"Erdbewegungsmaschine" und verschiedene ähnliche
Begriffe sollen sich in dieser Beschreibung auf Bagger, Radlader,
Kettentraktoren, Walzen, Motorgrader, Landwirtschaftsmaschinen,
Pflastermaschinen, Asphaltiermaschinen und dergleichen beziehen,
die sowohl (1) Mobilität über oder
durch eine Baustelle als auch (2) die Fähigkeit aufweisen, die Topographie
oder Geographie einer Baustelle mit einem Werkzeug oder einem Funktionsteil
der Maschine, wie zum Beispiel einer Schaufel, einer Klinge, einer
Aufreißeinrichtung,
einer Walze und dergleichen, zu verändern.
-
Beim
Bedienen von Erdbewegungsmaschinen wie zum Beispiel Baggern, Radladern
und Kränen
zum Bewegen von Materialien von einem Ort zum anderen bestimmen
menschliche Maschinenbediener visuell die Position und Ausrichtung
des Objekts, das die Ladung aufnehmen soll und steuern das Laden
des Materials entsprechend. Zum Beispiel wird in einer Erdbewegungsumgebung
ein Bagger zum Laden von Material auf die Ladefläche eines Kippers verwendet.
Der Baggerführer
bestimmt visuell die Position und Ausrichtung des zu beladenden Kippers
und lädt
die Schaufel voll Material an dem erwünschten Ort ab.
-
In
manchen Anwendungsbereichen werden autonome Lade- und Entladevorgänge durchgeführt. Ein
System, das ohne Eingreifen eines menschlichen Bedieners die Position
und Ausrichtung eines Objekts bestimmen kann, das ein Ladung aufnehmen soll,
wird oft bei einem autonomen Ladesystem gebraucht, vor allem in
Situationen, wo sich der Ort des Ladepunkts verändert. Beispiele dafür sind Ladesysteme
für Kipper,
Flachbettkipper, Bahnwägen,
Bunker, Kähne
und Frachtschiffe. In einer Erdbewegungsumgebung verändert sich
die Position und Ausrichtung des die Ladung aufnehmenden Objekts, wie
zum Beispiel eines Kippers von einem Kipper zum anderen, während die
Ladeflächen
von Kippern gefüllt
werden und leere Kipper ankommen, um sie zu ersetzen. Wenn Erdbewegungsmaschinen
autonom arbeiten, muß Information über die
Position und Ausrichtung des jeweiligen zu beladenden Kippers an
das Steuerungssystem der Maschine geliefert werden.
-
Bisher
wurden Systeme entwickelt, die Objekte erkennen und identifizieren
können.
Diese Systeme, wie zum Beispiel das im
US-Patent Nr. 5,471,541 , erteilt am
28. November 1995 an Burtnyk et al., bringen typischerweise Bilddaten
mit Modellen von Objekten in Übereinstimmung,
die genaue Abmessungen haben. Das Burtnyk-et-al.-Patent verwendet
Entfernungsprofile und von einem Modell abgeleitete synthetische
Profile. Bei diesem Verfahren wird auch angenommen, daß außerdem eine
ungefähre "Pose" des Objekts bekannt
ist. Bei manchen Objekterkennungslösungen wird die "Pose" (die Position und
Ausrichtung) des Modells ständig
aktualisiert, während
Modelleigenschaften mit den Daten abgeglichen werden. Siehe Faugeras
und Hebert, "The
Representation, Recognition, and Locating of 3-D Objects" ("Die Darstellung,
Erkennung und Lokalisierung dreidimensionaler Objekte"), The International
Journal of Robotics Research, Bd. 5, Nr. 3, S. 27-52, Herbst 1986.
Eine weitere Möglichkeit
zum Berechnen einer Pose eines steifen Modells ist als Verfahren
des Iterative Closest Point (I.D.P., etwa: Nächster iterativer Punkt) bekannt,
das von Paul J. Besl und Neil D. Mckay in einem Vortrag mit dem
Titel "A method
for registration of 3-D shapes" ("Ein Verfahren zur
Bestimmung der Lage dreidimensionaler Formen") vorgestellt wurde, das in den IEEE
Transactions an Pattern Analysis and Machine Intelligence, Bd. 14(2),
S. 239-256, 1992 veröffentlicht wurde.
Bei diesem Verfahren werden die Daten für das Modell passend umgeformt,
indem die Entfernung zwischen Punkten im Modell und Punkten im ursprünglichen
Datensatz so minimiert werden, daß eine anfängliche angenäherte Pose
des Objekts verfeinert wird. Bei diesem Verfahren wird angenommen,
daß mit
dem Objekt zusammenhängende Punkt
von anderen Punkten der Szene segmentiert wurden.
-
Im
US-Patent Nr. 5,208,763 ,
am 4. Mai 1993 an Hong et al. erteilt, wird ein Verfahren zum Bestimmen
der Position und Ausrichtung mechanischer Objekte offenbart, wobei
Euklidsche Transformationen verwendet werden, um das Objekt mit
dem Modell in Übereinstimmung
zu bringen. Das
US-Patent Nr. 5,123,057 ,
erteilt am 16. Juni 1992 an Verly et al., offenbart ein Verfahren,
bei dem rekursive Verfahren zum in Übereinstimmung bringen erfaßter Daten
mit vorbestimmten Modellen und zum Bestimmen von "Übereinstimmungsgraden" zwischen einem Teilsatz von
Daten mit einem Teilsatz von Modellteilen verwendet werden. Die
höchsten "Übereinstimmungsgrade" mit den Modellen
werden zum Identifizieren des Objekts verwendet.
-
Bolles
und Horaud haben ein Objekterkennungssystem entwickelt, das als
3DPO (three dimensional Part orientation system/etwa: System der
Ausrichtung dreidimensionaler Teile) bekannt ist, bei dem eine Strategie
des Lokalisierens des vielversprechendsten Merkmals in einem dreidimensionalen Bild
eines Durcheinanders von Teilen verwendet und dann dieses Merkmal
zum Vorschlagen anderer Merkmale benützt wird, die eine Hypothese
bestätigen
und dann zu anderen Merkmalen führen
könnten,
die die Pose des Objekts vollständig
eingrenzen könnten.
Bei diesem System wurden Diskontinuitäten in einer einzigen Abtastlinie
gesucht und diese Diskontinuitäten
in einem als Kantenverkettung bekannten Verfahren aneinandergehängt, wodurch
lineare Merkmale geformt wurden, die dann zum Lenken der Suche nach
Objekten verwendet wurden. Diese Arbeit wurde in einem technischen
Vortrag von R.C. Bolles und P. Horaud mit dem Titel "3DPO: A Three Dimensional
Part Orientation System" (etwa: "3DPO: Ein Orientierungssystem
für dreidimensionale
Teile"), The International
Journal of Robotics Research, Bd. 5, Nr. 3, Herbst 1986, S. 3-26,
vorgestellt.
-
US-Patent 5 243 665 offenbart
ein System zur Bewertung mechanischer Bauteile während eines Herstellungsprozesses.
Dieses System stellt eine Sammlung und Analyse hochauflösender Bauteiloberflächen-Abbildungs-Datensätze zur
Verwendung mit Software für
eine Produkt- und Verfahrenssteuerung und -optimierung sowie bei
Funktions- und Parametertests dar. Das Bauteil wird typischerweise am
Ende des Herstellungsverfahrens durch das System untersucht, das
die Oberflächenabbildungen
erzeugt. Die Oberfläche
jedes Teils eines Bauteils wird anschließend mit einem Satz von Mindest-
und Höchstgrenzwerten
verglichen, die aus CAD-Daten für
das Bauteil erhalten werden.
-
Ferner
offenbart der Artikel „Recognizing
Object Function Through Reasoning About Partial Shaped Descriptions
and Dynamic Physical Properties" eine
Methodik, die die Funktionalität
des Objekts als effektive Darstellung für ein Objekt verwendet. Unter
Verwendung von Teilformbeschreibungen des Objekts stellt das Verfahren Überlegungen
zur Objektfunktionalität
an. Danach verwendet das Verfahren eine Interaktion mit dem Objekt,
um die Funktionalität
zu überprüfen, die
von der Form des Objekts nahegelegt wird.
-
Also,
aus
WO97/24692 A1 sind
ein Verfahren und eine Vorrichtung zum Finden einer zweidimensionalen
Modell-Raumkrümmung bekannt,
die ein Merkmal des Objekts in einer zweidimensionalen Ziel-Raumkrümmung darstellt,
die wenigstens einen Abschnitt des Objekts darstellt.
-
In
manchen Situationen ist es wünschenswert,
Objekte eines bestimmten Typs zu erkennen und zu lokalisieren, von
denen man weiß,
daß sich ihre
Abmessungen ändern.
Ein Verfahren zum Bestimmen des Orts, der Größe und der Ausrichtung dieser
Objekte wird daher gebraucht. Außerdem ist es in Situationen,
in der mehrere Maschinen zusammen und/oder autonom in einer Umgebung
arbeiten müssen,
wichtig, den Ort, die Größe und die
Ausrichtung von Objekten, die zum Aufnehmen oder Umschichten von
Materialien verwendet werden, zu erkennen. Das Maximieren der Produktivität einer
automatisierten Erbewegungsmaschine bedeutet, daß die Rechnereffizienz zum
Verarbeiten ohne Zeitverzögerungen
aller zum Steuern der Maschine benötigten Daten wichtig ist. Ein
System, das kein vollständiges
Abtasten des Objekts und seiner Umgebung benötigt, ist daher wünschenswert.
Außerdem
ist es wünschenswert,
die Bewegung der Objekte zu verfolgen, wenn sie einmal erkannt wurden.
Ein Verfahren und eine Vorrichtung, die in einer rauhen Umgebung eingesetzt
werden können,
mit Sensorsystemen, die Daten begrenzter Auflösung und Genauigkeit liefern können, ist
außerdem
wünschenswert.
-
Daher
ist es eine Aufgabe der Erfindung ein Verfahren und eine Vorrichtung
anzubieten, die kein vollständiges
Abtasten des Objekts und des umgebenden Bereichs erfordern, um Objekte
einer bestimmten Art zu erkennen und zu lokalisieren.
-
Erfindungsgemäß ist ein
Verfahren gemäß Patentanspruch
1 sowie Vorrichtungen gemäß Patentansprüchen 9,
17 und 20 vorgesehen, bei denen inkrementelle Entfernungsdaten von
einem Abtastsensor verwendet werden.
-
Das
vorliegende Erkennungsverfahren verwendet Merkmale von durch Abtastsensoren
gelieferten Daten zusammen mit geometrischen Merkmalen von Objekten,
die in einer Erdbewegungsumgebung typischerweise Ladungen aufnehmen,
wie zum Beispiel Kipper. Die Daten einer einzigen Abtastlinie, die
von einem Abtastsensorsystem geliefert wird, werden verarbeitet,
um zu bestimmen, ob in der Abtastlinien Diskontinuitäten vorliegen.
Da eine einzige Abtastlinie in einem relativ kurzen Zeitraum aufgenommen
wird, werden die geometrischen Verhältnisse von Merkmalen in der
Abtastlinie beibehalten, auch wenn sich der Sensor bewegt hat und
das nicht gemessen wurde. Beim vorliegenden Verfahren wird auch
der Tatsache Rechnung getragen, daß Diskontinuitäten in nebeneinanderliegenden
Abtastlinien nahe beieinander sein sollten und hervorstechenden Merkmalen
eines Modells des Objekts entsprechen sollten. Die obere und die
untere Kante eines Objekts, wie der Ladefläche eines Kippers, und hervorstehende
Veränderungen
des Terrains können
als Diskontinuitäten
in einer einzigen Abtastlinie lokalisiert werden. Diese Diskontinuitäten werden
zum Bilden möglicher
Interpretationen der Position und Ausrichtung des Objekts verwendet.
Bei den folgenden Abtastlinien werden dann Diskontinuitäten, die
eng beieinander liegen, mit ähnlichen
Kennzeichnungen versehen. Außerdem
werden an die Diskontinuitäten Linien
angelegt und mit den Kanten in einem oder mehr Modellen verglichen,
die mögliche
Interpretationen des Objekts darstellen. Vom Modell abgeleitete geometrische
Einschränkungen
werden zum Eliminieren unbrauchbarer Interpretationen und zum Bestätigen brauchbarer
Interpretationen verwendet. Wenn eine brauchbare Interpretation
zustande kommt, wird das interessierende Objekt als erkannt angenommen.
Die auf der Anzahl der verwendeten Abtastlinien und den meisten
gefundenen Modellmerkmalen beruhende beste Interpretation wird zum Bestimmen
der besten Position und Ausrichtung des Objekts verwendet. Beim
Empfangen der Abtastlinien werden die Position und die Ausrichtung
des Objekts ständig
aktualisiert und an andere Untersysteme zum Steuern anderer Maschinen
weitergeleitet. Eine Annahme kann auch bezüglich der allgemeinen Ausrichtung
des Objekts getroffen werden, das die Ladung mit Bezug auf die Lademaschine
aufnimmt. Das vorliegende Erkennungsverfahren verringert die Zeitverzögerung im
Vergleich zu Verfahren, die eine Abtastung des gesamten Objekts
und des umgebenden Bereichs erfordern und die erst nach der vollständigen Abtastung
mit der Verarbeitung der Daten beginnen, um dann die Position und
Ausrichtung des Objekts zu bestimmen.
-
Das
vorliegende Verfahren lokalisiert Diskontinuitäten, baut lineare Merkmale
auf und verwendet geometrische Einschränkungen, die unter Verwendung
auf diesem Gebiet der Technik bekannter Verfahren vom Objektmodell
abgeleitet werden. Das vorliegende Verfahren zum Aufbauen von Teilinterpretationen
des Objekts mit nur einem Teil der Szenendaten und der Verwendung
einer Zustandstabelle zum Führen
dieses Prozesses sind einzigartige Aspekte des Verfahrens.
-
Ausführungsbeispiele
der Erfindung werden nachfolgend anhand der Figuren erläutert. Es
zeigt:
-
1 ein
Flußdiagramm
der erfindungsgemäßen Verfahrensschritte,
-
2 eine
perspektivische Darstellung eines Diagramms eines Kippers mit einer
Abtastlinie mit Diskontinuitäten,
-
3 ein
Blockdiagramm eines Systems, das zum Anwenden des erfindungsgemäßen Verfahrens
verwendet werden kann,
-
4 eine
Draufsicht auf einen Kipper, der in einer Vorbeifahrtausrichtung
bezüglich
des Baggers positioniert ist,
-
5 eine
Draufsicht auf einen Kipper, der in einer Heckladeposition bezüglich des
Baggers positioniert ist,
-
6 eine
perspektivische Darstellung eines Schemas einer Kipperladefläche,
-
7 eine
Zustandstabelle zum Führen
der Erzeugung von Interpretationen,
-
8 Maschinen-
und Abtastsensor-Orte für eine
Kipperladefläche
mit bestimmten Zuständen,
-
9 erfindungsgemäß durch
ein Abtasten der Kipperladefläche
erzeugte Anfangszustände,
-
10 die
Verwendung mehrerer Abtastlinien zum Bewerten von Interpretationen
und
-
11 eine
perspektivische Darstellung eines Schemas einer Kipperladefläche.
-
1 zeigt
ein Flußdiagramm 20 der
folgenden Schritte, die beim erfindungsgemäßen Datenverarbeitungsverfahren
durchgeführt
werden müssen: (a)
Auffinden der Diskontinuitäten
in einer einzigen Abtastlinie 22 unter Verwendung der Tatsache,
daß Diskontinuitäten durch
zu wenig Entfernungsdaten oder eine Bewegung der Lademaschine nicht
verdunkelt werden, (b) Versuchen, die Diskontinuitäten der
aktuellen Abtastlinie unter Verwendung von Nähe- und Abmessungseinschränkungen 24 mit
jeder Interpretation auf einer Liste aktiver Interpretationen zu
verschmelzen, (c) Berechnen der Position und Ausrichtung des Objekts
unter Verwendung der besten Interpretation 26. Diese Schritte
werden im Folgenden weiter erklärt.
-
Beim
ersten Schritt 22 des Flußdiagramms 20 werden
Diskontinuitäten
in den Daten von einer senkrechten Rotation eines Abtastsensors,
d.h. einer Abtastlinie, bestimmt. Eine Diskontinuität ist eine
abrupte Veränderung
der Richtung der Entfernungspunkte in einer Abtastlinie. In 2 ist
eine einzelne Abtastlinie 27 gezeigt, die über ein
Diagramm eines Kippers 28 geht. Drei unterschiedliche Verfahren können allein
oder in Kombination miteinander zum Lokalisieren von Diskontinuitäten in einer
Abtastlinie verwendet werden. Zum Beispiel:
- (1)
Versuchen, Liniensegmente in Entfernungsdaten in einer einzigen
Abtastlinie einzupassen. Wenn der Fehler aus dem anzupassenden Liniensegment über einen
Schwellenwert wächst,
diesen Punkt als Diskontinuität
kennzeichnen und ein neues Liniensegment beginnen.
- (2) Die Entfernung zwischen aufeinanderfolgenden Punkten in
einer Abtastlinie überprüfen. Wenn
diese Entfernung einen Schwellenwert übersteigt, diese Punkte als
Diskontinuitäten kennzeichnen.
- (3) Nach Sprüngen
im Höhenwert
(z-Koordinate) der Punkte in der Abtastlinie suchen.
-
3 zeigt
ein vereinfachtes Blockdiagramm eines Verarbeitungssystems 29,
das zum Implementieren der vorliegenden Erfindung verwendet werden
kann. Die Abbildungs- oder Entfernungsdaten werden von einem Abtastsensorsystem 30 erhalten,
das zum Beispiel auf Radar-, Laser-, Infrarot und Sonarsensoren
beruht. Das erfindungsgemäße Verfahren
kann in Computersoftware implementiert werden, die auf einem Datenprozessor 32,
wie zum Beispiel einem Mikroprozessor, ausgeführt wird. Die Komponenten des
Verarbeitungssystems 29 können mit Datenübertragungseinrichtungen 34,
wie zum Beispiel einem Datenbus oder einem alternativen Sende- und
Empfangssystem, wie zum Beispiel Funk, Satellit, Infrarot, Kabel
usw. verbunden werden, das es erlaubt, daß Daten zwischen einem oder mehr
Sensorsystemen 30, Datenspeichereinheiten 36,
Dateneingabe-/-ausgabegeräten 38 und
Datenprozessoren übertragen
werden.
-
Zum
Bestimmen der Position und Ausrichtung eines Objekts aus Entfernungsdaten
einer Szene vergleicht die vorliegende Erfindung in der Szene gefundene
Merkmale mit Modellen von Objekten, die in einer Datenbank gespeichert
sind. Die Datenspeichereinheiten 36 speichern Entfernungsdaten
vom Sensorsystem 30 und weitere vom Verarbeitungssystem 29 benötigte Information.
Die Speichereinheiten 36 weisen auch eine Datenbank von
Information für
Modelle von Objekten auf, die mit den Szene-Entfernungsdaten verglichen
werden können,
um zu bestimmen, ob es eine Korrelation zwischen dem Objekt in der
Szene und einem der Modelle gibt. Diese Modelldatenbank enthält Informationen über den
Typ des Objekts, wobei jedes Modell geometrische Merkmale, wie die
durchschnittliche Breite, Länge
und Höhe
des Modells enthält.
Die Modelldatenbank enthält
auch Informationen über
die linearen Merkmale, die Diskontinuitäten in senkrechten Abtastlinien
des Objekts entsprechen. Die linearen Merkmale werden durch einen
Vektor, der die Richtung des Hauptachse der Linie im dreidimensionalen
Raum angibt, und durch zwei Endpunkte repräsentiert.
-
Ein
oder mehr Abtastsensorsysteme sind oft auf sich bewegenden Maschinen
angebracht, wie zum Beispiel auf einem Bagger oder einem Radlader. Trotz
der Bewegung und der Vibration der Maschine kann immer noch eine
genaue Bestimmung von Diskontinuitäten in den Abtastlinien erreicht
werden, wenn die Abtastfrequenz des Entfernungsscanners (zum Beispiel
5 bis 15 kHz) wesentlich größer ist
als die Bewegungsfrequenz der Maschine (zum Beispiel 1 bis 10 Hz).
Aufgrund der Frequenzdifferenz werden die geometrischen Eigenschaften
der Abtastlinie beibehalten, auch wenn die Maschine gräbt, ablädt oder von
einem Ort zu anderen fährt.
-
Der
nächste
Schritt im in 1 gezeigten Algorithmus 20 ist
das Verschmelzen der Diskontinuitäten in einer Abtastlinie mit
Interpretationen über
den möglichen
Ort der Kipperladefläche
unter Verwendung von Abmessungs- und Näheeinschränkungen 24. Näheeinschränkungen
werden dadurch implementiert, daß angenommen wird, daß Diskontinuitäten in nebeneinanderliegenden
Abtastlinien, die dem gleichen geometrischen Merkmal eines Objekts
entsprechen, ähnliche
Orte haben sollten (d.h. nah beieinander liegen). Eine Interpretation
ist ein Satz von Objektmodellmerkmalen mit entsprechenden Übereinstimmungen
mit Szenenmerkmalen. Bei der vorliegenden Erfindung werden Teil-Szenendaten zum Vornehmen
von Interpretationen über
die Position und die Ausrichtung eines Objekts unter Verwendung der
folgenden Variablen eingesetzt:
- (1) Zustand – ein Identifikator,
der die Hypothese angibt, nach der Merkmale eines Objekts gerade abgetastet
werden,
- (2) Merkmalspunkte – die
Diskontinuitätspunkte die
mit bestimmten Objektmerkmalen in Beziehung stehen,
- (3) Merkmalslinien – die
am besten passende Linie durch die Merkmalspunkte, die aus einem
Einheitsvektor für
die Richtung und den beiden Endpunkten des Einheitsvektors besteht,
- (4) merkmalsspezifische Information – hängt vom Objekt und von der
durchzuführenden
Aufgabe ab, bei einem Kipper zum Beispiel besteht sie aus einer
Versetzungsentfernung in der Höhe,
weil die linearen Merkmale die Kanten der Ladefläche sind, und daher werden
die Linien ausgehend von einer Linie durch das Zentroid um die maximale Versetzung
nach oben verschoben, um sicherzugehen, daß die Schaufel der Erdbewegungsmaschine über die
Kanten des Kippers hinweggeht,
- (5) Zentroid – ein
Zentroid wird für
jedes lineare Merkmal aus den Entfernungsdatenpunkten berechnet,
und
- (6) Eliminierung – ein
Boolscher Wert, der anzeigt, ob die bestimmte Interpretation eliminiert
werden sollte, nachdem sie zum Bilden aller möglicher neuer Interpretationen
verwendet wurde.
-
Annahmen
bezüglich
Vorgängen
an einer Erdbewegungsbaustelle können
zum Vereinfachen der Interpretationsentwicklung verwendet werden. Erstens
kann angenommen werden, daß ein
Objekt in Richtungen in einem gewissen Bereich zeigt. Wie zum Beispiel
in 4 und 5 gezeigt, zeigt ein Bediener
eines Baggers 39 oder Radladers (nicht dargestellt) normaler weise
an, ob der Kipper 40 in einer sogenannten Vorbeifahr-Ladeposition, wie
in 4 gezeigt, geparkt werden sollte, oder in einer Heckladeposition,
wie in 5 gezeigt. Eine weitere Annahme ist, daß der Kipper 40 von
hinten nach vorn abgetastet wird. Weitere Annahmen können nach
der jeweiligen Situation verwendet werden.
-
Unter
Verwendung dieser Annahmen wird dann eine Zustandstabelle erzeugt,
wie sie in 7 gezeigt ist, die den Vorgang
des Erzeugens von Interpretationen führt, während das Objekt von einem oder
mehr Abtastsensorsystemen 41 der Erdbewegungsmaschine 39 abgetastet
wird. Die Zustandstabelle kann im Speicher vorprogrammiert sein,
oder eine Off-Line-Verarbeitungseinrichtung kann die Tabelle erzeugen
und im Speicher speichern. Ein Einschränken der Merkmale, die übereinstimmen
müssen,
verringert die Rechneranforderungen. Im Fall eines Kipperladeflächenmodells 42,
wie es in 6 gezeigt ist, kann der Ort
und die Ausrichtung der Ladefläche
unter Verwendung von oberen Rändern 43, 44, 46, 48 der
Seiten der Ladefläche 42 bestimmt werden.
In der in 7 gezeigten Zustandstabelle sind
die Spaltenüberschriften
die möglichen
Zustände,
die bei jeder Abtastlinie in Betracht gezogen werden. Die Reihenüberschriften
sind die möglichen
Zustände,
in die eingetreten werden kann. Wenn eine Zelle als möglich gekennzeichnet
wird, dann ist es möglich,
vom Zustand der Spaltenüberschrift
in den durch diese Reihe angegebenen Zustand überzugehen. Der INITIAL-Zustand
bedeutet, daß keine
Abtastlinien mit 2 oder mehr Diskontinuitäten im Höhenbereich des oberen Endes
der Seiten des Kippers angetroffen wurden. 8 zeigt
die möglichen
Positionen des Abtastsensorsystems 52, das auf einer Erdbewegungsmaschine
sitzt, und des Kippers 50, wenn der Kipper 50 in
einer Vorbeifahrtposition ist. Im INITIAL-Zustand in 7 könnte der
Zustand möglicherweise
LINKS-HINTEN sein, wobei die linke und die hintere Seite gekreuzt
wurden, oder er könnte HINTEN-RECHTS
sein, wobei die hintere und die rechte Seite des Kippers gekreuzt
wurden, oder LINKS-RECHTS, wobei die linke und die rechte Seite gekreuzt
wurden. Das Verarbeitungsverfahren ist um die Zustandstabelle von 7 herum
organisiert. Die Tabelleneinträge
sind Zeiger auf Funktionen, die die Möglichkeit der gegebenen Interpretation überprüfen und
wenn möglich
neue Interpretationen erzeugen. Datenpunkte von jeder neuen Abtastlinie
werden auf Diskontinuitäten
hin verarbeitet, und dann wird die aktuelle Liste der Interpretationen
verwendet, um zu überprüfen, ob
die Daten aus der neuen Abtastlinie zum Bilden einer neuen Interpretation
kombiniert werden können.
-
Nach
dem Empfang der Abtastlinien werden diese zum Auffinden von Diskontinuitäten verarbeitet. Die
Orte der Diskontinuitäten
im Verhältnis
zur Maschine werden zum Eliminieren von Diskontinuitäten überprüft, die
nicht zum Rand des Kippers gehören können. Derzeit
richtet sich das nach einer Mindesthöhe und einer Mindestentfernung
zur Lademaschine, wie zum Beispiel dem Radlader oder Bagger. Die Diskontinuitäten werden
dann nach ihrer Entfernung von der Lademaschine geordnet.
-
Die
Diskontinuitäten
in der anfänglichen
Abtastlinie werden zum Erzeugen von Interpretationen über die
mögliche
Lage der Kipperladefläche
verwendet. Wenn zum Beispiel die beiden Diskontinuitäten der
Abtastlinie beim ersten Queren des Kippers 58, wie in 9 gezeigt,
auftreten, verursachen sie das Erzeugen von zwei neuen Interpretationen, LINKS-HINTEN 60, 62 und
HINTEN-RECHTS 62, 64. Die LINKS-RECHTS-60-64-Interpretation
kann eliminiert werden, da die in der Nähe des Ecks liegenden Diskontinuitäten weniger
als eine Mindestbreite 65 voneinander entfernt sein werden.
Diese Mindestbreite 65 wird als der Information aus dem Kippermodell
zugehörig
betrachtet. Da es keine vorhergehenden Daten zum Eliminieren der
HINTEN-RECHTS-62-64-Interpretation
gibt, muß sowohl LINKS-HINTEN
als auch HINTEN-RECHTS erzeugt werden. Die Liste von Interpretationen
aus einer Abtastlinie 68, 70 mit zwei Diskontinuitäten, das
heißt, die
erste Abtastlinie traf mehr als eine Diskontinuität an, ist
die folgende:
- 1. Zustand: LINKS-HINTEN, Anzahl
der Abtastlinien = 1, (unter Verwendung von Diskontinuitäten 60, 62 aus
der ersten Abtastlinie 68)
- 2. Zustand: HINTEN-RECHTS, Anzahl der Abtastlinien = 1, (unter
Verwendung von Diskontinuitäten 62, 64 aus
der ersten Abtastlinie 70)
- 3. Zustand: INITIAL, anfängliche
Anzahl der Abtastlinien = 0, (keine Diskontinuitäten)
-
Wenn
ein Rauschen in den durch das Abtastsensorsystem gelieferten Daten
ist, erkennt das Datenverarbeitungssystem vielleicht mehr als zwei
Diskontinuitäten
in einer Abtastlinie. In dieser Situation würden zwei zusätzliche
Interpretationen für
jede zusätzliche
Diskontinuität
erzeugt. Wenn das Verarbeitungssystem nur zwei in aufeinanderfolgenden
Abtastlinien vorkommende Diskontinuitäten erfaßt, werden die aufgrund von
Rauschen erzeugten Interpretationen nicht als gültige Interpretationen angesehen und
von der aktiven Interpretationsliste gestrichen.
-
Unter
der Annahme von keinen Abtastlinien mit Diskontinuitäten aufgrund
von Rauschen, wird, wenn die zweite Abtastlinie zwei Diskontinuitäten enthält, ein
Versuch unternommen, die zwei Diskontinuitäten mit den drei oben aufgeführten Interpretationen
zu kombinieren. An diesem Punkt wird nur die Entfernung zwischen
den Diskontinuitäten überprüft. Richtungen
werden erst überprüft, wenn
3 oder mehr Abtastlinien verarbeitet wurden. Jede Interpretation erzeugt
daher einen zusätzlichen
Satz Interpretationen, außer
der INITIAL-Zustand,
der zwei Zustände erzeugt.
Die Liste von Interpretationen nach dem Verarbeiten der zweiten
Abtastlinie enthält
die folgenden sieben Interpretationen:
- 1. Zustand:
LINKS-HINTEN, Anzahl der Abtastlinien = 2, (unter Verwendung von
Diskontinuitäten aus
der ersten und der zweiten Abtastlinie)
- 2. Zustand: HINTEN-RECHTS, Anzahl der Abtastlinien = 2, (unter
Verwendung von Diskontinuitäten
aus der ersten und der zweiten Abtastlinie)
- 3. Zustand: LINKS-HINTEN, Anzahl der Abtastlinien = 1, (unter
Verwendung von Diskontinuitäten aus
der zweiten Abtastlinie)
- 4. Zustand: HINTEN-RECHTS, Anzahl der Abtastlinien = 1, (unter
Verwendung von Diskontinuitäten
aus der zweiten Abtastlinie)
- 5. Zustand: LINKS-HINTEN, Anzahl der Abtastlinien = 1, (unter
Verwendung von Diskontinuitäten aus
der ersten Abtastlinie)
- 6. Zustand: HINTEN-RECHTS, Anzahl der Abtastlinien = 1, (unter
Verwendung von Diskontinuitäten
aus der ersten Abtastlinie)
- 7. Zustand: INITIAL, anfängliche
Anzahl der Abtastlinien = 0, (keine Diskontinuitäten)
-
10 zeigt
die Datenpunkte (oder Diskontinuitätspunkte) 71, 72, 73, 74, 75 und 76 aus
drei Abtastlinien 77, 78, 79 zum Bestimmen,
daß der LINKS-HINTEN-Zustand
den Abmessungs- und Richtungseinschränkungen
entspricht. Wenn die dritte gültige
Abtastlinie 79 empfangen wird, werden die sieben Interpretationen
auf der aktuellen Liste zum Erzeugen neuer Interpretationen verwendet.
An diesem Punkt wird jedoch eine Linie durch die Datenpunkte gelegt,
die sich auf das jeweilige lineare Merkmal beziehen, wie zum Beispiel
die Datenpunkte 71, 72, 73, die sich
auf den Rand links oben beziehen, und die Winkel zwischen den Merkmalen
des Modells werden überprüft. Wenn
ein Merkmal mehr als zwei Datenpunkte hat, werden Einschränkungen
unter Verwendung der Hauptachse durch den Satz von Punkten zum Elinieren
ungültiger
Interpretationen überprüft. Das
Verfahren zum Legen der Linien wird im Folgenden erörtert. Eine
dritte Abtastlinie mit zwei Diskontinuitäten würde die folgende Interpretationsliste
ergeben:
- 1. Zustand: LINKS-HINTEN, Anzahl der
Abtastlinien = 3, (unter Verwendung von Diskontinuitäten aus
allen 3 Abtastlinien)
- 2. Zustand: LINKS-HINTEN, Anzahl der Abtastlinien = 2, (unter
Verwendung von Diskontinuitäten aus
der dritten und der zweiten Abtastlinie)
- 3. Zustand: HINTEN-RECHTS, Anzahl der Abtastlinien = 2, (unter
Verwendung von Diskontinuitäten
aus der dritten und der zweiten Abtastlinie)
- 4. Zustand: LINKS-HINTEN, Anzahl der Abtastlinien = 2, (unter
Verwendung von Diskontinuitäten aus
der dritten und der ersten Abtastlinie)
- 5. Zustand: HINTEN-RECHTS, Anzahl der Abtastlinien = 2, (unter
Verwendung von Diskontinuitäten
aus der dritten und der ersten Abtastlinie)
- 6. Zustand: LINKS-HINTEN, Anzahl der Abtastlinien = 2, (unter
Verwendung von Diskontinuitäten aus
der zweiten und der ersten Abtastlinie)
- 7. Zustand: HINTEN-RECHTS, Anzahl der Abtastlinien = 2, (unter
Verwendung von Diskontinuitäten
aus der zweiten und der ersten Abtastlinie)
- 8. Zustand: LINKS-HINTEN, Anzahl der Abtastlinien = 1, (unter
Verwendung von Diskontinuitäten aus
der zweiten Abtastlinie)
- 9. Zustand: HINTEN-RECHTS, Anzahl der Abtastlinien = 1, (unter
Verwendung von Diskontinuitäten
aus der zweiten Abtastlinie)
- 10. Zustand: LINKS-HINTEN, Anzahl der Abtastlinien = 1, (unter
Verwendung von Diskontinuitäten aus
der ersten Abtastlinie)
- 11. Zustand: HINTEN-RECHTS, Anzahl der Abtastlinien = 1, (unter
Verwendung von Diskontinuitäten
aus der ersten Abtastlinie)
- 12. Zustand: INITIAL, anfängliche
Anzahl der Abtastlinien = 0, (keine Diskontinuitäten)
-
Es
ist zu bemerken, daß unter
der Annahme, daß der
Kipper 50 in einer Vorbeifahrtausrichtung im Verhältnis zur
Lademaschine und dem Scanner 52, wie in 8 gezeigt,
ist, nur der LINKS-HINTEN-Zustand den Abmessungseinschränkungen
entspricht, wenn Information aus allen drei Abtastlinien verwendet
wird, die bis zu diesem Punkt empfangen wurden.
-
Beim
Empfangen jeder neuen Abtastlinie werden aufgrund des Zustands der
Interpretationen auf der aktiven Liste neue Interpretationen erzeugt. Nach
Verarbeiten der jeweiligen Abtastlinie und dem Erzeugen neuer Interpretationen
werden neue Interpretationen vorne an die Liste angefügt, und
die alten Interpretationen werden am Ende der Liste behalten. Es
ist klar, daß dieses
Verfahren dazu führen
könnte, daß die Interpretationsliste
sehr lang werden könnte, vor
allem, wenn es mehr als zwei Diskontinuitäten pro Abtastlinie sind. Aus
diesem Grund kann die Liste beschränkt werden, wenn die Anzahl
der Zustände größer als
eine Maximalzahl wird, die so gesetzt wird, daß sie die erwünschte Anzahl
von Interpretationen enthält,
wie zum Beispiel eine Beschränkung
auf 20. Nach dem Aktualisieren der Liste wird sie nach der besten
Kipperbeschreibung untersucht, was auf der Grundlage der Anzahl
der Abtastlinien geschieht, die bei einer Interpretation verwendet
werden, und der Anzahl der Modellmerkmale, die in Übereinstimmung gebracht
wurden. Das beste Merkmal wird immer an den Beginn der Liste gesetzt.
Derzeit ist das Verfahren zum Auffinden des besten Merkmals das
folgende:
Für
jede Interpretation in der Liste:
- (1) Die Anzahl
von Merkmalen zählen,
die mehr als zwei Punkte haben.
- (2) Die Anzahl von Diskontinuitäten zählen, die bei der Lösung verwendet
wurden. Die ist die Anzahl der Treffer.
- (3) Wenn die Anzahl der Merkmale größer als die vormals beste Kipperbeschreibung
ist und die Anzahl von Treffern größer als die bisherige beste Kipperbeschreibung,
dann diese Interpretation zur besten Interpretation machen und die
Liste nicht mehr weiter durchgehen.
-
Wenn
keine Interpretation gefunden wurde, die mit den obigen Kriterien übereinstimmt,
dann für jede
Interpretation in der Liste:
- (1) Merkmale zählen
- (2) Treffer zählen
- (3) Wenn die Anzahl von Merkmalen gleich der bisherigen besten
Kipperbeschreibung und die Anzahl der Treffer größer als die bisherige beste Kipperbeschreibung
ist, dann diese Interpretation zur besten Interpreta tion machen
und die Liste nicht mehr weiter durchgehen.
-
Ein
Vorgang, der in dem obigen Beispiel nicht beschrieben ist, besteht
darin, daß ein
Zustand eliminiert werden kann, nachdem er zum Erzeugen weiterer
Zustände
verwendet wurde. Wenn ein Zustand einen identischen Zustand erzeugt,
wird nur der Zustand mit der meisten Information behalten. Dadurch
werden einige redundante Zustände
eliminiert, die sonst auf der aktiven Liste geführt würden. Das kann zu Problemen
führen,
wenn ein Punkt, der nicht wirklich auf der Kante einer Kipperladefläche liegt,
in das Merkmal mit aufgenommen wird. Wenn zum Beispiel ein Erdklumpen über die
Kante der Ladefläche
hinausquillt, könnte
die Lösung
einen Punkt auf dem Erdklumpen beinhalten, und das würde das durchschnittliche
Rauschen der Linien am linearen Merkmal erhöhen sowie die Linie in die
Richtung des Rauschpunktes verschieben. Solange jedoch die Ladefläche nicht
gänzlich
verdeckt wird, sollten die Punkte auf der Ladeflächenkante bessere Linienübereinstimmungen
aufweisen.
-
Die
das Modell des Kippers bildenden linearen Merkmale können durch
eine Gerade repräsentiert
werden, die durch zwei Punkte des Modellmerkmals gebildet wird,
nämlich
den ersten Punkt und den aktuellsten Punkt. Auch wenn dieses Verfahren
einen hohen Wirkungsgrad hat, kommt dabei keine sehr genaue Repräsentation
des Merkmals heraus. Zum genauen Darstellen des Merkmals sollte
eine Linie durch Punkte in drei Dimensionen gehen. Ein Verfahren
dafür ist
das Auffinden der Hauptachsen des Satzes von Punkten eines bestimmten
Merkmals. Diese Achsen werden unter Verwendung der Hauptkomponentenanalyse
bestimmt. Die 3×3-Kovarianz-Matrix des
Punktsatzes wird ermittelt. Die Teilsummen, die zum Konstruieren
der Kovarianzmatrix verwendet werden, werden zum Ermöglichen
einer schnelleren Berechnung gespeichert, wenn die Diskontinuitäten von
neuen Abtastlinien berücksichtigt
werden. Die Eigenvektoren der Kovarianzmatrix der Punkte eines Merkmals
ergeben die Richtung der Hauptachsen im Raum. Die Richtung der dreidimensionalen
Linie ist gegeben durch den Eigenvektor, der den größten Eigenwert
hat. Dies ist der Vektor in unserer Darstellung der linearen Merkmale.
Dieser Vorgang wird oft durchgeführt,
weil jeder Zustand auf der Interpretationsliste neue Zustände erzeugt,
je nach der Zustandstabelle, und jeder davon kann 1 oder 2 Merkmale betreffen,
die neue Linienanpassungen erfordern. Ein Verfahren, das eine anfängliche
Schätzung
bei den Eigenvektoren und Eigenwerten erlaubt, könnte die Rechnerzeit bei dieser
Anwendung verringern, weil, wenn die Eigenvektoren einmal gefunden
wurden, sie sich bei Hinzufügen
eines neuen Punktes jeweils nur sehr wenig verändern.
-
Die
Modelle in der Datenbank bestehen aus den Merkmalen, die durch Verarbeiten
der senkrechten Abtastlinien einer Entfernungsabtastung des Objekts
zum Auffinden der Diskontinuitäten
in der jeweiligen Abtastlinie konstruiert werden. Nur die Merkmale,
die Diskontinuitäten
in senkrechten Abtastlinien des Objekts entsprechen, werden im Modell
verwendet. Beispiele dieser Merkmale sind durch die fetten Linien
für die
Ränder 43, 44, 46, 48 in 6 angezeigt.
Die linearen Merkmale werden durch einen Vektor, der die Richtung
der Hauptachse der Linie im dreidimensionalen Raum angibt, und durch
zwei Endpunkte repräsentiert. 11 zeigt
ein Modell für eine
Kipperladefläche 80 mit
weiteren linearen Merkmalen, wie den unteren Kanten 82, 84, 86, 88, 90,
die in der Datenbank genauso wie die Seiten 92, 94 mit Winkelverhältnissen
repräsentiert
sein können,
die vom in 6 gezeigten Modell verschieden
sind. Allgemeine Abmessungen wie die Länge, die Breite und die Höhe werden
auch mit der Modellinformation angegeben. Die Modelle können in
einem modellzentrierten Koordinatensystem gespeichert werden und die
Merkmale in andere Koordinatensysteme umgewandelt werden, wodurch
sie dann in den von der Zustandstabelle abgerufenen Funktionen zu
verwenden sind. Zusätzlich
zu den in 6 und 11 gezeigten
Kipperladeflächen
können
auch andere Objekte mit linearen Merkmalen in der Datenbank gespeichert
werden.
-
Wie
oben angegeben, kann die Zustandstabelle durch ein Off-Line-Verfahren
hergestellt werden. Bei der vorliegenden Erfindung wurde die Zustandstabelle
manuell hergestellt und die von der Zustandstabelle aufgerufenen
Softwarefunktionen wurden ebenfalls manuell geschrieben. Ein Verfahren, das
die Zustandstabelle und die von der Zustandstabelle aufgerufenen
Softwarefunktionen aufgrund einer auf einem Modell beruhenden Beschreibung
generieren könnte,
würde es
erlauben, dieses Verfahren der inkrementellen Objekterkennung auf
jedes Objekt anzuwenden, das eine erlaubte Modellbeschreibung hat.
-
Eine
weitere Ausführungsform
der Erfindung erlaubt es, daß eine
Zustandstabelle und Software automatisch konfiguriert werden, indem
das Abtasten eines Objektmodells simuliert wird und mögliche Zustände bestimmt
werden, in die ein Übergang
aus einem gegebenen Zustand möglich
ist. Abmessungsbeschränkungen,
die mögliche
Zustände
bestimmen, in die ein Übergang
vom aktuellen Zustand aus möglich
ist, werden unter Verwendung von Information aus dem Objektmodell
automatisch kodiert. Dieser Vorgang kann off-line unter Verwendung
eines Modells des Sensors und eines planaren Modells des Objekts
durchgeführt
werden. Mehrere simulierte Abtastungen des Objektmodells werden
im Bereich von Positionen und Ausrichtungen durchgeführt, die
für das
Objekt im Verhältnis
zur Lademaschine, wie zum Beispiel einem Bagger, möglich sind.
Die Zustandstabelle wird durch Kombinieren der Sätze von Zuständen generiert,
die aus den simulierten Abtastungen des Objektmodells entstanden.
Die erforderliche Information für
die Funktionen, die die Zustandsübergänge bestimmen,
besteht typischerweise aus dem Winkel zwischen den Merkmalen, der
Länge der Merkmale,
der Nähenentfernung
für ein
bestimmtes Merkmal und der Richtung der Kreuzprodukts von zwei linearen
Merkmalen. Allgemeine Funktionen, die bestimmen, ob die Diskontinuitäten in der
Abtastlinie ein Verbleiben des Systems im gleichen Zustand und/oder
einen Übergang
zu einem neuen Zustand verursachen, werden mit der spezifischen
Modellinformation aufgerufen. Das Off-Line-System ermöglicht es,
daß das
Verfahren mit mehr als einer Art Modell verwendet werden kann und
zur Verwendung mit Sensoren mit unterschiedlichen Abtastraten, Abtastauflösungen und
Strahlbreiten abgestimmt werden kann.
-
Bei
der vorliegenden Erfindung kann das Objekt erkannt werden, während es
abgetastet wird, wodurch die Zeit zum Sammeln der Daten aus dem
Erkennungsvorgang nicht mehr benötigt
wird. Der Betrieb ist relativ unempfindlich gegenüber Fehlern
bei einem Abtastsensorsystem, das auf der automatisierten Lademaschine
residiert. Außerdem
werden dabei geringe Datenmengen aus gering auflösenden Sensoren verwendet,
die unter rauhen Umweltbedingungen funktionieren. Bei nachfolgenden
Abtastungen des Scanners kann das Verfahren dazu verwendet werden,
nachzuverfolgen und nachzuprüfen,
ob das Ojekt noch am gleichen Ort ist, an dem es vorher lokalisiert
wurde. Die Abmessungen des jeweiligen Kippers können unterschiedlich sein,
daher müssen für jeden
Kipper die Ladeflächenabmessungen
wieder festgestellt werden.
-
Teilbeschreibungen
der Objekte werden von Software-Planungsfunktionen zum Planen der
Aktionen eines Hydraulikbaggers (hydraulic excavator/HEX) oder eines
Radladers zum Beladen eines Behälters,
wie zum Beispiel eines Kippers, eines Eisenbahnwaggons, eines Flachbettkippers
oder eines Bunkers verwendet. Bei der Anwendung auf den automatisierten
Massenaushub plant ein HEX-Bewegungsplaner die Bewegung der Maschine,
die zum Bewegen einer Schaufel voll Material von der Bodenoberfläche und
zum Laden in die Kipperladefläche benötigt werden.
Ein weiteres Planmodul, ein Ladeplaner, wählt den Zielort in der Ladefläche, in
dem der HEX das Material ablädt.
Diese beiden Module erfordern ein Wissen über die Position des Kippers.
Durch die vorliegende Erfindung werden Informationen über das
Objekt bereitgestellt, die von anderen Systemen verwendet werden
können,
wie zum Beispiel die Eckpunkte des Objekts (links vorne, links hinten,
rechts vorne, rechts hinten und Tiefenpunkt), die Ladeflächenabmessungen
(Länge,
Breite, Tiefe der Fläche), Kipperpositionsinformation
(Höhe,
Richtung im Welt-Koordinatensystem) und Datenflags, die anzeigen,
ob für
die oben aufgeführten
Lösungspunkte und
Abmessungen gültige
Daten existieren.