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