-
{Technisches Gebiet}
-
Die vorliegende Erfindung betrifft eine Teach-Positionskorrekturvorrichtung und ein Teach-Positionskorrekturverfahren.
-
{Allgemeiner Stand der Technik}
-
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).
-
{Entgegenhaltungsliste}
-
{Patentliteratur}
-
{PTL 1} Ungeprüfte Japanische Patentanmeldung, Veröffentlichungsnummer 2005- 149299
-
{Kurzdarstellung der Erfindung}
-
{Technische Aufgabe}
-
Die Teach-Positionskorrekturvorrichtung in 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.
-
{Lösung der Aufgabe}
-
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.
-
{Vorteilhafte Effekte der Erfindung}
-
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.
-
Figurenliste
-
- {1}
1 ist ein Gesamtausgestaltungsdiagramm, das eine Teach-Positionskorrekturvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
- {2}
2 ist ein Diagramm, das ein Beispiel einer Bezugsmarkierung zeigt, die auf der Teach-Positionskorrekturvorrichtung in 1 bereitgestellt ist.
- {3}
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}
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}
5 ist ein Ablaufdiagramm, das eine Messroutine für eine dreidimensionale Position und eine Ausrichtung in 3 und 4 beschreibt.
-
{Beschreibung von Ausführungsformen}
-
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 = M2 M1 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
W1, 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 l1 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
u1 in der X-Achsenrichtung wird durch die folgende Gleichung berechnet.
-
Darüber hinaus wird ein Einheitsvektor
n1 des Richtungsvektors
u1 in der X-Achsenrichtung mit der folgenden Gleichung berechnet.
-
Ein Richtungsvektor
q1 von dem für die erste Bezugsmarkierung
A zu einer dritten Bezugsmarkierung
A gemessenen Koordinatenwert wird mit der folgenden Gleichung berechnet.
-
Wenn
r1 = n
1×q
1 (äußeres Produkt von
n1 und
q1 ) zutrifft, ist
r1 ein Richtungsvektor in einer Z-Achsenrichtung orthogonal zu sowohl
n1 als auch
q1 und sein Einheitsvektor
a1 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
W2 , die die Position und die Ausrichtung des Arbeitszielobjekts
O nach der Umstellung darstellt, durch Math. 2 gegeben.
-
Wie im Fall der Transformationsmatrix
W1 ist jeder Komponentenwert der Transformationsmatrix
W2 wie folgt:
-
Hier wird die Transformationsmatrix
M durch Folgendes erhalten:
wo inv(
W2 ) eine Kehrmatrix von
W2 ist.
-
In der vorhergehenden Berechnung sind nur
l1 ,
l2 abhängig von
PC ,
PD und somit werden die Transformationsmatrizes
V1 ,
V2 , von denen
l1 ,
l2 entfernt werden, durch Math. 3, Math. 4 definiert und die Transformationsmatrix
M1 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 M1 WA die gleiche wie eine Positionsausrichtung nach der translatorischen Bewegung von M1 P1 .
-
Ebenso ist die Positionsausrichtung
WB , die für die gleiche Bezugsmarkierung
A nach der Umstellung erfasst wird, eine Positionsausrichtung nach der translatorischen Bewegung der Positionsausrichtung
P2 =
M1 P1 an einem Zeitpunkt, an dem die visuelle Nachbesserungsoperation gestartet wurde (d. h. die Ausrichtungskomponente ist die gleiche) und so ist die Ausrichtungskomponente zwischen
M1 WA und
WB die gleiche und wenn
M2 =
WB ·inv(
M1 WA ) gegeben ist, ist die Transformationsmatrix
M2 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 (= M2 M1 WA ) 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 M2 M1 WA T 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
M2 M1 stimmen miteinander überein und somit ist die Drehkomponente von inv(
M2 M1 )M eine Einheitsmatrix, wie durch Math. 6 dargestellt.
-
Darüber hinaus wird Math. 8 durch Definieren von
WA T durch Math. 7 erhalten.
-
Folglich wird
S1 =
S2 =
S3 = 0 in Math. 6 bestimmt und Math. 9 wird festgelegt und so wird
M = M
2 ·
M1 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.
-
Bezugszeichenliste
-
- 1
- Teach-Positionskorrekturvorrichtung
- 2
- Vision-Sensor
- 110
- Roboter
- 111
- Roboterarm (Arm)
- 120
- Haltevorrichtung
- A
- Bezugsmarkierung (Bezugspunkt)
- O
- Arbeitszielobjekt
- M, M1, M2, M3
- Transformationsmatrix
- PA1, PA2, PA3, PB1, PB2, PB3
- Koordinatenwert (dreidimensionale Position)
- WA, WB
- Positionsausrichtung (Ausrichtung)
- S1
- erster Schritt
- S2
- zweiter Schritt
- S3
- dritter Schritt
- S7
- vierter Schritt