-
Die vorliegende Erfindung betrifft ein Robotersystem und einen Roboter.
-
Gattungsgemäße Robotersysteme sind beispielsweise aus der Druckschrift
DE 11 2017 005 867 T5 bekannt. Diese Druckschrift offenbart eine adaptive Steuerungsvorrichtung mit einem Prozessor, der einen ersten Anweisungswert für einen Motor erzeugt. Der erste Anweisungswert wird auf Basis von einem von einer numerischen Steuerungsvorrichtung empfangenen Servosteuerungsanweisungswert und/oder Regelungsdaten, die von einer Motorsteuerungsvorrichtung empfangen werden, die den Motor auf Basis des ersten Anweisungswerts steuert, und/oder Sensordaten, die von einem Sensor empfangen werden, erzeugt. Die Steuerungsvorrichtung umfasst ferner eine Kommunikationsschaltung, die den zweiten Anweisungswert an die numerische Steuerungsvorrichtung überträgt.
-
Die Druckschrift
DE 10 2016 008 867 A1 offenbart ein Störungsüberprüfungssystem, das dazu fähig ist, eine Störung zwischen einer Werkzeugmaschine und einem Roboter in Echtzeit in geeigneter Weise zu überprüfen, auch in dem Fall, wenn Echtzeiteigenschaften einer Datenkommunikation nicht in einem System gesichert sind, das eine Werkzeugmaschine und einen Roboter einschließt. Das Störungsüberprüfungssystem schließt eine Werkzeugmaschinensteuerung, die dazu ausgestaltet ist, eine Werkzeugmaschine zu steuern, eine Robotersteuerung, die dazu ausgestaltet ist, einen Roboter zu steuern, und eine Störungsüberprüfungsausführeinheit ein, die dazu ausgestaltet ist, Formmodelldaten oder dergleichen einer mechanischen Einheit einer Werkzeugmaschine und einer mechanischen Einheit eines Roboters einzuschließen. Die Störungsüberprüfungsausführeinheit überprüft das Vorhandensein/die Abwesenheit einer Störung zwischen der mechanischen Einheit der Werkzeugmaschine und der mechanischen Einheit des Roboters basierend auf den Formmodelldaten der Werkzeugmaschine und des Roboters und auf Zeitreihedaten, die erzeugt werden, wenn jeweils die Positionen der Steuerachsen der Werkzeugmaschine und des Roboters integriert werden.
-
Die Druckschrift
DE 10 2015 015 638 A1 offenbart eine Artikelübertragungsvorrichtung mit einem Roboter. Ein Bildverarbeitungsbereich umfasst einen Artikeldetektierbereich zum Ausführen von Bildaufnahme und -detektion von Artikeln, die sich gemäß einer Förderbewegung einer Fördervorrichtung bewegen, wobei eine erste Periode ermöglicht, dass sämtliche der Vielzahl von Artikeln aufgenommen und detektiert werden, und zum Erlangen einer Information über die Anfangsposition jedes der Artikel; und einen Artikelverfolgungsbereich zum Ausführen von Bildaufnahme und -detektion der Vielzahl von Artikeln, die sich gemäß der Förderbewegung der Fördervorrichtung bewegen, wobei eine zweite Periode kürzer ist als die erste Periode, und wiederholtes Erlangen von Information über die verlagerte Position jedes der Vielzahl von Artikeln mit der zweiten Periode, wobei die Information über die verlagerte Position auf der Information über die Anfangsposition basiert. Ein Robotersteuerbereich ist dafür konfiguriert, den Roboter unter Verwendung der Information über die verlagerte Position zu steuern, um zu bewirken, dass der Roboter jeden der Vielzahl von Artikeln und überträgt, während er die Förderbewegung der Fördervorrichtung verfolgt.
-
Die Druckschrift
DE 11 2011 104 865 T5 offenbart eine Sensorsteuervorrichtung, welche es erlaubt, eine Robotersteuervorrichtung bereitzustellen, zur Ausführung einer Steuerung zum Rückführen von Rückkopplungsdaten, erhalten von einem Kraftsensor oder ähnlichem, auf einen Betrieb eines Roboters, ohne die Verarbeitungslast zu erhöhen. Die Vorrichtung umfasst eine Datenverarbeitungseinheit, welche von dem Kraftsensor ausgegebene Sensordaten importiert und die importierten Sensordaten zu Steuerdaten von Motoren, welche das Gelenk des Roboters bewegen, umwandelt, eine Datensynchronisiereinheit, welche die Steuerdaten der Motoren mit einem Steuerzyklus der Robotersteuervorrichtung synchronisiert und eine Datenausgabeeinheit, welche die Steuerdaten der Motoren synchronisiert mit dem Steuerzyklus der Robotersteuervorrichtung an die Robotersteuervorrichtung als Rückkopplungsdaten ausgibt.
-
Die Druckschrift
EP 2 653 414 B1 offenbart eine Bildverarbeitungsvorrichtung umfassend eine Schnittstelle zum Empfangen eines Signals, das die Bewegung einer Fördervorrichtung in einer Förderstrecke anzeigt; eine Schnittstelle zum Kommunizieren mit einer Steuervorrichtung zum Steuern eines Bewegungsmechanismus zum Handhaben eines Werkstücks, wobei der Bewegungsmechanismus stromabwärts von einem Abbildungsbereich eines Abbildungsteils in der Förderstrecke angeordnet ist; ein Mittel zum synchronen Aufrechterhalten der Bewegung in der Förderstrecke zwischen der Steuervorrichtung und einem Mittel zum Erfassen von Positionsinformationen über einen Bereich, der einem zuvor registrierten Werkstück in einem Bild entspricht, durch Messen eines Bildes, das durch eine von einem Bildgebungsteil durchgeführte Bildgebung erhalten wird; ein Mittel zum Einleiten der Bildgebung durch den Bildgebungsteil als Reaktion auf einen Bildgebungsbefehl; und ein Mittel zum Übertragen von Positionsinformationen und der Bewegung an die Steuervorrichtung zu dem Zeitpunkt, zu dem die Bildgebung unter Einbeziehung des zur Erfassung der Positionsinformationen verwendeten Bildes durchgeführt wird.
-
Die Druckschrift
JP 2013 - 052 451 A offenbart ein Robotersteuersystems, das basierend auf einem Erfassungswert eines Kraftsensors bestimmen kann, ob eine Spur eines Roboters von einer Planspur abläuft, und das ferner eine Abweichungsausdehnung zwischen der Planspur und der Spur des Roboters verhindern kann. Das Robotersteuersystem umfasst einen ersten Steuerteil zum Ausgeben eines Steuerbefehls des Roboters in einem ersten Zyklus basierend auf der Planspur und ein zweites Steuerteil zum Steuern des Roboters in einem zweiten Zyklus, der kürzer als der erste Zyklus ist, basierend auf dem Steuerbefehl, der von dem ersten Steuerteil erhalten wird, und dem Erfassungswert, der von dem Kraftsensor erhalten wird. Das zweite Steuerteil bestimmt, ob der durch den Kraftsensor erhaltene Erfassungswert innerhalb eines zulässigen Bereichs des Erfassungswerts des Kraftsensors enthalten ist. Wenn der Steuerteil bestimmt, dass der Erfassungswert des Kraftsensors innerhalb des zulässigen Bereichs enthalten ist, wird bestimmt, dass die Bahn des Roboters von der Planbahn abweicht.
-
Die Druckschrift
JP 2013 - 000 861 A offenbart ferner ein Robotersystem, bei dem ein an einem distalen Endteil eines Roboters vorgesehenes Werkzeug dazu verwendet wird, eine vorbestimmte Operation an einem durch eine Fördereinrichtung bewegten Objekt durchzuführen.
-
Bei dem darin beschriebenen Robotersystem werden Bilddaten, die von einer auf einer oberen Seite einer Fördereinrichtung platzierten Kamera aufgenommen werden, zu einer Robotersteuerung gesendet, und die Robotersteuerung detektiert basierend auf den Bilddaten ein Objekt auf der Fördereinrichtung, und ein Arm des Roboters wird als Reaktion auf die detektierten Ergebnisse gesteuert. Ferner ist eine Einrichtung, die ein Werkzeug um eine vertikale Achse dreht, an einem distalen Ende des Arms des Roboters befestigt, und diese Einrichtung wird zusammen mit dem Arm des Roboters auch durch die Robotersteuerung gesteuert.
-
Es ist jedoch zum Beispiel in solch einem Fall, dass das Objekt aufgrund des Transports durch die Fördereinrichtung auf der Fördereinrichtung hin und her wackelt, in solch einem Fall, dass mehrere transportierte Objekte miteinander in Kontakt kommen, so dass bewirkt wird, dass sich die Objekte auf der Fördereinrichtung umständlich bewegen, und dergleichen nicht möglich, zu bewerkstelligen, dass das an dem distalen Ende des Arms vorgesehene Werkzeug dem Objekt genau folgt. Dies liegt daran, dass die durch die Robotersteuerung ausgeführte Steuerung nicht schnell genug ist, um auf die oben beschriebenen willkürlichen Bewegungen zu reagieren.
-
Um unter den obigen Umständen eine Verbesserung zu erzielen, kann auch in Betracht kommen, einen Steuerzyklus der Robotersteuerung zu verkürzen. Um den Steuerzyklus des Roboters zu verkürzen, ist es jedoch erforderlich, dass Komponenten und Vorrichtungen, die für den Arm des Roboters verwendet werden, auch für den verkürzten Steuerzyklus geeignet sind. Ferner ist erforderlich, Spezifikationen und Funktionen des Motors zu ändern, und um das distale Ende des Arms als Reaktion auf die Bewegungen des Objekts mit einer hohen Beschleunigung zu bewegen, ist es erforderlich, die Steifigkeit der Armkomponenten zu erhöhen, die Abmessung zu vergrößern, die Leistung zu verbessern und dergleichen bezüglich des Motors, der für den Arm verwendet wird, und deshalb ist eine Umgestaltung oder Konstruktionsänderung des Arms als gesamtes System im großen Umfange erforderlich und mit hohen Kosten verbunden.
-
Die vorliegende Erfindung ist in Anbetracht der oben genannten Umstände gemacht worden. Eine Aufgabe der vorliegenden Erfindung besteht in der Bereitstellung eines Robotersystems und eines Roboters, das bzw. der bewerkstelligen kann, dass eine Position eines Werkzeugs einem sich willkürlich bewegenden Objekt mit hoher Präzision folgt, ohne dass ein Steuerzyklus des Roboters unangemessen verkürzt wird.
-
Diese Aufgabe wird durch ein Robotersystem mit den Merkmalen des Anspruchs 1 und durch einen Roboter mit den Merkmalen des Anspruchs 4 gelöst. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche.
-
Um unter den oben genannten Umständen eine Verbesserung zu erzielen, verwendet die vorliegende Erfindung das folgende Mittel.
-
Ein Robotersystem gemäß einem ersten Aspekt der vorliegenden Erfindung enthält einen Sensor, der Daten zum Detektieren mindestens einer Position eines Objekts, das durch ein Bewegungsmittel zum Bewegen des Objekts bewegt wird, erhält; einen Roboter, an dem ein Werkzeug befestigt ist und der eine vorbestimmte Operation für das Objekt durch Verwendung des Werkzeugs durchführt; und eine Steuerung, die unter Verwendung der Daten eine Werkzeugbewegungseinrichtung, die das Werkzeug bezüglich des Roboters bewegt, das Werkzeug oder ein Armglied, das sich auf der Seite eines distalen Endes eines Arms des Roboters befindet, mit einem Werkzeugsteuerzyklus, der kürzer als ein Steuerzyklus des Roboters ist, steuert.
-
In solch einem Fall, dass das Objekt zum Beispiel auf dem Bewegungsmittel hin und her wackelt und ein geänderter Bewegungszyklus kürzer als der Steuerzyklus des Roboters ist, ist es nicht möglich, die Bewegung des Roboters auf das Objekt abzustimmen. Dies ähnelt dem Fall, in dem Bewegungen, die ein Mensch mit den Augen oder dem Gehirn erkennen kann, begrenzt sind. Deshalb ist der Roboter in der Lage, das Werkzeug zu einer ungefähren Position zu bewegen, in der sich das Objekt befindet, es ist jedoch nicht möglich, die Position des Werkzeugs mit hoher Genauigkeit auf die Bewegung des Objekts abzustimmen. Bei dem obigen Aspekt wird das Werkzeug, das an dem Roboter befestigt ist, durch die Steuerung in dem Werkzeugsteuerzyklus gesteuert, und der Steuerzyklus des Werkzeugs ist kürzer als der Steuerzyklus des Roboters. Deshalb ist es möglich, zu bewerkstelligen, dass das Werkzeug der Position des Objekts auf dem Bewegungsmittel mit hoher Genauigkeit folgt, ohne den Steuerzyklus des Roboters zu verkürzen.
-
Bei dem obigen Aspekt erhält der Sensor die Daten in einem Zyklus, der kürzer als der Steuerzyklus des Roboters ist, und eine Robotersteuerung zum Steuern des Roboters verwendet die sequenziell von dem Sensor erhaltenen Daten in jedem Zyklus, der länger als der Werkzeugsteuerzyklus ist, um den Roboter zu steuern.
-
Bei diesem Aspekt führt die Robotersteuerung die Steuerung in dem Steuerzyklus, der länger als der Steuerzyklus des Werkzeugs ist, durch, ohne dass der Sensor Daten zur Steuerung des Werkzeugs und Daten zur Steuerung des Arms separat erzeugen muss.
-
Bei dem obigen Aspekt bewegt die Werkzeugbewegungseinrichtung vorzugsweise den Sensor zusammen mit dem Werkzeug.
-
Da der Sensor zusammen mit dem Werkzeug bewegt wird, wird bei diesem Aspekt eine Position des Werkzeugs bezüglich des Sensors festgelegt. Deshalb ergibt sich auch, dass die Bewegung des Werkzeugs durch den Sensor direkt detektiert wird, und die Position des Objekts bezüglich des Sensors wird mit der Position des Objekts bezüglich des Werkzeugs in direkte Beziehung gesetzt. Dieser Aspekt ist zum Erzielen der genauen Steuerung, Beschleunigung der Steuerung, Vereinfachung der Steuerung und dergleichen von Vorteil.
-
Bei dem obigen Aspekt führt/führen der Roboter und/oder das Werkzeug vorzugsweise einen Anomaliemanagementprozess durch, wenn eine basierend auf den Daten detektierte Position des Objekts über eine vorbestimmte Referenz hinaus geändert wird.
-
Dieser Aspekt ist dahingehend von Vorteil, mit hoher Sicherheit zu gewährleisten, dass eine Beschädigung des Roboters, des Werkzeugs, der Fördereinrichtung, des Objekts und dergleichen verhindert wird.
-
Ein zweiter Aspekt der vorliegenden Erfindung ist ein Roboter, der einen Arm, an dem ein Werkzeug befestigt ist und der eine vorbestimmte Operation durch das Werkzeug für ein Objekt, das durch ein Bewegungsmittel zum Bewegen des Objekts bewegt wird, durchführt; einen Sensor, der an dem Arm oder dem Werkzeug befestigt ist und der Daten zum Detektieren mindestens einer Position des Objekts, das durch das Bewegungsmittel bewegt wird, erhält; und eine Steuerung, die unter Verwendung der Daten eine Werkzeugbewegungseinrichtung, die das Werkzeug bezüglich des Arms bewegt, das Werkzeug oder ein Armglied, das sich auf der Seite eines distalen Endes des Arms befindet, mit einem Werkzeugsteuerzyklus, der kürzer als ein Steuerzyklus des Roboters ist, steuert, umfasst.
-
Bei diesem Aspekt wird das an dem Arm befestigte Werkzeug durch die Steuerung mit dem Werkzeugsteuerzyklus gesteuert, und der Werkzeugsteuerzyklus ist kürzer als ein Steuerzyklus des Arms. Und deshalb ist es möglich, zu bewerkstelligen, dass das Werkzeug der Position des Objekts auf dem Bewegungsmittel mit hoher Genauigkeit folgt, ohne den Steuerzyklus des Roboters zu verkürzen.
-
Bei dem obigen Aspekt erhält der Sensor die Daten in einem Zyklus, der kürzer als der Steuerzyklus des Roboters ist, und die Robotersteuerung zum Steuern des Roboters verwendet die sequenziell von dem Sensor erhaltenen Daten in jedem Zyklus, der länger als der Werkzeugsteuerzyklus ist, um den Roboter zu steuern.
-
Bei diesem Aspekt führt die Robotersteuerung die Steuerung in dem Steuerzyklus, der länger als der Werkzeugsteuerzyklus ist, durch, ohne dass der Sensor die Daten zur Steuerung des Werkzeugs und die Daten zur Steuerung des Arms separat erzeugen muss.
-
Bei dem obigen Aspekt bewegt die Werkzeugbewegungseinrichtung vorzugsweise den Sensor zusammen mit dem Werkzeug.
-
Da der Sensor zusammen mit dem Werkzeug bewegt wird, wird bei diesem Aspekt die Position des Werkzeugs bezüglich des Sensors festgelegt. Und deshalb ergibt sich auch, dass die Bewegung des Werkzeugs durch den Sensor direkt detektiert wird, und die Position des Objekts bezüglich des Sensors wird mit der Position des Objekts bezüglich des Werkzeugs in direkte Beziehung gesetzt. Dieser Aspekt ist zum Erzielen der genauen Steuerung, Beschleunigung der Steuerung, Vereinfachung der Steuerung und dergleichen von Vorteil.
-
Gemäß der vorliegenden Erfindung ist es möglich, zu bewerkstelligen, dass eine Position des Werkzeugs einem Objekt auf einer Fördereinrichtung folgt, ohne dass ein Steuerzyklus eines Roboters unangemessen verkürzt wird.
- 1 ist eine schematische Darstellung, die eine Konfiguration eines Robotersystems gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
- 2 ist ein Blockdiagramm einer Werkzeugsteuerung des Robotersystems der Ausführungsform.
- 3 ist ein Blockdiagramm einer Robotersteuerung des Robotersystems der Ausführungsform.
- 4 ist ein Flussdiagramm, das ein Beispiel für Prozesse der Robotersteuerung und der Werkzeugsteuerung der Ausführungsform zeigt.
- 5 ist eine schematische Darstellung, die eine Konfiguration eines Robotersystems gemäß einer zweiten Ausführungsform der vorliegenden Erfindung zeigt.
- 6 ist eine schematische Darstellung, die eine Konfiguration eines Robotersystems gemäß einer dritten Ausführungsform der vorliegenden Erfindung zeigt.
-
Nachfolgend wird ein Robotersystem gemäß einer ersten Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
-
Wie in 1 gezeigt wird, enthält das Robotersystem gemäß dieser Ausführungsform eine Fördereinrichtung (ein Bewegungsmittel) 2, die durch einen Motor 2a angetrieben wird und die ein Objekt O, bei dem es sich um einen Artikel handelt, transportiert, einen Roboter 10, der eine vorbestimmte Operation an dem Objekt O, das mittels der Fördereinrichtung 2 bewegt wird, durchführt, eine Robotersteuerung 20, die zu dem Roboter 10 gehört, ein Werkzeug 30, das an einem distalen Endteil des Roboters 10 vorgesehen ist, und einen Sensor 60, der mindestens eine Position des Objekts O, das mittels der Fördereinrichtung 2 bewegt wird, detektiert. Bei dieser Ausführungsform entsprechen eine Transportrichtung der Fördereinrichtung 2 und eine x-Achsen-Richtung eines Bezugskoordinatensystems 201 von 1 einander, eine Vertikalrichtung und eine z-Achsen-Richtung des Bezugskoordinatensystems 201 von 1 entsprechen einander, und eine y-Achsen-Richtung des Bezugskoordinatensystems 201 von 1 soll einer Breitenrichtung der Fördereinrichtung 2 entsprechen.
-
Der Sensor 60 ist eine zweidimensionale Kamera, eine dreidimensionale Kamera, ein dreidimensionaler Abstandssensor und dergleichen, und es ist auch möglich, andere Kameras zu verwenden, die Daten zum Detektieren der Position des Objekts O erhalten können. Der Sensor 60 gemäß der vorliegenden Ausführungsform ist die zweidimensionale Kamera, und der Sensor 60 ist an dem distalen Endteil des Roboters 10 befestigt. Der Sensor 60 enthält einen Prozessor 61, einen RAM 62 und einen Speicher 63, der ein Bildverarbeitungsprogramm 63a speichert. Der Prozessor 61 führt zum Beispiel Blob-Detektionsverarbeitung zum Detektieren des Objekts O durch Verwendung von Bildverarbeitung, wie zum Beispiel Mustervergleichsverarbeitung, Binärisierungsverarbeitung und dergleichen, und eine Verarbeitung zum Detektieren einer Position des Schwerpunkts, einer Position eines Merkmalpunkts und dergleichen des detektierten Objekts O durch. Daten des Sensors 60 werden zu der Robotersteuerung 20 und einer Werkzeugsteuerung 50, die nachfolgend beschrieben wird, gesendet. Ein Steuerzyklus des Prozessors 61 ist kürzer als der der Robotersteuereinheit 21 der Robotersteuerung 20, und der Steuerzyklus des Prozessors 61 beträgt zum Beispiel eine Millisekunde. Ferner ist es möglich, den Steuerzyklus mit Verbesserung der Bildwiederholfrequenz des Sensors 60 weiter zu verkürzen.
-
Der Roboter 10 ist nicht auf eine spezielle Roboterart beschränkt, jedoch enthält der Roboter 10 gemäß dieser Ausführungsform mehrere Servomotoren 11 zum jeweiligen Antrieb mehrerer beweglicher Teile (siehe 3). Ferner ist ein Arm 12 des Roboters 10 durch die mehreren beweglichen Teile konfiguriert. Jeder der Servomotoren 11 weist eine Betriebspositionsdetektionseinrichtung zum Detektieren einer Betriebsposition jedes der Servomotoren 11 auf, und ein Beispiel für die Betriebspositionsdetektionseinrichtung ist ein Codierer. Detektierte Werte der Betriebspositionsdetektionseinrichtungen werden zu der Robotersteuerung 20 gesendet
-
Zu dem Zeitpunkt der Einstellung des Bezugskoordinatensystems 201 der Robotersteuerung 20 berührt ein Einstellungswerkzeug, das vorübergehend an dem distalen Endteil des Roboters 10 vorgesehen ist, mehrere vorbestimmte Stellen einer Kalibrierungsvorrichtung, die in einer bestimmten Position auf der Fördereinrichtung 2 platziert ist. Bei dieser Ausführungsform ist eine Position des Bezugskoordinatensystems 201, mit anderen Worten der Ursprung, eine vorbestimmte Position auf der Kalibrierungsvorrichtung.
-
Ferner ist es möglich, zum Zeitpunkt der Einstellung des Bezugskoordinatensystems 201 statt der Kalibrierungsvorrichtung andere Vorrichtungen zu verwenden.
-
Und es kann möglich sein, das Bezugskoordinatensystem 201 durch indirektes Messen der vorbestimmten Position unter Verwendung eines Positionsmesswerkzeugs ohne direkte Berührung der Kalibrierungsvorrichtung durch das Einstellungswerkzeug einzustellen.
-
Bei der Robotersteuerung 20 werden ferner das Bezugskoordinatensystem 201 und eine aktuelle Position und Ausrichtung des Sensors 60 (ein Sensorkoordinatensystem 202) miteinander korreliert. Nach Berechnung der Position der Kalibrierungsvorrichtung, die von dem Bezugskoordinatensystem 201 gesehen wird, durch Berühren der vorbestimmten Stellen der Kalibrierungsvorrichtung mittels des Einstellungswerkzeugs, das vorübergehend an dem distalen Endteil des Roboters 10 vorgesehen ist, detektiert der Sensor 60 zum Beispiel Bilder, die Position des Merkmalpunkts und dergleichen der Kalibrierungsvorrichtung, um eine Befestigungsposition und - ausrichtung einer Kamera an dem Roboter 10 (das Sensorkoordinatensystem 202) einzustellen. Dies entspricht auch dem Erhalt einer Positionsbeziehung zwischen einem Koordinatensystem 205 des distalen Endes des Roboters und dem Sensorkoordinatensystem 202. Ferner werden auch Einstellungsparameter zum Beseitigen einer Verzerrung einer Linse und dergleichen erhalten.
-
Selbst in solch einem Fall, dass die Position des Roboters 10 geändert wird, kann die Robotersteuerung 20 dadurch die Position und die Ausrichtung des Sensors 60 kennen und kann die detektierten Ergebnisse, die durch den Sensor 60 erhalten werden, genau in Ergebnisse umwandeln, die von dem Bezugskoordinatensystem 201 gesehen werden.
-
Des Weiteren werden bei der Robotersteuerung 20 und/oder der Werkzeugsteuerung 50, die nachfolgend beschrieben wird, der Roboter 10 (das Bezugskoordinatensystem 201) und eine Position und Ausrichtung eines Werkzeughauptkörpers 32 des Werkzeugs 30 (ein Koordinatensystem 206 des distalen Werkzeugendes) miteinander korreliert. Um diese Korrelation beispielsweise in einem Zustand, in dem das Werkzeug 30 in einer vorbestimmten Position angehalten hat, zu erzielen, werden eine Position und Ausrichtung eines distalen Endteils des Werkzeughauptkörpers 32 (das Koordinatensystem 206 des distalen Werkzeugendes), der in einer bestimmten Position bezüglich des distalen Endteils des Roboters 10 platziert ist, in der Robotersteuerung 20 erhalten. In diesem Fall erhält die Werkzeugsteuerung 50, die nachfolgend beschrieben wird, zum Beispiel auch die aktuelle Position des Koordinatensystems 206 des distalen Werkzeugendes von der Robotersteuerung 20 und berechnet eine Position des distalen Endes des Werkzeughauptkörpers 32, die von dem Bezugskoordinatensystem 201 gesehen wird, durch Verwendung eines Betätigungsausmaßes des Werkzeughauptkörpers 32 in dem Werkzeug 30. In solch einem Fall, dass die Robotersteuerung 20 die aktuelle Position des Koordinatensystems 206 des distalen Werkzeugendes aus den detektierten Ergebnissen der jeweiligen Betriebspositionsdetektionseinrichtungen jede Millisekunde berechnen kann, ist die Werkzeugsteuerung 50 zum Beispiel auch in der Lage, die Position des distalen Endes des Werkzeughauptkörpers 32 zu jeder Millisekunde zu berechnen. Ferner kann es möglich sein, dass die Werkzeugsteuerung 50 zu jeder Millisekunde auf die detektierten Ergebnisse der jeweiligen Betriebspositionsdetektionseinrichtungen zurückgreift, um die Position des distalen Endes des Werkzeughauptkörpers 32 zu berechnen. Dies entspricht der Berechnung der Position des Koordinatensystems 206 des distalen Werkzeugendes, die von dem Bezugskoordinatensystem 201 gesehen wird, durch Verwendung des Betätigungsausmaßes und der aktuellen Position des Koordinatensystems 206 des distalen Werkzeugendes. Deshalb ist die Werkzeugsteuerung 50 in der Lage, die Position des Koordinatensystems 206 des distalen Werkzeugendes so zu steuern, dass sich die Position des Koordinatensystems 206 des distalen Werkzeugendes einer Zielposition in dem Bezugskoordinatensystem 201 nähert.
-
Darüber hinaus ist die Robotersteuerung 20 auch in der Lage, das Betätigungsausmaß des Werkzeughauptkörpers 32 von der Werkzeugsteuerung 50 zu erhalten, und die Robotersteuerung 20 ist in der Lage, mit einem langen Steuerzyklus die aktuelle Position des Koordinatensystems 206 des distalen Werkzeugendes zu berechnen.
-
Dadurch ist die Robotersteuerung 20 in der Lage, den Roboter 10 so zu steuern, dass sich das Koordinatensystem 206 des distalen Werkzeugendes mit dem langen Steuerzyklus der Zielposition nähert.
-
An dem distalen Endteil des Arms 12 des Roboters 10 ist über eine Werkzeugbewegungseinrichtung 40 ein Werkzeug 30 befestigt, und die Werkzeugbewegungseinrichtung 40 und das Werkzeug 30 werden durch die Werkzeugsteuerung 50 gesteuert.
-
Die Werkzeugbewegungseinrichtung 40 enthält einen Bewegungseinrichtungshauptkörper 41, der an dem distalen Endteil des Arms 12 fixiert ist, eine Kugelspindel 42, die durch den Bewegungseinrichtungshauptkörper 41 drehbar gestützt wird, und einen Motor 43, wie zum Beispiel einen Servomotor und dergleichen, der durch den Bewegungseinrichtungshauptkörper 41 gestützt wird und der die Kugelspindel 42 dreht. Bei dieser Ausführungsform verläuft eine Mittelachsenlinie 42a der Kugelspindel 42 nicht parallel zu einer Mittelachsenlinie 13a eines Flanschglieds 13, das ein bewegliches Teil ist, das sich auf der Seite des sich am weitesten distal befindenden Endes des Arms 12 befindet; bei dieser Ausführungsform verläuft die Mittelachsenlinie 42a der Kugelspindel 42 jedoch in einer Richtung, die um ca. 90 Grad von der Mittelachsenlinie 13a verschieden ist. Der Servomotor 43 weist eine Betriebspositionsdetektionseinrichtung zum Detektieren einer Betriebsposition davon auf, und detektierte Werte der Betriebspositionsdetektionseinrichtung werden zu der Werkzeugsteuerung 50 gesendet.
-
Das Werkzeug 30 enthält einen Schieber 31, der durch den Bewegungseinrichtungshauptkörper 41 so gestützt wird, dass er in einer Richtung entlang der Mittelachsenlinie 42a beweglich ist, und einen Werkzeughauptkörper 32, der durch den Schieber 31 gestützt wird. Bei dieser Ausführungsform stützt der Werkzeughauptkörper 32 das Objekt O durch Ansaugen des Objekts O, und der Werkzeughauptkörper 32 enthält einen Basisteil 32a, der an dem Schieber 31 fixiert ist, einen Saugteil 32b, der eine Saugnapfform aufweist und der an einem unteren Ende eines Basisteils 32a vorgesehen ist, und einen Sensor 32c, der ein Drucksensor und dergleichen ist und der eine durch den Saugteil 32b auf das Objekt O ausgeübte Saugwirkung detektiert. Die detektierten Ergebnisse des Sensors 32c werden auch zu der Robotersteuerung 20 gesendet. Der Saugteil 32b ist zum Beispiel aus einem Material mit einer gummiartigen Elastizität hergestellt. Ein Innenraum des Basisglieds 32a ist durch ein Rohr 33 mit einer Saugeinrichtung 34 verbunden, und der Innenraum des Basisglieds 32a steht mit einem konkaven Teil des Saugteils 32b in Verbindung. Und deshalb wird das Objekt O durch den Werkzeughauptkörper 32 gestützt, wenn durch die Saugeinrichtung 34 in einem Zustand, in dem der Saugteil 32b eine Oberseite des Objekts O berührt, Luft angesaugt wird.
-
Wie in 2 gezeigt wird, enthält die Werkzeugsteuerung 50 eine Steuereinheit 51 mit einer CPU, einem RAM und dergleichen, ein Display 52, eine Speichereinheit 53 mit einem nichtflüchtigen Speicher, einem ROM und dergleichen, eine Servosteuerung 54, die den Motor 43 der Werkzeugbewegungseinrichtung 40 steuert, und eine Eingabeeinrichtung 55. Die Werkzeugsteuerung 50 empfängt die detektierten Ergebnisse des Sensors 60 in jedem Steuerzyklus des Sensors 60 (eine Millisekunde), und die Werkzeugsteuerung 50 steuert den Motor 43 der Werkzeugbewegungseinrichtung 40 und auch die Saugeinrichtung 43 des Werkzeugs 30 mit einem Steuerzyklus (einem Steuerzyklus des Werkzeugs), der gleich oder nahe dem des Sensors 60 ist.
-
In der Speichereinheit 53 ist ein Systemprogramm 53a gespeichert, und das Systemprogramm 53a stellt eine Basisfunktion der Werkzeugsteuerung 50 bereit. Ferner ist in der Speichereinheit 53 ein Nachfolgesteuerprogramm 53b gespeichert.
-
Wie in 3 gezeigt wird, enthält die Robotersteuerung 20 eine Robotersteuereinheit 21 mit einem Prozessor, einem RAM und dergleichen, ein Display 22, eine Speichereinheit 23 mit einem nichtflüchtigen Speicher, einem ROM und dergleichen, mehrere Servosteuerungen 24, die jeweils den Servomotoren 11 des Roboters 10 entsprechen, und eine Eingabeeinrichtung 25, die ein Touchpanel und dergleichen ist. Ein Steuerzyklus der Robotersteuerung 20 beträgt zum Beispiel zehn Millisekunden, was länger als der des Sensors 60 und der der Werkzeugsteuerung 50 ist. Ferner ist die Steuerung, die durch die Robotersteuerung 20 durchgeführt wird und die den Arm 12 zu einer Zielposition bewegt, kompliziert, weil die Steuerung Entscheidungen zur Bewerkstelligung einer geeigneten Route, Berechnung eines Antriebsbetrags und einer Antriebsgeschwindigkeit der jeweiligen Servomotoren 11 als Reaktion auf die Route und dergleichen enthält, und deshalb sind die Kosten zur Verkürzung des Steuerzyklus der Robotersteuerung 20 unverhältnismäßig.
-
In der Speichereinheit 23 ist ein Systemprogramm 23a gespeichert, und das Systemprogramm 23a stellt eine Basisfunktion der Robotersteuerung 20 bereit. Ferner sind in der Speichereinheit 23 ein Betriebsprogramm 23b und ein Nachfolgesteuerprogramm 23c gespeichert. Die Robotersteuerung 20 steuert jeden der Servomotoren 11 des Roboters 10, und die Werkzeugsteuerung 50 steuert die Werkzeugbewegungseinrichtung 40 und das Werkzeug 30, und dadurch wird eine Aufnahmeoperation des Objekts O, das mittels der Fördereinrichtung 2 bewegt wird, durchgeführt.
-
Es werden ein Prozess der Robotersteuereinheit 21 basierend auf dem Betriebsprogramm 23b und dem Nachfolgesteuerprogramm 23c zu dem Zeitpunkt der Ausführung der Operation und ein Prozess der Steuerung 51 basierend auf dem Nachfolgesteuerprogramm 53b unter Bezugnahme auf das in 4 gezeigte Flussdiagramm beschrieben.
-
Zunächst platziert die Robotersteuereinheit 21 den distalen Endteil des Roboters 10 in eine vorbestimmte Position, die sich auf der oberen Seite der Fördereinrichtung 2 befindet (Schritt S1-1) . Die Position des Sensors 60 zu dem Zeitpunkt, zu dem der distale Endteil des Roboters 10 wie oben beschrieben platziert wird, ist eine Position, in der sich das Objekt O, das durch die Fördereinrichtung 2 bewegt wird, in einem Blickwinkel des Sensors 60 befindet.
-
Wenn die Robotersteuerung 20 die detektierten Positionen des Objekts O von dem Sensor 60 empfängt (Schritt S1-2), startet anschließend die Robotersteuereinheit 21 basierend auf den detektierten Positionen des Objekts O die erste Nachfolgesteuerung, in der der Roboter 10 so gesteuert wird, dass er bewerkstelligt, dass die Position der x-Achsen-Richtung und die der y-Achsen-Richtung des Werkzeughauptkörpers 32 dem Objekt O folgen, während die Position des Werkzeughauptkörpers 33 in der x-Achsen-Richtung und die in der y-Achsen-Richtung der Position des Objekts O angenähert werden (Schritt S1-3). Zu diesem Zeitpunkt verläuft die Mittelachsenlinie 42a der Kugelspindel 42 der Werkzeugbewegungseinrichtung 40 parallel zu der x-Achse.
-
Es gibt viele Arten von Steuerverfahren zum Erreichen der ersten Nachfolgesteuerung, und es ist zum Beispiel möglich, die folgenden beiden Steuerverfahren zu verwenden. Bei dieser Ausführungsform wird ersteres Steuerverfahren bildbasiertes Verfahren genannt, und das letztere wird positionsbasiertes Verfahren genannt. Gemäß dieser Ausführungsform detektiert der Sensor 60 in den beiden Steuerverfahren die Position und die Ausrichtung des Objekts O, die Position und die Ausrichtung des Objekts O können jedoch durch die Robotersteuerung 20 oder die Werkzeugsteuerung 50 basierend auf durch den Sensor 60 erhaltenen Daten detektiert werden.
-
Bei der das bildbasierte Verfahren verwendenden Steuerung wird der Roboter 10 so gesteuert, dass eine charakteristische Form, ein Merkmalpunkt, die Position der graphischen Mitte und dergleichen des Objekts O immer in einer vorbestimmten Position innerhalb des Blickwinkels des Sensors 60, der an dem distalen Endteil des Roboters 10 befestigt ist, positioniert sind, und dadurch wird bewerkstelligt, dass der Sensor 60 dem Objekt O folgt, und die Position des Bezugskoordinatensystems 201 wird auch gemäß der Position des Sensors 60 zu dem Zeitpunkt des Folgens des Objekts O oder der Position des distalen Endteils des Roboters 10 bewegt. Und deshalb bewegt sich die eingestellte Position des Bezugskoordinatensystems 201 sequenziell mit Bewegung des Objekts O, und der Roboter 10 führt bei Verfolgen des Objekts O durch das Betriebsprogramm 23b, das mit Bezug auf das Bezugskoordinatensystem 201 gelehrt wird, die Operationen durch.
-
Bei der die positionsbasierten Verfahren verwendenden Steuerung wird der Roboter 10 hingegen durch sequenzielles Detektieren der Positionen des Objekts O in dem Bezugskoordinatensystem 201 aus den von dem Sensor 60 erhaltenen Daten und durch Berechnen eines Korrekturbetrags derart, dass sich die Position des Objekts O der Zielposition nähert, was basierend auf den detektierten Positionen erfolgt, gesteuert.
-
In Abhängigkeit von den Arten der Operationen des Roboters 10 gibt es ferner in Schritt S1-3 einen Fall, dass der Roboter 10 das Werkzeug 30 mit konstanter Geschwindigkeit in der x-Achsen-Richtung bewegt, und es gibt auch einen Fall, dass der Roboter 10 das Werkzeug 30 in einer vorbestimmten Position platziert.
-
Basierend auf dem Betriebsprogramm 23b beginnt die Robotersteuereinheit 21 damit, den distalen Endteil des Roboters 10 zu der unteren Seite zu bewegen, so dass der Saugteil 32b des Werkzeughauptkörpers 32 mit der Oberseite des Objekts O in Kontakt kommt (Schritt S1-4). Wenn sich der distale Endteil des Roboters 10 zu der unteren Seite bewegt, startet die Steuerung 51 ferner die zweite Nachfolgesteuerung, bei der bewerkstelligt wird, dass die Position des Werkzeughauptkörpers 32 in der x-Achsen-Richtung den detektierten Positionen basierend auf den detektierten Positionen des Objekts O, die von dem Sensor 60 empfangen werden, folgt (Schritt S2-1). Und die Robotersteuereinheit 21 oder die Steuerung 51 betreibt die Saugeinrichtung 34 (Schritt S2-2). Ferner sollte Schritt S2-2 durchgeführt werden, bevor der Werkzeughauptkörper 32 in dem nachfolgend beschriebenen Schritt S2-5 in die Zielposition platziert wird.
-
Es gibt viele Arten von Steuerverfahren zum Erreichen der zweiten Nachfolgesteuerung, und die zweite Nachfolgesteuerung wird zum Beispiel durch Verwendung des folgenden Verfahrens durchgeführt. Das folgende Verfahren ist ein Steuerung, die basierend auf den detektierten Positionen des Objekts O in dem Bezugskoordinatensystem 201 durchgeführt wird, und deshalb wird es bei dieser Ausführungsform positionsbasiertes Verfahren genannt
-
Bei Voraussetzung dieses Prozesses werden das Bezugskoordinatensystem 201 des Roboters 10 und das Sensorkoordinatensystem 202, das die Position und die Ausrichtung des Sensors 60 zeigt, wie oben beschrieben miteinander korreliert, und ist es möglich, dass auf die Position und die Ausrichtung des Sensors 60, die durch die Robotersteuerung 20 erkannt werden, sequenziell von der Werkzeugsteuerung 50 Bezug genommen werden kann.
-
Die Steuerung 51 berechnet sequenziell die Position des Objekts O in dem Bezugskoordinatensystem 201 basierend auf der detektierten Position des Objekts O, die durch den Sensor 60 detektiert wird, und der Position und der Ausrichtung des Sensors 60; die Steuerung 51 steuert den Servomotor 43 dahingehend, sich der Zielposition anzunähern, was basierend auf der berechneten Position erfolgt, und dadurch wird bewerkstelligt, dass die Position des Werkzeugs 30 dem Objekt in der x-Achsen-Richtung folgt.
-
Selbstverständlich ist es darüber hinaus möglich, Schritt S2-1 durch Verwendung eines anderen Steuerverfahrens als das oben beschriebene Verfahren durchzuführen.
-
Wenn die Position des Objekts O bezüglich des Sensors 60 über eine vorbestimmte Referenz hinaus geändert wird (Schritt S1-5), führt hier die Robotersteuereinheit 21 einen Anomaliemanagementprozess durch (Schritt S1-6). Die über die vorbestimmte Referenz hinausgehende Änderung bedeutet eine starke Bewegung des Objekts O innerhalb der Bilddaten, eine Bewegung des Objekts O innerhalb der Bilddaten, die schneller als eine vorbestimmte Geschwindigkeit ist, ein Verschwinden des Objekts O zu einem unbeabsichtigten Zeitpunkt und dergleichen. Es gibt einen Fall, dass die Energieversorgung nicht stabil ist, einen Fall, dass die Drehzahl des Motors der Fördereinrichtung 2 plötzlich reduziert wird, und auch einen Fall, dass die Drehzahl des Motors drastisch geändert wird. In diesen Fällen wird die Position des Objekts O bezüglich des Sensors 60 über die vorbestimmte Referenz hinaus geändert.
-
Als Anomaliemanagementprozess führt der Roboter 21 eine Steuerung im Hinblick auf das Anhalten des Saugvorgangs des Objekts O, eine Steuerung im Hinblick auf das Evakuieren des Roboters 10, eine Steuerung im Hinblick auf das Anhalten der Fördereinrichtung 2 oder eine Steuerung, die Obiges kombiniert, durch.
-
Wenn die Position des Objekts O bezüglich des Sensors 60 über eine vorbestimmte Referenz hinaus geändert wird (Schritt S2-3), führt die Steuerung 51 bei dieser Ausführungsform auch den Anomaliemanagementprozess auf der Werkzeugseite durch (Schritt S2-4). Als Anomaliemanagementprozess auf der Werkzeugseite führt die Steuerung 51 eine Steuerung im Hinblick auf das Anhalten der Bewegung des Werkzeugs 30, eine Steuerung im Hinblick auf das Bewegen des Werkzeugs 30 in einer von dem Objekt O entfernten Richtung, eine Steuerung im Hinblick auf das Bewegen des Werkzeugs 30 zu einer vorbestimmten Position und dergleichen durch.
-
Als Nächstes wird der distale Endteil des Roboters 10 dank der Steuerung der Schritte S1-3 und S1-4 in der Zielposition platziert (Schritt S1-7), und zu diesem Zeitpunkt kommt der Saugteil 32b des Werkzeughauptkörpers 32 in einem Zustand, in dem der Werkzeughauptkörper 32 dank der Steuerung von Schritt S2-1 in der Zielposition platziert wird (Schritt S2-5), mit der Oberseite des Objekts O in Kontakt, und wenn ein Sensor 32c detektiert, dass der Saugteil 32b das Objekt O ansaugt (Schritt S1-8, S2-6), beendet die Steuerung 51 die Nachfolgesteuerung von Schritt S2-1 und bewegt den Werkzeughauptkörper 32 in die vorbestimmte Position (Schritt S2-7), und die Robotersteuereinheit 21 startet das Bewegen des Objekts O, das von dem Werkzeug 30 gehalten wird, in die vorbestimmte Position (Schritt S1-9). In solch einem Fall, dass die Saugwirkung des Saugteils 32b in Schritt S1-8 nicht detektiert wird, bewegt die Robotersteuereinheit 21 andererseits den Roboter 10 in eine Stand-by-Position (Schritt S1-10), und die Steuerung 51 bewegt den Werkzeughauptkörper 32 in die vorbestimmte Position (Schritt S2-8).
-
Ferner kann der Transport mittels des Roboters 10 dadurch durchgeführt werden, dass das Betätigungsausmaß des Werkzeugs 30 berücksichtigt wird, ohne den Werkzeughauptkörper 32 in Schritt S2-7 in die vorbestimmte Position zu bewegen (Schritt S1-9) .
-
Wie oben beschrieben wird, enthalten das Robotersystem und der Roboter 10 gemäß dieser Ausführungsform den Sensor 60, der das durch die Fördereinrichtung 2 bewegte Objekt O detektiert, und das Werkzeug 30, das an dem distalen Ende des Arms 12 des Roboters 10 befestigt ist. Bei dieser Ausführungsform wird die Werkzeugbewegungseinrichtung 40, die den Werkzeughauptkörper 32 des Werkzeugs 30 bezüglich des Roboters 10 bewegt, in einem Werkzeugsteuerzyklus, der kürzer als der Steuerzyklus des Roboters 10 ist, gesteuert.
-
Wackelt das Objekt O auf der Fördereinrichtung 2 hin und her und ist ein Zyklus solch einer sich ändernden Bewegung kürzer als der Steuerzyklus des Roboters 10, ist es zum Beispiel nicht möglich, die Bewegung des Roboters 10 auf das Objekt O abzustimmen. Und deshalb kann der Roboter 10 das Werkzeug 30 in eine ungefähre Position bewegen, in der das Objekt vorliegt, der Roboter 10 kann jedoch die Position des Werkzeugs 30 nicht mit hoher Genauigkeit auf die Bewegung des Objekts O abstimmen. Bei dieser Ausführungsform wird das an dem Roboter 10 befestigte Werkzeug 30 durch die Steuerung 51 in dem Werkzeugsteuerzyklus gesteuert, und der Werkzeugsteuerzyklus ist kürzer als der Steuerzyklus des Roboters 10. Deshalb ist es möglich, zu bewerkstelligen, dass die Position des Werkzeughauptkörpers 32 des Werkzeugs 30 dem durch die Fördereinrichtung 2 beförderten Objekt O mit hoher Genauigkeit folgt, ohne den Steuerzyklus des Roboters 10 zu verkürzen.
-
Ferner detektiert der Sensor 60 bei dieser Ausführungsform das Objekt O in einem Zyklus, der kürzer als der Steuerzyklus des Roboters 10 ist, und die den Roboter 10 steuernde Robotersteuerung 20 verwendet die sequenziell von dem Sensor 60 empfangenen Daten in jedem Zyklus, der länger als der Steuerzyklus des Werkzeugs ist, um den Roboter 10 zu steuern.
-
Und deshalb führt die Robotersteuerung 20 die Steuerung in dem Steuerzyklus durch, der länger als der Steuerzyklus des Werkzeugs ist, ohne dass der Sensor 60 Daten zum Steuern des Werkzeugs und Daten zum Steuern des Roboters separat erzeugen muss.
-
In solch einem Fall, dass die Position des Objekts O, die durch den Sensor 60 detektiert wird, über eine vorbestimmte Referenz hinaus geändert wird, führt der Roboter 10 und/oder das Werkzeug 30 bei dieser Ausführungsform ferner den Anomaliemanagementprozess durch. Diese Konfiguration ist dahingehend von Vorteil, mit hoher Sicherheit zu gewährleisten, dass eine Beschädigung des Roboters 10, des Werkzeugs 30, der Fördereinrichtung 2, des Objekts O und dergleichen verhindert wird.
-
Nachfolgend wird das Robotersystem gemäß einer zweiten Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
-
Wie in 5 gezeigt wird, unterscheidet sich bei dem Robotersystem gemäß der zweiten Ausführungsform eine Befestigungsposition des Sensors 60 von der ersten Ausführungsform. Insbesondere ist der Sensor 60 bei der zweiten Ausführungsform an dem Schieber 31 oder dem Werkzeughauptkörper 32 fixiert, und der Sensor 60 wird mittels der Werkzeugbewegungseinrichtung 40 zusammen mit dem Werkzeug 30 bewegt. Das Robotersystem gemäß der zweiten Ausführungsform verwendet auch den Roboter 10, die Robotersteuerung 20, das Werkzeug 30, die Werkzeugbewegungseinrichtung 40, die Werkzeugsteuerung 50 und den Sensor 60, die jenen der ersten Ausführungsform ähneln oder entsprechen.
-
Bei der zweiten Ausführungsform werden in der Werkzeugsteuerung 50 oder der Robotersteuerung 20 die Befestigungsposition und Ausrichtung des Sensors 60 (das Sensorkoordinatensystem 202) und eine Position und Ausrichtung des Werkzeugs 30 (ein Koordinatensystem 206 des distalen Werkzeugendes) vorher miteinander korreliert.
-
Eine aktuelle Position des Sensors 60, die von dem Bezugskoordinatensystem 201 der Robotersteuerung 20 gesehen wird, kann durch Berücksichtigung des Betätigungsausmaßes des Werkzeughauptkörpers 32 erhalten werden.
-
Auch bei der zweiten Ausführungsform werden zu dem Zeitpunkt der Ausführung der Aufnahmeoperation des Objekts O ein Prozess der Robotersteuereinheit 21 basierend auf dem Betriebsprogramm 23b und dem Nachfolgesteuerprogramm 23c und ein Prozess der Steuerung 51 basierend auf dem Nachfolgeprogramm 53b gemäß dem in 4 gezeigten Flussdiagramm durchgeführt. Die zweite Nachfolgesteuerung in Schritt S2-1 wird jedoch beispielsweise durch die folgenden beiden Verfahren durchgeführt. Bei dieser Ausführungsform wird Ersteres bildbasiertes Verfahren genannt, und das Letztere wird positionsbasiertes Verfahren genannt. Selbstverständlich ist es auch möglich, Schritt S2-1 durch Verwendung anderer Steuerverfahren als die oben beschriebenen Verfahren durchzuführen.
-
Bei Voraussetzung der folgenden beiden Prozesse ist die Werkzeugsteuerung 50, wie oben beschrieben wird, in der Lage, die Position des Werkzeughauptkörpers 32 in dem Bezugskoordinatensystem 201 basierend auf der Position und der Ausrichtung des Werkzeughauptkörpers 32, die durch die Robotersteuerung 20 erkannt werden, und dem Betätigungsausmaß des Werkzeughauptkörpers 32 sequenziell zu berechnen. Ferner werden das Koordinatensystem 206 des distalen Werkzeugendes, das die Position und die Ausrichtung des Werkzeugs 30 zeigt, und das Sensorkoordinatensystem 202, das die Position und die Ausrichtung des Sensors 60 zeigt, miteinander korreliert. Das heißt, die Werkzeugsteuerung 50 erkennt die Position und die Ausrichtung des Sensors 60 in dem Bezugskoordinatensystem 201.
-
Bei der das bildbasierte Verfahren verwendenden Steuerung steuert die Steuerung 51 den Motor 43 derart, dass eine bestimmte Position des Objekts O, wie zum Beispiel die Position der graphischen Mitte und dergleichen, immer in einer vorbestimmten Position innerhalb des Blickwinkels des Sensors 60 platziert ist, und dadurch wird bewerkstelligt, dass der Sensor 60 dem Objekt O in der x-Achsen-Richtung folgt. Bei dieser Nachfolgesteuerung wird bewerkstelligt, dass der Werkzeughauptkörper 32, dessen Position bezüglich des Sensors 60 festgelegt ist, dem Objekt O folgt.
-
Bei der das positionsbasierte Verfahren verwendenden Steuerung berechnet die Steuerung 51 sequenziell die Position des Objekts O in dem Bezugskoordinatensystem 201 basierend auf der detektierten Position des Objekts O, die durch den Sensor 60 detektiert wird, und der Position und Ausrichtung des Sensors 60 bezüglich des Werkzeugs 30. Und basierend auf der berechneten Position wird bewerkstelligt, dass das Objekt O der Position des Werkzeugs 30 in der x-Achsen-Richtung folgt.
-
Auch bei der zweiten Ausführungsform wird das an dem Roboter 10 befestigte Werkzeug 30 durch die Steuerung 51 in dem Werkzeugsteuerzyklus gesteuert, und der Werkzeugsteuerzyklus ist kürzer als der Steuerzyklus des Roboters 10. Deshalb ist es möglich, die gleiche Wirkung wie bei der ersten Ausführungsform zu erzielen.
-
Ferner wird bei der zweiten Ausführungsform der Sensor 60 zusammen mit dem Werkzeughauptkörper 32 des Werkzeugs 30 bewegt, so dass die Position des Werkzeughauptkörpers 32 bezüglich des Sensors 60 festgelegt ist. Deshalb wird die Bewegung des Werkzeughauptkörpers 32 durch den Sensor 60 direkt detektiert, und die Position des Objekts O bezüglich des Sensors 60 wird mit der Position des Objekts O bezüglich des Werkzeug hauptkörpers 32 in direkte Beziehung gesetzt. Dies ist zur Erzielung einer genauen Steuerung, Beschleunigung der Steuerung, Vereinfachung der Steuerung und dergleichen von Vorteil.
-
Nachfolgend wird ein Robotersystem gemäß einer dritten Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
-
Wie in 6 gezeigt wird, unterscheidet sich bei dem Robotersystem gemäß der dritten Ausführungsform eine Befestigungsposition des Sensors 60 von der ersten Ausführungsform. Insbesondere ist bei der dritten Ausführungsform der Sensor 60 mittels einer Stütze, eines Rahmens und dergleichen auf eine vorbestimmte Position festgelegt. Das Robotersystem gemäß der dritten Ausführungsform verwendet auch den Roboter 10, die Robotersteuerung 20, das Werkzeug 30, die Werkzeugbewegungseinrichtung 40, die Werkzeugsteuerung 50 und den Sensor 60, die jenen der ersten Ausführungsform ähneln oder entsprechen.
-
Bei der dritten Ausführungsform werden in der Robotersteuerung 20 das Bezugskoordinatensystem 201 und die Position und die Ausrichtung des Sensors 60 (das Sensorkoordinatensystem 202) vorher miteinander korreliert.
-
Auch bei der dritten Ausführungsform werden zu dem Zeitpunkt der Ausführung der Aufnahmeoperation des Objekts O der auf dem Betriebsprogramm 23b und dem Nachfolgesteuerprogramm 23c basierende Prozess der Robotersteuereinheit 21 und der auf dem Nachfolgeprogramm 53b basierende Prozess der Steuerung 51 gemäß dem in 4 gezeigten Flussdiagramm durchgeführt. Die erste Nachfolgesteuerung in Schritt S1-3 ist jedoch das positionsbasierte Steuerverfahren, der distale Endteil des Roboters 10 wird in einer vorbestimmten Position platziert, was der Vorbereitung zur Aufnahme des Objekts O in Schritt S1-1 dient. Des Weiteren wird die Nachfolgesteuerung in Schritt S2-1 zum Beispiel durch Verwendung des folgenden Verfahrens durchgeführt. Das folgende Verfahren ist die Steuerung, die basierend auf den detektierten Positionen des Objekts O in dem Bezugskoordinatensystem 201 durchgeführt wird, und deshalb wird es bei dieser Ausführungsform positionsbasiertes Verfahren genannt. Selbstverständlich ist es auch möglich, Schritt S2-1 durch Verwendung anderer Steuerverfahren als das oben beschriebene Verfahren durchzuführen.
-
Bei Voraussetzung dieses Prozesses werden, wie oben beschrieben wurde, das Bezugskoordinatensystem 201 des Roboters 10 und das Sensorkoordinatensystem 202, das die Position und die Ausrichtung des Sensors 60 zeigt, miteinander korreliert. Ferner ist die Werkzeugsteuerung 50 in der Lage, die Position und die Ausrichtung des Werkzeughauptkörpers 32 anhand der Position des Werkzeugs 30, die von dem Bezugskoordinatensystem 201 gesehen wird, und des Betätigungsausmaßes des Werkzeughauptkörpers 32 sequenziell zu berechnen. Bei der Werkzeugsteuerung 50 werden die Position und die Ausrichtung des Werkzeughauptkörpers 32 mit dem Bezugskoordinatensystem 201 korreliert.
-
Die Steuerung 51 berechnet sequenziell die Position des Objekts O in dem Bezugskoordinatensystem 201 basierend auf der detektierten Position des Objekts O, die durch den Sensor 60 detektiert wird, und der Position und der Ausrichtung des Sensors 60, um zu bewerkstelligen, dass die Position des Werkzeughauptkörpers 32 der berechneten Position in der x-Achsen-Richtung folgt.
-
Auch bei der dritten Ausführungsform wird das an dem Roboter 10 befestigte Werkzeug 30 durch die Steuerung 51 in dem Werkzeugsteuerzyklus gesteuert, und der Werkzeugsteuerzyklus ist kürzer als der Steuerzyklus des Roboters 10. Und deshalb ist es möglich, die gleiche Wirkung wie bei der ersten Ausführungsform zu erzielen.
-
Ferner können bei den ersten bis dritten Ausführungsformen die Blob-Verarbeitung, die Bildverarbeitung, wie zum Beispiel Mustervergleichsverarbeitung, die Verarbeitung zum Detektieren der Position der graphischen Mitte und dergleichen bezüglich der detektierten Ergebnisse des Sensors 60 durch die Robotersteuerung 20, die Werkzeugsteuerung 50 oder den anderen Computer und dergleichen durchgeführt werden.
-
Der Sensor 60 sendet zum Beispiel die Bilder zu der Robotersteuerung 20, der die Bilder in einem langen Zyklus verarbeiten kann, und die Robotersteuerung 20 führt den Mustervergleich durch, der die Kontur des Objekts O verwendet, und detektiert die genaue Position oder die Ausrichtung des Objekts O. Und die Robotersteuerung 20 kann den Roboter 10 basierend auf den detektierten Ergebnissen dahingehend steuern, sich dem Objekt O zu nähern. Zu diesem Zeitpunkt empfängt der Sensor 60 die detektierten Ergebnisse und sendet Erfassungsdaten zu der Werkzeugsteuerung 50, die eine Verarbeitung der Erfassungsdaten in einem kurzen Zyklus erfordert, und die Werkzeugsteuerung 50 kann den Werkzeughauptkörper 32 bewegen. Die Erfassungsdaten werden durch Ausführung der Blob-Verarbeitung, der Bildverarbeitung, wie zum Beispiel der Mustervergleichsverarbeitung und dergleichen, der Detektion des Schwerpunkts und dergleichen erhalten, und ein Verarbeitungsbereich davon wird auf einen Bereich eingegrenzt, der sich in einer Umgebung der detektierten Positionen des Objekts O in den detektierten Bildern befindet.
-
Ferner ist es bei den ersten bis dritten Ausführungsformen möglich, dass die Robotersteuerung 20, der Sensor 60 oder ein anderer Computer und dergleichen einen Teil der Funktionen oder die gesamten Funktionen der Werkzeugsteuerung 50 bereitstellt.
-
Des Weiteren wird bei den ersten bis dritten Ausführungsformen das Operationsziel als das Detektionsziel eingestellt, es kann jedoch ein anderes Ziel das Detektionsziel sein, solange das andere Ziel die relative Beziehung mit dem Operationsziel stabil aufrechterhalten kann.
-
Darüber hinaus sind der Sensor 60, die Robotersteuerung 20 und die Werkzeugsteuerung 50 jeweils mit einer Host-Steuerung verbunden, und die detektierten Ergebnisse, Einstellungen, Berechnungsergebnisse und dergleichen des Sensors 60, der Robotersteuerung 20 und der Werkzeugsteuerung 50 können über die Host-Steuerung gesendet und empfangen werden.
-
Und der Werkzeughauptkörper 32 kann ein anderes bekanntes Werkzeug sein, wie zum Beispiel ein Schneidwerkzeug zum Ausführen eines vorbestimmten Schneidens, wobei es sich um einen Maschinenschneidprozess und dergleichen handelt, ein Schweißwerkzeug, ein Lackiererwerkzeug, ein Reinigungswerkzeug, ein Messwerkzeug, einschließlich einer Nahaufnahmekamera und eines berührungslosen Thermometers, jede Art von Sensor, ein Montagewerkzeug, einschließlich eines Drehschraubers und dergleichen, und es ist möglich, dass das Objekt O Artikel verschiedenster Art sein kann, wie zum Beispiel eine Fahrzeugkarosserie, ein Montagezielteil oder ein Schneidzielteil, wie zum Beispiel ein Loch und dergleichen, das an der Fahrzeugkarosserie vorgesehen ist, ein Rahmen, eine Komponente, ein Halbzeug, ein Nahrungsmittel, Medizinbedarf und dergleichen.
-
Ferner enthält der Werkzeughauptkörper 32 bei den ersten bis dritten Ausführungsformen eine Saugteilbewegungseinrichtung, die den Saugteil 32b mittels des Motors in der x-Achsen-Richtung bewegt, und die Werkzeugsteuerung 50 kann die Saugteilbewegungseinrichtung durch Verwendung der detektierten Positionen des Objekts O, die durch den Sensor 60 detektiert werden, steuern.
-
Und bei den ersten bis dritten Ausführungsformen kann die Werkzeugsteuerung 50 in solch einem Fall, dass der Werkzeughauptkörper 32 eine Hand ist, die das Objekt O mit mehreren Fingern ergreift, jeden der Finger der Hand durch Verwendung der detektierten Positionen des Objekts O, die durch den Sensor 60 detektiert werden, steuern. In diesen Fällen kann die gleiche Wirkung wie oben beschrieben erzielt werden, ohne dass die Werkzeugbewegungseinrichtung 40 vorgesehen ist.
-
Ferner ist bei den ersten bis dritten Ausführungsformen nur ein Flanschglied 13, das sich auf der Seite des sich am weitesten distal befindenden Endes befindet, (ein um eine Endachse angetriebenes Armglied) unter den mehreren der den Arm 12 des Roboters 10 konfigurierenden Armglieder so eingestellt, dass sich das Flanschglied 13 mit einer hohen Geschwindigkeit bewegen kann, die Werkzeugsteuerung 51 ist in der Robotersteuerung 20 integriert, und das Armglied, das sich an dem sich am weitesten distal befindenden Ende befindet, wird in dem Steuerzyklus gesteuert, der kürzer als der Steuerzyklus des Roboters 10 ist, und deshalb kann die gleiche Wirkung wie oben beschrieben erzielt werden. Darüber hinaus kann ein Armglied, das sich am zweitnächsten zu der Seite des distalen Endes befindet, auch auf die gleiche Weise durch den Steuerzyklus des Werkzeugs gesteuert werden.
-
Und bei den ersten bis dritten Ausführungsformen kann ein anderer Roboter statt der Fördereinrichtung 2 das Objekt O transportieren. Auch in diesem Fall kann die gleiche Wirkung wie oben beschrieben erzielt werden. Des Weiteren kann in solch einem Fall, dass das Objekt O ein Automobil ist, eine Karosserie des Automobils, die das Objekt O ist, an dem eine vorbestimmte Operation durchgeführt wird, durch ihren Motor, ihre Räder und dergleichen bewegt werden. In diesen Fällen stellen der andere Roboter, der Motor, die Räder und dergleichen die Funktion des Bewegungsmittels bereit.
-
Bei den ersten bis dritten Ausführungsformen kann ein Shooter, von dem das Objekt O aufgrund der Schwerkraft herunterrutscht, herunterrollt oder herunterfällt, statt der Fördereinrichtung 2 das Objekt O transportieren. In diesem Fall ist es auch möglich, den geneigten Shooter mit einer Vibrationsvorrichtung mit Vibrationen zu beaufschlagen, um einen reibungslosen Transport des Objekts O auf dem Shooter zu gestatten. In diesen Fällen stellen der Shooter, die Vibrationsvorrichtung und dergleichen die Funktion des Bewegungsmittels bereit, und das durch den Shooter bewegte Objekt O wird durch den Werkzeug hauptkörper 32, der an dem Roboter 10 befestigt ist, aufgenommen.
-
Ferner enthält die Werkzeugbewegungseinrichtung 40 bei den ersten bis dritten Ausführungsformen einen x-Achsen-Richtungs-Aktuator, der den Motor 43 und die Kugelspindel 42 aufweist, um den Werkzeughauptkörper 32 in die x-Achsen-Richtung zu bewegen. Hingegen enthält die Werkzeugbewegungseinrichtung 40 ferner einen y-Achsen-Richtungs-Aktuator, der dem x-Achsen-Richtungs-Aktuator ähnelt, und die Werkzeugsteuerung 50 kann den x-Achsen-Richtungs-Aktuator und den y-Achsen-Richtungs-Aktuator durch Verwendung der detektierten Positionen des Objekts O, die durch den Sensor 60 detektiert werden, steuern. In diesem Fall ist es möglich, zu bewerkstelligen, dass das Objekt O der Position des Werkzeughauptkörpers 32 in der x-Achsen-Richtung und y-Achsen-Richtung mit hoher Genauigkeit folgt. Die Werkzeugbewegungseinrichtung 40 kann ferner einen z-Achsen-Richtungs-Aktuator, einen Drehrichtungsaktuator und dergleichen enthalten.
-
Bezugszeichenliste
-
- 2
- Fördereinrichtung (Bewegungsmittel)
- 2a
- Motor
- 10
- Roboter
- 11
- Servomotoren
- 12
- Arm
- 13
- Flanschglied
- 20
- Robotersteuerung
- 21
- Robotersteuerung
- 23
- Speichereinheit
- 23a
- Systemprogramm
- 23b
- Betriebsprogramm
- 30
- Werkzeug
- 31
- Schieber
- 32
- Werkzeughauptkörper
- 32a
- Basisteil
- 32b
- Saugteil
- 32c
- Sensor
- 33
- Rohr
- 34
- Saugeinrichtung
- 40
- Werkzeugbewegungseinrichtung
- 41
- Bewegungseinrichtungshauptkörper
- 42
- Kugelspindel
- 43
- Motor
- 50
- Werkzeugsteuerung
- 51
- Steuerung
- 53
- Speichereinheit
- 53a
- Systemprogramm
- 53b
- Nachfolgesteuerprogramm
- 60
- Sensor
- 61
- Prozessor
- 62
- RAM
- 63
- Speicher
- O
- Objekt