JP6273783B2 - ツール先端点情報補正プログラム、ツール先端点情報補正装置、及び、ツール先端点情報補正方法 - Google Patents

ツール先端点情報補正プログラム、ツール先端点情報補正装置、及び、ツール先端点情報補正方法 Download PDF

Info

Publication number
JP6273783B2
JP6273783B2 JP2013231333A JP2013231333A JP6273783B2 JP 6273783 B2 JP6273783 B2 JP 6273783B2 JP 2013231333 A JP2013231333 A JP 2013231333A JP 2013231333 A JP2013231333 A JP 2013231333A JP 6273783 B2 JP6273783 B2 JP 6273783B2
Authority
JP
Japan
Prior art keywords
correction
information
tool tip
position information
tool
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013231333A
Other languages
English (en)
Other versions
JP2015089607A (ja
Inventor
正敬 立脇
正敬 立脇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013231333A priority Critical patent/JP6273783B2/ja
Publication of JP2015089607A publication Critical patent/JP2015089607A/ja
Application granted granted Critical
Publication of JP6273783B2 publication Critical patent/JP6273783B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ツール先端点情報補正プログラム、ツール先端点情報補正装置、及び、ツール先端点情報補正方法に関する。
産業用ロボットでは、各種作業に適応させたハンドリングを実現可能にするために、ロボット・マニピュレータが使用される。ロボット・マニピュレータは、ロボットにおける腕や手に相当する部分を指す。また、ロボット・マニピュレータでは、各種作業に対応したハンドリングを実現するために、マニピュレータの先端手首部にハンドやツールが取り付けられる。
ロボットへの作業指令は、作業空間上でのハンドやツールの位置(および姿勢)に基づいて行われる。そこで、ハンドやツールにおける指令の基準点が予め設定される。基準点は、例えば、ツール先端点と呼ばれる。ツール先端点は、例えば、ハンドやツールの設計情報に基づいて予め算出され、ロボットに保持される。ただし、設計情報におけるツールと、実際に生成されるハンドやツールとは異なっていることがある。ロボットに保持されたツール先端点の位置の設定情報が、実際のツールにおけるツール先端点の位置と異なっている場合、ツール先端点の位置の設定情報は、実際のツール先端点の位置に基づいて補正される。
そこで、例えば、位置座標が既知であるタッチアップピンの先端に基づいた、ツール先端点の位置の算出方法が提案される。この方法では、例えば、タッチアップピンの先端に対して、ツール先端点が3通りの異なる姿勢で位置決めされ、マニピュレータ手首部の座標系における原点の位置と姿勢とが記録される。そして、当該位置及び姿勢に基づいて、ツール先端点の位置が取得される(例えば、特許文献1)。
特開平8−85053号公報
しかしながら、従来の方法によると、作業者による目視による位置決めに基づく手法であることにより、取得されるツール先端点の位置情報の精度に限界がある。また、位置決めには高い操作技能が要求されると共に、ツール先端部がタッチアップピンの先端に衝突し、事故が発生する確率が高く、安全面に問題がある。さらに、マニピュレータ手首部の座標系における原点の位置及び姿勢の測定処理に誤差が生じ、取得されるツール先端点の位置情報の精度が低下することがある。
そこで、本発明では、より効率的にツール先端点の位置情報を補正するツール先端点情報補正プログラム、ツール先端点情報補正装置、及び、ツール先端点情報補正方法を提供することを目的とする。
第1の側面は、ロボット本体に取り付けられるツールのツール先端点の設定位置情報を実位置情報に補正するツール先端点情報補正処理を実行させるプロセッサ読み取り可能なツール先端点情報補正プログラムにおいて、前記ツール先端点情報補正処理は、ツールが有する第1の座標系の3軸のうち1軸を回転軸とし、撮像装置の光軸と平行に制御する第1の軸制御工程と、前記設定位置情報を中心として、前記回転軸周りに回転しながら、検知可能に表される前記ツール先端点を含む3つの画像データを前記撮像装置によって生成する画像データ生成工程と、前記3つの画像データにおける前記ツール先端点の画像位置によって構成される円の中心と、前記画像位置とのベクトル情報に基づいて、前記設定位置情報と前記実位置情報との補正ベクトルを算出する補正情報算出工程と、前記算出された補正ベクトルに基づいて、前記設定位置情報を補正する第1の補正工程と、を有する。
第1の側面によれば、ツール先端点の位置情報がより効率的に補正される。
本実施の形態例におけるツール先端点情報補正システムの構成の例図である。 本実施の形態例におけるロボット制御装置の構成の一例を示す図である。 本実施の形態例におけるロボット制御装置のブロック図の一例を示す図である。 本実施の形態例におけるロボットの一例について説明する図である。 TCPの位置情報について説明する図である。 TCP位置情報補正プログラムの処理の概要を示す図である。 TCP位置設定値の傾き情報の補正処理を説明するフローチャート図である。 メカニカルインタフェース座標系の原点に合わせた撮像装置の配置の例図である。 メカニカルインタフェース座標系の回転軸と光軸とが平行になるように、ロボット本体を移動制御する処理を説明するフローチャート図である。 メカニカルインタフェース座標系の回転軸と光軸とが平行になるようにロボット本体を制御する処理の具体例を説明する第1の図である。 メカニカルインタフェース座標系の回転軸と光軸とが平行になるようにロボット本体を制御する処理の具体例を説明する第2の図である。 TCP位置を撮像可能にするロボットの配置の例図である。 傾き情報に基づく、ツール座標系の回転軸の撮像装置の光軸に対する位置あわせ処理について説明する図である。 傾き情報の補正値の算出処理を説明するフローチャート図である。 傾き情報の補正値の算出処理の具体例を説明する第1の図である。 傾き情報の補正値の算出処理の具体例を説明する第2の図である。 TCP位置設定値の座標情報の補正処理を説明するフローチャート図である。 座標情報の補正処理の具体例を説明する第1の図である。 座標情報の補正処理の具体例を説明する第2の図である。 TCP位置設定値の座標情報が補正された場合における、実際のTCP位置の測定情報を表す例図である。
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
[ツール先端点情報補正システムの構成図]
図1は、本実施の形態例におけるツール先端点情報補正システムの構成の一例を示す図である。図1のツール先端点情報補正システムは、例えば、ロボット制御装置(ロボット・コントローラ)10、教示盤50、画像処理装置40、ロボット20、撮像装置30を有する。
ロボット制御装置10は、ロボット20と接続されると共に、教示盤50、画像処理装置40と接続される。教示盤50は、手動操作キーを備え、オペレータからの指示を受け付ける。オペレータは、教示盤50を操作して、ロボット20の制御指示や、ロボット20制御時における各種パラメータの設定等を行う。
また、図1の撮像装置30は、例えば、CCDカメラである。撮像装置30は、ロボット20の画像データを生成し、画像処理装置40に出力する。画像処理装置40は、撮像装置30から入力された画像データに対して、所定の画像処理を行い、ロボット制御装置10に出力する。ロボット制御装置10は、入力された画像データに基づいて、ロボット制御装置10に保持されるツール先端点の位置の設定情報の補正処理を行う。
[ロボット制御装置の構成図]
図2は、本実施の形態例におけるロボット制御装置10の構成の一例を示す図である。ロボット制御装置10は、例えば、プロセッサ110、RAM(Random Access Memory)等のメモリ111、教示盤用通信インタフェース113、外部入出力インタフェース114、サーボ制御器112を有する。各部は、バス115を介して相互に接続される。教示盤用通信インタフェース113は、教示盤50と接続され、教示盤50との通信を制御する。また、外部入出力インタフェース114は、画像処理装置40等の外部機器との入出力を制御する。サーボ制御器112は、プロセッサ110からの指令にしたがってロボット20に内蔵されるサーボモータを駆動し、ロボット20の姿勢を制御する。
メモリ111には、例えば、ロボット制御プログラム121、ツール先端点(TCP:Tool Center Point)位置情報補正プログラム122、TCP位置設定値Fp、計測情報124、TCP位置補正値125が記憶される。ロボット制御プログラム121、及び、TCP位置情報補正プログラム122は、プロセッサ110と協働して、ロボット20の制御処理、TCP位置設定値Fpの補正処理をそれぞれ実現する。TCP位置設定値Fpは、TCP位置の情報を示す。また、計測情報124は、例えば、撮像装置30によって生成される画像データにおける実際のTCPの計測位置を示し、TCP位置情報補正プログラム122によって生成される。また、TCP位置補正値125は、TCP位置設定値Fpの補正値を示す。
[ロボット制御装置のブロック図]
図3は、本実施の形態例におけるロボット制御装置10のブロック図の一例を示す図である。ロボット制御装置10は、例えば、ロボット制御部131、TCP情報補正部132、画像処理部133を有する。
ロボット制御部131は、ロボット制御プログラム121にしたがって、教示盤用通信インタフェース113を介して入力された指示情報に基づいたロボット20の制御を行う。画像処理部133は、例えば、TCP位置計測部124を有する。TCP位置計測部124は、画像処理装置40から入力される、実際のTCP位置を含む画像データにおけるTCPの位置情報を計測し、計測情報124を生成する。TCP情報補正部132は、計測情報124とTCP位置設定値Fpとに基づいてTCP位置補正値125を算出し、TCP位置設定値Fpの補正指示を行う。そして、ロボット制御部131は、補正指示に基づいてTCP位置設定値Fpを補正する。
[ロボット]
図4は、本実施の形態例におけるロボット20の一例について説明する図である。図4に示すように、本実施の形態例におけるロボット20は、ロボット本体RAとツールTLとによって構成される。図4のように、ロボット本体RAの先端部分に、ツールTLが取り付けられる。そして、ツールTLの先端部分には、TCP(ツール先端点)が設定される。TCPは、ツールTLの制御の基点となる位置を示す。TCPの位置情報は、TCP位置設定値Fpとして、予め、ツールTLの設計情報に基づいて算出され、ロボット制御装置10におけるメモリ111に記憶される。
また、図4に示されるように、ロボット本体RAは、直交座標系であるロボット座標系(Xa,Ya,Za)を有する。そして、ツールTLの取り付け面には、ロボット座標系(Xa,Ya,Za)とは別に、直交座標系であるメカニカルインタフェース座標系(Xb,Yb,Zb)が設けられる。図4における点b0は、メカニカルインタフェース座標系(Xb,Yb,Zb)の原点を示す。ロボット制御装置10は、ロボット座標系(Xa,Ya,Za)上のメカニカルインタフェース座標系の原点b0の位置情報、及び、ロボット座標系(Xa,Ya,Za)とメカニカルインタフェース座標系(Xb,Yb,Zb)との各軸の傾き情報を有する。したがって、ロボット制御装置10は、ロボット座標系(Xa,Ya,Za)上の座標情報と、メカニカルインタフェース座標系(Xb,Yb,Zb)上の座標情報を相互に変換可能である。
また、図4において、ツールTLは、直交座標系であるツール座標系(Xc,Yc,Zc)を有する。ツール座標系(Xc,Yc,Zc)の原点は、TCP位置に相当する。ロボット制御装置10は、メカニカルインタフェース座標系(Xb,Yb,Zb)上のツール座標系(Xc,Yc,Zc)の原点位置(即ち、TCP位置)、及び、メカニカルインタフェース座標系(Xb,Yb,Zb)とツール座標系(Xc,Yc,Zc)との各軸の傾き情報を有する。したがって、ロボット制御装置10は、メカニカルインタフェース座標系(Xb,Yb,Zb)上の座標情報と、ツール座標系(Xc,Yc,Zc)上の座標情報を相互に変換可能である。
[TCP位置設定値]
図5は、TCP位置設定値Fpについて説明する図である。TCP位置設定値Fpは、メカニカルインタフェース座標系(Xb,Yb,Zb)における座標情報(lxb,lyb,lzb)、及び、ツール座標系(Xc,Yc,Zc)のメカニカルインタフェース座標系(Xb,Yb,Zb)からの各軸の傾き情報(α,β,γ)によって示される。具体的に、座標情報(lxb,lyb,lzb)は、図5に示すとおり、メカニカルインタフェース座標系(Xb,Yb,Zb)の原点b0からの、各軸の距離情報である。
TCP位置設定値Fpは、例えば、ツールTLの設計データに基づいて設定される。このため、設計データにおけるツールTLと、設計データに基づいて生成された実際のツールTLとは異なる場合がある。つまり、設計データに基づくTCP位置設定値Fpは、実際のツールTLにおけるTCPppの位置を示していない場合がある。または、TCPppの位置は、ロボット本体RAやツールTL等の経年劣化等に伴って、変化することがある。そこで、TCP位置設定値Fpは、TCP位置情報補正プログラム122によって、実際のTCP位置を示す情報に補正される。
[TCP位置情報補正プログラムの処理の概要]
図6は、本実施の形態例におけるTCP位置情報補正プログラム122の処理の概要を示す図である。まず、ロボット制御装置10のメモリに、TCP位置設定値Fp(lxb,lyb,lzb,α,β,γ)が設定される(S90)。そして、TCP位置情報補正プログラム122は、TCP位置設定値Fpにおける傾き情報(α,β,γ)の補正処理を行う(S100)。続いて、傾き情報(α,β,γ)が補正された後、TCP位置情報補正プログラム122は、TCP位置設定値Fpにおける座標情報(lxb,lyb,lzb)の補正処理を行う(S110)。各処理の詳細については、別のフローチャート図に基づいて後述する。
なお、傾き情報(α,β,γ)の誤差が僅少である場合、傾き情報(α,β,γ)が補正処理工程(S100)が省略され、座標情報(lxb,lyb,lzb)の補正処理工程(S110)のみが行われてもよい。続いて、TCP位置設定値Fpにおける傾き情報(α,β,γ)の補正処理(S100)について、フローチャート図に基づいて説明する。
[フローチャート:傾き情報(α,β,γ)の補正処理(図6のS100)]
図7は、TCP位置設定値Fpにおける傾き情報(α,β,γ)の補正処理について説明するフローチャート図である。この処理は、図6のフローチャート図における工程S100の処理に対応する。
図7のフローチャート図において、初めに、メカニカルインタフェース座標系における原点b0を撮像可能な位置に、撮像装置30が配置される(S101)。このとき、ロボット本体RAにツールTLは装着されない。続いて、TCP位置情報補正プログラム122は、メカニカルインタフェース座標系の3つの軸のうち、ひとつの軸を回転軸として選択する(S102)。そして、TCP位置情報補正プログラム122は、選択した回転軸と、撮像装置30の光軸とが平行になるように、ロボット本体RAを制御する(S103)。処理の詳細については、別のフローチャート図において後述する。
ここで、ロボット本体RAにツールTLが装着される(S104)。続いて、TCP位置情報補正プログラム122は、撮像装置30から、TCP位置が撮像可能になるように、ロボット20を平行制御する(S105)。このとき、既に、メカニカルインタフェース座標系における回転軸と、撮像装置30の光軸とが平行に制御されている。このため、ロボット20の傾き、即ち、メカニカルインタフェース座標系の傾きが変更されないように、例えば、ロボット20は平行に移動制御される。
次に、TCP位置情報補正プログラム122は、TCP位置設定値Fpにおける傾き情報(α,β,γ)に基づいて、ツール座標系における同一の座標軸を回転軸として、撮像装置30の光軸に位置あわせする(S106)。傾き情報(α,β,γ)は、座標系インタフェースの、メカニカルインタフェース座標系からの傾き情報である。そこで、TCP位置情報補正プログラム122は、光軸とメカニカルインタフェース座標系における回転軸とが平行に制御された状態で、傾き情報(α,β,γ)にしたがってロボット20を回転制御させ、ツール座標系における同一の回転軸が光軸と平行になるように位置合わせする。したがって、傾き情報(α,β,γ)に誤差がなければ、位置合わせ後のツール座標系の回転軸と光軸とは平行になる。
続いて、TCP位置情報補正プログラム122は、位置合わせ後の、ツール座標系の回転軸と光軸との傾きに基づいて、傾き情報(α,β,γ)の補正値を算出する(S107)。TCP位置情報補正プログラム122は、ツール座標系の回転軸と撮像装置30の光軸とが平行ではない場合に、当該回転軸と光軸との角度を補正値として算出する。処理の詳細については、別のフローチャート図において後述する。
そして、TCP位置情報補正プログラム122は、メカニカルインタフェース座標系のうち、少なくとも2軸を回転軸として選択したか否かを判定する(S108)。1軸しか選択していない場合(S108のNO)、続いて、TCP位置情報補正プログラム122は、選択済みの軸とは異なる軸を回転軸として選択する(S102)。そして、TCP位置情報補正プログラム122は、別の回転軸に基づいて、工程S103〜S107の処理を行う。一方、2軸を選択済みである場合(S108のYES)、TCP位置情報補正プログラム122は、算出された傾き情報(α,β,γ)の補正値に基づいて、TCP位置設定値Fpにおける傾き情報(α,β,γ)を補正する(S109)。
このように、TCP位置情報補正プログラム122は、実際のツールTLに基づいた、ツール座標系(Xc,Yc,Zc)のメカニカルインタフェース座標系(Xb,Yb,Zb)からの傾き情報(α,β,γ)を算出することができる。これにより、TCP位置設定値Fpにおける傾き情報(α,β,γ)が補正される。少なくとも2軸について工程S103〜S107の処理を行うことによって、TCP位置情報補正プログラム122は、傾き情報(α,β,γ)における全ての要素を補正することができる。
[具体例:撮像装置の配置(図7のS101)]
図8は、メカニカルインタフェース座標系(Xb,Yb,Zb)における原点b0に合わせた撮像装置30の配置例を表す図である。図8は、図7のフローチャート図における工程S101の処理に対応する。
図7のフローチャート図における工程S101において、撮像装置30は、例えば、図8のように、ロボット本体RAのメカニカルインタフェース座標系(Xb,Yb,Zb)における原点b0が撮像可能な位置に配置される。メカニカルインタフェース座標系(Xb,Yb,Zb)における原点b0は、例えば、マーカ等によって示される。このため、撮像装置30によって生成される画像データにおいて、原点b0の位置が識別可能になる。
図7のフローチャート図で説明したとおり、続いて、TCP位置情報補正プログラム122は、メカニカルインタフェース座標系(Xb,Yb,Zb)の3つの軸のうち、ひとつの軸を回転軸として選択し(S102)、回転軸と撮像装置30の光軸とが平行になるように、ロボット本体RAを制御する(S103)。次に、工程S103の処理について、フローチャート図に基づいて説明する。
[フローチャート:回転軸と光軸との平行制御(図7のS103)]
図9は、メカニカルインタフェース座標系(Xb,Yb,Zb)の回転軸と撮像装置30の光軸とが平行になるように、ロボット本体RAを移動制御する処理について説明するフローチャート図である。初めに、TCP位置情報補正プログラム122は、ロボット本体RAの移動前の位置(基準位置)において、撮像装置30にメカニカルインタフェース座標系(Xb,Yb,Zb)の原点b0を撮像させ、生成される画像データにおける当該原点b0の位置を計測する(S30)。
次に、TCP位置情報補正プログラム122は、メカニカルインタフェース座標系(Xb,Yb,Zb)における回転軸を除く第1軸方向に、一定距離、ロボット本体RAを平行移動させる(S31)。例えば、選択された回転軸がZ軸である場合、TCP位置情報補正プログラム122は、X軸方向に、10mm程度、ロボット本体RAの平行移動を指示する。続いて、TCP位置情報補正プログラム122は、撮像装置30にメカニカルインタフェース座標系(Xb,Yb,Zb)の原点b0を撮像させ、生成される画像データにおける当該原点b0の位置を計測する(S32)。生成された計測情報124は、例えば、ロボット制御装置10のメモリ111に記憶される。
次に、TCP位置情報補正プログラム122は、ロボット本体RAを基準位置に戻した上で、回転軸を除く第2軸方向に、工程S31と同距離、ロボット本体RAを平行移動させる(S33)。例えば、TCP位置情報補正プログラム122は、Y軸方向に、10mm程度、ロボット本体RAの平行移動を指示する。続いて、TCP位置情報補正プログラム122は、撮像装置30にメカニカルインタフェース座標系(Xb,Yb,Zb)の原点b0を撮像させ、生成される画像データにおける当該原点b0の位置を計測する(S34)。同様にして、生成された計測情報124は、例えば、ロボット制御装置10のメモリ111に記憶される。
そして、TCP位置情報補正プログラム122は、それぞれの画像データにおける原点b0の測定位置に基づいて、ロボット本体RAを基準位置から各軸方向に移動制御した場合における各移動ベクトルを算出する(S35)。つまり、TCP位置情報補正プログラム122は、ロボット本体RAを基準位置からX軸方向に平行移動させた場合における原点b0の測定位置の移動ベクトルと、ロボット本体RAを基準位置からY軸方向に平行移動させた場合における原点b0の測定位置の移動ベクトルとを算出する。
続いて、TCP位置情報補正プログラム122は、算出した2つの移動ベクトルに基づいて、回転軸と撮像装置30の光軸との傾き角度を算出する(S36)。具体的に、TCP位置情報補正プログラム122は、2つの移動ベクトルの長さの比、及び、移動ベクトルの成す角度に基づいて、回転軸と撮像装置30の光軸との角度を算出する。2つの移動ベクトルの成す角度は、例えば、3次元座標変換の計算式に基づいて算出される。なお、回転軸と撮像装置30の光軸とが平行である場合、2つの移動ベクトルの長さは同一であり、2つの移動ベクトルの成す角度は90度である。
続いて、TCP位置情報補正プログラム122は、算出された傾き角度に基づいて、回転軸が撮像装置30の光軸と平行になるように、ロボット本体RAを回転制御する(S37)。
[具体例:回転軸と光軸との平行制御(図7のS103、図9)]
図10は、メカニカルインタフェース座標系(Xb,Yb,Zb)の回転軸と撮像装置30の光軸LLとが平行になるようにロボット本体RAを制御する処理(図9のフローチャート図)の具体例について説明する第1の図である。この例では、メカニカルインタフェース座標系(Xb,Yb,Zb)における回転軸として、Z軸Zbが選択される。
図10の(A)において、ロボット本体RAの基準位置が例示される。まず、基準位置において撮像装置30によって画像データが生成され、画像データにおける原点b0の位置が測定される(S30)。そして、ロボット本体RAがX軸Xb方向(xd)に10mm程度、平行移動制御され、撮像装置30によって画像データが生成される(S31)。そして、生成された画像データにおける原点b0の位置が計測される(S32)。同様にして、基準位置に戻されたロボット本体RAがY軸Yb方向(yd)に10mm程度、平行移動制御され、撮像装置30によって画像データが生成され(S33)、生成された画像データにおける原点b0の位置が計測される(S34)。
そして、基準位置における画像データ、及び、X軸、Y軸方向への移動位置で生成された画像データにおける原点b0の画像位置に基づいて、図10の(B)に示す移動ベクトルX1、Y1が検出される(S35)。この例では、Z軸Zbと光軸LLとが平行ではない。このため、ベクトルX1とベクトルY1との長さが同一ではなく、ベクトルX1とベクトルY1とのなす角θ1が90度ではない。そこで、ベクトルX1とベクトルY1とのなす角θ1、及び、長さの比に基づいて、Z軸Zbと光軸LLとの傾き角度が算出される(S36)。そして、算出された傾き角度に基づいて、Z軸Zbと光軸LLとが平行になるように、ロボット本体RAが回転制御される(S37)。
図11は、メカニカルインタフェース座標系(Xb,Yb,Zb)の回転軸と撮像装置30の光軸LLとが平行になるようにロボット本体RAを制御する処理の具体例について説明する第2の図である。
図11の(A)では、図9のフローチャート図に基づいて、メカニカルインタフェース座標系(Xb,Yb,Zb)のZ軸Zbと、撮像装置30の光軸LLとが平行になるように、ロボット本体RAが制御された図を示す。このため、図10と同様にして、X軸、Y軸方向(xd、yd)それぞれについて、同距離、ロボット本体RAが移動制御された場合の移動ベクトルX2、Y2のなす角度は90度となる。また、各移動ベクトルX2、Y2の距離は、同一である。このように、図9フローチャート図に基づいて、回転軸Zbと光軸LLとが平行になるように撮像装置30が制御される。
続いて、図7のフローチャート図で説明したとおり、ロボット本体RAにツールTLが装着され(S104)、TCP位置が撮像可能なようにロボット20が制御される(S105)。
[具体例:ロボット20の配置制御(図7のS105)]
図12は、TCP位置ppを撮像可能にするロボット20の配置を表す例図である。図12は、図7のフローチャート図における工程S105の処理に対応する。図12の(A)から図12の(B)のように、例えば、撮像装置30の位置及び傾きは変更されず、撮像装置30からTCP位置ppが撮像可能になるように、ロボット20が配置制御される。このとき、メカニカルインタフェース座標系(Xb,Yb,Zb)の傾きが変更されないように、ロボット20は平行に移動制御される。
続いて、図7のフローチャート図において、TCP位置設定値Fpにおける傾き情報(α,β,γ)に基づいて、ツール座標系の回転軸の、撮像装置30の光軸LLに対する位置あわせが行われる(S106)。
[具体例:傾き情報(α,β,γ)に基づく位置合わせ(図7のS106)]
図13は、傾き情報(α,β,γ)に基づく、ツール座標系の回転軸の撮像装置30の光軸LLに対する位置あわせ処理について説明する図である。この例において、回転軸はZ軸である。図13の(A)は、図7の工程S105にしたがって、TCP位置ppが撮像可能な位置にロボット20が配置された状態を示す図である。
一方、図13(B)は、図7の工程S106にしたがって、傾き情報(α,β,γ)に基づいてロボット20が回転制御され、ツール座標系(Xc,Yc,Zc)のZ軸Zcが光軸LLと平行になるように位置あわせ処理が行われた状態を示す図である。ただし、この例において、TCP位置設定値Fpにおける傾き情報(α,β,γ)は、誤差を有する。このため、図13(B)の例において、位置合わせ後のツール座標系(Xc,Yc,Zc)におけるZ軸Zcと、撮像装置30の光軸LLとは平行ではない。誤差がある場合、続いて、TCP位置情報補正プログラム122は、位置合わせ後のツール座標系(Xc,Yc,Zc)におけるZ軸Zcと、光軸LLとの角度を、傾き情報(α,β,γ)の補正値として算出する(S107)。
[フローチャート:傾き情報(α,β,γ)の補正値の算出処理(図7のS107)]
図14は、傾き情報(α,β,γ)の補正値の算出処理について説明するフローチャート図である。この処理は、図7のフローチャート図における工程S107の処理に対応する。処理の概要は、図9のフローチャート図と同様である。
初めに、TCP位置情報補正プログラム122は、ロボット20の移動前の位置(基準位置)において、撮像装置30にTCP位置を撮像させ、生成される画像データにおけるTCP位置を計測する(S61)。TCP位置は、例えば、マーカ等によって識別可能に表される。次に、TCP位置情報補正プログラム122は、ツール座標系(Xc,Yc,Zc)における回転軸を除く第1軸方向に、一定距離、ロボット20を平行移動させる(S62)。例えば、回転軸がZ軸である場合、TCP位置情報補正プログラム122は、X軸方向に、10mm程度、ロボット20の平行移動を指示する。続いて、TCP位置情報補正プログラム122は、撮像装置30にTCP位置を撮像させ、生成される画像データにおけるTCP位置を計測する(S63)。
次に、TCP位置情報補正プログラム122は、ロボット20を基準位置に戻した上で、回転軸を除く第2軸方向に、工程S62と同距離、ロボット20を平行移動させる(S64)。例えば、TCP位置情報補正プログラム122は、Y軸方向に、10mm程度、ロボット20の平行移動を指示する。続いて、TCP位置情報補正プログラム122は、撮像装置30にTCP位置を撮像させ、生成される画像データにおけるTCP位置を計測する(S65)。
そして、TCP位置情報補正プログラム122は、それぞれの画像データにおけるTCP位置の測定位置に基づいて、ロボット20を基準位置から各軸方向に移動制御した場合における各移動ベクトルを算出する(S66)。続いて、TCP位置情報補正プログラム122は、算出した2つの移動ベクトルに基づいて、回転軸と撮像装置30の光軸との傾き角度を算出する(S67)。具体的に、TCP位置情報補正プログラム122は、2つの移動ベクトルの長さの比、及び、移動ベクトルの成す角度に基づいて、回転軸と撮像装置30の光軸との角度を算出する。回転軸と撮像装置30の光軸とが平行である場合、2つの移動ベクトルの長さは同じであり、2つの移動ベクトルのなす角度は90度である。
これにより、TCP位置情報補正プログラム122は、回転軸の、撮像装置30の光軸からの傾き角度を算出することができる。続いて、TCP位置情報補正プログラム122は、算出された傾き角度に基づいて、傾き情報(α,β,γ)の補正値を算出する(S68)。
[具体例:傾き情報(α,β,γ)の補正値の算出処理(図14)]
図15は、傾き情報(α,β,γ)の補正値の算出処理(図14)の具体例について説明する第1の図である。この例において、ツール座標系(Xc,Yc,Zc)における回転軸として、Z軸Zcが選択される。
図15の(A)において、ロボット20の基準位置が例示される。まず、基準位置において撮像装置30によって画像データが生成され、画像データにおけるTCP位置が測定される(S61)。そして、図10の具体例と同様にして、ロボット20がX軸Xc方向(xd)に10mm程度、平行移動制御され、撮像装置30によって画像データが生成される(S62)。そして、生成された画像データにおけるTCP位置が計測される(S63)。同様にして、基準位置に戻されたロボット20がY軸Yc方向(yd)に10mm程度、平行移動制御され、撮像装置30によって画像データが生成され(S64)、生成された画像データにおけるTCP位置が計測される(S65)。
そして、基準位置における画像データ、及び、X軸、Y軸方向への移動位置で生成された画像データにおけるTCP位置の画像位置に基づいて、図15の(B)に示す移動ベクトルX3、Y3が検出される(S66)。この例では、Z軸Zcと光軸LLとが平行ではないため、ベクトルX3とベクトルY3との長さが同一ではなく、ベクトルX3とベクトルY3とのなす角θ3が90度ではない。そして、ベクトルX3とベクトルY3とのなす角θ3、及び、ベクトルX3とベクトルY3との比に基づいて、Z軸Zcと光軸LLとの傾き角度が算出され(S67)、当該傾き角度に基づいて傾き情報(α,β,γ)の補正値が算出される(S68)。
図16は、傾き情報(α,β,γ)の補正値の算出処理(図14)の具体例について説明する第2の図である。図16の(A)は、算出された傾き情報(α,β,γ)の補正値に基づいて、ロボット20が回転制御された図を示す。傾き情報(α,β,γ)が補正されたことにより、ツール座標系(Xc,Yc,Zc)のZ軸Zcと撮像装置30の光軸LLとが平行となっている。このため、図15と同様にして、X軸、Y軸方向(xd、yd)それぞれについて、同距離、ロボット20が移動制御された場合の移動ベクトルX4、Y4のなす角度は90度となる。また、各移動ベクトルX4、Y4の距離は、同一である。
図7〜図16において、メカニカルインタフェース座標系(Xb,Yb,Zb)、及び、ツール座標系(Xc,Yc,Zc)における3つの軸のうち、Z軸が選択された場合について説明した。このため、図7のフローチャート図に基づいて、Z軸以外の別の軸が回転軸として選択された場合について(図7のS108のNO)、同様にして、図7〜図16の処理が行われる。2軸以上の軸が回転軸として選択されることによって、TCP位置設定値Fpにおける傾き情報(α,β,γ)における各要素について補正される。
続いて、TCP位置情報補正プログラム122は、TCPの位置情報における座標情報(lxb,lyb,lzb)の補正処理を行う(S110)。ここで、座標情報(lxb,lyb,lzb)の補正処理について(S110)、フローチャート図に基づいて説明する。
[フローチャート:座標情報(lxb,lyb,lzb)の補正処理(図16のS110)]
図17は、TCP位置設定値Fpにおける座標情報(lxb,lyb,lzb)の補正処理について説明するフローチャート図である。この処理は、図6のフローチャート図における工程S110の処理に対応する。
まず、TCP位置情報補正プログラム122は、ツール座標系(Xc,Yc,Zc)の3つの軸のうち、1つの軸を回転軸として選択する(S111)。続いて、TCP位置情報補正プログラム122は、選択した回転軸と、撮像装置30の光軸とが平行になるように、ロボット20を制御する(S112)。処理の詳細は、前述した図9のフローチャート図と同様である。ただし、図9のフローチャート図と異なり、工程S112では、メカニカルインタフェース座標系(Xb,Yb,Zb)の回転軸ではなく、ツール座標系(Xc,Yc,Zc)の回転軸について、光軸とが平行になるようにロボット20が制御される。なお、既に、ツール座標系の回転軸と、撮像装置30の光軸とが平行になるように制御済みである場合、工程S112の処理は省略可能である。
続いて、TCP位置情報補正プログラム122は、撮像装置30にTCP位置を撮像させ、生成される画像データにおけるTCPの位置を計測する(S113)。次に、TCP位置情報補正プログラム122は、回転軸を法線とする平面上でツールTLを一定角度、回転させる(S114)。例えば、TCP位置情報補正プログラム122は、回転軸としてZ軸が選択された場合、TCP位置設定値Fpを中心としてZ軸周りにツールTLを10度程度、回転させる指令を出力する。そして、回転が終了すると、TCP位置情報補正プログラム122は、撮像装置30にTCP位置を撮像させ、生成される画像データにおけるTCPの位置を計測する(S115)。このとき、ロボット20は初期の状態から、TCP位置設定値Fpを中心として、Z軸周りに、10度分、回転した姿勢に制御される。
ここで、TCP位置情報補正プログラム122は、ツールTLを一定角度、回転させた回数がN回以内である場合(S116のYES)、再び、工程S114、S115の処理を行う。一方、回転させた回数がN回を超える場合(S116のNO)、TCP位置情報補正プログラム122は、画像データにおけるTCP位置のN+1個の計測位置に基づいて、回転の中心位置を算出する(S117)。具体的に、例えば、N+1個の計測位置に基づいて、当該計測位置を孤とする円が検出され、円の中心が回転の中心位置として算出される。例えば、TCP位置情報補正プログラム122は、最小二乗推定によって、N+1個の計測位置を孤とする円を算出する。一般的に、任意の異なる3点が与えられることにより、3点を通る円の方程式が算出可能になる。このため、例えば、N=2と設定される。ただし、この例に限定されるものではなく、Nは2以上のいずれの値に設定されてもよい。
TCP位置設定値Fpの座標情報(lxb,lyb,lzb)と、実際のTCP位置とが一致している場合、画像データにおけるN+1個の計測位置は同一の位置を示す。一方、TCP位置設定値Fpの座標情報(lxb,lyb,lzb)と、実際のTCP位置とが一致していない場合、画像データにおけるN+1個のTCPの計測位置は、円弧を描く。このとき、円の中心はTCP位置設定値Fpの座標情報(lxb,lyb,lzb)に対応し、円の半径はTCP位置設定値Fpの座標情報(lxb,lyb,lzb)の補正量に相当する。
そこで、TCP位置情報補正プログラム122は、円の中心位置と、ツールTLの回転前におけるTCP位置の計測位置(S113)との差分ベクトルを、TCP位置設定値Fpの座標情報(lxb,lyb,lzb)の補正ベクトルとして算出する(S118)。このとき、例えば、回転軸としてZ軸が選択される場合、X軸、Y軸の座標情報に係る補正値が算出される。続いて、TCP位置情報補正プログラム122は、算出された補正値に基づいて、TCP位置設定値Fpの座標情報(lxb,lyb,lzb)を補正する(S119)。
続いて、TCP位置の補正量が一定の閾値を超える場合は(S120のNO)、工程S114に戻り、再び、補正値の算出処理が行われる。つまり、TCP位置の補正量を示す円の半径が閾値以下になるまで、補正量の算出処理が繰り返し行われる。これにより、TCP位置設定値Fpの補正精度が向上する。そして、補正量が閾値以下であって(S120のYES)、回転軸を2軸を選択していない場合(S121のNO)、TCP位置情報補正プログラム122は、回転軸として選択済みの軸とは異なる軸を選択し(S111)、工程S112〜S120の処理を行う。一方、補正量が閾値以下であって(S120のYES)、2軸を選択済みの場合(S121のYES)、TCP位置情報補正プログラム122は、TCPの位置情報における座標情報(lxb,lyb,lzb)の補正処理を終了する。
[具体例:座標情報(lxb,lyb,lzb)の補正処理]
図18は、座標情報(lxb,lyb,lzb)の補正処理の具体例について説明する第1の図である。この例において、回転軸は、例えば、Z軸である。ツールTLは、TCP位置設定値Fpの座標情報(lxb,lyb,lzb)を中心として、Z軸周りに、例えば、10度、回転される。図18の例において、TCP位置設定値Fpの座標情報(lxb,lyb,lzb)は、実際のTCP位置ppの座標情報と異なっている。したがって、図18の例において、実際のTCP位置ppは、ツールTLの回転に伴って円弧を描く。
図19は、座標情報(lxb,lyb,lzb)の補正処理の具体例について説明する第2の図である。図19は、座標情報(lxb,lyb,lzb)の補正処理において生成される各画像データgg1における実際のTCP位置ppの計測位置を例示する。図19において、方向xxは画像データgg1のX軸方向であって、方向yyは、画像データgg1のY軸方向を示す。
図19の画像データgg1の黒色の三角pp0〜pp2は、Z軸周りにツールTLを回転させた場合における実際のTCP位置ppの計測位置を示す。具体的に、計測位置pp0は、ツールTLの回転前における実際のTCP位置の計測位置であって、計測位置pp1は、ツールTLをZ軸周りに10度回転させた場合における実際のTCP位置の計測位置である。同様にして、計測位置pp2は、ツールTLをZ軸周りに、さらに10度回転させた場合における実際のTCP位置の計測位置である。
そして、図19において、3つの計測位置pp0〜pp2に基づいて、円ttが算出される。算出された円ttの中心t0は、TCP位置設定値Fpの座標情報(lxb,lyb,lzb)に対応する。したがって、円ttの中心t0から計測位置pp0へのベクトルVVは、TCP位置設定値Fpの座標情報(lxb,lyb,lzb)の補正ベクトルに対応する。
図20は、TCP位置設定値Fpの座標情報(lxb,lyb,lzb)が補正された場合の各画像データにおける、実際のTCP位置ppの測定位置pp0〜pp2を表す図である。この例において、TCP位置設定値Fpの座標情報(lxb,lyb,lzb)は、実際のTCP位置に補正されている。このため、ツールTLを、TCP位置設定値Fpを中心としてZ軸周りに回転制御した場合であっても、実際のTCP位置ppは移動しない。したがって、図20において、実際のTCP位置ppの測定位置pp0〜pp2は、同一の位置を示す。
以上のように、本実施の形態例におけるTCP位置情報補正プログラム122におけるツール先端点情報補正処理は、ツールが有する第1の座標系の3軸のうち1軸を回転軸とし、撮像装置の光軸と平行に制御する第1の軸制御工程と、設定位置情報を中心として、回転軸周りに回転しながら、検知可能に表されるツール先端点を含む3つの画像データを撮像装置によって生成する画像データ生成工程を有する。また、ツール先端点情報補正処理は、3つの画像データにおけるツール先端点の画像位置によって構成される円の中心と、画像位置とのベクトル情報に基づいて、設定位置情報と実位置情報との補正ベクトルを算出する補正情報算出工程と、算出された補正ベクトルに基づいて、設定位置情報を補正する第1の補正工程とを有する。
このように、TCP位置情報補正プログラム122は、撮像装置によって生成される画像データに基づいて、ツール先端点の設定位置情報における座標情報を補正することができる。これにより、TCP位置情報補正プログラム122は、人為的な技術に依存することなく、短時間で、座標情報を補正することができる。また、TCP位置情報補正プログラム122は、実際のツール先端点の位置を、画像データに基づいて高精度に測定可能になることにより、座標情報を高精度に補正することができる。また、TCP位置情報補正プログラム122は、撮像装置によって生成される画像データに基づくことにより、目視で確認し難い作業領域においても、座標情報の補正処理を行うことを可能にする。
また、本実施の形態例におけるTCP位置情報補正プログラム122は、画像データにおけるツール先端点の画像位置によって構成される円の中心と、画像位置とのベクトル情報に基づいて、設定位置情報と実位置情報との補正ベクトルを算出する。このように、TCP位置情報補正プログラム122は、設定位置情報を中心としてロボットを回転軸周りに回転させた場合におけるツール先端点の測定情報の軌跡情報に基づいて、ツール先端点の設定位置情報の補正ベクトルを簡易に算出することができる。
また、本実施の形態例におけるTCP位置情報補正プログラム122において、第1の軸調整工程、画像データ生成工程、及び、補正情報算出工程は、第1の座標系の3軸のうち別の1軸を回転軸として実行され、第1の補正工程では、複数の回転軸におけるそれぞれの補正ベクトルに基づいて設定位置情報を補正する。これにより、TCP位置情報補正プログラム122は、ツール先端点の設定位置情報における座標情報(lxb,lyb,lzb)の全ての軸の要素について、補正することができる。
また、本実施の形態例におけるTCP位置情報補正プログラム122において、第1の軸制御工程では、回転軸以外の2軸方向にそれぞれ、所定の距離分、ツールを移動して生成した撮像装置による2つの画像データにおける、それぞれのツール先端点の移動ベクトルに基づいて算出される回転軸と撮像装置の光軸との角度が減じられるように、回転軸を制御する。これにより、TCP位置情報補正プログラム122は、人為的な技術に依存することなく、短時間で、高精度に、回転軸を撮像装置の光軸に平行に制御することができる。また、TCP位置情報補正プログラム122は、画像データに基づくことにより回転軸の平行状態への制御を高精度に行うことができると共に、目視で確認し難い作業領域においても回転軸の平行状態への制御を可能にする。
また、本実施の形態例におけるTCP位置情報補正プログラム122において、ツール先端点情報補正処理は、さらに、第1の軸制御工程の前に行われ、ロボット本体が有する第2の座標系と、ツールの第1の座標系との、設計傾き情報を実傾き情報に補正する傾き情報補正工程を有する。これにより、TCP位置情報補正プログラム122は、ツール先端点の設定位置情報における座標情報に加えて、ツール先端点の設定位置情報における傾き情報を補正することができる。
また、本実施の形態例におけるTCP位置情報補正プログラム122において、傾き情報補正工程は、第2の座標系の3軸のうち1軸を回転軸とし、撮像装置の光軸と平行に制御する第2の軸制御工程と、設計傾き値情報に基づいて、第1の座標系における同一の回転軸が撮像装置の光軸と平行になるように、第1の座標系を回転制御する制御工程とを有する。また、傾き情報補正工程は、回転制御後の第1の座標系における回転軸と、撮像装置の光軸との角度に基づいて、実傾き情報への補正角度を算出する傾き補正情報算出工程と、補正角度に基づいて、設計傾き情報を補正する第2の補正工程と、を有する。
このように、TCP位置情報補正プログラム122は、撮像装置によって生成される画像データに基づいて、ツール先端点の設定位置情報における傾き情報を補正することができる。これにより、TCP位置情報補正プログラム122は、人為的な技術に依存することなく、短時間で、傾き情報を補正することができる。また、TCP位置情報補正プログラム122は、実際のツール先端点の位置を高精度に測定可能になることにより、傾き情報を高精度に補正することができる。また、TCP位置情報補正プログラム122は、撮像装置によって生成される画像データに基づくことにより、目視で確認し難い作業領域においても、傾き情報の補正処理を行うことを可能にする。
また、本実施の形態例におけるTCP位置情報補正プログラム122において、傾き情報補正工程は、さらに、第2の座標系の3軸のうち別の1軸を回転軸として実行される。これにより、TCP位置情報補正プログラム122は、ツール先端点の設定位置情報における傾き情報(α,β,γ)の全ての要素について補正することができる。
また、本実施の形態例におけるTCP位置情報補正プログラム122において、補正情報算出工程において算出される補正ベクトルに基づく補正量が基準補正量を超える間、第1の軸調整工程、画像データ生成工程、及び、補正情報算出工程が繰り返される。これにより、TCP位置情報補正プログラム122は、ツール先端点の設定位置情報の補正精度を向上させることができる。
また、本実施の形態例におけるTCP位置情報補正プログラム122において、補正ベクトルは、回転軸以外の2軸上のベクトルである。これにより、TCP位置情報補正プログラム122は、例えば、Z軸を回転軸として選択した場合、ツール先端点の設定位置情報の座標情報におけるX軸、Y軸の要素を補正することができる。他の軸が回転軸として選択された場合についても同様にして、回転軸以外の2軸の要素が補正される。
以上の実施の形態をまとめると、次の付記のとおりである。
(付記1)
ロボット本体に取り付けられるツールのツール先端点の設定位置情報を実位置情報に補正するツール先端点情報補正処理を実行させるプロセッサ読み取り可能なツール先端点情報補正プログラムにおいて、
前記ツール先端点情報補正処理は、
ツールが有する第1の座標系の3軸のうち1軸を回転軸とし、撮像装置の光軸と平行に制御する第1の軸制御工程と、
前記設定位置情報を中心として、前記回転軸を回転しながら、検知可能に表される前記ツール先端点を含む3つの画像データを前記撮像装置によって生成する画像データ生成工程と、
前記3つの画像データにおける前記ツール先端点の画像位置によって構成される円の中心と、前記画像位置とのベクトル情報に基づいて、前記設定位置情報と前記実位置情報との補正ベクトルを算出する補正情報算出工程と、
前記算出された補正ベクトルに基づいて、前記設定位置情報を補正する第1の補正工程と、を有するツール先端点情報補正プログラム。
(付記2)
付記1において、さらに、
前記第1の軸調整工程、前記画像データ生成工程、及び、前記補正情報算出工程は、前記第1の座標系の3軸のうち別の1軸を回転軸として実行され、
前記第1の補正工程では、複数の回転軸におけるそれぞれの前記補正ベクトルに基づいて前記設定位置情報を補正するツール先端点情報補正プログラム。
(付記3)
付記1において、
前記第1の軸制御工程では、前記回転軸以外の2軸方向にそれぞれ、所定の距離分、前記ツールを移動して生成した前記撮像装置による2つの画像データにおける、それぞれの前記ツール先端点の移動ベクトルに基づいて算出される前記回転軸と前記撮像装置の光軸との角度が減じられるように、前記回転軸を制御するツール先端点情報補正プログラム。
(付記4)
付記1乃至3のいずれかにおいて、
前記ツール先端点情報補正処理は、さらに、
前記第1の軸制御工程の前に行われ、前記ロボット本体が有する第2の座標系と、前記ツールの第1の座標系との、設計傾き情報を実傾き情報に補正する傾き情報補正工程を有するツール先端点情報補正プログラム。
(付記5)
付記4において、
前記傾き情報補正工程は、
前記第2の座標系の3軸のうち1軸を回転軸とし、前記撮像装置の光軸と平行に制御する第2の軸制御工程と、
前記設計傾き値情報に基づいて、前記第1の座標系における同一の回転軸が前記撮像装置の光軸と平行になるように、前記第1の座標系を回転制御する制御工程と、
前記回転制御後の前記第1の座標系における前記回転軸と、前記撮像装置の光軸との角度に基づいて、前記実傾き情報への補正角度を算出する傾き補正情報算出工程と、
前記補正角度に基づいて、前記設計傾き情報を補正する第2の補正工程と、を有するツール先端点情報補正プログラム。
(付記6)
付記4または5において、
前記傾き情報補正工程は、さらに、前記第2の座標系の3軸のうち別の1軸を回転軸として実行されるツール先端点情報補正プログラム。
(付記7)
付記1乃至6のいずれかにおいて、
前記補正情報算出工程において算出される前記補正ベクトルに基づく補正量が基準補正量を超える間、前記第1の軸調整工程、前記画像データ生成工程、及び、前記補正情報算出工程が繰り返されるツール先端点情報補正プログラム。
(付記8)
付記1乃至7のいずれかにおいて、
前記補正ベクトルは、前記回転軸以外の2軸上のベクトルであるツール先端点情報補正プログラム。
(付記9)
ロボット本体に取り付けられるツールのツール先端点の設定位置情報を実位置情報に補正するツール先端点情報補正装置であって、
ツールが有する第1の座標系の3軸のうち1軸を回転軸とし、撮像装置の光軸と平行に制御する第1の軸制御手段と、
前記設定位置情報を中心として、前記回転軸周りに回転しながら、検知可能に表される前記ツール先端点を含む3つの画像データを前記撮像装置によって生成する画像データ生成手段と、
前記3つの画像データにおける前記ツール先端点の画像位置によって構成される円の中心と、前記画像位置とのベクトル情報に基づいて、前記設定位置情報と前記実位置情報との補正ベクトルを算出する補正情報算出手段と、
前記算出された補正ベクトルに基づいて、前記設定位置情報を補正する第1の補正手段と、を有するツール先端点情報補正装置。
(付記10)
ロボット本体に取り付けられるツールのツール先端点の設定位置情報を実位置情報に補正するツール先端点情報補正方法であって、
ツールが有する第1の座標系の3軸のうち1軸を回転軸とし、撮像装置の光軸と平行に制御する第1の軸制御工程と、
前記設定位置情報を中心として、前記回転軸周りに回転しながら、検知可能に表される前記ツール先端点を含む3つの画像データを前記撮像装置によって生成する画像データ生成工程と、
前記3つの画像データにおける前記ツール先端点の画像位置によって構成される円の中心と、前記画像位置とのベクトル情報に基づいて、前記設定位置情報と前記実位置情報との補正ベクトルを算出する補正情報算出工程と、
前記算出された補正ベクトルに基づいて、前記設定位置情報を補正する第1の補正工程と、を有するツール先端点情報補正方法。
10:ロボット制御装置、50:教示盤、40:画像処理装置、RA:ロボット本体、TL:ツール、30:撮像装置

Claims (10)

  1. ロボット本体に取り付けられるツールのツール先端点の設定位置情報を実位置情報に補正するツール先端点情報補正処理を実行させるプロセッサ読み取り可能なツール先端点情報補正プログラムにおいて、
    前記ツール先端点情報補正処理は、
    ツールが有する第1の座標系の3軸のうち1軸を回転軸とし、撮像装置の光軸と平行に制御する第1の軸制御工程と、
    前記設定位置情報を中心として、前記回転軸周りに回転しながら、検知可能に表される前記ツール先端点を含む3つの画像データを前記撮像装置によって生成する画像データ生成工程と、
    前記3つの画像データにおける前記ツール先端点の画像位置によって構成される円の中心と、前記画像位置とのベクトル情報に基づいて、前記設定位置情報と前記実位置情報との補正ベクトルを算出する補正情報算出工程と、
    前記算出された補正ベクトルに基づいて、前記設定位置情報を補正する第1の補正工程と、を有するツール先端点情報補正プログラム。
  2. 請求項1において、さらに、
    前記第1の軸制御工程、前記画像データ生成工程、及び、前記補正情報算出工程は、前記第1の座標系の3軸のうち別の1軸を回転軸として実行され、
    前記第1の補正工程では、複数の回転軸におけるそれぞれの前記補正ベクトルに基づいて前記設定位置情報を補正するツール先端点情報補正プログラム。
  3. 請求項1または2において、
    前記第1の軸制御工程では、前記回転軸以外の2軸方向にそれぞれ、所定の距離分、前記ツールを移動して生成した前記撮像装置による2つの画像データにおける、それぞれの前記ツール先端点の移動ベクトルに基づいて算出される前記回転軸と前記撮像装置の光軸との角度が減じられるように、前記回転軸を制御するツール先端点情報補正プログラム。
  4. 請求項1乃至3のいずれかにおいて、
    前記ツール先端点情報補正処理は、さらに、
    前記第1の軸制御工程の前に行われ、前記ロボット本体が有する第2の座標系と、前記ツールの第1の座標系との、設計傾き情報を実傾き情報に補正する傾き情報補正工程を有するツール先端点情報補正プログラム。
  5. 請求項4において、
    前記傾き情報補正工程は、
    前記第2の座標系の3軸のうち1軸を回転軸とし、前記撮像装置の光軸と平行に制御する第2の軸制御工程と、
    前記設計傾き情報に基づいて、前記第1の座標系における同一の回転軸が前記撮像装置の光軸と平行になるように、前記第1の座標系を回転制御する制御工程と、
    前記回転制御後の前記第1の座標系における前記回転軸と、前記撮像装置の光軸との角度に基づいて、前記実傾き情報への補正角度を算出する傾き補正情報算出工程と、
    前記補正角度に基づいて、前記設計傾き情報を補正する第2の補正工程と、を有するツール先端点情報補正プログラム。
  6. 請求項4または5において、
    前記傾き情報補正工程は、さらに、前記第2の座標系の3軸のうち別の1軸を回転軸として実行されるツール先端点情報補正プログラム。
  7. 請求項1乃至6のいずれかにおいて、
    前記補正情報算出工程において算出される前記補正ベクトルに基づく補正量が基準補正量を超える間、前記第1の軸制御工程、前記画像データ生成工程、及び、前記補正情報算出工程が繰り返されるツール先端点情報補正プログラム。
  8. 請求項1乃至7のいずれかにおいて、
    前記画像データ生成工程は、前記設定位置情報を中心として、前記ツールを前記回転軸周りに回転させながら、前記ツールの3つの異なる回転位置それぞれで、検知可能に表される前記ツール先端点を含む画像データを前記撮像装置によって生成し、
    前記補正情報算出工程は、前記3つの異なる回転位置それぞれで生成された3つの画像データにおける前記ツール先端点の画像位置によって構成される円の中心と、前記画像位置とのベクトル情報に基づいて、前記設定位置情報と前記実位置情報との補正ベクトルを算出するツール先端点情報補正プログラム。
  9. ロボット本体に取り付けられるツールのツール先端点の設定位置情報を実位置情報に補正するツール先端点情報補正装置であって、
    ツールが有する第1の座標系の3軸のうち1軸を回転軸とし、撮像装置の光軸と平行に制御する第1の軸制御手段と、
    前記設定位置情報を中心として、前記回転軸周りに回転しながら、検知可能に表される前記ツール先端点を含む3つの画像データを前記撮像装置によって生成する画像データ生成手段と、
    前記3つの画像データにおける前記ツール先端点の画像位置によって構成される円の中心と、前記画像位置とのベクトル情報に基づいて、前記設定位置情報と前記実位置情報との補正ベクトルを算出する補正情報算出手段と、
    前記算出された補正ベクトルに基づいて、前記設定位置情報を補正する第1の補正手段と、を有するツール先端点情報補正装置。
  10. ロボット本体に取り付けられるツールのツール先端点の設定位置情報を実位置情報に補正するツール先端点情報補正方法であって、
    ツールが有する第1の座標系の3軸のうち1軸を回転軸とし、撮像装置の光軸と平行に制御する第1の軸制御工程と、
    前記設定位置情報を中心として、前記回転軸周りに回転しながら、検知可能に表される前記ツール先端点を含む3つの画像データを前記撮像装置によって生成する画像データ生成工程と、
    前記3つの画像データにおける前記ツール先端点の画像位置によって構成される円の中心と、前記画像位置とのベクトル情報に基づいて、前記設定位置情報と前記実位置情報との補正ベクトルを算出する補正情報算出工程と、
    前記算出された補正ベクトルに基づいて、前記設定位置情報を補正する第1の補正工程と、を有するツール先端点情報補正方法。
JP2013231333A 2013-11-07 2013-11-07 ツール先端点情報補正プログラム、ツール先端点情報補正装置、及び、ツール先端点情報補正方法 Expired - Fee Related JP6273783B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013231333A JP6273783B2 (ja) 2013-11-07 2013-11-07 ツール先端点情報補正プログラム、ツール先端点情報補正装置、及び、ツール先端点情報補正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013231333A JP6273783B2 (ja) 2013-11-07 2013-11-07 ツール先端点情報補正プログラム、ツール先端点情報補正装置、及び、ツール先端点情報補正方法

Publications (2)

Publication Number Publication Date
JP2015089607A JP2015089607A (ja) 2015-05-11
JP6273783B2 true JP6273783B2 (ja) 2018-02-07

Family

ID=53193372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013231333A Expired - Fee Related JP6273783B2 (ja) 2013-11-07 2013-11-07 ツール先端点情報補正プログラム、ツール先端点情報補正装置、及び、ツール先端点情報補正方法

Country Status (1)

Country Link
JP (1) JP6273783B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7436188B2 (ja) 2019-11-26 2024-02-21 ファナック株式会社 座標系設定システムおよび座標系設定方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61296409A (ja) * 1985-06-25 1986-12-27 Fanuc Ltd ロボツト制御方式
JPS62292328A (ja) * 1986-06-12 1987-12-19 Matsushita Electric Ind Co Ltd 部品装着方法
JP2656180B2 (ja) * 1991-10-29 1997-09-24 ファナック株式会社 ツール先端位置調整方法
JP2002307346A (ja) * 2001-04-18 2002-10-23 Mitsubishi Electric Corp ロボットの視覚座標校正方法および装置
JP4191080B2 (ja) * 2004-04-07 2008-12-03 ファナック株式会社 計測装置
CN102909728B (zh) * 2011-08-05 2015-11-25 鸿富锦精密工业(深圳)有限公司 机器人工具中心点的视觉校正方法

Also Published As

Publication number Publication date
JP2015089607A (ja) 2015-05-11

Similar Documents

Publication Publication Date Title
JP6223640B2 (ja) キャリブレーション装置およびこれを用いたロボットシステム
JP6420229B2 (ja) 仮想物体の画像をロボットの映像に重畳表示する映像表示装置を備えるロボットシステム
JP6468741B2 (ja) ロボットシステム及びロボットシステムの校正方法
JP6429473B2 (ja) ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP4191080B2 (ja) 計測装置
JP5860021B2 (ja) 複数の締結部材を締結するための締結装置、ロボットシステム、および締結方法
JP5365379B2 (ja) ロボットシステム及びロボットシステムのキャリブレーション方法
JP5815761B2 (ja) 視覚センサのデータ作成システム及び検出シミュレーションシステム
EP2660014B1 (en) Control device and teaching method for seven-shaft multi-joint robot
JP2006048244A (ja) 加工プログラム作成装置
JP5292998B2 (ja) ロボット装置の制御方法及びロボット装置
KR101498835B1 (ko) 7축 다관절 로봇의 제어방법, 제어 프로그램 및 로봇 제어장치
US20160288333A1 (en) Robot, robot control device, and robotic system
JP5458769B2 (ja) ロボットの制御装置
US10406688B2 (en) Offline programming apparatus and method having workpiece position detection program generation function using contact sensor
CN109465817B (zh) 机器人系统、机器人控制装置和被加工物的制造方法
US7957834B2 (en) Method for calculating rotation center point and axis of rotation, method for generating program, method for moving manipulator and positioning device, and robotic system
US8761936B2 (en) Teaching line correcting apparatus, teaching line correcting method, and program thereof
JP5228783B2 (ja) ロボットの原点復帰装置
JP5787646B2 (ja) ロボットシステム及び部品の製造方法
JP2019089201A (ja) 教示データ作成装置、教示データ作成装置の制御方法及びロボットシステム
JP6273783B2 (ja) ツール先端点情報補正プログラム、ツール先端点情報補正装置、及び、ツール先端点情報補正方法
JP6011089B2 (ja) ロボットシステム並びにロボット制御装置及び方法
WO2023013740A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
JP2021186929A (ja) 多軸ロボットの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170703

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171225

R150 Certificate of patent or registration of utility model

Ref document number: 6273783

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees