-
HINTERGRUND DER ERFINDUNG
-
1. GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung betrifft eine Aufhebevorrichtung für Gegenstände und ein Aufhebeverfahren für Gegenstände, zum Identifizieren einer Position und einer Lage von in einem dreidimensionalen Raum willkürlich aufgestapelten Gegenständen und zum Aufheben des erkannten Gegenstands mittels eines Roboters.
-
2. BESCHREIBUNG DES STANDES DER TECHNIK
-
Als Vorrichtung dieses Typs ist üblicherweise eine Vorrichtung bekannt, die ausgestaltet ist, eine Position eines Gegenstands durch Anwendung eines Musterabgleichs auf ein mittels Abbildung von willkürlich aufgestapelten Gegenständen unter Verwendung einer Kamera erhaltenes zweidimensionales Abbild oder auf eine mittels Messung unter Verwendung eines dreidimensionalen Messinstruments erhaltene dreidimensionale Punktmenge zu erkennen. Eine solche Vorrichtung ist zum Beispiel in der japanischen Offenlegungsschrift Nr. 2004-295223 (
JP2004-295223A ) und der japanischen Offenlegungsschrift Nr. 2011-179909 (
JP2011-179909A ) beschrieben. Ferner ist eine Vorrichtung bekannt, die ausgestaltet ist, eine dreidimensionale Lage eines rotierenden Körpers mittels zweier durch Stereofotografie erhaltener Abbilder zu berechnen. Diese Vorrichtung ist zum Beispiel in der japanischen Offenlegungsschrift Nr. 2011-022084 (
JP2011-022084A ) beschrieben.
-
Bei der in der
JP2004-295223A beschriebenen Vorrichtung wird vorab aus einem zweidimensionalen Abbild eines Gegenstands, der eine normale dreidimensionale relative Lage aufweist, ein zweidimensionales Modell-Muster erstellt; durch Anwendung einer zweidimensionalen geometrischen Transformation des zweidimensionalen Modell-Musters werden mehrere zweidimensionale Modell-Muster-Transformierte erstellt; und auf ein zweidimensionales Abbild eines Gegenstands wird mittels der mehreren zweidimensionalen Modell-Muster-Transformierten ein zweidimensionaler Musterabgleich angewendet.
-
Bei der in der
JP2011-179909A beschriebenen Vorrichtung werden, wobei vorab aus einem CAD-Modell oder dergleichen ein dreidimensionales Modell-Muster eines Gegenstands erhalten wird, Oberflächen von Gegenständen in einem dreidimensionalen Raum mittels eines dreidimensionalen Messinstruments gemessen und es wird eine dreidimensionale Punktmenge (ein Entfernungsabbild) erhalten, und die dreidimensionale Punktmenge wird dann in Teilbereiche unterteilt, die von einem aus der dreidimensionalen Punktmenge extrahierten Rand umgeben sind. Dann wird zunächst einer der Teilbereiche als Gegenstandsbereich festgelegt und sowohl die Abgleichungsbearbeitung des dreidimensionalen Modell-Musters für den Gegenstandsbereich als auch die Aktualisierungsbearbeitung zum Hinzufügen eines weiteren Teilbereichs zum Gegenstandsbereich werden wiederholt, um Positionen und Lagen der Gegenstände zu messen.
-
Bei der in der
JP2011-022084A beschriebenen Vorrichtung wird mittels eines Kamerapaars durch Abbildung eines sich drehenden Körpers aus verschiedenen Richtungen ein Abbildpaar erfasst, durch Berechnen einer Hauptkomponentenachse des sich drehenden Körpers durch Hauptkomponentenanalyse mit Bezug auf jedes Abbildpaar wird eine Mittelachse des sich drehenden Körpers festgelegt, und dreidimensionale Informationen der Mittelachse werden anhand des Prinzips der Triangulierung mittels eines Abbildpaars bestimmt, um eine Lage des sich drehenden Körpers zu berechnen.
-
Bei der in der
JP2004-295223A und der
JP2011-179909A beschriebenen Vorrichtung ist es jedoch erforderlich, für jede Art von Gegenstand vorab ein zweidimensionales Modell-Muster oder ein dreidimensionales Modell-Muster zu erstellen, was Zeit und Aufwand erfordert. Ferner wird in der in der
JP2011-022084A beschriebenen Vorrichtung eine Lage eines sich drehenden Körpers mittels zweier stereoskopisch fotografierter Bilder berechnet, so dass ein Paar von Kameras vorgesehen werden muss, was zu einem umfangreichen Vorrichtungsaufbau führt.
-
DARSTELLUNG DER ERFINDUNG
-
Eine Aufhebevorrichtung für Gegenstände gemäß einem Aspekt der vorliegenden Erfindung umfasst: einen Roboter, der eine Hand beinhaltet, die fähig ist, einen Gegenstand zu halten; ein dreidimensionales Messinstrument, das Oberflächenpositionen von mehreren in einem dreidimensionalen Raum willkürlich aufgestapelten Gegenständen misst, um Positionsinformationen von mehreren dreidimensionalen Punkten auf Oberflächen von Gegenständen zu erfassen; eine Zusammenhängende-Mengen-Berechnungseinheit, die eine durch Verbinden nahe beieinander liegender dreidimensionaler Punkte der mehreren durch das dreidimensionale Messinstrument erfassten dreidimensionalen Punkte gebildete zusammenhängende Menge bestimmt; eine Gegenstandsidentifizierungseinheit, die eine Position und eine Lage eines Gegenstands anhand der Positionsinformationen der zur zusammenhängenden Menge gehörigen dreidimensionalen Punkte identifiziert; eine Handpositionslagenberechnungseinheit, die eine Handpositionslage bestimmt, wobei die Handpositionslage eine Position und eine Lage der Hand ist, die fähig ist, den mittels der Gegenstandsidentifizierungseinheit identifizierten Gegenstand aufzuheben; und eine Robotersteuereinheit, die den Roboter so steuert, dass die Hand in die Handpositionslage bewegt wird, die von der Handpositionslagenberechnungseinheit bestimmt wurde, um den Gegenstand aufzuheben, wobei die Gegenstandsidentifizierungseinheit eine Hauptkomponentenrichtung der zusammenhängenden Menge berechnet, indem sie eine Hauptkomponentenanalyse auf die zur zusammenhängenden Menge gehörigen dreidimensionalen Punkte anwendet, und die Lage des Gegenstands anhand der Hauptkomponentenrichtung identifiziert.
-
Ein anderer Aspekt der vorliegenden Erfindung ist ein Aufhebeverfahren für Gegenstände zum Aufheben von in einem dreidimensionalen Raum willkürlich aufgestapelten Gegenständen mittels eines Roboters, der eine Roboterhand umfasst, die fähig ist, den Gegenstand zu halten, wobei das Verfahren beinhaltet: Messen, mittels eines dreidimensionalen Messinstruments, von Oberflächenpositionen mehrerer in dem dreidimensionalen Raum willkürlich gestapelter Gegenstände, um Positionsinformationen von mehreren dreidimensionalen Punkten auf Oberflächen von Gegenständen zu erfassen; Bestimmen einer zusammenhängenden Menge, die durch Verbinden von nahe beieinander liegenden dreidimensionalen Punkten der mehreren durch das dreidimensionale Messinstrument erfassten dreidimensionalen Punkte gebildet wird; Identifizieren einer Position und Lage eines Gegenstands anhand der Positionsinformationen der zusammenhängenden Menge gehörigen dreidimensionalen Punkte; Bestimmen einer Handpositionslage, wobei die Handpositionslage eine Position und eine Lage der Hand ist, die fähig ist, den Gegenstand, dessen Position und Lage identifiziert werden, aufzuheben; und Steuern des Roboters, so dass die Hand in die Handpositionslage bewegt wird, die bestimmt wurde, um den Gegenstand aufzuheben, wobei das Identifizieren der Lage des Gegenstands beinhaltet, mittels Anwendung einer Hauptkomponentenanalyse auf die zur zusammenhängenden Menge gehörigen dreidimensionalen Punkte eine Hauptkomponentenrichtung der zusammenhängenden Menge zu berechnen, und anhand der Hauptkomponentenrichtung die Lage des Gegenstands zu identifizieren.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung einer Ausführungsform in Zusammenschau mit den beiliegenden Zeichnungen genauer ersichtlich werden. Es zeigt:
-
1 eine Ansicht, die eine schematische Ausgestaltung einer Aufhebevorrichtung für Gegenstände gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
-
2 ein Flussdiagramm eines Beispiels der in einer Robotersteuervorrichtung von 1 ausgeführten Abarbeitung;
-
3 eine Ansicht eines Beispiels einer dreidimensionalen Punktmenge, die mittels eines dreidimensionalen Messinstruments aus 1 erfasst wurde;
-
4 eine Ansicht eines Beispiels einer aus der dreidimensionalen Punktmenge von 3b bestimmten zusammenhängenden Menge;
-
5 eine konzeptuelle Darstellung einer zusammenhängenden Menge;
-
6 ein Flussdiagramm, in dem Einzelheiten der Abarbeitung zur Bestimmung einer zusammenhängenden Menge gezeigt sind.
-
7 eine Ansicht eines Beispiels einer Hauptträgheitsachse einer zusammenhängenden Menge;
-
8 eine Ansicht eines Beispiels von Hauptträgheitsachsen von zusammenhängenden Mengen, die mehreren in einem Behälter willkürlich aufgestapelten Gegenständen entsprechen;
-
9 eine Ansicht eines Beispiels von repräsentativen Positionslagen, die eine zusammenhängende Menge repräsentieren;
-
10 eine Ansicht eines Beispiels einer Handposition, die der repräsentativen Positionslage aus 9 entspricht;
-
11 eine Ansicht eines Beispiels für eine Nummerierung für die Handpositionslage von 10;
-
12 eine Ansicht eines Beispiels eines Arbeitsvorgangs der Aufhebevorrichtung für Gegenstände gemäß der Ausführungsform der vorliegenden Erfindung;
-
13 eine Ansicht eines Beispiels eines auf den Arbeitsvorgang in 12 folgenden Arbeitsvorgangs;
-
14 eine Ansicht eines Beispiels eines auf den Arbeitsvorgang in 13 folgenden Arbeitsvorgangs;
-
15 eine Ansicht eines Beispiels eines auf den Arbeitsvorgang in 14 folgenden Arbeitsvorgangs;
-
16 eine Ansicht eines Beispiels eines auf den Arbeitsvorgang in 15 folgenden Arbeitsvorgangs;
-
17 eine Ansicht eines Beispiels eines auf den Arbeitsvorgang in 16 folgenden Arbeitsvorgangs; und
-
18 ein Blockschema einer internen Konfiguration der Robotersteuerungsvorrichtung von 1.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Im Folgenden wird unter Bezugnahme auf 1 bis 18 eine Aufhebevorrichtung für Gegenstände gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung beschrieben. 1 ist eine Ansicht, die eine schematische Ausgestaltung einer Aufhebevorrichtung für Gegenstände 10 gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung zeigt. Die Aufhebevorrichtung für Gegenstände 10 umfasst ein dreidimensionales Messinstrument 11, einen Roboter 12 und eine Robotersteuervorrichtung 13 zum Steuern des Roboters 12, dadurch, dass sie mit dem dreidimensionalen Messgerät 11 und dem Roboter 12 verbunden ist. Der Roboter 12 beinhaltet eine am äußersten Ende eines Arms 12a montierte Hand 14. Seitlich des Roboters 12 ist ein Behälter 16 angeordnet. Zusammen damit zeigt 1 ein orthogonales Dreiachsenkoordinatensystem X, Y und Z. Die Z-Richtung ist eine vertikale Richtung und die X-Richtung und Y-Richtung sind horizontale Richtungen.
-
In dem nach oben offenen Behälter 16 sind mehrere Gegenstände 20 willkürlich aufgestapelt. Die Aufhebevorrichtung für Gegenstände 10 der vorliegenden Ausführungsform erkennt eine Position und eine Lage eines aufzuhebenden Gegenstands 10 während die mehreren Gegenstände 20 willkürlich aufgestapelt sind, und hält dann den erkannten Gegenstand 20 und hebt diesen mittels der Hand 14 aus dem Behälter 16 auf. Ferner verbringt die Aufhebevorrichtung für Gegenstände 10, über eine Bedienung des Roboters 12, den aufgehobenen Gegenstand 20 zu einer seitlich des Behälters 16 angeordneten Austragvorrichtung, um den Gegenstand 20 auszutragen. 1 zeigt mehrere Gegenstände 20 von gleicher zylindrischer Form, es können jedoch beliebige von der zylindrischen Form abweichende Formen und Gegenstände, einschließlich solche mit unterschiedlichen Formen eingesetzt werden. In der nachfolgenden Beschreibung wird der von der Hand 14 zu haltende Gegenstand 20 in einigen Fällen zur Unterscheidung von anderen Gegenständen im Behälter 16 mit dem Bezugszeichen 21 bezeichnet (siehe 14).
-
Die Hand 14 ist am äußersten Ende einer Drehwelle 14b angeordnet und beinhaltet ein Paar Greifeinheiten 14a eines magnetischen Typs, die in gespaltener Form ausgebildet wurden. Das Paar Greifeinheiten 14a ist zu einer durch die Mitte der Drehwelle 14b verlaufenden Achslinie 14c symmetrisch und in Pfeilrichtung A um die Achslinie 14c drehbar (siehe 12). Der Magnet ist von einem elektromagnetischen Typ und kann durch die Robotersteuervorrichtung 13 frei AN (aktiv) und AUS (inaktiv) geschaltet werden. Die Hand 14 ist einer Form des Gegenstands 20 entsprechend geeignet modifiziert und die Ausgestaltung des Behälters 16 und die Ausgestaltung der Hand 14 sind nicht auf die Ausgestaltung von 1 beschränkt.
-
Während eine Lage (eine Richtung der Achslinie 14c und ein Drehwinkel der Richtung des Pfeils „A”) der Greifeinheit 14a entlang eines äußeren Umfangs eines zylinderförmigen Gegenstands 20 gesteuert wird, nähert sich die Greifeinheit 14a einem aufzuhebenden Gegenstand 20 und hält den Gegenstand 20 durch Anschalten des Elektromagneten. Dann wird die Hand 14 durch Bedienung des Roboters 12 angehoben. Dadurch wird der Gegenstand 21 von anderen Gegenständen 20 weg nach oben aufgehoben (siehe 14). Zu diesem Zeitpunkt ist eine Lage der Hand 14 gegenüber dem Gegenstand 21 konstant und die Hand 14 wird so verändert, dass sie eine einer Form der Austragvorrichtung 17 entsprechende Lage hat (zum Beispiel eine Lage, in welcher die Mittelachse des Gegenstands 21 in eine Y-Achsenrichtung ausgerichtet ist) während sie sich bis über die Austragvorrichtung bewegt. Dadurch kann der Gegenstand 21 von der Hand 14 mit in Bezug auf die Austragevorrichtung 17 konstant bleibender Lage transferiert werden.
-
Das dreidimensionale Messinstrument 11 ist über einem Mittenabschnitts des Behälters 16 angeordnet und misst eine Oberfläche eines freiliegenden Gegenstands 20 von mehreren im Behälter 16 willkürlich aufgestapelten Gegenständen 20, um Positionsinformationen (dreidimensionale Informationen) mehrerer dreidimensionaler Punkte zu erfassen. Ein Messbereich des dreidimensionalen Messinstruments 11 muss den Behälter 16 beinhalten, ein zu großer Messbereich reduziert jedoch die Messauflösung. Der Messbereich ist daher vorzugsweise gleich einem vom Behälter 16 eingenommenen Bereich und stimmt mit dem vom Behälter 16 eingenommenen Bereich überein. In 1 ist das dreidimensionale Messinstrument 11 auf einem speziell dafür vorgesehenen Gestell 15 befestigt, kann aber an einem äußersten Ende des Roboters 12 montiert werden. Das dreidimensionale Messinstrument 11 und die Robotersteuervorrichtung 13 sind miteinander über eine Kommunikationseinheit, wie etwa ein Kommunikationskabel, verbunden, um miteinander kommunizieren zu können.
-
Als dreidimensionales Messinstrument 11 können verschiedene berührungslose Typen verwendet werden. Zu nennen sind zum Beispiel ein Scantyp mit Laserschlitzlicht, ein Scantyp mit Laserpunktlicht, ein Typ von mittels einer Vorrichtung wie etwa einem Projektor auf Gegenstände projiziertes Muster-Licht, und ein Typ von Verwendung einer Laufzeit von der Ausstrahlung von Licht von einem Projektor bis zu dessen Einfall an einem Lichtempfänger durch Reflexion an einer Gegenstandsoberfläche.
-
Das dreidimensionale Messinstrument 11 drückt die erfassten dreidimensionalen Informationen als Format eines Entfernungsabbilds oder einer dreidimensionalen Karte aus. Das Entfernungsabbild ist ein Abbild, bei dem dreidimensionale Informationen als Bildformat ausgedrückt werden, und drückt eine Höhe einer Position auf einem Abbild oder eine Entfernung vom dreidimensionalen Messinstrument 11 mittels Helligkeit oder einer Farbe der einzelnen Pixel des Abbilds aus. Die dreidimensionale Karte wiederum ist eine Karte, in welcher dreidimensionale Informationen als eine Menge gemessener dreidimensionaler Koordinatenwerte (x, y, z) ausgedrückt werden. Bei der vorliegenden Ausführungsform wird jedes Pixel eines Entfernungsabbilds bzw. ein Punkt mit dreidimensionalen Koordinatenwerten in einer dreidimensionalen Karte als dreidimensionaler Punkt bezeichnet, und eine Menge, die mehrere dreidimensionale Punkte beinhaltet wird als dreidimensionale Punktmenge bezeichnet. Die dreidimensionale Punktmenge ist eine Menge aller mittels des dreidimensionalen Messinstruments 11 gemessenen dreidimensionalen Punkte und kann mittels des dreidimensionalen Messinstruments 11 erfasst werden.
-
Es ist der Hand 14 möglich einen Gegenstand 20 zu greifen und aufzuheben und den aufgehobenen Gegenstand 20 zu halten und loszulassen, und Beispiele einer Ausgestaltung der zu solchen Arbeitsvorgängen fähigen Hand beinhalten eine Ansaugdüse, einen Anzugsmagneten, und einen Saugnapf oder eine Saugspannvorrichtung. Ein Arbeitsvorgang des Roboters 12 steuert eine Positionslage der Hand 14.
-
2 zeigt ein Flussdiagramm eines Beispiels der in einer Robotersteuervorrichtung 13 ausgeführten Abarbeitung, und insbesondere ein Beispiel der Abarbeitung zum Aufheben von Gegenständen. Ein Arbeitsvorgang der Aufhebevorrichtung für Gegenstände 10 wird nachfolgend unter Bezugnahme auf das Flussdiagramm von 2 und die zugehörigen Zeichnungen beschrieben.
-
Die Abarbeitung in 2 beginnt, wenn zum Beispiel ein Aufhebe-Startbefehl für einen Gegenstand 20 durch Betätigen eines nicht gezeigten Betätigungsschalters eingegeben wird. Zunächst misst Schritt S1 Oberflächen von mehreren in einem dreidimensionalen Raum willkürlich aufgestapelten Gegenständen 20 mittels des dreidimensionalen Messinstruments 11 und erfasst dann eine dreidimensionalen Punktmenge 30. 3 zeigt eine Ansicht eines Beispiels einer dreidimensionalen Punktmenge 30, die mittels des dreidimensionalen Messinstruments 11 erfasst wurde, und dreidimensionale Punkte 31, die die dreidimensionale Punktmenge 30 ausbilden. In 3 sind die dreidimensionalen Punkte 31 durch schwarze Kreise dargestellt und die dreidimensionale Punktmenge 30 ist als von einer gepunkteten Linie umgebener Bereich, der alle schwarzen Kreise beinhaltet, gezeigt.
-
Schritt S2 bestimmt dann aus der dreidimensionalen Punktmenge 30 zumindest eine zusammenhängende Menge 32. 4 ist eine Ansicht eines Beispiels der aus der dreidimensionalen Punktmenge 30 bestimmten zusammenhängenden Menge 32. 4 zeigt die zusammenhängende Menge 32 als einen von einer gepunkteten Linie umgebenen Bereich. Mit anderen Worten, 4 zeigt vier zusammenhängende Mengen 32.
-
Die zusammenhängende Menge 32, auf die hier Bezug genommen wird, bezieht sich auf eine Teilmenge der dreidimensionalen Punktmenge 30; und wenn sich in der Nähe eines willkürlich ausgewählten dreidimensionalen Punktes (ein erster dreidimensionaler Punkt) 31 ein vom vorigen dreidimensionalen Punkt 32 verschiedener dreidimensionaler Punkt (ein zweiter dreidimensionaler Punkt) 31 befindet, bezieht sich die zusammenhängende Menge 32 auf eine Menge in der der erste dreidimensionale Punkt 31 und die zweite dreidimensionale Menge 31 verbunden sind. Mit anderen Worten, die zusammenhängende Menge 32 bezieht sich auf eine Menge von dreidimensionalen Punkten, die dadurch gebildet wird, dass nahe beieinander liegende dreidimensionale Punkte verbunden werden. 5 ist eine Ansicht, die ein Konzept der zusammenhängenden Menge 32 veranschaulicht. In 5 werden, wenn ein Abstand zwischen dem nebeneinanderliegenden ersten dreidimensionalen Punkt 31 und zweiten dreidimensionalen Punkt 31 in eine vorbestimmte Größe fällt, der erste dreidimensionale Punkt 31 und der zweite dreidimensionale Punkt 31 verbunden.
-
Wenn, wie in 5 dargestellt, zum Beispiel mehrere dreidimensionale Punkte 31 (durch 311 bis 317 ausgedrückt) mittels des dreidimensionalen Messinstruments 11 gemessen werden, und von diesen 311 und 312, 312 und 313, 313 und 314, und 315 und 316 jeweils innerhalb eines vorbestimmten Abstands liegen, werden diese Punkte verbunden. In diesem Fall sind 311 und 314 auch über 312 und 313 verbunden, und 311 bis 314 bilden daher dieselbe zusammenhängende Menge 321 aus. Auf der anderen Hand sind 315 und 316 mit keinem von 311 bis 314 verbunden, und bilden daher eine andere zusammenhängende Menge 322 aus. Da 317 mit keinem von 311 bis 316 verbunden ist, bildet 317 alleine eine zusammenhängende Menge 323 aus.
-
Wenn Oberflächen von willkürlich aufgestapelten Gegenständen 20 mittels des dreidimensionalen Messinstruments 11 gemessen werden, befinden sich dreidimensionale Punkte 31 (zum Beispiel 313 und 314 in 5), die auf demselben Gegenstand 20 nebeneinander liegen, nahe beieinander. Im Gegensatz dazu sind in einer Grenze von Gegenständen 20 die Positionen von beieinander liegenden dreidimensionalen Punkten (zum Beispiel 314 und 315 in 5) größtenteils verändert. Deshalb gehören, obwohl die dreidimensionalen Punkte 313 und 314 zur selben zusammenhängenden Menge 32 gehören, die dreidimensionalen Punkte 314 und 315 zu voneinander verschiedenen zusammenhängenden Mengen 32. Wenn daher ein Abstand zwischen dreidimensionalen Punkten, die eine zusammenhängende Menge 32 ausbilden, sowie eine Mindestzahl von Punkten und eine Höchstzahl von Punkten in der zusammenhängenden Menge 32 und anderen gemäß dem Gegenstand 20 und dem dreidimensionalen Messgerät 11 geeignet eingestellt sind, dann kann die zusammenhängende Menge 32 als Oberflächenform eines einzelnen Gegenstands 20 angesehen werden. Mit anderen Worten, eine einzelne zusammenhängende Menge 32 entspricht einem einzelnen Gegenstand 20 in Eins-zu-eins-Entsprechung, und der Gegenstand 20 kann mittels der zusammenhängenden Menge 32 identifiziert werden.
-
6 ist ein Flussdiagramm, das die Abarbeitung (Abarbeitung zur Berechnung der zusammenhängenden Menge) zur Bestimmung einer zusammenhängenden Menge 32 zeigt, d. h. ein Flussdiagramm, das die Abarbeitung von Schritt S2 der 2 genauer zeigt. Zunächst teilt Schritt 21 allen zum dreidimensionalen Punktesatz 30 gehörigen dreidimensionalen Punkten 31 eine Kennsatznummer 0 als anfängliche Kennsatznummer zu, die keine Zugehörigkeit zu irgendeiner zusammenhängenden Menge 32 anzeigt. In der folgenden Beschreibung wird ein dreidimensionaler Punkt 31, dem eine Kennsatznummer j, bei der es sich um eine natürliche Zahl handelt, zugewiesen wird, mittels 31(j) ausgedrückt. Die Kennsatznummer j ist eine zugewiesene Zahl, die der zusammenhängenden Menge 32 entspricht, und wenn dieselbe Kennsatznummer j, die ungleich Null ist, zugewiesen wird, ist eine Zugehörigkeit zur selben zusammenhängenden Menge 32 gemeint. Im Schritt S22 wird dann, um eine erste zusammenhängende Menge 32 zu bestimmen, die Kennsatznummer auf 1 gesetzt (j ← 1).
-
Schritt S23 wählt dann einen willkürlichen dreidimensionalen Punkt 31(0) mit einer Kennsatznummer 0 aus, bei dem es sich um einen zur dreidimensionalen Punktmenge 30 gehörigen dreidimensionalen Punkt 31 handelt. Schritt S24 beurteilt, ob der dreidimensionale Punkt 31(0) mit der Kennsatznummer 0 ausgewählt wurde, und wenn die Bestimmung Ja ergibt, geht die Abarbeitung weiter zu Schritt S25. Wenn der dreidimensionale Punkt 31(0) nicht ausgewählt wurde, gehören alle zur zusammenhängenden Punktmenge 30 gehörigen Punkte 31 zu einer der zusammenhängenden Mengen 32. In diesem Fall erfolgt in Schritt S24 die Bestimmung Nein, um die Abarbeitung der Zusammenhängenden-Mengen-Berechnung zu beenden, und die Abarbeitung geht weiter zu Schritt S3 von 2.
-
Schritt S25 erstellt eine Liste Lj zum Speichern eines dreidimensionalen Punkts 31(j) mit einer Kennsatznummer j. Schritt S26 weist dem im Schritt S24 ausgewählten dreidimensionalen Punkt 31(0) eine Kennsatznummer j zu und fügt dann den dreidimensionalen Punkt 31(j) zur Liste Lj hinzu. Im Schritt S27 wird ein anfänglicher Wert von 1 für eine Variable k mit einem natürlichen Zahlenwert (k ← 1) bereitgestellt. Die Variable k bezieht sich auf eine Zahl, die den in der Liste Lj beinhalteten dreidimensionalen Punkt 31(j) spezifiziert. Es wird angenommen, dass hinzugefügte dreidimensionale Punkte 31(j) in der Liste Lj in der Reihenfolge ihrer Hinzufügung aufgelistet sind.
-
Schritt S28 beurteilt, ob in der Nähe eines k-ten dreidimensionalen Punkts 31(j) der Liste Lj ein dreidimensionaler Punkt 31(0) mit einer Kennsatznummer 0 vorhanden ist. Wenn in Schritt S28 eine Bestimmung Ja erfolgt, geht die Abarbeitung weiter zu Schritt S29, wenn jedoch eine Bestimmung Nein erfolgt, überspringt die Abarbeitung den Schritt S29 und geht dann weiter zu Schritt S30. Schritt S29 weist allen dreidimensionalen Punkten 31(0), von denen bestimmt wird, dass sie in der Nähe des k-ten dreidimensionalen Punkts 31(j) der Liste Lj liegen eine Kennsatznummer j zu und fügt diese dreidimensionalen Punkte 31(j) dann am Ende der Liste Lj hinzu. Der Schritt S30 addiert 1 zur Variablen k (k ← k + 1).
-
Der Schritt S31 beurteilt, ob ein Wert von k größer ist als die Zahl (Elementezahl N) von in der Liste Lj gespeicherten dreidimensionalen Punkten 31(j). Der Fall, in dem k größer ist als die Elementezahl N, zeigt an, dass die Nähenbeurteilungsabarbeitung für alle N in der Liste Lj gespeicherten dreidimensionalen Punkte 31(j) abgeschlossen wurde und in der Nähe der dreidimensionalen Punkte 31(j) der Liste Lj liegende dreidimensionale Punkte bereits in derselben Liste Lj gespeichert wurden. Die Abarbeitung für die Hinzufügung eines dreidimensionalen Punktes 31(j) zur Liste Lj ist daher abgeschlossen und die Abarbeitung geht dann weiter zu Schritt S32. In anderen Fällen als dem obigen Fall ist die Nähenbeurteilungsabarbeitung für alle dreidimensionalen Punkte 31(j) in der Liste Lj nicht abgeschlossen und die Abarbeitung kehrt daher zum Schritt S28 zurück, um die Abarbeitung zur Hinzufügung eines dreidimensionalen Punkts 31(j) zur Liste Lj zu wiederholen.
-
Der Schritt S32 addiert 1 zur Kennsatznummer j (j ← j + 1) und die Abarbeitung kehrt zum Schritt S23 zurück. Anschließend wird die gleiche Abarbeitung wie in Schritt S23 bis S32 wiederholt, um eine der nächsten Kennsatznummer j entsprechende zusammenhängende Menge 32 zu bestimmen.
-
Die oben beschriebene Abarbeitung der Zusammenhängende-Mengen-Berechnung wird mit Bezug auf 5 im Einzelnen beschrieben. Zu Beginn der Abarbeitung der Zusammenhängende-Mengen-Berechnung gehören keine der dreidimensionalen Punkte 311 bis 317 zur zusammenhängenden Menge 32 und eine Kennsatznummer für die dreidimensionalen Punkte 311 bis 317 ist dann 0 (Schritt S21). Um aus diesem Zustand eine zusammenhängende Menge 32 mit einer Kennsatznummer 1 zu erstellen, wird, wenn zum Beispiel der dreidimensionale Punkt 313 ausgewählt wird (Schritt S23), dem dreidimensionalen Punkt 313 eine Kennsatznummer 1 (313(1)) zugewiesen und der dreidimensionale Punkt 313 wird dann als erster in einer Liste L1 mit einer Kennsatznummer 1 gespeichert (Schritt S26).
-
Dann wird beurteilt, ob der dreidimensionale Punkt 31(0) mit einer Kennsatznummer 0 in der Nähe des dreidimensionalen Punkts 313 vorhanden ist, der der erste in der Liste L1 ist (siehe Schritt S28). In diesem Fall sind die dreidimensionalen Punkte 312 und 314 mit einer Kennsatznummer 0 vorhanden und diesen dreidimensionalen Punkten 312 und 314 wird daher jeweils eine Kennsatznummer 1 (312(1) und 314(1)) zugewiesen und sie werden der Liste L1 als zweiter bzw. dritter hinzugefügt (Schritt S29). Die Elementezahl N der Liste L1 wird dadurch zu 3.
-
Danach wird die Variable k zu 2 (< N) (Schritt S30) und es wird dann beurteilt ob in der Nähe des dreidimensionalen Punkts 312, der in der Liste L1 der zweite ist, der dreidimensionale Punkt 31(0) mit einer Kennsatznummer 0 vorhanden ist (Schritt S28). In diesem Fall ist der dreidimensionale Punkt 311 mit einer Kennsatznummer 0 vorhanden und diesem dreidimensionalen Punkt 311 wird daher eine Kennsatznummer 1 (311(1)) zugewiesen und er wird dann der Liste L1 als vierter hinzugefügt (Schritt S29). Die Elementezahl N der Liste L1 wird dadurch zu 4.
-
Danach wird die Variable k zu 3 (< N) (Schritt S30) und es wird dann beurteilt ob in der Nähe des dreidimensionalen Punkts 314, der in der Liste L1 der dritte ist, der dreidimensionale Punkt 31 mit einer Kennsatznummer 0 vorhanden ist oder nicht (Schritt S28). In diesem Fall ist der dreidimensionale Punkt 31 mit einer Kennsatznummer 0 nicht in der Nähe des dreidimensionalen Punkts 314 vorhanden und die Elementezahl bleibt daher 4 und k wird zu 4 (Schritt S30). Dann wird beurteilt, ob in der Nähe des dreidimensionalen Punkts 311, der in der Liste L1 der vierte ist, der dreidimensionale Punkt 31(0) mit einer Kennsatznummer 0 vorhanden ist (Schritt S28). In diesem Fall ist der dreidimensionale Punkt 31 mit einer Kennsatznummer 0 nicht in der Nähe des dreidimensionalen Punkts 311 vorhanden und die Elementzahl bleibt daher 4 und k wird zu 5 (Schritt S30).
-
Zu diesem Zeitpunkt wird die Variable k größer als die Elementezahl N und die Erstellung der Liste L1 mit einer Kennsatznummer 1 wird daher beendet und die Kennsatznummer wird anschließend auf 2 gesetzt (Schritt S32) um die gleiche Abarbeitung zu wiederholen. Bei der Wiederholungsabarbeitung wird zum Beispiel dreidimensionalen Punkten 315 und 316 mit einer Kennsatznummer 0 eine Kennsatznummer 2 zugewiesen, und dreidimensionale Punkte 315(2) und 316(2) werden einer Liste L2 hinzugefügt; und einem dreidimensionalen Punkt 317 mit einer Kennsatznummer 0 wird eine Kennsatznummer 3 zugewiesen und ein dreidimensionaler Punkt 317(3) wird einer Liste L3 hinzugefügt. Dadurch fällt dann der dreidimensionale Punkt 31 mit einer Kennsatznummer 0 weg, und im Schritt S24 wird daher eine Bestimmung von Nein getroffen und die Abarbeitung der Zusammenhängenden-Mengen-Berechnung wird beendet, um zum Schritt S3 der 2 fortzufahren.
-
Der Schritt S3 berechnet eine Position jeder im Schritt S2 bestimmten zusammenhängenden Menge. Die Position einer zusammenhängenden Menge 32 ist in diesem Fall eine Position, die die zusammenhängenden Mengen 32 darstellt, und es wird zum Beispiel eine Schwerpunktposition von zu einer zusammenhängenden Menge 32 gehörigen dreidimensionalen Punkten 31 als eine Position der zusammenhängenden Menge 32 berechnet. Zur Berechnung der Schwerpunktposition können alle zur zusammenhängenden Menge 32 gehörigen dreidimensionalen Punkte 31 verwendet werden, oder es können auch dreidimensionale Punkte 31 verwendet werden, die durch separates Einführen von Abarbeitungen wie etwa Ausreißer-Gegenmaßnahmen ausgewählt werden.
-
Für die Ausreißer-Gegenmaßnahmen, zum Beispiel, wird zunächst eine Schwerpunktposition bestimmt, unter Verwendung aller zur zusammenhängenden Menge 32 gehörigen dreidimensionalen Punkte 31 für eine Schwerpunktpositionsberechnung, und wenn dreidimensionale Punkte 31 mit zumindest einem vorbestimmten Wert eines Abstands von der Schwerpunktposition unter den für die Schwerpunktberechnung verwendeten dreidimensionalen Punkten 31 vorhanden sind, werden dreidimensionale Punkte 31 eines vorbestimmten Verhältnisses aus den für die Schwerpunktberechnung verwendeten dreidimensionalen Punkten 31 in absteigender Reihenfolge der Entfernung von der Schwerpunktposition eliminiert. Die verbleibenden dreidimensionalen Punkte 31 werden zur Schwerpunktberechnung verwendet, um eine Schwerpunktposition neu zu berechnen. Diese Abarbeitung kann wiederholt werden, bis alle für die Schwerpunktberechnung verwendeten dreidimensionalen Punkte 31 innerhalb des vorbestimmten Abstands von der Schwerpunktposition fallen.
-
Schritt S4 wendet dann auf jede zusammenhängende Menge 32 eine Hauptkomponentenanalyse an und berechnet eine Hauptträgheitsachse 33 der zusammenhängenden Menge 32. Zum Beispiel werden zunächst eine in Schritt S2 bestimmte Schwerpunktposition der zusammenhängenden Menge 32 und Differenzen zwischen der Schwerpunktposition und dreidimensionalen Punkten 31, die die zusammenhängende Menge 32 ausbilden, berechnet, woraufhin eine Kovarianzmatrix bezüglich der Schwerpunktposition der zusammenhängenden Menge 32 berechnet wird. Anschließend wird ein Eigenvektor der Kovarianzmatrix berechnet. Die zusammenhängende Menge 32 ist eine Menge dreidimensionaler Punkte 31 in einem dreidimensionalen Raum, weshalb drei Eigenvektoren bestimmt werden. Aus drei Eigenwerten, die den drei Eigenvektoren entsprechen, wird ein Vektor mit einem maximalen Eigenwert, d. h. eine Achse in einer Richtung in der eine Varianz der in der zusammenhängenden Menge 32 beinhalteten dreidimensionalen Punkte 31 maximiert ist, als Hauptträgheitsachse 33 der zusammenhängenden Menge 32 berechnet.
-
7 zeigt eine Ansicht eines Beispiels der Hauptträgheitsachse 33. Wie in 7 dargestellt, ist auf einer Oberfläche eines zylindrisch geformten Gegenstands 20 eine Varianz von dreidimensionalen Punkten 31 in einer Längsrichtung maximiert. Daher erscheint parallel zu einer durch die Mitte des Gegenstands 20 verlaufenden Mittelachslinie 10 eine dem maximalen Eigenwert entsprechende Hauptkomponente. Eine Richtung L1 dieser ersten Hauptkomponente wird zu einer Richtung der Hauptträgheitsachse 33. In der Figur stellt L2 eine Richtung einer zweiten Hauptkomponente dar, in der eine Varianz von dreidimensionalen Punkten 31 den zweithöchsten Wert nach der ersten Hauptkomponente aufweist. Die zweite Hauptkomponentenrichtung L2 ist rechtwinklig zur ersten Hauptkomponentenrichtung L1. L3 stellt eine Richtung einer sowohl zur ersten Hauptkomponentenrichtung L1 als auch zur zweiten Hauptkomponentenrichtung L2 rechtwinkligen dritten Hauptkomponente dar. Diese drei Hauptkomponenten entsprechen den drei Eigenwerten.
-
8 zeigt in einer Draufsicht ein Beispiel der Hauptträgheitsachsen 33 von zusammenhängenden Mengen 32, die mehreren in einem Behälter willkürlich aufgestapelten Gegenständen 20 entsprechen. Wie in 8 gezeigt, wird für jeden Gegenstand 20 eine Hauptträgheitsachse eingestellt und die Hauptträgheitsachse 33 ermöglicht es daher eine Lage des Gegenstands 20 zu identifizieren.
-
Der Schritt S4 berechnet die Hauptträgheitsachse 33, wonach die Abarbeitung weiter geht zu Schritt S5, um eine aus den die zusammenhängende Menge 32 bildenden dreidimensionalen Punkten gebildete ebene Oberfläche oder gekrümmte Oberfläche anhand von Positionen der zur selben zusammenhängenden Menge 32 gehörigen dreidimensionalen Punkte 31 zu berechnen. Die ebene Oberfläche oder die gekrümmte Oberfläche kann mittels einer Methode der kleinsten Quadrate unter Verwendung aller in der zusammenhängenden Menge 32 beinhalteten dreidimensionalen Punkte bestimmt werden. Die ebene Oberfläche oder die gekrümmte Oberfläche kann durch eine separate Verwendung einer Ausreißer-Gegenmaßnahme irgendeiner Art bestimmt werden. Als Verfahren für Ausreißer-Gegenmaßnahmen stehen verschiedene Verfahren, wie etwa ein M-Schätzungsverfahren, RANSAC, Least Median of Squares (LMedS), Hough-Transformation zur Verfügung. Wenn eine Abarbeitung wie die Hough-Transformation eingeführt wird, kann eine einzelne ebene Oberfläche auch dann aus einer zusammenhängenden Menge 32 extrahiert und erkannt werden, wenn diese über mehrere Oberflächen von mehreren Gegenständen 20 vorliegt.
-
Der Schritt S6 berechnet eine repräsentative Positionslage 34, d. h. eine Position und Lage die jede zusammenhängende Menge 32 repräsentieren. 9 zeigt eine Ansicht eines Beispiels der repräsentativen Positionslage 34. Die repräsentative Positionslage 34 ist durch ein Paar sich rechtwinklig schneidender Pfeile 34a und 34b ausgedrückt. Ein Schnittpunkt des Pfeilpaars 34a und 34b, d. h. eine Position (repräsentative Position) der repräsentativen Positionslage 34 ist die Schwerpunktposition einer in Schritt S3 bestimmten zusammenhängenden Menge 32, und die Pfeilrichtungen der Pfeile 34a und 34b zeigen eine Lage der repräsentativen Positionslage 34 an. 9 zeigt die repräsentative Positionslage 34 mit zwei Pfeilen 34a und 34b zur besseren Darstellung, aber die repräsentative Positionslage 34 besteht nicht in einem zweidimensionalen, sondern in einem dreidimensionalen Raum, und wird deshalb in Wirklichkeit in einem dreidimensionalen orthogonalen Koordinatensystem ausgedrückt. Statt des orthogonalen Koordinatensystems können verschiedene Koordinatensysteme die repräsentative Positionslage 34 ausdrücken.
-
Nach der Berechnung der repräsentativen Positionslage 34 berechnet der Schritt S6 einen Normalvektor in einer repräsentativen Position einer zusammenhängenden Menge 32 der im Schritt S5 bestimmten ebenen oder gekrümmten Oberfläche. Dieser Normalvektor ist gleich dem Pfeil 34b der repräsentativen Positionslage 34. Der Pfeil 34a ist dagegen gleich der Richtung der im Schritt S4 bestimmten Hauptträgheitsachse 33. Die Verwendung der repräsentativen Positionslage 34 ermöglicht es, nicht nur eine Position des Gegenstands 20 zu identifizieren, sondern auch eine Erstreckungsrichtung des Gegenstands 20 und eine Neigung desselben, d. h. eine Lage des Gegenstands 20.
-
Der Schritt S6 berechnet einen Fläche eines Bereichs in dem die zu einer zusammenhängenden Menge 32 gehörigen dreidimensionalen Punkte 31 liegen, erfasst aber keine repräsentative Positionslage 34 aus einer zusammenhängenden Menge 32a mit einer Fläche kleiner als dem vorbestimmten Wert, wie in 9 gezeigt. Mit anderen Worten, die repräsentative Positionslage 34 wird nur für eine zusammenhängende Menge mit einer als ausreichend freigelegt bestimmten Oberfläche bestimmt, und eine zusammenhängende Menge 32 für die keine repräsentative Positionslage 34 bestimmt wird, wird nicht als Objekt eines Gegenstand-Aufhebens zugelassen. Dadurch kann vermieden werden, dass sich die Hand 14 einem Gegenstand 20 auf der tiefen Seite nähert, wo ein Teil der Oberseite des Gegenstands 20 von einem anderen Gegenstand 20 bedeckt ist, und die Hand 14 kann davon abgehalten werden, mit einem anderen Gegenstand 20 als dem aufzuhebenden Gegenstand zu kollidieren.
-
Anschließend berechnet der Schritt S7 eine jeder repräsentativen Positionslage 34 entsprechende Handpositionslage 35. 10 zeigt eine Ansicht eines Beispiels der Handpositionslage 35, die der repräsentativen Positionslage 34 entspricht. Die Handpositionslage 35 ist mittels einem Paar Pfeile 35a und 35b dargestellt, die sich auf die gleiche Weise wie bei der repräsentativen Positionslage 34 rechtwinklig schneiden.
-
Als Verfahren zur Bestimmung einer Position (einer Schnittstelle der Pfeile 35a und 35b) und einer Lage (Richtungen der Pfeile 35a und 35b) der Handpositionslage 35 stehen jeweils mehrere Verfahren zu Verfügung. Für die Position steht ein Verfahren zur Verfügung bei dem zum Beispiel eine Position der repräsentativen Positionslage 34 direkt als Position der Handpositionslage 35 zugewiesen wird. Als weiteres Beispiel steht auch ein Verfahren zur Verfügung, bei dem eine um eine vorbestimmte Länge in Richtung einer vorbestimmten Koordinatenachse 36 (zum Beispiel die Z-Achse) von einer Position der repräsentativen Positionslage 34 verschobene Position als Position der Handposition 35 zugewiesen wird. Hinsichtlich der Lage kann ein Verfahren genutzt werden, bei dem zum Beispiel eine Lage der repräsentativen Positionslage 34 direkt als Lage der Handpositionslage 35 zugewiesen wird. Als anderes Beispiel existiert auch ein Verfahren, bei welchem, wenn sich eine Position der repräsentativen Positionslage 34 nahe an einer Wand des Behälters 16 befindet, die Hand 14 in eine Richtung von der Wand weg gekippt wird, um eine Kollision zwischen der Wand und der Hand 14 zu vermeiden.
-
In 10 wird eine durch Bewegung der repräsentativen Positionslage 34 parallel zu einer Richtung der vorbestimmten Koordinatenachse 36 um die vorbestimmte Länge erhaltene Lage zur Handpositionslage 35 bestimmt. Daher sind die Pfeile 34a und 34b der repräsentativen Positionslage 34, d. h. einer Richtung der Hauptträgheitsachse 33 der zusammenhängenden Menge 32 und eine Normalvektorrichtung einer Oberfläche auf der die zusammenhängende Menge ausgebildet ist und die Pfeile 35a und 35b der Handpositionslage 45 jeweils parallel zu einander.
-
Der Schritt S8 nummeriert die jeweiligen Handpositionslagen 35 als P1, P2, ..., Pn. Hier stellt n die Anzahl von Handpositionslagen 35 dar. 11 zeigt eine Ansicht, die die nummerierten Handpositionslagen 35 zeigt, und die Nummerierung wird in absteigender Reihenfolge eines Koordinatenwerts bezüglich der vorbestimmten Koordinatenachse 36, d. h. der Reihe nach, von einer in einer höheren Position befindlichen. Als Reihenfolge der Nummerierung kann, zusätzlich zu einer absteigenden Reihenfolge eines Koordinatenwerts, eine Reihenfolge wie etwa eine nach einem beliebigen Verfahren anhand von erfassten dreidimensionalen Punktmengen bestimmte absteigende Reihenfolge einer Fläche der Oberfläche in der die zusammenhängende Menge 32 ausgebildet ist u. dgl. genutzt werden. In 11, n = 3.
-
Im Schritt S9 wird einer Variablen j mit einem natürlichem Zahlenwert ein anfänglicher Wert bereitgestellt. Mit anderen Worden, es wird die Abarbeitung für j ← 1 ausgeführt. Die Variable j wird dazu verwendet, die Nummer der Handpositionslage 35 zu spezifizieren.
-
Der Schritt S10 gibt ein Steuersignal an einen Roboterantriebsaktuator (einen elektrischen Motor) aus und bewegt die Hand 14 in eine Handpositionslage Pj (zum Beispiel Pb), wie in 12 dargestellt. Zu diesem Zeitpunkt wird ein Steuersignal an einen Handantriebsaktuator ausgegeben, um die Achslinie 14c der Drehwelle 14b der Hand 14 in einen Normalvektor (die Position und Richtung des Pfeils 35b von 10) zu orientieren und die Drehwelle 14b zu veranlassen, sich um die Achslinie 14c zu drehen, so dass sich ein Paar Greifeinheiten 14a symmetrisch zum Pfeil 35a der 10 befindet. Hierdurch ist das Paar Greifeinheiten 14a beiderseits der Hauptträgheitsachse 33 in Längsrichtung des Gegenstands 20 angeordnet, wodurch es möglich wird, eine vorbestimmte relative Positionslage der Hand 14 für einen aufzuhebenden Gegenstand 20 zu erzielen.
-
Der Schritt S11 gibt an den Handantriebsaktuator ein Steuersignal zum Halten des Gegenstands 20 aus. Dadurch ergreift, wie in 13 gezeigt, die Greifeinheit 14a der Hand 14 einen Außenumfang des Gegenstands 20. Ein Paar Greifeinheiten 14a ist symmetrisch zur Mittelachslinie 10 (7) des Gegenstands 20 angeordnet und die Greifeinheit 14a kann deshalb den Gegenstand 20 sicher halten. In diesem Fall wird, wenn zum Beispiel die Greifeinheit 14a eine Saugdüse beinhaltet, eine Vakuumpumpe dahingehend betrieben, den Gegenstand 20 durch Saugkraft anzusaugen und zu halten. Wenn der Griff 14 einen Anzugsmagneten beinhaltet, kann in einer elektromagnetischen Spule ein Strom fließen und der Magnet wird dahingehend betätigt, den Gegenstand 20 mittels Magnetkraft anzuziehen und zu halten. Wenn die Greifeinheit 14a eine Einspannvorrichtung beinhaltet wird der Gegenstand 20 durch Öffnen oder Schließen der Einspannvorrichtung gehalten.
-
Der Schritt S12 gibt dann an den Roboterantriebsaktuator ein Steuersignal aus und hebt die den Gegenstand 21 haltende Hand 14 in eine vorbestimmte Richtung an, z. B. die Pfeilrichtung der Handpositionslage 35 (10) oder die vorbestimmte Koordinatenachsenrichtung 36, wie in 14 gezeigt. Wenn die Hand 14 in der vorbestimmten Richtung angehoben wird, ist eine Kollision mit dem Gegenstand 21 und eine Kollision der Greifeinheit 14a mit einem anderen Gegenstand 20 bei Bewegung der Hand 14 durch eine Bedienung des Roboters 12 vermeidbar.
-
Der Schritt S13 beurteilt, ob die Greifeinheit 14a das Halten des Gegenstands 21 erfolgreich ausgeführt hat. Bei dieser Beurteilung ist es, wenn zum Beispiel die Greifeinheit 14a einen Anzugsmagneten beinhaltet, möglich mittels eines Abstandssensors zu beurteilen, ob der Gegenstand 21 existiert, um zu beurteilen ob dem Beurteilungsergebnis zufolge ein Halten erfolgreich ausgeführt ist. Wenn die Greifeinheit 14a eine Saugdüse beinhaltet, ist es gemäß einer Änderung einer Strömungsrate oder eines Luftdrucks während des Saugvorgangs möglich, zu bestimmen ob ein Halten erfolgreich ausgeführt ist. Wenn die Greifeinheit 14a eine Einspannvorrichtung beinhaltet, ist es möglich, durch Bestätigung eines Öffnungs- oder Schließzustands der Spannvorrichtung mittels eines Öffnungs/Schließungssensors zu beurteilen, ob ein Halten erfolgreich ausgeführt ist. Wenn die Beurteilung ergibt, dass das Halten erfolgreich ausgeführt n ist, geht die Abarbeitung weiter zu Schritt S14. Wenn die Beurteilung ergibt, dass das Halten nicht erfolgreich ausgeführt ist, geht die Abarbeitung weiter zu Schritt S15.
-
Der Schritt S15 beurteilt, ob j ≥ n. Diese Beurteilung ist eine Beurteilung dahingehend, ob unter n (3 in 14) Handpositionslagen 35 eine Handpositionslage vorliegt, die von der Hand 14 noch nicht erreicht wurde. Wenn die Beurteilung ergibt, dass j < n, dann hat die Hand 14 eine Handpositionslage Pj + 1 noch nicht erreicht, und deshalb wird in Schritt S16 die Abarbeitung für j ← j + 1 durchgeführt, wonach die Abarbeitung zu Schritt S10 zurückkehrt. Dann bewegt, wie in 5 dargestellt, ein Arbeitsvorgang des Roboters 12 die Hand 14 in die nächste Handpositionslage Pj (zum Beispiel P2). Dann wird an den Handantriebsaktuator ein Steuersignal zum Halten des Gegenstands 20 ausgegeben und der nächste Gegenstand 21 wird gehalten (Schritt S11), wie in 16 dargestellt. Wenn der Schritt S15 beurteilt, dass j ≥ n, dann hat die Hand 14 alle n Handpositionslagen 35 erreicht und die Abarbeitung geht daher weiter zu Schritt S16.
-
Der Schritt S14 gibt an den Roboterantriebsaktuator ein Steuersignal aus, um die Hand 14 bis über die Austragvorrichtung 17 zu bewegen, um eine vorbestimmte relative Positionslage bezüglich der Austragvorrichtung 17 einzunehmen, wie in 17 dargestellt. Wenn zum Beispiel die Austragvorrichtung einen sich schräg nach unten erstreckenden Auswerfer beinhaltet, wie in 17 dargestellt, wird eine Positionslage der Hand 14 so gesteuert, dass die Mittelachslinie L0 des Gegenstands 21 in eine sich in der Erstreckungsrichtung des Auswerfers erstreckenden Richtung gerichtet wird. Danach wird an einen Greifeinheitantriebsaktuator ein Steuersignal dahingehend ausgegeben, den Gegenstand 21 aus der Greifeinheit 14 zu entfernen. Die Austragvorrichtung 17 kann statt des Auswerfers auch ein Förderband oder dergleichen sein. Dies zeigt das Ende eine Zyklus der Abarbeitung an.
-
Durch die vorliegende Ausführungsform ist es möglich, die folgenden Arbeitsvorgänge und Wirkungen zu erzielen.
- (1) Bei der vorliegenden Ausführungsform werden Oberflächenpositionen von mehreren in einem dreidimensionalen Raum willkürlich aufgestapelten Gegenständen 20 mittels des dreidimensionalen Messinstruments 11 gemessen, um Positionsinformationen über die mehreren dreidimensionalen Punkte 31 (Schritt S1) zu erfassen; aus diesen mehreren dreidimensionalen Punkten 31 wird eine durch Verbinden von nahe beieinander liegenden dreidimensionalen Punkten 31 gebildete zusammenhängende Menge 32 bestimmt (Schritt S2); anhand von Positionsinformationen der zur zusammenhängenden Menge 32 gehörigen dreidimensionalen Punkte 31 werden eine Position und eine Lage des Gegenstands 20 identifiziert; und der Roboter 12 wird ferner so gesteuert, dass die Hand 14 in die Handpositionslage 35 bewegt wird, um den Gegenstand 20 aufzuheben (Schritt S10 bis Schritt S12).
-
Dadurch wird es möglich, ohne Musterabgleichung oder dergleichen eine Position und eine Lage des Gegenstands 20 zu identifizieren. Daher muss kein Modell-Muster des Gegenstands 20 erstellt werden, und Positionen und Lagen einer großen Anzahl verschiedener Typen oder endlos geformter Gegenstände 20 können auf einfache Weise erkannt werden, um die Gegenstände 20 festzuhalten. Ferner ist es auch möglich, eine Position und eine Lage eines neu hinzugefügten Typs von Gegenstand 20 zu erkennen, ohne ein Modell-Muster hinzufügen zu müssen, und es ist möglich eine gescheiterte Erkennung oder eine Fehlerkennung einer Positionslage des Gegenstands 20 oder ein gescheitertes Aufheben des Gegenstands 20 und ein Problem wie eine Kollision und dergleichen zu vermeiden, um den Gegenstand 20 dadurch wirksam aufzuheben, dass die Hand 14 schnell zu einem einfach aufzuhebenden, auf einer Oberseite befindlichen Gegenstand 20 bewegt wird. Ferner werden eine Position und eine Lage des Gegenstands 20 mittels der zusammenhängenden Menge 32 identifiziert und es kann daher auch ein dreidimensionales Messinstrument verwendet werden, das ein anderes Messverfahren als Stereofotografie verwendet, wodurch es möglich wird, Arbeitsvorgänge und Wirkungen mittels verschiedener Vorrichtungskonfigurationen zu erzielen.
- (2) Wenn eine Lage des Gegenstands 20 identifiziert ist, wird eine Hauptkomponentenrichtung (eine Richtung der Hauptträgheitsachse 33) einer zusammenhängenden Menge 32 mittels Anwendung einer Hauptkomponentenanalyse auf dreidimensionale Punkte 31, die der zusammenhängenden Menge 32 zugehören, berechnet, und dann die Lage des Gegenstands anhand dieser Hauptkomponentenrichtung identifiziert. Dadurch wird es möglich, eine Richtung und eine Neigung der Längsrichtung eines Gegenstands 20 von zylindrischer Form oder dergleichen zu identifizieren und den Gegenstand 20 mittels der eine gegabelte Greifeinheit 14a beinhaltenden Hand sicher zu halten. Ferner wird der Gegenstand 20 unter Berücksichtigung der Hauptkomponentenrichtung mit der Hand 14 gegriffen, was es ermöglicht, das gegriffene Objekt 20 mit einer vorbestimmten Lage auf einer Unterlage oder Austragvorrichtung wie einem Auswerfer und dergleichen anzuordnen, und ein Austragschritt des Gegenstands kann auf einfache Weise durchgeführt werden. Im Gegensatz dazu ist es ohne eine Berücksichtigung der Hauptkomponentenrichtung erforderlich, eine Greiflage des Gegenstands 20 mittels einer Kamera oder dergleichen zu bestätigen, und der Austragschritt wird daher komplex.
- (3) Aus Differenzen zwischen der Schwerpunktposition der zusammenhängenden Menge 32 und dreidimensionalen Punkten 31 die zur zusammenhängenden Menge 32 gehören, wird eine Kovarianzmatrix für eine Schwerpunktposition einer zusammenhängenden Menge 32 berechnet, und mittels eines Eigenvektors wird eine Hauptkomponentenrichtung berechnet, wo ein Eigenwert dieser Kovarianzmatrix maximiert ist, wodurch es möglich wird, dass die Hauptkomponentenrichtung erfolgreich mit der Längsrichtung des Gegenstands 20 übereinstimmt und eine Lage des Gegenstands 20 dann präzise identifiziert wird.
- (4) Eine Position, die eine zusammenhängende Menge 32 repräsentiert wird anhand einer Schwerkraftposition der zusammenhängenden Menge 32 bestimmt, und anhand einer Hauptkomponentenrichtung wird auch eine Lage, die die zusammenhängende Menge 32 repräsentiert, bestimmt (Schritt S6); und eine Handpositionslage 35, die einer repräsentativen Positionslage 34, bei der es sich um eine die zusammenhängende Menge 32 repräsentierende Position und eine Lage handelt, wird bestimmt (Schritt S7). Dadurch wird es, wenn eine Oberfläche des Gegenstands 20 geneigt ist, möglich, die repräsentative Positionslage 34 anhand der Neigung zu berechnen und den Gegenstand 20 durch Kippen der Hand 14 gemäß der Neigung des Gegenstands 20 sicher zu halten.
- (5) Wenn eine erste Hauptkomponentenrichtung, eine zweite Hauptkomponentenrichtung und eine dritte Hauptkomponentenrichtung einer zusammenhängenden Menge 32 berechnet werden, indem eine Hauptkomponentenanalyse auf dreidimensionale Punkte, die zur zusammenhängenden Menge 32 gehören angewendet wird, kann auch die Handlage 35 anhand der ersten Hauptkomponentenrichtung, der zweiten Hauptkomponentenrichtung und der dritten Hauptkomponentenrichtung bestimmt werden. Wenn drei Hauptkomponentenrichtungen auf diese Weise berücksichtigt werden, kann ein Gegenstand 20 von komplexer Form mittels der Greifeinheit 14a auf einfache Weise gegriffen werden.
- (6) Durch Verbinden von innerhalb eines vorbestimmten Abstands zueinander liegenden dreidimensionalen Punkten 31 wird eine zusammenhängende Menge gestaltet (6), wodurch es möglich wird, einzelne Gegenstände 20 aus mehreren willkürlich aufgestapelten Gegenständen 20 zu erkennen. Daher können eine Position und eine Lage des Gegenstands 20 auch dann erkannt werden, wenn Gegenstände 20 im Behälter 16 überlappend angeordnet sind, oder wenn bei einem dreidimensionalen Punktesatz 30 ein Datendefizit besteht, wie es der Fall ist, wenn es aufgrund diffuser Reflexion einer Gegenstandsoberfläche oder dergleichen schwierig ist, optisch Positionsdaten von dreidimensionalen Punkten 31 zu erfassen.
-
Ein Aufhebeverfahren für Gegenstände zum Aufheben von in einem dreidimensionalen Raum willkürlich aufgestapelten Gegenständen 20 kann in beliebiger Weise konfiguriert werden, wenn Folgendes erfüllt ist: eine durch Verbinden von nahe beieinander liegenden dreidimensionalen Punkten 31 gebildete zusammenhängende Menge 32 wird aus mehreren dreidimensionalen Punkten 31 bestimmt, die mittels des dreidimensionalen Messinstruments 11 erfasst wurden; eine Position und eine Lage eines Gegenstands 20 werden anhand von Positionsinformationen der zur zusammenhängenden Menge gehörigen dreidimensionalen Punkte 31 identifiziert; eine Handpositionslage 35, die fähig ist, den identifizierten Gegenstand 20 aufzuheben wird bestimmt; der Roboter 12 wird dahingehend gesteuert, den Gegenstand 20 durch Bewegen der Hand 14 in die bestimmte Handpositionslage 35 aufzuheben; und ferner wird, wenn die Lage des Gegenstands 20 identifiziert ist, eine Hauptkomponentenrichtung der zusammenhängenden Menge 32 durch Anwenden einer Hauptkomponentenanalyse auf die zur zusammenhängenden Menge 32 gehörigen dreidimensionalen Punkte 31 berechnet, und die Lage des Gegenstands 20 wird anhand dieser Hauptkomponentenrichtung identifiziert.
-
18 ist ein Blockschema einer internen Konfiguration der Robotersteuervorrichtung 13 von 1. Die Robotersteuervorrichtung 13 beinhaltet eine Zusammenhängende-Mengen-Berechnungseinheit 131, eine Gegenstandsidentifizierungseinheit 132, eine Handpositionslagenberechnungseinheit 133 und eine Robotersteuereinheit 134.
-
Nach Berechnung einer zusammenhängenden Menge 32 in der Zusammenhängende-Mengen-Berechnungseinheit 131 kann nur dann, wenn zum Beispiel eine vorbestimmte Entfernung bezüglich jedes vorbestimmten Koordinatensystems von eindimensional bis drei-dimensional bestimmt wird und dann eine Entfernung zwischen einem ersten dreidimensionalen Punkt 31 und einem zweiten dreidimensionalen Punkt 31 in jedem vorbestimmten Koordinatensystem innerhalb der vorbestimmten Entfernung fällt, geurteilt werden, dass der erste dreidimensionale Punkt 31 und der zweite dreidimensionale Punkt 31 nahe beieinander liegen, um beide Punkte zu verbinden. Mit anderen Worten, eine Konfiguration der Zusammenhängende-Mengen-Berechnungseinheit 131 ist nicht auf die oben beschriebene Konfiguration beschränkt wenn eine durch Verbinden von nahe beieinander liegenden dreidimensionalen Punkten 31 gebildete zusammenhängende Menge aus mehreren dreidimensionalen Punkten 31 bestimmt wird, die mittels des dreidimensionalen Messinstruments 11 erfasst wurden.
-
Bei der vorstehend beschriebenen Ausführungsform wird eine Kovarianzmatrix für eine Schwerpunktposition einer zusammenhängenden Menge 32 aus Differenzen zwischen der Schwerpunktposition der zusammenhängenden Menge 32 und dreidimensionalen Punkten 31, die zur zusammenhängenden Menge 32 gehören berechnet, und eine Hauptkomponentenrichtung (eine Hauptträgheitsachse 33) wird mittels eines Eigenvektors berechnet, wo ein Eigenwert dieser Kovarianzmatrix maximiert ist, jedoch kann die Gegenstandsidentifizierungseinheit 132 in beliebiger Weise konfiguriert werden, wenn eine Hauptkomponentenrichtung der zusammenhängenden Menge 32 mittels Anwendung einer Hauptkomponentenanalyse auf die zur zusammenhängenden Menge 32 gehörigen dreidimensionalen Punkte 31 berechnet wird und eine Lage des Gegenstands 20 anhand dieser Hauptkomponentenrichtung identifiziert wird.
-
Bei der vorstehend beschriebenen Ausführungsform wird eine repräsentative Position des Gegenstands 20 anhand einer Schwerpunktposition der zusammenhängenden Menge 32 identifiziert und eine repräsentative Position (die Pfeile 34a und 34b von 9) des Gegenstands 20 wird anhand einer Hauptträgheitsachse 33 der zusammenhängenden Menge und eines Normalvektors einer Oberfläche auf der die zusammenhängende Menge 32 ausgebildet ist identifiziert, es ist aber auch möglich eine repräsentative Positionslage 34 des Gegenstands 20 und eine Handpositionslage 35 anhand einer durch Hauptkomponentenanalyse erhaltenen ersten Hauptkomponentenrichtung L1, zweiten Hauptkomponentenrichtung L2 und dritten Hauptkomponentenrichtung L3 der zusammenhängenden Menge 32 zu identifizieren. Zum Beispiel kann dem Pfeil 34b von 9, der die repräsentative Positionslage 34 repräsentiert, gestattet werden, mit der zweiten Hauptkomponentenrichtung L2 übereinzustimmen, um die Handpositionslage 35 (den Pfeil 35b von 10) anhand der zweiten Hauptkomponentenrichtung L2 zu bestimmen. Dadurch wird die Abarbeitung von Schritt S5 der 2 unnötig.
-
Bei der vorstehend beschriebenen Ausführungsform ist unter Berücksichtigung einer Erstreckungsrichtung und einer Neigung eines Gegenstands 20 von rechteckiger Form eine Positionslage der Hand 14, die fähig ist, den Gegenstand 20 mittels eines Paars von Greifeinheiten 14a zu ergreifen, als Handpositionslage 35 bezeichnet, die Aufhebevorrichtung für Gegenstände der vorliegenden Erfindung ist jedoch auf Gegenstände verschiedener Formen anwendbar. Die Einstellung der Handpositionslage 35 ist daher gemäß einer Form des Gegenstands 20 geeignet veränderbar, und eine Ausgestaltung der Handpositionslagenberechnungseinheit 133 zur Bestimmung der Handpositionslage 35, die fähig ist den Gegenstand 20 aufzuheben, ist nicht auf die oben beschriebene Ausgestaltung beschränkt.
-
Bei der vorstehend beschriebenen Ausführungsform wird ein Gegenstand 20 im Behälter 16 mittels der Hand 14 gehalten und der gehaltene Gegenstand 21 wird dann zur Austragvorrichtung 17 befördert, der Gegenstand 21 kann jedoch zu einem beliebigen anderen Ort als der Austragvorrichtung 17 befördert werden. Die Robotersteuereinheit 134 kann daher in beliebiger Weise ausgestaltet werden, den Roboter 12, wenn die Hand 14 in die mittels der Handpositionslagenberechnungseinheit 133 bestimmte Handpositionslage 35 bewegt wird, dahingehend zu steuern, den Gegenstand 20 aufzuheben.
-
Die oben beschriebene Ausführungsform kann fakultativ mit einem modifizierten Beispiel oder mehreren modifizierten Beispielen kombiniert werden.
-
Gemäß der vorliegenden Erfindung wird, wenn eine Position und eine Lage eines in einem dreidimensionalen Raum willkürlich gestapelten Gegenstands erkannt werden, eine zusammenhängende Menge aus Positionsinformationen von mehreren dreidimensionalen Punkten bestimmt, die mittels eines dreidimensionalen Messinstruments erfasst wurden, und dann die Position und Lage des Gegenstands mittels der zusammenhängenden Menge identifiziert. Insbesondere bezüglich der Lage des Gegenstands wird eine Hauptkomponentenrichtung einer zusammenhängenden Menge durch Anwendung einer Hauptkomponentenanalyse auf die zur zusammenhängenden Menge gehörigen dreidimensionalen Punkten berechnet und dann die Lage des Gegenstands anhand dieser Hauptkomponentenrichtung identifiziert. Eine Position und eine Lage eines Gegenstands können daher auf einfache Weise erkannt werden, ohne ein Modell-Muster für den Gegenstand zu erstellen. Ferner sind andere dreidimensionale Messinstrumenttypen verwendbar als solche, die ein Abbild über Stereofotografie erfassen, und entsprechend sind mehr Variationen für die Vorrichtung einsetzbar.
-
Die vorliegende Erfindung wurde in Verbindung mit der bevorzugten Ausführungsform beschrieben, es versteht sich jedoch für den Fachmann, dass verschiedene Modifikationen und Konversionen vorgenommen werden können, ohne vom offenbarten Schutzumfang der im Späteren beschriebenen Ansprüche 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
-
- JP 2004-295223 A [0002, 0003, 0006]
- JP 2011-179909 A [0002, 0004, 0006]
- JP 2011-022084 A [0002, 0005, 0006]