(57)【要約】【課題】高精度な水平多関節ロボットを実現する。【解決手段】水平多関節ロボット１０の座標値補正方法は、ガラスマスク８０に設けられた基準マークＰ１，Ｐ２，Ｐ３位置をＣＣＤカメラ４０で画像認識して作用点の基準となるＵ軸中心を測定し、基準マークＰ１，Ｐ２，Ｐ３とＵ軸とが一致するまで第１アーム５０と第２アーム６０とを旋回させて、その移動量からロボット座標に対するガラスマスク８０の傾きを算出し、ガラスマスク８０の傾きを考慮して少なくとも２箇所の基準ロボット座標を算出し、前記基準ロボット座標に一致するまで前記Ｕ軸を旋回移動させてモデルポイントを作成し、そのときのロボット座標とモデルポイントとの座標差を算出し、この座標差を用いてアーム長誤差（ΔＬ１，ΔＬ２）と組み付け角度誤差（Δθ１，Δθ２）からＵ軸の座標補正値を算出し、座標補正値に基づきＵ軸の指令座標値を補正する。【選択図】図４
2012006125.tif 000002
【特許請求の範囲】
【請求項１】
相対移動可能な第１アームと第２アームと、前記第２アームの先端に組み付けられ回転可能な非接触式位置検出センサーと、前記非接触式位置検出センサーのセンサー面と対向する平面に三角形を形成する座標既知の３箇所の基準マークと、を有し、
前記非接触式位置検出センサーのセンサー面の重心座標と、前記非接触式位置検出センサーの回転軸の回転座標との中間座標をＵ軸とし、
前記３箇所の基準マークのうち少なくとも２箇所と前記Ｕ軸とが一致するまで前記第１アームと前記第２アームとを旋回移動させて、その移動量からロボット座標に対する前記基準マークの傾きを算出し、
前記基準マークの傾きを考慮して前記３箇所のうちの少なくとも２箇所の基準ロボット座標を算出し、
前記基準ロボット座標に一致するまで前記Ｕ軸を旋回移動させ、そのときのロボット座標とティーチング座標との座標差を算出し、
この座標差を用いて前記第１アームと前記第２アームそれぞれの長さ誤差と角度誤差から前記Ｕ軸の座標補正値を算出し、
前記座標補正値に基づき前記Ｕ軸の指令座標値を補正することを特徴とする水平多関節ロボットの座標値補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、水平多関節ロボットの座標値補正方法に関する。
【背景技術】
【０００２】
水平多関節ロボットを直交座標ロボットのように全駆動座標上で正確な寸法だけ相対移動をさせることは困難であった。これは、多関節による座標系の歪み、及び組み付け誤差、組み付け部品の寸法誤差によって移動先座標の計算に誤差が発生するためである。これらの誤差を補正する手段として、各アーム長を右腕・左腕姿勢で移動させたときにエンコーダーからの信号を読み取り、角度差からアーム長を算出し、移動量を演算する際に基準アーム長と算出されたアーム長の差分を移動量に反映させる方法が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−２９４９８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような特許文献１では、第１アーム長と第２アーム長のみの補正を行っているが、水平多関節ロボットでは、誤差としてアーム長の他に各アームの組み付けに伴う関節角度誤差もある。このような誤差がある場合、アーム長や角度誤差により基準とするティーチングポイント（ティーチング座標）から相対移動させようとしたとき、座標歪みが生じ、正確な位置に移動できないという課題がある。このような場合、移動量が大きいほどその誤差が大きくなる。
【０００５】
また、座標既知の基準ポールをハンド部に組み付けられているチャックにて把持し、基準ポールの中心とハンド部の中心軸（Ｚ軸）とを一致させて基準点としていることから、剛性が十分でないロボットの場合、各アームに撓みが生じて、この撓みに起因する誤差が生じることが考えられる。また、チャック機構の組み付け誤差も考えられる。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００７】
［適用例１］本適用例に係る水平多関節ロボットの座標値補正方法は、相対移動可能な第１アームと第２アームと、前記第２アームの先端に組み付けられ回転可能な非接触式位置検出センサーと、前記非接触式位置検出センサーのセンサー面と対向する平面に三角形を形成する座標既知の３箇所の基準マークと、を有し、前記非接触式位置検出センサーのセンサー面の重心座標と、前記非接触式位置検出センサーの回転軸の回転座標との中間座標をＵ軸とし、前記３箇所の基準マークのうち少なくとも２箇所と前記Ｕ軸とが一致するまで前記第１アームと前記第２アームとを旋回移動させて、その移動量からロボット座標に対する前記基準マークの傾きを算出し、前記基準マークの傾きを考慮して前記３箇所のうちの少なくとも２箇所の基準ロボット座標を算出し、前記基準ロボット座標に一致するまで前記Ｕ軸を旋回移動させ、そのときのロボット座標とティーチング座標との座標差を算出し、この座標差を用いて前記第１アームと前記第２アームそれぞれの長さ誤差と角度誤差から前記Ｕ軸の座標補正値を算出し、前記座標補正値に基づき前記Ｕ軸の指令座標値を補正することを特徴とする。
【０００８】
ここで、非接触式位置検出センサーとしては、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラまたはＣＣＤイメージセンサーを用いることができる。
また、ロボット座標とは、設計上の第１アーム及び第２アームの移動座標であって、アーム長や組み付け誤差を考慮しない座標をさし、基準ロボット座標は、基準マーク位置をロボット座標系に置き換えた座標をさす。
【０００９】
本適用例によれば、第１アームと第２アームを旋回移動させ、座標既知の３箇所の基準マーク位置を非接触式位置検出センサーにより測定することにより第１アーム及び第２アームそれぞれのアーム長誤差と、組み付けに伴うアーム角度誤差（関節角度誤差）とを同時に測定でき、アーム長誤差及びアーム角度誤差の両方から座標補正値を導きだすことができる。そのことにより、移動量や測定箇所以外への移動に関しても誤差の影響を受けずに正確な移動を可能にする。
【００１０】
また、非接触式位置検出センサーのセンサー面の重心座標と、非接触式位置検出センサー回転軸の座標との中間座標をアーム側の基準点であるＵ軸としていることから、上記重心座標と回転軸の回転座標との位置ずれの影響をなくし、精度をより高めることができる。
【００１１】
さらに、非接触式位置検出センサーにより測定していることから、剛性が十分でないロボットの場合であっても各アームに撓みが発生することがないことから、この撓みに起因する誤差がなく、従来技術のようなチャック機構の組み付け誤差も排除することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る水平多関節ロボットの概略構成を示す正面図。
【図２】水平多関節ロボットの誤差の影響を模式的に表す説明図。
【図３】ガラスマスク及び基準マークを模式的に示す説明図。
【図４】水平多関節ロボットの座標値補正方法の主要工程を示す工程説明図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を図面に基づいて説明する。
なお、以下の説明で参照する図は、図示の便宜上、部材ないし部分の縦横の縮尺は実際のものとは異なる模式図である。
（実施形態１）
【００１４】
図１は、本実施形態に係る水平多関節ロボットの概略構成を示す正面図である。水平多関節ロボット１０は、定盤２０に固定される門状の機枠３０の所定位置に自身の組み付けベース３５により固定され、組み付けベース３５に垂直なＪ１軸（回転軸に相当する）を有する第１モーターＭ１と、Ｊ１軸に対して垂直方向に旋回可能な第１アーム５０と、第１アーム５０の先端部に組み付けられＪ１軸と平行なＪ２軸（回転軸に相当する）を有する第２モーターＭ２と、Ｊ２軸に対して垂直方向に旋回可能な第２アーム６０とを有している。
【００１５】
また、第２アーム６０の先端部には、Ｊ２軸と平行なＪ３軸（回転軸に相当する）を有する第３モーターＭ３と、Ｊ３軸の延長方向には非接触式位置検出センサーとしてのＣＣＤカメラ４０が定盤２０に向かって組み付けられている。ＣＣＤカメラ４０は、後述する基準マークを画像認識するために設けられる。なお、ＣＣＤカメラ４０のセンサー面の重心位置をＶで表す。
【００１６】
ここで、第１モーターＭ１と第１アーム５０の接続部を第１関節１１、第２モーターＭ２と第２アーム６０との接続部を第２関節１２と表す。第１アーム５０と第２アーム６０とは、それぞれ第１モーターＭ１と第２モーターＭ２によって水平に、且つ相対的な旋回移動を行う。さらに、第１モーターＭ１及び第２モーターＭ２には、それぞれの回転角度（回転数）をカウントするエンコーダー（図示せず）が設けられている。
【００１７】
また、定盤２０の上面には、基準マークが設けられたガラスマスク８０が組み付け治具２５によって水平になるよう固定されている。よって、ＣＣＤカメラ４０のセンサー面と対向する水平面に基準マークが設けられている。
【００１８】
本実施形態の水平多関節ロボット１０は、ロボット本体に加えコントローラー７０が設けられている。コントローラー７０には、図示は省略するが、第１モーターＭ１と第２モーターＭ２と第３モーターＭ３とを、それぞれ単独に回転制御するためのモータードライバーと、エンコーダーの検出値をカウントするカウンターと、ＣＣＤカメラ４０の画像データを処理する画像処理部と、これらを全体制御する演算部とが格納されている。
【００１９】
続いて、水平多関節ロボット１０におけるアーム長誤差及び角度誤差の影響について説明する。
図２は、水平多関節ロボットの誤差の影響を模式的に表す説明図である。なお、図２は、各移動位置を座標表示しており、作用点（Ｊ３軸位置に相当）を任意の位置Ｕ１に移動させたときのロボット座標（設計値：実線）を表している。また、アーム長誤差及び角度誤差を含む各ポイントの座標を二点鎖線で表している。
【００２０】
ここで、第１アーム５０のアーム長をＬ１、第２アーム６０のアーム長をＬ２とすると（図１も参照）、作用点Ｕ１を座標（Ｘｒ，Ｘｙ）位置に移動させたとき、第１アーム５０とＸ軸のなす角度はθ１、第２アーム６０と第１アーム５０の延長線とのなす角度はθ２である。よって、Ｊ１位置を基点としたとき作用点Ｕ１の位置座標は次式によって表すことができる。
Ｘｒ＝Ｌ１ｃｏｓθ１＋Ｌ２ｃｏｓ（θ１＋θ２）
Ｙｒ＝Ｌ１ｓｉｎθ１＋Ｌ２ｓｉｎ（θ１＋θ２）
【００２１】
ところが、実際には、駆動の基点となるＪ１軸の組み付け位置誤差、アーム長誤差、第１アーム５０の組み付け角度誤差、及び第２アーム６０の組み付け角度誤差が存在する。従って、ロボット座標における作用点Ｕ１を設計上の指令座標位置として駆動してもこの位置から上記誤差分のずれが発生してしまう。
【００２２】
具体的には、Ｊ１軸の組み付け位置誤差によりＪ１軸の位置はｊ１軸位置に移動する。このときのｊ１軸位置を座標表示すると（ｅｘ，ｅｙ）である。また、第１アーム５０系の誤差として、部品長さ誤差と組み付け誤差とを合わせてアーム長誤差ΔＬ１と、組み付け角度とアームのねじれによる角度誤差としてΔθ１が存在する。よって、Ｊ２軸はｊ２軸に移動する。さらに、第２アーム６０系の誤差として、部品長さ誤差と組み付け誤差とを合わせてアーム長誤差ΔＬ２と、組み付け角度とアームのねじれによる角度誤差としてΔθ２が存在する。
【００２３】
上記の誤差が存在する場合、ロボット座標における作用点Ｕ１は、作用点Ｕ２位置まで移動してしまうことになる。このときの作用点Ｕ２の位置座標（Ｘａ，Ｙａ）は次式によって表すことができる。
Ｘａ＝ｅｘ＋（Ｌ１＋ΔＬ１）ｃｏｓ（θ１＋Δθ１）＋（Ｌ２＋ΔＬ２）ｃｏｓ（θ１＋Δθ１＋θ２＋Δθ２）
Ｙａ＝ｅｙ＋（Ｌ１＋ΔＬ１）ｓｉｎ（θ１＋Δθ１）＋（Ｌ２＋ΔＬ２）ｓｉｎ（θ１＋Δθ１＋θ２＋Δθ２）
よって、Ｘａ、Ｙａを算出するためには、誤差であるｅｘ、ｅｙ、ΔＬ１、ΔＬ２、Δθ１、Δθ２を正確に測定する必要がある。
【００２４】
これら６つの誤差は未知量であるため、これら未知量を正確に測定することができれば、作用点の移動量（移動座標）を補正し、所望の移動制御を行うことが可能となる。そして、これら未知量を上式から逆算するためには３点の座標誤差を測定することが求められる。
【００２５】
３点の座標誤差の測定には、ガラスマスク８０に設けられる３箇所の基準マークをＣＣＤカメラにて画像認識することで測定可能である。そこで、ガラスマスク８０及び基準マークについて図面を参照して説明する。
図３は、ガラスマスク及び基準マークを模式的に示す説明図である。ガラスマスク８０には、３箇所の基準マークＰ１，Ｐ２，Ｐ３が設けられている。基準マークＰ１，Ｐ２，Ｐ３は、互いに正確な位置に配置されており、Ｐ１−Ｐ２間距離をＧL1、Ｐ２−Ｐ３間距離をＧL2とする三角形をなす。
【００２６】
図３に示す座標系は、座標（Ｘ，Ｙ）はロボット座標を表し、座標（Ｘｐ，Ｙｐ）はガラスマスク座標を表している。よって、図３では、ガラスマスク８０が、ロボット座標に対して角度誤差θ３を有して組み付けられていることを例示している。そこで、ロボット座標で、Ｐ１座標（Ｘ１，Ｙ１）、Ｐ２座標（Ｘ２，Ｙ２）、Ｐ３座標（Ｘ３，Ｙ３）で表す。
【００２７】
これら基準マークのそれぞれの位置をＣＣＤカメラ４０を作用点直下に配置して、正確に作用点の中心画素測定を行いそのアドレス（座標）を記憶し、以降の測定はこのＰ１座標、Ｐ２座標、Ｐ３座標を基準として作用点の位置を正確に導き出す。
【００２８】
続いて、水平多関節ロボットの座標値補正方法について説明する。
図４は、水平多関節ロボットの座標値補正方法の主要工程を示す工程説明図である。なお、図１〜図３も参照する。まず、作用点Ｕ軸中心を測定する（Ｓ１０）。３箇所の基準マークのうちのいずれかの中心にＣＣＤカメラ４０を移動させてＣＣＤ画素アドレスを測定する。この位置は、ＣＣＤカメラ４０のセンサー面の重心位置Ｖである。その位置で第３モーターＭ３によりＣＣＤカメラを０度から１８０度回転し、その回転軌跡をＣＣＤ画素アドレスとして測定する。
【００２９】
この回転軌跡は、センサー面の重心位置Ｖと第３モーターＭ３の回転軸であるＪ３軸とが一致していれば、Ｊ３軸に対して同心円を描く。しかし、センサー面の中心とＪ３軸とは一致しない場合があり、このとき回転軌跡は同心円とならない。そこで、回転軌跡の中心（重心）とセンサー面の重心との中間位置を、基準マークの中心を合わせるための基準軸をＵ軸と決めて記憶させておく。
【００３０】
続いて、ガラスマスク８０の傾きを測定する（Ｓ２０）。まず、第１アーム５０と第２アーム６０を旋回させて基準マークＰ１，Ｐ２のそれぞれの中心位置にＵ軸中心を合わせる。そして、第１関節１１、第２関節１２に設けられるエンコーダーの出力信号から、基準マークＰ１，Ｐ２のロボット座標を読み取り、ガラスマスクの傾き角度θ３を算出する。
【００３１】
続いて、モデルポイントを作成する（Ｓ３０）。基準マークＰ１を基点としてガラスマスク８０の傾き角度θ３を考慮して基準マークＰ２，Ｐ３位置の理想ロボット座標を算出する。理想ロボット座標とは、ロボット座標上における基準マークＰ２，Ｐ３の正確な位置座標を表す。具体的には、ガラスマスク座標における基準マーク位置と、ガラスマスク８０の傾き角度θ３と、測定した基準マークＰ１のロボット座標と、基準マーク間の距離ＧL1，ＧL2から基準マークＰ２，Ｐ３位置を算出することができる。
【００３２】
このようにして測定した基準マークＰ１，Ｐ２，Ｐ３のロボット座標をモデルポイントとし、このモデルポイントを用いて水平多関節ロボット１０の駆動制御のための設計上のティーチングポイントを書き換える。
【００３３】
次に、座標値補正量を決定する（Ｓ４０）。まず、前工程にて書き換えられたティーチングポイントにＵ軸を実際に移動させ、基準マークＰ１，Ｐ２それぞれの中心にＵ軸を合わせる。このときのＵ軸の移動量をエンコーダーで測定し、Ｕ軸位置の座標をロボット座標として算出し、Ｓ３０にて求めたティーチングポイントの理想ロボット座標との差を算出する。算出された座標の差分を、基準マークＰ１では（ΔＸ１，ΔＹ１）、基準マークＰ２では（ΔＸ２，ΔＹ２）、基準マークＰ３では（ΔＸ３，ΔＹ３）とする。これら座標の差分が誤差である。
【００３４】
この差分の座標を用いてアーム長誤差ΔＬ１，ΔＬ２、組み付け角度誤差Δθ１，Δθ２、組み付け誤差ｅｘ，ｅｙを算出し、アーム長誤差ΔＬ１，ΔＬ２、組み付け角度誤差Δθ１，Δθ２を座標値補正パラメーターとする。
【００３５】
次に、アーム長誤差ΔＬ１，ΔＬ２、角度誤差Δθ１，Δθ２が、すべて「０」になるか判定する（Ｓ５０）。「０」と判定した場合（ＹＥＳ）は補正を終了し、「０」にならない場合には、Ｓ３０に戻り「０」になるまで、Ｓ３０からＳ５０までを繰り返す。なお、この工程を繰り返しても「０」にならない場合が考えられるが、この場合にはアーム長誤差ΔＬ１，ΔＬ２、角度誤差Δθ１，Δθ２が最小値となった時点で補正がなされたと判断して終了する。
【００３６】
従って、本実施形態によれば、第１アーム５０と第２アーム６０を旋回移動させ、座標既知の３箇所の基準マーク位置をＣＣＤカメラ４０で測定することにより第１アーム５０及び第２アーム６０それぞれのアーム長誤差ΔＬ１，ΔＬ２と、組み付けに伴う取り付け角度誤差（関節角度誤差）Δθ１，Δθ２とを同時に測定でき、アーム長誤差及びアーム角度誤差の両方から座標補正値を導きだすことができる。そのことにより、作用点の移動量や測定箇所以外への移動に関しても誤差の影響を受けずに正確な移動を可能にする。
【００３７】
また、ＣＣＤカメラ４０のセンサー面の重心座標と、ＣＣＤカメラ４０の回転軸の座標との中間座標をアーム側の基準点であるＵ軸としていることから、上記重心座標と回転軸の回転座標との位置ずれの影響をなくし、精度をより高めることができる。
【００３８】
さらに、非接触式のＣＣＤカメラ４０により基準点を測定していることから、剛性が十分でないロボットの場合であっても各アームに撓みが発生することがない。よって、この撓みに起因する誤差がなく、従来技術のようなチャック機構の組み付け誤差も排除することができる。
【符号の説明】
【００３９】
１０…水平多関節ロボット、４０…ＣＣＤカメラ、５０…第１アーム、６０…第２アーム、８０…ガラスマスク、Ｐ１，Ｐ２，Ｐ３…基準マーク、ΔＬ１…第１アームのアーム長誤差、ΔＬ２…第２アームのアーム長誤差、Δθ１…第１アームの組み付け角度誤差、Δθ２…第２アームの組み付け角度誤差。
【図１】
2012006125.tif 000003
【図２】
2012006125.tif 000004
【図３】
2012006125.tif 000005
【図４】
2012006125.tif 000006