(57)【要約】【課題】可動部が急激に加減速された場合又は姿勢が変更された場合でも、可動部に加わる外力を正しく検出する。【解決手段】加速度検出器４は固定部１０１の加速度を検出し、位置検出器２は固定部１０１に対する可動部１０２の位置を検出し、位置制御手段（減算器５及びゲイン調整部６）は、位置検出器２により検出された位置と基準位置Ｐｒとの差分に基づく電流指令値Ｉｒｐを出力し、加速度補償部８は、加速度検出器４により検出された加速度と、可動部１０２、エンドエフェクタ１２及びワーク５０の合計質量との乗算結果に基づく加速度補償値Ｉｒｃを出力し、加減算器９は電流指令値Ｉｒｐに加速度補償値Ｉｒｃを加算し、定電流制御部１０は駆動電流Ｉａの電流値を電流指令値Ｉｒに一致させ、外力検出部１１は、駆動電流Ｉａの電流値から加速度補償値Ｉｒｃを減算した結果に基づいて外力Ｆを検出するように構成した。【選択図】図１
2018072135.tif 000002
【特許請求の範囲】
【請求項１】
加速度検出手段は、固定部に対して可動部を変位可能なアクチュエータにおける当該固定部の加速度を検出し、
位置検出手段は、前記固定部に対する前記可動部の位置を検出し、
位置制御手段は、前記位置検出手段により検出された位置と基準位置との差分に基づく電流指令値を出力し、
加速度補償手段は、前記加速度検出手段により検出された加速度と、前記可動部側の質量との乗算結果に基づく加速度補償値を出力し、
加算手段は、前記位置制御手段から出力された電流指令値に、前記加速度補償手段から出力された加速度補償値を加算し、
定電流制御手段は、前記アクチュエータを駆動する駆動電流の電流値を、前記加算手段により加速度補償値が加算された電流指令値に一致させ、
外力検出手段は、前記駆動電流の電流値から前記加速度補償値を減算した結果に基づいて、前記可動部に加わる外力を検出する
ことを特徴とする外力検出方法。
【請求項２】
前記加速度検出手段は、前記固定部の重力加速度及び移動加速度のうちの一方、又は両方が加算された加速度を検出する
ことを特徴とする請求項１記載の外力検出方法。
【請求項３】
前記アクチュエータは、ダイレクトドライブ型のリニアアクチュエータである
ことを特徴とする請求項１又は請求項２記載の外力検出方法。
【請求項４】
質量推定手段は、前記可動部側の質量を推定し、
前記加速度補償手段は、前記加速度検出手段により検出された加速度と、前記質量推定手段により推定された質量との乗算結果に基づく加速度補償値を出力する
ことを特徴とする請求項１から請求項３のうちのいずれか１項記載の外力検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、アクチュエータ可動部に加わる外力を検出する外力検出方法に関する。
【背景技術】
【０００２】
従来から、組み立て、押し付けや研磨等の作業を行う作業装置では、産業用ロボット（以下、ロボットと称す）等が多く用いられている。このロボットには、アームの先端にハンド等のエンドエフェクタが取付けられており、作業対象物（部品又はワーク）を把持することで作業を行う。
【０００３】
一方、ロボットの動作は、一般的に、位置制御によりコントロールされる。そのため、作業対象物の寸法誤差や把持位置誤差等により、予めプログラムされた作業対象物の目標位置と実際の位置とが異なる場合、作業対象物が他の物体と接触した際に大きな力（外力）が発生し、作業対象物に傷や破損が発生する恐れがある。
【０００４】
その対策として、作業対象物の位置誤差により発生する力を吸収する冶具（いわゆる「バッファ」）を別途設置する場合がある。しかしながら、このバッファは、作業対象物の形状や材料毎に要求される特性が異なるため、作業対象物の種類の数だけ異なるバッファを用意する必要があり、都度設計となる。そのため、コストが増大し、且つ装置が大型化するという課題がある。
【０００５】
それに対し、ロボットとエンドエフェクタとの間に力覚センサを設置し、作業対象物の接触時に過大な力が発生しそうになると力覚センサの検出結果をロボットにフィードバックし、過大な力が発生しないようにする方法もある。この場合には、バッファが不要となる。しかしながら、力覚センサは高価である。
【０００６】
また、力覚センサを用いた場合には、以下に述べる理由により、作業時間の短縮が難しいという課題がある。
【０００７】
すなわち、作業対象物が他の物体と接触する位置に誤差がある場合、接触時に過大な力が発生したことを検出して停止指令を出すが、可動部が大きくて重く且つ減速機構を有するロボットは急には止まれない。
また、接触時に発生する力は、慣性による衝撃力と接触時にロボットが発生している力との和となる。ここで、慣性による衝撃力は、作業対象物及びロボット可動部の質量と移動速度との積に比例する。しかしながら、ロボットは大きくて重い機構を有しているため、慣性による衝撃力を小さくするためには、接触直前の移動速度を遅くする必要がある。
【０００８】
また、過大な力が発生したことを検出して停止指令を出してもロボットは急には止まれないため、停止指令が出た時点から急激に減速しても接触位置からずれた位置で停止し、作業対象物を押し潰してしまう。そして、位置の行き過ぎ量は移動速度に比例するため、作業対象物を他の物体に近づける速度を遅くせざるを得ない。
【０００９】
上記の理由により、作業対象物が他の物体と接触する可能性のある領域では、ロボットの移動速度を十分落とす必要がある。しかしながら、サイクルタイムを短くするため、作業対象物を移送する速度は速くする必要がある。その結果、接触領域の近傍で速度を急激に落とすことになる。
【００１０】
しかしながら、エンドエフェクタは力覚センサの先に取付けられている。そのため、ロボットが急激に減速した場合には、エンドエフェクタの質量による影響で、力覚センサには負方向の加速度に比例した力が発生する。
ところが、上記加速度に比例した力と作業対象物の接触により発生する力とを区別することは難しく、区別するためにはロボットの減速時間を大幅に長くせざるを得ない。
【００１１】
また、力覚センサを用いた場合には、以下に述べる理由により、重力による影響をリアルタイムに補償し難いという課題がある。
【００１２】
すなわち、組み立て、押し付けや研磨等の作業を行う場合にロボットが取りうる姿勢は常に一定ではなく、作業の状態に応じて変化させる場合が多い。例えば、曲面をトレースしながら研磨を行う作業では、姿勢を連続して変化させる必要がある。
しかしながら、上記の通り、エンドエフェクタは力覚センサの先に取付けられているため、ロボットの姿勢が水平ではない場合、力覚センサには重力加速度による影響でロボットの姿勢とエンドエフェクタの質量に応じた力が発生する。
【００１３】
一方、重力加速度の影響を補償する重力補償手段として、例えば特許文献１に開示された方法が挙げられる。この特許文献１では、予めオフラインで姿勢に応じた重力の影響により力覚センサに発生する力を学習しておく。そして、実際の作業時に発生する力から学習した力を差し引くことで、作業力を算出している。しかしながら、この方法では、作業対象物が変わる度に学習を行う必要がある。また、学習は物体との接触前に行う必要があり、ロボットが連続して姿勢を変えるような場合には重力補償はできない。
【００１４】
なお上記では、可動部に加わる外力として、作業対象物と他の物体とが接触した際に発生する力を示したが、これに限らず、エンドエフェクタと作業対象物とが接触した際に発生する力についても同様である。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０１２−１１５９１２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
上記の通り、ロボットと力覚センサを用いて組み立て等の作業を行う場合、作業時間が長くなる。一方、作業時間を短くしようとすると作業対象物を傷付け、押し潰し、接触を正しく検出できなくなる。また、重力補償をリアルタイムで行うことも難しい。このように、力覚センサを用いた場合には、ロボットが急激に加減速した場合又は姿勢が変更した場合に、外力を正しく検出できないという課題がある。
【００１７】
この発明は、上記のような課題を解決するためになされたもので、可動部が急激に加減速された場合又は姿勢が変更された場合でも、可動部に加わる外力を正しく検出できる外力検出方法を提供することを目的としている。
【課題を解決するための手段】
【００１８】
この発明に係る外力検出方法は、加速度検出手段は、固定部に対して可動部を変位可能なアクチュエータにおける当該固定部の加速度を検出し、位置検出手段は、固定部に対する可動部の位置を検出し、位置制御手段は、位置検出手段により検出された位置と基準位置との差分に基づく電流指令値を出力し、加速度補償手段は、加速度検出手段により検出された加速度と、可動部側の質量との乗算結果に基づく加速度補償値を出力し、加算手段は、位置制御手段から出力された電流指令値に、加速度補償手段から出力された加速度補償値を加算し、定電流制御手段は、アクチュエータを駆動する駆動電流の電流値を、加算手段により加速度補償値が加算された電流指令値に一致させ、外力検出手段は、駆動電流の電流値から加速度補償値を減算した結果に基づいて、可動部に加わる外力を検出することを特徴とする。
【発明の効果】
【００１９】
この発明によれば、上記のように構成したので、アクチュエータが急激に加減速された場合又は姿勢が変更された場合でも、可動部に加わる外力を正しく検出できる。
【図面の簡単な説明】
【００２０】
【図１】この発明の実施の形態１に係る外力検出装置を備えた作業装置の構成例を示す図である。
【図２】この発明の実施の形態１におけるゲイン調整部の構成例を示す図である。
【図３】図３Ａ、図３Ｂは、この発明の実施の形態１に係る外力検出装置において、アクチュエータが急激に加減速された状態で可動部がワークに接触したときの外力の検出を説明する図であって、図３Ａは外力検出部における減算器に入力された駆動電流及び加速度補償値を示す図であり、図３Ｂは外力検出部により検出された外力を示す図である。
【発明を実施するための形態】
【００２１】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態１．
図１はこの発明の実施の形態１に係る外力検出装置（接触制御装置）を備えた作業装置の構成例を示す図である。
作業装置は、組み立て、押し付けや研磨等の作業を行う装置である。この作業装置は、図１に示すように、アクチュエータ１、位置検出器（位置検出手段）２、位置速度変換部３、加速度検出器（加速度検出手段）４、減算器５、ゲイン調整部６、質量推定部（質量推定手段）７、加速度補償部（加速度補償手段）８、加減算器（加算手段）９、定電流制御部（定電流制御手段）１０及び外力検出部（外力検出手段）１１を備えている。
なお、位置検出器２、位置速度変換部３、加速度検出器４、減算器５、ゲイン調整部６、質量推定部７、加速度補償部８、加減算器９、定電流制御部１０及び外力検出部１１は、外力検出装置を構成する。
【００２２】
アクチュエータ１は、磁界に置かれたコイルに電流が供給されることで、固定部１０１に対して可動部１０２を直動方向又は回転方向に変位可能とする。このアクチュエータ１は、ロボット（不図示）等の先端に取付けられており、全体が移送され、また、姿勢が変更される。
また、可動部１０２には、エンドエフェクタ１２が取付けられている。図１では、エンドエフェクタ１２としてグリッパ（ハンド）が取付けられている。グリッパは、作業対象物を把持自在に構成されている。なお以下では、作業対象物として、ワーク５０を用いた場合を示すが、部品を用いてもよい。
【００２３】
位置検出器２は、アクチュエータ１に設けられ、固定部１０１に対する可動部１０２の位置（相対位置）を検出する。この位置検出器２により検出された位置を示す信号（位置信号）は、位置速度変換部３及び減算器５に出力される。
【００２４】
位置速度変換部３は、位置検出器２により検出された位置を微分して速度に変換する。この速度は、固定部１０１に対する可動部１０２の速度（相対速度）を示す。この位置速度変換部３により変換された速度を示す信号（速度信号）は、加減算器９に出力される。
【００２５】
加速度検出器４は、固定部１０１に設けられ、固定部１０１の加速度を検出する。この際、加速度検出器４は、固定部１０１の重力加速度αｇ及び移動加速度α１のうちの一方、又は両方が加算された加速度（αｇ＋α１）を検出する。図１では、加速度検出器４が加速度（αｇ＋α１）を検出する場合を示している。この加速度検出器４により検出された加速度を示す信号（加速度信号）は、加速度補償部８に出力される。
【００２６】
減算器５は、基準位置Ｐｒから位置検出器２により検出された位置を減算する。この減算器５による減算結果を示す信号は、ゲイン調整部６に出力される。
【００２７】
ゲイン調整部６は、アクチュエータ１におけるコンプライアンス（バネ定数の逆数：固さ柔らかさの指標）の値を調整する。このゲイン調整部６は、図１，２に示すように、ループゲイン測定部６０１、ゲイン交点制御部６０２及び可変ゲイン調整部６０３を有している。
【００２８】
ループゲイン測定部６０１は、減算器５から出力された信号のループゲインを測定する。この際、ループゲイン測定部６０１は、図２に示すように、減算器５から出力された信号に、発振器６０１１によりループゲインが１倍（０ｄＢ）となる周波数、すなわちゲイン交点に設定された周波数の正弦波を、加算器６０１２を介して加算する。このループゲイン測定部６０１による正弦波の加算前後の信号は、ゲイン交点制御部６０２に出力される。
【００２９】
ゲイン交点制御部６０２は、図２に示すように、比較器６０２１によりループゲイン測定部６０１による正弦波の加算前後の信号での振幅比を比較する。このゲイン交点制御部６０２による比較結果を示す信号は、可変ゲイン調整部６０３に出力される。
【００３０】
可変ゲイン調整部６０３は、ゲイン交点制御部６０２により比較された振幅比の倍率が１となるように、減算器５から出力された信号のゲインを調整する。この可変ゲイン調整部６０３によりループゲインが調整された信号は、加減算器９に電流指令値Ｉｒｐとして出力される。また、可変ゲイン調整部６０３によるループゲインの調整値を示す信号は、質量推定部７に出力される。
【００３１】
なお、減算器５及びゲイン調整部６は、位置検出器２により検出された位置と基準位置Ｐｒとの差分に基づく電流指令値Ｉｒｐを出力する位置制御手段（位相制御ループ）を構成する。
【００３２】
質量推定部７は、可変ゲイン調整部６０３によるループゲインの調整値から、可動部１０２側の質量を推定する。すなわち、質量推定部７は、ループゲインの変化と質量の変化とが比例する原理を利用する。ここで、可動部１０２側の質量とは、エンドエフェクタ１２がワーク５０を把持していない場合には、可動部１０２の質量Ｍ１とエンドエフェクタ１２の質量Ｍ２とが加算された質量（Ｍ１＋Ｍ２）であり、エンドエフェクタ１２がワーク５０を把持している場合には、可動部１０２の質量Ｍ１とエンドエフェクタ１２の質量Ｍ２とワーク５０の質量Ｍ３とが加算された質量（Ｍ１＋Ｍ２＋Ｍ３）である。なお図１では、質量推定部７が、可動部１０２の質量Ｍ１とエンドエフェクタ１２の質量Ｍ２とワーク５０の質量Ｍ３とが加算された質量（Ｍ１＋Ｍ２＋Ｍ３）を推定する場合を示している。この質量推定部７により推定された質量を示す信号は、加速度補償部８に出力される。
【００３３】
なお、ゲイン調整部６及び質量推定部７の動作原理は、下記の特許文献２と同様であり、その詳細については説明を省略する。
また上記では、質量推定部７により可動部１０２側の質量を推定する場合を示したが、これに限らず、他の方法を用いて可動部１０２側の質量を取得してもよい。
【特許文献２】特開２０１０−１８２０８４号公報
【００３４】
加速度補償部８は、外乱トルクを補正するための加速度補償値Ｉｒｃを出力する。この加速度補償部８は、乗算器８０１及び係数乗算部８０２を有している。
【００３５】
乗算器８０１は、加速度検出器４により検出された加速度と、質量推定部７により推定された質量とを乗算する。この乗算器８０１による乗算結果を示す信号は、係数乗算部８０２及び外力検出部１１に出力される。
係数乗算部８０２は、乗算器８０１による乗算結果に係数（１／Ｋｔ）を乗算する。なお、Ｋｔは、アクチュエータ１が発生する推力と駆動電流Ｉａとの比を表したトルク定数である。この係数乗算部８０２による乗算結果を示す信号は、加減算器９に加速度補償値Ｉｒｃとして出力される。
【００３６】
加減算器９は、ゲイン調整部６から出力された電流指令値Ｉｒｐに対し、加速度補償部８から出力された加速度補償値Ｉｒｃを加算し、位置速度変換部３から出力された速度信号を減算する。この加減算器９による加減算結果を示す信号は、定電流制御部１０に電流指令値Ｉｒとして出力される。
【００３７】
定電流制御部１０は、アクチュエータ１を駆動する駆動電流Ｉａを電流指令値Ｉｒに一致させるように制御する。この定電流制御部１０は、減算器１００１、駆動ドライバ１００２及び電流検出器１００３を有している。
【００３８】
減算器１００１は、加減算器９から出力された電流指令値Ｉｒから、電流検出器１００３により検出された駆動電流Ｉａの電流値を減算する。この減算器１００１による減算結果を示す信号は、駆動ドライバ１００２に出力される。
駆動ドライバ１００２は、減算器１００１による減算結果に応じた駆動電流Ｉａを発生する。この駆動ドライバ１００２により発生された駆動電流Ｉａは、電流検出器１００３を介してアクチュエータ１に出力される。
電流検出器１００３は、駆動ドライバ１００２により発生された駆動電流Ｉａの電流値を検出する。この電流検出器１００３により検出された電流値を示す信号は、減算器１００１に出力される。
【００３９】
外力検出部１１は、駆動電流Ｉａの電流値から加速度補償値Ｉｒｃを減算した結果に基づいて、可動部１０２に加わる外力（反力）Ｆを検出する。なお、可動部１０２に加わる外力Ｆとしては、エンドエフェクタ１２が把持したワーク５０と他の物体とが接触した際に発生する力や、エンドエフェクタ１２とワーク５０とが接触した際に発生する力が挙げられる。この外力検出部１１は、係数乗算部１１０１、減算器１１０２及び係数乗算部１１０３を有している。
【００４０】
係数乗算部１１０１は、加速度補償部８の乗算器８０１による乗算結果に係数（１／Ｋｔ）を乗算する。この係数乗算部１１０１による乗算結果を示す信号は、減算器１１０２に出力される。
減算器１１０２は、定電流制御部１０により発生された駆動電流Ｉａの電流値から、係数乗算部１１０１による乗算結果を減算する。この減算器１１０２による減算結果を示す信号は、係数乗算部１１０３に出力される。
係数乗算部１１０３は、減算器１１０２による減算結果に係数（Ｋｔ）を乗算することで、外力Ｆを得る。
【００４１】
次に、実施の形態１に係る外力検出装置の動作原理について説明する。なお以下では、アクチュエータ１として、発生した推力がワーク５０に直接伝わるダイレクトドライブ形式のリニアアクチュエータを用い、固定部１０１に対して可動部１０２を直動させるものとする。このアクチュエータ１は、定電流制御部１０が電流指令値Ｉｒに応じて発生した駆動電流Ｉａにより駆動する。
【００４２】
一方、位置検出器２は、固定部１０１に対する可動部１０２の直動方向における位置を検出する。
また、位置速度変換部３は、位置検出器２により検出された位置を微分して速度に変換する。この速度は、固定部１０１に対する可動部１０２の速度を示す。
【００４３】
また、加速度検出器４は、固定部１０１の直動方向における加速度を検出する。以下では、加速度検出器４は、固定部１０１の直動方向成分における移動加速度α１と、固定部１０１の直動方向成分における重力加速度αｇとが加算された加速度（α１＋αｇ）を検出するものとする。
【００４４】
また、位置検出器２により検出された位置は、減算器５で基準位置Ｐｒと比較され、その差分がゲイン調整部６を介して電流指令値Ｉｒを構成する要素の一つである電流指令値Ｉｒｐとして加減算器９に与えられる。
【００４５】
電流指令値Ｉｒは、電流指令値Ｉｒｐの他、外乱トルクを補正するための加速度補償値Ｉｒｃで構成され、次式（１）で表される。
Ｉｒ＝Ｉｒｐ＋Ｉｒｃ                                  （１）
【００４６】
なお、位置を単純にフィードバックすると制御系が不安定となる。そのため、実際には、位置速度変換部３からの速度信号をマイナーループとして加減算器９のマイナス出力に加えて安定化を行っているが、以下では省略する。
【００４７】
また、ゲイン調整部６では、位置制御ループのループゲインを変えることで、アクチュエータ１におけるコンプライアンスの値を変化させることができる。
【００４８】
ここで、駆動電流Ｉａに着目すると、外乱トルクがない場合には電流値は零になるが、外乱トルクがある場合にはそれに比例して電流値も変化する。
一般的な外乱トルクとしては、作業時にワーク５０から受ける反力、重力及び移動加速度により発生する力、減速器のロストルク等が考えられる。ここで、アクチュエータ１はダイレクトドライブ形式のリニアアクチュエータであるため、減速器は持たず、ロストルクは考慮する必要は少ない。したがって、駆動電流Ｉａは、作業時にワーク５０から受ける反力、重力、移動加速度により発生する力に比例した値となる。なお以下では、反力は、ワーク５０が他の物体に接触した際に発生する力であるとする。
【００４９】
ここで、アクチュエータ１の駆動電流をＩａ、作業時にワーク５０から受ける反力をＦ、固定部１０１の直動方向成分における移動加速度をα１、固定部１０１の直動方向成分における重力加速度をαg、可動部１０２の質量をＭ１，エンドエフェクタ１２の質量をＭ２、ワーク５０の質量をＭ３とする。この場合、次式（２）の関係が成り立つ。
Ｆ＋（α１＋αｇ）・（Ｍ１＋Ｍ２＋Ｍ３）＝Ｋｔ・Ｉｒ＝Ｋｔ・（Ｉｒｐ＋Ｉｒｃ）
（２）
なお、Ｋｔはアクチュエータ１が発生する推力と駆動電流Ｉａとの比を表したトルク定数である。
【００５０】
また、式（２）において外乱トルクを補正するための加速度補償値Ｉｒｃを次式（３）のように設定する。
（α１＋αｇ）・（Ｍ１＋Ｍ２＋Ｍ３）＝Ｋｔ・Ｉｒｃ      （３）
【００５１】
式（３）のように加速度補償値Ｉｒｃを設定した場合、式（２）からα１、αｇ、Ｍ１、Ｍ２、Ｍ３の項が消え、次式（４）のように整理される。
Ｆ＝Ｋｔ・Ｉｒｐ                                        （４）
【００５２】
このように、外乱トルクを補正するための加速度補償値Ｉｒｃを式（３）のように設定すると、作業時にワーク５０から受ける反力Ｆと電流指令値Ｉｒｐは、比例関係になることがわかる。
【００５３】
これは、作業時にワーク５０から受ける力が零、つまりワーク５０が他の物体と接触していない場合、基準位置Ｐｒと実際の位置の差分に基づく電流指令値Ｉｒｐも零、つまり位置が変位しないことを意味している。
そして、ワーク５０が他の物体と接触した際に生じる反力Ｆは、電流指令値Ｉｒｐを監視することで知ることができる。
【００５４】
そして、式（４）には、固定部１０１の直動方向成分における移動加速度α１、固定部１０１の直動方向成分における重力加速度αｇ、可動部１０２の質量Ｍ１、エンドエフェクタ１２の質量Ｍ２、ワーク５０の質量Ｍ３の項目が含まれていない。
つまり、ロボットが急激に移動、停止を行い移動加速度が発生した場合や、ロボットが連続して姿勢を変更し重力加速度が変化した場合でも、アクチュエータ１の可動部１０２はゆれることなく反力Ｆを正しく検出できる。
そして、コンプライアンスの値も自由に設定できる。
【００５５】
なお、上述したように、ワーク５０が他の物体と接触して発生する反力Ｆは、電流指令値Ｉｒｐを監視することで知ることができる。
しかしながら、位置制御ループにおいて、反力Ｆに対する電流指令値Ｉｒｐの応答は一般的に速くない。一方、反力Ｆに対する駆動電流Ｉａの応答は比較的早い。そこで、電流指令値Ｉｒｐを直接監視するのではなく、駆動電流Ｉａを監視することで反力Ｆの検出を行う。
【００５６】
ここで、式（２）は以下の通りである。
Ｆ＋（α１＋αｇ）・（Ｍ１＋Ｍ２＋Ｍ３）＝Ｋｔ・Ｉｒ＝Ｋｔ・（Ｉｒｐ＋Ｉｒｃ）
（２）
【００５７】
一方、駆動電流Ｉａは次式（５）で表せる。
Ｉａ＝Ｉｒ＝Ｉｒｐ＋Ｉｒｃ                              （５）
【００５８】
よって、式（２），（５）から下式（６）が得られる。
Ｆ＋（α１＋αｇ）・（Ｍ１＋Ｍ２＋Ｍ３）＝Ｋｔ・Ｉa      （６）
【００５９】
そして、式（６）の両辺から、式（３）の左辺である（（α１＋αg）・（Ｍ１＋Ｍ２＋Ｍ３））を減算して整理すると、下式（７）が得られる。
Ｆ＝Ｋｔ・（Ｉａ−（α１＋αｇ）・（Ｍ１＋Ｍ２＋Ｍ３）/Ｋｔ）      （７）
【００６０】
この式（７）に示されるように、駆動電流Ｉａから加速度補償値（α１＋αｇ）・（Ｍ１＋Ｍ２＋Ｍ３）/Ｋｔを差し引いてトルク定数Ｋｔをかけることで、反力Ｆに比例して応答が速いＩａから反力Ｆを求めることができる。
【００６１】
図３では、可動部１０２が図１に示すように下方向に直動してワーク５０が他の物体（不図示）に接触した場合での信号波形を示している。なお、図３Ａでは減算器１１０２に入力された駆動電流Ｉａ及び加速度補償値Ｉｒｃ（＝（（α１＋αｇ）・（Ｍ１＋Ｍ２＋Ｍ３））／Ｋｔ）を示し、図３Ｂでは外力検出部１１により検出された反力Ｆを示している。この図３に示すように、駆動電流Ｉａから加速度補償値Ｉｒｃ（＝（（α１＋αｇ）・（Ｍ１＋Ｍ２＋Ｍ３））／Ｋｔ）を減算して係数（Ｋｔ）を乗算することで、反力Ｆを正確に検出できる。
【００６２】
次に、実施の形態１に係る外力検出装置による効果について説明する。
上記の通り、ロボットの動作は、一般的に、位置制御によりコントロールされる。そのため、作業対象物の寸法誤差や把持位置誤差等により、予めプログラムされた作業対象物の目標位置と実際の位置が異なる場合、作業対象物が他の物体と接触した際に大きな力が発生し、作業対象物に傷や破損が発生する恐れがある。
【００６３】
その対策として、ロボットとエンドエフェクタとの間に力覚センサを設置し、作業対象物の接触時に過大な力が発生しそうになると力覚センサの検出結果をロボットにフィードバックし、過大な力が発生しないようにする方法もある。
【００６４】
しかしながら、過大な力が発生したことを検出して停止指令を出してもロボットは急には止まれないため、停止指令が出た時点から急激に減速しても接触位置からずれた位置で停止してしまい、作業対象物を押し潰してしまう。そして、位置の行き過ぎ量は移動速度に比例するため、作業対象物を他の物体に近付ける速度を遅くせざるを得ない。
【００６５】
上記の理由により、作業対象物が他の物体と接触する可能性のある領域では、ロボットの移動速度を十分落とす必要がある。しかしながら、サイクルタイムを短くするため、作業対象物を移送する速度は速くする必要がある。その結果、接触領域の近傍で速度を急激に落とすことになる。
【００６６】
一方、実施の形態１では、ロボット等の先端にアクチュエータ１を取付け、また、外力検出装置は、アクチュエータ１が急激に移動又は停止されて移動加速度が発生した場合や、アクチュエータ１の姿勢が変更されて重力加速度が変化した場合でも、可動部１０２に加わる反力Ｆを正しく検出でき、また、コンプライアンス値を任意に変えられる。そのため、ロボットが急に止まれない点が同じだが、位置の行き過ぎにより作業対象物を押し潰してしまうことはない。よって、作業対象物を他の物体に近づける速度を極端に遅くする必要がなく、また、安全に作業できる。
【００６７】
また、従来では、エンドエフェクタは力覚センサの先に取付けられており、ロボットが急激に減速した場合、エンドエフェクタの質量による影響で、力覚センサには負方向の加速度に比例した力が発生する。
ところが、上記加速度に比例した力と作業対象物の接触により発生する力とを区別することは難しく、区別するためにはロボットの減速時間を大幅に長くせざるを得ない。
【００６８】
一方、実施の形態１に係る外力検出装置では、アクチュエータ１が急激に加減速された場合でも正しく外力Ｆを検出でき、接触時にのみ力を検出するため、アクチュエータ１の減速時間を長くする必要はない。
【００６９】
また、力覚センサを用いた場合には、重力による影響をリアルタイムに補償し難いという課題もある。
すなわち、組み立て、押し付けや研磨等の作業を行う場合にロボットが取りうる姿勢は常に一定ではなく、作業の状態に応じて変化させる場合が多い。例えば、曲面をトレースしながら研磨を行う作業では、姿勢を連続して変化させる必要がある。
しかしながら、上記の通り、エンドエフェクタは力覚センサの先に取付けられているため、ロボットの姿勢が水平ではない場合、力覚センサには重力加速度による影響でロボットの姿勢とエンドエフェクタの質量に応じた力が発生する。
【００７０】
一方、実施の形態１に係る外力検出装置では、アクチュエータ１の姿勢が変更されて重力加速度が変化した場合でも外力Ｆを正しく検出できるため、重力による影響をリアルタイムに補償できる。
【００７１】
なお上記では、可動部１０２を直動方向に変位可能とするアクチュエータ１を用いた場合を示した。しかしながら、これに限らず、加速度検出器４が角加速度を検出可能であれば、可動部１０２を回転方向に変位可能とするアクチュエータ１を用いることもできる。
【００７２】
以上のように、この実施の形態１によれば、加速度検出器４は固定部１０１の加速度を検出し、位置検出器２は固定部１０１に対する可動部１０２の位置を検出し、位置制御手段（減算器５及びゲイン調整部６）は、位置検出器２により検出された位置と基準位置Ｐｒとの差分に基づく電流指令値Ｉｒｐを出力し、加速度補償部８は、加速度検出器４により検出された加速度と、可動部１０２側の質量との乗算結果に基づく加速度補償値Ｉｒｃを出力し、加減算器９は電流指令値Ｉｒｐに加速度補償値Ｉｒｃを加算し、定電流制御部１０は駆動電流Ｉａの電流値を電流指令値Ｉｒに一致させ、外力検出部１１は、駆動電流Ｉａの電流値から加速度補償値Ｉｒｃを減算した結果に基づいて外力Ｆを検出するように構成したので、可動部１０２が急激に加減速された場合又は姿勢が変更された場合でも、可動部１０２に加わる外力Ｆを正しく検出できる。
【００７３】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【００７４】
１  アクチュエータ
２  位置検出器（位置検出手段）
３  位置速度変換部
４  加速度検出器（加速度検出手段）
５  減算器
６  ゲイン調整部
７  質量推定部
８  加速度補償部（加速度補償手段）
９  加減算器（加算手段）
１０  定電流制御部（定電流制御手段）
１１  外力検出部（外力検出手段）
１２  エンドエフェクタ
５０  ワーク
１０１  固定部
１０２  可動部
６０１  ループゲイン測定部
６０２  ゲイン交点制御部
６０３  可変ゲイン調整部
８０１  乗算器
８０２  係数乗算部
１００１  減算器
１００２  駆動ドライバ
１００３  電流検出器
１１０１  係数乗算部
１１０２  減算器
１１０３  係数乗算部
６０１１  発振器
６０１２  加算器
６０２１  比較器
【図１】
2018072135.tif 000003
【図２】
2018072135.tif 000004
【図３】
2018072135.tif 000005