JP2009125857A - ロボットのキャリブレーション装置及び方法 - Google Patents

ロボットのキャリブレーション装置及び方法 Download PDF

Info

Publication number
JP2009125857A
JP2009125857A JP2007303142A JP2007303142A JP2009125857A JP 2009125857 A JP2009125857 A JP 2009125857A JP 2007303142 A JP2007303142 A JP 2007303142A JP 2007303142 A JP2007303142 A JP 2007303142A JP 2009125857 A JP2009125857 A JP 2009125857A
Authority
JP
Japan
Prior art keywords
robot
calibration
measurement
parameter
measuring device
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.)
Pending
Application number
JP2007303142A
Other languages
English (en)
Inventor
Hiroyuki Makita
裕行 牧田
Seiseki Maekawa
清石 前川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007303142A priority Critical patent/JP2009125857A/ja
Publication of JP2009125857A publication Critical patent/JP2009125857A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】短時間で精度よくロボットの機構パラメータを算出しロボットの位置決め誤差を低減する。
【解決手段】ロボット1のアーム先端に取り付けたキャリブレーション用治具3の位置を計測し、その計測結果と計測時のロボットへの指令値からロボットの機構パラメータを算出し、ロボットのキャリブレーションを行うものであって、治具3を測定装置4の測定可能範囲に複数の位置姿勢で位置決めし、位置決めした位置と測定値とからロボットの機構パラメータ、治具のツールパラメータ及び測定装置の設置位置姿勢を求める第1のキャリブレーション手段、求めた機構パラメータ、ツールパラメータ及び設置位置姿勢を用いて、測定装置の計測範囲の一点から所定の位置精度の距離以内に複数の姿勢で位置決めし、再度、機構パラメータ、ツールパラメータ及び設置位置姿勢を求める第2のキャリブレーション手段を有するキャリブレーション制御装置6を備える。
【選択図】図1

Description

この発明は、ロボットの位置決め誤差を補正するためのロボットのキャリブレーション装置及び方法に関するものである。
多関節ロボットの機構パラメータとして、関節原点、リンク寸法、ツール寸法などがあるが、これらに誤差があるとロボット手先の絶対位置決め精度が悪化する。ロボットのキャリブレーションは、これらの機構パラメータの誤差を同定、補正することにより、ロボットの絶対位置決め精度を向上させるものである。
従来のロボットのキャリブレーション方法の一つとして、ロボットの手先を同一の位置に複数の姿勢で位置決めしキャリブレーションする方法がある。ロボットの機構パラメータに誤差がなければ、手先を同一の位置に位置決めすれば、そのときのロボット制御装置で管理しているロボットの手先の直交座標系での位置(X,Y,Z)は同一の値となる。しかし、機構パラメータに誤差がある場合は、同一の値とならない。複数の姿勢で同一の位置に位置決めしたときのロボット制御装置で管理している直交座標系位置のずれから機構パラメータを同定する(例えば、特許文献1参照)。
また、上記のキャリブレーション方法において、同一位置に実際に位置決めする代わりに、ロボット制御装置で管理しているロボットの手先の直交座標系位置が同一の位置になるようにロボットを位置決めし、基準となる姿勢の位置と姿勢を変化させたときの位置との位置ずれを3次元位置測定装置で計測し、その差分を用いてキャリブレーションする方法がある(例えば、特許文献2参照)。
特開昭61−133409号公報(第4図) 特開2001−18182号公報(図1)
しかしながら、上記のような特許文献1によるキャリブレーション方法では、作業者がロボットの手先を複数の姿勢で同一位置に位置決めする必要があり、時間と労力を要していた。また、作業者が目視で同一位置に位置決めするため、精度よく同一位置に位置決めするのが困難であった。
また、特許文献2によるキャリブレーション方法では、ロボットの座標系と3次元位置測定装置の座標系の姿勢が一致していることを前提として、ロボット制御装置で管理しているロボットの手先の直交座標系位置データと、3次元位置測定装置で計測した直交座標系位置データの各成分の差分を用いてキャリブレーションを行っている。しかし、ロボット座標系と3次元位置測定装置の座標系の姿勢を精度よく一致させるのは困難であった。また、機構パラメータに誤差を含んだ状態で、ロボット制御装置が管理する同一位置に複数姿勢で位置決めすると、大きく位置がずれる可能性があるが、大きな位置ずれが発生すると、3次元測定装置の測定精度の非線形性やばらつきにより、測定結果に誤差が含まれ、精度よくキャリブレーションができないという問題があった。
この発明は上記のような問題点を解決するためになされたものであり、短時間で精度よくロボットの機構パラメータを算出しロボットの位置決め誤差を低減することができるロボットのキャリブレーション装置及び方法を得ることを目的としている。
この発明に係るロボットのキャリブレーション装置及び方法は、多関節ロボットのアーム先端に取り付けたキャリブレーション用治具の位置を計測し、その計測結果と計測時の前記ロボットへの指令値から前記ロボットの機構パラメータを算出し、前記ロボットのキャリブレーションを行うロボットのキャリブレーション装置及び方法であって、前記キャリブレーション用治具を前記測定装置の測定可能範囲に複数の位置姿勢で位置決めし、位置決めした位置と前記測定装置の測定値とから前記ロボットの機構パラメータ、前記キャリブレーション治具のツールパラメータ及び前記測定装置の設置位置姿勢を求める第1のキャリブレーション手段(ステップ)と、前記第1のキャリブレーションステップで求めた機構パラメータ、ツールパラメータ及び設置位置姿勢を用いて、前記測定装置の計測範囲の一点からキャリブレーション対象のロボットで実現したい位置精度の距離以内に複数の姿勢で位置決めし、再度、機構パラメータ、ツールパラメータ及び設置位置姿勢を求める第2のキャリブレーション手段(ステップ)とを備えるものである。
この発明によれば、第1及び第2のキャリブレーション手段(ステップ)を備えることにより、簡便で、短時間かつ高精度にロボットのキャリブレーションが可能となる、といった従来にない顕著な効果を奏するものである。
実施の形態1.
図1は、この発明の実施の形態1によるロボットのキャリブレーション装置を示す構成図である。多関節ロボット1の各関節には、エンコーダなどの位置検出器11が取り付けられている。ロボット1は、ロボット制御装置2と接続されており、ロボット制御装置2は、位置検出器11の値から、ロボット1の各関節の角度を管理し、ロボット1の手先の位置を直交座標形の所望の位置(x,y,z)に移動させる。
キャリブレーション治具としてのプローブ3は、ロボット1の手先、つまりアーム先端に取り付けられており、プローブ3の先端には球形になっている。測定装置としての3次元形状計測器4は、計測対象物にレーザ光を照射することにより、その3次元形状を測定するものであり、この発明のキャリブレーション装置では、ロボット1の手先に取り付けられたプローブ3先端の球の形状を測定する。3次元形状計測器4により計測した球表面の形状データより球の中心位置、つまりキャリブレーション治具としてのプローブ3の位置を求め、ロボット1のキャリブレーションに用いる。3次元形状計測器4は、センサ制御装置5によって制御され、計測した形状データはキャリブレーション制御装置6に送信される。
キャリブレーション制御装置6では、ロボット制御装置2やセンサ制御装置5と通信しながら、測定装置としての3次元形状計測器4からの計測結果と計測時のロボット1へのロボット制御装置2による指令値からロボット1の機構パラメータを算出し、ロボット1のキャリブレーションを行う。キャリブレーション制御装置6として、例えば、パーソナルコンピュータなどが用いられる。以下にキャリブレーション制御装置6で行われるキャリブレーション手順について説明する。
図2は、キャリブレーション制御装置6で行われるキャリブレーション手順を表したフローチャートである。ステップS21(第1のキャリブレーション手段)では、プローブ3を3次元形状計測器4の計測可能範囲内に複数の異なる位置姿勢で位置決めし、位置決めした位置と3次元形状計測器4の測定値とからロボット1の機構パラメータ、前記キャリブレーション治具3のツールパラメータ及び3次元形状計測器4の設置位置姿勢を求める。
ステップS22(第2のキャリブレーション手段)では、ステップS21で求めた機構パラメータ、ツールパラメータ及び設置位置姿勢を用いて、3次元形状計測器4の計測範囲の一点からキャリブレーション対象のロボット1で実現したい位置精度の距離以内に複数の姿勢で位置決めするものであって、3次元形状計測器4で計測可能な範囲の同一位置に対してプローブ3を複数の位置姿勢で位置決めし、再度、機構パラメータ、ツールパラメータ及び設置位置姿勢を求める。
図3は、図2のステップS21(第1のキャリブレーション手段)の内容を詳細に説明したフローチャートである。ステップS211では、3次元形状計測器4で計測するロボット1の位置姿勢n1点を生成する。計測位置姿勢点数n1の値としては、20〜40点程度が望ましい。生成する計測位置は、例えば、3次元形状計測器4の計測可能範囲内にまんべんなく分布するようにランダムに決定する。また、姿勢についてもランダムに決定する。
ステップS212では、計測点数i1を1にセットする。ステップS213では、ステップS211で生成した第i1番目の計測位置姿勢にロボット1を位置決めする。
ステップS214では、3次元形状計測器4を用いてプローブ3の先端の球の表面形状を計測し、球の中心位置を求める。球の表面形状データから球の中心位置は次のようにして求める。
3次元形状計測器4によって計測された球の表面形状を(xsi、ysi、zsi)(i=1,2,・・・,ns、nsは球の表面データの計測点数)、球の半径をrs、球の中心位置を(xsc、ysc、zsc)とすると、次式が成り立つ。
(xsi−xsc)+(ysi−ysc)
+(zsi−zsc)=rs (1)
球の中心位置(xsc、ysc、zsc)及び球の半径rsが未知であるとすると、式(1)に(xsi、ysi、zsi)(i=1,2,・・・,ns)を代入することにより、ns個の非線形連立方程式がたてられる。中心位置(xsc、ysc、zsc)、半径rsを未知数として、次のようにしてそれらの最小二乗解を求める。
今、XS=(xsc、ysc、zsc、rs)とし、
fsi(XS)=(xsi−xsc)+(ysi−ysc)
+(zsi−zsc)−rs (2)
Msi(XS)=[∂fsi/xsc ∂fsi/∂ysc
∂fsi/∂zsc・∂fsi/∂rs] (3)
とする。ここで、i=1,2,・・・,nsである。
Figure 2009125857
rs0をプローブ3の先端の球の半径の設計値とし、XSの初期値をXS=(0、0、0、rs0)とすると、XSの修正量ΔXSは次式で求められる。
ΔXS=(MS(XS)・MS(XS))−1MS(XS)・dfs (6)
ここで、MはMの転置行列を表す。求めたΔXSよりXSの値を次式により更新する。
XSk+1=XS+ΔXS (7)
ここで、kはXSの更新回数である。ΔXSの各成分が十分小さくなる、例えば、10−6になれば、上記XSk+1の値を球の中心位置、半径とする。ΔXSの各成分が十分小さくなければ、XSk+1をXSとして式(4)〜(6)に代入して再度ΔXSを求め、ΔXSの各成分が十分小さくなるまで繰り返す。
ステップS215では、計測数i1に1を加え、ステップS216では、計測数i1が計測位置姿勢点数n1より大きい場合は、ステップS217に移行し、以下の場合はステップS214に戻り、計測を続ける。
ステップS217では、次のようにしてロボット1の機構パラメータ、ツールデータ、3次元形状計測器4の設置位置を求める。ステップS211からS216で計測したセンサ座標系Osにおける球の中心の計測位置をPSi=[xsci,ysci,zsci](i=1,2,・・・,n1)、ロボット座標系Orにおける球の中心位置をPRSi、各計測時にロボット制御装置2で管理しているロボット1先端の球の位置(以下、指令値と呼ぶ)をPRi=[xri,yri,zri]とする。ロボット座標系Orから見たセンサ座標系Osの位置姿勢をTRSとすると、
PRSi=TRS・PSi (8)
となる。
ロボットの手先位置をP、各関節の関節角をΘ=(θ1,θ2,・・・,θm)(mはロボット1の関節数)、ツールデータを含めたロボットの機構パラメータをQ=(q1、q2,・・・,ql)(lは機構パラメータ数)とすると、ロボット1の手先位置Pは、次式で表される。
P=T(Θ、Q) (9)
これらΘ、Qは、設計値Θ0、Q0に対し偏差ΔΘ、ΔQを持つことによりロボット1の位置決め誤差が生じる。Θ、Θ0、ΔΘ、Q、Q0、ΔQの間には以下の関係がある。
Θ=Θ0+ΔΘ (10)
Q=Q0+ΔQ (11)
式(8)〜(11)より、次式が得られる。
PRSi=T(Θ0+ΔΘ、Q0+ΔQ) (12)
PSi=TRS−1 T(Θ0+ΔΘ、Q0+ΔQ) (13)
ロボット座標系Orからセンサ座標系Osへの変換TRS、関節角及び機構パラメータの偏差ΔΘ、ΔQがキャリブレーションにより求める値である。
ここで、TRS−1=(xsr,ysr,zsr,asr,bsr,csr)とおく。(asr,bsr,csr)は姿勢を表し、それぞれX軸回りの回転、Y軸回りの回転、Z軸回りの回転を表す。また、T’(Θ、Q)=TRS−1 T(Θ、Q)とおく。なお、以下では、座標変換や位置姿勢データを並進成分(x,y,z)と回転成分(a,b,c)を組み合わせて便宜上(x,y,z,a,b,c)という形式で表記するが、演算時には同次変換行列の形式に変換して計算を行う。
ロボット座標系Orにおけるロボットの位置決め誤差dPRiは、
dPRi=PRSi−PRi (14)
となる。
i番目の計測点で計測したときのTRS−1、各関節角、機構パラメータが
Prmi=[xsr ysr zsr asr bsr csr
θ1i ・・・ θmi q1 ・・・ ql ] (15)
であったとする。ここで、θ1i ・・・ θmiは、i番目の計測点に位置決めしたときの関節指令値である。
Prmiの時の行列Mriを、
Figure 2009125857
とおく。ここで、Tx’、Ty’、Tz’はそれぞれT’のx成分、y成分、z成分である。
Prmiの誤差を、
dPrm=[δxsr δysr δzsr δasr δbsr δcsr
δθ1 ・・・ δθm δq1 ・・・ δql ] (17)
とすると、
dPRi=Mri・dPrm (18)
が成り立つ。
すべての計測位置姿勢について式(18)が成り立つので、
Figure 2009125857
とおくと、
dPRa=Mra・dPrm (21)
が成り立つ。これは、dPrmを未知数とする線形連立方程式であるので、
dPrm=(Mra Mra)−1 Mra・dPRa (22)
により、dPrmの最小二乗解が求められる。
Prmiの初期値としてTRSはロボット座標系Orから見たセンサ座標系Osの概略位置姿勢、θ1i ・・・ θmiには計測時の関節角、q1 ・・・ qlには設計値を用い、式(14)〜(22)よりdPrmを求め、次式によりPrmiを更新する。
Prmik+1=Prmi+dPrm (23)
ここで、kはPrmiの更新回数である。dPrmの各成分が十分小さくなったら、更新を終了し、そのときのPrmiの値を同定したパラメータとし、図3のステップS217を終了するとともに、図2のステップS21を終了する。
dPrmが十分小さくない場合は、Prmik+1に含まれるΘi、Qiを用いてPRi=T(Θi、Qi)により更新し、式(14)〜(22)からdPrmを求め、dPrmが十分小さくなるまでPrmiを繰り返し更新する。
図2のステップS21を終了すると、次にステップS22に進み、ステップS21で求めたパラメータを用いて同一位置に複数の姿勢で位置決めを行い、キャリブレーションを実施する。
図4は、図2のステップS22(第2のキャリブレーション手段)の内容を詳細に説明したフローチャートである。ステップS221では、ステップS21で求めたパラメータを用いて、計測時のロボット1の手先位置が同一の位置になるようにロボット1の位置姿勢をn2点生成する。計測位置姿勢点数n2の値としては、20〜40点程度が望ましい。生成する計測位置は同一の位置とし、3次元形状計測器4の計測可能範囲の中心になるように決定する。また、姿勢についてはランダムに決定するが、計測時各関節角が様々な値をとるように決定する。
ステップS222では、計測点数i2を1にセットする。ステップS223では、ステップS221で生成した第i2番目の計測位置姿勢にロボット1を位置決めする。
ステップS224では、3次元形状計測器4を用いてプローブ3の先端の球の表面形状を計測し、球の中心位置を求める。球の表面形状データから球の中心位置の求め方は、ステップS214と同様である。
ステップS225では計測数i2に1を加え、ステップS226では計測数i2が計測位置姿勢点数n2より大きい場合は、ステップS227、以下の場合はステップS224に戻り、計測を続ける。
ステップS227では、次のようにしてロボットの機構パラメータ、ツールデータ、3次元形状計測器の設置位置を求める。ステップS221からS226で計測したセンサ座標系Osにおける球の中心の計測位置をPSi=[xsci、ysci、zsci](i=1,2,・・・,n2)、ロボット座標系Orにおける球の中心位置をPRSi、各計測時のロボットへの指令値をPRi=[xri、yri、zri]とする。ステップS21で求めたロボット座標系Orからセンサ座標系Osの位置姿勢TRSを用いてPRSiは、
PRSi=TRS・PSi (24)
と求められる。
Figure 2009125857
とすると、計測時の指令値PRiを、
PRi’=PRi+PRSM−PRSi (26)
に修正することにより、PRSMに高精度に位置決め可能となる。
このとき、ロボット座標系Orにおけるロボットの位置決め誤差dPRiは、
dPRi=PRSM−PRi’ (27)
となる。
i番目の計測点で計測したときのTRS−1、各関節角、機構パラメータが
Prmi=[xsr ysr zsr
θ1i ・・・ θmi q1 ・・・ ql ] (28)
であったとする。このとき、TRS−1の成分asr、bsr、csrはステップS21で求めた値を用いる。
Prmiの時の行列Mriを、
Figure 2009125857
とおく。
Prmiの誤差を、
dPrm=[δxsr δysr δzsr
δθ1 ・・・ δθm δq1 ・・・ δql] (30)
とすると、
dPRi=Mri dPrm (31)
が成り立つ。
すべての計測姿勢について式(31)が成り立つので、
Figure 2009125857
とおくと、
dPRa=Mra・dPrm (34)
が成り立つ。これはdPrmを未知数とする線形連立方程式であるので、
dPrm=(Mra Mra)−1 Mra・dPRa (35)
により、dPrmの最小二乗解が求められる。
Prmiの初期値としてTRSはロボット座標系Orから見たセンサ座標系Osの概略位置姿勢、θ1i ・・・ θmiには計測時の関節角、q1 ・・・ qlには設計値を用い、式(27)〜(35)よりdPrmを求め、次式によりPrmiを更新する。
Prmik+1=Prmi+dPrm (36)
ここで、kはPrmiの更新回数である。dPrmの各成分が十分小さくなったら、更新を終了し、そのときのPrmiの値を同定したパラメータとして出力し、図4のステップS227を終了するとともに、図2のステップS22を終了する。
dPrmが十分小さくない場合は、Prmik+1に含まれるΘi、Qiを用いてPRi=T(Θi、Qi)により更新し、式(27)〜(35)からdPrmを求め、dPrmが十分小さくなるまでPrmiを繰り返し更新する。
なお、ステップS211で計測位置を3次元形状計測器4の計測可能範囲内にまんべんなく分布するようにランダムに決定するとしたが、一定間隔で生成しても良い。例えば、3次元計測器4の計測可能範囲の中心位置に、X、Y、Z方向それぞれについて5mm間隔の位置を決定する。
また、ステップS22では、同一位置に位置決めを行うとしたが、基準位置から実現したい位置精度の距離以内に位置決めしても良い。
また、ステップS22の結果得られた機構パラメータ、ツールデータ、測定装置位置を用いて、ステップS22を測定結果が所望の範囲に収まるまで繰り返すことにより高精度なキャリブレーションが可能となる。
また、プローブ3の先端に球を取り付け、その3次元形状を計測し、中心位置を求めることにより、ロボットの手先の位置としたが、球以外の形状、例えば直方体、3角錐などの形状など、3次元形状測定器で形状が測定でき、その形状からロボットの手先の位置が求められる形状であれば良い。
また、3次元形状測定器でロボットの手先に取り付けられた対象物の形状からロボットの手先位置を求めたが、ロボットの手先にLEDなどのマーカーを取り付け、それを複数のカメラで撮像し、3次元位置を計測しても同様の効果が得られる。
このように、第1のキャリブレーション手段において複数の位置及び姿勢によりロボットを位置決めした時の誤差に基づきキャリブレーションを行って得たパラメータを使って第2のキャリブレーション手段で1点に複数の姿勢で位置決めし、キャリブレーションを行うことにより、繰り返してキャリブレーションすることが不要となり、簡便、短時間にロボットのキャリブレーションが可能となる。
また、第2のキャリブレーション手段において、計測器の最も精度の良い点でキャリブレーションを行うことにより、測定装置の測定位置に依存する計測精度のばらつきの影響を受けることなく、高精度にロボットのキャリブレーションが可能となる。
実施の形態2.
図5は、この発明の実施の形態2によるロボットのキャリブレーション装置を示す構成図である。図5において、図1と同一部分は同一符号を付してその説明は省略する。図1では、1箇所で3次元計測器4を用いてキャリブレーションを行ったが、図5に示すように複数箇所で計測を行い、キャリブレーションを行っても良い。図5に示す構成においては、3次元計測器4aおよび4bの位置で計測し、キャリブレーションを行う。
キャリブレーション制御装置6で行われるキャリブレーション手順は、図2〜図4に示したフローチャートと同様であり、以下に処理内容の違う部分について説明する。図3において、ステップS211では、3次元形状計測器4で計測するロボット1の位置姿勢n1点を生成するが、図5の2箇所の計測位置の計測点数がほぼ同じで、計測位置姿勢点数n1の値としては、合計で20〜40点程度が望ましい。生成する計測位置は、例えば、3次元形状計測器4a、4bの計測可能範囲内にまんべんなく分布するようにランダムに決定する。また、姿勢についてもランダムに決定する。
ステップS217では、次のようにしてロボットの機構パラメータ、ツールデータ、3次元形状計測器の設置位置を求める。ステップS211からS216で計測したセンサ座標系Osにおける球の中心の計測位置をPSi=[xsci、ysci、zsci](i=1,2,・・・,n1)、ロボット座標系Orにおける球の中心位置をPRSi、各計測時にロボット制御装置2で管理しているロボット先端の球の位置(以下、指令値と呼ぶ)をPRi=[xri、yri、zri]とする。
ロボット座標系Orから2つのセンサ座標系Osの位置姿勢をTRS1、TRS2とすると、
PRSi=TRS1・PSi (37)
PRSi=TRS2・PSi (38)
となる。
TRS1−1=(xsr1、ysr1、zsr1、asr1、bsr1、csr1)、TRS2−1=(xsr2、ysr2、zsr2、asr2、bsr2、csr2)とおく。また、T’(Θ、Q)=TRS−1 T(Θ、Q)とおく。
ロボット座標系Orにおけるロボットの位置決め誤差dPRiは、
dPRi=PRSi−PRi (39)
となる。
i番目の計測点で計測したときのTRS1−1、TRS2−1、各関節角、機構パラメータが
Prmi=[xsr1 ysr1 zsr1 asr1 bsr1 csr1
xsr2 ysr2 zsr2 asr2 bsr2 csr2
θ1i ・・・ θmi q1 ・・・ ql ] (40)
であったとする。ここで、θ1i ・・・ θmiは、i番目の計測点に位置決めしたときの関節指令値である。
Prmiの時の行列Mriを、3次元形状計測器4aで計測した場合、
Figure 2009125857
とし、3次元形状計測器4bで計測した場合、
Figure 2009125857
とする。
Prmiの誤差を、
dPrm=[δxsr1 δysr1 δzsr1 δasr1 δbsr1 δcs r1
δxsr2 δysr2 δzsr2 δasr2 δbsr2 δcs r2
δθ1 ・・・ δθm δq1 ・・・ δql ] (43)
とすると、
dPRi=Mri・dPrm (44)
が成り立つ。
すべての計測位置姿勢について式(44)が成り立つので、
Figure 2009125857
とおくと、
dPRa=Mra・dPrm (47)
が成り立つ。
これは、dPrmを未知数とする線形連立方程式であるので、
dPrm=(Mra Mra)−1 Mra・dPRa (48)
により、dPrmの最小二乗解が求められる。
Prmiの初期値としてTRSはロボット座標系Orから見たセンサ座標系Osの概略位置姿勢、θ1i ・・・ θmiには計測時の関節角、q1 ・・・ qlには設計値を用い、式(39)〜(48)よりdPrmを求め、次式によりPrmiを更新する。
Prmik+1=Prmi+dPrm (49)
ここで、kはPrmiの更新回数である。dPrmの各成分が十分小さくなったら、更新を終了し、そのときのPrmiの値を同定したパラメータとし、図3のステップS217を終了するとともに図2のステップS21を終了する。
dPrmが十分小さくない場合は、Prmik+1に含まれるΘi、Qiを用いてPRi=T(Θi、Qi)により更新し、式(39)〜(48)からdPrmを求め、dPrmが十分小さくなるまでPrmiを繰り返し更新する。
図2のステップS21を終了すると次にステップS22に進み、ステップS21で求めたパラメータを用いて同一位置に複数の姿勢で位置決めを行い、キャリブレーションを実施する。
図4のステップS221では、ステップS21で求めたパラメータを用いて、計測時のロボット1の手先位置が各計測位置で同一の位置になるようにロボット1の位置姿勢を合計n2点生成する。このとき、2箇所の計測位置の計測点数がほぼ同数になるようにする。計測位置姿勢点数n2の値としては、20〜40点程度が望ましい。生成する計測位置は同一の位置とし、3次元形状計測器4a、4bの計測可能範囲の中心になるように決定する。また、姿勢についてはランダムに決定するが、計測時各関節角が様々な値をとるように決定する。
ステップS227では、次のようにしてロボットの機構パラメータ、ツールデータ、3次元形状計測器の設置位置を求める。ステップS221からS226で計測したセンサ座標系Osにおける球の中心の計測位置をPSi=[xsci、ysci、zsci](i=1,2,・・・,n2)、ロボット座標系Orにおける球の中心位置をPRSi、各計測時のロボットへの指令値をPRi=[xri、yri、zri]とする。
ステップS21で求めたロボット座標系Orからセンサ座標系Osの位置姿勢TRS1、TRS2を用いてPRSiは、
PRS1i=TRS1・PSi (50)
PRS2i=TRS2・PSi (51)
と求められる。
計測位置ごとに式(25)によりPRSMをもとめ、計測時の指令値PRiを、
PRi’=PRi+PRSM−PRSi (52)
に修正することにより、PRSMに高精度に位置決め可能となる。
このとき、ロボット座標系Orにおけるロボットの位置決め誤差dPRiは、
dPRi=PRSM−PRi’ (53)
となる。
i番目の計測点で計測したときのTRS1−1、TRS2−1、各関節角、機構パラメータが、
Prmi=[xsr1 ysr1 zsr1 xsr2 ysr2 zsr2
θ1i ・・・ θmi q1 ・・・ ql ] (54)
であったとする。このとき、TRS−1の成分asr、bsr、csrはステップS21で求めた値を用いる。
3次元形状計測器4aで計測したときの行列Mriを、
Figure 2009125857
とし、3次元形状計測器4bで計測したときの行列Mriを、
Figure 2009125857
とおく。
Prmiの誤差を、
dPrm=[δxsr1 δysr1 δzsr1
δxsr2 δysr2 δzsr2
δθ1 ・・・ δθm δq1 ・・・ δql ] (57)
とすると、
dPRi=Mri・dPrm (58)
が成り立つ。すべての計測姿勢について式(31)が成り立つので、
Figure 2009125857
とおくと、
dPRa=Mra・dPrm (61)
が成り立つ。これは、dPrmを未知数とする線形連立方程式であるので、
dPrm=(Mra Mra)−1 Mra・dPRa (62)
により、dPrmの最小二乗解が求められる。
Prmiの初期値としてTRSはロボット座標系Orから見たセンサ座標系Osの概略位置姿勢、θ1i ・・・ θmiには計測時の関節角、q1 ・・・ qlには設計値を用い、式(53)〜(62)よりdPrmを求め、次式によりPrmiを更新する。
Prmik+1=Prmi+dPrm (63)
ここで、kはPrmiの更新回数である。dPrmの各成分が十分小さくなったら、更新を終了し、そのときのPrmiの値を同定したパラメータとして出力し、図4のステップS227を終了するとともに図2のステップS22を終了する。
dPrmが十分小さくない場合は、Prmik+1に含まれるΘi、Qiを用いてPRi=T(Θi、Qi)により更新し、式(53)〜(62)からdPrmを求め、dPrmが十分小さくなるまでPrmiを繰り返し更新する。
なお、ステップS211で計測位置を3次元形状計測器4の計測可能範囲内にまんべんなく分布するようにランダムに決定するとしたが、一定間隔で生成しても良い。例えば、3次元計測器4の計測可能範囲の中心位置に、X、Y、Z方向それぞれについて5mm間隔の位置を決定する。
図2において3次元形状計測器を2台設置した場合を記載したが、1台を移動して計測しても良い。また、2箇所で計測をした場合について記載したが、3箇所以上でも良い。
また、プローブ3の先端に球を取り付け、その3次元形状を計測し、中心位置を求めることにより、ロボットの手先の位置としたが、球以外の形状、例えば直方体、3角錐などの形状など、3次元形状測定器4で形状が測定でき、その形状からロボット1の手先の位置が求められる形状であれば良い。
また、3次元形状測定器4でロボット1の手先に取り付けられた対象物の形状からロボットの手先位置を求めたが、ロボット1の手先にLEDなどのマーカーを取り付け、それを複数のカメラで撮像し、3次元位置を計測しても同様の効果が得られる。
このように、複数の位置でキャリブレーションを行うことにより高精度なキャリブレーションが可能となる。
実施の形態3.
図6は、この発明の実施の形態3によるロボットのキャリブレーション装置を示す構成図である。図6において、図1及び図5と同一部分は同一符号を付してその説明は省略する。図16において、3次元形状測定器4は、搬送装置7上に設置され、搬送装置7によって移動し、複数位置でキャリブレーションを行う。
キャリブレーション制御装置6で行われるキャリブレーション手順は、図2〜4に示したフローチャートと同様であり、以下に実施の形態1及び2と処理内容の異なる部分について説明する。
3次元形状計測器4が搬送装置7によって位置決めされるため、複数の計測位置の相対位置が既知となる。今、2箇所で計測する場合を考え、ロボット座標系Orから2箇所のセンサ座標系Osの位置姿勢をTRS1、TRS2とし、TRS1を基準としたTRS2の相対位置がΔTRSであるとすると、
TRS2=TRS1・ΔTRS (64)
となる。
これを式(37)、(38)に代入すると、
PRSi=TRS1・PSi (65)
PRSi=TRS1・ΔTRS・PSi (66)
となる。ここで、ΔTRSは既知であるので、ΔTRS PSiをPSi’とすれば、実施の形態1の式(8)以降と同様に処理可能となる。
実施の形態4.
また、図6に示す実施の形態3の構成において、搬送装置7の移動量しか既知でなく、ΔTRSのすべての成分が既知とならない場合は、以下のようにしてキャリブレーションを行う。
搬送装置座標系OcをX軸が搬送装置の移動方向に一致し、原点が第1の計測位置のセンサ座標系Osと一致するようにとり、ロボット座標系Orから搬送装置座標系Ocへの変換をTRC、搬送装置座標系から第1の計測位置のセンサ座標系Osへの変換をTCS1=(0、0、0、acs、bcs、ccs)とすると、ロボット座標系Orから見た第1の計測位置のセンサ座標系Osの位置姿勢TRS1は、
TRS1=TRC・TCS1 (67)
となる。
第2の計測位置が、搬送装置座標系において原点から既知の距離Lにあるとすると、ΔTCS2=(L,0,0、0、0、0)を用いて、ロボット座標系Orから見た第2の計測位置のセンサ座標系Osの位置姿勢TRS2は、
TRS2=TRC・ΔTCS2 TCS1 (68)
となる。
座標変換TRC、TCS1の回転行列をRRC、RCS1とすると、ロボット座標系Orから見たセンサ座標系Osの回転行列RRSは、
RRS=RRC・RCS1 (69)
となる。
回転行列RRSの各座標軸成分表記を(ars brs crs)とすると、第1のキャリブレーション手段における未知のパラメータPrmiは、
Prmi=[xrc yrc zrc ars brs crs
θ1i ・・・ θmi q1 ・・・ ql ] (70)
となる。
Prmiに対応して式(16)〜(23)と同様に行列Mri、dPrmを作成し、上記パラメータPrmiを求めることが可能である。
また、ステップS22では、未知のパラメータPrmiを
Prmi=[xrc yrc zrc
θ1i ・・・ θmi q1 ・・・ ql ] (71)
とし、式(29)〜(36)と同様に処理することにより、未知の機構パラメータを算出する。
このように、複数計測位置の相対位置が既知であることにより、より高精度なキャリブレーションが可能となる。
この発明の実施の形態1によるキャリブレーション装置を示す構成図である。 図1のキャリブレーション制御装置6で行われるキャリブレーション手順を表したフローチャートである。 図2のステップS21(第1のキャリブレーション手段)の内容を詳細に説明したフローチャートである。 図2のステップS22(第2のキャリブレーション手段)の内容を詳細に説明したフローチャートである。 この発明の実施の形態2によるキャリブレーション装置を示す構成図である。 この発明の実施の形態3及び4によるキャリブレーション装置を示す構成図である。
符号の説明
1 ロボット(多関節ロボット)、2 ロボット制御装置、4,4a,4b 測定装置、6 キャリブレーション制御装置、7 搬送装置。

Claims (7)

  1. 多関節ロボットのアーム先端に取り付けたキャリブレーション用治具と、
    前記キャリブレーション用治具の位置を計測する測定装置と、
    前記測定装置の計測結果と計測時の前記ロボットへの指令値から前記ロボットの機構パラメータを算出し、前記ロボットのキャリブレーションを行うキャリブレーション制御装置と
    を備え、
    前記キャリブレーション制御装置は、
    前記キャリブレーション用治具を前記測定装置の測定可能範囲に複数の位置姿勢で位置決めし、位置決めした位置と前記測定装置の測定値とから前記ロボットの機構パラメータ、前記キャリブレーション治具のツールパラメータ及び前記測定装置の設置位置姿勢を求める第1のキャリブレーション手段と、
    前記第1のキャリブレーション手段で求めた機構パラメータ、ツールパラメータ及び設置位置姿勢を用いて、前記測定装置の計測範囲の一点からキャリブレーション対象の前記ロボットで実現したい位置精度の距離以内に複数の姿勢で位置決めし、再度、機構パラメータ、ツールパラメータ及び設置位置姿勢を求める第2のキャリブレーション手段と
    を有することを特徴とするロボットのキャリブレーション装置。
  2. 請求項1に記載のキャリブレーション装置において、
    前記第2のキャリブレーション手段は、得られた機構パラメータ、ツールパラメータ及び設置位置姿勢を用いて、測定結果が所望の範囲に収まるまで繰り返す
    ことを特徴とするロボットのキャリブレーション装置。
  3. 請求項1または2に記載のキャリブレーション装置において、
    前記第2のキャリブレーション手段は、前記測定装置の計測範囲の同一位置に複数の姿勢で位置決めする
    ことを特徴とするロボットのキャリブレーション装置。
  4. 請求項1から3までのいずれか1項に記載のキャリブレーション装置において、
    複数の計測位置でキャリブレーションを行う
    ことを特徴とするロボットのキャリブレーション装置。
  5. 請求項4に記載のキャリブレーション装置において、
    前記複数の計測位置の相対位置が既知である
    ことを特徴とするロボットのキャリブレーション装置。
  6. 請求項5に記載のキャリブレーション装置において、
    前記測定装置を移動させる搬送装置をさらに備え、
    前記測定装置は、前記搬送装置によって位置決めされる
    ことを特徴とするロボットのキャリブレーション装置。
  7. 多関節ロボットのアーム先端に取り付けたキャリブレーション用治具の位置を計測し、その計測結果と計測時の前記ロボットへの指令値から前記ロボットの機構パラメータを算出し、前記ロボットのキャリブレーションを行うロボットのキャリブレーション方法であって、
    前記キャリブレーション用治具を前記測定装置の測定可能範囲に複数の位置姿勢で位置決めし、位置決めした位置と前記測定装置の測定値とから前記ロボットの機構パラメータ、前記キャリブレーション治具のツールパラメータ及び前記測定装置の設置位置姿勢を求める第1のキャリブレーションステップと、
    前記第1のキャリブレーションステップで求めた機構パラメータ、ツールパラメータ及び設置位置姿勢を用いて、前記測定装置の計測範囲の一点からキャリブレーション対象のロボットで実現したい位置精度の距離以内に複数の姿勢で位置決めし、再度、機構パラメータ、ツールパラメータ及び設置位置姿勢を求める第2のキャリブレーションステップと
    を有することを特徴とするロボットのキャリブレーション方法。
JP2007303142A 2007-11-22 2007-11-22 ロボットのキャリブレーション装置及び方法 Pending JP2009125857A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007303142A JP2009125857A (ja) 2007-11-22 2007-11-22 ロボットのキャリブレーション装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007303142A JP2009125857A (ja) 2007-11-22 2007-11-22 ロボットのキャリブレーション装置及び方法

Publications (1)

Publication Number Publication Date
JP2009125857A true JP2009125857A (ja) 2009-06-11

Family

ID=40817285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007303142A Pending JP2009125857A (ja) 2007-11-22 2007-11-22 ロボットのキャリブレーション装置及び方法

Country Status (1)

Country Link
JP (1) JP2009125857A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009172718A (ja) * 2008-01-24 2009-08-06 Canon Inc 作業装置及びその校正方法
JP2011011321A (ja) * 2009-07-06 2011-01-20 Fuji Electric Holdings Co Ltd ロボットシステム及びロボットシステムのキャリブレーション方法
JP2011152599A (ja) * 2010-01-26 2011-08-11 Ihi Corp ロボットのキャリブレーション方法および装置
CN102218738A (zh) * 2010-04-15 2011-10-19 株式会社神户制钢所 机器人的工具向量的导出方法及校正方法
CN102233579A (zh) * 2010-04-28 2011-11-09 株式会社安川电机 机器人作业成败判定系统以及方法
JP2011230257A (ja) * 2010-04-28 2011-11-17 Yaskawa Electric Corp ロボットキャリブレーション装置及びキャリブレーション方法
JP2012000690A (ja) * 2010-06-14 2012-01-05 Kobe Steel Ltd ツールパラメータ導出装置,ロボット
JP2013000870A (ja) * 2011-06-21 2013-01-07 Kobe Steel Ltd ロボットのツールパラメータの補正方法
JP2019025581A (ja) * 2017-07-28 2019-02-21 ダイハツ工業株式会社 ロボットの校正システム
DE102018007287A1 (de) 2017-09-22 2019-03-28 Fanuc Corporation Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
WO2023013698A1 (ja) * 2021-08-03 2023-02-09 京セラ株式会社 ロボット制御装置、ロボット制御システム、及びロボット制御方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006110705A (ja) * 2004-09-15 2006-04-27 Yaskawa Electric Corp ロボットのキャリブレーション方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006110705A (ja) * 2004-09-15 2006-04-27 Yaskawa Electric Corp ロボットのキャリブレーション方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009172718A (ja) * 2008-01-24 2009-08-06 Canon Inc 作業装置及びその校正方法
JP2011011321A (ja) * 2009-07-06 2011-01-20 Fuji Electric Holdings Co Ltd ロボットシステム及びロボットシステムのキャリブレーション方法
JP2011152599A (ja) * 2010-01-26 2011-08-11 Ihi Corp ロボットのキャリブレーション方法および装置
JP2011224672A (ja) * 2010-04-15 2011-11-10 Kobe Steel Ltd ロボットのツールベクトルの導出方法及び較正方法
CN102218738A (zh) * 2010-04-15 2011-10-19 株式会社神户制钢所 机器人的工具向量的导出方法及校正方法
JP2011230257A (ja) * 2010-04-28 2011-11-17 Yaskawa Electric Corp ロボットキャリブレーション装置及びキャリブレーション方法
CN102233579A (zh) * 2010-04-28 2011-11-09 株式会社安川电机 机器人作业成败判定系统以及方法
JP2012000690A (ja) * 2010-06-14 2012-01-05 Kobe Steel Ltd ツールパラメータ導出装置,ロボット
JP2013000870A (ja) * 2011-06-21 2013-01-07 Kobe Steel Ltd ロボットのツールパラメータの補正方法
CN103608151A (zh) * 2011-06-21 2014-02-26 株式会社神户制钢所 机器人的刀具参数的修正方法
JP2019025581A (ja) * 2017-07-28 2019-02-21 ダイハツ工業株式会社 ロボットの校正システム
DE102018007287A1 (de) 2017-09-22 2019-03-28 Fanuc Corporation Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
US10569418B2 (en) 2017-09-22 2020-02-25 Fanuc Corporation Robot controller for executing calibration, measurement system and calibration method
DE102018007287B4 (de) * 2017-09-22 2020-10-01 Fanuc Corporation Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
WO2023013698A1 (ja) * 2021-08-03 2023-02-09 京セラ株式会社 ロボット制御装置、ロボット制御システム、及びロボット制御方法

Similar Documents

Publication Publication Date Title
JP2009125857A (ja) ロボットのキャリブレーション装置及び方法
CN109794938B (zh) 一种适用于曲面结构的机器人制孔误差补偿装置及其方法
EP3683576B1 (en) Non-destructive inspection apparatus and method
EP1893942B1 (en) Apparatus and method for relocating an articulating-arm coordinate measuring machine
US9517560B2 (en) Robot system and calibration method of the robot system
US7640674B2 (en) Systems and methods for calibrating a portable coordinate measurement machine
US6317699B1 (en) Device and method for calibrating a robot
JP5321532B2 (ja) ロボットキャリブレーション装置及びキャリブレーション方法
US20180023946A1 (en) Laser gauge for robotic calibration and monitoring
CN109176517B (zh) 基于末端名义点约束的串联工业机器人连杆参数标定方法
US20080252248A1 (en) Device and Method for Calibrating the Center Point of a Tool Mounted on a Robot by Means of a Camera
CN111504183B (zh) 线激光三维测量传感器与机器人相对位置的标定方法
US20030200042A1 (en) In-process relative robot workcell calibration
JP2002509034A (ja) ロボット型ゲージングシステムの較正および補償
CN106737859B (zh) 基于不变平面的传感器与机器人的外部参数标定方法
JP4302830B2 (ja) ロボットのキャリブレーション方法及び装置
CN109648603A (zh) 测量系统
KR20080088165A (ko) 로봇 캘리브레이션 방법
CN109551518A (zh) 计测系统
CN107053216A (zh) 机器人和末端执行器的自动标定方法及系统
CN111136661A (zh) 机器人位置标定方法、装置、系统及机器人系统
US20230194247A1 (en) Shape measuring apparatus and shape measuring method
JP7080068B2 (ja) ロボットの位置情報復元方法
CN113182932B (zh) 基于工件外形扫描数据调整工件角度的复合机床
JP7097722B2 (ja) ロボットの位置情報復元方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20100804

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Effective date: 20110913

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120207