(57)【要約】【課題】精度よく、運動精度測定と位置補正とを行うことができるロボットの運動精度測定方法及び位置補正方法を提供する。【解決手段】ロボット１０の運動精度測定方法は、ロボット１０の回転軸Ｊｉの複数の回転角度で、ロボット１０の手先と、基準位置に配置されている反射鏡との距離、又はロボットの手先の３次元位置を測定し、測定した距離又は３次元位置に基づいて、回転軸Ｊｉの複数の同定角度θｉ，ｎ＊で角度誤差Δθｉ，ｎを算出する。【選択図】図４
2020066083.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの回転軸の複数の回転角度で、前記ロボットの手先と、基準位置との距離を測定し、
測定した前記距離に基づいて、前記回転軸の複数の同定角度で角度誤差を算出する、
ことを特徴とするロボットの運動精度測定方法。
【請求項２】
前記距離は、
前記ロボットの手先に取り付けられたレーザ干渉計から出射されるレーザ光を、前記基準位置に配置された反射鏡で反射させて計測される、
ことを特徴とする請求項１に記載のロボットの運動精度測定方法。
【請求項３】
ロボットの回転軸の複数の回転角度で、前記ロボットの手先の３次元位置を測定し、
測定した前記３次元位置に基づいて、前記回転軸の複数の同定角度で角度誤差を算出する、
ことを特徴とするロボットの運動精度測定方法。
【請求項４】
前記３次元位置は、
前記ロボットの手先に取り付けられた反射鏡と、基準位置に配置されたレーザトラッカとを用いて計測される、
ことを特徴とする請求項３に記載のロボットの運動精度測定方法。
【請求項５】
前記角度誤差は、
前記回転軸を正方向に回転させた場合の角度誤差と、前記回転軸を逆方向に回転させた場合の角度誤差とを含む、
ことを特徴とする請求項１から４のいずれか一項に記載のロボットの運動精度測定方法。
【請求項６】
前記同定角度は、前記回転軸の可動範囲の両端を含む、
ことを特徴とする請求項１から５のいずれか一項に記載のロボットの運動精度測定方法。
【請求項７】
請求項１から６のいずれか一項に記載のロボットの運動精度測定方法により測定された前記角度誤差に基づいて、前記回転軸の回転角度を補正する、
ことを特徴とする位置補正方法。
【請求項８】
前記同定角度の前記角度誤差を内挿して、前記同定角度の中間の回転角度を補正する、
ことを特徴とする請求項７に記載の位置補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの運動精度測定方法及び位置補正方法に関する。
【背景技術】
【０００２】
主に産業用に用いられる垂直多関節型ロボット、水平多関節型ロボット等のロボットは、様々な誤差要因を有している。特に回転軸（回転関節）を有するロボットでは、モータの回転角度の誤差、歯車やベルトのバックラッシュ、ロボットのリンクの弾性変形等の誤差要因により、ロボットの先端部（以下、手先という）を指令位置に位置決めした時の位置決め誤差が生じる。
【０００３】
これらの誤差要因を推定し、ロボットの位置補正を行う方法として、レーザトラッカを用いた運動精度測定方法が開発されている（例えば非特許文献１）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】藤岡潤、他４名、「レーザトラッキングシステムを用いたロボットのキャリブレーションに関する研究（第２報）−多点位置決め法におけるパラメータ，測定点数，測定ポーズの選択に関する検討−」、精密工学会誌、2001年4月、67巻4号、p.676−682
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１の測定方法では、レーザトラッカを用いてロボットの手先の３次元位置を測定する。具体的には、基準位置にレーザトラッカを配置し、ロボットの手先に取り付けられたレトロレフレクタ（反射鏡）を追尾させる。これにより、レーザトラッカから出射され、レトロレフレクタで反射されたレーザ光の向きと、レーザトラッカからレトロレフレクタまでの距離とに基づいてレトロレフレクタの位置、すなわち手先の位置を測定する。これにより、ロボットに入力した指令位置と、実際のロボット先端部の位置との誤差を測定する。
【０００６】
そして、ロボットに入力した指令位置と、測定した手先の位置とに基づいて、ロボットのリンク長、回転軸の基準角度（ゼロ点）及び回転中心軸の向きの誤差を推定する。しかしながら、非特許文献１の方法では、ロボットを動作させる各回転軸の角度誤差を推定、補正できないため、ロボットの手先位置を精度よく位置決めすることは難しい。
【０００７】
本発明は、上述の事情に鑑みてなされたものであり、精度よく、運動精度測定と位置補正とを行うことができるロボットの運動精度測定方法及び位置補正方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、この発明の第１の観点に係るロボットの運動精度測定方法では、
ロボットの回転軸の複数の回転角度で、前記ロボットの手先と、基準位置との距離を測定し、
測定した前記距離に基づいて、前記回転軸の複数の同定角度で角度誤差を算出する。
【０００９】
また、前記距離は、
前記ロボットの手先に取り付けられたレーザ干渉計から出射されるレーザ光を、前記基準位置に配置された反射鏡で反射させて計測される、
こととしてもよい。
【００１０】
この発明の第２の観点に係るロボットの運動精度測定方法では、
ロボットの回転軸の複数の回転角度で、前記ロボットの手先の３次元位置を測定し、
測定した前記３次元位置に基づいて、前記回転軸の複数の同定角度で角度誤差を算出する。
【００１１】
また、前記３次元位置は、
前記ロボットの手先に取り付けられた反射鏡と、基準位置に配置されたレーザトラッカとを用いて計測される、
こととしてもよい。
【００１２】
また、前記角度誤差は、
前記回転軸を正方向に回転させた場合の角度誤差と、前記回転軸を逆方向に回転させた場合の角度誤差とを含む、
こととしてもよい。
【００１３】
また、前記同定角度は、前記回転軸の可動範囲の両端を含む、
こととしてもよい。
【００１４】
この発明の第３の観点に係る位置補正方法では、
第１の観点又は第２の観点に係るロボットの運動精度測定方法により測定された前記角度誤差に基づいて、前記回転軸の回転角度を補正する。
【００１５】
また、前記同定角度の前記角度誤差を内挿して、前記同定角度の中間の回転角度を補正する、
こととしてもよい。
【発明の効果】
【００１６】
本発明のロボットの運動精度測定方法及び位置補正方法によれば、ロボットの手先と基準位置との距離又は手先の３次元位置に基づいてロボットの回転軸ごとの角度誤差を推定するとともに、推定した角度誤差に基づいてロボットの位置を補正するので、精度よくロボットを動作させることが可能である。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係るロボット及び測定システムの構成を示す概念図である。
【図２】実施の形態に係る制御ユニットの構成を示すブロック図である。
【図３】実施の形態に係る運動精度測定の流れを示すフローチャートである。
【図４】実施の形態に係る回転軸の可動範囲、同定角度及び角度誤差を示す概念図である。
【図５】本実施の形態に係る角度誤差の例を示すグラフである。
【発明を実施するための形態】
【００１８】
以下、図を参照しつつ、本発明の実施の形態に係るロボットの運動精度測定方法及び位置補正方法について説明する。
【００１９】
（ロボット及び測定システムの構成）
本実施の形態に係るロボットの運動精度測定方法では、図１に示すように、垂直多関節型ロボットであるロボット１０の運動精度測定を例として説明する。また、本実施の形態の運動精度とは、ロボット１０の先端部である手先１０ａの位置決め誤差をいうものとする。
【００２０】
ロボット１０は、７つの回転軸Ｊｉ（ｉ＝１〜７）を備える。各回転軸Ｊｉは、ロボット１０の基台側から回転軸Ｊ１、Ｊ２、・・・とし、最も先端側の回転軸を回転軸Ｊ７とする。回転軸Ｊ７は、ロボット１０の手先１０ａを回転させるための関節であるので、手先１０ａの位置決め精度には影響しない。したがって、以下では回転軸Ｊ1〜Ｊ6に係る位置決め誤差について述べる。
【００２１】
ロボット１０は、制御ユニット２０に接続されている。制御ユニット２０は、図２のブロック図に示すように、制御部２１、記憶部２２、表示部２３、入力部２４を備える。
【００２２】
制御部２１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、水晶発振器等から構成されており、ロボット１０の動作を制御するとともに、ロボット１０に取り付けられたレーザ干渉計３０のデータに基づいて、ロボット１０の運動精度を測定する。制御部２１は、制御部２１のＲＯＭ、記憶部２２等に記憶されている各種動作プログラム及びデータをＲＡＭに読み込んでＣＰＵを動作させることにより、図２に示される制御部２１の各機能を実現させる。これにより、制御部２１は、動作制御部２１１、測定制御部２１２及び演算部２１３として動作する。
【００２３】
動作制御部２１１は、ロボット１０の手先１０ａを指令位置ｐｎ＊に移動させるため、各回転軸Ｊｉを制御し、回転させる。
【００２４】
測定制御部２１２は、運動精度測定の際、測定を行う手先１０ａの位置を動作制御部２１１へ送信し、ロボット１０の各回転軸Ｊｉ（ｉ＝１〜６）に指令角度θi，ｎ＊を出力させ、各回転軸Ｊｉを動作させる。これにより、測定制御部２１２は、手先１０ａを指令位置ｐｎ＊に移動させるとともに、レーザ干渉計３０のレーザ光が基準位置に配置されている反射鏡４０を向くように、各回転軸Ｊｉの動作を制御する。また、各回転軸Ｊｉの回転角度が指令角度θi，ｎ＊に達した後、レーザ干渉計３０から出射され、反射鏡４０で反射された反射光の受光データを、レーザ干渉計３０から受信する。
【００２５】
演算部２１３は、レーザ干渉計３０から受信した受光データに基づいて、手先１０ａと反射鏡４０との距離ｄｋを算出する。本実施の形態では、レーザ干渉計３０の受光データは、基準距離に対する差分として出力される。この基準距離と差分とに基づいて手先１０ａと反射鏡４０との距離ｄｋを算出する。また、演算部２１３は、複数の指令角度θi，ｎ＊で算出した距離ｄｋに基づいて、ロボット１０の運動精度、すなわち手先１０ａの位置決め誤差を算出する。
【００２６】
記憶部２２は、ハードディスク、フラッシュメモリ等の不揮発性メモリであり、レーザ干渉計３０の受光データからロボット１０の運動精度を算出するアルゴリズム、算出された位置決め誤差等を記憶する。
【００２７】
表示部２３は、液晶パネル、有機ＥＬ（Electroluminescence）等の表示用デバイスであり、指令角度θi，ｎ＊、演算部２１３で算出された位置決め誤差等を表示する。本実施の形態に係る表示部２３は、図１に示すように、制御ユニット２０に搭載された液晶パネルである。
【００２８】
入力部２４は、測定開始指示、測定用の設定パラメータ等を入力するための入力デバイスである。入力部２４は、タッチパネル、マウス等であり、本実施の形態に係る入力部２４は、液晶パネルである表示部２３上に配置されたタッチパネルである。
【００２９】
また、レーザ干渉計３０は、手先１０ａに取り付けられ、レーザ光を出射するとともに、反射鏡４０によるレーザ光の反射光を受け、受光データを測定制御部２１２へ送信する。
【００３０】
反射鏡４０は、レーザ干渉計３０から入射したレーザ光をレーザ干渉計３０へ反射する。反射鏡４０は、レーザ干渉計３０の位置が変化し、レーザ光の入射角度が変わってもレーザ干渉計３０へレーザ光を反射するレトロレフレクタ（retroreflector）であり、例えば、キャッツアイ型のレトロレフレクタである。
【００３１】
（ロボットの運動精度測定）
続いて、本実施の形態に係る運動精度測定方法について、図３のフローチャートを参照しつつ具体的に説明する。
【００３２】
運動精度測定が開始されると、測定制御部２１２は、測定回数を表すカウンタｋをリセット（ｋ＝１）する（ステップＳ１１）。
【００３３】
続いて、測定制御部２１２は、予め定められた指令位置ｐ１＊＝（ｘ１＊，ｙ１＊，ｚ１＊）を動作制御部２１１へ送信する。動作制御部２１１は、手先１０ａを指令位置ｐ１＊へ移動させる（ステップＳ１２）。より具体的には、動作制御部２１１は、手先１０ａを指令位置ｐ１＊へ移動させるための、各回転軸Ｊｉの指令角度θi，１＊を計算し、算出した指令角度θi，１＊に各回転軸Ｊｉを回転させる。
【００３４】
この時、各回転軸Ｊiの角度は、ロボット１０の手先１０ａの向きが反射鏡４０を向くように設定される。より具体的には、長さ１となる手先１０ａの方向ベクトルをｌとした場合、手先１０ａの向きが、ｌ＝（ｐｋ−ｑｍ）／｜ｐｋ−ｑｍ｜となるように制御される。
【００３５】
測定制御部２１２は、レーザ干渉計３０を制御して、基準位置ｑｍ＝（ｘｍ＊，ｙｍ＊，ｚｍ＊）に配置されている反射鏡４０に向けてレーザ光を出射させる（ステップＳ１３）。この時、実際の手先１０ａの位置は、ｐ１＝（ｘ１，ｙ１，ｚ１）であり、指令位置ｐ１＊に対する誤差を含んでいる。
【００３６】
この誤差は、各回転軸Ｊｉの角度誤差Δθｉ，１として、以下のように表すことができる。
Δθｉ，１＝θｉ，１−θｉ，１＊
ただし、θｉ，１は回転軸Ｊｉの回転角度、θｉ，１＊は回転軸Ｊｉの指令角度である。
【００３７】
より詳細には、ロボット１０は、モータの回転角度の誤差、歯車やベルトのバックラッシュ等の誤差要因を持っているため、各回転軸Ｊｉの実際の角度θｉと指令角度θｉ＊との間に、誤差Δθｉ＝θｉ−θｉ＊が生じる。誤差Δθｉは、指令角度θｉ＊によって変動するので、Δθｉ（θｉ＊）と表す。さらに、歯車やベルトのバックラッシュ等によって、誤差Δθｉは、一般的に、指令角度θｉ＊へ向かう回転軸Ｊｉの回転方向によって異なる。
【００３８】
例えば、回転軸Ｊｉが、指令角度θｉ＊へ向かう際、モータが時計回り（以下、正方向という）であった場合の誤差Δθｉ（θｉ＊＋）と、モータが反時計回り（以下、逆方向という）であった場合の誤差Δθｉ（θｉ＊−）とは、異なる値になる。
【００３９】
本実施の形態では、各回転軸Ｊｉ（ｉ＝１〜６）について、ｎ個の指令角度θｉ，ｎ＊（ｎ＝１〜Ｎｉ）を同定角度として設定した場合の誤差Δθｉ，ｎ（θｉ，ｎ＊＋）、Δθｉ，ｎ（θｉ，ｎ＊−）を回転軸Ｊｉの角度誤差として算出することにより、ロボット１０の運動精度を測定する。
【００４０】
続いて、レーザ干渉計３０は、反射鏡４０で反射されたレーザ光に基づいて、受光データを測定制御部２１２へ送信する（ステップＳ１４）。測定制御部２１２は、受信した受光データを演算部２１３へ送信する。演算部２１３は、受信した受光データに基づいて、手先１０ａと反射鏡４０との距離ｄ１、及び指令位置ｐｋ＊と反射鏡４０との理論的な距離である理論距離ｄ１＊を算出する（ステップＳ１５）。制御部２１は、算出した距離ｄ１と理論距離ｄ１＊とを記憶部２２に記憶させる（ステップＳ１６）。
【００４１】
カウンタｋが予め定められた測定回数Ｋ未満である場合（ステップＳ１７のＹＥＳ）、カウンタｋをインクリメントする（ステップＳ１８）。そして、測定制御部２１２は、新たな指令位置ｐ２＊＝（ｘ２＊，ｙ２＊，ｚ２＊）を動作制御部２１１に入力し、上記と同様の測定処理（ステップＳ１２〜Ｓ１５）を行う。制御部２１は、算出された距離ｄ２と理論距離ｄ２＊とを記憶部２２へ記憶させる（ステップＳ１６）。
【００４２】
カウンタｋが予め定められた測定回数Ｋ以上である場合（ステップＳ１７のＮＯ）、次の処理に移る。
【００４３】
ここで、測定制御部２１２から出力される指令位置ｐｋ＊は、各回転軸Ｊｉの指令角度θi，ｋ＊が、角度誤差Δθｉ，ｎを算出する同定角度θｉ，ｎ＊で構成されるよう、予め設定されている。また、Ｋ回の測定において、各回転軸Ｊｉの全ての同定角度θｉ，ｎ＊が含まれる。
【００４４】
同定角度θｉ，ｎ＊は、各回転軸Ｊｉの可動範囲を広くカバーするように設定されている。本実施の形態に係る各回転軸Ｊｉの可動範囲は、図４に示すように、−１７０°〜＋１７０°である。そして、同定角度θｉ，ｎ＊は、θｉ，１＊＝−１７０°，θｉ，２＊＝−１６０°，・・・，θｉ，３５＊＝＋１７０°と設定している。なお、同定角度θｉ，ｎ＊の範囲及び刻み幅は、これに限られず、ロボット１０の各回転軸の可動範囲、運動精度に対する要求等に応じて適宜設定することができる。
【００４５】
また、各回転軸Ｊｉを各同定角度θｉ，ｎ＊に回転させる際、各回転軸Ｊｉが正方向に回転される場合と逆方向に回転される場合とが、それぞれ少なくとも１回含まれるように指令位置ｐｋ＊は設定されている。
【００４６】
距離ｄｋ、理論距離ｄｋ＊の測定が終了すると、演算部２１３は、記憶部２２に記憶されているＫ個の距離ｄｋ、理論距離ｄｋ＊に基づいて、各回転軸Ｊｉの角度誤差Δθｉ，ｎを算出する（ステップＳ１９）。
【００４７】
本実施の形態では、Ｋ個の測定データに基づいて、各回転軸Ｊｉの角度誤差Δθｉ，ｎとして、３５（点）×２（方向）×６（軸）＝４２０（個）の値を算出する。角度誤差Δθｉ，ｎが算出されると、運動精度測定は終了する。
【００４８】
（角度誤差の算出アルゴリズム）
続いて、上記ステップＳ１９の角度誤差Δθｉ，ｎの算出アルゴリズムについて説明する。
【００４９】
本実施の形態では、ロボット１０の運動精度として、各回転軸Ｊｉ（ｉ＝１〜６）について、所定の指令角度θｉ，ｎ＊を入力した場合の指令角度θｉ，ｎ＊と実際の角度θｉ，ｎとの誤差（以下、角度誤差Δθｉ，ｎという）を算出する。これにより、ロボット１０の手先１０ａの位置決め誤差を推定する。
【００５０】
より具体的には、距離ｄｋの測定が完了した後、演算部２１３は、記憶部２２に記憶されているＫ個の距離ｄｋ、理論距離ｄｋ＊に基づいて、各回転軸Ｊｉのｎ個（ｎ＝１〜Ｎｉ）の同定角度における角度誤差Δθｉ，ｎを算出する。
【００５１】
各回転軸Ｊｉの指令角度θｉ，ｎ＊における実際の角度θｉ，ｎは、以下の式で表される。
θｉ，ｎ＝θｉ，ｎ＊＋Δθｉ，ｎ（θｉ，ｎ＊）
【００５２】
このとき、距離ｄｎは、テーラー展開により、以下の式で表される。
【数１】
2020066083.tif 000003
【００５３】
上記式（１）を、記憶部２２に記憶されているＫ個のｄｋについてまとめると、以下の式（２）となる。
【数２】
2020066083.tif 000004
【００５４】
上述した測定の実施例では、同定角度と測定時の指令角度とは一致することとしたが、本算出アルゴリズムでは、同定角度と測定時の指令角度とは異なっていてもよい。以下の算出アルゴリズムの説明では、角度誤差Δθｉ，ｎを算出する同定角度をθｉ，ｎ＊、測定時の指令角度をθｉ，ｋとして記述する。
【００５５】
本算出アルゴリズムで求める同定角度θｉ，ｎ＊における角度誤差Δθｉ，ｎを、１つのベクトルｘにまとめて書くと、以下の式（３）となる。
【数３】
2020066083.tif 000005
【００５６】
上述の通り、計測されたｄｋにおける各回転軸Ｊｉの指令角度θｉ，ｋは、同定角度θｉ，１＊，・・・，θｉ，Ｎ１＊に一致するとは限らない。例えば、回転軸Ｊ１の指令角度θ１，ｋが、同定角度θ１，１＊，・・・，θ１，Ｎ１＊のいずれにも一致しない場合、Δθ１，ｋ（θ１，ｋ）は、式（３）のｘの成分を内挿して、以下の式（４）で表すことができる。
【数４】
2020066083.tif 000006
【００５７】
式（４）と同様に、回転軸Ｊ２〜Ｊ６の指令角度θ２，ｎ〜θ６，ｎに対する角度誤差をまとめると、以下の式（５）になる。
【数５】
2020066083.tif 000007
【００５８】
各回転軸の角度θ１，ｎ＊〜θ６，ｎ＊と、ロボット１０の手先１０ａの位置ｐｎとの幾何学的関係を使って、上記式（１）の∂ｄｎ／∂θｉを計算することができる。これを使って、式（２）と式（５）とをまとめると、ｙ＝Ａｘの形に表すことができる。ただし、
2020066083.tif 000008
【００５９】
したがって、測定回数Ｋが、未知数ｘの数より多ければ、ｘは以下の最小二乗法を用いて求めることができる。
【数６】
2020066083.tif 000009
【００６０】
以上により、測定された距離ｄｋを用いて、各回転軸Ｊｉ（ｉ＝１〜６）について、角度誤差Δθｉ，ｎ（θｉ，ｎ＊＋）、Δθｉ，ｎ（θｉ，ｎ＊−）を算出し、ロボット１０の運動精度を測定することができる。
【００６１】
レーザトラッカを用いて、ロボット１０の手先１０ａの位置ｐｎを測定する場合には、上記式（２）のかわりに、ｐｎと式（３）のｘとの関係を計算し、式（６）のＡを変更して、同様にｘを算出する。
【００６２】
ロボットの各リンクの長さの誤差、各回転軸の位置、回転中心軸の向きの誤差を、式（３）のｘに含め、それに応じて式（６）のＡを変更して、同様に算出することもできる。
【００６３】
（ロボットの位置補正）
続いて、上記で算出した、角度誤差Δθｉ，ｎを用いたロボット１０の位置補正方法について説明する。
【００６４】
算出した角度誤差Δθｉ，ｎは記憶部２２に記憶されている。図５は回転軸Ｊ１の角度誤差Δθ１，ｎを表したグラフの例である。例えば、回転軸Ｊ１について指令位置ｐｎ＊に基づいて指令角度−８２°が指定された場合、現在の位置が−８５°であれば、正方向へ回転した場合の角度誤差−０．０１１°が予測されるので、＋０．０１１°を予め足した角度で回転軸Ｊ１を位置決めする。
【００６５】
また、指令角度θ１，ｎ＊が−９０°であり、現在の位置が−１００°である場合、動作制御部２１１は、−８２°の角度誤差と、−９９°の角度誤差の内挿として、−０．０１２°が予測されるので、＋０．０１２°を予め足した角度で回転軸Ｊ２を位置決めする。
【００６６】
同様に、回転軸Ｊ２〜Ｊ６をそれぞれの角度誤差Δθｉ，ｎを反映した角度で回転させる。これにより、各回転軸Ｊｉの回転角度θｉ，ｎを指令角度θｉ，ｎ＊に近づけることができるので、手先１０ａを精度よく位置決めできる。
【００６７】
以上説明したように、本実施の形態に係るロボットの運動精度測定方法では、ロボット１０を動作させる各回転軸Ｊｉについて角度誤差Δθｉ，ｎを算出する。これにより、ロボット１０の駆動部に係る誤差を同定できるので、精度よくロボット１０の運動精度を測定することができる。また、本実施の形態に係るロボットの位置補正方法では、同定した角度誤差Δθｉ，ｎを用いて各回転軸Ｊｉの動作を直接補正するので、精度よくロボット１０を動作させることができる。
【００６８】
また、本実施の形態に係るロボットの運動精度測定方法では、ロボット１０の手先１０ａと、基準位置に配置された反射鏡４０との距離ｄｎに基づいてロボットの運動精度測定を行う。したがって、レーザトラッカのような、手先１０ａの３次元位置を測定するための高価な装置を用いることなく、安価に測定を行うことができる。
【００６９】
一方、レーザトラッカを使って手先１０ａの３次元位置を測定することができれば、測定点数が少なく、より短い時間でロボットの運動精度測定を行うことができる。各回転軸の角度誤差を同定するアルゴリズムは、本実施の形態と同様である。
【００７０】
また、本実施の形態に係るロボットの位置補正方法では、ロボット１０の各回転軸Ｊｉについて、複数の同定角度θｉ，ｎ＊で測定した角度誤差Δθｉ，ｎに基づいてロボット１０の位置補正を行うので、精度よくロボット１０を動作させることが可能である。
【００７１】
本実施の形態では、同定角度θｉ，ｎ＊は、各回転軸Ｊｉの可動範囲の両端となる角度を含み、同定角度θｉ，ｎ＊と一致しない指令角度θｉ，ｎ＊における角度誤差Δθｉ，ｎは、内挿によって求めることとしたが、これに限られない。例えば、同定角度θｉ，ｎ＊の範囲外となる指令角度θｉ，ｎ＊における角度誤差Δθｉ，ｎを外挿によって求めることとしてもよい。
【００７２】
また、測定制御部２１２、演算部２１３等運動精度測定に用いられる各要素は、制御ユニット２０に一体的に備えられることとしたが、これに限られない。例えば、別体の測定ユニットが測定制御部２１２、演算部２１３等を備え、複数のロボット１０に適宜接続して、共用することとしてもよい。これにより、ロボット１０の構成を簡素化し、より安価にロボット１０の運動精度測定を行うことができる。
【００７３】
また、本実施の形態では、ロボット１０は、垂直多関節型ロボットであることとしたが、これに限られない。例えば、ロボット１０は、水平多関節型ロボット（スカラ型ロボット）であってもよい。
【００７４】
また、本実施の形態では、角度誤差Δθｉ，ｎを各回転軸Ｊｉの正方向回転及び逆方向回転のそれぞれの場合について同定することとしたが、これに限られない。例えば、正方向回転の場合のみについて同定することとしてもよい。これにより、一定の精度を確保しつつ、少ない測定回数で簡易かつ迅速に角度誤差Δθｉ，ｎを測定することができる。
【産業上の利用可能性】
【００７５】
本発明は、回転軸を備える産業用ロボットの運動精度測定方法及び位置補正方法に好適である。特に、安価且つ高精度が求められる、多数の産業用ロボットの位置補正方法に好適である。
【符号の説明】
【００７６】
１０  ロボット、１０ａ  手先、２０  制御ユニット、２１  制御部、２１１  動作制御部、２１２  測定制御部、２１３  演算部、２２  記憶部、２３  表示部、２４  入力部、３０  レーザ干渉計、４０  反射鏡、Ｊ１〜Ｊ７  回転軸
【図１】
2020066083.tif 000010
【図２】
2020066083.tif 000011
【図３】
2020066083.tif 000012
【図４】
2020066083.tif 000013
【図５】
2020066083.tif 000014