(57)【要約】【課題】ロボット個体毎に適用可能な、自動処理による簡便なロボット位置補正パラメータ同定方法及び装置を提供する。【解決手段】本発明は、各関節部のモータと、モータに連結された減速機と、減速機に連結されるロボットアームとを備えるロボットにおいて、手先位置の軌跡誤差を補正するために、各モータへの角度指令に加算される補正値のパラメータを同定する装置であり、該モータへのトルク指令が最大となるリンク角度において最大値をとるトルク指令と同一周期の正弦波の位相に基づいて補正値の位相パラメータを同定し、且つ、同定された位相パラメータ及び任意の振幅パラメータを用いて計算される補正値と角度指令との合計に対する順運動学計算から得られるロボットの手先位置と現在の手先位置との差分につき動作時間内での積分値を計算し、該積分値が最小となる振幅パラメータを補正値の振幅パラメータとして同定する手段を備える。【選択図】図２
2011212823.tif 000002
【特許請求の範囲】
【請求項１】
各関節部で回転駆動するモータと、前記モータに連結された減速機と、前記減速機に連結されるロボットアームとを備えるロボットにおいて、前記ロボットの手先位置の軌跡誤差を補正するために、各モータに対する角度指令に加算される補正値のパラメータを同定する装置であって、
該モータに対するトルク指令が最大となるリンク角度において最大値をとる、前記トルク指令と同一周期の正弦波の位相に基づいて、前記補正値の位相パラメータを同定し、且つ、前記同定された位相パラメータ及び任意の振幅パラメータを用いて計算される補正値と前記角度指令との合計に対して順運動学計算を行うことにより得られる前記ロボットの手先位置と前記ロボットの現在の手先位置との差分について前記ロボットの動作時間内での積分値を計算し、該積分値が最小となる振幅パラメータを前記補正値の振幅パラメータとして同定する手段
を備える装置。
【請求項２】
前記補正値は、
【数１】
2011212823.tif 000011
と表され、ここで２ｎは前記減速機のうねり発生の周期であり、Ａ＊は前記振幅パラメータであり、θ’ｒｅｆ＊は前記リンク角度であり、φ＊は前記位相パラメータであり、＊は各関節軸の番号を表し、
前記φ＊は、前記トルク指令が最大となるリンク角度において最大値をとる、前記トルク指令と同一周期の正弦波
【数２】
2011212823.tif 000012
の位相φ０＊に所定の値を加算することにより得られ、
前記所定の値は、前記角度指令から前記減速機の角度伝達誤差の外乱トルクを含むモータに対するトルク指令までの位相遅れを補う値である、請求項１に記載の装置。
【請求項３】
φ＊＝φ０＊＋π／２である請求項２に記載の装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の装置により同定された前記位相パラメータ及び前記振幅パラメータを用いて前記補正値を生成する補正値生成部と、
前記補正値と前記角度指令とに基づいて各関節部のモータに対するトルク指令を生成するサーボ制御部と
を備えるロボットコントローラ。
【請求項５】
各関節部で回転駆動するモータと、前記モータに連結された減速機と、前記減速機に連結されるロボットアームとを備えるロボットにおいて、前記ロボットの手先位置の軌跡誤差を補正するために各モータに対する角度指令に加算される補正値のパラメータを同定する方法であって、
該モータに対するトルク指令が最大となるリンク角度において最大値をとる、前記トルク指令と同一周期の正弦波の位相に基づいて、前記補正値の位相パラメータを同定するステップと、
前記同定された位相パラメータ及び任意の振幅パラメータを用いて計算される補正値と前記角度指令との合計に対して順運動学計算を行うことにより得られる前記ロボットの手先位置と前記ロボットの現在の手先位置との差分について前記ロボットの動作時間内での積分値を計算し、該積分値が最小となる振幅パラメータを前記補正値の振幅パラメータとして同定するステップと
を備える方法。
【請求項６】
請求項５に記載の方法により同定された前記位相パラメータ及び前記振幅パラメータを用いて前記補正値を生成するステップと、
前記補正値と前記角度指令とに基づいて各関節部のモータに対するトルク指令を生成するステップと
を備えるロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、ロボットアーム位置補正パラメータの同定装置及び方法並びにこれらを用いたロボットコントローラ及びロボット制御方法に関する。例えば、本発明の実施例は、複数の関節を有するロボットの減速機の角度伝達誤差に起因するロボットアーム先端の軌跡誤差を補正する位置補正パラメータの同定装置及び方法並びにこれらを用いたロボットコントローラ及びロボット制御方法に関する。
【背景技術】
【０００２】
レーザ溶接用途やプラズマ溶接用途のロボットを水平面上で直線動作させたとき、重力方向のうねりが発生し加工精度に悪影響を与えることが問題となっている。うねりはロボットの手先位置を重力方向に変化させる軸に取り付けられた減速機の角度伝達誤差により発生すると考えられ、これまでに減速機の入力側と出力側に回転速度検出手段を設け角度伝達誤差を個体毎に直接計測する方法（例えば、特許文献１参照）、減速機の角度伝達誤差を数式でモデル化し、うねり周波数、振幅又は位相を使ってうねりを補正する手法が提案されている。数式モデルを使った減速機の角度伝達誤差の補正方法の具体例として、ロボットの動作時の手先位置を数点計測し、補正パラメータ（うねり周波数、振幅又は位相）を数学的に算出する方法（例えば、特許文献２参照）、補正パラメータを手動で調整して試行錯誤的に求める方法（例えば、特許文献３参照）があった。従来技術の一例として、図８に示すようにロボットシステムに補正演算機能を付加することにより、角度伝達誤差を補正することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１−１５８３６３号公報
【特許文献２】特許３８６８９２８号公報
【特許文献３】特公平０６−０６８７０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の減速機個体毎に角度伝達誤差を直接計測する方法は、減速機の入出力軸の角度が検出可能な状況において角度伝達誤差を直接測定する方法であるため、ロボットのように既に組み上がったものに対しては適用不可能である。また、計測した角度伝達誤差の利用手段に関する記載は特に無いため、ロボットの軌跡補正に適用するためには補正手段を別途考慮する必要が有る。
【０００５】
また、ロボット動作時の手先位置を数点計測して補正パラメータを数学的に算出する方法では、減速機のヒステリシスやロボットの幾何学誤差を順次補正し、最終的に残る残留誤差から角度伝達誤差成分を計算する、という手順により角度伝達誤差補正関数を同定している。この際、同一の目標位置を数点の移動開始位置から計測しているため、同定作業には広い作業空間が必要となり、通常のロボットの稼動ラインのようにワークや周辺機器が設置されている場所での作業は困難である。また、同定の過程で数回のロボットの位置決め動作が必要となるという問題もある。
【０００６】
更に、パラメータを手動で調整して補正パラメータを試行錯誤的に求める方法は、複数個ある補正パラメータを人為的手段で調整するので、補正パラメータの変更と変更後の補正パラメータを利用したロボット動作における補正結果の検証を何回も繰り返し行う必要がある。このため、ロボット個体毎に補正パラメータの同定を行う手段として簡便では無い。
【０００７】
従って、いずれの従来技術でも、組み上がったロボットに対して、作業空間の狭いロボット稼動現場において、人為的調整手段を必要とすること無く角度伝達誤差の補正パラメータを同定することは出来なかった。
【課題を解決するための手段】
【０００８】
上記問題を解決するため、本発明は、次のようにしたのである。
【０００９】
なお、本願出願時の明細書の記載を基礎として、特許請求の範囲の記載が補正され得ることは勿論であるが、その際に、本願発明に関して記載される以下の概要の内容を訂正することは予定しない。以下の概要に記載される各「発明」は、本願明細書における開示の要点としての意味を持つものである。
【００１０】
本発明の１つの側面において、本発明のロボットアーム位置補正パラメータの同定装置は、各関節部で回転駆動するモータと、モータに連結された減速機と、減速機に連結されるロボットアームとを備えるロボットにおいて、ロボットの手先位置の軌跡誤差を補正するために、各モータに対する角度指令に加算される補正値のパラメータを同定する装置であって、該モータに対するトルク指令が最大となるリンク角度において最大値をとる、トルク指令と同一周期の正弦波の位相に基づいて、補正値の位相パラメータを同定し、且つ、同定された位相パラメータ及び任意の振幅パラメータを用いて計算される補正値と角度指令との合計に対して順運動学計算を行うことにより得られるロボットの手先位置とロボットの現在の手先位置との差分についてロボットの動作時間内での積分値を計算し、該積分値が最小となる振幅パラメータを補正値の振幅パラメータとして同定する手段を備える。
【００１１】
このように構成することによって、人為的調整手段を必要とすること無く、減速機角度伝達誤差の補正パラメータを同定することが可能となる。
【００１２】
また、本発明の１つの側面によるロボットアーム位置補正パラメータ同定装置において、上述の補正値は、
【数１】
2011212823.tif 000003
と表すことができ、ここで２ｎは減速機のうねり発生の周期であり、Ａ＊は振幅パラメータであり、θ’ｒｅｆ＊はロボットのリンク角度であり、φ＊は位相パラメータであり、＊は各関節軸の番号を表し、φ＊は、トルク指令が最大となるリンク角度において最大値をとる、トルク指令と同一周期の正弦波
【数２】
2011212823.tif 000004
の位相φ０＊に所定の値を加算することにより得られ、当該所定の値は、角度指令から減速機の角度伝達誤差の外乱トルクを含むモータに対するトルク指令までの位相遅れを補う値に相当する。補正値の位相φ＊は、一例として、φ＊＝φ０＊＋π／２なる式により求めてもよい。
【００１３】
また、本発明の別の側面において、本発明のロボットコントローラは、上述のような装置により同定された位相パラメータ及び振幅パラメータを用いて補正値を生成する補正値生成部と、補正値と角度指令とに基づいて各関節部のモータに対するトルク指令を生成するサーボ制御部とを備える。
【００１４】
このように構成することによって、人為的調整手段を必要とすること無く同定した減速機角度伝達誤差の補正パラメータを利用して各モータに対するトルク指令を生成することが可能となり、これにより、作業空間の狭いロボット稼動現場でも個体毎に自動処理による簡便なロボット制御を行うことができる。
【００１５】
また、本発明の別の側面において、本発明のロボットアーム位置補正パラメータの同定方法は、各関節部で回転駆動するモータと、モータに連結された減速機と、減速機に連結されるロボットアームとを備えるロボットにおいて、ロボットの手先位置の軌跡誤差を補正するために各モータに対する角度指令に加算される補正値のパラメータを同定する方法であって、モータに対するトルク指令が最大となるリンク角度において最大値をとる、トルク指令と同一周期の正弦波の位相に基づいて、補正値の位相パラメータを同定するステップと、同定された位相パラメータ及び任意の振幅パラメータを用いて計算される補正値と角度指令との合計に対して順運動学計算を行うことにより得られるロボットの手先位置とロボットの現在の手先位置との差分についてロボットの動作時間内での積分値を計算し、該積分値が最小となる振幅パラメータを補正値の振幅パラメータとして同定するステップとを備える。
【００１６】
このように構成することによって、人為的調整手段を必要とすること無く、減速機角度伝達誤差の補正パラメータを同定することが可能となる。
【００１７】
また、本発明の別の側面において、本発明のロボット制御方法は、上述の方法により同定された位相パラメータ及び振幅パラメータを用いて補正値を生成するステップと、補正値と角度指令とに基づいて各関節部のモータに対するトルク指令を生成するステップとを備える。
【００１８】
このように構成することによって、人為的調整手段を必要とすること無く同定した減速機角度伝達誤差の補正パラメータを利用して各モータに対するトルク指令を生成することが可能となり、これにより、作業空間の狭いロボット稼動現場でも個体毎に自動処理による簡便なロボット制御を行うことができる。
【００１９】
審査中の手続補正によって、及び、特許後の訂正審判又は訂正請求において、法的な制限の範囲内で、本発明は、種々の他の態様に訂正され得る。
【００２０】
なお、特許後の訂正審判又は訂正請求における「実質上特許請求の範囲を変更」の判断は、特許時の請求項に新たな構成要素が追加されたか否か（すなわち、いわゆる外的付加がなされたか否か）、又は、特許時の請求項の１つ又はそれより多いいずれかの構成要素をさらに限定するものか（すなわち、いわゆる内的付加がなされたか）によって判断されるべきでなく、訂正の前後の請求項に係る発明の効果が類似するか否かの観点からなされるべきである。
【発明の効果】
【００２１】
本発明のロボットアーム位置補正パラメータの同定装置及び方法の実施例は、作業空間の狭いロボット稼動現場でもロボット個体毎に適用可能であり、計算機を用いた自動処理による簡便な手法により、減速機角度伝達誤差の補正パラメータを同定することができ、ロボットの軌跡精度を向上させることが可能となる。さらに、補正パラメータの同定に必要なロボットの位置決め動作は一度で済むため、同定作業にかかる作業負荷を軽減できる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施例によるロボットアーム位置補正パラメータ同定装置をロボットシステムに適用する場合の全体構成図である。
【図２】本発明の実施例による補正パラメータ同定及び位置補正の処理手順を示すフローチャートである。
【図３】本発明の実施例における補正波の位相算出手順を示すフローチャートである。
【図４】本発明の実施例における補正波の振幅算出手順を示すフローチャートである。
【図５】本発明の実施例による補正パラメータ同定装置又は方法が適用されるロボット構成の一例の概略図である。
【図６】本発明の実施例における補正波の位相算出に使用されるパラメータφ０を決定する手法の説明図である。
【図７】本発明の実施例による補正パラメータ演算処理構成を示す図である。
【図８】従来の角度伝達誤差を補正する構成の一例を示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明のロボットアーム位置補正パラメータの同定装置及び方法の実施の形態について、図に基づいて説明する。
【００２４】
図１は、本発明の実施例による位置補正パラメータ同定装置をロボットシステムに適用する場合の全体構成図である。図１においては、垂直多関節型のロボット１、ロボットアームの手先位置を計測するための外界センサ２、センサ固定冶具３、ロボット１の教示装置４、ロボットコントローラ５、計算機６及び反射板７が示されている。ここで、「外界」とは、ロボット１の外部に存在することを意味し、ロボットの内部に存在することを意味する「内界」に対応する語である。外界センサ２の一例としてレーザセンサを使用することができるが、外界センサ２の構成はこれに限定されない。この場合、外界センサ２から反射板７に向かって下向きにレーザ光が放射され、反射板７により反射されたレーザ光を検出することにより、ロボット１の手先位置を計測することができる。教示装置４はディスプレイ４１及びキーパッド４２を備えており、補正パラメータは、キーパッド４２から入力することで直接書き換えることができる。ここで、教示（ティーチング）とは、ロボットに作業を行わせるためにその作業を実現する動作を何らかの方法で教え込むことを意味する。操作者が教示装置４のキーパッド４２を押下し、ロボット１の各関節軸もしくは手先位置を所望する場所に移動させ、移動した場所をロボットコントローラ５の記録装置（図示せず）に記録するという手順で教示が行われる。
【００２５】
ロボットコントローラ５内には、教示データに基づいてロボット１に対する動作指令を生成する指令生成部５１、前記動作指令に基づいてロボット１の各軸（関節）に搭載したモータ（図示せず）を駆動するサーボ制御部５２、ロボット１の各軸のモータに取り付けられた位置（角度）検出器（エンコーダとも呼ばれる、図示せず）から出力されるモータ計測角度（減速機入力側の回転角度）と計算機６内に設けられた補正パラメータ計算部６２において計算された補正パラメータ（補正波の振幅と位相）とを使用して補正値を生成する補正値生成部５３が設けられている。
【００２６】
計算機６内には、位置（角度）検出器（エンコーダ、図示せず）から出力されるモータ角度、サーボ制御部５２で生成される指令トルク、及び外界センサ２で計測したロボット１の手先位置を取込む計測部６１、及び計測部６１に取り込まれた各値に基づいてロボット１に関する補正パラメータを同定する補正パラメータ計算部６２が設けられている。上述のように、補正パラメータ計算部６２で同定された補正パラメータ（補正波の振幅と位相）はロボットコントローラ５内の補正値生成部５３に転送される。
【００２７】
尚、図１においてロボットコントローラ５と計算機６とは別個の装置として図示されているが、これら装置は双方の機能を包含する単一の装置として実施してもよいし、これらの機能を分散させたより多くの数の装置として実施してもよい。
【００２８】
図２は、本発明の実施例による補正パラメータ同定及び位置補正の処理手順を示すフローチャートである。
【００２９】
以下、ロボット１に水平面上での直線動作を教示する場合を例に挙げて本発明の処理を説明するが、本発明はこのような直線動作に限定されるものではなく、その他の多様な動作をロボット１に教示する場合にも適用することができる。
【００３０】
まず、ステップＳ１において、ロボット１に、補正パラメータの同定対象となる軸動作をさせる。本実施例においては、水平面上での直線動作をプログラムにより教示する。この際の動作条件について以下に述べる。
【００３１】
外界センサ２が３次元的な測定を実行可能なセンサであれば、ロボット１に教示する動作は直線動作に制約されず、補正パラメータの同定対象とするロボット１の任意の１つ又は複数の関節軸を駆動させる動作であれば良い。本実施例では、手先位置計測のための外界センサ２の測定レンジに制限がある場合を想定して、直線動作の場合につき具体的に説明を行う。ロボット１に対する動作の教示に際しては、ロボット１の稼動ラインにおいてロボット１が周辺機器と干渉しないような動作プログラムを用いれば良い。ロボット１の動作距離は、減速機の種類や機種により異なるが、角度伝達誤差によるうねりが３周期程度計測できる距離が望ましい。動作速度に関しては特に制約は無いが、より低速であればセンサ２の分解能の高低による計測への影響を小さくすることができる。動作姿勢は外界センサ２で手先位置が計測できる姿勢であれば制約は無い。
【００３２】
次に、ステップＳ２において、ステップＳ１において教示したロボット１のプログラムを再生し、この際の、ロボット１の各軸に対するトルク指令Ｔｒｅｆ＊、各軸のモータ角度指令θｒｅｆ＊、重力方向の手先位置Ｐｚを計測する。ここで、＊はモータの軸番号を示し、１つ又は複数の軸（関節）のモータに関して上記トルク指令とモータ角度指令が計測されることを意味する。以下の説明ではモータ角度（減速機入力軸の回転角度）をθで表し、ロボットのリンク（軸と軸とを繋ぐ部分）の角度（減速機出力軸の回転角度）をθ’で表現する。また、ｒｅｆはロボット１の各関節軸の指令値を意味し、モータへの角度指令やトルク指令を表す際に用いる。
【００３３】
本実施例では、ロボット１の手先位置を重力方向に変化させる軸に取付けられた減速機に起因するロボットアーム先端の軌跡誤差を補正する位置補正パラメータの同定を例として述べる。手先位置を重力方向に変化させる軸とは、図５に示す例においては軸１Ｌ、１Ｕ及び１Ｂである。このうち、特に１Ｌ及び１Ｕの２軸に関して減速機の角度伝達誤差に起因するロボットアーム先端の軌跡誤差を補正してもよいし、１Ｌ、１Ｕ及び１Ｂのすべてについて補正を行ってもよい。ロボット１を水平面上で直線動作させると手先位置に関して重力方向のうねりが発生するため、ロボット１の各軸に対するトルク指令Ｔｒｅｆ＊はうねりを有する波の形状となる。
【００３４】
次に、ステップＳ３において、前記トルク指令Ｔｒｅｆ＊と前記モータ角度指令θｒｅｆ＊を用いて、手先位置のうねりを補正するための補正波の位相を同定する。詳細については後述する。
【００３５】
次に、ステップＳ４において、前記モータ角度指令θｒｅｆ＊と前記重力方向手先位置Ｐｚを用いて補正波の振幅を同定する。詳細については後述する。
【００３６】
次に、ステップＳ５において、ステップＳ３及びステップＳ４において得られた補正波の位相及び振幅（補正パラメータ）を計算機６における補正パラメータ計算部６２からロボットコントローラ５における補正値生成部５４へ転送する。
【００３７】
最後に、ステップＳ６において、ステップＳ５において得られた補正パラメータから補正値を計算し、フィードフォワード的に位置補正を実行する。ここで、補正パラメータの転送は、教示装置４のキーパッド４２から補正パラメータを直接入力することにより行っても良い。
【００３８】
上述の処理手順において、補正値生成部５４において補正値（補正波）を決定するための補正式としては、以下の式（１）を用いる。
【数３】
2011212823.tif 000005
ここで、２ｎは減速機のうねり発生の周期である。例えば、ＲＶ減速機であれば、ＲＶギアと噛合うピン数がｎに相当する。また、Ａ＊は補正値（補正波）の振幅であり減速機の種類や機種によって定まる値、φ＊は補正波の位相で単位はラジアンである。θ’ｒｅｆ＊はロボット１の各軸の関節位置指令から計算したロボットのリンクの角度（つまり減速機出力側の角度）であり、フィードバック値ではなく、指令値を使用することで位置速度制御における追従遅れの影響を受けることなく位置補償を行うことが出来るのである（関節位置指令値に限定しない）。以下の説明で、’はロボットのリンクの角度（つまり減速機出力側の角度）を表わし、’の無い記号についてはモータの角度（位置）（つまり減速機入力側の角度）を表わす。Δθｃｏｍｐ＊はフィードフォワード的に位置補正する補正値（角度）である。θｒｅｆ＊、θ’ｒｅｆ＊、Δθｃｏｍｐ＊全て単位はラジアンである。
【００３９】
図２における補正波の位相を同定するステップＳ３を詳細に説明するフローチャートを図３に示す。
【００４０】
ステップＳ３２において、ステップＳ２で計測した、ロボット１の各軸に対するトルク指令Ｔｒｅｆ＊と各軸モータ角度指令θｒｅｆ＊に対して、計測ノイズ除去のためにローパスフィルタ処理を行う。この際のフィルタとしては、例えば、一次遅れ系フィルタを用いる。
【００４１】
次に、ステップＳ３３において、以下の式（２）を用いて、ロボット１の各軸のモータの角度指令θｒｅｆ＊をロボットのリンク（軸と軸とを繋ぐ部分）の角度θ’ｒｅｆ＊に変換する。つまり、各軸のモータの角度指令θｒｅｆ＊を減速機の減速比ρで除し、ロボットのリンク角度θ’ｒｅｆ＊に変換するのである（ρは減速機の種類に応じて変わる値である）。
【数４】
2011212823.tif 000006
【００４２】
次に、ステップＳ３４において、Ｔｒｅｆ＊のうねりの最初のピーク（山）（図６のＴｒｅｆ＊の波形上に×印で示す点）を検出し、当該ピーク（山）に対応するリンク角度（以下、θ’ｍａｘ０＊とする）を求める。尚、図６のＴｒｅｆ＊のうねりを表す曲線における直線部分は動作停止時を示している。θ’ｍａｘ０＊を求める方法としては、例えば、Ｔｒｅｆ＊の時間微分値（もしくは差分値）をモニタし、微分値の正負が変動する時のθ’ｒｅｆ＊をθ’ｍａｘ０＊とする手法が挙げられる。ただし、単純に微分値の変動をモニタするのみでは、ノイズ成分を誤ってピークとして捉えてしまう可能性があるので、うねり発生の周期２ｎの情報を使って計算する。具体的には、Ｔｒｅｆ＊のうねりの最初の正負両方のピーク（山及び谷）とそれぞれの際のリンク角度θ’ｍａｘ０＊、θ’ｍｉｎ０＊を求め、これらのリンク角度が以下の式（３）を満たしていることを確認する。
【数５】
2011212823.tif 000007
式（３）は、トルク指令Ｔｒｅｆ＊のうねりが角度伝達誤差の発生周期となっていることを示す条件である。
【００４３】
図６は、補正波の位相φ＊の算出に使用されるパラメータφ０＊を決定する手法の説明図である。以下、図３の各ステップと対応させつつ説明を行う。ステップＳ３５において、Ｔｒｅｆ＊のうねりと同位相となる正弦波sin(２ｎθ’ｒｅｆ＊＋φ０＊)の位相φ０＊を求めるために、sin(２ｎθ’ｒｅｆ)、θ’ｍａｘ０＊を用いて、θ’ｍａｘ１＊を求める。つまり、θ’ｍａｘ０＊とsin(２ｎθ’ｒｅｆ＊)の波形とを比較し、sin(２ｎθ’ｒｅｆ＊)のピーク（山）のうちθ’ｒｅｆ＊がθ’ｍａｘ０＊に最も近い値をとるときのθ’ｒｅｆ＊をθ’ｍａｘ１＊とするのである。
【００４４】
次に、ステップＳ３６において、以下の式（４）からφ０＊を求める。
【数６】
2011212823.tif 000008
φ０＊は、各モータに対するトルク指令Ｔｒｅｆ＊が最大値をとるリンク角度θ’ｍａｘ０＊において当該トルク指令と同一の周期（２ｎ）をもつ正弦波が最大値をとるような、当該正弦波の位相である。
【００４５】
次に、ステップＳ３７において、以下の式（５）を用いて補正波の位相φ*を求める。
【数７】
2011212823.tif 000009
式（５）におけるconstは、図７に示す補正パラメータ演算処理構成における角度指令θｒｅｆ＊から、減速機角度伝達誤差の外乱トルクを含んだトルク指令Ｔｒｅｆ＊までの位相遅れを補う、ある一定値（一例として、π／２）である。
【００４６】
以上の手順により、式（１）におけるφ＊が決定される。
【００４７】
ここで、図７を用いて、サーボ制御部５２の内部について、各軸（関節）の角度指令θｒｅｆ＊がモータへのトルク指令Ｔｒｅｆ＊に変換されるまでの制御方法について説明する。図７において、角度指令θｒｅｆ＊は、ロボット１の手先を移動させるにあたって各軸に要求される回転角度を示す指令である。例えば、操作者が教示装置４を使用してロボット１にある動作を教示する場合には、角度指令θｒｅｆ＊は操作者による教示装置４への入力に基づいて、ロボットコントローラ５へ送られる。位置（角度）検出器（エンコーダ）８０によって検出された各軸の角度は、加算部７１にて角度指令θｒｅｆ＊にネガティブフィードバック（負帰還）される。さらに式（１）により求まる角度伝達誤差補正角度Δθｃｏｍｐ＊が加算部７２において加算された後、当該値は位置制御部７３に入力される。一方、位置検出器８０（エンコーダ）によって検出された各軸の角度は、微分器８０ａによって角速度へ変換された上で、加算部７４にて角速度指令ωｒｅｆ＊にネガティブフィードバック（負帰還）される。当該角速度指令ωｒｅｆ＊は速度制御部７５へ入力されるが、既に述べたように、速度制御部７５の出力には減速機の角度伝達誤差による外乱トルクが印加されることとなる。このようにして各軸に対するトルク指令Ｔｒｅｆ＊が得られる。速度制御部７５内において、制御的に角速度指令ωｒｅｆ＊からトルク指令Ｔｒｅｆ＊への単位変換が行われるのである。こうして得られたトルク指令により各軸のサーボモータ７７が駆動されることになる。
【００４８】
図２における補正波の振幅を同定するステップＳ４を詳細に説明するフローチャートを図４に示す。
【００４９】
まず、ステップＳ４２において、ロボット１の各軸のモータに取り付けられた角度検出器（エンコーダ）から得た各軸モータ角度指令θｒｅｆ＊と、外界センサ２から得た重力方向の手先位置Ｐｚに対して、計測ノイズ除去のためのローパスフィルタ処理を行う。
【００５０】
次に、ステップＳ４３において、ステップＳ３３と同様にして、ロボット１の各軸のモータの角度指令θｒｅｆ＊をロボットのリンク（軸と軸とを繋ぐ部分）の角度θ’ｒｅｆ＊に変換する。
【００５１】
次に、ステップＳ４４において、図２におけるステップＳ３で同定した補正波の位相と、Ａ＊の探索初期値（ここでは、一例として１０[arc・sec]という値を用いている）を用いて、式（１）から補正角度Δθｃｏｍｐ＊を算出する。なお、１[arc・sec]は１[deg]の3600分の1の値である。
【００５２】
次に、ステップＳ４５において、モータ角度指令θｒｅｆ＊に計算された補正角度Δθｃｏｍｐ＊を加算し、順運動学計算によりロボットの重力方向手先位置Ｐｚ＿ｃａｌを計算する。
【００５３】
次に、ステップＳ４６において、外界センサ２により計測した重力方向の手先位置Ｐｚと、前記順運動学計算を用いて計算した重力方向手先位置Ｐｚ＿ｃａｌとの差分のロボット１の動作時間内の積分値Ｊを以下の式（６）により計算する。
【数８】
2011212823.tif 000010
【００５４】
次に、ステップＳ４７において、Ａ＊の値をある刻み幅だけ変更（更新）して、Ａ＊の値が所定の探索範囲内にある間、ステップＳ４５、ステップＳ４６の処理を繰り返し、同様にＪを計算する。探索の初期値（図４の例では１０[arc・sec]）、更新の刻み幅及び探索範囲は減速機の種類や機種により、任意の値をとり得る。例えば、ナブテスコ社製のＲＶ減速機ＲＶ−２５Ｅであれば、探索初期値、更新刻み幅及び振幅の探索範囲の一例として、それぞれ、10[arc sec]、5[arc sec]、10から40[arc sec]という値を用いることができる。
【００５５】
最後に、ステップＳ４８において、所定の探索範囲内でのステップＳ４５及びステップＳ４６による計算がすべて終了した後、Jが最小となるときの振幅を求める。
【００５６】
以上の手順により、式（１）におけるＡ＊が決定される。すなわち、図３に関して説明したようにして同定された位相パラメータφ＊と任意の振幅パラメータとを用いて補正値が計算され、当該補正値とモータ角度指令θｒｅｆ＊との合計に対して順運動学計算を行うことにより得られるロボット１の手先位置とロボット１の現在の手先位置との差分についてロボット１の動作時間内での積分値が計算され、当該積分値Ｊが最小となる振幅パラメータが補正値の振幅パラメータとして同定される。
【００５７】
補正パラメータ計算部６２においてステップＳ３及びステップＳ４により同定された補正パラメータφ＊及びＡ＊に基づいて、式（１）により表わされる補正角度Δθｃｏｍｐ＊が補正値生成部５３において生成され、図１及び図７に関連して説明されたようにして各関節軸のモータの制御に使用される。
【００５８】
ここでは探索範囲が少ないので探索計算の手法として全探索を使用したが、線形計画法や勾配法など、目的関数を最小化するアルゴリズムであれば任意のものを使用することができる。
【００５９】
以上、本発明の実施形態について説明したが、本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【００６０】
例えば、本実施例では、ロボット１の手先位置を重力方向に変化させる軸に取付けられた減速機を例にして行ったが、本発明の適用範囲はこれに限定されるものではなく、図５に示す１Ｓ、１Ｒ、１Ｔ軸に対しても同様の手法が適用可能である。
【００６１】
本発明の実施形態にかかる補正パラメータ同定装置及び方法は以上のように構成されているので、作業空間の狭いロボット稼動現場でも個体毎に適用可能であり、計算機を用いた自動処理による簡便な手法により、減速機角度伝達誤差の補正パラメータを同定することができ、ロボットの軌跡精度を向上させることが可能となる。同定に必要なロボットの位置決め動作は一度で済み、同定作業にかかる作業負荷を軽減できる。
【００６２】
また、本発明の補正パラメータ同定方法は、本明細書に記載したように、計算機を用いた自動処理により実施することができるものであるから、当業者であれば、当該方法を計算機に実行させるためのプログラムとして実施することも可能であることが理解できよう。
【符号の説明】
【００６３】
１  ロボット
２  外界センサ
３  センサ固定冶具
４  教示装置
５  ロボットコントローラ
６  計算機
７  反射板
４１  教示装置ディスプレイ
４２  教示装置キーパッド
５１  指令生成部
５２  サーボ制御部
５３  補正値生成部
６１  計測部
６２  補正パラメータ計算部
１Ｓ、１Ｌ、１Ｕ、１Ｒ、１Ｂ、１Ｔ  ロボット関節部（軸）
７１、７２、７４、７６  加算部
７３  位置制御部
７５  速度制御部
７７  サーボモータ
７８  減速機
７９  負荷
８０  位置（角度）検出器（エンコーダ）
８０ａ  微分器
【図１】
2011212823.tif 000013
【図２】
2011212823.tif 000014
【図３】
2011212823.tif 000015
【図４】
2011212823.tif 000016
【図５】
2011212823.tif 000017
【図６】
2011212823.tif 000018
【図７】
2011212823.tif 000019
【図８】
2011212823.tif 000020