(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
従来から、組立て、押付け又は研磨等の作業を行う作業装置では、産業用ロボット(以下、ロボットと称す)等が多く用いられている。このロボットには、アームの先端にハンド等のエンドエフェクタが取付けられており、物体(部品又はワーク)を把持することで作業を行う。
【0003】
一方、ロボットの動作は、一般的に、位置制御によりコントロールされる。そのため、物体の寸法誤差又は把持位置誤差等により、予めプログラムされた目標位置と実際の位置とが異なる場合、物体が他の物体と接触した際に大きな外力が発生し、物体に傷又は破損が発生する恐れがある。
【0004】
その対策として、物体の位置誤差により発生する力を吸収する冶具(いわゆる「バッファ」)を別途設置する場合がある。しかしながら、このバッファは、物体の形状又は材料毎に要求される特性が異なるため、物体の種類の数だけ異なるバッファを用意する必要があり、都度設計となる。そのため、コストが増大し、且つ装置が大型化するという課題がある。
【0005】
それに対し、ロボットとエンドエフェクタとの間に力センサを設置し、物体の接触時に過大な外力が発生しそうになると力センサの検出結果をロボットにフィードバックし、過大な外力が発生しないようにする方法もある。この場合には、バッファが不要となる。しかしながら、力センサは高価である。
【0006】
また、力センサを用いた場合には、以下に述べる理由により、作業時間の短縮が難しいという課題がある。
【0007】
すなわち、物体が他の物体と接触する位置に誤差がある場合、接触時に過大な外力が発生したことを検出して停止指令を出すが、可動部が大きくて重く且つ減速機構を有するロボットは急には止まれない。
また、接触時に発生する外力は、慣性による衝撃力と接触時にロボットが発生している力との和となる。ここで、慣性による衝撃力は、物体及びロボット可動部の質量と移動速度との積に比例する。しかしながら、ロボットは大きくて重い機構を有しているため、慣性による衝撃力を小さくするためには、接触直前の移動速度を遅くする必要がある。
【0008】
また、過大な外力が発生したことを検出して停止指令を出してもロボットは急には止まれないため、停止指令が出た時点から急激に減速しても接触位置からずれた位置で停止し、物体を押し潰してしまう。そして、位置の行き過ぎ量は移動速度に比例するため、物体を他の物体に近づける速度を遅くせざるを得ない。
【0009】
上記の理由により、物体が他の物体と接触する可能性のある領域では、ロボットの移動速度を十分落とす必要がある。しかしながら、サイクルタイムを短くするため、物体を移送する速度は速くする必要がある。その結果、接触領域の近傍で速度を急激に落とすことになる。
【0010】
しかしながら、エンドエフェクタは力センサの先に取付けられている。そのため、ロボットが急激に減速した場合には、エンドエフェクタの質量による影響で、力センサには負方向の加速度に比例した力が発生する。
ところが、上記加速度に比例した力と物体の接触により発生する外力とを区別することは難しく、区別するためにはロボットの減速時間を大幅に長くせざるを得ない。
【0011】
また、力センサを用いた場合には、以下に述べる理由により、重力による影響をリアルタイムに補償し難いという課題がある。
【0012】
すなわち、組立て、押付け又は研磨等の作業を行う場合にロボットが取りうる姿勢は常に一定ではなく、作業の状態に応じて変化させる場合が多い。例えば、曲面をトレースしながら研磨を行う作業では、姿勢を連続して変化させる必要がある。
しかしながら、上記の通り、エンドエフェクタは力センサの先に取付けられているため、ロボットの姿勢が水平ではない場合、力センサには重力加速度による影響でロボットの姿勢とエンドエフェクタの質量に応じた力が発生する。
【0013】
一方、重力加速度の影響を補償する重力補償手段として、例えば特許文献1に開示された方法が挙げられる。この特許文献1では、予めオフラインで姿勢に応じた重力の影響により力覚センサに発生する力を学習しておく。そして、実際の作業時に発生する力から学習した力を差し引くことで、作業力を算出している。しかしながら、この方法では、物体が変わる度に学習を行う必要がある。また、学習は物体との接触前に行う必要があり、ロボットが連続して姿勢を変えるような場合には重力補償はできない。
【0014】
なお上記では、可動部に加わる外力として、物体と他の物体とが接触した際に発生する力を示したが、これに限らず、エンドエフェクタと物体とが接触した際に発生する力についても同様である。
【発明を実施するための形態】
【0021】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
図1はこの発明の実施の形態1に係る接着装置の構成例を示す図である。
接着装置は、物体50aを接着先である物体(他の物体)50bに接着する接着作業を行う装置である。この接着装置は、
図1に示すように、アクチュエータ1、エンドエフェクタ2、移動部3、位置検出部4、加速度検出部5、外力検出制御部6及び作業制御部7を備えている。また、外力検出制御部6は、アクチュエータ制御部61及び外力検出部62から構成される。
【0022】
アクチュエータ1は、固定部11、及び当該固定部11に対して変位可能な可動部12を有し、磁界に置かれたコイルに電流が供給されることで固定部11に対して可動部12を直動方向又は回転方向に変位可能とする。このアクチュエータ1は、移動部3に取付けられており、全体が移送され、また、姿勢が変更される。なお、可動部12又はエンドエフェクタ2が複数方向の自由度を持ち、アクチュエータ1全体の移送及び姿勢の変更が不要である場合、移動部3はなくてもよい。以下では、移動部3を使用する場合を記述する。
【0023】
エンドエフェクタ2は、可動部12に取付けられ、物体50aを保持可能な機構である。
図1では、エンドエフェクタ2として、物体50aを把持可能なグリッパ(ハンド)が用いられている。なお、エンドエフェクタ2としては、グリッパ以外にも、例えば、物体50aを吸着可能な吸着具を用いてもよい。なお、物体50bを移動する移動部があってもよい。
【0024】
移動部3は、アクチュエータ1を移動(移送及び姿勢変更)する。
図1では、移動部3として、先端にアクチュエータ1(固定部11)が取付けられ、アクチュエータ1を移動可能なロボットを示している。
【0025】
位置検出部4は、アクチュエータ1に設けられ、固定部11に対する可動部12の位置(相対位置)を検出する。この位置検出部4により検出された位置を示す信号(位置信号)は、アクチュエータ制御部61に出力される。
【0026】
加速度検出部5は、固定部11に設けられ、固定部11の加速度を検出する。この際、加速度検出部5は、固定部11の重力加速度αg及び移動加速度α1のうちの一方、又は両方が加算された加速度(αg+α1)を検出する。
図2では、加速度検出部5が加速度(αg+α1)を検出する場合を示している。この加速度検出部5により検出された加速度を示す信号(加速度信号)は、アクチュエータ制御部61に出力される。
【0027】
アクチュエータ制御部61は、位置検出部4により検出された位置と基準位置Prとの差分に対してゲイン(ループゲイン)を調整し、当該調整結果である電流指令値Irp及び加速度検出部5により検出された加速度に基づいてアクチュエータ1に対する駆動電流Iaを出力する。
【0028】
外力検出部62は、アクチュエータ制御部61において得られた電流指令値Irp、又は、加速度検出部5により検出された加速度及びアクチュエータ制御部61により出力された駆動電流Iaの電流値に基づいて、可動部12に加わる外力(反力)Fを検出する。
アクチュエータ制御部61及び外力検出部62の構成例については後述する。
【0029】
作業制御部7は、接着装置による接着作業を実現する。この際、作業制御部7は、外力検出部62により検出された外力F、及び位置検出部4により検出された固定部11に対する可動部12の位置から得られた速度に基づいて、アクチュエータ制御部61、エンドエフェクタ2及び移動部3を制御することで、接着作業を実現する。なお、作業制御部7は、基準位置Pr又はゲインの変更を行うことでアクチュエータ制御部61を制御する。また、作業制御部7は、外力F及び速度に加え、位置検出部4により検出された位置、加速度検出部5により検出された加速度、及び作業制御部7で管理している時間等も考慮して、上記接着作業を実現してもよい。この作業制御部7の構成例については後述する。
【0030】
次に、外力検出制御部6の構成例について、
図2を参照しながら説明する。なお
図2では、アクチュエータ1、エンドエフェクタ2、位置検出部4及び加速度検出部5も図示している。また
図2では、エンドエフェクタ2が物体50aを保持している状態を示している。
外力検出制御部6は、
図2に示すように、位置速度変換部63、減算器64、ゲイン調整部65、質量推定部66、加速度補償部67、加減算器68、定電流制御部69、及び外力検出部62を有している。なお
図2に示す外力検出制御部6において、外力検出部62を除く機能部(位置速度変換部63、減算器64、ゲイン調整部65、質量推定部66、加速度補償部67、加減算器68及び定電流制御部69)は、アクチュエータ制御部61を構成する。
【0031】
位置速度変換部63は、位置検出部4により検出された位置を微分して速度に変換する。この速度は、固定部11に対する可動部12の速度(相対速度)を示す。この位置速度変換部63により変換された速度を示す信号(速度信号)は、加減算器68及び作業制御部7に出力される。
【0032】
減算器64は、基準位置Prから位置検出部4により検出された位置を減算する。この減算器64による減算結果を示す信号は、ゲイン調整部65に出力される。
【0033】
ゲイン調整部65は、減算器64による減算結果(位置偏差)に対してゲインを調整し、電流指令値Irpを出力する。ゲインは、アクチュエータ1におけるコンプライアンスの値であり、コンプライアンスは、バネ定数の逆数であり、固さ柔らかさを示す指標である。また、ゲイン調整部65において、上記位置偏差と電流指令値Irpとの関係を示す関数は線形でもよいし非線形でもよい。このゲイン調整部65は、
図2,3に示すように、ループゲイン測定部651、ゲイン交点制御部652及び可変ゲイン調整部653を有している。
【0034】
ループゲイン測定部651は、減算器64から出力された信号のゲインを測定する。この際、ループゲイン測定部651は、
図3に示すように、減算器64から出力された信号に、発振器654によりゲインが1倍(0dB)となるべき基準となる周波数、すなわちゲイン交点に設定された基準となる周波数の正弦波を、加算器655を介して加算する。このループゲイン測定部651による正弦波の加算前後の信号は、ゲイン交点制御部652に出力される。
【0035】
ゲイン交点制御部652は、
図3に示すように、比較器656によりループゲイン測定部651による正弦波の加算前後の信号での振幅比を比較する。このゲイン交点制御部652による比較結果を示す信号は、可変ゲイン調整部653に出力される。
【0036】
可変ゲイン調整部653は、ゲイン交点制御部652により比較された振幅比の倍率が1となるように、当該振幅比の倍率の逆数を調整値とし、減算器64から出力された信号のゲインを調整する。すなわち、可変ゲイン調整部653は、ループゲイン測定部651による正弦波の加算前の信号の振幅レベルEaに対して当該正弦波の加算後の信号の振幅レベルEbが高い場合(Ea<Eb)には調整値を大きくし、当該正弦波の加算前の信号の振幅レベルEaに対して当該正弦波の加算後の信号の振幅レベルEbが低い場合(Ea>Eb)には調整値を小さくすることで、ゲインが1倍となるように調整する。この可変ゲイン調整部653によりゲインが調整された信号は、加減算器68に電流指令値Irpとして出力される。また、可変ゲイン調整部653によるゲインの調整値を示す信号は、質量推定部66に出力される。
【0037】
なお、発振器654でゲインが1倍となるべき基準となる周波数の正弦波を加算するのは、ゲインが1倍となる周波数においてEa/Eb=1となるため、Ea/Eb=1となるようにゲインを調整することで、ゲイン交点を常に1に維持できるためである。
【0038】
また、減算器64及びゲイン調整部65は、位置検出部4により検出された位置と基準位置Prとの差分に基づく電流指令値Irpを出力する位置制御手段(位相制御ループ)を構成する。
【0039】
質量推定部66は、可変ゲイン調整部653によるゲインの調整値から、可動部12側の質量を推定する。すなわち、質量推定部66は、ゲインの調整値の変化と質量の変化とが比例する原理を利用する。ここで、可動部12側の質量とは、エンドエフェクタ2が物体50aを保持していない場合には、可動部12の質量M1とエンドエフェクタ2の質量M2とが加算された質量(M1+M2)であり、エンドエフェクタ2が物体50aを保持している場合には、可動部12の質量M1とエンドエフェクタ2の質量M2と物体50aの質量M3とが加算された質量(M1+M2+M3)である。なお
図2では、質量推定部66が、可動部12の質量M1とエンドエフェクタ2の質量M2と物体50aの質量M3とが加算された質量(M1+M2+M3)を推定する場合を示している。
例えば、可動部12側の質量が規定値の2倍になったとすると、ゲインはその逆数倍の1/2となっており、Ea/Eb=1/2となる。これに対して、ゲインを1倍とするため、可変ゲイン調整部653は2倍の調整値でゲインを調整する。そして、質量推定部66は、この可変ゲイン調整部653の調整値から、可動部12側の質量が規定値の2倍に変化したと推定できる。
この質量推定部66により推定された質量を示す信号は、加速度補償部67に出力される。
【0040】
なお上記では、質量推定部66により可動部12側の質量を推定する場合を示したが、これに限らず、他の方法を用いて可動部12側の質量を取得してもよい。
【0041】
加速度補償部67は、外乱トルクを補正するための加速度補償値Ircを出力する。この加速度補償部67は、乗算器671及び係数乗算部672を有している。
【0042】
乗算器671は、加速度検出部5により検出された加速度と、質量推定部66により推定された質量とを乗算する。この乗算器671による乗算結果を示す信号は、係数乗算部672及び外力検出部62に出力される。
【0043】
係数乗算部672は、乗算器671による乗算結果に係数(1/Kt)を乗算する。なお、Ktは、アクチュエータ1が発生する推力と駆動電流Iaとの比を表したトルク定数である。この係数乗算部672による乗算結果を示す信号は、加減算器68に加速度補償値Ircとして出力される。
【0044】
加減算器68は、ゲイン調整部65から出力された電流指令値Irpに対し、加速度補償部67から出力された加速度補償値Ircを加算し、位置速度変換部63から出力された速度信号を減算する。この加減算器68による加減算結果を示す信号は、定電流制御部69に電流指令値Irとして出力される。
【0045】
定電流制御部69は、アクチュエータ1を駆動する駆動電流Iaを電流指令値Irに一致させるように制御する。この定電流制御部69は、減算器691、駆動ドライバ692及び電流検出部693を有している。
【0046】
減算器691は、加減算器68から出力された電流指令値Irから、電流検出部693により検出された駆動電流Iaの電流値を減算する。この減算器691による減算結果を示す信号は、駆動ドライバ692に出力される。
【0047】
駆動ドライバ692は、減算器691による減算結果に応じた駆動電流Iaを発生する。この駆動ドライバ692により発生された駆動電流Iaは、電流検出部693を介してアクチュエータ1に出力される。
【0048】
電流検出部693は、駆動ドライバ692により発生された駆動電流Iaの電流値を検出する。この電流検出部693により検出された電流値を示す信号は、減算器691に出力される。
【0049】
外力検出部62は、アクチュエータ制御部61において得られた電流指令値Irp、又は、加速度検出部5により検出された加速度及びアクチュエータ制御部61により出力された駆動電流Iaの電流値に基づいて、可動部12に加わる外力Fを検出する。具体的には、外力検出部62は、電流指令値Irp、又は、駆動電流Iaの電流値から加速度補償値Ircを減算した結果に基づいて、可動部12に加わる外力Fを検出する。なお、可動部12に加わる外力Fとしては、エンドエフェクタ2が物体50aと接触した際に発生する力、及び、エンドエフェクタ2により保持された物体50aが物体50bと接触した際に発生する力が挙げられる。また
図2では、外力検出部62が、加速度検出部5により検出された加速度及びアクチュエータ制御部61により出力された駆動電流Iaの電流値に基づいて可動部12に加わる外力Fを検出する場合を示している。
図2に示す外力検出部62は、係数乗算部621、減算器622及び係数乗算部623を有している。
【0050】
係数乗算部621は、加速度補償部67の乗算器671による乗算結果に係数(1/Kt)を乗算する。この係数乗算部621による乗算結果を示す信号は、減算器622に出力される。
【0051】
減算器622は、定電流制御部69により発生された駆動電流Iaの電流値から、係数乗算部621による乗算結果を減算する。この減算器622による減算結果を示す信号は、係数乗算部623に出力される。
【0052】
係数乗算部623は、減算器622による減算結果に係数(Kt)を乗算することで、外力Fを得る。この係数乗算部623により得られた外力Fを示す信号は、作業制御部7に出力される。
【0053】
なお、外力検出部62が、アクチュエータ制御部61において得られた電流指令値Irpに基づいて可動部12に加わる外力Fを検出する場合には、係数乗算部を有する。この係数乗算部は、ゲイン調整部65から出力された電流指令値Irpに係数(Kt)を乗算することで、外力Fを得る。そして、この係数乗算部により得られた外力Fを示す信号は、作業制御部7に出力される。
【0054】
次に、作業制御部7の構成例について、
図4を参照しながら説明する。
作業制御部7は、
図4に示すように、移動制御部71及び押付け制御部72を有している。
【0055】
移動制御部71は、エンドエフェクタ2により保持された物体50aが、物体50bに近づくように、エンドエフェクタ2を物体50bの方向へ速度(第1の速度)V1で移動させる。
【0056】
押付け制御部72は、移動制御部71による処理後、可動部12に加わる外力Fが力(第1の力)F1となるまで、エンドエフェクタ2を、当該エンドエフェクタ2に保持された物体50aが接着される方向へ、速度(第2の速度)V2で移動させる。力F1は、物体50aを物体50bに接着可能な力である。また、速度V2は、速度V1よりも遅い速度である。
【0057】
次に、外力検出制御部6の動作原理について説明する。なお以下では、アクチュエータ1として、発生した推力がエンドエフェクタ2に直接伝わるダイレクトドライブ形式のリニアアクチュエータを用い、固定部11に対して可動部12を直動させるものとする。このアクチュエータ1は、定電流制御部69が電流指令値Irに応じて発生した駆動電流Iaにより駆動する。
【0058】
一方、位置検出部4は、固定部11に対する可動部12の直動方向における位置を検出する。
また、位置速度変換部63は、位置検出部4により検出された位置を微分して速度に変換する。この速度は、固定部11に対する可動部12の速度を示す。
【0059】
また、加速度検出部5は、固定部11の直動方向における加速度を検出する。以下では、加速度検出部5は、固定部11の直動方向成分における移動加速度α1と、固定部11の直動方向成分における重力加速度αgとが加算された加速度(α1+αg)を検出するものとする。
【0060】
また、位置検出部4により検出された位置は、減算器64で基準位置Prと比較され、その差分がゲイン調整部65を介して電流指令値Irを構成する要素の一つである電流指令値Irpとして加減算器68に与えられる。
【0061】
電流指令値Irは、電流指令値Irpの他、外乱トルクを補正するための加速度補償値Ircで構成され、次式(1)で表される。
Ir=Irp+Irc (1)
【0062】
なお、位置を単純にフィードバックすると制御系が不安定となる。そのため、実際には、位置速度変換部63からの速度信号をマイナーループとして加減算器68のマイナス出力に加えて安定化を行っているが、以下では省略する。
【0063】
また、ゲイン調整部65では、位置制御ループのゲインを変えることで、アクチュエータ1におけるコンプライアンスの値を変化させることができる。
【0064】
ここで、駆動電流Iaに着目すると、外乱トルクがない場合には電流値は零になるが、外乱トルクがある場合にはそれに比例して電流値も変化する。
一般的な外乱トルクとしては、作業時にエンドエフェクタ2から受ける反力F、重力加速度αg及び移動加速度α1により発生する力、減速器のロストルク等が考えられる。ここで、アクチュエータ1はダイレクトドライブ形式のリニアアクチュエータであるため、減速器は持たず、ロストルクは考慮する必要は少ない。したがって、駆動電流Iaは、作業時にエンドエフェクタ2から受ける反力F、重力加速度αg及び移動加速度α1により発生する力に比例した値となる。なお以下では、反力Fは、物体50aが物体50bに接触した際に発生する力であるとする。
【0065】
ここで、アクチュエータ1の駆動電流Ia、作業時にエンドエフェクタ2から受ける反力F、固定部11の直動方向成分における移動加速度α1、固定部11の直動方向成分における重力加速度αg、可動部12の質量M1、エンドエフェクタ2の質量M2、及び、物体50aの質量M3から、次式(2)の関係が成り立つ。
F+(α1+αg)・(M1+M2+M3)=Kt・Ir=Kt・(Irp+Irc)
(2)
なお、Ktはアクチュエータ1が発生する推力と駆動電流Iaとの比を表したトルク定数である。
【0066】
また、式(2)において外乱トルクを補正するための加速度補償値Ircを次式(3)のように設定する。
(α1+αg)・(M1+M2+M3)=Kt・Irc (3)
【0067】
式(3)のように加速度補償値Ircを設定した場合、式(2)からα1,αg,M1,M2,M3の項が消え、次式(4)のように整理される。
F=Kt・Irp (4)
【0068】
このように、外乱トルクを補正するための加速度補償値Ircを式(3)のように設定すると、作業時にエンドエフェクタ2から受ける反力Fと電流指令値Irpは、比例関係になることがわかる。
【0069】
これは、作業時にエンドエフェクタ2から受ける反力Fが零、つまり物体50aが物体50bと接触していない場合、基準位置Prと実際の位置の差分に基づく電流指令値Irpも零、つまり位置が変位しないことを意味している。
そして、物体50aが物体50bと接触した際に生じる反力Fは、電流指令値Irpを監視することで知ることができる。
【0070】
そして、式(4)には、固定部11の直動方向成分における移動加速度α1、固定部11の直動方向成分における重力加速度αg、可動部12の質量M1、エンドエフェクタ2の質量M2、物体50aの質量M3の項目が含まれていない。
つまり、ロボットが急激に移動又は停止を行い移動加速度α1が発生した場合、及び、ロボットが連続して姿勢を変更し重力加速度αgが変化した場合でも、アクチュエータ1の可動部12はゆれることなく反力Fを正しく検出できる。
そして、コンプライアンスの値も自由に設定できる。
【0071】
なお、上述したように、物体50aが物体50bと急激に衝突する等して発生する反力Fは、電流指令値Irpを監視することで知ることができる。また、アクチュエータ1には、反力Fと拮抗するように誘導電流が発生するため、駆動電流Iaから反力Fを検出することもできる。
しかしながら、位置制御ループにおいて、反力Fに対する電流指令値Irpの応答は一般的に速くない。一方、反力Fに対する駆動電流Iaの応答は、可動部12が移動することにより発生する誘導電流によるものであるため、比較的速い。そこで、電流指令値Irpを直接監視するのではなく、駆動電流Iaを監視することで反力Fの検出を行う。
【0072】
ここで、式(2)は以下の通りである。
F+(α1+αg)・(M1+M2+M3)=Kt・Ir=Kt・(Irp+Irc)
(2)
【0073】
一方、駆動電流Iaは次式(5)で表せる。
Ia=Ir=Irp+Irc (5)
【0074】
よって、式(2),(5)から下式(6)が得られる。
F+(α1+αg)・(M1+M2+M3)=Kt・Ia (6)
【0075】
そして、式(6)の両辺から、式(3)の左辺である((α1+αg)・(M1+M2+M3))を減算して整理すると、下式(7)が得られる。
F=Kt・(Ia−(α1+αg)・(M1+M2+M3)/Kt) (7)
【0076】
この式(7)に示されるように、駆動電流Iaから加速度補償値(α1+αg)・(M1+M2+M3)/Ktを差し引いてトルク定数Ktをかけることで、反力Fを求めることができる。
【0077】
次に、外力検出制御部6による効果について説明する。
ロボットの動作は、一般的に、位置制御によりコントロールされる。そのため、物体50a,50bの寸法誤差又は把持位置誤差等により、予めプログラムされた目標位置と実際の位置が異なる場合、物体50aが物体50bと接触した際に大きな外力Fが発生し、物体50a又は物体50bに傷又は破損が発生する恐れがある。
【0078】
その対策として、ロボットとエンドエフェクタ2との間に力センサを設置し、物体50aと物体50bとの接触時に過大な外力Fが発生しそうになると力センサの検出結果をロボットにフィードバックし、過大な外力Fが発生しないようにする方法が考えられる。
【0079】
しかしながら、過大な外力Fが発生したことを検出して停止指令を出してもロボットは急には止まれないため、停止指令が出た時点から急激に減速しても接触位置からずれた位置で停止してしまい、物体50a,50bを押し潰してしまう。そして、位置の行き過ぎ量は移動速度に比例するため、物体50aを物体50bに近付ける速度を遅くせざるを得ない。
【0080】
上記の理由により、物体50aが物体50bと接触する可能性のある領域では、ロボットの移動速度を十分落とす必要がある。しかしながら、サイクルタイムを短くするため、物体50aを移動する速度は速くする必要がある。その結果、接触領域の近傍で速度を急激に落とすことになる。
【0081】
一方、実施の形態1では、ロボット(移動部3)の先端にアクチュエータ1を取付け、また、外力検出制御部6は、アクチュエータ1が急激に移動又は停止されて移動加速度α1が発生した場合、及び、アクチュエータ1の姿勢が変更されて重力加速度αgが変化した場合でも、可動部12に加わる反力Fを正しく検出でき、また、コンプライアンス値を任意に変えられる。そのため、ロボットが急に止まれない点は同じだが、位置の行き過ぎにより物体50a,50bを押し潰してしまうことはない。よって、物体50aを物体50bに近づける速度を極端に遅くする必要がなく、また、安全に作業できる。
【0082】
また、ロボットとエンドエフェクタ2との間に力センサを設置した場合、ロボットが急激に減速すると、エンドエフェクタ2の質量M2による影響で、力センサには負方向の加速度に比例した力が発生する。
ところが、上記加速度に比例した力と物体50aの物体50bとの接触により発生する外力Fとを区別することは難しく、区別するためにはロボットの減速時間を大幅に長くせざるを得ない。
【0083】
一方、外力検出制御部6では、アクチュエータ1が急激に加減速された場合でも正しく外力Fを検出でき、接触時にのみ外力Fを検出するため、アクチュエータ1の減速時間を長くする必要はない。
【0084】
また、力センサを用いた場合には、重力による影響をリアルタイムに補償し難いという課題もある。
すなわち、接着作業を行う場合にロボットが取りうる姿勢は常に一定ではなく、作業の状態に応じて変化させる場合が多い。
しかしながら、ロボットとエンドエフェクタ2との間に力センサを設置した場合には、ロボットの姿勢が水平ではないと、力センサには重力加速度αgによる影響でロボットの姿勢とエンドエフェクタ2の質量M2に応じた力が発生する。
【0085】
一方、外力検出制御部6では、アクチュエータ1の姿勢が変更されて重力加速度αgが変化した場合でも外力Fを正しく検出できるため、重力による影響をリアルタイムに補償できる。
【0086】
次に、作業制御部7の動作例について、
図5〜8を参照しながら説明する。以下では、接着装置が、レンズ51をワーク52に接着する接着作業を行う場合を示す。また、レンズ51はエンドエフェクタ2により保持され、ワーク52は作業台等に固定されているものとする。また、ワーク52には、事前に接着剤53が塗布されている。なお、接着剤53はどのような粘度でもよい。
【0087】
そして、作業制御部7は、外力検出部62により検出された外力F及び位置速度変換部63により得られた速度等に基づいて、アクチュエータ制御部61、エンドエフェクタ2及び移動部3を制御することで、接着装置による接着作業を実現する。なお、作業制御部7は、基準位置Pr又はゲインの変更を行うことでアクチュエータ制御部61を制御する。ここで、ゲイン調整部65は位置偏差に基づいて電流指令値Irpを出力しているが、上記ゲインの変更とは、上記位置偏差と電流指令値Irpとの関係を示す関数の変更を意味している。また、上記関数の変更には、関数の傾きの変更も含まれる。
【0088】
また
図7Aにおいて、横軸は時間を示し、縦軸は外力Fを示している。また
図7Bにおいて、横軸は時間を示し、縦軸は可動部12の速度を示している。また、
図7における符号aはレンズ51の押付けによる外力Fの発生を示し、符号bはレンズ51の押付け完了を示している。
【0089】
接着装置によるレンズ51の接着作業では、まず、
図5、
図6A、
図6Bに示すように、移動制御部71は、エンドエフェクタ2により保持されたレンズ51がワーク52に近づくように、エンドエフェクタ2をワーク52の方向へ速度V1で移動させる(ステップST1)。
【0090】
次いで、
図5、
図6C、
図6Dに示すように、押付け制御部72は、外力Fが力F1となるまで、エンドエフェクタ2をワーク52の方向へ速度V2で移動させる(ステップST2)。これにより、適切な力でレンズ51をワーク52に接着するように押付けることができる。
図7Aに示すように、力F1は、レンズ51をワーク52に接着可能な力である。また、
図7Bに示すように、速度V2は、速度V1よりも遅い速度である。
【0091】
ここで、レンズ51がワーク52に塗布された接着剤53に衝突すると、その際に気泡が発生する恐れがある。この気泡の発生率は、レンズ51が接着剤53に衝突する際の速度と共に増加し、レンズ51が接着剤53に衝突する速度が所定の速度よりも遅い場合には気泡はほぼ発生しないことが知られている(例えば非特許文献1参照)。
そこで、実施の形態1に係る接着装置では、レンズ51を接着先であるワーク52の付近まで移動させる際には、速度をV1まで上げて素早く移動させ、レンズ51をワーク52付近からワーク52に接触させる際には、速度をV2まで落として移動させる。このように、速度制御を行うことで、レンズ51とワーク52との間に気泡が生じることを抑制できる。
【非特許文献1】青森県産業技術開発センター「接合レンズ自動接着システムの開発」
【0092】
その後、エンドエフェクタ2はレンズ51の保持を解除し、レンズ51の接着作業を終了する。
【0093】
以上の動作により、レンズ51、ワーク52又はアクチュエータ1を壊さず、且つ作業速度を落とさずに、レンズ51に対する接着作業が実施できる。また、この際、レンズ51とワーク52との間に気泡が入り込むことを抑制できる。また、レンズ51をワーク52に接着する際に押付け力を制御することで、接着剤53の膜圧を管理できる。
【0094】
なお上記では、可動部12を直動方向に変位可能とするアクチュエータ1を用いた場合を示した。しかしながら、これに限らず、加速度検出部5が角加速度を検出可能であれば、可動部12を回転方向に変位可能とするアクチュエータ1を用いることもできる。
【0095】
また上記では、移動部3がロボットである場合を示した。しかしながら、これに限らず、移動部3として、直動機構又は回転機構を用いてもよい。
【0096】
以上のように、この実施の形態1によれば、固定部11及び可動部12を有するアクチュエータ1と、固定部11に対する可動部12の位置を検出する位置検出部4と、固定部11の加速度を検出する加速度検出部5と、位置検出部4により検出された位置と基準位置Prとの差分に対してゲインを調整し、当該調整結果である電流指令値Irp及び加速度検出部5により検出された加速度に基づいてアクチュエータ1に対する駆動電流Iaを出力するアクチュエータ制御部61と、アクチュエータ制御部61において得られた電流指令値Irp、又は、加速度検出部5により検出された加速度及びアクチュエータ制御部61により出力された駆動電流Iaの電流値に基づいて、可動部12に加わる外力Fを検出する外力検出部62と、外力検出部62により検出された外力F、及び位置検出部4により検出された位置から得られた速度に基づいて、アクチュエータ制御部61を制御する作業制御部7とを備えたので、可動部12が急激に加減速された場合又は姿勢が変更された場合でも、可動部12に加わる外力Fを正しく検出でき、当該外力Fに基づいて接着作業を行うことができる。また、接着剤53の粘度に依らず、簡易な構成で、気泡が入らずに接着可能となる。
【0097】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。