-
Die vorliegende Erfindung betrifft eine Teach-Positionskorrekturvorrichtung und ein Teach-Positionskorrekturverfahren.
-
Herkömmlicherweise ist eine Teach-Positionskorrekturvorrichtung in einem Robotersystem bekannt, das ausgestaltet ist, um unter Verwendung eines Roboters auf einem Arbeitszielobjekt zu arbeiten, wobei die Teach-Positionskorrekturvorrichtung zum Korrigieren einer Teach-Position in einem Fall bestimmt ist, in dem mindestens eines von dem Roboter und einer Haltevorrichtung, die ein Arbeitszielobjekt hält, umgestellt wird, derart dass ein Betriebsprogramm, für das das Teaching vor der Umstellung durchgeführt wurde, auch nach der Umstellung verwendet werden kann (siehe zum Beispiel PTL 1:
JP 2005 - 149 299 A ).
-
Aus der Druckschrift
DE 10 2016 008 361 A1 ist ferner eine Lehrvorrichtung für einen Roboter bekannt, welche einen Kraftsensor, der zwischen einem Arm eines Roboters und einem Endeffektor angeordnet ist, und ein Führungsteil, das an dem Endeffektor befestigt ist, umfasst. Ein Objekt umfasst einen ausgesparten Teil. Der ausgesparte Teil weist eine Referenzfläche auf, mit der die Zielfläche des Endteils des Führungsteils in Flächenkontakt gebracht wird, um eine Position und eine Stellung des Roboters zu bestimmen. Eine Roboter-Steuervorrichtung führt eine Steuerung aus, um die Zielfläche des Führungsteils in Kontakt mit der Referenzfläche des ausgesparten Teils zu bringen, um basierend auf der Richtung einer auf den Endeffektor ausgeübten Kraft eine Lehrposition des Roboters zu bestimmen.
-
Aus der Druckschrift
DE 10 2016 010 284 A1 ist ein Robotersystem bekannt, bei dem eine Signalausgabeeinheit in Abhängigkeit von einem Verarbeitungsergebnis einer Bildverarbeitungseinheit ein Eintrittsvorbereitungssignal ausgibt, das einen Eintrittsvorbereitungszustand anzeigt, und ein Eintrittsberechtigungssignal ausgibt, um einer Person das Betreten eines vorbestimmten Abschnitts in einem Fall zu ermöglichen, in dem die Person aufgefordert wurde, den vorgegebenen Abschnitt zu betreten. Das Eintrittsvorbereitungssignal wird ausgegeben, wenn das Stoppen des Betriebs des Roboters erkannt wird, und danach, wenn die Person den Eintritt in den vorbestimmten Abschnitt anfordert, werden eine Anweisung zum Stoppen des Betriebs des Roboters oder eine Anweisung zum Stoppen des Betriebs des Roboters sowie eine Anweisung zum Stoppen eines Teils des Robotersystems, der erforderlich ist, damit die Person darin eintreten kann, ausgegeben, und das Eintrittserlaubnissignal wird ausgegeben.
-
Aus der Druckschrift
EP 1 530 107 A2 ist eine Vorrichtung bekannt, mittels der eine einfache Korrektur der Positionsdaten im Lernprogramm für einen Roboter mit gleichbleibender Genauigkeit durchgeführt werden kann. Ein Arbeitswerkzeug ist an einem Arm des Roboters angebracht, und ein Abbildungsmittel ist durch einen Magneten oder anderweitig abnehmbar am Arm befestigt, so dass die optische Achse mit einer Arbeitsrichtung zusammenfällt. Wenn das Positionsdatenkorrekturprogramm startet, werden Punkte P1 bis P3 auf einer Spannvorrichtung oder einem Werkstück an mehreren Bildpositionen D1, D2 und D3 abgebildet, und die Position des jeweiligen Punkts wird erfasst. Basierend auf dem erfassten Ergebnis wird die Korrektur der Positionsdaten im Lehrprogramm vorgenommen, die der Abweichung (im Vergleich zu den Offline-Daten oder Positionsdaten vor der Übertragung des Systems) von Position und Haltung der Spannvorrichtung oder des Werkstücks entsprechen. Das Werkzeug kann eine Laserstrahlbearbeitungsdüse, ein Lichtbogenschweißbrenner oder eine Siegelpistole sein.
-
Aus der Druckschrift
JP 2016 - 013 608 A ist es bekannt, einen Lernpunkt, der einem ersten Roboter beigebracht wurde, mittels eines zweiten Roboters mit höherer Genauigkeit zu reproduzieren, wenn der erste Roboter durch den zweiten Roboter ersetzt wird. Hierzu werden vor und nach dem Austausch der Roboter drei oder mehr Markierungen, die sich nicht auf einer anderen Geraden als der erste und zweite Roboter befinden, von einer Kamera gemessen, die an einer Handspitze des ersten bzw. zweiten Roboters angebracht ist. Unter Verwendung eines Messwerts von zwei Paaren der Markierungen jeweils vor und nach dem Austausch der Roboter, werden ein Installationsfehler zum Austauschzeitpunkt vom ersten Roboter zum zweiten Roboter und ein Handspitzenpositionsspezifikationsparameter zum Spezifizieren einer Handspitzenposition in einem Basiskoordinatensystem des ersten Roboters vor dem Austausch und des zweiten Roboters nach dem Austausch geschätzt. Unter Verwendung des geschätzten Installationsfehlers und des Handspitzenpositionsspezifikationsparameters wird der dem ersten Roboter einprogrammierte Lernpunkt in den Lernpunkt für den zweiten Roboter umgewandelt.
-
Aus der Druckschrift
JP 2010 - 076 054 A ist eine Robotervorrichtung bekannt, die dazu eingerichtet ist, eine Feineinstellung automatisch nach einer Installation der Robotervorrichtung durchzuführen. Hierbei ist es möglich, den Abstand von einem Arbeitsobjekt und die Neigung des Objekts genau zu korrigieren und die Position selbst dann zu korrigieren, wenn die Installationsposition der Robotervorrichtung stark von einer vorgegebenen Position abweicht. Fingerspitzen eines Manipulators werden mit drei Kontaktpunkten in Kontakt gebracht, die nicht auf einer Linie in derselben Ebene liegen, wie eine Ebene, auf der das Arbeitsobjekt installiert ist. Die Positionen der Kontaktpunkte werden dabei erfasst. Die Neigung und die Höhenposition der Ebene werden basierend auf den Positionen gemessen. Ein Bild eines Markers in der Ebene wird aufgenommen, wobei die optische Achse eines Bildaufnahmemittels der Fingerspitzen des Manipulators orthogonal zu der Ebene ist. Das aufgenommene Bild des Markers wird verarbeitet, um die Position und die Drehrichtung des Markers zu messen. Dann wird der Manipulator basierend auf der Neigung und der Höhenposition der Ebene und der Position und der Drehrichtung des Markers auf der Ebene gesteuert.
-
Aus der Druckschrift
JP H10 - 049 218 A ist eine Steuerung eines Roboters bekannt, bei der ein visueller Sensor und ein visuelles Ziel genutzt werden. Dabei werden zuvor eingegebene Sensordaten verwendet, die die relative Positionsbeziehung zwischen einem visuellen Ziel und einer Roboterarmspitze in einem Zustand darstellen, in dem das TCP des Roboters die Bewegung zu einer gewünschten Befehlsposition beendet hat. Ein Bediener betätigt eine manuelle Roboterbedienungseinrichtung um eine Achsenbewegungssteuereinrichtung dazu zu bringen, die jeweiligen Achsen zu steuern, wodurch eine Tippbewegung gestartet wird. Ferner wird ein Modus des Roboters von einem Jobbewegungsmodus in einen autonomen Bewegungsmodus verschoben und der TCP wird autonom in eine gewünschte Befehlsposition bewegt. Die Steuerung der autonomen Bewegung erfolgt auf der Grundlage der gewünschten Daten zum Ankunftszustand der Befehlsposition und der Daten, die von einem Mittel zur Erkennung der relativen Position eines Ziels erfasst werden.
-
Die Teach-Positionskorrekturvorrichtung in der weiter oben genannten PTL 1 geht davon aus, dass eine relative Position einer Kamera, die an einer Handspitze eines Roboters angebracht ist, in Bezug zur Handspitze des Roboters durch Kamerakalibrierung erfasst wird, derart dass dreidimensionale Positionsinformationen eines Messteils auf einem Arbeitszielobjekt durch Messung unter Verwendung der Kamera erfasst werden. Die Kamerakalibrierung erfordert indes, dass eine Ausrichtung der Handspitze des Roboters so weit wie möglich geändert wird, und wenn die Handspitze des Roboters in hohem Maße mit einem daran befestigten Werkzeug bewegt wird, besteht ein Problem, dass das Werkzeug und ein Mechanismusabschnitt der Roboterschnittstelle einander stören.
-
Die vorliegende Erfindung wurde in Anbetracht der vorhergehenden Umstände gemacht und ihre Aufgabe besteht darin, eine Teach-Positionskorrekturvorrichtung und ein Teach-Positionskorrekturverfahren bereitzustellen, die in der Lage sind, ein Betriebsprogramm, dessen Teaching vor der Umstellung durchgeführt wurde, einfach zu korrigieren, derart dass das Betriebsprogramm nach der Umstellung ohne Durchführung von Kamerakalibrierung verwendet werden kann.
-
Zur Erfüllung der vorhergehend beschriebenen Aufgabe stellt die vorliegende Erfindung die folgenden Lösungen bereit.
-
Ein Gesichtspunkt der vorliegenden Erfindung stellt eine Teach-Positionskorrekturvorrichtung bereit, die einen Vision-Sensor, der an einem Spitzenende eines Arms eines Roboters angebracht ist, der visuelle Informationen erfasst, eine Positionsmesseinheit, die eine dreidimensionale Position des Spitzenendes des Roboters basierend auf den visuellen Informationen misst, die durch den Vision-Sensor erfasst werden, wenn der Vision-Sensor an einer vorbestimmten Position in Bezug zu jedem von drei oder mehr Bezugspunkten angeordnet ist, die auf einem von einem durch den Roboter zu bearbeitenden Arbeitszielobjekt und einer Haltevorrichtung, die das Arbeitszielobjekt hält, bereitgestellt sind und die nicht auf einer geraden Linie angeordnet sind, und eine Relative-Positions-Berechnungseinheit umfasst, die eine relative Position von jedem von anderen Bezugspunkten in Bezug zu einem von den Bezugspunkten basierend auf der dreidimensionalen Position berechnet, die durch die Positionsmesseinheit gemessen wird, während der Vision-Sensor durch die Betätigung des Roboters translatorisch bewegt wird, wobei eine Teach-Punktposition in einem Betriebsprogramm des Roboters derart korrigiert wird, dass eine Änderung bei den relativen Positionen des Roboters und der Haltevorrichtung basierend auf durch die Relative-Positions-Berechnungseinheit vor und nach der Umstellung von mindestens einem von dem Roboter und der Haltevorrichtung berechneten relativen Positionen der Bezugspunkte kompensiert wird.
-
Gemäß dem vorliegenden Gesichtspunkt ist der Roboter in Bezug zu einem Arbeitszielobjekt eingerichtet, das durch die Haltevorrichtung gehalten wird, und das Teaching eines Teach-Punkts in dem Betriebsprogramm des Roboters wird durchgeführt, und dann wird der Vision-Sensor an dem Spitzenende des Arms des Roboters angebracht und die dreidimensionale Position des Spitzenendes des Roboters wird durch die Positionsmesseinheit, während der Vision-Sensor durch die Betätigung des Roboters translatorisch bewegt wird, basierend auf den visuellen Informationen gemessen, die durch den Vision-Sensor erfasst werden, wenn der Vision-Sensor an einer vorbestimmten Position in Bezug zu jedem von den drei oder mehr Bezugspunkten angeordnet ist, die auf einem von dem Arbeitszielobjekt und der Haltevorrichtung bereitgestellt sind und die nicht auf einer geraden Linie angeordnet sind, und die relativen Positionen von anderen Bezugspunkten in Bezug zu einem von den Bezugspunkten werden durch die Relative-Positions-Berechnungseinheit berechnet.
-
Dann wird auf die gleiche Weise wie vor der Umstellung, nachdem mindestens eines von dem Roboter und der Haltevorrichtung umgestellt wurde, der Vision-Sensor an dem Spitzenende des Arms des Roboters angebracht und die dreidimensionale Position des Spitzenendes des Roboters wird durch die Positionsmesseinheit, während der Vision-Sensor durch die Betätigung des Roboters translatorisch bewegt wird, basierend auf den visuellen Informationen gemessen, die durch den Vision-Sensor erfasst werden, wenn der Vision-Sensor an einer vorbestimmten Position in Bezug zu jedem von den Bezugspunkten angeordnet ist, und die relativen Positionen von anderen Bezugspunkten in Bezug zu einem von den Bezugspunkten werden durch die Relative-Positions-Berechnungseinheit berechnet.
-
Auf diese Weise wird die Teach-Punktposition in dem Betriebsprogramm des Roboters basierend auf den berechneten relativen Positionen der Bezugspunkte vor und nach der Umstellung derart korrigiert, dass eine Änderung bei den relativen Positionen des Roboters und der Haltevorrichtung kompensiert wird.
-
Das heißt, basierend auf der Tatsache, dass relative Positionen von drei oder mehr Bezugspunkten, die auf dem Arbeitszielobjekt oder der Haltevorrichtung bereitgestellt sind, sich nicht ändern, kann die Teach-Punktposition in dem Betriebsprogramm, dessen Teaching vor der Umstellung durchgeführt wurde, einfach ohne Durchführung von Kalibrierung des Vision-Sensors in Bezug zu dem Roboter korrigiert werden.
-
In dem vorhergehend beschriebenen Gesichtspunkt kann eine Transformationsmatrix für die Drehkomponente für die Teach-Punktposition vor und nach der Umstellung basierend auf den relativen Positionen der durch die Relative-Positions-Berechnungseinheit berechneten Bezugspunkte vor und nach der Umstellung berechnet werden, und die Teach-Punktposition kann unter Verwendung der Transformationsmatrix korrigiert werden.
-
Dementsprechend kann, sogar wenn die Position des Vision-Sensors aufgrund der Entfernung oder Anbringung des Vision-Sensors von/an dem Roboter während der Messung durch den Vision-Sensor vor und nach der Umstellung geändert wird, eine Transformationsmatrix berechnet werden, die die Drehkomponente für die Teach-Punktposition vor und nach der Umstellung genau bestimmt, und die Teach-Punktposition kann genau korrigiert werden.
-
Ferner können in dem vorhergehend beschriebenen Gesichtspunkt die dreidimensionale Position und eine Ausrichtung des Spitzenendes des Roboters, wenn der Vision-Sensor an einer vorbestimmten Position in Bezug zu einem der Bezugspunkte angeordnet wird, durch die Positionsmesseinheit vor und nach der Umstellung gemessen werden, eine Transformationsmatrix für die Translationskomponente für die Teach-Punktposition vor und nach der Umstellung kann basierend auf einer gemessenen Ausrichtungskomponente des Spitzenendes des Roboters vor und nach der Umstellung und der Transformationsmatrix für die Drehkomponente berechnet werden und die Teach-Punktposition kann unter Verwendung der Transformationsmatrix für die Translationskomponente korrigiert werden.
-
Dementsprechend kann, sogar wenn die Position und die Ausrichtung des Vision-Sensors aufgrund der Entfernung oder Anbringung des Vision-Sensors von/an dem Roboter während der Messung durch den Vision-Sensor vor und nach der Umstellung geändert werden, eine Transformationsmatrix berechnet werden, die die Translationskomponente für die Teach-Punktposition vor und nach der Umstellung genau bestimmt, und die Teach-Punktposition kann genau korrigiert werden.
-
Ferner können in dem vorhergehend beschriebenen Gesichtspunkt die Bezugspunkte Punkte sein, die eine Form aufweisen, die für die Haltevorrichtung oder das Arbeitszielobjekt charakteristisch ist.
-
Darüber hinaus können in dem vorhergehend beschriebenen Gesichtspunkt die Bezugspunkte Bezugsmarkierungen sein, die auf der Haltevorrichtung oder dem Arbeitszielobjekt bereitgestellt sind.
-
Darüber hinaus stellt ein anderer Gesichtspunkt der vorliegenden Erfindung ein Teach-Positions-Korrekturverfahren bereit, das vor der Umstellung von mindestens einem von einem Roboter und einer Haltevorrichtung, die ein Arbeitszielobjekt hält, das durch den Roboter zu bearbeiten ist, einen ersten Schritt zum Messen einer dreidimensionalen Position eines Spitzenendes des Roboters basierend auf visuellen Informationen, die durch einen Vision-Sensor erfasst werden, der an einem Spitzenende eines Arms des Roboters angebracht ist, wenn der Vision-Sensor durch translatorische Bewegung durch die Betätigung des Roboters an einer vorbestimmten Position in Bezug zu jedem von drei oder mehr Bezugspunkten angeordnet wird, die auf einem von dem Arbeitszielobjekt und der Haltevorrichtung bereitgestellt sind und die nicht auf einer geraden Linie angeordnet sind, nach der Umstellung einen zweiten Schritt zum Messen der dreidimensionalen Position des Spitzenendes des Roboters basierend auf den visuellen Informationen, die durch den Vision-Sensor erfasst werden, der an dem Spitzenende des Arms des Roboters angebracht ist, wenn der Vision-Sensor, indem er durch die Betätigung des Roboters translatorisch bewegt wird, an einer vorbestimmten Position in Bezug zu jedem von den drei oder mehr Bezugspunkten angeordnet wird, die auf einem von dem Arbeitszielobjekt und der Haltevorrichtung bereitgestellt sind und die nicht auf einer geraden Linie angeordnet sind, einen dritten Schritt zum Berechnen einer relativen Position von jedem von anderen Bezugspunkten vor und nach der Umstellung in Bezug zu einem von den Bezugspunkten und einen vierten Schritt zum Korrigieren einer Teach-Punktposition in einem Betriebsprogramm des Roboters umfasst, derart dass eine Änderung bei den relativen Positionen des Roboters und der Haltevorrichtung basierend auf in dem dritten Schritt berechneten relativen Positionen der Bezugspunkte vor und nach der Umstellung kompensiert werden.
-
In dem vorhergehend beschriebenen Gesichtspunkt kann im vierten Schritt eine Transformationsmatrix für die Drehkomponente für die Teach-Punktposition vor und nach der Umstellung basierend auf den vor und nach der Umstellung berechneten relativen Positionen der Bezugspunkte berechnet werden, und die Teach-Punktposition kann unter Verwendung der Transformationsmatrix korrigiert werden.
-
Ferner können in dem vorhergehend beschriebenen Gesichtspunkt in dem ersten Schritt und dem zweiten Schritt die dreidimensionale Position und eine Ausrichtung des Spitzenendes des Roboters, wenn der Vision-Sensor an einer vorbestimmten Position in Bezug zu einem der Bezugspunkte angeordnet wird, gemessen werden, und im vierten Schritt kann eine Transformationsmatrix für die Translationskomponente für die Teach-Punktposition vor und nach der Umstellung basierend auf einer gemessenen Ausrichtungskomponente des Spitzenendes des Roboters vor und nach der Umstellung und der Transformationsmatrix für die Drehkomponente berechnet werden und die Teach-Punktposition kann unter Verwendung der Transformationsmatrix für die Translationskomponente korrigiert werden.
-
Die vorliegende Erfindung kann einen vorteilhaften Effekt erreichen, der darin besteht, dass ein Betriebsprogramm, dessen Teaching vor der Umstellung durchgeführt wurde, einfach korrigiert werden kann, um nach der Umstellung ohne Durchführung von Kamerakalibrierung verwendbar zu sein.
- 1 ist ein Gesamtausgestaltungsdiagramm, das eine Teach-Positionskorrekturvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
- 2 ist ein Diagramm, das ein Beispiel einer Bezugsmarkierung zeigt, die auf der Teach-Positionskorrekturvorrichtung in 1 bereitgestellt ist.
- 3 ist ein Ablaufdiagramm, das einen Schritt vor der Umstellung in einem Teach-Positions-Korrekturverfahren zeigt, das unter Verwendung der Teach-Positionskorrekturvorrichtung in 1 durchgeführt wird.
- 4 ist ein Ablaufdiagramm, das Schritte nach der Umstellung in dem Teach-Positions-Korrekturverfahren zeigt, das unter Verwendung der Teach-Positionskorrekturvorrichtung in 1 durchgeführt wird.
- 5 ist ein Ablaufdiagramm, das eine Messroutine für eine dreidimensionale Position und eine Ausrichtung in 3 und 4 beschreibt.
-
In der Folge wird eine Teach-Positionskorrekturvorrichtung 1 gemäß einer Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen beschrieben.
-
Wie in 1 gezeigt, wird die Teach-Positionskorrekturvorrichtung 1 gemäß der vorliegenden Ausführungsform auf ein Robotersystem 100 angewandt, das einen Roboter 110, der ein Arbeitswerkzeug, wie beispielsweise eine Schweißpistole 112, aufweist, das an einem Spitzenende eines Roboterarms (Arm) 111 angebracht ist, und eine Haltevorrichtung 120 umfasst, die abnehmbar ein Arbeitszielobjekt O hält, das durch den Roboter 110 zu bearbeiten ist, wie beispielsweise eine Blechtafel, die durch die Schweißpistole 112 zu schweißen ist.
-
In dem in 1 gezeigten Beispiel ist der Roboter 110 ein Roboter vom 6-achsigen gelenkigen Typ und ist mit einer Steuervorrichtung 130 verbunden und wird gemäß einem Betriebsprogramm betätigt, das in der Steuervorrichtung 130 gespeichert ist. Ein Programmierhandgerät 140, das durch einen Benutzer zu betätigen ist, ist mit der Steuervorrichtung 130 verbunden und der Roboter 110 kann manuell betätigt werden (Tippbetrieb), zum Beispiel wenn ein Benutzer das Programmierhandgerät 140 zum Zeitpunkt des Teachings des Betriebsprogramms betätigt.
-
Die Haltevorrichtung 120 ist eine Spannvorrichtung, die einen Klemmmechanismus umfasst, der das Arbeitszielobjekt O abnehmbar befestigt. Das Arbeitszielobjekt O ist zu halten, während es genau auf der Haltevorrichtung 120 positioniert ist und das gleiche gilt für die Zeit nach der Umstellung, wie in der Folge beschrieben.
-
Eine Bezugsmarkierung (Bezugspunkt) A, die durch einen in der Folge beschriebenen Vision-Sensor 2 gelesen werden kann, ist an drei Positionen bereitgestellt, die sich an einer oberen Fläche der Haltevorrichtung 120 befinden und die zum Beispiel nicht in einer geraden Linie angeordnet sind. Als die Bezugsmarkierung A kann irgendeine Markierung verwendet werden, aber zum Beispiel wird, wie in 2 gezeigt, ein Kreis mit einem Kreuz in der Mitte verwendet.
-
Die Teach-Positionskorrekturvorrichtung 1 gemäß der vorliegenden Ausführungsform umfasst einen Vision-Sensor 2, wie beispielsweise eine CCD-Kamera, die an dem Spitzenende, wie beispielsweise der Schweißpistole 112, des Roboterarms 111 befestigt ist und die ein zweidimensionales Bild (visuelle Informationen) erfasst. Der Vision-Sensor 2 ist durch ein geeignetes Befestigungsmittel, wie beispielsweise einen Permanentmagneten, abnehmbar an der Schweißpistole 112 befestigt. In der Zeichnung ist ein Bezugszeichen 3 ein Monitor, der das zweidimensionale Bild, das das durch den Vision-Sensor 2 erfasst wird, anzeigt.
-
Ferner umfasst die Teach-Positionskorrekturvorrichtung 1 gemäß der vorliegenden Ausführungsform eine Positionsmesseinheit (nicht gezeigt), die eine dreidimensionale Position des Spitzenendes des Roboters 110 basierend auf dem zweidimensionalen Bild misst, das durch den Vision-Sensor 2 erfasst wird, wenn der Vision-Sensor 2 an einer vorbestimmten Position in Bezug zu jeder Bezugsmarkierung A angeordnet ist, und eine Relative-Positions-Berechnungseinheit (nicht gezeigt), die die relativen Positionen anderer Bezugsmarkierungen A in Bezug zu einer Bezugsmarkierung A basierend auf der dreidimensionalen Position von jeder Bezugsmarkierung A berechnet, die durch die Positionsmesseinheit während der translatorischen Bewegung des Roboters 110 erfasst wird.
-
Zielwerte der Position und der Größe der Bezugsmarkierung A, die an einem zweidimensionalen Bild anzuordnen ist, werden durch die Positionsmesseinheit eingestellt. Zum Beispiel wird eine Position, an der ein Schnittpunkt des Kreuzes der Bezugsmarkierung A an einem Mittelpunkt des zweidimensionalen Bildes erscheint, für die Zielposition eingestellt, und eine Abmessung des Außendurchmessers des Kreises der Bezugsmarkierung A wird für die Zielgröße eingestellt.
-
Das heißt, die Positionsmesseinheit arbeitet an einer Messstartausrichtung, die durch einen Tippbetrieb des Roboters 110 durch einen Benutzer erreicht wird, die eine von den Bezugsmarkierungen A auf der Haltevorrichtung 120 in einem Gesichtsfeld des Vision-Sensors 2 umfasst. Die Positionsmesseinheit bewirkt, dass der Roboter 110 eine so genannte visuelle Nachbesserungsoperation zum translatorischen Bewegen des Vision-Sensors 2 durchgeführt, bis die Bezugsmarkierung A in dem zweidimensionalen Bild sich an der Zielposition und mit der Zielgröße befindet, und speichert eine Position (Koordinatenwert) und eine Ausrichtung (Winkelwert) einer mechanischen Schnittstelle (Endeffektor) des Roboters 110 in einem Ursprungskoordinatensystem des Roboters 110 basierend auf einem Wert eines Codierers (nicht gezeigt) auf jeder Achse des Roboters 110 am Ende der visuellen Nachbesserungsoperation. Darüber hinaus reicht es aus, wenn die Ausrichtung für lediglich eine Bezugsmarkierung A gespeichert wird.
-
In der visuellen Nachbesserungsoperation wird der Roboter 110 geringfügig translatorisch in jede der Richtungen entlang der X-, Y- und Z-Achsen im Ursprungskoordinatensystem bewegt, während die Ausrichtung des Vision-Sensors 2 in der Messstartausrichtung, in der die Bezugsmarkierung A sich im Gesichtsfeld befindet, konstant gehalten wird. Dies ermöglicht es, zu begreifen, welche Änderung bei der Position und der Größe der Bezugsmarkierung A in dem zweidimensionalen Bild durch die Bewegung des Roboters 110 in welche Richtung bewirkt wird.
-
Das heißt, die Bewegung einer zentralen Position der Bezugsmarkierung A in dem zweidimensionalen Bild gibt die Bewegung des Vision-Sensors 2 in Bezug zur Bezugsmarkierung A in einer Richtung orthogonal zu einer optischen Achse des Vision-Sensors 2 an und eine Änderung bei der Größe der Bezugsmarkierung A in dem zweidimensionalen Bild gibt die Bewegung des Vision-Sensors 2 in Bezug zur Bezugsmarkierung A in einer Richtung entlang der optischen Achse an.
-
Dann werden die Erfassung des zweidimensionalen Bildes, die Erfassung der Position und der Größe der Bezugsmarkierung A in dem Bild und die translatorische Bewegung des Roboters 110, um zu bewirken, dass die erfasste Position und Größe der Zielposition und der Zielgröße nahe kommen, wiederholt. Dadurch kann bewirkt werden, dass die Position und die Größe der Bezugsmarkierung A in dem zweidimensionalen Bild zu den Zielwerten konvergieren.
-
Darüber hinaus berechnet, wenn der Roboter 110 durch einen Tippbetrieb des Roboters 110 durch den Benutzer betätigt wird, um sich translatorisch zu bewegen und gleichzeitig die Ausrichtung des Vision-Sensors 2 beizubehalten, die Relative-Positions-Berechnungseinheit für andere Bezugsmarkierungen A die relativen Positionen der Bezugsmarkierungen A in Bezug zu einer Bezugsmarkierung A basierend auf den Positionen der anderen Bezugsmarkierungen A, die auf die gleiche Art und Weise durch die Positionsmesseinheit gespeichert werden.
-
Die Teach-Positionskorrekturvorrichtung 1 gemäß der vorliegenden Ausführungsform berechnet eine Transformationsmatrix für die Drehkomponente basierend auf der relativen Position von jeder Bezugsmarkierung A, die durch die Relative-Positions-Berechnungseinheit basierend auf der vor und nach der Umstellung in der Positionsmesseinheit gespeicherten Position berechnet wird, berechnet eine Transformationsmatrix für die Translationskomponente basierend auf der durch die Positionsmesseinheit für eine von den Bezugsmarkierungen A gespeicherten Ausrichtung und korrigiert eine Teach-Punktposition in dem Betriebsprogramm unter Verwendung der berechneten Transformationsmatrizes.
-
Als Nächstes wird ein Teach-Positionskorrekturverfahren gemäß der vorliegenden Ausführungsform im Detail beschrieben.
-
Das Teach-Positionskorrekturverfahren gemäß der vorliegenden Ausführungsform umfasst Schritte, die vor der Umstellung durchgeführt werden, und Schritte, die nach der Umstellung durchgeführt werden.
-
Wie in 3 gezeigt, werden in einem Zustand vor der Umstellung des Roboters 110, wenn das Teaching des Betriebsprogramms durchgeführt wird, die dreidimensionale Position und die Ausrichtung für drei Bezugsmarkierungen A gemessen (erster Schritt S1).
-
Wie in 5 gezeigt, wird in der dreidimensionalen Positionsmessung der Betrieb des Vision-Sensors 2 gestartet (Schritt S11), der Roboter 110 wird durch einen Tippbetrieb des Programmierhandgeräts 140 getippt (Schritt S12), der während der Prüfung des auf dem Monitor 3 angezeigten zweidimensionalen Bildes durchgeführt wird, und eine der Bezugsmarkierungen A ist in dem Gesichtsfeld des Vision-Sensors 2 angeordnet (Schritt S13).
-
Die visuelle Nachbesserungsoperation wird in diesem Zustand durchgeführt.
-
In der visuellen Nachbesserungsoperation wird zuerst der Roboter 110 geringfügig translatorisch in jede der Richtungen entlang der X-, Y- und Z-Achsen im Ursprungskoordinatensystem bewegt, während die Ausrichtung des Vision-Sensors 2 in der Messstartausrichtung, in der die Bezugsmarkierung A sich im Gesichtsfeld befindet, konstant gehalten wird (Schritt S14). Dadurch wird geprüft, welche Änderung in der Position und der Größe der Bezugsmarkierung A in dem zweidimensionalen Bild durch die Bewegung des Roboters 110 in welche Richtung bewirkt wird. Als Nächstes wird der Roboter 110 gemäß einem Prüfergebnis translatorisch bewegt, derart dass die Position und die Größe der Bezugsmarkierung A den Zielwerten aufgrund der Translation nahe kommen (Schritt S15).
-
So wird bestimmt, ob die Position und die Größe der Bezugsmarkierung A in dem zweidimensionalen Bild zu den Zielwerten konvergieren oder nicht und wenn die Position und die Größe zu den Zielwerten konvergieren, wird die visuelle Nachbesserungsoperation beendet (Schritt S16). Die Schritte ab dem Schritt S15 werden wiederholt, bis die Position und die Größe der Bezugsmarkierung A in dem zweidimensionalen Bild zu den Zielwerten konvergieren. Die Positionsmesseinheit speichert die Position (Koordinatenwert) und eine Ausrichtung (Winkelwert) der mechanischen Schnittstelle des Roboters 110 in dem Ursprungskoordinatensystem des Roboters 110 basierend auf einem Wert des Codierers auf jeder Achse des Roboters 110 am Ende der visuellen Nachbesserungsoperation (Schritt S17). Dann wird diese Operation durchgeführt, bis die drei Bezugsmarkierungen A der Operation unterzogen wurden (Schritt S18), und die Erfassung der visuellen Informationen wird dann beendet (Schritt S19).
-
Die Koordinatenwerte (dreidimensionale Positionen) PA1 = (XA1, YA1, ZA1), PA2 = (XA2, YA2, ZA2), PA3 = (XA3, YA3, ZA3) werden durch die dreidimensionale Positionsmessung erfasst und gespeichert.
-
Darüber hinaus wird zum Beispiel in der visuellen Nachbesserungsoperation für die erste Bezugsmarkierung A im ersten Schritt S1 zum gleichen Zeitpunkt wie die Erfassung des Koordinatenwerts PA1 auch eine Positionsausrichtung (Ausrichtung) WA der mechanischen Schnittstelle des Roboters 110 erfasst und gespeichert.
-
Wie in 4 gezeigt, werden in dem Fall, in dem mindestens eines von dem Roboter 110 und der Haltevorrichtung 120 in diesem Zustand umgestellt wird, die dreidimensionale Positionsmessung und die Messung der Ausrichtung nach der Umstellung durch die Positionsmesseinheit erneut für die drei Bezugsmarkierungen A auf die gleiche Art und Weise wie im ersten Schritt S1 durchgeführt und drei Koordinatenwerte PB1 = (XB1, YB1, ZB1), PB2 = (XB2, YB2, ZB2), PB3 = (XB3, YB3, ZB3) und eine Positionsausrichtung WB werden erfasst und gespeichert (zweiter Schritt S2). Der zweite Schritt S2 wird gemäß dem in 5 gezeigten Ablaufdiagramm auf die gleiche Art und Weise wie der erste Schritt S1 durchgeführt.
-
Dann wird die Berechnung der relativen Positionen durch die Relative-Positions-Berechnungseinheit basierend auf den Koordinatenwerten durchgeführt, die vor und nach der Umstellung erfasst werden (dritter Schritt S3), und eine Transformationsmatrix M1 für die Drehkomponente wird basierend auf der berechneten relativen Position berechnet (Schritt S4).
-
Darüber hinaus wird eine Transformationsmatrix M2 für die Translationskomponente basierend auf der berechneten Transformationsmatrix M1 und den Positionsausrichtungen WA, WB berechnet, die vor und nach der Umstellung erfasst werden (Schritt S5). Dann wird eine Transformationsmatrix M = M2M1 basierend auf diesen Transformationsmatrizes berechnet (Schritt S6) und jede Teach-Punktposition in dem Betriebsprogramm vor der Umstellung wird unter Verwendung der berechneten Transformationsmatrix M korrigiert (vierter Schritt S7).
-
Nun wird die Berechnung der Transformationsmatrix M1 für die Drehkomponente spezifisch beschrieben.
-
Die drei Koordinatenwerte, die für die Bezugsmarkierungen A vor der Umstellung erfasst werden, umfassen einen Vektorwert PC = (XC, YC, ZC), der von einer Anbringungsposition und einer Anbringungsausrichtung des Vision-Sensors 2 am Roboter 110 vor der Umstellung und den Zielwerten der Position und der Größe in dem zweidimensionalen Bild zum Zeitpunkt der visuellen Nachbesserungsoperation abhängig sind, und werden als PA1+PC, PA2+PC, PA3+PC ausgedrückt. Der Vektorwert PC ist hier unbekannt.
-
Auf die gleiche Art und Weise umfassen auch die drei Koordinatenwerte, die für die Bezugsmarkierungen A nach der Umstellung erfasst werden, einen Vektorwert PD = (XD, YD, ZD), der von einer Anbringungsposition und einer Anbringungsausrichtung des Vision-Sensors 2 am Roboter 110 nach der Umstellung und den Zielwerten der Position und der Größe in dem zweidimensionalen Bild zum Zeitpunkt der visuellen Nachbesserungsoperation abhängig sind, und werden als PB1+PD, PB2+PD, PB3+PD ausgedrückt. Der Vektorwert PD ist hier unbekannt.
-
Dementsprechend ist eine Transformationsmatrix M, die Folgendes erfüllt, zu bestimmen:
-
Eine Transformationsmatrix W
1, die die Position und die Ausrichtung des Arbeitszielobjekts O vor der Umstellung darstellt, ist durch Math. 1 gegeben.
-
Jeder Komponentenwert der Transformationsmatrix W1 ist wie folgt.
-
Folgendes trifft zu: l1 = PA1+PC. Das heißt, ein Koordinatenwert, der für eine erste Bezugsmarkierung A gemessen wird, ist als eine Position li des Arbeitszielobjekts O gegeben.
-
Eine Richtung von der ersten Bezugsmarkierung A zu einer zweiten Bezugsmarkierung A ist als eine X-Achsenrichtung einer Ausrichtung des Arbeitszielobjekts gegeben und ein Richtungsvektor u
1 in der X-Achsenrichtung wird durch die folgende Gleichung berechnet.
-
Darüber hinaus wird ein Einheitsvektor n
1 des Richtungsvektors u
1 in der X-Achsenrichtung mit der folgenden Gleichung berechnet.
-
Ein Richtungsvektor q
1 von dem für die erste Bezugsmarkierung A zu einer dritten Bezugsmarkierung A gemessenen Koordinatenwert wird mit der folgenden Gleichung berechnet.
-
Wenn r
1 = n
1×q
1 (äußeres Produkt von n
1 und q
1) zutrifft, ist r
1 ein Richtungsvektor in einer Z-Achsenrichtung orthogonal zu sowohl n
1 als auch q
1 und sein Einheitsvektor a
1 wird durch die folgende Gleichung berechnet:
-
Schließlich wird eine Y-Achsenrichtung der Ausrichtung des Arbeitszielobjekts O durch o1 = a1×n1 (äußeres Produkt von a1 und n1 bestimmt) .
-
Auf die gleiche Art und Weise ist eine Transformationsmatrix W
2, die die Position und die Ausrichtung des Arbeitszielobjekts O nach der Umstellung darstellt, durch Math. 2 gegeben.
-
Wie im Fall der Transformationsmatrix W
1 ist jeder Komponentenwert der Transformationsmatrix W
2 wie folgt:
-
Hier wird die Transformationsmatrix M durch Folgendes erhalten:
wo inv (W
2) eine Kehrmatrix von W
2 ist.
-
In der vorhergehenden Berechnung sind nur l
1, l
2 abhängig von P
C, P
D und somit werden die Transformationsmatrizes V
1, V
2, von denen l
1, l
2 entfernt werden, durch Math. 3, Math. 4 definiert und die Transformationsmatrix M
1 für die Drehkomponente kann wie folgt bestimmt werden:
-
Als Nächstes wird die Berechnung der Transformationsmatrix M2 für die Translationskomponente beschrieben.
-
Die für eine Bezugsmarkierung A vor der Umstellung erfasste Positionsausrichtung WA ist eine Positionsausrichtung nach der translatorischen Bewegung der Positionsausrichtung P1 an einem Zeitpunkt, an dem die visuelle Nachbesserungsoperation gestartet wurde (d. h. die Ausrichtungskomponente ist die gleiche), und so ist M1WA die gleiche wie eine Positionsausrichtung nach der translatorischen Bewegung von M1P1.
-
Ebenso ist die Positionsausrichtung W
B, die für die gleiche Bezugsmarkierung A nach der Umstellung erfasst wird, eine Positionsausrichtung nach der translatorischen Bewegung der Positionsausrichtung P
2 = M
1P
1 an einem Zeitpunkt, an dem die visuelle Nachbesserungsoperation gestartet wurde (d. h. die Ausrichtungskomponente ist die gleiche) und so ist die Ausrichtungskomponente zwischen M
1W
A und W
B die gleiche und wenn M
2 = W
B·inv(M
1W
A) gegeben ist, ist die Transformationsmatrix M
2 für die translatorische Bewegung als Math. 5 gegeben.
-
Da M1, WA, WB bekannt sind, kann die Transformationsmatrix M2 berechnet werden.
-
Mit der Transformationsmatrix M2 wird nur die translatorische Bewegung durchgeführt und die Drehung wird nicht durchgeführt und somit stimmen die Drehkomponenten der Transformationsmatrix M1 und der Transformationsmatrix M2 ·M1 miteinander überein.
-
Darüber hinaus stimmen die Drehkomponenten der Transformationsmatrix M und der Transformationsmatrix M1 miteinander überein und somit stimmen die Drehkomponenten der Transformationsmatrix M und der Transformationsmatrix M2 ·M1 miteinander überein.
-
Die vor der Umstellung erfasste Positionsausrichtung WA wird durch die visuelle Nachbesserungsoperation erfasst und somit ist basierend auf der Definition der Transformationsmatrix M eine Positionsausrichtung MWA eine Positionsausrichtung, an der die visuelle Nachbesserungsoperation auf der entsprechenden Bezugsmarkierung A nach der Umstellung durchgeführt wird. Darüber hinaus ist die nach der Umstellung erfasste Positionsausrichtung WB (= M2M1WA) auch die Positionsausrichtung, in der die visuelle Nachbesserungsoperation auf der entsprechenden Bezugsmarkierung A durchgeführt wird, und wenn Koordinaten der Mitte der Bezugsmarkierung A auf einem mechanischen Schnittstellenkoordinatensystem als T = (Xt, Yt, Zt) gegeben sind, wird angenommen, dass sowohl MWAT als auch M2M1WAT einen Koordinatenwert einer zentralen Position der Bezugsmarkierung A nach der Umstellung darstellen und miteinander übereinstimmen sollten.
-
Das heißt, basierend auf
kann angenommen werden, dass Folgendes zutrifft:
-
Die Drehkomponenten der Transformationsmatrix M und der Transformationsmatrix M
2M
1 stimmen miteinander überein und somit ist die Drehkomponente von inv (M
2M
1)M eine Einheitsmatrix, wie durch Math. 6 dargestellt.
-
Darüber hinaus wird Math. 8 durch Definieren von W
AT durch Math. 7 erhalten.
-
Folglich wird s
1 = s
2 = s
3 = 0 in Math. 6 bestimmt und Math. 9 wird festgelegt und so wird M = M
2 ·M
1 festgelegt.
-
Wie vorhergehend beschrieben, erreicht die Teach-Positionskorrekturvorrichtung 1 gemäß der vorliegenden Ausführungsform einen vorteilhaften Effekt, dass basierend auf der Tatsache, dass relative Positionen von drei oder mehr Bezugsmarkierungen A, die auf der Haltevorrichtung 120 bereitgestellt sind, sich nicht ändern, die Teach-Punktposition im Betriebsprogramm, dessen Teaching vor der Umstellung durchgeführt wurde, einfach korrigiert werden kann, ohne eine Kalibrierung des Vision-Sensors 2 in Bezug auf den Roboter 110 durchzuführen. Dementsprechend kann das Arbeitszielobjekt O nach der Umstellung auf die gleiche Art und Weise bearbeitet werden wie vor der Umstellung.
-
Insbesondere muss, da die Kalibrierung des Vision-Sensors 2 in Bezug auf den Roboter 110 nicht erforderlich ist, ein Vorgang zum Bewegen der Handspitze des Roboters 110 in hohem Maße, die für die Kalibrierung erforderlich ist, nicht durchgeführt werden und eine gegenseitige Störung eines Arbeitswerkzeugs und eines Mechanismusabschnitts des Roboters 110 oder einer Peripherieausrüstung kann verhindert werden.
-
Darüber hinaus sind in der vorliegenden Ausführungsform die Bezugsmarkierungen A auf der Haltevorrichtung 120 bereitgestellt, aber die Bezugsmarkierungen A können alternativ auf dem Arbeitszielobjekt O bereitgestellt werden, das durch die Haltevorrichtung 120 zu halten ist. Darüber hinaus ist als die Bezugsmarkierung A ein Kreis mit einem Kreuz in der Mitte veranschaulicht, aber alternativ kann irgendeine Markierung, die eine Angabe der Größe und einer spezifischen Position (wie beispielsweise ein Punkt, der eine charakteristische Form aufweist) verwendet werden.
-
Ferner kann, anstatt die Bezugsmarkierungen A bereitzustellen, ein Teil der Haltevorrichtung 120 oder des Arbeitszielobjekts O, das eine charakteristische Form aufweist, als ein Bezugspunkt verwendet werden. Ein solcher Bezugspunkt ist zum Beispiel ein Eckpunkt oder ein hervorstehender Abschnitt.
-
Ferner kann die Anzahl der Positionen, wo die Bezugsmarkierungen A bereitgestellt sind, mehr als drei betragen, ohne auf drei beschränkt zu sein.
-
Darüber hinaus sind in der vorliegenden Ausführungsform Ausrichtungen, die im Fall des Durchführens der visuellen Nachbesserungsoperation auf einer Bezugsmarkierung A eingestellt werden, als die Ausrichtungen WA, WB zum Bestimmen der Transformationsmatrix M2 für die Translationskomponente veranschaulicht, aber alternativ kann ein Punkt verwendet werden, der sich von der Bezugsmarkierung A unterscheidet.
-
Ferner ist in der vorliegenden Ausführungsform ein Roboter von 6-achsigen gelenkigen Typ als der Roboter 110 veranschaulicht, aber die Anwendung auf irgendeinen beliebigen Roboter ist möglich, ohne auf den Roboter vom 6-achsigen gelenkigen Typ beschränkt zu sein.