-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft ein Robotersimulationssystem, das einen Entnahmeprozess durch einen Roboter simuliert, um nacheinander lose gestapelte Werkstücke zu entnehmen.
-
Beschreibung der verwandten Technik
-
Ein Robotersimulationssystem wird verwendet, um einen Roboter zu simulieren, der ein Werkstück handhabt oder andere vorbestimmte Arbeitsabläufe in einem virtuellen Raum ausführt. Die Ergebnisse der Simulation werden verwendet, um das Steuerprogramm des Roboters zu beurteilen und um das Programm oder die Positionsbeziehung der Objekte im Arbeitsraum je nach Bedarf zu ändern.
-
Ein bekanntes Robotersimulationssystem simuliert einen Entnahmeprozess, um nacheinander lose gestapelte Werkstücke durch einen Roboter zu halten und in eine vorbestimmte Position zu befördern. In der verwandten Technik wird der Entnahmeprozess beispielsweise dadurch simuliert, dass ein dreidimensionales Modell einer Kamera, welche die Positionen und Stellungen der Werkstücke ermittelt, in einem virtuellen Raum angeordnet wird.
-
Die
JP 2007 -
241 857 A offenbart ein Robotersimulationssystem, das rechnerunabhängig den Arbeitsablauf eines Roboters simuliert, der einen visuellen Sensor aufweist. Dieses Robotersimulationssystem ist konfiguriert, um ein angestrebtes Werkstückmodell zu identifizieren, das zu entnehmen ist, und um die Position und Stellung des angestrebten Werkstückmodells basierend auf einem zweidimensionalen virtuellen Bild zu messen, das von einem Sensormodell erhalten wird, das ein Bild von Werkstückmodellen in einem virtuellen Raum aufnimmt.
-
Die
JP 2007 -
326 160 A offenbart ein Robotersimulationssystem, das konfiguriert ist, um ein virtuelles Bild eines Werkstücks durch ein Kameramodell zu erzielen, das in einem virtuellen Raum angeordnet ist. Bei diesem Robotersimulationssystem wird ein Lehrpunkt für das Robotermodell basierend auf dem erhaltenen virtuellen Bild korrigiert.
-
Die
JP 2013 -
101 045 A offenbart ein Erkennungssystem, das konfiguriert ist, um die Position und Stellung eines Objekts basierend auf einem zweidimensionalen Bild, das durch eine Kamera erhalten wird, und auf dreidimensionalen Informationen, die von einem Entfernungssensor erhalten werden, zu erkennen. Diese verwandte Technik ist dazu gedacht, die Zeit zu verkürzen, die benötigt wird, um das zweidimensionale Bild zu verarbeiten, indem die Suchbedingungen zum Ermitteln der zweidimensionalen Position des Objekts basierend auf den dreidimensionalen Informationen eingestellt werden.
-
Die
JP 2007 -
245 283 A offenbart ein System zum Ermitteln einer Werkstückstellung, das mit einer Kamera versehen ist, um Bilddaten eines Werkstücks zu erfassen. Dieses System zum Ermitteln einer Werkstückstellung ist konfiguriert, um die Stellung eines Werkstücks basierend auf einer festen Stellung zu ermitteln, die am besten mit der Stellung des Werkstücks in den Bilddaten, die durch die Kamera erhalten werden, aus einer Vielzahl von festen Stellungen des Werkstücks, die im Voraus gespeichert werden, übereinstimmt. Diese verwandte Technik ist dazu gedacht, die Rechenzeit zu verkürzen, die für den Abgleich benötigt wird.
-
Die
JP 2009 -
128 191 A offenbart ein Objekterkennungssystem, das konfiguriert ist, um die Position und Stellung eines Objekts zu erkennen, indem dreidimensionale Oberflächenformdaten des zu erkennenden Objekts mit dreidimensionalen Oberflächenformdaten, die durch Abtasten des tatsächlichen Zustands des Objekts erfasst werden, der durch einen Abstandssensor oder dergleichen erhalten wird, verglichen werden.
-
Die
JP 2014 -
13 146A offenbart ein dreidimensionales Messsystem, das mit zwei Kameras versehen ist, um Bilder von einem Werkstück an verschiedenen Blickpunkten aufzunehmen, und konfiguriert ist, um die dreidimensionale Position des Werkstücks zu messen. Dieses dreidimensionale Messsystem ist ausgelegt, um die dreidimensionale Position des Werkstücks basierend auf einem ersten Bild, das von einer ersten Kamera erhalten wird, und einem zweiten Bild einer zweiten Kamera, das gemäß einem Ausschneidebereich der zweiten Kamera ausgeschnitten wird, der basierend auf dem ersten Bild berechnet wird, zu messen.
-
Bei einem Prozess zum Entnehmen von Werkstücken kann ein Entfernungssensor verwendet werden, um dreidimensionale Informationen von Werkstücken zu erzielen. Daher besteht ein Bedarf an einem Robotersimulationssystem, das dreidimensionale Informationen von lose gestapelten Werkstücken in einem virtuellen Raum durch einen Entfernungssensor erfasst und dadurch die Simulation des Entnahmeprozesses ermöglicht.
-
Die
DE 100 80 012 B4 offenbart ein dreidimensionales Verfahren zum Erkennen von Gegenständen, bei dem zum Erstellen eines Stereobildes eines Gegenstandes ein Paar aus einem erstem und einem zweitem Bild aufgenommen wird. In einem weiteren Schritt wird ein zweidimensionales Merkmal des Gegenstandes jeweils in dem ersten und in dem zweiten Bild erfasst. Ferner wird eine Korrespondenz des zweidimensionalen Merkmals zwischen den Bildern hergestellt. Ein resultierendes Ergebnis wird bewertet durch Vergleichen des zweidimensionalen Merkmals in dem ersten Bild mit einem entsprechenden zweidimensionalen Merkmal in dem zweiten Bild. Das zweidimensionale Merkmal wird als Fehlerfassung gelöscht, wenn eine Differenz zwischen ihnen einen vorbestimmten Schwellenwert überschreitet. Ein weiterer Schritt umfasst das Erkennen des dreidimensionalen Ortes und der Lage des Gegenstandes gemäß der Information des zweidimensionalen Merkmals in drei Dimensionen, die durch die Korrespondenz erhalten worden ist. Schließlich wird ein Grad der Zuverlässigkeit des dreidimensionalen Orts und der Lage bewertet.
-
Die
US 7 876 455 B2 offenbart eine Vorrichtung zum Vermessen einer dreidimensionalen Form eines Gegenstands mittels eines Laserstrahls und einer Bilderfassungseinrichtung. Ein Computer berechnet die dreidimensionale Form des Gegenstands nach Maßgabe von Schnittpunkten in erfassten Bildern und Laserebenen einer Laserstrahlquelle.
-
Die US 2011 / 0 122 228 A1 offenbart einen dreidimensionalen visuellen Sensor, der eine Vielzahl von dreidimensionalen Koordinaten eines zu erkennendes Objekts ermittelt. Ferner ermittelt der Sensor eine Position und eine Einstellung des zu erkennenden Objekts durch Anpassen der dreidimensionalen Koordinaten an ein zuvor gespeichertes dreidimensionales Modell des zu erkennenden Objekts.
-
Die US 2010 / 0 232 684 A1 offenbart eine Kalibrierungsvorrichtung, die einen Parameter aus Merkmalspunkten eines Stereobildes eines Kalibrierungswerkstücks berechnet, wobei die Positionsbeziehungen der Merkmalspunkte bekannt sind. Die Kalibrierungsvorrichtung umfasst eine Messeinheit zum Berechnen dreidimensionaler Koordinaten aus dem berechneten Parameter, eine Transformationseinheit zum perspektivischen Transformieren der dreidimensionalen Koordinaten und Erzeugen einer Bildprojektion und eine Anzeigesteuereinheit zum Anzeigen der Bildprojektion.
-
Die
JP 2011 -
83 882 A offenbart eine Bildverarbeitungsvorrichtung mit einem zweidimensionalen Modell eines Werkstücks, einer zweidimensionalen Werkstückpositionserkennungseinheit, einem Umgebungsmodell und eine Bereichsbestimmungseinheit. Ferner umfasst die Bildbearbeitungsvorrichtung ein dreidimensionales Modell des Werkstücks, eine dreidimensionalen Werkstückpositionserkennungseinheit, ein Sichtlinienmodell und eine Sichtlinienberechnungseinheit zum Berechnen einer Sichtlinie einer Kamera beim Annähern an das aufzunehmende Werkstück.
-
Kurzdarstellung der Erfindung
-
Es ist eine Aufgabe der vorliegenden Erfindung, ein Robotersimulationssystem bereitzustellen, das ein Anpassen eines Entnahmeprozesses zum Entnehmen von lose gestapelten Werkstücken mittels eines Roboters verbessert.
-
Diese Aufgabe wird gelöst durch ein Robotersimulationssystem mit den Merkmalen des unabhängigen Anspruchs 1.
-
Gemäß einem ersten Aspekt der vorliegenden Anmeldung wird ein Robotersimulationssystem bereitgestellt, um einen Entnahmeprozess in einem virtuellen Raum zu simulieren, um nacheinander eine Vielzahl von lose gestapelten Werkstücken durch einen Roboter basierend auf dreidimensionalen Informationen der Werkstücke zu simulieren, die durch einen Entfernungssensor erhalten werden, der zwei Kameras und einen Projektor umfasst, wobei das Robotersimulationssystem einen Teil zum Aufstellen von Modellen, der ein Robotermodell im virtuellen Raum aufstellt, eine Vielzahl von Werkstückmodellen, zwei Kameramodelle und ein Projektormodell umfasst, die jeweils den Roboter, die Vielzahl von Werkstücken und die beiden Kameras und den Projektor des Entfernungssensors dreidimensional ausdrücken, wobei der Teil zum Aufstellen von Modellen konfiguriert ist, um die Vielzahl von Werkstückmodellen in dem virtuellen Raum in einem lose gestapelten Zustand aufzustellen und die beiden Kameramodelle und das Projektormodell in dem virtuellen Raum derart aufzustellen, dass die Blickfelder der beiden Kameramodelle und ein Projektionsbereich des Projektormodells ein Messgebiet einschließen, das für lose gestapelte Werkstückmodelle eingestellt ist, wobei das Robotersimulationssystem ferner Folgendes umfasst: einen Teil zum Berechnen von ersten Ebenen, der eine Gruppe von ersten Ebenen berechnet, die sich durch Brennpunkte der beiden Kameramodelle erstrecken und die Blickfelder der beiden Kameramodelle in gleichmäßige Intervalle unterteilen, wenn das Messgebiet aufgenommen wird; einen Teil zum Berechnen von zweiten Ebenen, der eine Gruppe von zweiten Ebenen berechnet, welche die Gruppe von ersten Ebenen schneiden und sich an Grenzen von Hell/Dunkel-Kontrast entlang erstrecken, die sich in dem Messgebiet bilden, wenn das Projektormodell streifenförmige Lichtmuster auf das Messgebiet projiziert; einen Teil zum Berechnen von Schnittlinien, der eine Vielzahl von Schnittlinien zwischen der Gruppe von ersten Ebenen und der Gruppe von zweiten Ebenen berechnet; einen Teil zum Berechnen von dreidimensionalen Informationen, der die Positionen einer Vielzahl von Schnittpunkten zwischen der Vielzahl von Schnittlinien und den Flächen der Werkstückmodelle als dreidimensionale Informationen berechnet; einen Teil zum Berechnen von Positionen und Stellungen, der Positionen und Stellungen der Werkstückmodelle basierend auf den dreidimensionalen Informationen berechnet; und einen Teil zum Ausführen von Simulationen, der eine Simulation des Entnahmeprozesses durch das Robotermodell basierend auf den Positionen und Stellungen der Werkstückmodelle ausführt, die durch den Teil zum Berechnen von Positionen und Stellungen berechnet werden.
-
Gemäß einem zweiten Aspekt der vorliegenden Anmeldung wird das Robotersimulationssystem gemäß dem ersten Aspekt bereitgestellt, wobei der Teil zum Aufstellen von Modellen konfiguriert ist, um eine zweite Kamera aufzustellen, die ein Bild der lose gestapelten Werkstückmodelle in dem virtuellen Raum aufnimmt, das Robotersimulationssystem ferner einen Teil zum Erfassen von zweidimensionalen Bildern umfasst, der ein zweidimensionales Bild der lose gestapelten Werkstückmodelle aus der zweiten Kamera erfasst, und der Teil zum Berechnen von Positionen und Stellungen ferner konfiguriert ist, um Positionen und Stellungen der Werkstückmodelle basierend auf den dreidimensionalen Informationen und dem zweidimensionalen Bild zu berechnen.
-
Diese und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden mit Bezug auf die ausführliche Beschreibung von erläuternden Ausführungsformen der vorliegenden Erfindung, die in den beiliegenden Zeichnungen gezeigt werden, deutlicher hervorgehen.
-
Figurenliste
-
Es zeigen:
- 1 eine Gesamtansicht eines Robotersystems, das ein Robotersimulationssystem gemäß einer Ausführungsform umfasst.
- 2 eine beispielhafte Anzeige durch einen Anzeigeteil des Robotersimulationssystems.
- 3 ein Funktionsblockdiagramm eines Robotersimulationssystems gemäß einer Ausführungsform.
- 4 ein Ablaufschema, das einen Ablauf von Prozessen zum Simulieren eines Entnahmeprozesses, der von einem Robotersimulationssystem ausgeführt wird, gemäß einer Ausführungsform zeigt.
- 5A eine Ansicht, die einen Projektionsbereich eines Projektormodells und Blickfelder von Kameramodellen zeigt.
- 5B eine Draufsicht, die eine beispielhafte Positionsbeziehung zwischen einem Projektormodell und Kameramodellen zeigt.
- 6 eine Ansicht, die erste Ebenen zeigt.
- 7 eine Ansicht, die zweite Ebenen zeigt.
- 8A eine Ansicht, die eine Schnittlinie einer ersten Ebene und einer zweiten Ebene zeigt.
- 8B eine Draufsicht, die eine Gruppe der ersten Ebenen und eine Gruppe der zweiten Ebenen zeigt.
- 9 eine Ansicht, die einen Schnittpunkt einer Schnittlinie einer ersten Ebene und einer zweiten Ebene und einer Oberfläche eines Werkstückmodells zeigt.
- 10A eine Ansicht, die ein Beispiel zum Berechnen der Positionen und Stellungen der Werkstückmodelle basierend auf Schnittpunkten an den Oberflächen der Werkstückmodelle erklärt.
- 10B eine Ansicht, die ein Beispiel zum Berechnen der Positionen und Stellungen der Werkstückmodelle basierend auf Schnittpunkten an den Oberflächen der Werkstückmodelle erklärt.
- 10C eine Ansicht, die ein Beispiel zum Berechnen der Positionen und Stellungen der Werkstückmodelle basierend auf Schnittpunkten an den Oberflächen der Werkstückmodelle erklärt.
- 11 ein Funktionsblockdiagramm eines Robotersimulationssystems gemäß einer anderen Ausführungsform.
- 12 eine Ansicht, die ein Blickfeld eines Kameramodells zeigt.
- 13 ein Beispiel eines zweidimensionalen Bildes, das von dem Kameramodell aus 12 aufgenommen wird.
- 14 eine Ansicht zum Erklären einer beispielhaften Verwendung eines zweidimensionalen Bildes.
- 15 eine Ansicht zum Erklären einer beispielhaften Verwendung eines zweidimensionalen Bildes.
- 16 eine Ansicht zum Erklären einer beispielhaften Verwendung eines zweidimensionalen Bildes.
-
Ausführliche Beschreibung der Erfindung
-
Nachstehend wird die vorliegende Erfindung beschrieben, wobei auf die beiliegenden Zeichnungen Bezug genommen wird. Die Bestandteile der abgebildeten Ausführungsformen sind geeignet maßstäblich geändert, um das Verständnis der vorliegenden Erfindung zu erleichtern. Ferner sind den gleichen oder entsprechenden Bestandteilen in allen Zeichnungen die gleichen Bezugszeichen zugewiesen.
-
1 ist eine Gesamtansicht eines Robotersystems 50, das ein Robotersimulationssystem 10 gemäß einer Ausführungsform umfasst. Das Robotersimulationssystem 10 ist beispielsweise ein digitaler Computer zum rechnerunabhängigen Betrieb, der konfiguriert ist, um ein Roboterprogramm zu erstellen und in einem virtuellen Raum ablaufen zu lassen.
-
Obwohl dies nicht gezeigt wird, umfasst das Robotersimulationssystem 10 eine CPU zum Ausführen diverser Berechnungen, einen RAM, der die Ergebnisse der Berechnungen durch die CPU speichert, einen ROM, der diverse Programme, Daten usw. speichert, und eine Eingabevorrichtung. Die Eingabevorrichtung ist eine Maus, eine Tastatur, ein Berührungsfeld oder ein anderes bekanntes Eingabemittel. Das Robotersimulationssystem 10 umfasst ferner einen Anzeigeteil 12, wie etwa eine Flüssigkristallanzeige.
-
Das Robotersystem 50 umfasst einen Roboter 60. Der Roboter 60 ist ein mehrgelenkiger Roboter, der durch eine Robotersteuervorrichtung 70 gesteuert wird. Das Robotersimulationssystem 10 und die Robotersteuervorrichtung 70 sind über einen Kommunikationsteil 52 miteinander verbunden, der eine bekannte Konfiguration zur Übertragung von Daten oder Signalen aufweist. Der Kommunikationsteil 52 wird beispielsweise verwendet, um ein Steuerprogramm, das den Roboter 60 steuert, von der Robotersteuervorrichtung 70 an das Robotersimulationssystem 10 zu senden.
-
Der Roboter 60 umfasst eine Hand 62, die beispielsweise ein Werkstück 80 an einem Handgelenkteil an einem spitzen Ende eines Arms ergreifen kann. Der Roboter 60 wird durch die Robotersteuervorrichtung 70 derart gesteuert, dass er nacheinander Werkstücke 80 aus einer großen Anzahl von Werkstücken 80 entnimmt, die in einem Behälter 90 lose gestapelt, d.h. ungleichmäßig angeordnet sind. Der Roboter 60 ist nicht auf das abgebildete Beispiel eingeschränkt und kann eine beliebige bekannte Konfiguration aufweisen. Beispielsweise kann der Roboter 60 ein Roboter von der Art sein, die einen hydraulischen oder magnetischen Ansaugteil am Handgelenkteil umfasst.
-
Der Behälter 90 weist beispielsweise die Form eines Korbs auf, der einen Boden und eine Umfangswand aufweist, die sich vom Boden im Wesentlichen in einer senkrechten Richtung nach oben erstreckt. Der Behälter 90 ist oben offen, so dass der Roboter 60 auf einen Aufnahmeraum in dem Behälter 90 zugreifen kann.
-
Bei dem abgebildeten Beispiel sind die Werkstücke 80 quaderförmig, doch sind die Werkstücke 80 von der Form her nicht darauf eingeschränkt. Ferner kann der Behälter 90 eine beliebige Form aufweisen, solange der Roboter 60 auf die Werkstücke 80 zugreifen kann.
-
Über dem Behälter 90 ist ein Entfernungssensor 14 an einem Ständer befestigt, der nicht gezeigt ist. Der Entfernungssensor 14 ist konfiguriert, um einen Abstand von einem Objekt erzielen zu können. Bei diesem Robotersystem 50 dient er dazu, dreidimensionale Informationen der Werkstücke 80 zu erfassen. Beispielsweise erfasst der Entfernungssensor 14 dreidimensionale Informationen der Werkstücke 80 als Abstandbild oder als dreidimensionale Abbildung oder dergleichen. Ein „Abstandsbild“ ist ein Bild, das den Abstand von dem Entfernungssensor 14 bis zu den Werkstücken 80 innerhalb eines Messgebiets durch einen Hell/Dunkel-Kontrast oder Farben der Pixel ausdrückt. Ferner drückt eine „dreidimensionale Abbildung“ die dreidimensionalen Positionen der Werkstücke 80 innerhalb eines Messgebiets mit einer Gruppe von dreidimensionalen Koordinatenwerten von Punkten an den Oberflächen der Werkstücke 80 aus.
-
Der Entfernungssensor 14 umfasst einen Projektor 16 und zwei Kameras 18, die auf gegenüberliegenden Seiten des Projektors 16 angeordnet sind. Der Projektor 16 ist konfiguriert, um Lichtpunkte, Lichtstreifen oder andere Lichtmuster auf die Oberflächen von Objekten projizieren zu können. Der Projektor 16 umfasst eine bekannte Lichtquelle, wie etwa eine Laserdiode oder eine Leuchtdiode.
-
Die Kameras 18 sind bekannte digitale Kameras, die eine Bildgebungsvorrichtung, wie etwa einen CCD oder CMOS, umfassen. Die beiden Kameras 18 sind im Verhältnis zueinander in verschiedenen Richtungen orientiert, so dass sich ihre Blickfelder mindestens teilweise überlagern. Der Projektor 16 ist derart angeordnet, dass sich sein Projektionsbereich mindestens teilweise mit den Blickfeldern der Kameras 18 überlagert. Der Entfernungssensor 14 kann am Handgelenkteil des Roboters 60 derart befestigt sein, dass man seine Position und Stellung je nach Bedarf ändern kann.
-
Der Entfernungssensor 14 wird durch eine Sensorsteuervorrichtung gesteuert, die nicht gezeigt wird, und ist konfiguriert, um dreidimensionale Informationen der Werkstücke 80 ermitteln zu können. Die dreidimensionalen Informationen eines Werkstücks 80 umfassen Positionsinformationen eines spezifischen Abschnitts des Werkstücks 80, beispielsweise die Position eines Scheitelpunktes oder eine Position und Stellung einer bestimmten Ebene des Werkstücks 80 usw. Die dreidimensionalen Informationen der Werkstücke 80, die von dem Entfernungssensor 14 ermittelt werden, werden über die Sensorsteuervorrichtung an die Robotersteuervorrichtung 70 ausgegeben. Alternativ können die Informationen, die von dem Entfernungssensor 14 ermittelt werden, direkt an die Robotersteuervorrichtung 70 gesendet werden. Die Sensorsteuervorrichtung kann auch eine Bildverarbeitungsvorrichtung umfassen, welche die zweidimensionalen Bilder verarbeitet, die durch die Kameras 18 des Entfernungssensors 14 erhalten werden. Die Bildverarbeitungsvorrichtung kann auch getrennt von der Sensorsteuervorrichtung bereitgestellt werden.
-
Die Robotersteuervorrichtung 70 steuert die Position und Stellung des Roboters 60 basierend auf den dreidimensionalen Informationen der Werkstücke 80, die von dem Entfernungssensor 14 erfasst werden, um den Arbeitsablauf des Ergreifens von Werkstücken 80 durch die Hand 62 auszuführen.
-
2 ist eine beispielhafte Anzeige durch den Anzeigeteil 12 des Robotersimulationssystems 10. Der Anzeigeteil 12 zeigt einen virtuellen Raum an, der einen Arbeitsraum des Roboters 60 dreidimensional ausdrückt, wie in 1 gezeigt. Wie abgebildet, zeigt der Bildschirm des Anzeigeteils 12 ein Robotermodell 60M, ein Entfernungssensormodell 14M, Werkstückmodelle 80M und ein Behältermodell 90M an, die einen Roboter 60, einen Entfernungssensor 14, Werkstücke 80 und einen Behälter 90 dreidimensional ausdrücken. Obwohl zweidimensionale Informationen in dem Anzeigeteil 12 in 2 gezeigt werden, kann der Bediener den Blickpunkt unter Verwendung einer Eingabevorrichtung ändern, um die Positionsbeziehung der jeweiligen Elemente in einem dreidimensionalen Raum zu überprüfen.
-
Das Robotersimulationssystem 10 ist konfiguriert, um in einem virtuellen Raum einen Entnahmeprozess ausführen zu können, um nacheinander Werkstückmodelle 80M zu entnehmen, die in dem Behältermodell 90M durch das Robotermodell 60M lose gestapelt werden. Der Bediener kann überprüfen, ob das Steuerprogramm für den Roboter 60M geeignet ist, basierend auf den Ergebnissen der Simulation, die in dem virtuellen Raum abläuft, und kann das Programm je nach Bedarf korrigieren.
-
3 ist ein Funktionsblockdiagramm des Robotersimulationssystems 10. Das Robotersimulationssystem 10 umfasst einen Teil zum Erstellen eines virtuellen Raums 20, einen Teil zum Erstellen von Modellen 22, einen Teil zum Aufstellen von Modellen 24, einen Teil zum Berechnen von ersten Ebenen 26, einen Teil zum Berechnen von zweiten Ebenen 28, einen Teil zum Berechnen von Schnittlinien 30, einen Teil zum Berechnen von dreidimensionalen Informationen 32, einen Teil zum Berechnen von Positionen und Stellungen 34 und einen Teil zum Ausführen von Simulationen 36.
-
Der Teil zum Erstellen eines virtuellen Raums 20 dient dazu, einen virtuellen Raum zu erstellen, der den Arbeitsraum des Roboters 60 dreidimensional ausdrückt. Der virtuelle Raum, der von dem Teil zum Erstellen eines virtuellen Raums 20 erstellt wird, wird auf dem Anzeigeteil 12 des Robotersimulationssystems 10 angezeigt.
-
Der Teil zum Erstellen von Modellen 22 dient dazu, ein Robotermodell 60M, ein Entfernungssensormodell 14M, Werkstückmodelle 80M und ein Behältermodell 90M zu erstellen. Das Entfernungssensormodell 14M besteht aus einem Projektormodell 16M und zwei Kameramodellen 18M (siehe 2). Der Teil zum Erstellen von Modellen 22 ist konfiguriert, um die jeweiligen Modelle durch Auslesen von Formdaten, die von einer dreidimensionalen CAD-Software oder dergleichen erstellt werden, aus dem ROM des Robotersimulationssystems 10 oder einer externen Speichervorrichtung zu erstellen.
-
Der Teil zum Aufstellen von Modellen 24 dient dazu, die jeweiligen dreidimensionalen Modelle, die von dem Teil zum Erstellen von Modellen 22 erstellt werden, im virtuellen Raum aufzustellen. Gemäß der vorliegenden Ausführungsform ist der Teil zum Aufstellen von Modellen 24 konfiguriert, um eine Vielzahl von Werkstückmodellen 80M in einem lose gestapelten Zustand im virtuellen Raum aufzustellen. Ferner ist der Teil zum Aufstellen von Modellen 24 konfiguriert, um das Projektormodell 16M und zwei Kameramodelle 18M im virtuellen Raum derart aufzustellen, dass der Projektionsbereich des Projektormodells 16M und die Blickfelder der beiden Kameramodelle 18M das Messgebiet einschließen, das für die lose gestapelten Werkstückmodelle 80M eingestellt ist.
-
Der Teil zum Berechnen von ersten Ebenen 26 dient dazu, eine Gruppe von ersten Ebenen im virtuellen Raum zu berechnen. Die ersten Ebenen werden als Ebenen definiert, die sich durch die Brennpunkte der beiden Kameramodelle 18M erstrecken, um die Blickfelder der Kameramodelle 18M, wenn ein Messgebiet aufgenommen wird, in gleichmäßige Intervalle zu unterteilen.
-
Der Teil zum Berechnen von zweiten Ebenen 28 dient dazu, eine Gruppe von zweiten Ebenen im virtuellen Raum zu berechnen. Die zweiten Ebenen werden als Ebenen definiert, die sich mit den ersten Ebenen schneiden und sich an Grenzen von Hell/Dunkel-Kontrast entlang erstrecken, die sich durch die Projektion auf das Messgebiet bilden, wenn das Projektormodell 16M streifenförmige Lichtmuster in dem Messgebiet projiziert.
-
Der Teil zum Berechnen von Schnittlinien 30 dient dazu, eine Vielzahl von Schnittlinien der Gruppe von ersten Ebenen und der Gruppe von zweiten Ebenen zu berechnen.
-
Der Teil zum Berechnen von dreidimensionalen Informationen 32 dient dazu, die Positionen einer Vielzahl von Schnittpunkten zwischen der Vielzahl von Schnittlinien, die von dem Teil zum Berechnen von Schnittlinien 30 berechnet werden, und den Oberflächen der Werkstückmodelle 80M, beispielsweise das Abstandsbild oder die dreidimensionale Abbildung desselben, als dreidimensionale Informationen der Werkstückmodelle 80M zu berechnen.
-
Der Teil zum Berechnen von Positionen und Stellungen 34 dient dazu, die Positionen und Stellungen der Werkstückmodelle 80M basierend auf den dreidimensionalen Informationen der Werkstückmodelle 80M, die von dem Teil zum Berechnen von dreidimensionalen Informationen 32 berechnet werden, zu berechnen. Beispielsweise berechnet der Teil zum Berechnen von Positionen und Stellungen 34 die Positionen und Stellungen der Werkstückmodelle 80M durch Abgleichen der dreidimensionalen Informationen der Werkstückmodelle 80M mit Formmodellen der Werkstückmodelle 80M.
-
Der Teil zum Ausführen von Simulationen 36 dient dazu, eine Simulation des Entnahmeprozesses durch das Robotermodell 60M ablaufen zu lassen, basierend auf den Positionen und Stellungen der Werkstückmodelle 80M, die von dem Teil zum Berechnen von Positionen und Stellungen 34 berechnet werden. Da der Entnahmeprozess auf beliebige bekannte Art und Weise simuliert werden kann, erübrigt sich eine ausführliche Erklärung in der vorliegenden Beschreibung.
-
4 ist ein Ablaufschema, das die Schritte des Ausführens einer Simulation des Entnahmeprozesses abbildet. Es sei in der nachstehenden Erklärung zu beachten, dass aus praktischen Gründen, die Wörter „zunächst“, „anschließend“, „dann“ und andere Ausdrücke verwendet werden können, doch dass diese Begriffe nicht dazu gedacht sind, die Reihenfolge der Schritte einzuschränken. Vielmehr würde der Fachmann erkennen, dass die gleichen oder ähnliche Aktionen und Auswirkungen erzielt werden können, selbst wenn die Reihenfolge der nachstehend erklärten Schritte je nach Bedarf geändert würde, solange durch diese Änderungen keine technischen Widersprüche entstehen.
-
Zunächst erstellt in Schritt S1 der Teil zum Erstellen eines virtuellen Raums 20 einen virtuellen Raum, der dem Arbeitsraum des Roboters 60 entspricht. Dann erstellt in Schritt S2 der Teil zum Erstellen von Modellen 22 ein Robotermodell 60M, Werkstückmodelle 80M, ein Entfernungssensormodell 14M und ein Behältermodell 90M. Bei der vorliegenden Ausführungsform erstellt er ein Projektormodell 16M und zwei Kameramodelle 18M, die das Entfernungssensormodell 14M bilden. Ferner kann, wenn es beispielsweise nicht notwendig ist, eine Interferenz zwischen dem Roboter und dem Behälter zu berücksichtigen, die Erstellung des Behältermodells 90M entfallen.
-
In Schritt S3 stellt der Teil zum Aufstellen von Modellen 24 die Werkstückmodelle 80M, die in Schritt S2 erstellt wurden, in einem lose gestapelten Zustand im virtuellen Raum auf (siehe 2). Die Werkstückmodelle 80M im lose gestapelten Zustand werden gemäß beliebigen bekannten Verfahren erstellt. Beispielsweise ist es möglich, den lose gestapelten Zustand zu erstellen, indem die Positionen und die Stellung der Werkstückmodelle 80M unter Verwendung von Zufallszahlen bestimmt werden, und die Werkstückmodelle 80M der Reihe nach in dem Behältermodell 90M gestapelt werden, so dass sie sich nicht überlagern.
-
In Schritt S4 stellt der Teil zum Aufstellen von Modellen 24, wie in 2 gezeigt, das Projektormodell 16M und zwei Kameramodelle 18M im virtuellen Raum auf. Weiter mit Bezug auf 5A und 5B wird die Anordnung des Projektormodells 16M und der Kameramodelle 18M erklärt. 5A ist eine Ansicht, die den Projektionsbereich des Projektormodells 16M und die Blickfelder der Kameramodelle 18M zeigt. 5B ist eine Draufsicht, die eine beispielhafte Positionsbeziehung zwischen dem Projektormodell 16M und den Kameramodellen 18M zeigt.
-
5A zeigt das Projektormodell 16M und zwei Kameramodelle 18M des Entfernungssensormodells 14M und den Projektionsbereich PA des Projektormodells 16M und die Blickfelder FV der Kameramodelle 18M. Ferner zeigen 5A und 5B das Messgebiet TA, das im Voraus für die lose gestapelten Werkstückmodelle 80M eingestellt wird. Das Messgebiet TA wird gemäß dem Zielbereich bestimmt, der von dem Entfernungssensormodell 14M gemessen wird. Beispielsweise wird das Messgebiet TA derart eingestellt, dass einige oder alle der lose gestapelten Werkstückmodelle 80M darin enthalten sind. Beispielsweise wird das Messgebiet TA als untere Oberfläche des Behältermodells 90M oder als waagerechte Ebene, die sich in einem vorbestimmten Abstand von der unteren Oberfläche befindet, definiert.
-
Wie in 5A gezeigt, sind der Projektionsbereich PA des Projektormodells 16M und die Blickfelder FV der Kameramodelle 18M ausgelegt, um im Allgemeinen jeweils mit dem Messgebiet TA übereinzustimmen. Wie in 5B gezeigt, sind das Projektormodell 16M und die beiden Kameramodelle 18M ferner jeweils auf der gleichen Linie angeordnet. Die Positionsbeziehung des Projektormodells 16M und der Kameramodelle 18M ist jedoch nicht auf ein derartiges spezifisches Beispiel eingeschränkt. Solange beispielsweise das Projektormodell 16M und die Kameramodelle 18M derart angeordnet sind, dass der Projektionsbereich PA und die Blickfelder FV jeweils das Messgebiet TA einschließen, können sich der Projektionsbereich PA und die Blickfelder FV nur teilweise gegenseitig überlagern.
-
Zurück zu 4 berechnet der Teil zum Berechnen von ersten Ebenen 26 dann in Schritt S5 die Gruppe von ersten Ebenen. 6 zeigt die ersten Ebenen P1. Die ersten Ebenen P1 sind Ebenen, die sich durch die Brennpunkte der beiden Kameramodelle 18M erstrecken und die Blickfelder der Kameramodelle 18M, wenn das Messgebiet TA aufgenommen wird, in gleichmäßige Intervalle unterteilen. 6 zeigt eine aus der Gruppe von ersten Ebenen P1. In 6 sind gestrichelte Linien, die in dem Messgebiet TA eingezeichnet sind, virtuelle Linien, die das Messgebiet TA in gleichmäßige Intervalle unterteilen. Es sei zu beachten, dass die Positionen der Kameramodelle 18M im virtuellen Raum und auch die Positionen der Brennpunkte der Kameramodelle 18M vorbestimmte Einstellwerte sind. Alternativ können die Ergebnisse der Kamerakalibrierung verwendet werden, um die Positionen der Kameramodelle 18M und ihre Brennpunkte zu berechnen.
-
Anschließend berechnet der Teil zum Berechnen von zweiten Ebenen 28 in Schritt S6 die Gruppe von zweiten Ebenen. 7 ist eine Ansicht, welche die zweiten Ebenen P2 zeigt. Die zweiten Ebenen P2 sind Ebenen, die sich an den Grenzen des Hell/Dunkel-Kontrasts entlang erstrecken, die sich in dem Messgebiet TA bilden, wenn das Projektormodell 16M streifenförmige Lichtmuster auf das Messgebiet TA projiziert. In 7 sind die Muster aus Hell/Dunkel-Kontrast in dem Messgebiet TA schraffiert ausgedrückt. Es sei zu beachten, dass der Bildschirm des Anzeigeteils 12 des Robotersimulationssystems 10 die Hell/Dunkel-Lichtmuster nicht tatsächlich anzeigen muss.
-
In Schritt S7 berechnet der Teil zum Berechnen von Schnittlinien 30 die Schnittlinien L zwischen den ersten Ebenen P1 und den zweiten Ebenen P2, die jeweils in den Schritten S5 und S6 erzielt werden. 8A ist eine Ansicht, die eine Schnittlinie L zeigt, wohingegen 8B eine Draufsicht ist, welche die Gruppe der ersten Ebenen P1 und die Gruppe der zweiten Ebenen P2 zeigt. In 8B wird die Schnittlinie L, die sich durch den Schnittpunkt der ersten Ebene P1 und der zweiten Ebene P2 erstreckt, die durch fettgedruckte Linien gezeigt sind, als Beispiel gezeigt.
-
Anschließend berechnet der Teil zum Berechnen von dreidimensionalen Informationen 32 in Schritt S8 die dreidimensionalen Koordinaten der Schnittpunkte PT zwischen der Vielzahl von Schnittlinien L, die in Schritt S7 erzielt werden, und der Oberfläche des Werkstückmodells 80M. 9 zeigt zum Beispiel eine Schnittlinie L und den Schnittpunkt PT, an dem diese Schnittlinie L die Oberfläche eines Werkstückmodells 80M schneidet.
-
In Schritt S9 gibt der Teil zum Berechnen von dreidimensionalen Informationen 32 die dreidimensionalen Koordinaten der Schnittpunkte PT, die in Schritt S8 berechnet werden, als dreidimensionale Informationen der Werkstückmodelle 80M aus. Die dreidimensionalen Informationen werden beispielsweise im RAM des Robotersimulationssystems 10 gespeichert.
-
Dann identifiziert der Teil zum Berechnen von Positionen und Stellungen 34 in Schritt S10 ein angestrebtes Werkstückmodell, welches das Robotermodell 60M entnehmen soll, und berechnet die Position und Stellung des angestrebten Werkstückmodells basierend auf den dreidimensionalen Informationen der Werkstückmodelle 80M, die in Schritt S9 erzielt werden.
-
Schließlich führt der Teil zum Ausführen von Simulationen 36 in Schritt S11 eine Simulation des Entnahmeprozesses durch Bewegen des Robotermodells 60M in eine Position, in der es das angestrebte Werkstückmodell ergreifen kann, aus.
-
Anschließend mit Bezug auf 10A bis 10C wird das Verfahren zum Berechnen der Positionen und Stellungen von Werkstückmodellen 80M aus den dreidimensionalen Koordinaten der Schnittpunkte PT auf den Oberflächen der Werkstückmodelle 80M erklärt. In 10A bis 10C zeigen die schwarzen Punkte die Schnittpunkte PT zwischen den Schnittlinien L der ersten Ebenen P1 und der zweiten Ebenen P2 und den Oberflächen der Werkstückmodelle 80M (siehe auch 9).
-
In 10A sind unter den Schnittpunkten PT der Werkstückmodelle 80M die Schnittpunkte PT1 der Werkstückmodelle 80M, die sich in den höchsten Positionen befinden, mit weißen Kreisen gezeigt. Im Allgemeinen erfolgt ein Entnahmeprozess von Werkstücken derart, dass nacheinander Werkstücke von denen entnommen werden, die oben positioniert sind. Daher identifiziert der Teil zum Berechnen von Positionen und Stellungen 34 die Positionen der Scheitelpunkte der zu entnehmenden Werkstückmodelle 80M basierend auf den dreidimensionalen Koordinaten der Schnittpunkte PT1. In diesem Fall ist das Robotermodell 60M positioniert, um die Werkstückmodelle 80M basierend auf den Positionen der Scheitelpunkte des zu entnehmenden Werkstückmodells 80M zu ergreifen. Alternativ kann das Robotermodell 60M derart gesteuert werden, dass es das angestrebte Werkstückmodell in einer Position ergreift, die von den Scheitelpunkten oder den Schnittpunkten PT1 um einen bestimmten Abstand entfernt ist, indem es zusätzlich die bekannte Form der Werkstückmodelle 80M oder dergleichen berücksichtigt.
-
In 10B wird eine Punktegruppe, die aus einer Vielzahl von Schnittpunkten PT2 besteht, die in vorbestimmten Bereichen enthalten sind, durch weiße Kreise gezeigt. In diesem Fall berechnet der Teil zum Berechnen von Positionen und Stellungen 34 die Positionen und Stellungen der zu entnehmenden angestrebten Werkstückmodelle basierend auf den dreidimensionalen Koordinaten dieser Schnittpunkte PT2. Alternativ können die Positionen und Stellungen der zu entnehmenden angestrebten Werkstückmodelle basierend auf den dreidimensionalen Koordinaten der Schnittpunkte PT2 und den bekannten Formen der Werkstückmodelle 80M berechnet werden.
-
In 10C sind die Ebenen P3 der Werkstückmodelle 80M, die im Allgemeinen nach oben gewandt sind, schraffiert gezeigt. Senkrechte Linien im Verhältnis zu den Ebenen P3 werden durch Pfeile gezeigt. Die Ebenen P3 und die senkrechten Linien im Verhältnis zu den Ebenen P3 werden durch Verbinden der Gruppe von Punkten, die in bestimmten Bereichen enthalten sind, wie in 10B erläutert, erzielt. In diesem Fall berechnet der Teil zum Berechnen von Positionen und Stellungen 34 die Positionen und Stellungen der Werkstückmodelle 80M basierend auf den Positionen und Stellungen der bestimmten Ebenen der Werkstückmodelle 80M.
-
Gemäß dem Robotersimulationssystem gemäß der vorliegenden Ausführungsform werden die Gruppe von ersten Ebenen und die Gruppe von zweiten Ebenen, die im virtuellen Raum eingestellt sind, verwendet, um eine Vielzahl von Punkten auf den Oberflächen der Werkstückmodelle zu definieren. Ferner werden die dreidimensionalen Informationen der Vielzahl von Punkten durch das Entfernungssensormodell erfasst, um die Positionen und Stellungen der Werkstückmodelle zu erfassen. Daher ist es möglich, den Entnahmeprozess von Werkstücken unter Verwendung eines Entfernungssensors zu simulieren und ohne Weiteres ein Steuerprogramm zu beurteilen oder die notwendigen Änderungen vorzunehmen.
-
11 ist ein Funktionsblockdiagramm eines Robotersimulationssystems 10 gemäß einer anderen Ausführungsform. Gemäß der vorliegenden Ausführungsform umfasst das Robotersimulationssystem 10 zusätzlich zu der Konfiguration der zuvor erwähnten Ausführungsform einen Teil zum Erfassen von zweidimensionalen Bildern 38.
-
Der Teil zum Erfassen von zweidimensionalen Bildern 38 dient dazu, ein zweidimensionales Bild der lose gestapelten Werkstückmodelle 80M durch ein Kameramodell 18M zu erfassen. 12 ist eine Ansicht, die ein Blickfeld FV eines Kameramodells 18M zeigt, das mit dem Teil zum Erfassen von zweidimensionalen Bildern 38 funktioniert. Der Teil zum Erfassen von zweidimensionalen Bildern 38 ist konfiguriert, um eines der beiden Kameramodelle 18M des Entfernungssensormodells 14M zu verwenden, um ein zweidimensionales Bild zu erfassen. Alternativ kann ein getrenntes Kameramodell dazu verwendet werden.
-
13 zeigt ein Beispiel des zweidimensionalen Bildes, das von dem Kameramodell 18M aufgenommen wird. Bei dem abgebildeten Beispiel wird das Bild der lose gestapelten zylindrischen Werkstückmodelle 80M aufgenommen. Das erfasste zweidimensionale Bild wird von einer Bildverarbeitungsvorrichtung verarbeitet, um die Positionen und Stellungen der Werkstückmodelle 80M zu berechnen.
-
14 bis 16 sind Ansichten, um eine beispielhafte Verwendung des zweidimensionalen Bildes zu erklären, das von dem Teil zum Erfassen von zweidimensionalen Bildern 38 erfasst wird. In 14 ist die Linie L1, die auf dem Werkstückmodell 80M gezeichnet ist, die Grenzlinie des Ermittlungsbereichs des Teils zum Erfassen von zweidimensionalen Bildern 38. D.h. ein Teil des Werkstückmodells 80M unterhalb der Linie L1 aus 14 kann beispielsweise hinter einem anderen Werkstückmodell 80M nicht zu sehen sein. In diesem Fall verarbeitet der Teil zum Berechnen von Positionen und Stellungen 34 des Robotersimulationssystems 10 das erfasste zweidimensionale Bild, um den Teil des Werkstückmodells 80M zu identifizieren, und verwendet die dreidimensionalen Informationen des identifizierten Teils des Werkstückmodells 80M (dreidimensionale Koordinaten der Schnittpunkte PT). Beispielsweise berechnet der Teil zum Berechnen von Positionen und Stellungen 34 die Position des Schwerpunktes CG des Werkstückmodells 80M dieses Teils basierend auf den dreidimensionalen Informationen eines Werkstückmodells 80M, das in dem Ermittlungsbereich des zweidimensionalen Bildes enthalten ist. In diesem Fall ist das Robotermodell 60M positioniert, um das Werkstückmodell 80M basierend auf der Position des Schwerpunktes CG des Werkstückmodells 80M zu ergreifen.
-
15 zeigt ein Werkstückmodell 80M, das eine zusammengesetzte Form aufweist, die aus zwei quaderförmigen Elementen besteht, die verschiedene Abmessungen aufweisen und gestapelt sind. In diesem Fall wird beispielsweise das zweidimensionale Bild, das von dem Teil zum Erfassen von zweidimensionalen Bildern 38 erfasst wird, verarbeitet, um die Ebene P4 des Werkstückmodells 80M zu identifizieren. Ferner werden die dreidimensionalen Informationen (dreidimensionalen Koordinaten der Schnittpunkte PT) auf der vorgegebenen Ebene P4 verwendet. Beispielsweise berechnet der Teil zum Berechnen von Positionen und Stellungen 34 die Position und Stellung der Ebene P4 oder die Erstreckungsrichtung der senkrechten Linie im Verhältnis zur Ebene P4 basierend auf den dreidimensionalen Informationen des Werkstückmodells 80M, das in der Ebene P4 in dem zweidimensionalen Bild enthalten ist. In diesem Fall wird das Robotermodell 60M zum Ergreifen des Werkstückmodells 80M basierend auf der Position und Stellung der Ebene P4 oder der Erstreckungsrichtung der senkrechten Linie im Verhältnis zur Ebene P4 positioniert.
-
Alternativ, wie in 16 gezeigt, können die Position und Stellung der Ebene P4 oder die senkrechte Richtung im Verhältnis zur Ebene P4 basierend auf den dreidimensionalen Informationen (dreidimensionalen Koordinaten der Schnittpunkte PT) auf der Ebene P5 berechnet werden, die anders als die Ebene P4 des Werkstückmodells 80M ist, die aus dem zweidimensionalen Bild identifiziert wird.
-
Da ein zweidimensionales Bild von Werkstückmodellen, das von einem Kameramodell erfasst wird, weiter verwendet wird, können gemäß der vorliegenden Ausführungsform die Positionen und Stellungen der Werkstückmodelle genauer berechnet werden. Die genaueren Positionen und Stellungen der Werkstückmodelle können als Grundlage verwendet werden, um eine Simulation des Entnahmeprozesses der Werkstücke auszuführen, so dass man die Zuverlässigkeit der Simulation verbessern kann.
-
Wirkung der Erfindung
-
Gemäß dem Robotersimulationssystem, das die zuvor beschriebene Konfiguration verwendet, werden die Gruppe von ersten Ebenen und die Gruppe von zweiten Ebenen, die im virtuellen Raum eingestellt werden, verwendet, um eine Vielzahl von Punkten auf den Oberflächen der Werkstückmodelle zu identifizieren. Ferner werden dreidimensionale Informationen der Vielzahl von Punkten durch ein Entfernungssensormodell erfasst, um die Positionen und Stellungen der Werkstückmodelle zu erfassen. Dadurch ist es möglich, den Entnahmeprozess von Werkstücken unter Verwendung eines Entfernungssensors zu simulieren und ohne Weiteres ein Steuerprogramm zu beurteilen oder die notwendigen Änderungen vorzunehmen.
-
Obwohl die diversen Ausführungsformen und Änderungen der vorliegenden Erfindung zuvor beschrieben wurden, wird der Fachmann verstehen, dass die Funktionen und Wirkungen, auf welche die vorliegende Erfindung abzielt, durch andere Ausführungsformen und Änderungen erzielt werden können. Insbesondere können Bestandteile der Ausführungsformen und die zuvor beschriebenen Änderungen entfernt oder ersetzt werden, oder ein bekanntes Element kann weiter hinzugefügt werden, ohne den Umfang der vorliegenden Erfindung zu verlassen. Zusätzlich wird es für den Fachmann ersichtlich sein, dass die vorliegende Erfindung durch eine beliebige Kombination der Merkmale der implizit oder ausdrücklich in der vorliegenden Beschreibung offenbarten Ausführungsformen umgesetzt werden kann.