(57)【要約】【課題】  位置制御と力制御の２つの制御モードを兼ね備えたロボットハンドにおいて、把持動作時に安定且つ高速に把持動作を実現するロボットハンドを提供すること。【解決手段】  複数の指部により対象物を把持するロボットハンドにおいて、位置検出手段の検出値を基に指部を位置制御する位置制御部と、力検出手段の検出値を基に指部を力制御する力制御部と、力検出手段の検出値から、把持力の変化率を算出する変化率算出部と、位置制御と、力制御を切り換え可能な制御切換部と、を有し、指部と対象物が接触し、変化率が所定の値以下である場合に、制御切換部を用いて位置制御から力制御に切り換えることを特徴とするロボットハンドを採用した。【選択図】  図８
2019202406.tif 000002
【特許請求の範囲】
【請求項１】
複数の指部により対象物を把持するロボットハンドにおいて、
前記指部の位置を検出する位置検出手段と、
前記指部に作用する力を把持力として検出する力検出手段と、
前記ロボットハンドを制御する制御装置と、を備え、
前記制御装置は、
前記位置検出手段の検出値を基に前記指部を位置制御する位置制御部と、
前記力検出手段の検出値を基に前記指部を力制御する力制御部と、
前記力検出手段の検出値から、前記把持力の変化率を算出する変化率算出部と、
前記位置制御と、前記力制御を切り換え可能な制御切換部と、を有し、
前記制御装置は、前記指部を互いに接近する方向に移動させ、前記指部と前記対象物が接触した後、前記変化率が所定の値以下である場合に、前記制御切換部を用いて前記位置制御から前記力制御に切り換えることを特徴とするロボットハンド。
【請求項２】
請求項１に記載のロボットハンドにおいて、
前記制御装置は、
前記指部と前記対象物が接触し、前記変化率が前記所定の値より大きい場合、前記位置制御により前記指部の位置を保つよう制御することを特徴とするロボットハンド。
【請求項３】
請求項１または請求項２に記載のロボットハンドにおいて、
前記制御装置は、
前記位置制御から前記力制御に切り換える際、
前記把持力の目標値との偏差と、前記変化率とを基に、前記制御切換部を用いて前記位置制御から前記力制御に切り換えることを特徴とするロボットハンド。
【請求項４】
請求項３に記載のロボットハンドにおいて、
前記制御装置は、
前記変化率の値と前記偏差の値とを対応付けたテーブルを記憶しておく記憶部を有し、
前記変化率と前記偏差の値を基に、前記テーブルを参照して、前記制御切換部を用いて前記位置制御から前記力制御に切り換えることを特徴とするロボットハンド。
【請求項５】
請求項３に記載のロボットハンドにおいて、
前記記憶部は、前記変化率の値と前記偏差の値との関係を表した関数を記憶し、
前記変化率と前記偏差の値を基に、前記関数を参照して、前記位置制御から前記力制御に切り換えることを特徴とするロボットハンド。
【請求項６】
請求項５に記載のロボットハンドにおいて、
前記関数は一次関数であることを特徴とするロボットハンド。
【請求項７】
請求項１から請求項６のいずれか１項に記載のロボットハンドをロボットアームに備えたロボット装置。
【請求項８】
複数の指部により対象物を把持するロボットハンドの制御方法において、
前記ロボットハンドは、
前記指部の位置を検出する位置検出手段と、
前記指部に作用する力を把持力として検出する力検出手段と、
前記ロボットハンドを制御する制御装置と、を備え、
前記位置検出手段を基に前記指部を位置制御し、所定の位置へ前記指部を移動させる指部移動工程と、
前記指部が前記対象物と接触をしたことを検知する接触検知工程と、
前記力検出手段の検出値から、前記把持力の変化率を算出する変化率算出工程と、
前記力検出手段の検出値が閾値に達したか検出する閾値検出工程と、
前記変化率算出工程で算出した前記変化率の値が所定の値以上となり、前記力検出手段の検出値が前記閾値以上となれば、前記位置制御から、前記力検出手段により前記指部を制御する力制御に切り換える制御切換工程と、を有することを特徴とする制御方法。
【請求項９】
請求項８に記載の制御方法において、
前記変化率算出工程で算出した前記変化率の値が所定の値以上となり、前記変化率が前記所定の値より大きい場合、前記位置制御により前記指部の位置を保つ位置保持工程を有することを特徴とする制御方法。
【請求項１０】
請求項９に記載の制御方法において、
前記位置制御から前記力制御に切り換える際、
前記把持力の目標値との偏差と、前記変化率とを基に、前記制御切換部を用いて前記位置制御から前記力制御に切り換えることを特徴とする制御方法。
【請求項１１】
複数の指部により対象物を把持するロボットハンドを用いた物品の組立方法において、
前記ロボットハンドは、
前記指部の位置を検出する位置検出手段と、
前記指部に作用する力を把持力として検出する力検出手段と、
前記ロボットハンドを制御する制御装置と、を備え、
前記位置検出手段を基に前記指部を位置制御し、所定の位置へ前記指部を移動させる指部移動工程と、
前記指部が前記対象物と接触をしたことを検知する接触検知工程と、
前記力検出手段の検出値から、前記把持力の変化率を算出する変化率算出工程と、
前記力検出手段の検出値が閾値に達したか検出する閾値検出工程と
前記変化率算出工程で算出した前記変化率の値が所定の値以上となり、前記力検出手段の検出値が前記閾値以上となれば、前記位置制御から、前記力検出手段により前記指部を制御する力制御に切り換える制御切換工程と、
前記把持力が目標値となるよう前記指部に前記力制御を行う力制御工程と、
前記対象物を別の対象物へ組み付ける組付工程と、を有することを特徴とする物品の組立方法。
【請求項１２】
請求項１１に記載の物品の組立方法において、
前記変化率算出工程で算出した前記変化率の値が所定の値以上となり、前記変化率が前記所定の値より大きい場合、前記位置制御により前記指部の位置を保つ位置保持工程を有することを特徴とする制御方法。
【請求項１３】
請求項１２に記載の物品の組立方法において、
前記位置制御から前記力制御に切り換える際、
前記把持力の目標値との偏差と、前記変化率とを基に、前記制御切換部を用いて前記位置制御から前記力制御に切り換えることを特徴とする物品の組立方法。
【請求項１４】
請求項８から請求項１３のいずれか１項に記載の制御方法または物品の組立方法を実行可能なプログラム。
【請求項１５】
請求項１４に記載のプログラムを記録した、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボットハンドに関する。
【背景技術】
【０００２】
近年、工場の生産ラインにおいて、作業の自動化・省人化・効率化を図るために、ロボット装置による自動組立を行うケースが多くなっている。このようなロボット装置ではロボットアームにロボットハンドを組み合わせたものが一般的である。また自動組立においては、生産性向上の観点から、ロボットハンドにより、組立て位置までワークをずれなく把持し、高速で搬送することが求められる。そのためには、ロボットハンドによりワークを高精度に位置決めして把持することでずれを低減し、ロボットハンドにより一定の把持力をワークに与えることで高速に搬送する際にワークにかかる慣性力に対応する必要がある。
【０００３】
上記のようにロボットハンドによりワークを高精度に位置決めし、一定の把持力をワークに与える方法として特許文献１が挙げられる。特許文献１においては、ワークを把持する際、まず位置制御によりフィンガーを駆動させ、フィンガーがワークに接触したことをフィンガーに設けられた力センサにより検出し、フィンガーによりワークを持ち始める位置の位置決めを行う。そして位置制御から力制御に切り換え、ワークをフィンガーに押し付け一定の把持力をワークに与えることを実現している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１０８４６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら特許文献１における技術においては、力センサを用いた接触判定を基に、単純に位置制御から力制御への切り換えを行っているため、以下に述べるような問題があった。
【０００６】
フィンガーによりワークを把持する際、ワークの載置位置の位置ズレやフィンガーの把持位置の位置ズレにより、ワークとフィンガーとの接触位置がズレてしまい、位置制御時におけるフィンガーの駆動速度が十分に減速されないまま接触する場合がある。この場合、フィンガーの駆動機構であるギアのイナーシャ等により、フィンガーに慣性力が働く。
【０００７】
この状態で力制御に切り換えると、フィンガーが慣性力により位置制御時に指令した目標位置よりも多くフィンガーが動いてしまう。すると、フィンガーはワークに対して必要以上に押し付けられるため、力センサで検出される値が力制御時に指令された目標となる把持力より大きくなりオーバーシュートが発生する。力制御時においては、目標の把持力となるよう制御するため、力センサで検出される値が小さくなるよう制御する。
【０００８】
しかし、オーバーシュートにより目標となる把持力よりも大きく検出されているため、目標の把持力に戻そうと強くフィンガーを駆動するため、今度は逆にアンダーシュートが生じてしまう。
【０００９】
即ち、オーバーシュートまたはアンダーシュートが繰り返し発生し、力制御では目標の把持力に収束する時間が長くなってしまう。また、把持動作が不安定となってしまうため、ワークを破損させる恐れもある。
【００１０】
そこで、本発明は、位置制御と力制御の２つの制御モードを兼ね備えたロボットハンドにおいて、制御モードを切り換える際、把持動作の挙動を安定に保ちつつ、目標の把持力に収束する時間を短くすることができるロボットハンドを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を鑑み、本発明は、複数の指部により対象物を把持するロボットハンドにおいて、前記指部の位置を検出する位置検出手段と、前記指部に作用する力を把持力として検出する力検出手段と、前記ロボットハンドを制御する制御装置と、を備え、前記制御装置は、前記位置検出手段の検出値を基に前記指部を位置制御する位置制御部と、前記力検出手段の検出値を基に前記指部を力制御する力制御部と、前記力検出手段の検出値から、前記把持力の変化率を算出する変化率算出部と、前記位置制御と、前記力制御を切り換え可能な制御切換部と、を有し、前記制御装置は、前記指部を互いに接近する方向に移動させ、前記指部と前記対象物が接触した後、前記変化率が所定の値以下である場合に、前記制御切換部を用いて前記位置制御から前記力制御に切り換えることを特徴とするロボットハンドを採用した。
【発明の効果】
【００１２】
本発明によれば、位置制御モードから力制御モードへの切り換えを行う際、指部の先端で検出される把持力の変化率を基に判断する。そのため、位置制御モードで指部を制御している際に、指部の駆動速度が大きすぎる状態で切り換わることを低減し、把持動作の挙動を安定に保ちつつ、目標の把持力に収束する時間を短くすることができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態におけるロボットシステム１００の示した図である。
【図２】第１の実施形態におけるロボットハンド本体３００を示した図である。
【図３】第１の実施形態におけるロボットハンド制御装置５００の制御ブロック図である。
【図４】第１の実施形態における位置制御の目標位置プロファイルを示した図である。
【図５】力制御から位置制御に切り換えた際に、力制御によって目標把持力が収束する時間が長くなる原因について詳述するために用いた図である。
【図６】第１の実施形態における切換テーブル５２１を表した表である。
【図７】第１の実施形態における目標位置プロファイルの更新を停止した場合を示した図である。
【図８】第１の実施形態における制御フローチャートである。
【図９】第１の実施形態における把持力の応答波形を示したグラフである。
【図１０】切換判定閾値と目標把持力との差が大きい場合に、力制御から位置制御に切り換えた際の把持力の応答波形を示したグラフである。
【図１１】第２の実施形態におけるロボットハンド制御装置５００の制御ブロック図である。
【図１２】第２の実施形態における切換テーブル５２１’を表した表である。
【図１３】第２の実施形態における把持力変化率と偏差量との関係を表すグラフである。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明を実施するに好適な実施形態につき詳細に説明する。なお、以下に示す実施例はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において変更することができる。また、各実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００１５】
（第１の実施形態）
以下、添付図面を参照して、本実施形態１における構成および把持制御につき説明する。図１は、本発明のロボット装置を用いた本実施形態のロボットシステムの概略構成を示した図である。
【００１６】
図１において、本実施形態のロボットシステム１００は、ロボットアーム本体２００、ロボットハンド本体３００、ロボットシステム全体を制御するシステム制御装置４００、外部入力装置８００で構成される。組付対象物であるワークＷ１は、ワーク載置台Ｓ１上に載置され、被組付対象物であるワークＷ２は、ワーク固定台Ｓ２上に固定されている。
【００１７】
ロボットシステム１００によってワークＷ１、ワークＷ２を操作し、組付けることにより、工業製品、ないしはその部品を製造することができる。例えば、このワークＷ１、Ｗ２に対する組付操作は、ロボットアーム本体２００とロボットハンド本体３００を用いて組付対象物としてのワークＷ１を把持し、移動させ、さらにワークＷ１をワークＷ２に嵌合させるという操作によって行われる。
【００１８】
ロボットアーム本体２００は、本実施形態では多関節のロボットアームであり、ロボットアーム本体２００の根元は基台９００に固定されている。ロボットアーム本体２００の先端には、把持装置であるロボットハンド本体３００が装着されている。このロボットハンド本体３００を用いてワークＷ１に対して動作を行う。また、ロボットアーム本体２００の各関節には、これらの関節を各々駆動する駆動源としてのモータ、およびモータの回転角度を検出する位置検出手段としてのエンコーダがそれぞれ設けられている。なお、エンコーダの設置位置および出力方式は問わない。
【００１９】
ロボットハンド本体３００はモータと開閉機構により２本の指を開閉し、ワークＷ１の把持ないし解放を行う１自由度以上のハンドであり、ワークＷ１をロボットアーム本体２００に対して相対変位させないように把持できれば良い。なお、本実施形態では指の本数を２本としたが、当業者により適宜複数の指に変更することができる。
【００２０】
また本実施形態において、ロボットハンド本体３００は不図示のモータ駆動で指を動作させているが、空気圧駆動のようなエアグリッパであっても良い。さらに、ロボットハンド本体３００は、ワークＷ１をロボットアーム本体２００に対して相対変位させないように把持できれば良いため吸着機構であっても良い。
【００２１】
システム制御装置４００内には、ロボットアーム本体２００を制御するロボットアーム制御装置６００、ロボットハンド本体３００を制御するロボットハンド制御装置５００を備えている。なお、本実施形態ではロボットアーム本体２００とロボットハンド本体３００の制御を別々の制御装置を用いて実行しているが、１つの制御装置を用い統合して制御しても良い。
【００２２】
図１に示すようにロボットハンド制御装置５００とロボットアーム制御装置６００は、それぞれマイクロプロセッサなどから成るＣＰＵ５０１、６０１から構成される。さらに各ＣＰＵにバス接続されたＲＯＭ５０２、６０２、ＲＡＭ５０２、６０３、汎用信号インターフェイス５０４、６０４で構成されている。そしてロボットハンド本体３００およびロボットアーム本体２００のそれぞれに設けられた不図示のモータを、ロボットハンドモータドライバ５０５、ロボットアームドライバ尾６０５を介して制御する。
【００２３】
ＲＯＭ５０２、６０２には、各種動作に応じてロボットハンド本体３００およびロボットアーム本体２００に対応する駆動部を制御するための制御プログラムや、それらの制御に必要なデータ等が格納されている。これらロボットシステムを制御する上で必要なデータ、設定値、制御プログラム等をＲＡＭ５０３、６０３で展開する。
【００２４】
ＣＰＵ５０１の内部によって、ロボットハンド制御装置５００の各種の演算処理が行われる。ＲＯＭ５０２には、ＣＰＵ５０１の演算で用いられる制御系のパラメータの他、後述する目標値プロファイルの生成に用いられるパラメータや、制御モードの切り換え判定に用いられる各種の条件等が記憶されている。
【００２５】
またロボットハンドモータドライバ５０５は、ＣＰＵ５０１における演算処理結果を受けてロボットハンド本体３００内部のモータの駆動電流に変換を行う定電流アンプである。
【００２６】
また汎用入出力インターフェイスＩ／Ｏ５０４、６０４にはティーチングペンダント等の外部入力装置８００が接続されている。これによりユーザが直接ロボットシステム１００を動作させることができる。汎用入出力インターフェイスＩ／Ｏ５０４、６０４はそれぞれロボットハンド本体３００、ロボットアーム本体２００と送受信可能に接続されており、さらに、ロボットハンド制御装置５００とロボットアーム制御装置６００とで通信可能にしている。
【００２７】
ワークＷ１は、ワークＷ２が組付く組付部（凸部）を有する。本実施形態では、凸部は円筒状のピンを想定する。また、ワークＷ２は、ワークＷ１が組付くための組付部（凹部）を有する。本実施形態では凹部は筒形の穴を想定する。ワークＷ１、Ｗ２を組み付けることで物品として生産する。
【００２８】
図２は、本発明で用いられるロボットハンド本体３００の詳細を示している。図２よりロボットハンド本体３００は、ベース部３０２、モータ３０３、指支持部３０５、指部３０６で構成されている。また指部３０６の先端の片側には力センサ３０７が構成されている。
【００２９】
またモータ３０３にはエンコーダ３０４が設けられ、このエンコーダ３０４により指部６の位置を検出する。エンコーダ３０４は位置検出手段の一例である。
【００３０】
ベース部３０２にはピニオンラック、減速機等で構成され、モータ３０３の駆動を指支持部３０５に伝達する駆動伝達機構３０９（図３）が内蔵されている。モータ３０３はピニオンラック、又は減速機を介して指支持部５と連結されている。なお、ピニオンラック以外にもカム機構等、本発明の趣旨を逸脱しない範囲で駆動伝達機構３０９を変更して良い。
【００３１】
モータ３０３を駆動させることで駆動伝達機構３０９を介して指支持部３０５を、図１中の矢印Ｐの方向に水平駆動させ、指部３０６を、軸Ｃを基準に互いに接近または離間する方向へ動作させることでロボットハンド本体３００の開閉動作を実現する。またワークＷ１を把持した際の把持力は、図面右側の指部３０６の先端に取り付けられた力センサ３０７により検出される。この力センサ３０７はどちらか一方の指部３０６に設けられていればよい。もちろん、両方の指部３０６に設けられていても良い。この力センサ３０７は力検出手段の一例である。
【００３２】
なお本実施形態では、１つのモータ３０３により一対の指部３０６を同時駆動するように構成しているが、各指部３０６にモータ３０３を設け、指部３０６が独立して互いに接近または離間する方向へ動作できるように構成してもよい。
【００３３】
また本実施形態に示すロボットハンド本体３００は、把持力を検出する手段として指部３０６の先端に力センサ３０７を構成しているが、上述した構成により力センサの代わりに各モータ３０３の駆動電流を検出して把持力を算出するように構成してもよい。
【００３４】
図３はロボットハンド制御装置５００とロボットハンド本体３００と外部入力装置８００とを示した制御ブロック図である。ロボットハンド制御装置５００は、ＣＰＵ５０１の内部に位置制御部５１２、力制御部５１３、制御切換部５１５、主制御部５１６を備えている。また、目標位置生成部５１０、目標把持力生成部５１１、位置変換部５１４、変化率算出部５１７を備えている。
【００３５】
ＲＯＭ５０２の内部には後述する把持力変化率と切換判定閾値の関係を記した切換テーブル５２１が格納されている。
【００３６】
ロボットハンド本体３００は、指部３０６を開閉するための駆動源となるモータ３０３、ドライバ５０５、モータ３０３の駆動を指部３０６に伝達する駆動伝達機構３０９、モータ３０３に備えられたエンコーダ３０８、力センサ３０７をブロックで示している。
【００３７】
図３において、ロボットハンド制御装置５００は、位置制御部５１２と力制御部５１３を有している。
【００３８】
位置制御部５１２は、目標位置生成部５１０を入力として、ドライバ５０５に制御値を渡し、モータ３０３を駆動させることで指部３０６を動作させ、その際のエンコーダ３０８の出力をフィードバックし、指部３０６への位置制御を行う。
【００３９】
力制御部５１３は、目標把持力生成部５１１を入力として、ドライバ５０５に制御値を渡し、モータ３０３を駆動させることで指部３０６を動作させ、その際の力センサ３０７の出力をフィードバックして、指部３０６に発生する力を制御する。
【００４０】
位置制御部５１２と力制御部５１３との切り換えは、制御切換部５１５により実現される。
【００４１】
次に図３、図４を用いて、位置制御時におけるロボットハンド制御装置５００の振る舞いについて説明する。図４は位置制御時において入力された目標位置のプロファイルの生成を表している。
【００４２】
図３において、目標位置生成部５１０は、例えばＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）等の外部入力装置８００から入力される指部３０６の目標位置に対して、図４に示すような目標位置プロファイルの生成を行う。
【００４３】
位置制御部５１２は、目標位置生成部５１０からの値と位置変換部５１４により変換されたエンコーダ３０８での検出値との差、即ち目標位置と実際の指部３０６の位置との差である位置の偏差量を入力としてドライバ５０５に渡す制御値を演算する。
【００４４】
指部３０６の位置は、モータ３０３に取り付けられたエンコーダ３０８で検出された回転角が、位置変換部５１４によって指部３０６の座標値に変換処理が行われた後、位置制御部５１２に対してフィードバックされる。
【００４５】
ここで位置制御部５１２により行われる制御値の演算処理は、例えばＰＩ（Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ）制御、又はＰＩＤ（Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ）制御を用いた演算処理である。
【００４６】
ドライバ５０５は位置制御部５１２から渡される制御値に応じて、モータ３０３に印加する駆動電流を制御する。ドライバ５０５によりモータ３０３を回転駆動することで、駆動伝達機構３０９を介して、指部３０６が駆動される。
【００４７】
続いて図３を用いて、力制御時におけるロボットハンド制御装置５００の振る舞いについて説明する。
【００４８】
力制御時においては、制御切替部５１５により力制御部５１３とドライバ５０５が接続されるように構成されている。この状態において、目標把持力生成部５１１は、位置制御時と同様にＰＬＣ等の外部入力装置８００から入力される、指部３０６に作用する力、即ち把持力の目標値の生成を行う。
【００４９】
力制御部５１３は、目標把持力生成部５１１からの値と力センサ３０７での検出値との差、即ち目標把持力と実際に指部３０６で生じている把持力との差である力の偏差量を入力としてドライバ５０５に渡す制御値を演算する。
【００５０】
ここで、力制御部５１３により行われる制御値の演算処理は、例えばＰＩ制御又はＰＩＤ制御を用いた演算処理である。ドライバ５０５における動作、及びモータ３０３の動作、指部３０６の動作については、先に説明した位置制御時における動作と同じである。
【００５１】
以上説明したように、ロボットハンド制御装置５００は、位置制御部５１２と、力制御部５１３の２つの制御部を内部に備えることで、指部３０６に対して２つの制御モードを実現している。
【００５２】
ここで、図５を用いて位置制御から力制御に切り換えた際に、力制御によって目標把持力に収束する時間が長くなる原因について詳述する。図５（ａ）は指部３０６の力センサ３０７で検出される力の検出値の時刻歴波形を表している。横軸に時間ｔ（ｓ）、縦軸に検出値となる力Ｆ（Ｎ）、実線のグラフが理想的な応答波形、破線のグラフが単に位置制御から力制御に切り換えた際の実際の応答波形である。図５（ｂ）は位置制御から力制御へ切り換える瞬間となる図５（ａ）の領域Ａ付近を拡大した図である。
【００５３】
図５（ａ）より、位置制御から力制御に切り換える際、切り換えのトリガーとなる切換判定閾値が設定されている。
【００５４】
また、力制御に切り換えた後、指部３０６に作用している力が目標把持力になっているかどうかの検知のため把持完了幅を設定している。この完了幅に力の検出値の応答波形の極大値と極小値が収まれば、これ以上力が変動することはないと判定し、目標把持力に収束したと判定する。図５（ａ）のＰ、Ｐ’点は上記の判定を行い、目標把持力に収束したと判定した点である。
【００５５】
図５（ａ）（ｂ）の破線グラフで示した実際の制御における位置制御モード時は、先に示した図４による目標値プロファイルに基づき指部３０６が駆動されている。しかし、ワークの載置位置の位置ズレや指部３０６の把持位置の位置ズレにより、ワークと指部３０６との接触位置がズレてしまい、位置制御時におけるフィンガーの駆動速度が十分に減速されないまま接触する場合がある。
【００５６】
そして、駆動速度の大きいまま指部３０６がワークに押し付けられると、駆動速度が大きい分だけ、指部３０６がワークに強く押し付けられるため、力センサ３０７で検出される切換判定閾値に達するまでの時間が早くなる（図５（ｂ）破線のグラフ）。つまり把持力変化率が大きくなる。
【００５７】
切換判定閾値に達するまでの時間が早く、把持力変化率が大きいと、理想的には図５（ｂ）の実線グラフのＱ点で切り換えたいが、実際には図５（ｂ）の破線グラフのＱ’点で切り換えることになる。
【００５８】
把持力変化率が大きい状態で位置制御から力制御に切り換えると、指部３０６の駆動速度が大きいままであるため、駆動伝達部のイナーシャの影響が大きくなる。そして力制御時におけるモータ３０３の操作方向とは逆方向に駆動伝達機構３０９が動いている時間が長くなる。
【００５９】
これに伴い、指部３０６に設けた力センサ３０７も同様にモータ３０３の操作方向とは逆方向に動いてしまい、その結果、図５（ａ）の破線グラフのように力制御時における力の応答波形においてオーバーシュートやアンダーシュートが発生してしまう。
【００６０】
力制御時は、目標の把持力となるよう制御するため、力センサ３０７で検出される値が小さくなるよう制御し、力の応答波形が振動してしまう。
【００６１】
ゆえに、図５（ａ）の実線グラフのように理想的な切換を行うことができれば、図５（ａ）のＰ点で把持の完了を判定できるが、実際にはワークのズレ等により理想的な切換が行えず、力の検出値の応答波形の極大値と極小値がなかなか把持完了幅に収まらず、図５（ａ）の破線グラフのＰ’点で把持完了の判定を行う。そのため目標把持力に対する収束時間が長くなってしまう。
【００６２】
上記で説明した課題を解決するための制御方法を以下で詳述する。
【００６３】
図３に戻り、位置制御と力制御との切り換えの判定を行う判定部５１８について、図６を共に用いながら説明を行う。図６は、切換判定閾値、把持力変化率の絶対値とを対応付けた制御モードの切換判定が定義された切換テーブル５２１である。
【００６４】
図３より制御モードの切り換えの実行は、判定部５１８により制御切換部５１５に指令が入力されことで制御切換部５１５により行われる。
【００６５】
ここで、判定部５１８は、位置制御から力制御に切り換える際、把持力変化率を加味し、ＲＯＭ５０２に格納された切換テーブル５２１を参照して切換を行う。
【００６６】
そのため把持力変化率算出部５１７は、力センサ３０７での検出値を逐次監視し、指部３０６に作用する力の値の時間微分を算出している。この値が把持力変化率として判定部５１８に入力されている。
【００６７】
また切換判定閾値として、力センサ３０７の検出値が判定部５１８に入力されている。力センサ３０７の検出値から切換判定閾値として所定の値を検出することで現在の指部３０６とワークＷ１との接触状態を検知している。
【００６８】
図６より切換テーブル５２１は、状態レベル、切換判定閾値、把持力変化率の絶対値、切換判定が定義されたテーブルである。なお、図６に示した値は、予め実験等により算出して、記憶部であるＲＯＭ５０２の内部に設定し記憶しておくこととする。
【００６９】
切換テーブル５２１の状態レベルには、Ｌｅｖｅｌ１、Ｌｅｖｅｌ２までが設定されている。
【００７０】
Ｌｅｖｅｌ１は切換判定閾値が２Ｎ以上、把持力変化率が０．５の値以下である場合であり、指部３０６とワークＷ１の接触状態がＬｅｖｅｌ１であれば切換判定ＯＫとする。逆にＬｅｖｅｌ２はそれ以外の接触状態であり、Ｌｅｖｅｌ２であれば切換判定をＮＧとする。
【００７１】
ここで、切換判定閾値は、力センサ３０７の精度等を考慮して、予め使用するユーザによって個別に設定される設定値であり、例えば０．５Ｎ、１Ｎ等の値が切換判定閾値として設定されていても良い。
【００７２】
この切換テーブル５２１を参照することで、力センサ３０７で切換判定閾値を検出したとしても把持力変化率が大きい場合には切換判定ＮＧとなり、位置制御から力制御には切り換えない。
【００７３】
この場合、判定部５１８は目標位置生成部５１０に対して、図７に示すような目標値プロファイルの出力を制限するような信号を出力する。
【００７４】
具体的には目標位置生成部５１０は、判定部５１８からの制限信号を受けると、目標位置プロファイルの更新を停止して、現在の指部３０６の位置をホールドして出力するような指令が目標位置生成部５１０から出力されるようにする。
【００７５】
図７より、破線で示したグラフが目標位置生成部５１０から生成される元の目標位置プロファイルであり、実線で示したグラフが判定部５１８によって更新された目標位置プロファイルである。
【００７６】
図７の実線で示した目標位置プロファイルのように、現在の指部３０６の位置をホールドすることで、把持力変化率を迅速に下げることができる。即ち指部３０６とワークＷ１との接触状態が図６に示すＬｅｖｅｌ２の状態にあっても、判定部５１８によって目標位置プロファイルの更新が停止されることで、時間の経過と共にＬｅｖｅｌ１の状態に入ることになる。
【００７７】
図８は上記で述べた制御方法を用いて、実際にワークＷ１の把持力動作を行う場合のフローチャート図である。図９は図５と同様に指部３０６の力センサ３０７で検出される力の検出値の時刻歴波形を表している。横軸に時間ｔ（ｓ）、縦軸に検出値となる力Ｆ（Ｎ）、実線のグラフが本実施形態を用いた際の応答波形、破線のグラフが単に位置制御から力制御に切り換えた際の実際の応答波形である。
【００７８】
図９（ａ）は目標把持力が収束するまで表したグラフ、図９（ｂ）は位置制御から力制御へ切り換える瞬間となる図９（ａ）の領域Ｂを拡大した図である。
【００７９】
図８よりＳ１０１でロボットハンド制御装置５００が、外部入力装置８００から把持指令を受けると、図４に示したような目標位置プロファイル生成を元に位置制御で指部３０６を駆動させて、指部３０６をワークＷ１に近づける（図９（ａ）のＳ１０１指示部）。Ｓ１０１は指部移動工程となる。
【００８０】
Ｓ１０２で、力センサ３０７における検出値からワークＷ１と指部３０６が接触したかどうかを検知する（図９（ａ）の接触ポイント）。Ｓ１０２：ＮｏならばＳ１０１の直前まで戻り、位置制御により指部３０６とワークＷ１とを接近させる。Ｓ１０２：ＹｅｓならばＳ１０３に進む。Ｓ１０２が接触検知工程となる。
【００８１】
１０３ではワークＷ１と指部３０６が接触することで把持力が生じるため、力センサ３０７の検出値を基に把持力変化率を算出する。Ｓ１０３が変化率算出工程となる。
【００８２】
そしてＳ１０４で切換判定閾値以上であるか検知する。Ｓ１０４：Ｎｏならば再度Ｓ１０１に戻り指部３０６を位置制御により駆動させる。Ｓ１０４が閾値検出工程となる。
【００８３】
Ｓ１０４：ＹｅｓであればＳ１０６に進む。従来ではここで位置制御から力制御に切り換える（図９（ａ）Ｓ１０４指示部）。
【００８４】
そしてＳ１０５では、算出した把持力変化率を基に、図６で示した切換テーブル５２１から、切換判定閾値と把持力変化率の関係を参照し、Ｓ１０５で切り替え可能な接触状態にあるか否かの判定を行う。
【００８５】
Ｓ１０５：Ｎｏの場合は、Ｓ１０６に進み、位置制御における目標位置の更新を停止してＳ１０１直前まで戻る。そしてＳ１０２〜Ｓ１０４までの処理を再度行い把持力変化率が切換テーブル５２１の切り換え可能領域内に入るまで、切換を待つ（図９（ｂ）のＳ１０６指示部）。
【００８６】
そして指部３０６の駆動速度が弱まることで把持力変化率の値が収まり、Ｓ１０５：ＹｅｓとなればＳ１０７に進み、力制御への切り換えを実行する（図９（ａ）（ｂ）のＳ１０７指示部）。
【００８７】
そしてＳ１０８で、力制御に切り換えた状態において、力センサ３０７の検出値が外部入力装置８００から入力された目標把持力となるまで力制御を行う。
【００８８】
そしてＳ１０９で、目標把持力に対して力センサ３０７の検出値が、把持完了幅に収束したかを判定する。Ｓ１０９：ＮｏであればＳ１０８の直前まで戻り力制御を続行する。
【００８９】
Ｓ１０９：Ｙｅｓとなれば、把持動作完了となる（図９（ａ）のＰ）。
【００９０】
図９（ｂ）より本実施形態を用いることで、位置制御から力制御に切り換える過程において、把持力変化率が大きいと判断され、位置制御における目標位置の更新が停止されることにより、把持力変化率を緩やかにすることができる。
【００９１】
よって把持力変化率が緩やかになったＱの状態で位置制御から力制御に切り換えることができ、Ｐで把持完了とすることができた。よって、本実施形態により図５（ｂ）で説明した理想的な応答波形に近づけることができる。
【００９２】
以上本実施形態では、位置制御から力制御に切り換える際に把持力変化率が大きい場合は、制御モードの切り換えが不可と判断し、把持力変化率が許容範囲となるまで切換を行わない。こうすることでイナーシャの影響が大きい状態で制御モードの切換が実施されることを抑制する。
【００９３】
これにより、把持動作が振動して不安定になることを低減し、目標把持力に対する収束時間を短くすることができる。
【００９４】
本実施形態における目標把持力に対する把持完了幅を±０．５Ｎ以内とし、上記で述べた制御方法を実施したところ、従来の方法と比べて数１００ｍｓｅｃ程度短縮することができた。
【００９５】
（第２の実施形態）
上記第１の実施形態では、位置制御から力制御へ切り換える切換判定閾値と把持力変化率から切換を判定した。ここで図１０の実線グラフは、図５（ａ）の破線グラフで示した応答波形において目標把持力が大きい場合の応答波形を示している。図１０の破線グラフは図５（ａ）の破線グラフをそのまま示している。
【００９６】
図１０の破線グラフのように把持力の振動が起こるのは、目標把持力に対して検出する力の値がオーバーシュートもしくはアンダーシュートする場合に生じる。しかしながら図１０（ａ）の実線グラフのように目標把持力が大きく、切換判定閾値と目標把持力との差であるが大きければ、切り換える時の把持力変化率が多少大きくとも、図１０の実線グラフのように問題なく把持力を収束させることができる。
【００９７】
上記のように偏差量が十分大きい場合においては、把持力変化率がある程度大きい場合においても、イナーシャの影響が低減される。これは力制御に切り替わった際に、モータ３０３の操作方向と駆動伝達機構３０９の動作方向が逆方向にならない、または仮に一時的に発生しても、その時間が短いため、力制御時の応答特性にオーバーシュートやアンダーシュートが発生しにくいことによる。このように把持力変化率が大きい場合であっても、偏差量が十分大きければ制御の切り換えを許可することで、把持時間を短くできる。
【００９８】
本実施形態では、切り換える時の判定としてさらにこの偏差を加味するものである。目標把持力は主に把持するワークにより定められることが多いので、偏差を加味することで、多種ワークに対応した切換タイミングを設定でき、位置制御から力制御への切り替えをスムーズに行うことができるため、安定且つ高速に把持動作を実現できる。
【００９９】
ロボットシステムの構成自体は、図１で説明した第１の実施形態と同様であるため、第１の実施形態と同一ないし相当する構成については同一の参照符号を用い、それらの説明は省略ないし簡略化するものとし、第１の実施形態と異なる点を中心に説明する。
【０１００】
図１１は本実施形態における制御ブロック図である。第１の実施形態と異なる点は、判定部５１８に、力センサ３０７からの値がフィードバックされた目標把持力生成部５１１からの値が入力されている点である。これにより目標把持力と切換判定閾値との差である偏差を判定部５１８に入力することができる。
【０１０１】
図１２は本実施形態で用いられる切換テーブル５２１’である。第１の実施形態と異なる点は、切換判定の条件として上述した偏差量を加味している。
【０１０２】
状態Ｌｅｖｅｌ０は切換判定閾値が２Ｎ以上、把持力変化率が０．０１Ｎ／ｓｅｃ以下、偏差量が２Ｎ以下のとき、切換判定ＯＫとしている。
【０１０３】
状態Ｌｅｖｅｌ１は切換判定閾値が２Ｎ以上、把持力変化率が０．０１Ｎ／ｓｅｃ以上０．１Ｎ／ｓｅｃ以下、偏差量が２Ｎ以上１０Ｎ以下のとき、切換判定ＯＫとしている。
【０１０４】
状態Ｌｅｖｅｌ２は切換判定閾値が２Ｎ以上、把持力変化率が０．５Ｎ／ｓｅｃ以下、偏差量が１０Ｎ以下のとき、切換判定ＯＫとしている。
【０１０５】
状態Ｌｅｖｅｌ３は上記の状態レベル以外を切換判定ＮＧとしている。
【０１０６】
上述のように、偏差が大きく切換判定閾値から目標把持力に達するまで余裕がある場合は把持力変化率が大きくても切換判定ＯＫと設定し、偏差が小さく目標把持力に達するまで余裕が無い場合は把持力変化率を小さくして切換判定ＯＫとしている。
【０１０７】
この比較テーブル５２１’をＲＯＭ５０２に格納しておき、図８のＳ１０４と同様に本実施形態の比較テーブル５２１’を参照することで、多種ワークに対応したタイミングで位置制御から力制御に切り換えることができる。
【０１０８】
また図８にＳ１０５の処理を行うことで時間の経過と共に偏差と把持力変化率の関係は迅速に図１２のＬｅｖｅｌ０〜Ｌｅｖｅｌ２の何れかの状態に入ることになる。故に、多種ワークを把持する場合においても、位置制御から力制御への切り替えをスムーズに行うことができるため、安定且つ高速に把持力制御を実現できる。
【０１０９】
尚、本実施形態において判定部５１８で用いられる偏差量と把持力変化率の関係を図１２に示したようにテーブルで保持しているが、方法はこれに限定されるものではない。例えば図１３のように偏差量と変化率との関係を一次関数で表した関数で判定を行ってもよい。
【０１１０】
また、偏差量と変化率の関係は一次関数だけではなく、ワークやロボットハンドの特性により二次関数や三次関数等、適宜設定してよい。
【０１１１】
また、以上述べた第１の実施形態、第２の実施形態、の制御手順は具体的にはロボットハンド制御装置５００により実行されるものである。従って上述した機能を実行可能なソフトウェアのプログラムを記録した記録媒体をロボットハンド制御装置５００に供給し、ＣＰＵ５０１が記録媒体に格納されたプログラムを読み出し実行することによって達成されるよう構成することができる。この場合、記録媒体から読み出されたプログラム自体が上述した各実施形態の機能を実現することになり、プログラム自体およびそのプログラムを記録した記録媒体は本発明を構成することになる。
【０１１２】
また、各実施形態では、コンピュータで読み取り可能な記録媒体がＲＯＭ５０２或いはＲＡＭ５０３であり、ＲＯＭ５０２或いはＲＡＭ５０３にプログラムが格納される場合について説明したが、本発明はこのような形態に限定されるものではない。本発明を実施するためのプログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、ＨＤＤ、外部記憶装置、記録ディスク等を用いてもよい。
【符号の説明】
【０１１３】
１００  ロボットシステム
２００  ロボットアーム本体
３００  ロボットハンド本体
３０２  ベース部
３０３  モータ
３０４  エンコーダ
３０５  指支持部
３０６  指部
３０７  力センサ
３０９  駆動伝達機構
４００  ロボットシステム制御装置
５００  ロボットハンド制御装置
５０５  ロボットハンドモータドライバ
５１０  目標位置生成部
５１１  目標把持力生成部
５１２  位置制御部
５１３  力制御部
５１４  位置変換部
５１５  制御切換部
５１７  変化率算出部
５１８  判定部
５２１、５２１’  切換テーブル
６００  ロボットアーム制御装置
８００  外部入力装置
Ｗ１、Ｗ２  ワーク
【図１】
2019202406.tif 000003
【図２】
2019202406.tif 000004
【図３】
2019202406.tif 000005
【図４】
2019202406.tif 000006
【図５】
2019202406.tif 000007
【図６】
2019202406.tif 000008
【図７】
2019202406.tif 000009
【図８】
2019202406.tif 000010
【図９】
2019202406.tif 000011
【図１０】
2019202406.tif 000012
【図１１】
2019202406.tif 000013
【図１２】
2019202406.tif 000014
【図１３】
2019202406.tif 000015