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