説明

力制御ロボットのキャリブレーション装置と方法

【課題】ロボットの設置精度が低い場合でも、その設置誤差を考慮して、必要なパラメータをキャリブレーションすることができる力制御ロボットのキャリブレーション装置と方法を提供する。
【解決手段】3次元動作するロボットアーム1の手先に力センサ3を介してツール4が取り付けられている。ロボット制御装置14によりロボットアーム1を複数の姿勢に動作させて力センサ3の計測値と、前記計測値を取得するときの力センサの姿勢データとを取得し(S1,S2)、演算装置16によりツール重量、重力方向ベクトル、ツール重心位置ベクトルを含む複数のパラメータを算出する(S3,S4)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、力制御を使用するロボットシステムにおけるロボットの設置位置誤差等に関わらず接触力を計測するキャリブレーション装置と方法に関する。
【背景技術】
【0002】
ロボットのツール位置較正手段に関連して、特許文献1〜4が既に開示されている。
【0003】
特許文献1、2は治具などを用いて較正するものである。また図面情報などをベースに数値入力により設定することも知られている。
さらに特許文献3は視覚センサなどを利用して撮像したデータから特定点の認識を行うことなどで、較正・設定するものである。
また、特許文献4はロボットに複数の姿勢をとらせ、各姿勢おける力センサ出力から力センサを較正するものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開昭61−025206号公報、「ロボットの工具位置設定方式」
【特許文献2】特開昭61−025207号公報、「ツール座標系の設定方式」
【特許文献3】特許第4020994号公報、「ロボットのツール座標系補正設定方法並びに該方法に使用するエンドエフェクタ」
【特許文献4】特公平06−39070号公報、「ロボット装置の力センサ較正方法」
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来は、手先に力センサを設け、作業中のツール反力を計測しながら接触作業するロボットの重力補償において、作業前にツールの重量と重心位置を計測し、作業中の重心位置の移動、変動を計測してツールの重力成分を差し引くことが行われている。
また、重心位置などの計測は、従来は、(a)ツールの3DCADモデルを作成し、手先の重心位置を算出する手段や、特許文献4のように、(b)ロボットに複数の姿勢を取らせ、計測した力センサの値からツールの重量と重心位置を算出する手段が提案されている。
【0006】
しかし、上述した従来の技術では、ロボットの設置姿勢の誤差を考慮されていないため、微小なツール押し付け力での制御が行えないといった問題点があった。
【0007】
すなわち、従来、ロボットを所定の位置・姿勢に設置する際に、正確に設計値どおりに設置することは困難であり、設置誤差が生じることがある。この場合、従来の技術では、この誤差を考慮せず、ロボット座標系における重力方向に誤差を含んだ状態でツール重心等をキャリブレーションするため、正確な重力補償ができない。
なお、力覚センサの計測データは、ツールに加わる重力と、ツールに加わる外力との合力である。この計測データから、ツール重心位置やツールの姿勢等からツールに加わる重力を差し引くことで、ツールに加わる外力を算出することを重力補償と呼ぶ。
このため、例えばバリ取りロボットなどでは、微小なツール押し付け力での制御が行えない問題点があった。
【0008】
本発明はかかる問題点を解決するために創案されたものである。すなわち、本発明の目的は、ロボットの設置精度が低い場合でもロボット座標系における重力方向、ツール重量、ツール重心位置を含むパラメータをキャリブレーションすることができる力制御ロボットのキャリブレーション装置と方法を提供することにある。
【課題を解決するための手段】
【0009】
本発明によれば、3次元動作するロボットアームの手先に力センサを介してツールが取り付けられている力制御ロボットのキャリブレーション装置であって、
前記ロボットアームを複数の姿勢に動作させて前記力センサの計測値と、前記計測値を取得するときの力覚センサの姿勢データを取得するロボット制御装置と、
前記力センサの計測値と、前記計測値を取得するときの力センサのロボットの姿勢データと、を記憶する記憶装置と、
前記力センサ計測値と、前記計測値を取得するときの力覚センサの姿勢データから、重力方向、ツール重量、ツール重心位置を含む複数のパラメータを算出する演算装置とを備える、ことを特徴とする力制御ロボットのキャリブレーション装置が提供される。
【0010】
また本発明によれば、3次元動作するロボットアームの手先に力センサを介してツールが取り付けられている力制御ロボットのキャリブレーション方法であって、
前記ロボットアームを複数の姿勢に動作させて前記力センサの計測値と、力センサのロボットの姿勢データと、を取得し、
前記力センサ計測値と、前記計測値を取得するときの力覚センサの姿勢データとから、重力方向、ツール重量、ツール重心位置を含む複数のパラメータを算出する、ことを特徴とする力制御ロボットのキャリブレーション方法が提供される。
【0011】
本発明の実施形態によれば、重力方向、ツール重量、ツール重心位置以外の前記パラメータは、力センサのバイアス値である。
【発明の効果】
【0012】
上記本発明の装置と方法によれば、ロボット座標系における重力方向ベクトルを含む複数のパラメータと力センサの検出値との関係を示す計算モデルと、ロボットアームを複数の姿勢に動作させて取得した力センサの計測値とから、前記複数のパラメータを算出するので、パラメータであるロボット座標系における重力方向ベクトル、力センサ座標系におけるツール重心位置ベクトル、力センサ座標系におけるツール重量、及び力センサのバイアス値を同時にキャリブレーションすることができる。
【0013】
従って、ロボットの設置精度が低い場合でも、その誤差を考慮して、必要なパラメータをキャリブレーションすることができるので、ツール重心位置ベクトルやツール重量のキャリブレーション精度を向上することができる。
そのため、これらのパラメータを使った重力補償の精度が向上し、高精度での力制御が可能になる。
【0014】
特にバリ取りロボットでは位置・力のハイブリッド制御で一定の加工反力を得られるよう制御しており、力センサの誤差はツールの押し付け力の誤差に直結しているため仕上げに大きな影響を与える。また、精度よく加工反力が得られることで微小な加工押し付け力で制御する必要のある3次元曲面加工が可能になる。

【図面の簡単な説明】
【0015】
【図1】本発明による力制御ロボットのキャリブレーション装置を備えたロボットの全体構成図である。
【図2】本発明による力制御ロボットのキャリブレーション装置の構成図である。
【図3】本発明の力制御ロボットのキャリブレーション方法を示すフローチャートである。
【図4】本発明の力制御ロボットのキャリブレーション方法を示す別のフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明の好ましい実施例を図面を参照して説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明を省略する。
【0017】
図1は、本発明による力制御ロボットのキャリブレーション装置を備えたロボットの全体構成図である。この図において、(A)は全体図、(B)は(A)のB部説明図である。
【0018】
図1(A)において、ロボット1は、その手先に力センサ3を介してツール4(工具)が取り付けられている。
本発明による力制御ロボットのキャリブレーション装置10は、ロボット座標系Σにおけるロボット1の力センサ3のキャリブレーション装置である。
ここでロボット座標系Σとは、ロボット1の土台に固定された座標系であり、X,Y,Zの座標軸を有する。
【0019】
また図1(B)に示すように、力センサ3に固定された座標系を力センサ座標系Σと呼ぶ。力センサ座標系Σも、X,Y,Zの座標軸を有する。
【0020】
ロボット座標系Σ基準での力覚センサ座標系Σの位置・姿勢は、X,Y,Zの座標軸に沿った並進量と、各軸周りの回転角度、ヨー角A(Z軸回り)、ピッチ角B(Y軸回り)、ロール角C(X軸回り)で表現する。ただし、姿勢の表現方法はこの限りではなく、オイラー角を用いた方法などもある。
【0021】
本発明でキャリブレーションするパラメータ5は、ロボット座標系Σ基準での重力方向ベクトルn、力センサ座標系Σにおけるツール重心位置ベクトル、ツール重量f、及び力センサ3のバイアス値biasである。
なお、力センサのバイアス値とは、力センサ3に負荷を加えない状態での力センサ3の計測値を意味する。力センサのバイアス値は、理想的には0だが、実際には誤差が生じる。
【0022】
図2は、本発明による力制御ロボットのキャリブレーション装置の構成図である。
この図に示すように、本発明の力制御ロボットのキャリブレーション装置10は、記憶装置12、ロボット制御装置14、及び演算装置16を備える。
【0023】
記憶装置12は、例えばハードディスク、メモリカード、ROM、RAM等であり、力センサ計測値と、前記計測値を取得するときの力覚センサの姿勢データとを記憶する。
この計算モデル6は、図示しない入力装置、例えばキーボード、メモリリーダから記憶装置12に入力されている。
【0024】
本発明でキャリブレーションするパラメータ5は、ロボット座標系Σ基準での重力方向ベクトルg、力センサ座標系Σにおけるツール重心位置ベクトル、ツール重量f、及び力センサ3のバイアス値biasである。
【0025】
ロボット制御装置14は、例えばコンピュータであり、ロボットアーム1を複数の姿勢に動作させて力センサ3の計測値と、前記計測値を取得するときの力覚センサの姿勢データと、を取得する。取得された計測値と、前記計測値を取得するときの力覚センサの姿勢データとは、記憶装置12に記憶される。
ロボット制御装置14は、ロボットアーム1を制御するロボットコントローラの機能を備えていることが好ましい。
【0026】
演算装置16は、例えばコンピュータのCPUであり、記憶した計算モデル6と記憶した計測値と、前記計測値を取得するときの力覚センサの姿勢データとから、パラメータ5を算出する。
なお、記憶装置12、ロボット制御装置14、演算装置16を1台または複数のコンピュータで構成してもよい。
【0027】
図3は、本発明の力制御ロボットのキャリブレーション方法を示すフローチャートである。この図に示すように、本発明の方法は、ロボット座標系Σにおけるロボット1の力センサ3のキャリブレーション方法であり、S1〜S4の各ステップ(工程)からなる。
【0028】
S1では、ロボット制御装置14によりロボットアーム1を複数の姿勢に動作させ、S2で力センサの計測値と、前記計測値を取得するときの力覚センサの姿勢データと、を取得する。取得した計測値と、前記計測値を取得するときの力覚センサの姿勢データとは、記憶装置12に記憶する。
S3で、演算装置16により、記憶した計測値と、前記計測値を取得するときの力覚センサの姿勢データとから、パラメータ5を算出する。
S4では、S3で算出したパラメータ5を出力する。パラメータ5の出力先は、例えばCRT、記憶装置12、ロボット制御装置14である。
【実施例】
【0029】
以下、本発明の実施例を詳細に説明する。
【0030】
1.本発明では、手先に力覚センサ(以下、「力センサ」という)を搭載した産業用ロボットアームにおいて、手先のツール重心等の計測手段について説明する。また、本発明を適用する装置として、バリ取り・仕上げロボットを想定する。
【0031】
2.記法について
本発明では、左上の添え字はその座標系を表す。例えば、座標系Σにおけるツール目標位置・姿勢をと表す。なお、図中の表記などでは一部省略している場合がある。
【0032】
座標系Σと座標系Σとの位置関係が、座標系ΣのZ軸周りにだけ回転させた座標系がΣPPであり、座標系ΣPPのY軸周りにだけ回転させた座標系がΣPPPであり、座標系ΣPPPのX軸周りにだけ回転させた座標系がΣである場合、座標系Σ上の位置ベクトルrを座標系Σ上の位置ベクトルrに座標変換する回転行列を数1の式(1)(2)と定義する。
ここで、はヨー角、はピッチ角、はロール角である。
【0033】
回転行列には、・・・(2.1)の性質があり、ここでの添字Tは転置を表す。
位置ベクトルr=[x y z]・・・(2.2)について、[r×]は外積行列を表し、数1の式(3)で表される。
【0034】
【数1】

【0035】
3.キャリブレーションするパラメータ
本発明で使用する座標系を図1に示す。キャリブレーションするパラメータ5は、以下の通り。
(1)ロボット座標系Σにおける重力方向ベクトル
(長さ1の単位ベクトルとする)
(2)力センサ座標から先のツール重量f
(3)力センサ座標系Σにおけるツール4の重心位置ベクトル
(4)力センサ3の各軸ごとの零点からのバイアス値bias
【0036】
ロボット座標系Σと力センサ座標系Σとの相対位置は、ロボットコントローラにおけるロボット1の姿勢データを使って算出する。
【0037】
4.キャリブレーション方法
ロボット1の姿勢を複数変えて、力センサ3の計測値と、前記計測値を取得するときの力覚センサの姿勢データとを取得することで、前述のパラメータ5をキャリブレーションする。
【0038】
5.力センサ3の計測値の取得
ロボット1の姿勢をn通りに変えて力センサ3の計測値を取得する。n番目のロボット姿勢[a・・・(3.1)を式(2)に代入して算出される回転行列をnRとし、その時の力センサ3の計測値を=[nx ny nz nx ny nz・・・(3.2)とすると、力センサ3の計測値の計算モデル6は、数2の式(4)となる。
【0039】
ここでの未知数は、力センサ3のバイアス値bias=[bx by bz bx by bz・・・(4.1)、力センサ3から先のツール4の質量m、重力方向ベクトル=[n・・・(4.2)、ツール4の重心位置ベクトル=[ ・・・(4.3)である。
【0040】
【数2】

【0041】
6.重力方向ベクトルの算出
数3の式(5)に示すように、2つの計測値の差を取ることでバイアス値biasを消去する。
【0042】
n個の計測値からのペアを作って同様に、バイアス値biasを消去し、それぞれの1〜3行目を使って、重力方向ベクトルnについての連立方程式を、式(6)とおく。
【0043】
通常、式(6)の連立方程式は解を持たないが、|fA・n−b|・・・(6.1)を最小にする近似解の一般解fは、式(7)(8)と表される。ここで、AはAの擬似逆行列、kは1×3の任意ベクトルである。
【0044】
さらに、この解のうちで解自身のノルム|f|・・・(7.1)を最小にするものは、式(9)と表される。以降は、式(9)で算出したf,nを使用する。
【0045】
東京における重力加速度|g|=9.79763を使用するなどして,ツール質量を算出することもできる。
【0046】
【数3】

【0047】
7.重心位置の算出
式(5)のそれぞれの4〜6行目を使って、重心位置ベクトルrに関する連立方程式を数4の式(10)とおく。重力方向ベクトルnの算出と同様に、rの近似解を式(12)として算出する。
【0048】
【数4】

【0049】
8.力センサのバイアス値の算出
算出したツール重量f、重力方向ベクトルn、重心位置ベクトルrを、式(4)に代入し、力センサ3のバイアス値biasを算出する。
【0050】
9.計測する姿勢の選択
ロボット1の姿勢や計測する回数は、式(6)、式(10)においてrankA=3かつrankA=3(rankは行列の階数)・・・(12.1)となるように選択する。
【0051】
ロボットの姿勢数が2の場合、rankA=3かつrankA=3であることの必要十分条件は、rank()=3かつrank([r×]・())=3・・・(12.2)であり、さらにこの必要十分条件は「計測時のロボット姿勢における力センサ座標系Σ、ΣのX・Y・Z軸が一致しない」かつ「2つの座標系の回転軸がrと平行でない」となる。このときA、Aは6×3の行列となる。ここで、A,Aの階数を減らさないように適当な行のみを選択して、3×3の行列A,Aを再度構成すれば、A,Aには逆行列が存在するため、重力方向ベクトルn、重心位置ベクトルrは解を持ち、逆行列を使った演算によって解を算出できる。
また、計測データの数を多くして最小二乗法の近似解を使用すると、|fA・n−b|や|f・r−b|によって、解の妥当性を定量的に判定できるため、計測の失敗によって計測値中に異常値を含んだ場合に、エラー判定ができる。
【0052】
近似解の算出方法はこの限りではなく、擬似逆行列を逐次最小二乗法を使って算出する方法では、計測データを取得するたびごとにパラメータを算出・更新していき、パラメータの算出結果は次第に収束していく。処理のフローは図4のようになる。
【0053】
上述した本発明の装置と方法によれば、ロボットアーム1を複数の姿勢に動作させて取得した力センサ3の計測値と、前記計測値を取得するときの力覚センサの姿勢データとから、複数のパラメータ5を算出するので、パラメータ5であるロボット座標系Σにおける重力方向ベクトルn、力センサ座標系Σにおけるツール重心位置ベクトル、力センサ座標系Σにおけるツール重量f及び力センサ3のバイアス値biasを同時にキャリブレーションすることができる。
【0054】
従って、ロボット1の設置精度が低い場合でも、その設置誤差を考慮して、重力方向ベクトルn、ツール重心位置、ツール重量を含むパラメータ5を同時にキャリブレーションすることができるので、ツール重心位置ベクトルやツール重量のキャリブレーション精度を向上することができる。
そのため、これらのパラメータを使った重力補償の精度が向上し、高精度での力制御が可能になる。
【0055】
特にバリ取りロボットでは位置・力のハイブリッド制御で一定の加工反力を得られるよう制御しており、力センサ3の誤差はツール4の押し付け力の誤差に直結しているため仕上げに大きな影響を与える。また、精度よく加工反力が得られることで微小な加工押し付け力で制御する必要のある3次元曲面加工が可能になる。
【0056】
なお、本発明は上述した実施の形態に限定されず、本発明の要旨を逸脱しない範囲で種々の変更を加え得ることは勿論である。
【符号の説明】
【0057】
1 ロボット(バリ取りロボット)
3 力センサ(力覚センサ)、4 ツール(工具)、
5 パラメータ、6 計算モデル、
10 力制御ロボットのキャリブレーション装置、
12 記憶装置、
14 ロボット制御装置、
16 演算装置


【特許請求の範囲】
【請求項1】
3次元動作するロボットアームの手先に力センサを介してツールが取り付けられている力制御ロボットのキャリブレーション装置であって、
前記ロボットアームを複数の姿勢に動作させて前記力センサの計測値と、前記計測値を取得するときの力覚センサの姿勢データを取得するロボット制御装置と、
前記力センサの計測値と、前記計測値を取得するときの力センサのロボットの姿勢データと、を記憶する記憶装置と、
前記力センサ計測値と、前記計測値を取得するときの力覚センサの姿勢データから、重力方向、ツール重量、ツール重心位置を含む複数のパラメータを算出する演算装置とを備える、ことを特徴とする力制御ロボットのキャリブレーション装置。
【請求項2】
3次元動作するロボットアームの手先に力センサを介してツールが取り付けられている力制御ロボットのキャリブレーション方法であって、
前記ロボットアームを複数の姿勢に動作させて前記力センサの計測値と、力センサのロボットの姿勢データと、を取得し、
前記力センサ計測値と、前記計測値を取得するときの力覚センサの姿勢データとから、重力方向、ツール重量、ツール重心位置を含む複数のパラメータを算出する、ことを特徴とする力制御ロボットのキャリブレーション方法。
【請求項3】
重力方向、ツール重量、ツール重心位置以外の前記パラメータは、力センサのバイアス値である、ことを特徴とする請求項2に記載のキャリブレーション方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate