JP3868928B2 - ロボット位置決め誤差補正装置 - Google Patents
ロボット位置決め誤差補正装置 Download PDFInfo
- Publication number
- JP3868928B2 JP3868928B2 JP2003164133A JP2003164133A JP3868928B2 JP 3868928 B2 JP3868928 B2 JP 3868928B2 JP 2003164133 A JP2003164133 A JP 2003164133A JP 2003164133 A JP2003164133 A JP 2003164133A JP 3868928 B2 JP3868928 B2 JP 3868928B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- error correction
- link element
- correction function
- robot
- 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
Links
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Description
【発明の属する技術分野】
この発明は、ロボットの実測位置に基づいて指令値の補正のために必要な情報をロボットに教示するためのロボット位置決め誤差補正装置に関する。
【0002】
【従来の技術】
従来のロボット位置決め誤差補正方法としては、例えば特許文献1に示されるものがある。この文献に記載の方法では、静剛性解析モデルにより算出した手先位置決め誤差を幾何学誤差とたわみ誤差に分離し、幾何学誤差の補正を行った後に、たわみ誤差の補正を行う。
【0003】
【特許文献1】
特開平4−33006号公報(第3頁〜第5ページ、図14、図16)
【0004】
【発明が解決しようとする課題】
上記のロボット位置決め誤差補正方法では、位置決め誤差の成分として幾何学誤差とたわみ誤差が大部分である場合には有効かもしれないが、一般的な現実のロボットでは、他の誤差要因のために十分な誤差補正効果が得られない。例えば、アームを駆動するために減速歯車装置などの伝達要素を含むロボットでは、伝達要素に起因する他の様々な誤差要因が存在する。
【0005】
この発明は、上述した課題を解決するためになされたものであり、様々な要因に起因する様々な種類の位置決め誤差を減少させることが可能なロボット位置決め誤差補正装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
この発明に係るロボット位置決め誤差補正装置は、互いに連結された少なくとも二つのリンク要素と、前記リンク要素を駆動する駆動装置と、前記駆動装置から各リンク要素に運動を伝達する運動伝達機構とを備えたロボットの位置決め誤差を補正するためのロボット位置決め誤差補正装置において、各リンク要素を異なる方向から同じ目標位置に移動させることを繰り返すことにより多数の目標位置について記録された各リンク要素の移動後の測定された各位置および移動前の各位置に基づいて、各リンク要素の移動前の位置に依存する位置決め誤差であるヒステリシス誤差を相殺するためのリンク要素の位置変化に関する関数であるヒステリシス誤差補正関数を決定するヒステリシス誤差補正関数決定部と、前記ヒステリシス誤差補正関数により補正された状態で少なくとも一つの前記リンク要素を複数の位置に移動させることにより記録された前記リンク要素の移動後の測定された各位置と各目標位置に基づいて、前記ヒステリシス誤差とは異なる誤差を減少させる第2の誤差補正関数を決定する第2の誤差補正関数決定部とを備えたものである。
【0007】
【発明の実施の形態】
以下、図面を参照しながらこの発明に係る様々な実施の形態を説明する。
実施の形態1.
図1は、この発明の実施の形態1に係るロボット位置決め誤差補正装置が使用されるロボットの例を示す斜視図である。このロボットは、4自由度水平多関節ロボットであり、水平な平板状の作業台7に固定された柱状のロボットベース1と、回転関節軸2a周りに回転可能にロボットベース1に連結された水平に延びる第1のアーム(リンク要素)2と、回転関節軸3a周りに回転可能に第1のアーム2に連結された水平に延びる第2のアーム(リンク要素)3と、第2のアーム3に連結された垂直に延びる手先軸(リンク要素)4を備える。手先軸4は、回転関節軸3bに沿って上下運動可能であるとともに回転関節軸3b周りに回転可能である。
【0008】
図示しないが、アーム2,3は駆動装置である専用のモータによって駆動され、各モータから各アームには運動伝達機構としての減速歯車装置またはベルト伝達装置によって運動が伝達される。手先軸4は、上下運動用のモータとボールネジ送り機構(運動伝達機構)によって上下運動させられ、回転運動用のモータと減速歯車装置またはベルト伝達装置によって回転運動させられる。
【0009】
これらのモータはコントローラ8から与えられた指令に従って駆動する。コントローラ8は、このロボットに付属する制御装置であり、ロボット運転用の命令に従って動作する。例えば、手先軸4を水平方向に移動させる命令を与えると、コントローラ8は手先軸4を二次元平面内で移動させるための関節角表現されたアーム2,3の目標角度位置(目標関節角)を算出し、各目標指定位置に基づいて各モータを指令し、アーム2,3を回転移動させる。このようにしてコントローラ8は手先軸4を水平方向に移動させるときには、実際にはアーム2,3の目標角度位置に応じた指令をモータに与える。
【0010】
位置決め誤差補正に供する測定を行うために、この実施の形態は光学式平面グリッドエンコーダを使用する。光学式平面グリッドエンコーダは、反射率の異なる格子状の模様を有するグリッドプレート6と、グリッドプレート6に光を照射し、グリッドプレート6からの反射光を光学的に読み取る読取りヘッド5を備え、読取りヘッド5で読み取った反射光の強度に応じてグリッドプレート6に相対する読取りヘッド5の位置が換算可能になっている。手先軸4の下端には、作業時にはエンドエフェクタが装着されるが、測定時には読取りヘッド5が装着される。作業台7の上にはグリッドプレート6を水平に支持するプレートベース6aが設置されている。この構成により、手先軸4がグリッドプレート6の範囲内で移動する限り、手先軸4の二次元位置を測定することができる。
【0011】
読取りヘッド5で読み取った反射光の強度を表す読取りヘッド5の出力信号は計算機(ロボット位置決め誤差補正装置)9に供給される。この計算機9は、ロボットに付属する計算機ではなく、汎用計算機であり、ロボット位置決め誤差の測定と、誤差補正関数の算出およびロボットの動作と測定結果を連携する補正のために使用される。読取りヘッド5の出力信号に基づいて、計算機9は読取りヘッド5の位置すなわち手先軸4の位置を算出し、さらには手先軸4の位置に基づいて、関節角表現されたアーム2,3の位置を算出する。このようにして計算機9は、手先軸4の位置を測定するたびにアーム2,3の角度位置(関節角)を測定する。
【0012】
また計算機9はコントローラ8に通信回線10を介して接続されている。計算機9の指示に従ってコントローラ8は手先軸4を水平方向に移動させる。また、計算機9は、通信回線10を介して、後述する各種の誤差補正関数をコントローラ8に通知することができる。誤差補正関数が供給されると、コントローラ8は、誤差補正関数を内部に記憶し、これに従って手先軸4の目標位置または各アーム2,3の目標角度位置を補正する。
【0013】
さて、多関節ロボットにおいて生じうるエンドエフェクタの位置決め誤差は、ヒステリシス誤差、角度伝達誤差、幾何学誤差、および非モデル化誤差に分類することができる。ヒステリシス誤差は、運動伝達機構の不可逆運動に起因する各アームの移動前の位置に依存する位置決め誤差である。例えば、ヒステリシス誤差は、減速歯車装置またはタイミングベルト/タイミングプーリのバックラッシュもしくは弾性変形、または軸受部などの摩擦に起因する。ヒステリシス誤差は、同一指令位置を与えてもその位置に到達する動作の方向や移動距離に依存して停止位置が変動する現象として現れる。図2は、アームを連続的に回転移動させながらその角度位置を測定した結果の集合である移動特性曲線の概念を示すグラフである。図2に示すように、ヒステリシス誤差のために指令角度を減少させたときの実際の角度と指令角度を増加させたときの実際の角度は相違する。
【0014】
角度伝達誤差は、運動伝達機構の精度(部品の寸法精度および部品の取付精度)の誤差に起因する位置決め誤差であり、運動伝達機構の回転要素(例えば歯車またはプーリ)の回転角度に依存する。例えば、角度伝達誤差は、減速歯車装置またはタイミングベルト/タイミングプーリの歯の寸法精度および噛み合いの誤差に起因する。図2では、実際の移動特性曲線の勾配に重なった波形の変動として角度伝達誤差が現れている。移動特性曲線の勾配の変動を微分により抽出した角度伝達誤差の概念を図3に示す。図3に示すように、角度伝達誤差は、アームの角度位置に依存した規則的変化傾向、具体的にはほぼ正弦曲線状の傾向を呈する。
【0015】
幾何学誤差は、リンク要素の形状誤差と位置的誤差(リンク要素の長さの誤差およびこれに起因するリンク要素の回転角度誤差)およびロボットの原点の据付誤差(具体的には図1のロボットでは回転関節軸2aの設置誤差)に起因する位置決め誤差である。幾何学誤差は、他の誤差成分に比べて大きな誤差成分である。
【0016】
非モデル化誤差はその他の要因によるモデル化されていない誤差またはモデルでは表現するのが困難な誤差である。例えば、図1に示すリンク機構を平面2次元モデルで表現した場合、関節軸のねじれまたは偏心、アームの重力によるたわみ、および運動伝達機構内で生じる前記以外の誤差に起因する誤差が、これに相当する。非モデル化誤差は、ロボット動作範囲内でアームの個々の角度位置に依存するが、角度伝達誤差とは異なり明確な規則的変化傾向は呈しない。
【0017】
この実施の形態では、他の誤差要因から分離しやすい誤差要因を補正するための誤差補正関数を得た後に、他の誤差要因を補正するための誤差補正関数を得ることを繰り返すロボット位置決め誤差補正方法を使用する。具体的には、計算機9は、ヒステリシス誤差を相殺するためのアーム2,3の角度位置変化に関する関数であるヒステリシス誤差補正関数を算出し、次に幾何学誤差を相殺するための関数である幾何学誤差補正関数を決定し、さらに非モデル化誤差(第1の残留誤差)を減少させるための各アームの各位置の関数である非モデル化誤差補正関数(残留誤差補正関数)を決定し、最後に角度伝達誤差を相殺するための各アームの各位置の関数である角度伝達誤差補正関数を決定する。
【0018】
次に、図4のフローチャートに従って、この実施の形態1で実行するロボット位置決め誤差補正方法を説明する。簡略化のため図1に示す水平多関節ロボットの手先軸4の水平方向位置のみについて説明する。
まず、計算機9は、ヒステリシス誤差算出のために手先軸4の位置を測定し、(ステップST1)、ヒステリシス誤差を算出し(ステップST2)、ヒステリシス誤差補正関数を決定してコントローラ8に通知する(ステップST3)。
【0019】
ヒステリシス誤差は、通常は目標位置に対して伝達機構のバックラッシュなどにより移動距離が不足する現象として現れる。このため、移動距離の不足分だけコントローラ8の指令値を補正することで、ヒステリシス誤差つまり停止位置の変動量が改善される。具体的に図5(a)ないし図5(d)を参照してヒステリシス誤差補正について説明する。図5(a)ないし図5(d)は、図1に示す水平多関節ロボットの要素を簡略化して示す平面図である。手先軸4を図5(a)に示す移動開始位置P1(X1,Y1)から図5(b)に示す目標位置P2(X2,Y2)まで移動させると想定する。移動開始位置P1および目標位置P2に対応するアーム2,3の角度位置は、座標系変換計算により式(1)および式(2)のようにして求められる。
【0020】
(θ11,θ12)=f(X1,Y1) (1)
(θ21,θ22)=f(X2,Y2) (2)
図示のように、θ11はベース1に対する回転関節軸2a周りの移動開始時の第1のアーム2の角度、θ12は第1のアーム2に対する回転関節軸3a周りの移動開始時の第2のアーム3の角度、θ21はベース1に対する回転関節軸2a周りの目標の第1のアーム2の角度、θ22は第1のアーム2に対する回転関節軸3a周りの目標の第2のアーム3の角度である。fは手先軸4の水平方向位置を表す直交座標系からアーム2,3の角度位置として表現される関節座標系への座標変換を行う関数である。
【0021】
理想的なアーム2,3の位置変化つまり移動角度Δθ1、Δθ2は式(3)および式(4)のように表される。
Δθ1=θ21−θ11 (3)
Δθ2=θ22−θ12 (4)
【0022】
ところが実際には、ヒステリシス誤差のために、手先軸4は図5(a)に示す移動開始位置P1(X1,Y1)から図5(c)に示す実際の移動後の位置P3(X3,Y3)まで移動する。移動後のアーム2,3の角度位置は、それぞれθ31、θ32である。図5(d)に示すように、同じ目標位置P2に他の移動開始位置P1’から手先軸4を移動させた場合にも、実際の移動後の位置P3’(X3’,Y3’)は目標位置P2とは異なる。移動後のアーム2,3の角度位置は、それぞれθ31’、θ32’である。
【0023】
図4のステップST1では、計算機9がコントローラ8を介して、手先軸4を異なるランダムな方向から(つまり異なる移動開始位置P1,P1’...から)同じ目標位置P2に移動するように指令する。計算機9は、手先軸4の移動開始位置P1,P1’...に対応するアーム2,3の多数の移動開始角度位置(θ11,θ12)および目標位置P2に対応するアーム2,3の目標角度位置(θ21,θ22)を算出する一方、同じ目標位置P2を目指して異なる方向から移動した後の手先軸4の各位置P3,P3’...を測定し、測定された手先軸4の各位置P3,P3’...に基づいてアーム2,3の移動後の実際の多数の角度位置(θ31、θ31’...θ32,θ32’...)を算出し、これらの各角度位置(θ31、θ31’...θ32,θ32’...)を記録する。これをランダムな多数の目標位置P2に関して繰り返すことにより、多数の目標位置P2についてアーム2,3の各目標角度位置(θ21,θ22)と移動後の測定された各角度位置(θ31、θ31’...θ32,θ32’...)を記録する。
【0024】
測定された手先軸4の各位置P3,P3’...は、ヒステリシス誤差成分だけでなく、他の誤差成分も含んでいる。しかし、ヒステリシス誤差は停止位置だけでなく移動開始位置に依存して変化する一方、幾何学誤差、角度伝達誤差および非モデル化誤差は移動後の停止位置のみに依存して変化する。目標位置P2と移動後の停止位置P3,P3’...の相違は実際には微少であるので、ヒステリシス誤差以外の成分は移動後の停止位置P3,P3’...のどこでも同一であり無視できると考えることができる。
【0025】
図4のステップST2では、計算機9は、多数の目標位置について記録されたアーム2,3の移動後の測定された各角度位置および目標角度位置に基づいて、ヒステリシス誤差を算出する。具体的には、同じ目標位置P2について記録された移動後の角度位置P3,P3,...に対応する各角度位置(θ31、θ32)と目標角度位置(θ21,θ22)の相違としてヒステリシス誤差を算出する。すなわち、ある目標位置P2についてのヒステリシス誤差は、式(5)ないし式(8)のようにして求められる。
【0026】
Δθh1=θ31−θ21 (5)
Δθh2=θ32−θ22 (6)
Δθh1’=θ31’−θ21 (7)
Δθh2’=θ32’−θ22 (8)
ここで、Δθh1は、手先軸4が移動開始位置P1から目標位置P2に移動させられたときの第1のアーム2のヒステリシス誤差であり、Δθh2は、手先軸4が移動開始位置P1から目標位置P2に移動させられたときの第2のアーム3のヒステリシス誤差であり、Δθh1’は、手先軸4が移動開始位置P1’から目標位置P2に移動させられたときの第1のアーム2のヒステリシス誤差であり、Δθh2’は、手先軸4が移動開始位置P1’から目標位置P2に移動させられたときの第2のアーム3のヒステリシス誤差である。一つの目標位置P2に関して多数の移動開始位置P1,P1’...が設定されるので、一つの目標位置P2に関してさらに多くのヒステリシス誤差が算出される。このようなヒステリシス誤差の算出は、他の目標位置についても同様に行う。
【0027】
図4のステップST3で、計算機9は、多数の目標位置について算出されたヒステリシス誤差Δθh1,Δθh2,Δθh1’,Δθh2’...に基づいて、手先軸4の位置のヒステリシス誤差を相殺するためヒステリシス誤差補正関数を決定する。ヒステリシス誤差補正関数は、式(9)および式(10)のようにアーム2,3の目標角度位置と移動角度つまり位置変化の関数として表される。
【0028】
θh1=h1(θ1,θ2,Δθ1,Δθ2) (9)
θh2=h2(θ1,θ2,Δθ1,Δθ2) (10)
ここで、θh1は手先軸4の位置のヒステリシス誤差を相殺するために第1のアーム2に与えるべきヒステリシス誤差補正量であり、θh2は手先軸4の位置のヒステリシス誤差を相殺するために第2のアーム3に与えるべきヒステリシス誤差補正量である。h1はアーム2についてのヒステリシス誤差補正関数、h2はアーム3についてのヒステリシス誤差補正関数、θ1はアーム2の目標角度位置、θ2はアーム3の目標角度位置、Δθ1はアーム2の移動角度、Δθ2はアーム3の移動角度である。
【0029】
個々のヒステリシス誤差Δθh1,Δθh1’...の反数(−Δθh1,−Δθh1’...)がヒステリシス誤差補正量θh1とほぼ一致するように、計算機9は、アーム2の多数の目標角度位置(θ21,...)、アーム3の多数の目標角度位置(θ22,...)、およびアーム2,3の移動角度Δθ1、Δθ2に基づいて、ヒステリシス誤差補正関数h1を決定する。ヒステリシス誤差補正関数h1の種類は限定されないが、例えば、あらかじめ実験または運動伝達機構の解析により、θ1,θ2,Δθ1,Δθ2を変数とする適切な関数を選定しておくとよい。ヒステリシス誤差補正関数h1を決定するアルゴリズムも限定されないが、例えば、選定された関数を、得られたヒステリシス誤差Δθh1,Δθh1’...の数の分だけ連立し、最小自乗法を用いて関数を決定すればよい。同様にして、ヒステリシス誤差補正関数h2も決定することができる。
【0030】
水平多関節ロボットのように、停止状態において水平方向に荷重が作用しない構造では、ヒステリシス誤差補正関数h1,h2は、関節角に依存せず式(11)および式(12)のように移動角のみの関数として表現できる。
θh1=h1(Δθ1,Δθ2) (11)
θh2=h2(Δθ1,Δθ2) (12)
【0031】
この場合のヒステリシス誤差補正関数h1,h2の種類も限定されないが、具体例としては、式(13)および式(14)を使用することができる。
【数1】
【数2】
【0032】
ここで、k11〜k24は定数である。得られたヒステリシス誤差Δθh1,Δθh1’...の数の分だけ式(13)を連立し、θh1にΔθh1,Δθh1’...の反数を代入し、θ1,θ2,Δθ1,Δθ2にコントローラ8の各指令値を代入して、最小自乗法により多数の連立方程式を解くことにより定数k11,k12,k21,k22が定まる。同様にして、式(14)を連立した連立方程式から定数k13,k14,k23,k24が定まる。
【0033】
計算機9は、以上のようにして求めたヒステリシス誤差補正関数h1,h2をコントローラ8に通知し、コントローラ8はこれらを内部に記憶する(図4のステップST3)。これによりコントローラ8はヒステリシス誤差を補正しながら手先軸4の任意の目標位置から各アーム2,3の目標角度位置を換算することが可能になる。つまり、コントローラ8は、アームを移動させるときに、ヒステリシス誤差補正関数h1,h2を用いてヒステリシス誤差補正量θc1およびθc2を算出し、目標位置P2に対応する関節角度θ21およびθ22にヒステリシス誤差補正量θc1およびθc2を加算することにより指令角度位置を補正でき、補正された指令角度位置に従ってアーム2,3を駆動することにより、手先軸4の水平方向位置決め誤差からヒステリシス誤差を除去することができる。このようにしてヒステリシス誤差の補正が完了する。
【0034】
なお、この明細書で、「誤差補正関数をコントローラ8に通知する」とは、関数の種類および係数またはパラメータをすべてコントローラ8に通知することでもよいし、コントローラ8と計算機9とで共通の種類の誤差補正関数を使用することにしておけば、計算機9で求めた係数またはパラメータのみをコントローラ8に通知することでもよい。
【0035】
ヒステリシス誤差の補正完了後、計算機9は、幾何学誤差算出のために手先軸4の位置を測定し(図4のステップST4)、幾何学誤差を算出し(ステップST5)、幾何学誤差補正関数を決定してコントローラ8に通知する(ステップST6)。
【0036】
幾何学誤差補正について図6を参照して説明する。手先軸4の目標指令位置としてP0(X0,Y0)を与えても、ロボットの据付誤差Pbとロボット本体の幾何学誤差Peがあると、基準座標系O−XYで見た手先軸4の実際の位置P(X,Y)は目標指令位置P0(X0,Y0)から外れてしまう。ロボットの据付誤差Pbとロボット本体の幾何学誤差Peを、ここでは幾何学誤差という。
【0037】
ロボットの据付誤差Pbとは、ロボットベース1つまり回転関節軸2aの据付誤差、即ちロボットのコントローラ8が位置指令の基準とする理想的な基準座標系O−XYに対する実際のロボット座標系O’−X’Y’の相対的位置ずれを意味する。ロボット座標系O’−X’Y’の原点O’は基準座標系O−XY上では(Xb,Yb,θb)にあり、このためにロボットの据付誤差Pbは、アーム2,3がロボット動作範囲内でどの回転位置にあっても一定の誤差ベクトルとして手先軸4の位置決め精度に影響する。ロボットの据付誤差Pbがある場合に、コントローラ8が目標指令位置P0に手先軸4を位置決めしようとしても、実際にはモータはロボット座標系O’−X’Y’で働くので、コントローラ8はロボット座標系O’−X’Y’で目標指令位置P0に従ってモータを駆動することになる。
【0038】
ロボット本体の幾何学誤差Peとは、リンク要素の形状誤差と位置的誤差(アームの長さの誤差およびアームの回転角度誤差)に起因して手先軸4に発生する位置決め誤差を意味する。ロボット本体の幾何学誤差Peは、アーム2,3の長さと角度位置に依存して変化し、ロボット座標系O’−X’Y’の中で表現される。ロボット本体の幾何学誤差Peがあるために、ロボット座標系O’−X’Y’で目標指令位置P0(X0,Y0)に従ってモータを駆動しても、ロボット座標系O’−X’Y’で手先軸4の位置はPr(Xr,Yr)になり、PbとPrの結果として基準座標系O−XYでの手先軸4の位置はP(X,Y)になる。
【0039】
現実にアーム2,3を制御できるロボット座標系O’−X’Y’において、目標指令位置P0(X0,Y0)に対応した手先軸4の実際の位置がPr(Xr,Yr)であることは、式(15)で表現できる。
【0040】
Pr=g(P0,v+e) (15)
ここで、gはロボット座標系O’−X’Y’上で目標指令位置P0から実際の位置Pr(Xr,Yr)を算出することができる、ロボット本体の幾何学的関係を表した関数である。vはリンク要素の理想的な寸法および目標角度、すなわち理想幾何学パラメータを表し、ロボット座標系O’−X’Y’上のモデルを規定するパラメータの並びすなわちベクトルで表現できる。eはアームの長さの誤差およびアームの回転角度誤差、すなわち前記の幾何学誤差パラメータを表し、ロボット座標系O’−X’Y’上のモデルを規定するパラメータのベクトルで表現でき、ロボット本体の幾何学誤差Peの原因になる。
【0041】
式(15)をX’方向成分とY’方向成分について表現すると、式(16)および式(17)のようになる。
Xr=gx(X0,Y0,v+e) (16)
Yr=gy(X0,Y0,v+e) (17)
【0042】
幾何学誤差のない、即ちロボットの据付誤差Pbとロボット本体の幾何学誤差Peのない理想的なロボットに目標指令位置P0(X0,Y0)を与えた時、手先軸4は目標通りの位置P0(X0,Y0)に位置決めされる。この関係は式(15)の特殊ケースであり、式(18)のように表現することができる。
Pr=P0=g(P0, v) (18)
【0043】
図7を参照しながら、理想幾何学パラメータvおよび幾何学誤差パラメータeを説明する。図7は図1に示す水平多関節ロボットの要素を簡略化して示す平面図である。図中のL1は第1のアーム2の設計上の規定の長さ、dL1はアーム2の長さの誤差、L2は第2のアーム3の設計上の規定の長さ、dL2はアーム3の長さの誤差、θ1は第1のアーム2の指令された回転角度位置(関節角度)、dLθはアーム2の角度位置の誤差(例えば原点O’の位置ずれに起因する)、θ2は第2のアーム3の指令された回転角度位置(関節角度)、dLθはアーム2の角度位置の誤差(例えば原点O’の位置ずれと回転関節軸3aの位置ずれに起因する)である。
【0044】
理想幾何学パラメータvは式(19)のようにベクトルとして表現され、幾何学誤差パラメータeは式(20)のようにベクトルとして表現される。
v=(L1,L2,θ1,θ2) (19)
e=(dL1,dL2,dθ1,dθ2) (20)
幾何学誤差パラメータeのうち、角度位置の誤差dθ1,dθ2は、アーム2,3の角度位置に依存して変化する。
【0045】
ロボット本体の幾何学的関係を表す関数gは、理想幾何学パラメータvと幾何学誤差パラメータeを用いて一意に表現される。
【0046】
また、リンク要素の機械的な誤差に起因するロボット本体の幾何学誤差Peに加え、据付誤差Pbがあると、基準座標系O−XY上の手先軸4の位置P(X,Y)は式(21)で表される。
P=Pb・Pr (21)
【0047】
ロボットの据付誤差Pb(Xb,Yb,θb)、およびロボット座標系O’−X’Y’上の手先軸4の実際の位置Pr(Xr,Yr)は、3×3行列による同次変換形式で式(22)および式(23)のように表現される。
【数3】
【数4】
【0048】
式(22)の第1行および第2行の第1列および第2列の行列成分は、ロボットの据付誤差Pbの回転誤差成分を示し、第1行および第2行の第3列は、ロボットの据付誤差Pbの並進誤差成分を示す。式(23)では、座標系の回転を考慮しないので、回転誤差成分は2×2の単位行列になる。式(23)の第1行および第2行の第3列は、ロボット座標系O’−X’Y’上の手先軸4の実際の位置Prの並進誤差成分(Xr,Yr)を示す。
【0049】
式(21)〜式(23)に従って、基準座標系O−XY上の手先軸4の位置P(X,Y)は、同次変換形式で式(24)のように表現される。
【数5】
【0050】
基準座標系O−XY上の手先軸4の位置Pの並進誤差成分は、X,Yであるので、式(24)の第1行および第2行の第3列から、X,Yは式(25)および式(26)のように表現される。
【0051】
式(25)および式(26)から明らかなように、基準座標系O−XY上の手先軸4の実測位置P(X,Y)は、ロボットの据付誤差Pb(Xb,Yb,θb)と、目標指令位置P0および幾何学誤差パラメータe、すなわちdL1,dL2,dθ1,dθ2に対して対応関係を持つ。
【0052】
図4のステップST4では、計算機9は、手先軸4の多数のランダムな目標位置P0(X0,Y0)をコントローラ8に指示し、コントローラ8がヒステリシス誤差補正関数により補正しながら手先軸4を多数のランダムな目標位置P0(X0,Y0)に移動するように指令する。一方、計算機9は、各目標位置について移動後の手先軸4の実測位置P(X,Y)を測定する。このようにして、多数の目標位置P0について、手先軸4の各目標位置P0(X0,Y0)と測定された位置P(X,Y)を記録する。
【0053】
次に計算機9は、手先軸4の測定された各位置と手先軸4の各目標位置に基づいて、幾何学誤差を算出する(図4のステップST5)。具体的には、これらの多数の目標位置P0(X0,Y0)、基準座標系O−XY上の多数の実測位置P(X,Y)および理想幾何学パラメータv(=L1,L2,θ1,θ2)を式(23)および式(24)に代入し、最小自乗法を使用することにより、ロボットの据付誤差Pb(Xb,Yb,θb)および幾何学誤差パラメータe(=dL1,dL2,dθ1,dθ2)を算出する。
【0054】
このようにしてロボットの据付誤差Pbと幾何学誤差パラメータeが分かれば、幾何学誤差を相殺するために目標位置指令を補正する方式を定めることができる。前述の通り、ロボット座標系O’−X’Y’で目標指令位置P0(X0,Y0)に従ってモータを駆動しても、ロボット座標系O’−X’Y’で手先軸4の位置はPr(Xr,Yr)になり、PbとPrの結果として基準座標系O−XYでの手先軸4の位置はP(X,Y)になる。これを別の観点からいえば、ロボット座標系O’−X’Y’で手先軸4の位置が図6のPrcであれば、PbとPrcの結果として基準座標系O−XYでの手先軸4の位置は目標位置P0(X0,Y0)になる。つまり、基準座標系O−XYで目標位置P0に手先軸4を移動させるべきときには、手先軸4をロボット座標系O’−X’Y’で位置Prcに実際に移動させればよい。ロボット座標系O’−X’Y’において目標指令位置P0(X0,Y0)に対応した手先軸4の実際の位置がPr(Xr,Yr)であることは、一般式(15)で表現できるので、一般式(15)のロボット座標系O’−X’Y’上の実際の手先軸4の位置PrをPrcで置き換え、モータに指令するための目標指令位置P0をPcで置き換えると式(27)が得られる。
Prc=g(Pc,v+e) (27)
【0055】
また、式(21)の基準座標系O−XY上の手先軸4の位置P(X,Y)を真の目標位置P0で置き換え、ロボット座標系O’−X’Y’上の実際の手先軸4の位置PrをPrcで置き換えると式(28)が得られる。
P0=Pb・Prc (28)
【0056】
従って、ロボットの据付誤差Pbが同定できれば、基準座標系O−XY内の手先軸4の真の目標指令位置P0からロボット座標系O’−X’Y’内の目標位置Prcを求めることができる。さらに、幾何学誤差パラメータeが同定できれば、ロボット座標系O’−X’Y’内の目標位置Prcを実現するための目標指令位置Pcを求めることができる。このように基準座標系O−XY内の手先軸4の真の目標指令位置P0からロボット座標系O’−X’Y’上で有効な目標指令位置Pcを得る関数を、ここでは幾何学誤差補正関数という。コントローラ8は、幾何学誤差補正関数に基づいて、真の目標指令位置P0をロボット座標系O’−X’Y’上で有効な目標指令位置Pcに設定し直して、モータを制御すれば、幾何学誤差を相殺することができる。
【0057】
図4のステップST6で、計算機9は、ロボットの据付誤差Pbと幾何学誤差パラメータeに基づいて、幾何学誤差を相殺するための幾何学誤差補正関数を決定し、コントローラ8に通知し、コントローラ8はこれを内部に記憶する。これによりコントローラ8はヒステリシス誤差に加えて幾何学誤差を補正しながら手先軸4の任意の目標位置から各アーム2,3の目標角度位置を換算することが可能になる。つまり、コントローラ8は、アームを移動させるときに、幾何学誤差補正関数を用いて幾何学誤差を排除した手先軸4の真の目標指令位置を算出でき、真の目標指令位置に対応する指令角度位置に従ってアーム2,3を駆動することにより、手先軸4の水平方向位置決め誤差から幾何学誤差を除去することができる。このようにしてヒステリシス誤差の補正に加えて幾何学誤差の補正が完了する。
【0058】
幾何学誤差の補正完了後、計算機9は、残留誤差算出のために手先軸4の位置を測定し(図4のステップST7)、残留誤差を算出し(ステップST8)、残留誤差に含まれた非モデル化誤差を相殺するための非モデル化誤差補正関数(残留誤差補正関数)を決定する(ステップST9)。
【0059】
実際のロボットで生じるリンク要素の機械的な誤差の要因としては、前述の幾何学誤差パラメータeとして使用したアームの長さの誤差およびアームの回転角度誤差だけでなく、回転関節軸2a,3aのねじれや偏心などの幾何学的要因が全て含まれうる。理論的には、前述の幾何学誤差に関連する幾何学誤差パラメータeに、関節軸のねじれや偏心を含めることも考えられる。しかし、一般に、誤差パラメータeとして関節軸のねじれや偏心まで考慮しても、計算モデルが複雑となり、誤差パラメータの同定精度が向上するわけではない。そこで、この実施の形態では、適当な個数のパラメータによるモデルで表現しやすいアームの長さの誤差およびアームの回転角度誤差のみを前述の幾何学誤差パラメータeとして考慮した。そして、幾何学誤差パラメータeから除外した幾何学的な誤差要因による誤差は、非モデル化誤差として補正する。
【0060】
また、この実施の形態では、非モデル化誤差には、前述の関節軸のねじれまたは偏心といった幾何学誤差に加えて、アームの重力によるたわみによる誤差のほか、例えば減速歯車装置などの運動伝達機構内で生じる明確な規則的変化傾向を呈しない伝達誤差に起因する誤差などが含まれている。ただし、重力によるたわみのようにモデルで表現することが可能な誤差要因については、非モデル化誤差から分離して取扱ってもよい。ロボットの構造強度と負荷の関係によっては、この種の誤差要因を非モデル化誤差から分離する方が好ましい場合も考えられる。
【0061】
ステップST7では、計算機9は、手先軸4のランダムな複数の目標指令位置Pc(Xc,Yc)をコントローラ8に指示し、コントローラ8は、ヒステリシス誤差補正関数および幾何学誤差補正関数により補正しながら手先軸4をランダムな複数の目標指令位置Pc(Xc,Yc)に移動するように指令する。計算機9は、手先軸4の各目標位置Pc(Xc,Yc)に対応する各アーム2,3の各目標角度位置θ1c,θ2cを記録する一方、各目標位置Pcについて移動後の各アーム2,3の各角度位置θ1a,θ2aを測定し、各角度位置θ1a,θ2aを記録する。このようにして、多数の目標位置Pcについて、アーム2,3の各目標角度位置θ1c,θ2cと測定された角度位置θ1a,θ2aを記録する。
【0062】
目標指令位置Pc(Xc,Yc)をロボットに与えた時の手先軸4の水平方向実測位置がPa(Xa,Ya)であったとすると、PcおよびPaに対応する関節角度は、式(29)および式(30)のように表される。
(θ1c,θ2c)=f(Xc,Yc) (29)
(θ1a,θ2a)=f(Xa,Ya) (30)
【0063】
ステップST8では、計算機9は、各アーム2,3の移動後の測定された各角度位置θ1a,θ2aと各アーム2,3の各目標角度位置θ1c,θ2cとの相違をいまだに残留している残留誤差(第1の残留誤差)θe1,θe2として算出する。各アーム2,3の関節角度に換算した残留誤差θe1,θe2は式(31)および式(32)のように表すことができる。
θe1=θ1a−θ1c (31)
θe2=θ2a−θ2c (32)
【0064】
ステップST8で算出された残留誤差θe1,θe2は、非モデル化誤差と角度伝達誤差を含んでいる。前述のように、非モデル化誤差はモデルで表現するのが困難な誤差であり、ロボット動作範囲内でアームの個々の角度位置に依存するが、角度伝達誤差とは異なり明確な規則的変化傾向は呈しない。他方、角度伝達誤差は、運動伝達機構の部品の寸法精度およびそれらの部品の取付精度に起因する位置決め誤差であり、アームの角度位置に依存した規則的変化傾向を呈する。また、一般に角度伝達誤差は非モデル化誤差よりもかなり小さい場合が多い。
【0065】
図4のステップST9では、計算機9は、ステップST8で算出された残留誤差θe1,θe2の集合に基づいて、残留誤差θe1,θe2に含まれた非モデル化誤差θm1,θm2を相殺するための非モデル化誤差補正関数(残留誤差補正関数)を決定する。非モデル化誤差は、一般に角度伝達誤差よりもかなり大きく、角度伝達誤差よりも角度に対する変化が少ないので、この段階では、残留誤差θe1,θe2を非モデル化誤差θm1,θm2であると仮定して取り扱う。そして、非モデル化誤差を表す数式モデルは、式(33)および式(34)に示すようなアーム2,3の目標関節角θ1c,θ2cに関する関数で表現する。
【0066】
θe1=θm1=fm1(θ1c,θ2c) (33)
θe2=θm2=fm2(θ1c,θ2c) (34)
ここでfm1およびfm2は、それぞれアーム2,3の目標関節角θ1c,θ2cから非モデル化誤差θm1,θm2を算出できる非モデル化誤差補正関数である。非モデル化誤差補正関数fm1およびfm2は、多項式で表現することができ、多項式の次数は所望の補正効果に応じて決定すればよいが、例えば式(35)および式(36)のような2元3次多項式で表現することが可能である。
【0067】
【0068】
ここで、k101〜k210は実測結果に基づき同定される係数である。係数k101〜k210を求めることにより非モデル化誤差補正関数fm1およびfm2が確定する。式(35)の係数k101〜k110については、多数の(n個の)目標位置について得られた残留誤差θe11〜θe1nの数(n個)分だけ、式(35)を連立する。これを行列の乗算で表現すると式(37)のようになる。
【数6】
【0069】
ここでθ1c1〜θ1cnはn個の目標位置についての第1のアーム2の目標関節角、θ2c1〜θ2cnはn個の目標位置についての第2のアーム3の目標関節角である。残留誤差θe11〜θe1n(すなわち非モデル化誤差θm11〜θm1n)と記録されたアーム2の目標関節角θ1c1〜θ1cnおよびアーム3の目標関節角θ2c1〜θ2cnを式(35)に代入すると、一般的な線形表現になる。従って、多数の連立方程式から最小自乗法により、未知の係数k101〜k110を求めることができる。
【0070】
すなわち式(37)は式(38)の形式で表現でき、式(39)によりp1の最小自乗解を求めることができる。
θm1=M1・p1 (38)
p1=[(M1T・M1)-1・M1T]・θm1 (39)
ここで、θm1は式(37)の左辺のn行ベクトル、M1は式(37)の右辺のn×10行列、p1は係数k101〜k110を表す式(37)の右辺の10行ベクトルである。このようにして非モデル化誤差補正関数fm1が決定される。同様にして式(37)を連立して解くことにより、係数k201〜k210を求め、非モデル化誤差補正関数fm2を決定することができる。
【0071】
次に、計算機9は、計算上の非モデル化誤差(計算上の各残留誤差)を算出し(図4のステップST10)、角度伝達誤差を算出し(ステップST11)、角度伝達誤差補正関数を決定して角度伝達誤差補正関数および非モデル化誤差補正関数をコントローラ8に通知し、コントローラ8はこれらを内部に記憶する(ステップST12)。
【0072】
まずステップST10で、計算機9は、ステップST9で求めた非モデル化誤差補正関数fm1およびfm2を内部に記録し、続いて非モデル化誤差補正関数fm1およびfm2を用いて、アーム2の各目標関節角θ1c1〜θ1cnおよびアーム3の各目標関節角θ2c1〜θ1cnを代入して、計算上の非モデル化誤差(計算上の各残留誤差)θm11’〜θm1n’,θm21’〜θm2n’を算出する。続いて計算機9は、ステップST8で算出された各残留誤差θe11’〜θe1n’,θe21’〜θe2n’と計算上の各非モデル化誤差θm11’〜θm1n’,θm21’〜θm2n’との相違である各角度伝達誤差(第2の残留誤差)θg11〜θg1n,θg21〜θg2nを算出する(ステップST11)。一般的に角度伝達誤差θg1,θg2を表現すると、式(40)および式(41)のようになる。
θg1=θe1−θm1’ (40)
θg2=θe2−θm2’ (41)
【0073】
上記の通り、非モデル化誤差補正関数fm1およびfm2を決定するときには、式(33)〜式(36)のように、ステップST8で求めた残留誤差θe1,θe2を非モデル化誤差θm1,θm2と等しいと仮定して取り扱うが、非モデル化誤差補正関数fm1およびfm2は、多項式表現および最小自乗法による解法により、角度伝達誤差の規則的変化が平均化されている。このため、非モデル化誤差補正関数fm1およびfm2から算出された計算上の非モデル化誤差θm1’,θm2’も、規則的に変化する角度伝達誤差成分を含まないと考えられる。実際に、非モデル化誤差θm1’,θm2’は、ステップST8で求めた残留誤差θe1,θe2と一致せず、式(40)および式(41)で求められた角度伝達誤差θg11〜θg1n,θg21〜θg2nは規則性を有する。
【0074】
図4のステップST12で計算機9は、各角度伝達誤差に基づいて、角度伝達誤差補正関数を決定する。上記の通り、角度伝達誤差は、運動伝達機構の精度(部品の寸法精度および部品の取付精度)の誤差に起因し、各アーム2,3の位置に依存して変化する規則性の高い位置決め誤差である。規則性の高い角度伝達誤差θg1,θg2は、運動伝達機構の精度の誤差に依存するため、運動伝達機構の回転要素の回転角度の関数として、式(42)および式(43)で表現できる。
【0075】
θg1=A1・sin(ω・θ10+φ1) (42)
θg2=A2・sin(ω・θ20+φ2) (43)
ここで、A1,A2,φ1,φ2は係数であり、ωは運動伝達機構(例えば減速歯車装置)の入力軸回転周期と角度伝達誤差の発生周期の比である。比ωは式(44)で求められる。
【0076】
ω=n・Ng (44)
ここでnは、角度伝達誤差の発生周期に対応して決まる整数であり、Ngは運動伝達機構の減速比である。例えば、減速歯車装置の入力軸回転と同じ周期で発生する角度伝達誤差であればn=1となりω=Ngであり、入力回転周期の半分の周期で発生する角度伝達誤差であればn=2となりω=2Ngである。
【0077】
係数A1,A2,φ1,φ2を求めることにより角度伝達誤差補正関数が確定する。式(42)の係数A1,φ1については、多数の(n個の)目標位置について得られた角度伝達誤差θg11〜θg1nの数(n個)分だけ、式(42)を連立する。式(42)は非線形表現であるため、例えばガウス・ニュートン法により、係数A1,φ1の最小自乗解を求めることができる。同様にして、式(43)の係数A2,φ2の最小自乗解を求めることができる。このようにして角度伝達誤差補正関数を決定する。
【0078】
角度伝達誤差補正関数の決定終了後、計算機9はコントローラ8に非モデル化誤差補正関数fm1,fm2と角度伝達誤差補正関数を通知し、コントローラ8はこれらを内部に記憶する。これによりコントローラ8は、ヒステリシス誤差と幾何学誤差に加えて、非モデル化誤差と角度伝達誤差を補正しながら手先軸4の目標位置から各アーム2,3の目標角度位置を換算することが可能になる。つまり、コントローラ8は、アームを移動させるときに、非モデル化誤差補正関数fm1,fm2を用いて非モデル化誤差θm1,θm2を算出し、角度伝達誤差補正関数を用いて角度伝達誤差θg1,θg2を算出し、目標指令位置に対応するアーム2,3の関節角度の各々から非モデル化誤差θm1,θm2と角度伝達誤差θg1,θg2を減算することにより指令角度位置を補正でき、補正された指令角度位置に従ってアーム2,3を駆動することにより、手先軸4の水平方向位置決め誤差から非モデル化誤差と角度伝達誤差を除去することができる。このようにしてヒステリシス誤差と幾何学誤差の補正に加えて非モデル化誤差と角度伝達誤差の補正が完了する。
【0079】
以上のように、この実施の形態1では、誤差要因の同定に際して極力他の誤差要因の影響が含まれないようにするため、動作の方向や移動量に対して規則性のあるヒステリシス誤差を最初に補正し、次に誤差の絶対値が大きく平面幾何学的関係としてモデル化が容易な幾何学誤差を補正し、最後に絶対値が小さくモデル化が困難な非モデル化誤差および角度伝達誤差を補正する手順を踏んでいる。このような順番で4種類の誤差要因を補正することにより、減速歯車装置のような運動伝達機構を含む構成であっても、同定したい誤差要因に他の誤差要因が含まれる影響を小さくできるため、高い精度で所望の誤差を補正することが可能となり、その結果高い位置決め精度のロボットを実現することができる。
【0080】
この実施の形態1では、非モデル化誤差と運動伝達機構の角度伝達誤差という異なる2つの誤差を同じデータ(残留誤差θe1,θe2)を用いて同定しているが、次の理由により同定結果に与える影響は無視できる。すなわち、非モデル化誤差の方が角度伝達誤差に比べて関節角度に対する誤差変動は緩やかであり、角度伝達誤差を含んだデータから非モデル化誤差を同定しても、角度伝達誤差の周期的誤差が非モデル化誤差では平均化され、同定結果はほとんど影響を受けないからである。
【0081】
また、この実施の形態では、位置測定に光学式平面グリッドエンコーダを使用することにより極めて高い精度の測定データが得られ、前記の誤差同定手順と組合わせることにより、簡便な構成で正確な同定結果を得ることが可能となる。特に微小な誤差要因も正確に測定し同定することが可能となる。また全ての誤差要因を単一の測定手段により実施するので、計測装置を安価に構成でき誤差補正の自動化も容易となる。
【0082】
実施の形態2.
実施の形態1では、残留誤差θe1,θe2から非モデル化誤差補正関数fm1,fm2を求めた後、非モデル化誤差補正関数fm1,fm2を用いて算出された計算上の非モデル化誤差θm1’,θm2’を残留誤差θe1,θe2から差し引くことにより、角度伝達誤差θg1,θg2を算出する(式(40)および式(41))。しかし、この発明の実施の形態2として、次の手順を採用してもよい。
【0083】
図8のフローチャートに従って、この実施の形態2で実行するロボット位置決め誤差補正方法を説明する。ここでも簡略化のため図1に示す水平多関節ロボットの手先軸4の水平方向位置のみについて説明する。まず、実施の形態1と同様に、計算機9はヒステリシス誤差補正関数、幾何学誤差補正関数および非モデル化誤差補正関数を決定する(ステップST1〜ステップST9)。
【0084】
ただし、実施の形態1と異なり、ステップST9の後、補正関数の決定終了後、計算機9はコントローラ8に非モデル化誤差補正関数fm1,fm2を通知し、コントローラ8はこれらを内部に記憶する。これによりコントローラ8は、ヒステリシス誤差と幾何学誤差に加えて、非モデル化誤差を補正しながら手先軸4の目標位置から各アーム2,3の目標角度位置を換算することが可能になる。つまり、コントローラ8は、アームを移動させるときに、非モデル化誤差補正関数fm1,fm2を用いて非モデル化誤差θm1,θm2を算出し、目標指令位置に対応するアーム2,3の関節角度の各々から非モデル化誤差θm1,θm2を減算することにより指令角度位置を補正でき、補正された指令角度位置に従ってアーム2,3を駆動することにより、手先軸4の水平方向位置決め誤差から非モデル化誤差を除去することができる。このようにしてヒステリシス誤差と幾何学誤差の補正に加えて非モデル化誤差の補正が完了する。
【0085】
非モデル化誤差の補正完了後、計算機9は、角度伝達誤差算出のために手先軸4の位置を測定し(ステップST13)、角度伝達誤差(第2の残留誤差)を算出し(ステップST14)、角度伝達誤差を相殺するための角度伝達誤差補正関数(残留誤差補正関数)を決定する(ステップST15)。
【0086】
ステップST13では、ステップST7と同様に、計算機9は、手先軸4のランダムな複数の目標指令位置Pc(Xc,Yc)をコントローラ8に指示し、コントローラ8は、手先軸4をランダムな複数の目標指令位置Pc(Xc,Yc)に移動するように指令する。ただし、コントローラは、目標指令位置Pc(Xc,Yc)を、ヒステリシス誤差補正関数、幾何学誤差補正関数および非モデル化誤差補正関数により補正する。計算機9は、手先軸4の各目標位置Pc(Xc,Yc)に対応する各アーム2,3の各目標角度位置θ1c,θ2cを算出する一方、各目標位置Pcについて移動後の各アーム2,3の各角度位置θ1a,θ2aを測定し、各角度位置θ1a,θ2aを記録する。このようにして、多数の目標位置Pcについて、アーム2,3の各目標角度位置θ1c,θ2cと測定された角度位置θ1a,θ2aを記録する。
【0087】
ステップST14では、計算機9は、各アーム2,3の移動後の測定された各角度位置θ1a,θ2aと各アーム2,3の各目標角度位置θ1c,θ2cとの相違をいまだに残留している第2の残留誤差として算出する。ステップST14で算出された第2の残留誤差は、角度伝達誤差θg1,θg2である。各アーム2,3の関節角度に換算した角度伝達誤差θg1,θg2は式(45)および式(46)のように表すことができる。
θg1=θ1a−θ1c (45)
θg2=θ2a−θ2c (46)
【0088】
ステップST15では、実施の形態1のステップST12と同様に、計算機9は、多数の目標位置について得られた各角度伝達誤差θg1,θg2に基づいて、角度伝達誤差補正関数を決定する。角度伝達誤差補正関数の決定終了後、計算機9はコントローラ8に角度伝達誤差補正関数を通知し、コントローラ8はこれを内部に記憶する。このようにしてヒステリシス誤差と幾何学誤差と非モデル化誤差の補正に加えて、角度伝達誤差の補正が完了する。
【0089】
この実施の形態2の手順によれば、最後に補正する角度伝達誤差を残留誤差から計算上の非モデル化誤差を差引いて得るのではなく、新たな位置測定に基づいて単独で決定するため、角度伝達誤差の補正の精度を高める効果が期待できる。
【0090】
実施の形態3.
また、平面グリッドエンコーダによる位置測定においてグリッドプレート6の領域を超える広い範囲にわたって手先軸4を移動させてその位置を測定し、その結果に基づき誤差補正を行うことも可能である。この場合は、グリッドプレート6を移動させて停止した位置で、手先軸4の位置測定を行えばよい。
【0091】
具体的には、グリッドプレート6のロボットベース1に対する位置、即ち据付誤差Pbはグリッドプレート6の各停止位置で個別に同定し、それ以外の誤差についてのパラメータ、即ちロボット本体の幾何学誤差e、ヒステリシス誤差補正関数の係数、非モデル化誤差補正関数の係数、および角度伝達誤差補正関数の係数としては、グリッドプレート6の複数の停止位置での測定結果から同定された係数の平均値を用いればよい。なお、ヒステリシス誤差補正関数については、関節角に依存せず式(11)および式(12)のように移動角のみの関数として表現できると仮定すれば、グリッドプレート6の一つの停止位置で同定すればよい。
【0092】
実施の形態3に係る方法によれば、平面グリッドエンコーダの有限な位置測定範囲を超える広い動作範囲わたって高精度なロボットの位置決め誤差補正を行うことが可能となる。
【0093】
前述の実施の形態では、4自由度水平多関節ロボットの手先軸4の水平方向位置の誤差補正を行っているが、前述の実施の形態はこの発明の理解を容易にするために例示したに過ぎない。前述の実施の形態を変形および修正した方法により、垂直多関節ロボットまたはその他の多関節ロボット、さらには回転関節型に限らずボールネジ送り機構を用いた直動型のロボットのエンドエフェクタの位置決め誤差を補正することができる。
【0094】
また、前述の実施の形態では、光学式平面グリッドエンコーダを好ましい測定手段の例として使用しているが、他の高精度の測定手段、例えば3次元位置計測装置等を使用してもよい。
【0095】
また、前述の実施の形態では、ヒステリシス誤差補正関数から幾何学誤差補正関数、非モデル化誤差補正関数を経て、角度伝達誤差補正関数に至る順序で補正関数を決定するが、ヒステリシス誤差が無視できるロボットである場合には、幾何学誤差補正関数から非モデル化誤差補正関数を経て、角度伝達誤差補正関数に至る順序で補正関数を決定してもよい。
【0096】
【発明の効果】
以上説明したように、本発明によれば、様々な要因に起因する様々な種類の位置決め誤差を減少させることが可能である。
【図面の簡単な説明】
【図1】 この発明の実施の形態1に係るロボット位置決め誤差補正装置が使用されるロボットの例を示す斜視図である。
【図2】 ロボットのアームを連続的に回転移動させながらその角度位置を測定した結果の集合である移動特性曲線を示すグラフである。
【図3】 図2の移動特性曲線から抽出された角度伝達誤差の変化を示すグラフである。
【図4】 実施の形態1で実行するロボット位置決め誤差補正方法を示すフローチャートである。
【図5】 図1に示す水平多関節ロボットの要素を簡略化して示す平面図であり、(a)は移動開始位置、(b)は目標位置、(c)は実際の移動後の位置、(d)は(b)と同じ目標位置に他の移動開始位置移動させた場合の実際の移動後の位置を示す図である。
【図6】 この発明の実施の形態で行う幾何学誤差補正を説明するために、図1に示す水平多関節ロボットの手先位置を示す図である。
【図7】 この発明の実施の形態で使用する理想幾何学パラメータおよび幾何学誤差パラメータを説明するために、図1に示す水平多関節ロボットの要素を簡略化して示す平面図である。
【図8】 実施の形態2で実行するロボット位置決め誤差補正方法を示すフローチャートである。
【符号の説明】
1 ロボットベース、2 第1のアーム(リンク要素)、2a 回転関節軸、3 第2のアーム(リンク要素)、3a 回転関節軸、3b 回転関節軸、4 手先軸(リンク要素)、5 読取りヘッド、6 グリッドプレート、6a プレートベース、7 作業台、8 コントローラ、9 計算機(ロボット位置決め誤差補正装置)、10 通信回線。
Claims (7)
- 互いに連結された少なくとも二つのリンク要素と、前記リンク要素を駆動する駆動装置と、前記駆動装置から各リンク要素に運動を伝達する運動伝達機構とを備えたロボットの位置決め誤差を補正するためのロボット位置決め誤差補正装置において、
各リンク要素を異なる方向から同じ目標位置に移動させることを繰り返すことにより多数の目標位置について記録された各リンク要素の移動後の測定された各位置および移動前の各位置に基づいて、各リンク要素の移動前の位置に依存する位置決め誤差であるヒステリシス誤差を相殺するためのリンク要素の位置変化に関する関数であるヒステリシス誤差補正関数を決定するヒステリシス誤差補正関数決定部と、
前記ヒステリシス誤差補正関数により補正された状態で少なくとも一つの前記リンク要素を複数の位置に移動させることにより記録された前記リンク要素の移動後の測定された各位置と各目標位置に基づいて、前記ヒステリシス誤差とは異なる誤差を減少させる第2の誤差補正関数を決定する第2の誤差補正関数決定部とを備えたことを特徴とするロボット位置決め誤差補正装置。 - 第2の誤差補正関数決定部は、ヒステリシス誤差補正関数により補正された状態でいずれかのリンク要素の特定箇所を複数の位置に移動させることにより記録された各リンク要素の移動後の測定された各位置と各目標位置に基づいて、リンク要素の形状誤差と位置的誤差およびロボットの据付誤差に起因する幾何学誤差を算出し、前記幾何学誤差に基づいて、前記幾何学誤差を相殺するための関数である幾何学誤差補正関数を決定する幾何学誤差補正関数決定部であることを特徴とする請求項1記載のロボット位置決め誤差補正装置。
- ヒステリシス誤差補正関数および幾何学誤差補正関数により補正された状態で各リンク要素を複数の位置に移動させることにより記録された各リンク要素の移動後の測定された各位置と各目標位置に基づいて、各リンク要素の各位置での第1の残留誤差を算出し、前記第1の残留誤差の集合に基づいて、前記第1の残留誤差を減少させるための各リンク要素の各位置の関数である残留誤差補正関数を決定する残留誤差補正関数決定部を備えたことを特徴とする請求項2記載のロボット位置決め誤差補正装置。
- 残留誤差補正関数を用いて各リンク要素の各位置での計算上の各残留誤差を算出し、各第1の残留誤差と計算上の各残留誤差との相違である第2の残留誤差を算出し、各第2の残留誤差に基づいて、運動伝達機構の精度誤差に起因する角度伝達誤差を相殺するための各リンク要素の各位置の関数である角度伝達誤差補正関数を決定する角度伝達誤差決定部を備えたことを特徴とする請求項3記載のロボット位置決め誤差補正装置。
- ヒステリシス誤差補正関数、幾何学誤差補正関数および残留誤差補正関数により補正された状態で各リンク要素を複数の位置に移動させることにより記録された各リンク要素の移動後の測定された各位置と各目標位置に基づいて、各リンク要素の各位置での第2の残留誤差を算出し、各第2の残留誤差に基づいて、運動伝達機構の精度誤差に起因する角度伝達誤差を相殺するための各リンク要素の各位置の関数である角度伝達誤差補正関数を決定する角度伝達誤差決定部を備えたことを特徴とする請求項3記載のロボット位置決め誤差補正装置。
- 互いに連結された少なくとも二つのリンク要素と、前記リンク要素を駆動する駆動装置と、前記駆動装置から各リンク要素に運動を伝達する運動伝達機構とを備えたロボットの位置決め誤差を補正するためのロボット位置決め誤差補正装置において、
いずれかの前記リンク要素の特定箇所を複数の位置に移動させることにより記録された各リンク要素の移動後の測定された各位置と各目標位置に基づいて、リンク要素の形状誤差と位置的誤差およびロボットの据付誤差に起因する幾何学誤差を算出し、前記幾何学誤差に基づいて、前記幾何学誤差を相殺するための関数である幾何学誤差補正関数を決定する幾何学誤差補正関数決定部と、
前記幾何学誤差補正関数により補正された状態で各リンク要素を複数の位置に移動させることにより記録された各リンク要素の移動後の測定された各位置と各目標位置に基づいて、各リンク要素の各位置での第1の残留誤差を算出し、前記第1の残留誤差の集合に基づいて、前記第1の残留誤差を減少させるための各リンク要素の各位置の関数である残留誤差補正関数を決定する残留誤差補正関数決定部と、
前記残留誤差補正関数を用いて各リンク要素の各位置での計算上の各残留誤差を算出し、各第1の残留誤差と計算上の各残留誤差との相違である第2の残留誤差を算出し、各第2の残留誤差に基づいて、運動伝達機構の精度誤差に起因する角度伝達誤差を相殺するための各リンク要素の各位置の関数である角度伝達誤差補正関数を決定する角度伝達誤差決定部を備えたことを特徴とするロボット位置決め誤差補正装置。 - 互いに連結された少なくとも二つのリンク要素と、前記リンク要素を駆動する駆動装置と、前記駆動装置から各リンク要素に運動を伝達する運動伝達機構とを備えたロボットの位置決め誤差を補正するためのロボット位置決め誤差補正装置において、
いずれかの前記リンク要素の特定箇所を複数の位置に移動させることにより記録された各リンク要素の移動後の測定された各位置と各目標位置に基づいて、リンク要素の形状誤差と位置的誤差およびロボットの据付誤差に起因する幾何学誤差を算出し、前記幾何学誤差に基づいて、前記幾何学誤差を相殺するための関数である幾何学誤差補正関数を決定する幾何学誤差補正関数決定部と、
前記幾何学誤差補正関数により補正された状態で各リンク要素を複数の位置に移動させることにより記録された各リンク要素の移動後の測定された各位置と各目標位置に基づいて、各リンク要素の各位置での第1の残留誤差を算出し、前記第1の残留誤差の集合に基づいて、前記第1の残留誤差を減少させるための各リンク要素の各位置の関数である残留誤差補正関数を決定する残留誤差補正関数決定部と、
前記幾何学誤差補正関数および前記残留誤差補正関数により補正された状態で各リンク要素を複数の位置に移動させることにより記録された各リンク要素の移動後の測定された各位置と各目標位置に基づいて、各リンク要素の各位置での第2の残留誤差を算出し、各第2の残留誤差に基づいて、運動伝達機構の精度誤差に起因する角度伝達誤差を相殺するための各リンク要素の各位置の関数である角度伝達誤差補正関数を決定する角度伝達誤差決定部を備えたことを特徴とするロボット位置決め誤差補正装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003164133A JP3868928B2 (ja) | 2003-06-09 | 2003-06-09 | ロボット位置決め誤差補正装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003164133A JP3868928B2 (ja) | 2003-06-09 | 2003-06-09 | ロボット位置決め誤差補正装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005001013A JP2005001013A (ja) | 2005-01-06 |
JP3868928B2 true JP3868928B2 (ja) | 2007-01-17 |
Family
ID=34091025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003164133A Expired - Fee Related JP3868928B2 (ja) | 2003-06-09 | 2003-06-09 | ロボット位置決め誤差補正装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3868928B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104736307A (zh) * | 2012-10-23 | 2015-06-24 | 康格尼博提克斯股份公司 | 用于确定接头的至少一个特性的方法和系统 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101198179B1 (ko) | 2005-01-17 | 2012-11-16 | 삼성전자주식회사 | 핸들링 로봇의 정적 처짐 보정방법 및 장치 |
GB0516276D0 (en) * | 2005-08-08 | 2005-09-14 | Crampton Stephen | Robust cmm arm with exoskeleton |
JP5245384B2 (ja) * | 2007-12-11 | 2013-07-24 | 株式会社デンソーウェーブ | ロボット制御装置 |
JP5277946B2 (ja) * | 2008-12-24 | 2013-08-28 | 株式会社安川電機 | ロボット制御装置およびロボットシステム |
JP6881886B2 (ja) * | 2015-07-14 | 2021-06-02 | キヤノン株式会社 | 制御方法、ロボット装置、および駆動装置 |
JP6745119B2 (ja) | 2016-03-09 | 2020-08-26 | 川崎重工業株式会社 | 関節型ロボットおよびそのガススプリングのガス減少状態推定方法 |
KR20180126505A (ko) | 2016-04-01 | 2018-11-27 | 엠버 테크놀로지스 인코포레이티드 | 안전한 배달 컨테이너 |
JP6986373B2 (ja) * | 2017-06-21 | 2021-12-22 | 川崎重工業株式会社 | ロボットシステム及びロボットシステムの制御方法 |
CN111515962B (zh) * | 2020-06-04 | 2022-04-12 | 桂林电子科技大学 | 含有谐波减速器柔性关节的传递误差补偿控制方法 |
JP6938730B1 (ja) * | 2020-07-16 | 2021-09-22 | 川田テクノロジーズ株式会社 | 2次元座標読み取り装置および方法 |
-
2003
- 2003-06-09 JP JP2003164133A patent/JP3868928B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104736307A (zh) * | 2012-10-23 | 2015-06-24 | 康格尼博提克斯股份公司 | 用于确定接头的至少一个特性的方法和系统 |
CN104736307B (zh) * | 2012-10-23 | 2017-03-08 | 康格尼博提克斯股份公司 | 用于确定接头的至少一个特性的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2005001013A (ja) | 2005-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3868928B2 (ja) | ロボット位置決め誤差補正装置 | |
RU2672654C2 (ru) | Способ и система для определения по меньшей мере одного свойства манипулятора | |
US4362977A (en) | Method and apparatus for calibrating a robot to compensate for inaccuracy of the robot | |
KR101255479B1 (ko) | 다축 제어 기계의 직선축과 회전축 간의 기하학적 오차 평가 방법 | |
EP2500684B1 (en) | Method of calibrating surface texture measurement device | |
CN108068109A (zh) | 控制保持装置的方法、保持装置和机器人装置 | |
KR102311293B1 (ko) | 캘리브레이션 장치 및 캘리브레이션 방법 | |
WO1999012082A1 (en) | Method for calibration of a robot inspection system | |
JP6844462B2 (ja) | 角度検出器の偏心誤差補正方法、ロボットシステム | |
JP2011224662A (ja) | ロボット制御装置の補正パラメータ同定装置 | |
CN110614635B (zh) | 一种scara机器人运动学参数的辨识方法 | |
EP3611466B1 (en) | Laser speckle rotational and strain encoders used for precise positioning of robots with articulated arms | |
JP2014215079A (ja) | 幾何偏差測定方法、及び、幾何偏差計測装置 | |
EP1886771B1 (en) | Rotation center point calculating method, rotation axis calculating method, program creating method, operation method, and robot apparatus | |
JP7258516B2 (ja) | キャリブレーション方法および把持システム | |
CN116117785A (zh) | 用于标定机器人的运动学参数的方法和装置 | |
JPH11114777A (ja) | 工作機械の制御方法 | |
KR101826577B1 (ko) | 로봇의 손목 축 움직임을 이용한 툴 보정 방법 | |
Sammons et al. | Modeling and compensation of backlash and harmonic drive-induced errors in robotic manipulators | |
US11045950B2 (en) | Driving device and detecting device | |
JP2022084259A (ja) | 情報処理装置、情報処理方法、ロボットシステム、測定システム、ロボットシステムを用いた物品の製造方法、制御プログラム及び記録媒体 | |
KR102500439B1 (ko) | 정밀도가 향상된 갠트리 로봇 | |
WO2022024243A1 (ja) | スカラロボットシステム | |
KR20220170593A (ko) | 플렉스플라인의 변형량 측정 장치 | |
JP2024027266A (ja) | 制御方法およびロボットシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041202 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060905 |
|
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: 20060912 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061011 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3868928 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091020 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121020 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131020 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |