DE102019003334B4 - Robotersystem und Steuerverfahren für ein Robotersystem zum Entnehmen von Werkstücken aus loser Schüttung - Google Patents

Robotersystem und Steuerverfahren für ein Robotersystem zum Entnehmen von Werkstücken aus loser Schüttung Download PDF

Info

Publication number
DE102019003334B4
DE102019003334B4 DE102019003334.5A DE102019003334A DE102019003334B4 DE 102019003334 B4 DE102019003334 B4 DE 102019003334B4 DE 102019003334 A DE102019003334 A DE 102019003334A DE 102019003334 B4 DE102019003334 B4 DE 102019003334B4
Authority
DE
Germany
Prior art keywords
workpiece
robot
dimensional information
workpieces
dimensional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102019003334.5A
Other languages
English (en)
Other versions
DE102019003334A1 (de
Inventor
Tadanori Suzuki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102019003334A1 publication Critical patent/DE102019003334A1/de
Application granted granted Critical
Publication of DE102019003334B4 publication Critical patent/DE102019003334B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/087Controls for manipulators by means of sensing devices, e.g. viewing or touching devices for sensing other physical parameters, e.g. electrical or chemical properties
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/0033Gripping heads and other end effectors with gripping surfaces having special shapes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/02Gripping heads and other end effectors servo-actuated
    • B25J15/0246Gripping heads and other end effectors servo-actuated actuated by an electromagnet
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/06Gripping heads and other end effectors with vacuum or magnetic holding means
    • B25J15/0608Gripping heads and other end effectors with vacuum or magnetic holding means with magnetic holding means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/08Gripping heads and other end effectors having finger members
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/023Cartesian coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • B25J9/041Cylindrical coordinate type
    • B25J9/042Cylindrical coordinate type comprising an articulated arm
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/1005Programme-controlled manipulators characterised by positioning means for manipulator elements comprising adjusting means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40537Detect if robot has picked up more than one piece from bin; interlocked parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

Robotersystem (5) zum Entnehmen von Werkstücken (W), die in loser Schüttung in einem Behälter (9) vorliegen, wobei das Robotersystem aufweist:eine Hand (2), zum Ergreifen eines Werkstückes,einen Roboter (1), welcher die Hand bewegt,einen dreidimensionalen Sensor (6), welcher Informationen gewinnt über Abstände zu den Werkstücken, undeine Steuerung (4), welche die Hand und den Roboter steuert, wobei die Steuerung enthält:eine Betriebssteuereinheit (43), welche Betriebsbefehle bezüglich der Hand und des Roboters sendet;eine Erzeugungseinheit (58), welche dreidimensionale Information erzeugt einschließlich Informationen über Positionen von Messpunkten (MP, MPa, MPb), die auf die Werkstücke eingestellt sind auf Basis eines Ausgangs des dreidimensionalen Sensors;eine Speichereinheit (42), welche dreidimensionale Formdaten (46) des Werkstückes speichert;eine Detektoreinheit (53), welche Positionen und Orientierungen der Werkstücke detektiert durch Implementierung eines Modellvergleichs, bei dem die dreidimensionale Information bezüglich des Werkstückes verglichen wird mit den dreidimensionalen Formdaten;eine Auswahleinheit (59), welche ein Ziel-Werkstück auswählt, welches mit dem Roboter zu entnehmen ist, auf Basis der Positionen und Orientierungen der Werkstücke;eine Löscheinheit (54), welche Informationen über zumindest einen Teil der Messpunkte in der dreidimensionalen Information löscht; undeine Bestimmungseinheit (55), welche einen Zustand ermittelt nach Implementation eines Betriebs zum Anheben des Werkstückes durch den Roboter, wobeidie Erzeugungseinheit eine erste dreidimensionale Information (31) erzeugt auf Basis eines Ausgangs des dreidimensionalen Sensors, welcher ein Bild der Werkstücke aufgenommen hat, bevor der Roboter das Ziel-Werkstück erfasst hat,die Betriebssteuereinheit den Roboter so steuert, dass nach Implementierung eines Betriebs zum Erfassen und Anheben des Ziel-Werkstückes gemäß Auswahl auf Basis der ersten dreidimensionalen Information ein Stopp eingelegt wird,die Erzeugungseinheit eine zweite dreidimensionale Information (32) erzeugt auf Basis eines Ausgangs des dreidimensionalen Sensors, welcher ein Bild des Werkstückes aufgenommen hat nach Implementierung des Betriebs zum Anheben des Ziel-Werkstückes durch den Roboter,die Löscheinheit eine Position des Messpunktes (MPa) in der ersten dreidimensionalen Information mit einer Position des Messpunktes (MPb) in der zweiten dreidimensionalen Information vergleicht, als spezifizierten Messpunkt den Messpunkt in der ersten dreidimensionalen Information detektiert, gegenüber dem der Messpunkt in der zweiten dreidimensionalen Information innerhalb eines vorgegebenen Abstandsbereiches liegt, und dritte dreidimensionale Information (33) erzeugt, in welcher Informationen über den spezifizierten Messpunkt aus der ersten dreidimensionalen Information gelöscht ist,die Detektoreinheit eine Position und Orientierung eines Werkstückes in der dritten dreidimensionalen Information detektiert,die Bestimmungseinheit ermittelt, ob das in der dritten dreidimensionalen Information enthaltene Werkstück mit dem Ziel-Werkstück übereinstimmt, und wobeidann, wenn das in der dritten dreidimensionalen Information enthaltene Werkstück mit dem Ziel-Werkstück übereinstimmt, die Betriebssteuereinheit den Roboter so steuert, dass das mit der Hand erfasste Werkstück zu einer vorgegebenen Ziel-Station befördert wird.

Description

  • Die Erfindung betrifft ein Robotersystem und ein Steuerverfahren für ein Robotersystem zum Entnehmen von Werkstücken aus einer losen Schüttung.
  • Sind viele Werkstücke in einer Einfassung, wie in einem Behälter, enthalten, können die Werkstücke in einer Weise angeordnet sein, dass Zwischenräume zwischen den Werkstücken vorliegen und die Orientierungen der Werkstücke unregelmäßig sind. Mit anderen Worten: die Werkstücke können in loser Schüttung in dem Behälter vorliegen. Im Stand der Technik bekannt ist ein Robotersystem, welches einen Roboter aufweist, der die Werkstücke aus dem Behälter entnimmt (siehe beispielsweise japanische Patentanmeldungsveröffentlichung JP 2010-069 542 A ).
  • Die als loses Schüttgut vorliegenden Werkstücke sind mit verschiedenen Abständen und mit verschiedenen Orientierungen abgelegt. Dementsprechend werden die Werkstücke vorzugsweise entnommen, nachdem eine Position und eine Orientierung des Werkstückes detektiert ist. Im Stand der Technik ist es bekannt, einen dreidimensionalen Sensor zu verwenden zum Detektieren der Positionen und der Orientierungen der Werkstücke (siehe beispielsweise japanische Patentanmeldungsveröffentlichung JP 2010-120 141 A und japanische Patentanmeldungsveröffentlichung JP 2017-064 817 A ). Bei diesen Verfahren nimmt der dreidimensionale Sensor ein Bild der in dem Behälter vorliegenden Werkstücke auf. Das mit dem dreidimensionalen Sensor aufgenommene Bild kann eingesetzt werden zur Erzeugung von Informationen, wie einer Gruppe von dreidimensionalen Punkten der im losen Schüttgut vorliegenden Werkstücke. Weiterhin können die Position und die Orientierung eines Werkstückes detektiert werden und die Position und Orientierung des Roboters kann auf Basis der Position und Orientierung des Werkstückes gesteuert werden. Die Verwendung eines dreidimensionalen Sensors zum Detektieren einer Position und einer Orientierung eines Werkstücks ist ferner in den Druckschriften DE 10 2014 016 069 A1 , DE 10 2014 016 033 A1 , DE 10 2011 108 169 B4 , DE 10 2013 109 220 A1 , US 2018/0 085 923 A1 und US 2016/0 279 809 A1 diskutiert.
  • Eine Hand mit mehreren Greifern zum Ergreifen eines Werkstückes kann als sogenannter Effektor eingesetzt werden, welcher das Werkstück erfasst. Nachteiligerweise kann die mehrere Greifer aufweisende Hand nur bestimmte Teile des Werkstückes ergreifen und dies kann zur Folge haben, dass die in loser Schüttung vorliegenden Werkstücke nicht effizient entnommen werden. Beispielsweise kann eine Hand, welche die Vorderseite eines Werkstückes wirksam ergreift, beim Ergreifen der Rückseite des Werkstückes versagen, wenn das Werkstück umgedreht orientiert ist. Im Ergebnis kann es bei der Aufgabe, alle Werkstücke zu entnehmen, zu Unzulänglichkeiten kommen.
  • Vorzugsweise ist der Effektor (auch als End-Effektor bezeichnet) eingerichtet, das Werkstück in unterschiedlichen Orientierungen zu ergreifen. Mit anderen Worten: es wird vorzugsweise eine Hand eingesetzt, welche das Werkstück ergreifen kann, ohne dass die Orientierung der Hand in Bezug auf das Werkstück eingestellt ist. Im Stand der Technik ist es bekannt, eine magnetische Hand einzusetzen, welche einen halbkugelförmigen Spitzenabschnitt hat und ein Werkstück elektromagnetisch anzieht (beispielsweise veröffentlichte japanische Patentanmeldung JP 2015-171 749 A ).
  • Sind Werkstücke in loser Schüttung in einem Behälter geladen, kann eine Hand beim Ergreifen eines Werkstückes versagen, wenn der Roboter die Aufgabe ausführt, die Werkstück aus dem Behälter zu entnehmen. Andererseits kann es auch vorkommen, dass der Roboter ein Werkstück entnimmt, dessen Entnahme nicht gewünscht ist. Dies ergibt längere Zykluszeiten. Führt beispielsweise ein Roboter eine Aufgabe aus zum Überführen eines Werkstückes zu einem nächsten Arbeitsschritt, ohne dass das Werkstück tatsächlich erfasst ist, ergeben sich Zeitverluste bezüglich der Überführung des Werkstückes und bezüglich der Rückkehr zur Ausgangsposition. Deshalb wird vorzugsweise geprüft, ob das gewünschte Werkstück ergriffen ist, bevor das Werkstück mit der Hand zur nächsten Station gefördert wird. Mit anderen Worten: es wird vorzugsweise ein Zustand geprüft, in dem das Werkstück ergriffen ist.
  • Eine Einrichtung zum Detektieren einer Änderung bezüglich der Masse kann zwischen dem Gelenk und der Hand des Roboters vorgesehen sein um zu prüfen, ob das Werkstück erfasst ist (siehe beispielsweise veröffentlichte japanische Patentanmeldung JP 2015-171 749 A , wie oben erwähnt). Der Zustand, in dem das Werkstück erfasst ist, kann geprüft werden durch Messung des Unterschiedes der Massen der Hand vor und nach Ergreifen des Werkstückes. Andererseits kann auch ein fotoelektrischer Sensor an der Hand oder dergleichen angebracht sein. Wird das Werkstück erfasst, wird vom fotoelektrischen Sensor abgegebene Strahlung durch die Oberfläche des Werkstückes reflektiert. Empfängt der fotoelektrische Sensor das reflektierte Licht, kann daraus abgeleitet werden, dass das Werkstück ergriffen ist. Allerdings haben diese Verfahren Nachteile dahingehend, dass eine zusätzliche Einrichtung erforderlich ist zum Überprüfen, ob das Werkstück ergriffen ist. Auch kann eine Einrichtung, welche eine Änderung in der Masse detektiert, versagen, wenn das Werkstück eine geringe Masse hat oder auch in Fällen, bei denen eine bewegliche Komponente des Roboters einer großen Reibung unterliegt.
  • Ist die Hand zum Ergreifen eines Werkstückes eingerichtet, ohne dass die Orientierung der Hand in Bezug auf das Werkstück eingestellt ist, wird das Werkstück durch die Hand ergriffen in unterschiedlichen Orientierungen. Dies kann zu Problemen führen bei der Detektion des Werkstückes mit einem fotoelektrischen Sensor.
  • Wird eine magnetische Hand eingesetzt und der fotoelektrische Sensor als Einrichtung zum Detektieren des Werkstückes, kann ein Werkstück in jeglicher Orientierung in Bezug auf die Hand ergriffen werden. Das vom fotoelektrischen Sensor emittierte Licht kann in Abhängigkeit von der Orientierung des mit der Hand ergriffenen Werkstückes nicht reflektiert werden. In diesem Falle wird festgestellt, dass die Hand das Werkstück nicht ergriffen hat, obwohl das Werkstück tatsächlich von der Hand ergriffen ist. Weiterhin besteht bei Einsatz eines fotoelektrischen Sensors ein Nachteil dahingehend, dass nicht festgestellt werden kann, ob ein einziges Werkstück oder zwei oder mehr Werkstücke ergriffen sind.
  • Die Erfindung ist auf die Aufgabe gerichtet, ein verbessertes Robotersystem und ein verbessertes Steuerverfahren für ein Robotersystem der in Rede stehenden Art bereitzustellen.
  • Diese technische Aufgabe wird zunächst durch ein Robotersystem gelöst, welches ein jedes Werkstück aus einer losen Schüttung in einem Behälter entnimmt. Das Robotersystem enthält eine Hand, welche Werkstücke ergreift, einen Roboter, welcher die Hand bewegt, einen dreidimensionalen Sensor, welcher Informationen gewinnt über Distanzen zu den Werkstücken, und eine Steuerung, welche die Hand und den Roboter steuert. Die Steuerung enthält eine Betriebssteuereinheit, welche Betriebsbefehle an die Hand und den Roboter sendet, und eine Erzeugungseinheit, welche dreidimensionale Informationen erzeugt einschließlich Informationen über Positionen von Messpunkten, die auf Basis eines Ausgangs des dreidimensionalen Sensors für die Werkstücke eingestellt sind. Die Steuerung hat eine Speichereinheit, welche dreidimensionale Formdaten der Werkstücke speichert, und eine Detektoreinheit, welche Positionen und Orientierungen der Werkstücke detektiert durch Implementierung eines Modellvergleichs, bei dem die dreidimensionale Information über das Werkstück verglichen wird mit den dreidimensionalen Formdaten. Die Steuerung enthält eine Auswahleinheit, welche ein Zielwerkstück auswählt, welches durch den Roboter zu entnehmen ist auf Basis der Positionen und der Orientierungen der Werkstücke. Die Steuerung enthält eine Löscheinheit, welche Informationen über zumindest einen Teil der Messpunkte in der dreidimensionalen Information löscht, und eine Bestimmungseinheit, welche einen Zustand bestimmt, nachdem der Roboter den Betrieb zum Anheben des Werkstückes implementiert. Die Erzeugungseinheit erzeugt erste dreidimensionale Informationen auf Basis eines Ausgangs des dreidimensionalen Sensors, welcher ein Bild des Werkstückes aufgenommen hat, bevor der Roboter den Betrieb des Greifens des Zielwerkstückes implementiert. Die Betriebssteuereinheit steuert den Roboter so, dass ein Stopp erfolgt nach Implementierung eines Betriebs zum Greifen und Anheben des Zielwerkstückes, welches auf Basis der ersten dreidimensionalen Informationen ausgewählt ist. Die Erzeugungseinheit erzeugt zweite dreidimensionale Informationen auf Basis des Ausgangs des dreidimensionalen Sensors, welcher ein Bild des Werkstückes aufgenommen hat, nachdem der Roboter einen Betrieb zum Anheben des Zielwerkstückes implementiert. Die Löscheinheit vergleicht eine Position des Messpunktes in der ersten dreidimensionalen Information mit einer Position des Messpunktes in der zweiten dreidimensionalen Information. Die Löscheinheit detektiert als einen spezifizierten Messpunkt den Messpunkt in der ersten dreidimensionalen Information, in Bezug auf den der Messpunkt in der zweiten dreidimensionalen Information in einem vorgegebenen Distanzbereich liegt. Die Löscheinheit erzeugt dritte dreidimensionale Informationen durch Löschen von Information über den spezifizierten Messpunkt aus der ersten dreidimensionalen Information. Die Detektionseinheit detektiert eine Position und eine Orientierung eines in der dritten dreidimensionalen Information repräsentierten Werkstückes. Die Bestimmungseinheit bestimmt, ob das Werkstück in der dritten dreidimensionalen Information zum Zielwerkstück passt oder nicht. Passt das Werkstück in der dritten dreidimensionalen Information zum Zielwerkstück, steuert die Betriebssteuereinheit den Roboter so, dass das mit der Hand ergriffene Werkstück zu einer vorgegebenen Zielposition gefördert wird.
  • Darüber hinaus wird die oben genannte Aufgabe durch ein Steuerverfahren für ein Robotersystem gelöst, welches einen Roboter und eine Hand aufweist und jedes Werkstück in einer losen Schüttung aus einem Behälter entnimmt. Das Steuerverfahren enthält einen Betriebssteuerschritt zum Ändern der Position und Orientierung des Roboters. Das Steuerverfahren enthält einen Bildaufnahmeschritt zum Aufnehmen eines Bildes des Werkstückes mit einem dreidimensionalen Sensor, zum Gewinnen von Informationen über den Abstand zu dem Werkstück, und einen Erzeugungsschritt zur Erzeugung dreidimensionaler Informationen einschließlich Informationen über Positionen und Messpunkte, die am Werkstück eingestellt sind auf Basis eines Ausganges (Ausgangssignals) des dreidimensionalen Sensors. Das Steuerverfahren enthält einen Detektionsschritt zum Detektieren der Positionen und Orientierungen der Werkstücke durch Einsatz eines Modellvergleichs, bei dem die dreidimensionalen Informationen über das Werkstück verglichen werden mit dreidimensionalen Formdaten bezüglich des Werkstückes. Das Steuerverfahren enthält einen Auswahlschritt zum Auswählen eines Zielwerkstückes, welches durch den Roboter zu entnehmen ist auf Basis der Positionen und Orientierungen der Werkstücke. Das Steuerverfahren enthält einen Löschschritt zum Löschen von Informationen über zumindest einen Teil der Messpunkte in der dreidimensionalen Information, und einen Bestimmungsschritt zum Bestimmen eines Zustandes, nachdem der Roboter das Werkstück angehoben hat. Der Erzeugungsschritt enthält die Erzeugung von ersten dreidimensionalen Informationen auf Basis eines Ausgangs vom dreidimensionalen Sensor, welcher ein Bild des Werkstückes aufgenommen hat, bevor der Roboter einen Betrieb des Ergreifens des Zielwerkstückes implementiert. Der Betriebssteuerungsschritt enthält einen Schritt der Steuerung des Roboters so, dass ein Stopp eingelegt wird nach Implementieren eines Vorganges des Ergreifens und Anhebens des Zielwerkstückes gemäß Auswahl auf Basis der ersten dreidimensionalen Informationen. Der Erzeugungsschritt enthält die Erzeugung von zweiten dreidimensionalen Informationen auf Basis eines Ausgangs des dreidimensionalen Sensors, welcher ein Bild des Werkstückes aufgenommen hat, nachdem der Roboter den Betrieb des Anhebens des Zielwerkstückes implementiert hat. Der Löschschritt enthält einen Schritt des Vergleichs einer Position des Messpunktes in den ersten dreidimensionalen Informationen mit einer Position des Messpunktes in den zweiten dreidimensionalen Informationen. Der Löschschritt enthält einen Schritt der Detektion, als spezifizierten Messpunkt, des Messpunktes in der ersten dreidimensionalen Information, in Bezug auf den der Messpunkt in der zweiten dreidimensionalen Information in einem vorgegebenen Distanzbereich liegt. Der Löschschritt enthält einen Schritt der Erzeugung dritter dreidimensionaler Informationen durch Löschung von Informationen über den spezifizierten Messpunkt aus den ersten dreidimensionalen Informationen. Der Detektionsschritt enthält einen Schritt der Detektion einer Position und Orientierung eines Werkstückes, die in den dritten dreidimensionalen Informationen enthalten sind. Der Bestimmungsschritt enthält einen Schritt der Bestimmung, ob das in den dritten dreidimensionalen Informationen enthaltene Werkstück mit dem Zielwerkstück übereinstimmt. Der Betriebssteuerschritt enthält dann, wenn das Werkstück in den dritten dreidimensionalen Informationen mit dem Zielwerkstück übereinstimmt, einen Schritt der Steuerung des Roboters so, dass das von der Hand ergriffene Werkstück zu einem vorgegebenen Förderungszielpunkt gefördert wird.
  • Die Erfindung ist nachstehend anhand der beigefügten Zeichnung näher erläutert.
    • 1 ist eine perspektivische Darstellung eines Robotersystems gemäß einem Ausführungsbeispiel.
    • 2 ist ein Blockdiagramm eines Robotersystems gemäß dem Ausführungsbeispiel.
    • 3 ist eine Draufsicht auf einen Behälter, der darin Werkstücke enthält.
    • 4 ist eine Teilschnitt-Darstellung eines Bereichssensors und eines Containers gemäß dem Ausführungsbeispiel.
    • 5 ist eine Teilschnitt-Darstellung eines Containers und eines Werkstückes gemäß dem Ausführungsbeispiel.
    • 6 erläutert Messpunkte, die auf Oberflächen von Werkstücken eingestellt (projiziert) sind.
    • 7 zeigt ein erstes Distanzbild vor Entnahme eines Werkstückes.
    • 8 zeigt ein zweites Distanzbild nach Entnahme des Werkstückes.
    • 9 erläutert spezifizierte Messpunkte, die vom ersten Distanzbild zu löschen sind.
    • 10 zeigt ein drittes Distanzbild, welches erzeugt ist durch Löschung von Informationen über die spezifizierten Messpunkte im ersten Distanzbild.
    • 11 ist eine erste Seitenansicht einer Hand, eines Werkstückes und eine fotoelektrischen Sensors gemäß einem ersten Vergleichsbeispiel.
    • 12 ist eine zweite Seitenansicht einer Hand, eines Werkstückes und eines fotoelektrischen Sensors gemäß dem ersten Vergleichsbeispiel.
    • 13 ist eine erste Seitenansicht einer Hand, eines Werkstückes und eines fotoelektrischen Sensors gemäß einem zweiten Vergleichsbeispiel.
    • 14 ist eine zweite Seitenansicht der Hand, des Werkstückes und des fotoelektrischen Sensors des zweiten Vergleichsbeispiels.
    • 15 zeigt eine dritte Seitenansicht einer Hand, eines Werkstückes und eines fotoelektrischen Sensors gemäß dem zweiten Vergleichsbeispiel.
    • 16 ist ein Flussdiagramm der Steuerung gemäß dem Ausführungsbeispiel.
  • Unter Bezugnahme auf die 1 bis 16 wird ein Robotersystem und ein Steuerverfahren für ein Robotersystem gemäß Ausführungsbeispielen näher beschrieben. Das Robotersystem gemäß vorliegenden Ausführungsbeispielen implementiert einen Betrieb zum Entnehmen von Werkstücken, die in loser Schüttung in einem Behälter vorliegen, und zum Fördern der Werkstücke zu einer vorgegebenen Zielstation.
  • 1 ist eine perspektivische Darstellung eines Robotersystems gemäß dem Ausführungsbeispiel. Das Robotersystem 5 enthält einen Roboter 1 und eine Hand 2. Das Robotersystem 5 enthält eine Steuerung 4, welche den Roboter 1 und die Hand 2 steuert. Der Roboter 1 dieses Ausführungsbeispieles ist ein Gelenk-Roboter mit einer Mehrzahl von Gelenken. Der Roboter 1 hat einen oberen Arm 11 und einen unteren Arm 12. Der untere Arm 12 ist in einem Drehlager 13 abgestützt. Das Drehlager 13 ist auf einer Plattform 14 abgestützt. Der Roboter 1 hat ein Handgelenk 15, das mit einem Ende des oberen Arms 11 verbunden ist. Diese Komponenten des Roboters 1 sind jeweils ausgebildet für eine Rotation um vorgegebene Rotationsachsen. Die Ausführung des Roboters ist aber nicht auf die soeben beschriebene Art beschränkt und es kann ein jeglicher Roboter eingesetzt werden, der in der Lage ist, die Position und die Orientierung der Hand zu ändern.
  • Die Hand 2 ist ein Betriebswerkzeug, welches ein Werkstück W ergreifen und freigeben kann. Die Hand 2 hat einen Elektromagneten 2a, welcher Anziehungskräfte erzeugt und ein Anziehungsbauteil 2b, welches ein Werkstück W mit der magnetischen Kraft des Elektromagneten 2a anzieht. Das Anziehungsbauteil 2b hat hier Stangenform. Das Anziehungsbauteil 2b hat einen abgerundeten Spitzenbereich. Die Hand 2 dieses Ausführungsbeispieles kann das Werkstück W erfassen, ohne dass eine Position und Orientierung der Hand 2 relativ zum Werkstück W erforderlich wäre.
  • Die Werkstücke W sind im Inneren eines Behälters 9 angeordnet, der hier als Aufnahme dient. Als Behälter (Aufnahme) kann hier ein jegliches Gebilde eingesetzt werden, welches in der Lage ist, die Werkstücke W aufzunehmen, wie eine Box, ein Sack, ein Korb oder dergleichen. In dem Behälter 9 sind die Werkstücke W in loser Schüttung aufgenommen. Der Behälter 9 ist auf einem Tisch 81 positioniert. Das Robotersystem 5 dieses Ausführungsbeispieles entnimmt die Werkstücke W eines nach dem anderen aus dem Behälter 9 und fördert die Werkstücke W zu einer vorgegebenen Zielstation.
  • Das Robotersystem 5 hat einen Bereichssensor 6 als dreidimensionaler Sensor zum Detektieren der Position und Orientierung eines Werkstückes W. Der Bereichssensor 9 gewinnt Informationen über einen Abstand zum Werkstück W. Der Bereichssensor 6 ist an einer Position angeordnet, die geeignet ist für die Aufnahme eines Bildes des Werkstückes W. Beim vorliegenden Ausführungsbeispiel ist der Bereichssensor 6 über dem Behälter 9 angeordnet. Der Bereichssensor 6 ist an einer Abstützung 83 befestigt. Der Bereichssensor 6 wird über die Steuerung 4 gesteuert.
  • Der Bereichssensor 6 dieses Ausführungsbeispieles ist eine Stereokamera mit zwei Kameras 61 und 62. Die Kameras 61 und 62 sind jeweils eine zweidimensionale Kamera zur Aufnahme eines zweidimensionalen Bildes. Die Kameras 61 und 62 können jeglicher Art sein einschließlich eines Bildaufnahmeelementes, wie einer ladungsgekoppelten Einrichtung (CCD) oder eines Sensors auf CMOS-Basis. Die relativen Positionen der zwei Kameras 61 und 62 werden im Voraus bestimmt. Der Bereichssensor 6 dieses Ausführungsbeispieles hat einen Projektor 63, welcher Licht in einem Muster, wie einem Streifenmuster, in Richtung auf das Werkstück W projiziert.
  • Ein Bezugskoordinatensystem 37 ist in das Robotersystem 5 dieses Ausführungsbeispieles eingestellt, wobei das Bezugskoordinatensystem unbeweglich ist bei einer Änderung der Position und Orientierung des Roboters 1. Beim in 1 gezeigten Beispiel hat das Bezugskoordinatensystem 37 seinen Ursprung in der Basis 14 des Roboters 1. Ein solches Bezugskoordinatensystem 37 wird bisweilen auch als „Weit-Koordinatensystem“ bezeichnet. Das Bezugskoordinatensystem 37 hat eine X-Achse, eine Y-Achse und eine Z-Achse, die jeweils senkrecht zueinander stehen, als Koordinatenachsen. Beispielsweise kann ein Koordinatenwert (xb, yb, zb) im Bezugskoordinatensystem 37 eingestellt werden. Eine W-Achse ist eine Koordinatenachse um die X-Achse, eine P-Achse ist eine Koordinatenachse um die Y-Achse und eine R-Achse ist eine Koordinatenachse um die Z-Achse. In diesem Falle kann beispielsweise ein Koordinatenwert (xb, yb, zb, wb, pb, rb) im Bezugskoordinatensystem 37 eingestellt werden.
  • 2 ist ein Blockdiagramm eines Robotersystems gemäß dem Ausführungsbeispiel. Entsprechend 1 und 2 hat der Roboter 1 einen Roboterantrieb, welcher die Position und Orientierung des Roboters 1 ändert. Der Roboterantrieb hat Roboterantriebsmotoren 22, welche Komponenten, wie einen Arm oder ein Gelenk, antreiben. Durch Betrieb des Roboterantriebsmotors 22 kann die Orientierung jeder Komponente geändert werden.
  • Das Robotersystem 5 hat einen Handantrieb, welcher die Hand 2 antreibt. Das Werkstück W des vorliegenden Ausführungsbeispieles weist magnetisches Material auf, wie Eisen. Das Werkstück W wird durch das Anziehungsbauteil 2b angezogen, wenn der Elektromagnet 2a der Hand 2 betätigt wird.
  • Die Steuerung 4 hat einen arithmetischen Prozessor (Computer) mit einer zentralen Prozessoreinheit (CPU), einem Speicher mit wahlfreiem Zugriff (RAM), einem LeseSpeicher (ROM) oder dergleichen, die über einen Bus mit der CPU verbunden sind. Ein Betriebsprogramm 41, welches im Voraus erzeugt ist für den Betrieb des Roboters 1, ist in die Steuerung 4 eingegeben. Das Betriebsprogramm 41 ist in einem Speicherbereich 42 abgelegt. Der Speicherbereich 42 speichert auch Informationen bezüglich der Steuerung, wie Bestimmungswerte und Bestimmungsbereiche. Das Robotersystem 5 dieses Ausführungsbeispieles fördert ein Werkstück W auf Basis des Betriebsprogramms 41. (Der Begriff „Betriebsprogramm“ bezieht sich hier auf die Betätigung, den Betrieb, des Robotersystems). Der Roboter 1 kann automatisch ein Werkstück W zu einer vorgegebenen Zielstation fördern.
  • Die Betriebssteuereinheit 43 sendet einen Betriebsbefehl zum Antrieb des Roboters 1 auf Basis des Betriebsprogramms 41 an die Roboterantriebseinheit 45. Die Roboterantriebseinheit 45 hat eine elektrische Schaltung zum Antrieb des Roboterantriebsmotors 22. Die Roboterantriebseinheit 45 liefert Strom entsprechend dem Betriebsbefehl an den Roboterantriebsmotor 22. Die Betriebssteuereinheit 43 sendet einen Betriebsbefehl zum Antrieb der Hand 2 entsprechend dem Betriebsprogramm 41 an die Handantriebseinheit 44. Die Handantriebseinheit 44 hat eine elektrische Schaltung zum Antrieb des Elektromagneten 2a. Die Handantriebseinheit 44 liefert Strom für den Elektromagneten 2a entsprechend dem Betriebsbefehl. Die Betriebssteuereinheit 43 sendet einen Betriebsbefehl zum Antrieb des Bereichssensors 6 an den Bereichssensor 6 entsprechend dem Betriebsprogramm 41.
  • Der Roboter 1 hat einen Statusdetektor zum Detektieren der Position und Orientierung des Roboters 1. Der Statusdetektor des vorliegenden Ausführungsbeispieles enthält einen Positionsdetektor 18, der am Roboterantriebsmotor 22 angebracht ist, entsprechend der Antriebsachse der betreffenden Komponente, wie eines Armes. Die Orientierung der Komponente in Bezug auf die jeweilige Antriebsachse kann über den Ausgang des Positionsdetektors 18 gewonnen werden. Beispielsweise kann der Positionsdetektor 18 einen Drehwinkel detektieren, wenn der Roboterantriebsmotor 22 angetrieben wird. Die Position und die Orientierung der Hand 2 werden auf Basis des Ausgangs des Positionsdetektors 18 bestimmt.
  • Die Steuerung 4 hat eine Betriebseinstelleinheit 52, welche entsprechend dem Betriebsprogramm 41 den Betrieb des Roboters 1 einstellt. Die Betriebseinstelleinheit 52 dieses Ausführungsbeispieles implementiert die Steuerung zur Auswahl des aus dem Behälter 9 zu entnehmenden Werkstückes W und das Greifen des Werkstückes W mit der Hand 2. Die Betriebseinstelleinheit 52 detektiert den Status des mit der Hand 2 ergriffenen Werkstückes W und steuert den Betrieb des Roboters 1.
  • 3 ist eine Draufsicht auf einen Behälter mit den darin enthaltenen Werkstücken. 4 ist eine Darstellung, teilweise im Schnitt, zur Erläuterung des Zusammenhanges zwischen einem Bereichssensor und einem Werkstück beim vorliegenden Ausführungsbeispiel. In 4 sind der Bereichssensor 6 und der Behälter 9 unter einem sehr geringen Abstand gezeigt, um die Darstellung übersichtlicher zu machen. Eine Vielzahl von Werkstücken W sind in dem Behälter 9 angeordnet. Ein Werkstück W gemäß diesem Ausführungsbeispiel hat zylindrische Form. Beim vorliegenden Ausführungsbeispiel wird ein Zustand, in dem die Werkstücke W nicht unter gleichen Abständen mit gleicher Orientierung in zumindest einer Richtung im Behälter 9 angeordnet sind, als ein Zustand bezeichnet, in dem die Werkstücke W in loser Schüttung vorliegen. Beim vorliegenden Ausführungsbeispiel sind die vielen Werkstücke W in dem Behälter 9 so angeordnet, dass ihre Axialrichtungen voneinander verschieden sind. Mit anderen Worten: die Werkstücke W sind so verteilt, dass eine Vielzahl von Werkstücken W gemäß einer Zufallsverteilung vorliegen.
  • Der Bereichssensor 6 hat einen Bildaufnahmebereich 64, in dem ein Bild aufgenommen werden kann. Die Kameras 61 und 62 sind vorzugsweise so angeordnet, dass der Behälter 9 im Bildaufnahmebereich 64 liegt. Mit anderen Worten: die Kameras 61 und 62 sind vorzugsweise so angeordnet, dass sie ein Bild aufnehmen können einschließlich aller Werkstücke W, welche von oberhalb des Containers 9 sichtbar sind.
  • 5 ist eine Darstellung, teilweise im Schnitt, einer Hand und eines Behälters beim Betrieb der Entnahme eines Werkstückes. Der Roboter 1 wird so angetrieben, dass das Anziehungsbauteil 2b der Hand 2 in Kontakt kommt mit dem Werkstück W. Der Elektromagnet 2a der Hand 2 wird angetrieben, wodurch das Werkstück W vom Anziehungsbauteil 2b angezogen wird. Der Roboter 1 wird dann so angetrieben, dass die Hand 2 bewegt wird, wodurch das Werkstück W gemäß dem Pfeil 91 angehoben wird. Beim vorliegenden Ausführungsbeispiel wird das Werkstück W mit der Hand 2 mit zufälliger Orientierung ergriffen.
  • Entsprechend den 2 und 4 hat die Steuerung 4 eine Erzeugungseinheit 58, welche dreidimensionale Informationen erzeugt über das Werkstück W entsprechend dem Ausgang des Bereichssensors 6. Die Erzeugungseinheit 58 verarbeitet mit den Kameras 61 und 62 aufgenommene Bilder. Die Erzeugungseinheit 58 kann Stereoskopie verwenden, um dreidimensionale Informationen über das Werkstück W zu erzeugen. Die dreidimensionalen Informationen enthalten Daten über Positionen von Messpunkten, die auf Oberflächen des Werkstückes W gesetzt sind.
  • 6 erläutert auf Oberflächen des Werkstückes gesetzte Messpunkte. Die Erzeugungseinheit 58 kann ein jegliches Verfahren einsetzen, um eine Mehrzahl von Messpunkten MP auf Oberflächen des Werkstückes W aus Sicht des Bereichssensors 6 zu setzen. Beispielsweise kann die Erzeugungseinheit 58 gemäß 4 eine Ebene 65 senkrecht zur optischen Achse 63a des Projektors 63 einstellen. Die Erzeugungseinheit 58 kann Linien in Gitterform einstellen zur Bildung der Ebene 65. Beispielsweise kann die Erzeugungseinheit 58 gerade Linien setzen, die sich in Richtung der X-Achse erstrecken, und gerade Linien, die sich in Richtung der Y-Achse erstrecken, also orthogonal zueinander stehen. Die Erzeugungseinheit 58 erzeugt eine gerade Linie 66, welche eine Schnittstelle zwischen diesen mehreren geraden Linien und den Linsenmittelpunkt des Projektors 63 verbindet. Die Erzeugungseinheit 58 kann einen Messpunkt MP setzen an der Schnittstelle zwischen der Oberfläche des Werkstückes W und der geraden Linie 66.
  • Die Erzeugungseinheit 58 berechnet den Abstand vom Bereichssensor 66 zum Messpunkt MP unter Berücksichtigung der Parallaxe zwischen zwei mit den beiden Kameras 61 und 62 aufgenommenen Bildern. Die Erzeugungseinheit 58 kann die Position des Messpunktes MP bestimmen auf Basis der Distanz zum Messpunkt MP und der Orientierung der geraden Linie 66. Beispielsweise kann die Erzeugungseinheit 58 den Koordinatenwert des Messpunktes MP im Bezugskoordinatensystem 37 berechnen und so dreidimensionale Informationen erzeugen.
  • Die dreidimensionale Information beinhaltet Daten über die Positionen von mehreren Messpunkten MP. Die dreidimensionale Information gemäß vorliegendem Ausführungsbeispiel enthält den Koordinatenwert des Messpunktes MP im Bezugskoordinatensystem 37. Die dreidimensionale Information kann Informationen beinhalten über die Distanz vom Bereichssensor 6 zum Messpunkt MP und eine Richtung vom Bereichssensor 6 zum Messpunkt MP. Beispielsweise beinhaltet die dreidimensionale Information ein Distanzbild oder eine dreidimensionale Karte. Das Distanzbild ist ein Bild mit einer Farbe oder Dichte, welche sich entsprechend der Distanz vom Bereichssensor 6 ändert. Eine dreidimensionale Karte enthält Koordinatenwerte des Messpunktes in einem vorgegebenen Koordinatensystem oder Informationen über die Distanz und die Richtung des Bereichssensors zum Messpunkt. Die Erzeugungseinheit 58 gemäß dem vorliegenden Ausführungsbeispiel ist Teil der Steuerung 4, die den Roboter 1 steuert, jedoch sind die Ausführungsformen nicht darauf beschränkt. Eine arithmetische Prozessoreinheit, welche die mit den Kameras 61 und 62 aufgenommenen Bilder verarbeitet, kann getrennt von der Steuerung 4 vorgesehen sein.
  • Die Detektionseinheit 53 gemäß 2 implementiert einen Modellvergleich, bei dem die dreidimensionale Information bezüglich des Werkstückes W verglichen wird mit der dreidimensionalen Form, um so die Position und Orientierung des Werkstückes W zu ermitteln. Beim vorliegenden Ausführungsbeispiel sind die im Voraus erzeugten dreidimensionalen Formdaten 46 bezüglich des Werkstückes W in der Speichereinheit 42 abgespeichert. Beispielsweise können dreidimensionale Daten der Form, wie durch eine computergestützte Konstruktionseinrichtung (CAD) erzeugt, als dreidimensionale Formdaten 46 eingesetzt werden. Die Erzeugungseinheit 58 kann die Orientierung eines jeden der Werkstücke W auf Basis der dreidimensionalen Formdaten 46, wie durch die CAD-Einrichtung erzeugt, ermitteln.
  • Andererseits kann eine Bedienungsperson auch ein Distanzbild eines Werkstückes, welches in einer vorgegebenen Richtung aufgenommen wird, für die dreidimensionalen Formdaten 46 heranziehen. Die Bedienungsperson kann Distanzbilder eines aus mehreren Richtungen aufgenommenen Werkstückes als dreidimensionale Formdaten 46 verwenden, mit unterschiedlichen Formen des Werkstückes. Beispielsweise hat beim vorliegenden Ausführungsbeispiel das Werkstück W Zylinderform. Damit können ein Distanzbild aus einer Richtung senkrecht zur Achse des Werkstückes und ein Distanzbild des Werkstückes W in Axialrichtung für die dreidimensionalen Formdaten 46 herangezogen werden. Auch wenn die Richtung der Aufnahme des Werkstückes W nur geringfügig verschoben wird, kann die Detektionseinheit 53 solche Elemente von dreidimensionalen Formdaten 46 verwenden, um so die Position und Orientierung des Werkstückes W zu ermitteln.
  • Sind mehrere Typen von Werkstücken in den Behälter verteilt, erzeugt die Bedienungsperson für jeden Typ von Werkstück die dreidimensionalen Formdaten 46. Die Speichereinheit 42 kann die mehreren Typen dreidimensionaler Formdaten 46 abspeichern. Die Betriebseinstelleinheit 52 kann die Bestimmung für jeden Typ von Werkstück implementieren.
  • Die Betriebseinstelleinheit 52 enthält eine Auswahleinheit 59, welche ein Ziel-Werkstück auswählt, welches durch den Roboter 1 aufzunehmen ist. Die Auswahleinheit 59 wählt das Ziel-Werkstück W aus auf Basis der Positionen und Orientierungen der mit der Detektionseinheit 53 detektierten Werkstücke W. Die Auswahleinheit 59 kann eine jegliche passende Steuerung einsetzen zur Auswahl des Ziel-Werkstückes W. Beispielsweise kann das Werkstück W als Ziel-Werkstück W eingeteilt werden, welches dem Bereichssensor 6 am nächsten ist. Somit kann das Werkstück W mit der höchsten Position jeweils eines nach dem anderen ausgewählt werden. Unter einer bestimmten Bedingung kann das Werkstück W mit einer Tiefenposition ausgewählt werden. Beispielsweise kann die Auswahleinheit 59 ein Werkstück W auswählen, bei dem ein zu ergreifender Abschnitt weitgehend frei liegt, so dass dieser mit der Hand 2 leicht zu erfassen ist.
  • Die Auswahleinheit 59 kann prüfen, ob das Werkstück W mit der Hand 2 zu erfassen ist oder nicht. Beispielsweise kann das Anziehbauteil 2b der Hand 2 nicht in Kontakt bringbar sein mit dem Werkstück W, wenn das Werkstück W nahe an einer Wand des Behälters 9 liegt. In diesem Fall kann die Auswahleinheit 59 bestimmen, dass das Werkstück W nicht erfasst werden kann.
  • Die Auswahleinheit 59 berechnet eine Zielposition und eine Zielorientierung, bei welchen der Roboter 1 das Werkstück W erfassen kann, auf Basis der Position und der Orientierung des Ziel-Werkstückes W. Die Auswahleinheit 59 überträgt die Zielposition und die Zielorientierung des Roboters 1 an die Betriebssteuereinheit 43. Die Position und Orientierung des Roboters 1 werden in die Zielposition und in die Zielorientierung geändert. Das Werkstück W kann mit dem Anziehbauteil 2b der Hand 2 nach Aktivierung desselben erfasst werden, wenn der Roboter 1 die Zielposition und die Zielorientierung erreicht hat (der Begriff „Erfassen“ umfasst in dieser Beschreibung und in den Ansprüchen jede für eine Entnahme des Werkstückes geeignete Aktivität). Sodann ändert die Betriebssteuereinheit 43 die Position und Orientierung des Roboters 1 so, dass ein Betrieb zum Entnehmen des Werkstückes W implementiert wird.
  • Die Betriebseinstelleinheit 52 hat eine Bestimmungseinheit 55, welche einen Zustand prüft nach der Anhebung des Werkstückes W durch den Roboter 1. Die Bestimmungseinheit 55 prüft, ob das Werkstück W in einem gewünschten Zustand angehoben ist oder nicht. Erfasst der Roboter 1 das Werkstück W in einem gewünschten Zustand, überträgt die Bestimmungseinheit 55 einen Betriebsbefehl an die Betriebssteuereinheit 43 zum Überführen des Werkstückes in die Zielposition. Die Betriebssteuereinheit 43 steuert den Roboter 1 so, dass das Werkstück in die Zielposition gefördert wird.
  • Erfasst der Roboter 1 das Werkstück W nicht in dem gewünschten Zustand, überträgt die Bestimmungseinheit 55 einen Betriebsbefehl zum Rückführen des Werkstückes W, welches von der Hand 2 erfasst ist, in die ursprüngliche Lage vor dem Erfassen mit der Hand 2 an die Betriebssteuereinheit 43. Wird festgestellt, dass die Hand 2 das Werkstück W nicht erfasst hat, überträgt die Bestimmungseinheit 55 einen Betriebsbefehl zur Implementierung einer Steuerung zur Aufnahme eines Bildes des Werkstückes.
  • Nunmehr wird eine Steuerung durch die Bestimmungseinheit 55 zum Bestimmen des Zustandes, in dem das Werkstück erfasst ist, und eine Änderung des Betriebs des Roboters 1 entsprechend dem Zustand, in dem das Werkstück W erfasst ist, näher beschrieben.
  • 7 zeigt ein Beispiel für eine erste dreidimensionale Information, die durch eine Erzeugungseinheit erzeugt ist. 7 zeigt ein erstes Distanzbild 31, welches durch den Bereichssensor 6 aufgenommen ist, bevor der Roboter 1 angetrieben wird. Bei diesem Beispiel ist ein Distanzbild gezeigt, bei dem die Dichte entsprechend der Distanz vom Bereichssensor 6 variiert. In diesem Distanzbild wird ein Teil, das näher am Bereichssensor 6 liegt, mit geringerer Dichte (also heller) gezeigt. Das erste Distanzbild 31 enthält Bilder 72a, 72b und 72c einer Mehrzahl von Werkstücken und ein Bild 71 des Behälters.
  • Beim vorliegenden Ausführungsbeispiel nimmt der Bereichssensor 6 ein Bild des Werkstückes W auf, bevor der Roboter 1 einen Betrieb implementiert zum Ergreifen des Ziel-Werkstückes W. Die Erzeugungseinheit 58 erzeugt das erste Distanzbild 31 entsprechend einem Ausgang des Bereichssensors 6. Das erste Distanzbild 31 entspricht der ersten dreidimensionalen Information, die erzeugt wird auf Basis eines Ausgangs des Bereichssensors 6, welcher ein Bild des Werkstückes W aufgenommen hat. Die dreidimensionale Information gemäß diesem Ausführungsbeispiel enthält Informationen über Koordinatenwerte der Messpunkte MP.
  • Die Detektionseinheit 53 detektiert Position und Orientierung eines jeden Werkstückes W auf Basis des ersten Distanzbildes 31. Die Auswahleinheit 59 wählt das durch den Roboter aufzunehmende Werkstück W aus auf Basis der Positionen und Orientierungen der Werkstücke W. Die Betriebssteuereinheit 43 steuert den Roboter 1 so, dass das Ziel-Werkstück W erfasst wird. Die Betriebssteuereinheit 43 steuert den Roboter 1 so, dass ein Stopp eingelegt wird nach Implementierung eines Betriebs zum Anheben des Ziel-Werkstückes W. Zu diesem Zeitpunkt entnimmt der Roboter 1 das Ziel-Werkstück W aus dem Behälter 9 und bewegt es aus dem Bildaufnahmebereich 64 des Bereichssensors 6 heraus. Mit anderen Worten: Position und Orientierung des Roboters werden so geändert, dass der Roboter 1, die Hand 2 und das mit der Hand erfasste Werkstück W nicht mehr in dem Distanzbild, welches mit dem Bereichssensor 6 aufgenommen wird, enthalten sind. Der Roboter 1 ordnet das Werkstück W in der Nähe des Behälters 9 an anstelle es zur Zielstation zu fördern.
  • Bei diesem Beispiel ist das Ziel-Werkstück W das Werkstück entsprechend dem Bild 72a unter den Bildern 72a, 72b und 72c der mehreren Werkstücke. Weiterhin hebt bei diesem Beispiel der Roboter 1 nur das Ziel-Werkstück W an. Der Roboter 1 hebt also nicht irgendein anderes Werkstück W außer dem Ziel-Werkstück an.
  • Sodann nimmt der Bereichssensor 6 ein Bild der in dem Behälter 9 vorliegenden Werkstücke W auf, nachdem der Roboter 1 den Betrieb des Anhebens des Werkstückes W ausgeführt hat. Die Erzeugungseinheit 58 erzeugt ein zweites Distanzbild als zweite dreidimensionale Information auf Basis eines Ausgangs des Bereichssensors 6.
  • 8 zeigt ein Beispiel für ein Distanzbild nach der Ausführung des Betriebs des Anhebens des Ziel-Werkstückes. Im zweiten Distanzbild 32 ist das Bild 72a nicht mehr enthalten, weil das Werkstück W entsprechend dem Bild 72a gemäß 7 aus dem Behälter 9 entnommen worden ist.
  • Gemäß 2 enthält die Betriebseinstelleinheit 52 dieses Ausführungsbeispieles eine Löscheinheit 54, welche Informationen bezüglich zumindest eines Teils der Messpunkte in der dreidimensionalen Information löscht. Die Löscheinheit 54 vergleicht die Position des Messpunktes MP in der ersten dreidimensionalen Information mit der Position des Messpunktes MP in der zweiten dreidimensionalen Information. Die Löscheinheit 54 löscht als den spezifizierten Messpunkt denjenigen Messpunkt in der ersten dreidimensionalen Information, gegenüber dem der Messpunkt in der zweiten dreidimensionalen Information in einem vorgegebenen Distanzbereich liegt. Die Löscheinheit 54 erzeugt eine dritte dreidimensionale Information, in welcher die Information bezüglich des spezifizierten Messpunktes aus der ersten dreidimensionalen Information gelöscht ist.
  • 9 zeigt schematisch den Messpunkt in der ersten dreidimensionalen Information, die erzeugt ist, bevor das Werkstück erfasst ist, und die Messpunkte in der zweiten dreidimensionalen Information, die erzeugt sind nach dem Anheben des Werkstückes. Beim Beispiel gemäß 9 ist das Werkstück W dargestellt, welches verschieden ist vom Ziel-Werkstück. In dem Behälter 9 ist ein Werkstück dargestellt, bei dem die Position nach Anhebung des Ziel-Werkstückes umgeändert ist gegenüber der Position vor Anhebung des Ziel-Werkstückes.
  • Bewegen sich die in dem Behälter 9 verbleibenden Werkstücke nicht, wenn der Roboter 1 den Betrieb des Anhebens des Werkstückes W ausführt, bleiben die Positionen der Messpunkte MPa in der ersten dreidimensionalen Information passend zu den Positionen der Messpunkte MPb in der zweiten dreidimensionalen Information. Dabei können die Positionen der Messpunkte MPa sich geringfügig unterscheiden von den Positionen der Messpunkte MPb aufgrund eines Messfehlers oder dergleichen. Weiterhin beeinflussen geringfügige Bewegungen der in dem Behälter 9 verbleibenden Werkstücke aufgrund des Anhebens des Ziel-Werkstückes durch den Roboter 1 nicht den nächsten Schritt der Entnahme des nächsten Werkstückes.
  • Liegt der Messpunkt MPb in der zweiten dreidimensionalen Information in der Nähe des Messpunktes MPa in der ersten dreidimensionalen Information, setzt die Löscheinheit 54 gemäß diesem Ausführungsbeispiel den Messpunkt MPa als den spezifizierten Messpunkt. Sodann erzeugt die Löscheinheit 54 die dritte dreidimensionale Information, in welcher die Information bezüglich des spezifizierten Messpunktes von der ersten dreidimensionalen Information gelöscht ist.
  • Der Bestimmungsbereich bezüglich des Weglassens des in der ersten dreidimensionalen Information enthaltenen Messpunktes MPa wird im Voraus festgelegt. Beim vorliegenden Beispiel wird der Bestimmungsbereich in X-Achsenrichtung, Y-Achsenrichtung und Z-Achsenrichtung im Bezugskoordinatensystem festgelegt. Beim Beispiel nach 9 ist ein Bestimmungsbereich 67 bezüglich der X-Achsenrichtung und der Y-Achsenrichtung erläutert. Der Messpunkt MPb in der zweiten dreidimensionalen Information liegt im Bestimmungsbereich 67 in Bezug auf den Messpunkt MPa in der ersten dreidimensionalen Information. Somit bestimmt die Löscheinheit 54 den Messpunkt MPa als den spezifizierten Messpunkt. Die Löscheinheit 54 löscht den spezifizierten Messpunkt aus den ersten dreidimensionalen Informationen. Beispielsweise wird der Koordinatenwert des Messpunktes MPa im ersten Distanzbild 31 gelöscht. Auf diese Weise erzeugt die Löscheinheit 54 eine dritte dreidimensionale Information, in welcher der spezifizierte Messpunkt aus der ersten dreidimensionalen Information gelöscht ist.
  • Bei dem in 9 dargestellten Beispiel liegen die Messpunkte MPb der zweiten dreidimensionalen Information in der Nähe aller Messpunkte MPa der ersten dreidimensionalen Information. Somit ordnet die Löscheinheit 54 alle Messpunkte MPa als spezifizierte Messpunkte ein und löscht die Messpunkte MPa aus dem ersten Abstandsbild.
  • 10 zeigt ein Beispiel für ein drittes Abstandsbild, erzeugt durch die Löscheinheit. Gemäß den 7, 8 und 10 sind in dem dritten Abstandsbild 33, welches als dritte dreidimensionale Information dient, die Bilder 72b und 72c der Mehrzahl von Werkstücken, bei denen sich die Positionen und Orientierungen nicht geändert haben, aus dem ersten Abstandsbild 31 gelöscht. Beim dritten Abstandsbild 33 verbleibt das Bild 72a des Werkstückes, welches mit dem Roboter 1 aus dem Behälter 9 entnommen wurde.
  • Die Detektionseinheit 53 führt einen Modellvergleich aus, in dem das dritte Abstandsbild 33 und die dreidimensionalen Formdaten 46 miteinander verglichen werden, wobei die Position und die Orientierung des Werkstückes W entsprechend dem Bild 72a ermittelt werden.
  • Als nächstes prüft die Bestimmungseinheit 55, ob das mit der Detektionseinheit 53 detektierte Werkstück W zu dem Ziel-Werkstück W passt oder nicht. Die Bestimmungseinheit 55 gewinnt die Position und die Orientierung des Ziel-Werkstückes W von der Auswahleinheit 59. Die Bestimmungseinheit 55 ermittelt, dass das in dem dritten Abstandsbild 33 enthaltene Werkstück zum Ziel-Werkstück passt, wenn eine Differenz zwischen der Position und Orientierung des Werkstückes W im dritten Abstandsbild 33 und der Position und Orientierung des Ziel-Werkstückes innerhalb eines vorgegebenen Bereiches liegt. Prüft die Detektionseinheit 53 mehrere Werkstücke und ergibt sich dabei ein vom Ziel-Werkstück verschiedenes Werkstück, stellt die Bestimmungseinheit 55 fest, dass das in der dritten dreidimensionalen Information enthaltene Werkstück nicht zum Ziel-Werkstück passt.
  • Beim in 10 gezeigten Beispiel ermittelt die Bestimmungseinheit 55, dass das Ziel-Werkstück W entnommen worden ist. Sodann sendet die Bestimmungseinheit 55 einen Befehl zum Fördern des Werkstückes W, welches mit der Hand 2 erfasst ist, zum vorgegebenen Zielort an die Betriebssteuereinheit 43. Die Betriebssteuereinheit 43 steuert den Roboter 1 so, dass das Werkstück W, welches mit der Hand 2 erfasst ist, zum Zielort der Förderung gefördert wird.
  • Auf diese Weise kann in dem Robotersystem 5 gemäß dem vorliegenden Ausführungsbeispiel ermittelt werden, ob die Hand 2 das Ziel-Werkstück erfasst, durch den Vergleich zwischen der ersten dreidimensionalen Information vor dem Vorgang des Anhebens des Werkstückes und der zweiten dreidimensionalen Information nach dem Vorgang des Anhebens des Werkstückes.
  • Erfasst die Hand 2 ein einzelnes Werkstück W, das verschieden ist vom Ziel-Werkstück W, bei Ausführung des Vorgangs des Anhebens des Ziel-Werkstückes W durch den Roboter, verbleibt die Information über das vom Ziel-Werkstück W verschiedene Werkstück in der dritten dreidimensionalen Information. Die Detektionseinheit 53 ermittelt die Position und die Orientierung des vom Ziel-Werkstück verschiedenen Werkstückes. Die Bestimmungseinheit 55 ermittelt, dass das mit der Detektionseinheit 53 detektierte Werkstück verschieden vom Ziel-Werkstück ist. Es kann auch vorkommen, dass die Hand 2 das Ziel-Werkstück erfasst zusammen mit einem vom Ziel-Werkstück verschiedenen Werkstück. Mit anderen Worten: die Hand 2 kann zwei oder mehr Werkstücke W erfassen. In einem solchen Fall enthält die dritte dreidimensionale Information Informationen über mehrere Werkstücke W. Die Detektionseinheit 53 ermittelt die Positionen und Orientierungen der mehreren Werkstücke W. Die Bestimmungseinheit 55 erkennt, dass die mehreren Werkstücke W, die mit der Detektionseinheit 53 detektiert sind, nicht zum Ziel-Werkstück passen.
  • Erfasst die Hand 2 ein vom Ziel-Werkstück verschiedenes Werkstück oder erfasst sie zwei oder mehr Werkstücke, sendet die Bestimmungseinheit 55 einen Befehl zum Rückführen des Werkstückes (der Werkstücke) W, die von der Hand 2 erfasst sind, in die Nähe der ursprünglichen Position (Positionen) an die Betriebssteuereinheit 43. Die Betriebssteuereinheit 43 steuert den Roboter 1 so, dass das mit der Hand 2 erfasste Werkstück (oder die Werkstücke) in die Nähe ihrer Ausgangsposition (Positionen) rückgeführt werden. Mit anderen Worten: die Betriebssteuereinheit 43 führt eine Steuerung aus zur Rückführung des Werkstückes W in die Nähe der Position des Ziel-Werkstückes in der ersten dreidimensionalen Information.
  • Nachdem der Roboter 1 das Werkstück W in die Nähe der Ausgangsposition rückgeführt hat, wird die Steuerung für die Förderung des Werkstückes W implementiert, ausgehend vom Schritt der Aufnahme des Bildes des Werkstückes W. Insbesondere nimmt der Bereichssensor 6 ein Bild des Werkstückes W im Behälter 9 auf, die Detektionseinheit 53 ermittelt die Positionen und Orientierungen des Werkstückes W und die Auswahleinheit 59 wählt das nächste mit dem Roboter 1 zu entnehmende Ziel-Werkstück W aus. Sodann implementiert die Steuerung 4 den Steuervorgang ähnlich wie oben beschrieben, um das nächste Ziel-Werkstück W zu entnehmen.
  • Wird ein Werkstück W in den Behälter 9 rückgeführt, kann die Steuerung so ausgeführt werden, dass das Werkstück W, welches von der Hand 2 erfasst ist, zu einer Position rückgeführt wird, die verschieden ist von der Ausgangsposition. Allerdings kann eine solche Steuerung zur Folge haben, dass in dem Behälter 9 eine Überlastung stattfindet. Durch Steuerung der Rückführung des Werkstückes W, welches von der Hand 2 erfasst ist, so, dass sie in die Nähe der Ausgangsposition erfolgt, ist die Möglichkeit einer Überlastung im Ergebnis der Rückführung von Werkstücken W reduziert. Die Steuerung der Rückführung von Werkstücken W, die von der Hand 2 erfasst sind, zur Ausgangsposition kann implementiert sein.
  • Die Detektionseinheit 53 kann versagen bei der Detektion der Position und der Orientierung des Werkstückes W in der dritten dreidimensionalen Information. Mit anderen Worten: auch wenn der Modellvergleich, bei dem die dritte dreidimensionale Information und die dreidimensionalen Formdaten 46 miteinander verglichen werden, durchgeführt wird, kann es vorkommen, dass die Position und die Orientierung des Werkstückes W im dritten Abstandsbild 33 gemäß 10 nicht erkannt werden. Beispielsweise kann die Hand 2 beim Ergreifen des Werkstückes W versagen und dieses somit nicht erfassen. Wenn der Betrieb des Anhebens des Ziel-Werkstückes W mit dem Roboter 1 ausgeführt wird, können Störungen der Werkstücke W in dem Behälter 9 ausbleiben und somit die Positionen und Orientierungen aller Werkstücke W gleich bleiben. Auch kann der Betrag der Bewegung bezüglich der Position von Werkstücken W extrem klein sein und somit die Information über den Messpunkt durch die Löscheinheit 54 gelöscht werden. In einem solchen Fall enthält das dritte Abstandsbild 33 kein Bild des Werkstückes und somit kann die Detektionseinheit 53 kein Werkstück erkennen.
  • Die Bestimmungseinheit 55 kann die Anzahl der Messpunkte unter den Messpunkten in der ersten dreidimensionalen Information, die verschieden sind vom spezifizierten Messpunkt, detektieren. Die Bestimmungseinheit 55 kann feststellen, dass die Hand 2 das Werkstück W nicht erfasst, wenn die Anzahl der Messpunkte, die verschieden sind vom spezifizierten Messpunkt, kleiner ist als ein vorgegebener Bestimmungswert bezüglich eines Versagens bei der Erfassung. Mit anderen Worten: wenn fast alle der Messpunkte durch die Löscheinheit 54 gelöscht sind, kann die Bestimmungseinheit 55 feststellen, dass die Positionen und Orientierungen aller Werkstücke W in dem Behälter 9 sich nicht ändern. Ein kleiner Wert kann eingesetzt werden als Bestimmungswert bezüglich eines Versagens beim Erfassen des Werkstückes. Beispielsweise kann ein Wert eingesetzt werden kleiner als die untere Grenze für die Anzahl der Messpunkte, die für ein einziges Werkstück gesetzt werden.
  • Hat die Bestimmungseinheit 55 festgestellt, dass die Hand 2 kein Werkstück W erfasst, implementiert die Steuerung 4 eine Förderung des Werkstückes W, ausgehend von der Aufnahme eines Bildes des Werkstückes W. Mit anderen Worten: der Bereichssensor 6 nimmt ein Bild des in dem Behälter 9 angeordneten Werkstückes W auf, die Detektionseinheit 53 detektiert die Positionen und Orientierungen der Werkstücke W und die Auswahleinheit 59 wählt das mit dem Roboter 1 als nächstes zu entnehmende Ziel-Werkstück W aus. Sodann implementiert die Steuerung 4 einen ähnlichen Ablauf wie oben beschrieben, um das nächste Ziel-Werkstück W zu entnehmen.
  • Ist der Betrieb des Entnehmens des Werkstückes W mit dem Roboter 1 ausgeführt, kann es zu einem Einbruch (Verschiebungen) der Beladung kommen. Mit anderen Worten: die Positionen und Orientierungen der nicht mit dem Roboter 1 entnommenen Werkstücke W können sich ändern. Tritt ein solcher Einbruch auf, weicht die zweite dreidimensionale Information mit vielen Messpunkten deutlich ab von den Messpunkten in der ersten dreidimensionalen Information. Somit ist in der ersten dreidimensionalen Information die Anzahl der spezifizierten Messpunkte, die innerhalb einer vorgegebenen Distanz von den Messpunkten in der zweiten dreidimensionalen Information liegen, reduziert. Deshalb ist die Anzahl der spezifizierten Messpunkte in der ersten dreidimensionalen Information reduziert. Die Bestimmungseinheit 55 detektiert die Anzahl von Messpunkten unter den Messpunkten in der ersten dreidimensionalen Information, die verschieden sind von den spezifizierten Messpunkten, um zu ermitteln, ob der Einbruch aufgetreten ist oder nicht. Die Bestimmungseinheit 55 ermittelt, ob die Anzahl von Messpunkten, die verschieden sind von den spezifizierten Messpunkten, größer ist als ein vorgegebener Bestimmungswert bezüglich des Last-Einbruchs (Einbruchs der Beladung mit Werkstücken). Die Bestimmungseinheit 55 kann feststellen, dass der Last-Einbruch aufgetreten ist, wenn die Anzahl der von den spezifizierten Messpunkten verschiedenen Messpunkten größer ist als ein vorgegebener Wert bezüglich des Einbruchs. Ein Wert größer als der obere Grenzwert bezüglich der Anzahl von Messpunkten, die für ein einzelnes Werkstück gesetzt sind, kann als Bestimmungswert bezüglich des Einbruchs eingesetzt werden, als Beispiel.
  • Andererseits kann die Bestimmungseinheit 55 die Anzahl der Messpunkte in der zweiten dreidimensionalen Information berechnen, welche außerhalb des vorgegebenen Abstandsbereiches bezüglich der Messpunkte in der ersten dreidimensionalen Information liegen. Ist diese Anzahl von Messpunkten größer als der Bestimmungswert bezüglich des Einbruchs, kann die Bestimmungseinheit 55 feststellen, dass die Anzahl der Messpunkte unter den Messpunkten in der ersten dreidimensionalen Information, die verschieden sind von den spezifizierten Messpunkten, größer ist als der Bestimmungswert bezüglich des Einbruchs.
  • Wird festgestellt, dass die Anzahl der von den spezifizierten Messpunkten verschiedenen Messpunkte unter den Messpunkten in der ersten dreidimensionalen Information größer ist als der Bestimmungswert bezüglich eines Einbruchs, überträgt die Bestimmungseinheit 55 einen Befehl an die Betriebssteuereinheit 43 zur Rückführung des Werkstückes W, welches durch die Hand 2 erfasst ist, in die Nähe der Ausgangsposition. Die Betriebssteuereinheit 43 steuert den Roboter 1 so, dass das von der Hand 2 erfasste Werkstück W in die Nähe der Ausgangsposition rückgeführt wird, also eine Stelle, an der es sich befand, bevor es von der Hand 2 erfasst wurde.
  • Nachdem der Roboter 1 das Werkstück W in die ursprüngliche Ausgangsposition zurückgebracht hat, implementiert die Steuerung 4 die Steuerung zum Entnehmen eines Werkstückes W, beginnend mit der Aufnahme des Bildes des Werkstückes W. Mit anderen Worten: der Bereichssensor 6 nimmt ein Bild des im Container 9 befindlichen Werkstückes W auf, die Detektionseinheit 53 detektiert die Positionen und Orientierungen der Werkstücke W, und die Auswahleinheit 59 wählt das nächste Ziel-Werkstück W aus, welches mit dem Roboter 1 zu entnehmen ist. Sodann implementiert die Steuerung 4 das oben beschriebene Verfahren erneut zur Entnahme des nächsten Ziel-Werkstückes W.
  • Das Robotersystem 5 dieses Ausführungsbeispieles ermittelt einen Zustand, in dem das Werkstück W erfasst wird, wenn der Roboter 1 einen Betrieb zum Anheben des Werkstückes W implementiert. Der Roboter 1 kann entsprechend dem Zustand des Werkstückes W, welches zu erfassen ist, gesteuert werden. Damit kann das Robotersystem 5 eine kürzere Zykluszeit für die Förderung des Werkstückes W erreichen. Beispielsweise kann der Roboter 1 daran gehindert werden, den Betrieb der Förderung des Werkstückes W zur Zielstation in einem Zustand auszuführen, in dem das Werkstück W tatsächlich nicht erfasst ist. Weiterhin kann dann, wenn die Hand 2 ein Werkstück W erfasst, welches vom Ziel-Werkstück verschieden ist, oder das Ziel-Werkstück W und ein weiteres Werkstück W erfasst, verhindert werden, dass diese Werkstücke W zur Ziel-Station gefördert werden. Auch kann der Roboter 1 daran gehindert werden, einen Betrieb auszuführen zur Rückführung eines Werkstückes in die Ausgangsposition, nachdem ein vom Ziel-Werkstück verschiedenes Werkstück oder zwei oder mehr Werkstücke in die Ziel-Station überführt worden sind.
  • 11 zeigt eine erste Seitenansicht eines Teils der Hand in einem Robotersystem gemäß einem ersten Vergleichsbeispiel. Bei dem ersten Vergleichsbeispiel ist ein fotoelektrischer Sensor 85 vorgesehen, um zu ermitteln, ob die Hand 2 das Werkstück WC erfasst oder nicht. Der fotoelektrische Sensor 85 ist an der Hand 2 befestigt. Der fotoelektrische Sensor 85 emittiert Licht gemäß dem Pfeil 95. Es wird festgestellt, dass die Hand 2 das Werkstück WC erfasst, wenn der fotoelektrische Sensor 85 von der Oberfläche des Werkstückes WC reflektiertes Licht detektiert. Es wird festgestellt, dass die Hand 2 das Werkstück WC nicht erfasst hat, wenn der fotoelektrische Sensor 85 kein reflektiertes Licht detektiert.
  • 12 ist eine zweite Seitenansicht eines Teils einer Hand in einem Robotersystem gemäß dem ersten Vergleichsbeispiel. Die Hand 2 dieses Vergleichsbeispiels ist eine elektromagnetische Hand. Somit kann das Werkstück WC in jeglicher Orientierung erfasst werden. Gemäß 12 kann der fotoelektrische Sensor 85 reflektiertes Licht nicht empfangen, wenn das Werkstück WC in geneigter Lage erfasst wird. Deshalb könnte dann festgestellt werden, dass das Werkstück WC nicht erfasst ist, obwohl es tatsächlich erfasst ist. Das erste Vergleichsbeispiel hat ein Problem dahingehend, dass die Orientierung des fotoelektrischen Sensors 85 schwierig einzustellen ist, da er an der Hand 2 befestigt ist. Der fotoelektrische Sensor 85 kann dabei auch in einer Orientierung angeordnet sein, in welcher er in verschiedenen Stellungen erfasste Werkstücke WC nicht detektiert.
  • 13 ist eine erste Seitenansicht eines Teils einer Hand in einem Robotersystem gemäß einem zweiten Vergleichsbeispiel. Beim zweiten Vergleichsbeispiel ist ein fotoelektrischer Sensor 86 vorgesehen, um zu ermitteln, ob die Hand 2 ein Werkstück WC erfasst hat oder nicht. Der fotoelektrische Sensor 86 hat ein lichtemittierendes Element 86a und ein Lichtempfangselement 86b. Das lichtemittierende Element 86a und das Lichtempfangselement 86b können beispielsweise auf einer Basis abgestützt sein. Die Position und die Orientierung des Roboters 1 kann so gesteuert werden, dass das Werkstück WC zwischen dem lichtemittierenden Element 86a und dem Lichtempfangselement 86b angeordnet ist. Das lichtemittierende Element 86a emittiert Licht gemäß dem Pfeil 96. Es kann festgestellt werden, dass die Hand 2 das Werkstück WC erfasst, wenn das Lichtempfangselement 86b das Licht nicht empfängt.
  • 14 ist eine zweite Seitenansicht eines Teils der Hand in dem Robotersystem gemäß dem zweiten Vergleichsbeispiel. Gemäß 14 kann das vom lichtemittierenden Element 86a emittierte Licht das Lichtempfangselement 86b erreichten, auch wenn das Werkstück WC erfasst ist, aber in einer Orientierung, die verschieden ist von einer angestrebten Orientierung. Damit kann festgestellt werden, dass ein Werkstück WC nicht erfasst ist, obwohl es tatsächlich erfasst ist.
  • 15 ist eine dritte Seitenansicht eines Teils der Hand in dem Robotersystem gemäß dem zweiten Vergleichsbeispiel. Gemäß 15 kann die Hand 2 zwei oder mehr Werkstücke WC erfassen. In einem solchen Fall kann das von dem lichtemittierenden Element 86a emittierte Licht durch ein Werkstück WC blockiert sein. Allerdings ist mit dieser Steuerung ein Zustand nicht erfassbar, in dem mehrere Werkstücke WC erfasst sind. Wie die 11 und 12 zeigen, kann ein Zustand, bei dem mehrere Werkstücke WC erfasst sind, auch beim ersten Vergleichsbeispiel nicht detektiert werden.
  • Somit kann das Verfahren der Bestimmung des Zustandes, ob ein Werkstück erfasst ist, unter Verwendung eines fotoelektrischen Sensors versagen. Andererseits kann das Robotersystem 5 gemäß dem vorliegenden Ausführungsbeispiel der Erfindung genau den Zustand bestimmen, in dem ein Werkstück W mit der Hand 2 erfasst ist. Das Werkstück W kann detektiert werden unabhängig von seiner Orientierung, in der es durch die Hand 2 erfasst ist. Auch kann ein Zustand, in dem zwei oder mehr Werkstücke W erfasst sind, detektiert werden. Damit wird verhindert, dass der Roboter 1 in überflüssiger Weise betätigt wird.
  • Beim zweiten Vergleichsbeispiel kann das Werkstück detektiert werden durch Bewegung der Hand in mehrere Positionen und Orientierungen unter Berücksichtigung der möglichen mehreren Zustände des erfassten Werkstückes. Allerdings hat eine derartige Steuerung einen Nachteil in langen Zykluszeiten. Das Robotersystem 5 des vorliegenden Ausführungsbeispieles kann den Zustand der Erfassung des Werkstückes detektieren durch den Vergleich zwischen der ersten dreidimensionalen Information und der zweiten dreidimensionalen Information und somit kann der Zustand bezüglich der Erfassung des Werkstückes in sehr kurzer Zeit detektiert werden.
  • Auch verlangt das Robotersystem 5 des vorliegenden Ausführungsbeispieles keine Vorrichtungen zum Detektieren des Erfassungszustandes des Werkstückes, wie etwa einen fotoelektrischen Sensor. Das Robotersystem 5 kann den Erfassungszustand des Werkstückes detektieren unter Einsatz des Ausgangs eines dreidimensionalen Sensors zum Detektieren von Position und Orientierung des Werkstückes. Wie oben beschrieben, kann das Robotersystem 5 gemäß dem vorliegenden Ausführungsbeispiel genau sicherstellen, ob ein Zustand vorliegt, in dem das Werkstück W erfasst ist, und dies gelingt mit einem einfachen Aufbau.
  • 16 erläutert mit einem Flussdiagramm ein Verfahren zum Steuern des Robotersystems gemäß dem vorliegenden Ausführungsbeispiel. Die in 16 dargestellte Steuerung kann wiederholend implementiert werden.
  • Entsprechend den 2 und 16 implementiert in Schritt 100 die Betriebssteuereinheit 43 einen Schritt einer ersten Bildaufnahme zum Aufnehmen eines Bildes des Werkstückes W mit dem Bereichssensor 6. Die Erzeugungseinheit 58 implementiert einen ersten Erzeugungsschritt einschließlich der Einstellung von Messpunkten auf dem Werkstück W auf Basis eines Ausgangs des Bereichssensors 6 mit Erzeugung der ersten dreidimensionalen Information einschließlich der Koordinatenwerte der Messpunkte. Die Erzeugungseinheit 58 erzeugt die erste dreidimensionale Information auf Basis des Ausgangs des Bereichssensors 6, welcher das Bild des Werkstückes W aufgenommen hat, bevor der Roboter 1 mit dem Betrieb des Erfassens des Ziel-Werkstückes W beginnt.
  • In Schritt 101 implementiert die Detektionseinheit 53 einen ersten Detektionsschritt zum Detektieren der Positionen und Orientierungen der Werkstücke W unter Einsatz eines Modellvergleichs mit Vergleich der ersten dreidimensionalen Information des Werkstückes mit den vorgegebenen dreidimensionalen Formdaten 46 des Werkstückes W.
  • In Schritt 102 implementiert die Auswahleinheit 59 einen Auswahlschritt zum Auswählen eines Ziel-Werkstückes, welches mit dem Roboter 1 zu entnehmen ist, auf Basis der Positionen und Orientierungen des durch die Detektoreinheit 53 detektierten Werkstückes W.
  • In Schritt 103 implementiert die Betriebssteuereinheit 43 einen Betriebssteuerschritt zum Ändern von Position und Orientierung des Roboters 1. In diesem Betriebssteuerschritt implementiert der Roboter 1 einen Betrieb zum Ergreifen und Anheben des Ziel-Werkstückes W. Sodann stoppt der Roboter 1 in einem Zustand, in dem das Werkstück W in der Nähe des Behälters 9 angeordnet ist.
  • In Schritt 104 implementiert der Bereichssensor 6 einen zweiten Bildaufnahmeschritt zum Aufnehmen eines Bildes des Werkstückes W. Die Erzeugungseinheit 58 implementiert einen zweiten Erzeugungsschritt zum Erzeugen der zweiten dreidimensionalen Information auf Basis des Ausganges des Bereichssensors 6, welcher das Bild des Werkstückes W aufgenommen hat, nachdem der Roboter 1 das Ziel-Werkstück W angehoben hat.
  • In Schritt 105 implementiert die Löscheinheit 54 einen Löschschritt zum Löschen der Informationen über zumindest einen Teil der in der ersten dreidimensionalen Information enthaltenen Messpunkte. Die Löscheinheit 54 implementiert einen Schritt des Vergleichens der Positionen der Messpunkte in der ersten dreidimensionalen Information mit den Positionen der Messpunkte in den zweiten dreidimensionalen Informationen. Die Löscheinheit 54 ermittelt, ob die Messpunkte in der zweiten dreidimensionalen Information jeweils in Bezug auf die Messpunkte in der ersten dreidimensionalen Information innerhalb eines vorgegebenen Abstandsbereiches zueinander liegen. Die Löscheinheit 54 implementiert einen Schritt der Bestimmung, als spezifizierte Messpunkte, derjenigen Messpunkte in der ersten dreidimensionalen Information, zu denen die Messpunkte in der zweiten dreidimensionalen Information in dem vorgegebenen Abstandsbereich liegen. Die Löscheinheit implementiert einen Schritt der Erzeugung einer dritten dreidimensionalen Information, in welcher die Informationen über die Koordinatenwerte und dergleichen der spezifizierten Messpunkte von der ersten dreidimensionalen Information gelöscht sind.
  • In Schritt 106 implementiert die Detektoreinheit 53 einen zweiten Detektionsschritt der Ermittlung der Position und der Orientierung des Werkstückes, welches in der dritten dreidimensionalen Information nach dem Löschschritt enthalten ist. Die Detektoreinheit 53 implementiert einen Modellvergleich, in dem die dritte dreidimensionale Information über das Werkstück verglichen wird mit vorgegebenen dreidimensionalen Formdaten 46 des Werkstückes. Die Detektoreinheit 53 detektiert die Positionen und Orientierungen aller Werkstücke W in der dritten dreidimensionalen Information.
  • In Schritt 108 implementiert die Bestimmungseinheit 55 einen Bestimmungsschritt zum Bestimmen des Zustandes nach Anhebung des Werkstückes W durch den Roboter. In dem Bestimmungsschritt wird ermittelt, ob das in dem zweiten Detektionsschritt detektierte Werkstück W mit dem Ziel-Werkstück W übereinstimmt oder nicht. Dabei ermittelt die Bestimmungseinheit 55, ob das Ziel-Werkstück W entnommen wurde oder nicht. Wenn das entnommene Werkstück W nicht gemäß Schritt 108 zum Ziel-Werkstück W passt, geht die Steuerung zu Schritt 121. Beispielsweise geht die Steuerung zu Schritt 121, wenn das mit dem Roboter 1 angehobene Werkstück W verschieden ist vom Ziel-Werkstück W oder wenn zwei oder mehr Werkstücke W angehoben worden sind.
  • Wird ermittelt, dass nur das Ziel-Werkstück W in Schritt 108 entnommen wurde, geht das Verfahren zu Schritt 109. In Schritt 109 wird ein Betriebssteuerungsschritt implementiert. In diesem Betriebssteuerungsschritt steuert die Betriebssteuereinheit 43 den Roboter 1 so, dass das mit der Hand 2 erfasst Werkstück W zu der vorgegebenen Ziel-Station gefördert wird.
  • Sodann ermittelt in Schritt 110 die Bestimmungseinheit 55, ob eine vorgegebene Anzahl von Werkstücken entnommen ist oder nicht. Mit anderen Worten: es wird ermittelt, ob die Menge an entnommenen Werkstücken einen Bestimmungswert für diese Menge erreicht hat oder nicht. Dieser Bestimmungswert bezüglich der Menge kann zuvor durch eine Bedienungsperson eingestellt werden. Beispielsweise kann die Bedienungsperson eine kleine Menge einstellen, wie etwa fünf, bezüglich des Bestimmungswertes. Andererseits kann die Bedienungsperson auch die Menge entsprechend aller Werkstücke W einstellen, die in dem Behälter 9 aufgenommen sind.
  • Ist die vorgegebene Menge an Werkstücken W gemäß Schritt 110 entnommen, ist die Steuerung beendet. Ist gemäß Schritt 110 die vorgegebene Menge an Werkstücken W nicht entnommen, geht die Steuerung zu Schritt 111. In Schritt 111 stellt die Erzeugungseinheit 58 die momentane zweite dreidimensionale Information als die erste dreidimensionale Information ein. Mit anderen Worten: die dreidimensionale Information im Ergebnis der Entnahme der Werkstücke W wird als die erste dreidimensionale Information gesetzt. Bei dieser Steuerung wird nur das Ziel-Werkstück in Schritt 108 ermittelt. Es kann festgestellt werden, dass ein Ladungs-Einbruch (ein Verschwinden) bezüglich der Werkstücke W, die im Behälter 9 verbleiben, nicht auftritt. Somit kann die zweite dreidimensionale Information, die erzeugt ist nach Entnahme des Ziel-Werkstückes W, als die erste dreidimensionale Information verwendet werden.
  • Sodann geht die Steuerung zu Schritt 101 und es wird die Entnahme des Werkstückes W implementiert. In Schritt 101 ermittelt die Detektoreinheit 53 die Positionen und Orientierungen der Werkstücke W auf Basis der ersten dreidimensionalen Information. In Schritt 102 wählt die Auswahleinheit 59 das nächste Ziel-Werkstück W. Bei dieser Steuerung wird Schritt 100 weggelassen. Der Schritt der Gewinnung der dreidimensionalen Information durch Aufnahme eines Bildes des Werkstückes mit einer dreidimensionalen Kamera kann weggelassen werden. Damit kann die Zykluszeit verkürzt werden.
  • Passt das mit dem Roboter 1 entnommene Werkstück W nicht zum Ziel-Werkstück W gemäß Schritt 108, geht die Steuerung zu Schritt 121. In Schritt 121 implementiert die Bestimmungseinheit 55 einen Ermittlungsschritt zum Ermitteln, ob ein einziges Werkstück detektiert ist oder nicht. Die Bestimmungseinheit 55 ermittelt, ob die Hand 2 ein einziges Werkstück erfasst hat, welches verschieden ist vom Ziel-Werkstück. Die Bestimmungseinheit 55 ermittelt, ob die dritte dreidimensionale Information zwei Werkstücke beinhaltet. Mit anderen Worten: es wird geprüft, ob die Hand 2 zwei Werkstücke ergriffen hat oder nicht. Werden in Schritt 121 ein oder zwei Werkstücke ermittelt, geht das Verfahren zu Schritt 124.
  • In Schritt 121 kann festgestellt werden, ob zwei oder mehr Werkstücke detektiert wurden anstelle einer Bestimmung, ob zwei Werkstücke detektiert wurden.
  • In Schritt 124 sendet die Bestimmungseinheit 55 einen Befehl zur Rückführung des mit der Hand 2 erfassten Werkstückes W in die Nähe der Ausgangsposition, wo sich das Werkstück W befunden hat, bevor es mit der Hand 2 erfasst wurde, an die Betriebssteuereinheit 43. Die Betriebssteuereinheit 43 steuert den Roboter 1 so, dass das Werkstück W in die Nähe der Ausgangsposition rückgeführt wird. Sodann geht das Verfahren zu Schritt 100. Nachdem der Roboter 1 das Werkstück W in die Nähe der Ausgangsposition rückgeführt hat, wird das Verfahren zur Entnahme eines Werkstückes implementiert, ausgehend vom ersten Schritt der Bildaufnahme. In Schritt 100 implementiert der Bereichssensor 6 eine Bildaufnahme zur Gewinnung eines Bildes eines Werkstückes W. In Schritt 102 wird der Detektionsschritt zum Detektieren der Positionen und Orientierungen der Werkstücke implementiert. In Schritt 103 wird der Auswahlschritt zum Auswählen des nächsten Ziel-Werkstückes W, welches mit dem Roboter zu entnehmen ist, implementiert. Sodann erfolgt die Steuerung weiter ähnlich wie oben beschrieben.
  • Werden in Schritt 121 nicht ein oder zwei Werkstücke detektiert, geht die Steuerung zu Schritt 122. In Schritt 122 implementiert die Bestimmungseinheit 55 einen Ermittlungsschritt zum Ermitteln, ob ein Ladungs-Einbruch aufgetreten ist. Bei diesem Ermittlungsschritt wird ermittelt, ob die Anzahl der Messpunkte in der ersten dreidimensionalen Information, die verschieden sind von den spezifizierten Messpunkten, größer ist als ein Bestimmungswert bezüglich eines Ladungs-Einbruches. Die Bestimmungseinheit 55 stellt fest, dass ein Ladungs-Einbruch aufgetreten ist, wenn die Anzahl der Messpunkte, die von den spezifizierten Messpunkten verschieden sind, größer ist als der Bestimmungswert bezüglich des Ladungs-Einbruches. In diesem Fall geht die Steuerung zu Schritt 124.
  • In Schritt 122 kann die Bestimmungseinheit 55 feststellen, dass ein Ladungs-Einbruch nicht aufgetreten ist, wenn die Anzahl der von dem spezifizierten Messpunkt verschiedenen Messpunkte gleich oder kleiner ist als der Bestimmungswert bezüglich des Ladungs-Einbruches. In diesem Fall geht die Steuerung zu Schritt 123.
  • In Schritt 123 ermittelt die Bestimmungseinheit 55, ob die Hand 2 beim Erfassen eines Werkstückes W versagt hat oder nicht. Die Bestimmungseinheit 55 implementiert einen Ermittlungsschritt zum Ermitteln, ob die Anzahl der Messpunkte in der ersten dreidimensionalen Information, welche verschieden sind vom spezifizierten Messpunkt, kleiner ist als ein Bestimmungswert bezüglich des Versagens beim Erfassen eines Werkstückes. Die Bestimmungseinheit 55 stellt fest, dass die Hand 2 beim Erfassen eines Werkstückes W versagt hat, wenn die Anzahl der von dem spezifizierten Messpunkt verschiedenen Messpunkte kleiner ist als der Bestimmungswert bezüglich des Versagens beim Erfassen. In diesem Fall geht die Steuerung zurück zu Schritt 100. Die Steuerung wird dann wieder implementiert, ausgehend von der ersten Bildaufnahme des Werkstückes W. Wird in Schritt 123 festgestellt, dass die Hand 2 erfolgreich das Werkstück W erfasst hat, geht die Steuerung zu Schritt 124.
  • Mit der in 16 dargestellten Steuerung wird die Entnahme von Werkstücken implementiert, bis eine vorgegebene Anzahl von Werkstücken entsprechend Schritt 110 entnommen worden ist, jedoch ist das Ausführungsbeispiel nicht darauf beschränkt. Die Steuerung kann beendet werden, wenn alle Werkstücke W aus dem Behälter 9 entnommen sind. Beispielsweise kann die Steuerung beendet werden, wenn in Schritt 101 ermittelt wird, dass kein Werkstück sich in dem Behälter befindet.
  • Der dreidimensionale Sensor des vorliegenden Ausführungsbeispieles hat zwei zweidimensionale Kameras, jedoch ist die Ausführung nicht darauf beschränkt. Der dreidimensionale Sensor kann drei oder mehr zweidimensionale Kameras aufweisen. Bei Einsatz einer solchen Konfiguration mit drei oder mehr Kameras für den dreidimensionalen Sensor kann die dreidimensionale Information auch erzeugt werden, wenn die Bilder teilweise unklar sind aufgrund von Störungen oder dergleichen auf Basis von mit den anderen Kameras aufgenommenen Bildern. Der dreidimensionale Sensor gemäß dem beschriebenen Ausführungsbeispiel hat den Projektor, jedoch muss dieser nicht vorgesehen sein. Der dreidimensionale Sensor kann einen jeglichen geeigneten Sensor aufweisen, der Informationen gewinnen kann über eine Distanz zu einem Werkstück. Beispielsweise kann der dreidimensionale Sensor eine Flugzeitkamera (TOF-Kamera) sein, welche ein Distanzbild mit einem Flugzeitverfahren gewinnt.
  • Der Bereichssensor 6 des beschriebenen Ausführungsbeispieles ist an einer Abstützung 83 montiert, jedoch ist die Ausführung nicht darauf beschränkt; die Anordnung muss nur so sein, dass Bilder der Werkstücke aufgenommen werden können. Beispielsweise kann der Bereichssensor am Gelenk des Roboters befestigt sein oder integral mit dem Gelenk ausgeführt sein.
  • Die Hand 2 des beschriebenen Ausführungsbeispieles arbeitet magnetisch, jedoch ist die Ausführung nicht darauf beschränkt. Jedes betätigbare Werkzeug zum Erfassen oder Ergreifen und zum Freigeben eines Werkstückes kann für die Hand eingesetzt werden. Beispielsweise kann eine Hand mit einer Mehrzahl von Greifern eingesetzt werden, wobei ein Werkstück mit den Greifern eingeklemmt wird, oder auch eine Hand, welche ein Werkstück mit einem Saugnapf durch Ansaugen erfasst oder Ähnliches.
  • Mit dem Robotersystem und dem Steuerverfahren für ein Robotersystem gemäß der vorliegenden Beschreibung kann der Zustand, in dem eine Hand ein Werkstück erfasst, genau geprüft werden bei Entnahme von in loser Schüttung vorliegenden Werkstücken.
  • Bei den oben beschriebenen Steuerungen kann die Abfolge der Schritte in geeigneter Weise geändert werden, wenn dadurch die Funktionalität und der Betrieb nicht beeinträchtigt werden.
  • Die oben beschriebenen Ausführungsbeispiele können passend kombiniert werden. Gleiche oder gleich wirkende Teile tragen gleiche Bezugszeichen in den Zeichnungen. Die oben beschriebenen Ausführungsbeispiele sind nur beispielhaft und dienen nicht zur Abgrenzung der Erfindung. Die Ausführung kann auch im Rahmen der Ansprüche abgeändert werden.

Claims (8)

  1. Robotersystem (5) zum Entnehmen von Werkstücken (W), die in loser Schüttung in einem Behälter (9) vorliegen, wobei das Robotersystem aufweist: eine Hand (2), zum Ergreifen eines Werkstückes, einen Roboter (1), welcher die Hand bewegt, einen dreidimensionalen Sensor (6), welcher Informationen gewinnt über Abstände zu den Werkstücken, und eine Steuerung (4), welche die Hand und den Roboter steuert, wobei die Steuerung enthält: eine Betriebssteuereinheit (43), welche Betriebsbefehle bezüglich der Hand und des Roboters sendet; eine Erzeugungseinheit (58), welche dreidimensionale Information erzeugt einschließlich Informationen über Positionen von Messpunkten (MP, MPa, MPb), die auf die Werkstücke eingestellt sind auf Basis eines Ausgangs des dreidimensionalen Sensors; eine Speichereinheit (42), welche dreidimensionale Formdaten (46) des Werkstückes speichert; eine Detektoreinheit (53), welche Positionen und Orientierungen der Werkstücke detektiert durch Implementierung eines Modellvergleichs, bei dem die dreidimensionale Information bezüglich des Werkstückes verglichen wird mit den dreidimensionalen Formdaten; eine Auswahleinheit (59), welche ein Ziel-Werkstück auswählt, welches mit dem Roboter zu entnehmen ist, auf Basis der Positionen und Orientierungen der Werkstücke; eine Löscheinheit (54), welche Informationen über zumindest einen Teil der Messpunkte in der dreidimensionalen Information löscht; und eine Bestimmungseinheit (55), welche einen Zustand ermittelt nach Implementation eines Betriebs zum Anheben des Werkstückes durch den Roboter, wobei die Erzeugungseinheit eine erste dreidimensionale Information (31) erzeugt auf Basis eines Ausgangs des dreidimensionalen Sensors, welcher ein Bild der Werkstücke aufgenommen hat, bevor der Roboter das Ziel-Werkstück erfasst hat, die Betriebssteuereinheit den Roboter so steuert, dass nach Implementierung eines Betriebs zum Erfassen und Anheben des Ziel-Werkstückes gemäß Auswahl auf Basis der ersten dreidimensionalen Information ein Stopp eingelegt wird, die Erzeugungseinheit eine zweite dreidimensionale Information (32) erzeugt auf Basis eines Ausgangs des dreidimensionalen Sensors, welcher ein Bild des Werkstückes aufgenommen hat nach Implementierung des Betriebs zum Anheben des Ziel-Werkstückes durch den Roboter, die Löscheinheit eine Position des Messpunktes (MPa) in der ersten dreidimensionalen Information mit einer Position des Messpunktes (MPb) in der zweiten dreidimensionalen Information vergleicht, als spezifizierten Messpunkt den Messpunkt in der ersten dreidimensionalen Information detektiert, gegenüber dem der Messpunkt in der zweiten dreidimensionalen Information innerhalb eines vorgegebenen Abstandsbereiches liegt, und dritte dreidimensionale Information (33) erzeugt, in welcher Informationen über den spezifizierten Messpunkt aus der ersten dreidimensionalen Information gelöscht ist, die Detektoreinheit eine Position und Orientierung eines Werkstückes in der dritten dreidimensionalen Information detektiert, die Bestimmungseinheit ermittelt, ob das in der dritten dreidimensionalen Information enthaltene Werkstück mit dem Ziel-Werkstück übereinstimmt, und wobei dann, wenn das in der dritten dreidimensionalen Information enthaltene Werkstück mit dem Ziel-Werkstück übereinstimmt, die Betriebssteuereinheit den Roboter so steuert, dass das mit der Hand erfasste Werkstück zu einer vorgegebenen Ziel-Station befördert wird.
  2. Robotersystem gemäß Anspruch 1, wobei die Betriebssteuereinheit den Roboter so steuert, dass das mit der Hand erfasste Werkstück rückgeführt wird in die Nähe der Ausgangsposition des Werkstückes vor der Erfassung durch die Hand, wenn die Bestimmungseinheit feststellt, dass das in der dritten dreidimensionalen Information enthaltene Werkstück verschieden ist von dem Ziel-Werkstück oder dass zwei oder mehr Werkstücke in der dritten dreidimensionalen Information enthalten sind, und nach Rückführung des Werkstückes in die Nähe der Ausgangsposition durch den Roboter der dreidimensionale Sensor ein Bild der in dem Behälter vorliegenden Werkstücke aufnimmt, die Detektoreinheit Positionen und Orientierungen der Werkstücke detektiert und die Auswahleinheit das nächste Ziel-Werkstück auswählt, welches mit dem Roboter zu entnehmen ist.
  3. Robotersystem gemäß einem der Ansprüche 1 oder 2, wobei die Bestimmungseinheit ermittelt, ob die Anzahl der Messpunkte in der ersten dreidimensionalen Information, die verschieden sind von spezifizierten Messpunkten, größer ist als ein vorgegebener Bestimmungswert bezüglich eines Ladungs-Einbruches, dann, wenn die Bestimmungseinheit feststellt, dass die Anzahl der von spezifizierten Messpunkten verschiedenen Messpunkte größer ist als der Bestimmungswert bezüglich eines Ladungs-Einbruchs, die Betriebssteuereinheit den Roboter so steuert, dass das mit der Hand erfasste Werkstück rückgeführt wird in die Nähe der Ausgangsposition des Werkstückes vor dessen Erfassung durch die Hand, und der Roboter das Werkstück in die Nähe der Ausgangsposition rückführt, der dreidimensionale Sensor ein Bild der Werkstücke in dem Behälter aufnimmt, die Detektoreinheit Positionen und Orientierungen der Werkstücke detektiert und die Auswahleinheit das nächste Ziel-Werkstück auswählt, welches mit dem Roboter zu entnehmen ist.
  4. Robotersystem gemäß einem der Ansprüche 1 bis 3, wobei die Bestimmungseinheit ermittelt, ob die Anzahl der Messpunkte in der ersten dreidimensionalen Information, die verschieden sind von spezifizierten Messpunkten, kleiner ist als ein vorgegebener Bestimmungswert bezüglich eines Versagens bei der Erfassung oder nicht, und dann, wenn die Bestimmungseinheit feststellt, dass die Anzahl der von den spezifizierten Messpunkten verschiedenen Messpunkte kleiner ist als der Bestimmungswert bezüglich eines Versagens bei der Erfassung, der dreidimensionale Sensor ein Bild der Werkstücke in dem Behälter aufnimmt, die Detektoreinheit Positionen und Orientierungen der Werkstücke detektiert und die Auswahleinheit das nächste Ziel-Werkstück auswählt, welches mit dem Roboter zu entnehmen ist.
  5. Steuerverfahren für ein Robotersystem (5), welches einen Roboter (1) und eine Hand (2) aufweist, und Werkstücke (W) entnimmt, die in loser Schüttung in einem Behälter (9) vorliegen, wobei das Verfahren aufweist: einen Betriebssteuerschritt des Änderns einer Position und Orientierung des Roboters; einen Bildaufnahmeschritt zum Aufnehmen eines Bildes der Werkstücke mit einem dreidimensionalen Sensor (6), welcher Informationen gewinnt über Abstände zu den Werkstücken; einen Erzeugungsschritt zum Erzeugen dreidimensionaler Information einschließlich Informationen von Messpunkten (MP, MPa, MPb), die bezüglich der Werkstücke gesetzt sind auf Basis eines Ausgangs des dreidimensionalen Sensors; einen Detektionsschritt der Detektion der Positionen und Orientierungen der Werkstücke mittels eines Modellvergleichs, bei dem die dreidimensionale Information über die Werkstücke verglichen wird mit dreidimensionalen Formdaten (46) bezüglich des Werkstückes; einen Auswahlschritt der Auswahl eines Ziel-Werkstückes, welches mit dem Roboter zu entnehmen ist, auf Basis der Positionen und Orientierungen der Werkstücke; einen Löschschritt des Löschens von Informationen bezüglich zumindest eines Teils der Messpunkte in der dreidimensionalen Information; und einen Bestimmungsschritt der Ermittlung eines Zustandes, nachdem der Roboter einen Betrieb des Anhebens des Werkstückes implementiert hat, wobei der Erzeugungsschritt die Erzeugung einer ersten dreidimensionalen Information (31) beinhaltet auf Basis eines Ausgangs vom dreidimensionalen Sensor, welcher ein Bild des Werkstückes aufgenommen hat, bevor der Roboter einen Betrieb des Erfassens des Ziel-Werkstückes implementiert hat, der Betriebssteuerschritt einen Schritt beinhaltet der Steuerung des Roboters so, dass nach Implementierung des Betriebs zum Erfassen und Anheben des Ziel-Werkstückes gemäß Auswahl auf Basis der ersten dreidimensionalen Information ein Stopp eingelegt wird, der Erzeugungsschritt die Erzeugung einer zweiten dreidimensionalen Information (32) beinhaltet auf Basis eines Ausgangs des dreidimensionalen Sensors, welcher ein Bild der Werkstücke aufgenommen hat, nachdem der Roboter den Betrieb des Anhebens des Ziel-Werkstückes implementiert hat, der Löschschritt einen Schritt beinhaltet des Vergleichens einer Position des Messpunktes (MPa) in der ersten dreidimensionalen Information mit einer Position des Messpunktes (MPb) in der zweiten dreidimensionalen Information, weiterhin einen Schritt des Detektierens als spezifizierten Messpunkt desjenigen Messpunktes in der ersten dreidimensionalen Information, gegenüber dem der Messpunkt in der zweiten dreidimensionalen Information in einem vorgegebenen Abstandsbereich liegt, und einen Schritt der Erzeugung einer dritten dreidimensionalen Information, in welcher Informationen über den spezifizierten Messpunkt aus der ersten dreidimensionalen Information gelöscht sind, der Detektionsschritt einen Schritt beinhaltet der Detektion einer Position und Orientierung eines Werkstückes in der dritten dreidimensionalen Information (33), der Bestimmungsschritt einen Schritt beinhaltet der Ermittlung, ob das in der dritten dreidimensionalen Information enthaltene Werkstück zum Ziel-Werkstück passt, und der Betriebssteuerschritt einen Schritt beinhaltet der Steuerung des Roboters so, dass dann, wenn das in der dritten dreidimensionalen Information enthaltene Werkstück zum Ziel-Werkstück passt, der Roboter das mit der Hand erfasste Werkstück zu einer vorgegebenen Ziel-Station fördert.
  6. Steuerverfahren für ein Robotersystem gemäß Anspruch 5, wobei der Roboter gesteuert wird für eine Rückführung des mit der Hand erfassten Werkstückes in die Nähe der Ausgangsposition des Werkstückes vor Erfassung durch die Hand, wenn im Bestimmungsschritt festgestellt wird, dass das in der dritten dreidimensionalen Information enthaltene Werkstück verschieden ist vom Ziel-Werkstück oder dass zwei oder mehr Werkstücke in der dritten dreidimensionalen Information enthalten sind, und nach Rückführung des Werkstückes durch den Roboter in die Nähe der Ausgangsposition ein Bildaufnahmeschritt ausgeführt wird zum Aufnehmen eines Bildes der Werkstücke in dem Behälter mit dem dreidimensionalen Sensor, ein Detektionsschritt zum Detektieren von Positionen und Orientierungen der Werkstücke ausgeführt wird und ein Auswahlschritt der Auswahl des nächsten Ziel-Werkstückes ausgeführt wird, welches mit dem Roboter zu entnehmen ist.
  7. Steuerverfahren für ein Robotersystem gemäß einem der Ansprüche 5 oder 6, wobei der Bestimmungsschritt eine Ermittlung enthält, ob die Anzahl der Messpunkte in der ersten dreidimensionalen Information, die verschieden sind von den spezifizierten Messpunkten, größer ist als ein vorgegebener Bestimmungswert bezüglich eines Ladungs-Einbruchs, dann, wenn ermittelt wird, dass die Anzahl der von den spezifizierten Messpunkten verschiedenen Messpunkte größer ist als der Bestimmungswert bezüglich des Ladungs-Einbruchs, der Roboter so gesteuert wird, dass das mit der Hand erfasste Werkstück rückgeführt wird in die Nähe der Ausgangsposition des Werkstückes vor Erfassung mit der Hand, und nach Rückführung des Werkstückes durch den Roboter in die Nähe der Ausgangsposition ein Bildaufnahmeschritt ausgeführt wird zur Aufnahme eines Bildes der Werkstücke in dem Behälter mit dem dreidimensionalen Sensor, ein Detektionsschritt ausgeführt wird zum Detektieren von Positionen und Orientierungen der Werkstücke, und ein Auswahlschritt ausgeführt wird zur Auswahl des nächsten Ziel-Werkstückes, welches mit dem Roboter zu entnehmen ist.
  8. Steuerverfahren für ein Robotersystem gemäß einem der Ansprüche 5 bis 7, wobei der Bestimmungsschritt eine Bestimmung enthält, ob die Anzahl der von den spezifizierten Messpunkten verschiedenen Messpunkte in der ersten dreidimensionalen Information kleiner ist als ein vorgegebener Bestimmungswert bezüglich eines Versagens beim Erfassen, und dann, wenn festgestellt wird, dass die Anzahl der von den spezifizierten Messpunkten verschiedenen Messpunkte kleiner ist als der Bestimmungswert bezüglich eines Ausfalls beim Erfassen, ein Bildaufnahmeschritt durchgeführt wird zur Aufnahme eines Bildes der Werkstücke in dem Behälter mit dem dreidimensionalen Sensor, ein Detektionsschritt ausgeführt wird zum Detektieren von Positionen und Orientierungen der Werkstücke, und ein Auswahlschritt ausgeführt wird zur Auswahl des nächsten Ziel-Werkstückes, welches mit dem Roboter zu entnehmen ist.
DE102019003334.5A 2018-05-18 2019-05-10 Robotersystem und Steuerverfahren für ein Robotersystem zum Entnehmen von Werkstücken aus loser Schüttung Active DE102019003334B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018096446A JP6725587B2 (ja) 2018-05-18 2018-05-18 バラ積みされたワークを取り出すロボットシステムおよびロボットシステムの制御方法
JP2018-096446 2018-05-18

Publications (2)

Publication Number Publication Date
DE102019003334A1 DE102019003334A1 (de) 2019-11-21
DE102019003334B4 true DE102019003334B4 (de) 2022-04-28

Family

ID=68419282

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019003334.5A Active DE102019003334B4 (de) 2018-05-18 2019-05-10 Robotersystem und Steuerverfahren für ein Robotersystem zum Entnehmen von Werkstücken aus loser Schüttung

Country Status (4)

Country Link
US (1) US11027433B2 (de)
JP (1) JP6725587B2 (de)
CN (1) CN110497402B (de)
DE (1) DE102019003334B4 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019140699A1 (en) * 2018-01-22 2019-07-25 SZ DJI Technology Co., Ltd. Methods and system for multi-target tracking
WO2019239563A1 (ja) * 2018-06-14 2019-12-19 ヤマハ発動機株式会社 ロボットシステム
US11407111B2 (en) * 2018-06-27 2022-08-09 Abb Schweiz Ag Method and system to generate a 3D model for a robot scene
JP7171294B2 (ja) * 2018-07-31 2022-11-15 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP7183941B2 (ja) * 2019-05-09 2022-12-06 トヨタ自動車株式会社 ワーク識別方法
KR20220115945A (ko) 2019-12-16 2022-08-19 고쿠리츠다이가쿠호진 도호쿠다이가쿠 파지 장치, 제어 방법 및 프로그램
DE102019135452B4 (de) * 2019-12-20 2022-03-31 IGZ Ingenieurgesellschaft für logistische Informationssysteme mbH Vollautomatisches Roboter-Kommissioniersystem und Kommissionierverfahren mit Sensoranordnung zum Vermessen eines entnommenen Artikels im Rahmen des Anhebevorgangs
TW202233370A (zh) 2021-02-18 2022-09-01 日商發那科股份有限公司 機器人系統及控制裝置
CN112894825A (zh) * 2021-02-23 2021-06-04 中科(深圳)智慧信息科技有限公司 一种工业机器人视觉识别控制系统及方法
CN117425549A (zh) * 2021-06-17 2024-01-19 发那科株式会社 工件取出个数计算装置、机械手系统以及显示装置
CN114193440B (zh) * 2022-01-04 2023-09-12 中船重工鹏力(南京)智能装备系统有限公司 基于3d视觉的机器人自动抓取系统及方法
CN115165737A (zh) * 2022-06-24 2022-10-11 群策精密金属(苏州)有限公司 一种视觉检测装置及其检测方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010069542A (ja) 2008-09-16 2010-04-02 Ihi Corp バラ積みピッキング装置におけるワークピッキング方法
JP2010120141A (ja) 2008-11-21 2010-06-03 Ihi Corp バラ積みピッキング装置とその制御方法
DE102011108169B4 (de) 2010-07-27 2013-07-11 Fanuc Corporation Werkstückentnahmevorrichtung und Verfahren
DE102013109220A1 (de) 2012-08-29 2014-03-06 Fanuc Corporation Roboter-Vorrichtung und Verfahren zum Herausnehmen von Bulkware aus einem Lager
DE102014016033A1 (de) 2013-11-05 2015-05-07 Fanuc Corporation Vorrichtung und Verfahren zum Aufnehmen von regellos verteilten Gegenständen mit einem Roboter
DE102014016069A1 (de) 2013-11-05 2015-05-07 Fanuc Corporation Vorrichtung und Verfahren zum Aufnehmen eines Gegenstandes im 3- dimensionalen Raum mit einem Roboter
JP2015171749A (ja) 2014-03-12 2015-10-01 ファナック株式会社 バラ積みされたワークを取り出すロボットシステム及びワークの把持状態を判定する判定方法
US20160279809A1 (en) 2015-03-27 2016-09-29 Canon Kabushiki Kaisha Information processing apparatus, and information processing method
JP2017064817A (ja) 2015-09-28 2017-04-06 株式会社富士通アドバンストエンジニアリング ピッキング装置及び復旧プログラム
US20180085923A1 (en) 2016-09-29 2018-03-29 Seiko Epson Corporation Robot control device, robot, and robot system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3930490B2 (ja) 2004-04-23 2007-06-13 ファナック株式会社 物品取出し装置
EP2540456A1 (de) * 2009-08-27 2013-01-02 ABB Research Ltd. Robotisches Aufgreifen von Teilen aus einem Teilebehälter
JP2012240166A (ja) * 2011-05-20 2012-12-10 Fanuc Ltd ビジョンセンサ及び吸引装置を備えた吸着搬送装置
JP5642738B2 (ja) 2012-07-26 2014-12-17 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
JP5698789B2 (ja) * 2013-04-18 2015-04-08 ファナック株式会社 ワークを搬送するロボットの制御装置
JP5877857B2 (ja) 2014-03-10 2016-03-08 ファナック株式会社 ワークの取出工程をシミュレーションするロボットシミュレーション装置
JP6407826B2 (ja) 2015-09-03 2018-10-17 ファナック株式会社 座標系設定方法、座標系設定装置、及び座標系設定装置を備えたロボットシステム
JP6755724B2 (ja) 2016-06-20 2020-09-16 キヤノン株式会社 制御方法、ロボットシステム、および物品の製造方法
EP3321043A3 (de) * 2016-11-10 2018-10-10 Canon Kabushiki Kaisha Verfahren zur steuerung einer haltvorrichtung, haltevorrichtung und robotervorrichtung

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010069542A (ja) 2008-09-16 2010-04-02 Ihi Corp バラ積みピッキング装置におけるワークピッキング方法
JP2010120141A (ja) 2008-11-21 2010-06-03 Ihi Corp バラ積みピッキング装置とその制御方法
DE102011108169B4 (de) 2010-07-27 2013-07-11 Fanuc Corporation Werkstückentnahmevorrichtung und Verfahren
DE102013109220A1 (de) 2012-08-29 2014-03-06 Fanuc Corporation Roboter-Vorrichtung und Verfahren zum Herausnehmen von Bulkware aus einem Lager
DE102014016033A1 (de) 2013-11-05 2015-05-07 Fanuc Corporation Vorrichtung und Verfahren zum Aufnehmen von regellos verteilten Gegenständen mit einem Roboter
DE102014016069A1 (de) 2013-11-05 2015-05-07 Fanuc Corporation Vorrichtung und Verfahren zum Aufnehmen eines Gegenstandes im 3- dimensionalen Raum mit einem Roboter
JP2015171749A (ja) 2014-03-12 2015-10-01 ファナック株式会社 バラ積みされたワークを取り出すロボットシステム及びワークの把持状態を判定する判定方法
US20160279809A1 (en) 2015-03-27 2016-09-29 Canon Kabushiki Kaisha Information processing apparatus, and information processing method
JP2017064817A (ja) 2015-09-28 2017-04-06 株式会社富士通アドバンストエンジニアリング ピッキング装置及び復旧プログラム
US20180085923A1 (en) 2016-09-29 2018-03-29 Seiko Epson Corporation Robot control device, robot, and robot system

Also Published As

Publication number Publication date
CN110497402A (zh) 2019-11-26
CN110497402B (zh) 2021-06-29
US11027433B2 (en) 2021-06-08
DE102019003334A1 (de) 2019-11-21
US20190351557A1 (en) 2019-11-21
JP6725587B2 (ja) 2020-07-22
JP2019198950A (ja) 2019-11-21

Similar Documents

Publication Publication Date Title
DE102019003334B4 (de) Robotersystem und Steuerverfahren für ein Robotersystem zum Entnehmen von Werkstücken aus loser Schüttung
DE102019003332B4 (de) Robotersystem und Steuerungsverfahren eines Robotersystems zur Entnahme von lose geladenen Werkstücken
DE102016000995B4 (de) Förderrobotersystem mit dreidimensionalem Sensor
AT507339B1 (de) Verfahren und anlage zum aufnehmen und/oder bearbeiten von objekten
DE102019125126B4 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und System
DE112019001507B4 (de) Verfahren und System für ein Warenbestandssystem und nichtflüchtiges computerlesbares Medium
DE102013018222B4 (de) Objektaufnahmevorrichtung und Verfahren zum Aufnehmen eines Objekts
DE112012002677B4 (de) Zuführvorrichtung für Bauelemente
DE102015102740B4 (de) Vorrichtung und Verfahren zum Anordnen von Gegenständen mittels Roboter und Gegenstandübertragungssystem
DE102011108169B4 (de) Werkstückentnahmevorrichtung und Verfahren
DE102014005434B4 (de) Steuerungseinrichtung für einen Roboter zur Beförderung eines Werkstücks
DE102014102943B4 (de) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102018101375B4 (de) Artikelbeförderungsvorrichtung, die mindestens einen Sensor nutzt
DE102016005637B4 (de) System zum Aufnehmen von Gegenständen und Verfahren zum Aufnehmen von gestapelten Gegenständen
DE69122762T2 (de) Programmierbare, umgruppierbare zufuhreinrichtung für werkstücke
DE102014016072B4 (de) Vorrichtung und Verfahren zum Aufheben eines willkürlich aufgestapelten Gegenstands mittels eines Roboters
DE112018007727B4 (de) Robotersystem
DE102010022357B4 (de) Roboteranordnung zum Aufnehmen von Gegenständen und Ablegen der Gegenstände in Behälter
DE102019208187B4 (de) Robotersystem und Steuerungsverfahren für ein Robotersystem
DE102014005758A1 (de) Robotersystem, aufweisend einen Roboter zur Beförderung eines Werkstücks
DE102016115987A1 (de) Koordinatensystemeinstellungsverfahren, koordinatensystemeinstellungsvorrichtung und robotersystem mit koordinatensystemeinstellungsvorrichtung
WO2014166650A1 (de) Lager- und kommissioniersystem zum vollautomatisierten erkennen und kommissionieren von artikeln
DE102018116967B4 (de) Zuführeinrichtung, die Werkstücke einer Entnahmevorrichtung zuführt, sowie mit der Zuführeinrichtung versehene Transportvorrichtung
DE102018114445B4 (de) Vorrichtung und Verfahren zur Einschätzung einer Position des Schwerpunkts eines Roboters
DE112017007399B4 (de) Steuervorrichtung, Greifsystem, Verteilersystem, Programm, Steuerverfahren und Herstellungsverfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final