(57)【要約】【課題】形状や軟弱性に応じて柔軟にワークを把持する技術を提供すること。【解決手段】把持装置は、ワークを把持する複数の可動部材と、前記可動部材が設置され、前記ワークに向けて進退可能なベース部材と、前記可動部材の把持動作における位置に関する情報を取得する可動部材位置取得手段と、前記可動部材の前記ワークに接する部分に設置され、前記ベース部材の進退方向に沿って移動可能なベルト部材と、前記ベルト部材の移動における位置に関する情報を取得するベルト部材位置取得手段と、前記可動部材の把持動作を、当該可動部材の把持動作における位置に関する情報に基づいて制御する可動部材制御手段と、前記ベルト部材の移動を、当該ベルト部材の移動における位置に関する情報に基づいて制御するベルト部材制御手段と、を備える。【選択図】図１
2020142311.tif 000002
【特許請求の範囲】
【請求項１】
ワークを把持する複数の可動部材と、
前記可動部材が設置され、前記ワークに向けて進退可能なベース部材と、
前記可動部材の把持動作における位置に関する情報を取得する可動部材位置取得手段と、
前記可動部材の前記ワークに接する部分に設置され、前記ベース部材の進退方向に沿って移動可能なベルト部材と、
前記ベルト部材の移動における位置に関する情報を取得するベルト部材位置取得手段と、
前記可動部材の把持動作を、当該可動部材の把持動作における位置に関する情報に基づいて制御する可動部材制御手段と、
前記ベルト部材の移動を、当該ベルト部材の移動における位置に関する情報に基づいて制御するベルト部材制御手段と、
を備えることを特徴とする把持装置。
【請求項２】
前記可動部材制御手段及び前記ベルト部材制御手段は、前記ワークの把持動作の種類に対応して設定された、制御エネルギーを位置または速度のエネルギーと力のエネルギーとに割り当てる変換を行うことにより、前記可動部材及び前記ベルト部材を制御することを特徴とする請求項１に記載の把持装置。
【請求項３】
前記可動部材制御手段は、前記可動部材の把持動作における位置に関する情報と、位置または速度の目標値及び力の目標値の少なくともいずれかとを入力として前記変換を行うことにより、前記可動部材を制御することを特徴とする請求項２に記載の把持装置。
【請求項４】
前記ベルト部材制御手段は、前記ベルト部材の移動における位置に関する情報と、位置または速度の目標値及び力の目標値の少なくともいずれかとを入力として前記変換を行うことにより、前記可動部材を制御することを特徴とする請求項２または３に記載の把持装置。
【請求項５】
前記可動部材制御手段は、設定された反力を力の目標値として入力し、前記変換による位置の制御量を抑制して、前記ワークに対して設定された把持力を加える力の制御を行うことを特徴とする請求項２から４のいずれか１項に記載の把持装置。
【請求項６】
前記ベルト部材制御手段は、前記ベース部材の進退速度に対応する逆向きの速度を位置または速度の目標値として入力し、前記変換による力の制御量を抑制して、前記ワーク表面における前記ベルト部材の相対速度を進退速度に対して低下させる位置の制御を行う請求項２から５のいずれか１項に記載の把持装置。
【請求項７】
前記可動部材制御手段は、力の目標値としてゼロを入力し、前記変換による位置の制御量を抑制して、前記ワークに対する把持力をゼロとする力の制御を行い、
前記ベルト部材制御手段は、力の目標値としてゼロを入力し、前記変換による位置の制御量を抑制して、前記ワークに対する摩擦力をゼロとする力の制御を行うことを特徴とする請求項２から５のいずれか１項に記載の把持装置。
【請求項８】
前記可動部材制御手段は、設定された反力を力の目標値として入力し、前記変換による位置の制御量を抑制して、前記ワークに対して設定された把持力を加える力の制御を行い、
前記ベルト部材制御手段は、前記ワークを昇降させるために設定された速度を位置または速度の目標値として入力し、力の制御量を抑制して、ワークを昇降させる位置の制御を行うことを特徴とする請求項２から５のいずれか１項に記載の把持装置。
【請求項９】
前記可動部材に前記ワークが把持された状態で、前記ベルト部材を移動させることにより、前記ワークの姿勢を補正することを特徴とする請求項１から８のいずれか１項に記載の把持装置。
【請求項１０】
前記可動部材は、前記ベルト部材が巻回されるプーリーを先端に備え、
前記ベルト部材を移動させながら前記プーリーを把持対象の前記ワークに接触させることにより、把持対象の前記ワークの姿勢を補正することを特徴とする請求項１から９のいずれか１項に記載の把持装置。
【請求項１１】
ワークを認識する認識手段と、
前記ワークを把持する把持装置と、
前記認識手段によって認識されたワークに対応する位置に前記把持装置を移動させる移動手段と、
を備え、
前記把持装置は、
前記ワークを把持する複数の可動部材と、
前記可動部材が設置され、前記ワークに向けて進退可能なベース部材と、
前記可動部材の把持動作における位置に関する情報を取得する可動部材位置取得手段と、
前記可動部材の前記ワークに接する部分に設置され、前記ベース部材の進退方向に沿って移動可能なベルト部材と、
前記ベルト部材の移動における位置に関する情報を取得するベルト部材位置取得手段と、
前記可動部材の把持動作を、当該可動部材の把持動作における位置に関する情報に基づいて制御する可動部材制御手段と、
前記ベルト部材の移動を、当該ベルト部材の移動における位置に関する情報に基づいて制御するベルト部材制御手段と、
を備えることを特徴とする把持システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物品を把持する把持装置及び把持システムに関する。
【背景技術】
【０００２】
従来、農産物や食品等のワークを把持する把持装置に関する技術が知られている。
このような把持装置としては、例えば、フィンガーを有するロボットハンドによってワークを把持するもの等が実用化されている。
なお、特許文献１には、農産物等を把持する把持装置に関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０３６１１３公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、農産物や食品等の場合、ワークの形状が不定形で、軟弱なものも多いことから、工業製品等に比べて機械によって把持することが容易ではない。
そのため、このようなワークを従来の把持装置によって把持した場合、ワークを把持することができない、あるいは、把持したワークを損傷するといった事態を招くこととなる。また、このようなワークの場合、移送先等においてワークを適切に解放することも困難である。
このように、従来の技術においては、形状や軟弱性に応じて柔軟にワークを把持することが困難であった。
【０００５】
本発明の課題は、形状や軟弱性に応じて柔軟にワークを把持する技術を提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一態様に係る把持装置は、
ワークを把持する複数の可動部材と、
前記可動部材が設置され、前記ワークに向けて進退可能なベース部材と、
前記可動部材の把持動作における位置に関する情報を取得する可動部材位置取得手段と、
前記可動部材の前記ワークに接する部分に設置され、前記ベース部材の進退方向に沿って移動可能なベルト部材と、
前記ベルト部材の移動における位置に関する情報を取得するベルト部材位置取得手段と、
前記可動部材の把持動作を、当該可動部材の把持動作における位置に関する情報に基づいて制御する可動部材制御手段と、
前記ベルト部材の移動を、当該ベルト部材の移動における位置に関する情報に基づいて制御するベルト部材制御手段と、
を備える。
また、第２の発明は、前記請求項１に記載した発明において、前記可動部材制御手段及び前記ベルト部材制御手段は、前記ワークの把持動作の種類に対応して設定された、制御エネルギーを位置または速度のエネルギーと力のエネルギーとに割り当てる変換を行うことにより、前記可動部材及び前記ベルト部材を制御することを特徴とするものである。
さらに、第３の発明は、前記請求項２に記載した発明において、前記可動部材制御手段は、前記可動部材の把持動作における位置に関する情報と、位置または速度の目標値及び力の目標値の少なくともいずれかとを入力として前記変換を行うことにより、前記可動部材を制御することを特徴とするものである。
さらに、第４の発明は、前記請求項２または請求項３に記載した発明において、前記ベルト部材制御手段は、前記ベルト部材の移動における位置に関する情報と、位置または速度の目標値及び力の目標値の少なくともいずれかとを入力として前記変換を行うことにより、前記可動部材を制御することを特徴とするものである。
さらに、第５の発明は、前記請求項２ないし請求項４に記載した発明において、前記可動部材制御手段は、設定された反力を力の目標値として入力し、前記変換による位置の制御量を抑制して、前記ワークに対して設定された把持力を加える力の制御を行うことを特徴とするものである。
さらに、第６の発明は、前記請求項２ないし５に記載した発明において、前記ベルト部材制御手段は、前記ベース部材の進退速度に対応する逆向きの速度を位置または速度の目標値として入力し、前記変換による力の制御量を抑制して、前記ワーク表面における前記ベルト部材の相対速度を進退速度に対して低下させる位置の制御を行うことを特徴とするものである。
さらに、第７の発明は、前記請求項２ないし５に記載した発明において、前記可動部材制御手段は、力の目標値としてゼロを入力し、前記変換による位置の制御量を抑制して、前記ワークに対する把持力をゼロとする力の制御を行い、
前記ベルト部材制御手段は、力の目標値としてゼロを入力し、前記変換による位置の制御量を抑制して、前記ワークに対する摩擦力をゼロとする力の制御を行うことを特徴とするものである。
さらに、第８の発明は、前記請求項２ないし５に記載した発明において、前記可動部材制御手段は、設定された反力を力の目標値として入力し、前記変換による位置の制御量を抑制して、前記ワークに対して設定された把持力を加える力の制御を行い、
前記ベルト部材制御手段は、前記ワークを昇降させるために設定された速度を位置または速度の目標値として入力し、力の制御量を抑制して、ワークを昇降させる位置の制御を行うことを特徴とするものである。
さらに、第９の発明は、前記請求項１ないし８に記載した発明において、前記可動部材に前記ワークが把持された状態で、前記ベルト部材を移動させることにより、前記ワークの姿勢を補正することを特徴とするものである。
さらに、第１０の発明は、前記請求項１ないし９に記載した発明において、前記可動部材は、前記ベルト部材が巻回されるプーリーを先端に備え、
前記ベルト部材を移動させながら前記プーリーを把持対象の前記ワークに接触させることにより、把持対象の前記ワークの姿勢を補正することを特徴とするものである。
さらに、第１１の発明は、把持システムであって、ワークを認識する認識手段と、
前記ワークを把持する把持装置と、
前記認識手段によって認識されたワークに対応する位置に前記把持装置を移動させる移動手段と、
を備え、
前記把持装置は、
前記ワークを把持する複数の可動部材と、
前記可動部材が設置され、前記ワークに向けて進退可能なベース部材と、
前記可動部材の把持動作における位置に関する情報を取得する可動部材位置取得手段と、
前記可動部材の前記ワークに接する部分に設置され、前記ベース部材の進退方向に沿って移動可能なベルト部材と、
前記ベルト部材の移動における位置に関する情報を取得するベルト部材位置取得手段と、
前記可動部材の把持動作を、当該可動部材の把持動作における位置に関する情報に基づいて制御する可動部材制御手段と、
前記ベルト部材の移動を、当該ベルト部材の移動における位置に関する情報に基づいて制御するベルト部材制御手段と、
を備えることを特徴とするものである。
【発明の効果】
【０００７】
本発明によれば、形状や軟弱性に応じて柔軟にワークを把持する技術を提供することができる。
また、請求項２の発明では、前記請求項１の発明において、把持動作の種類に対応して設定された変換によって、位置または速度の制御と、力の制御とを独立して行うことが可能となり、より正確で高速な制御を行うことが可能となる。
さらに、請求項３の発明では、位置または速度の目標値及び力の目標値の少なくともいずれかを前記変換の入力とすることで、可動部材の位置または速度あるいは力を容易に目標値に制御することが可能となる。
さらに、請求項４の発明では、位置または速度の目標値及び力の目標値の少なくともいずれかを前記変換の入力とすることで、ベルト部材の位置または速度あるいは力を容易に目標値に制御することが可能となる。
さらに、請求項５の発明では、可動部材において、把持力を目標値に制御する力の制御を位置または速度の制御に優先して、把持動作を行うことができる。
さらに、請求項６の発明では、把持動作においてベルト部材とワーク表面との相対速度がゼロに近づくため、ベルト部材によってワークの表面が傷つけられることを抑制できる。
さらに、請求項７の発明では、可動部材及びベルト部材を接触したワークに対して従動的に移動させて、適応的にワークを把持することができる。
さらに、請求項８の発明では、力の目標値でワークを把持しながら、ベルト部材によってワークを昇降させて、少ないスペースでワークの把持または解放を行うことができる。
さらに、請求項９の発明では、把持されたワークの姿勢を補正し、より適切に保持することが可能となる。
さらに、請求項１０の発明では、把持対象のワークを把持し易い状態に調整することができる。
さらに、請求項１１の発明では、形状や軟弱性に応じて柔軟にワークを把持する技術を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る把持システム１の構成を示す模式図である。
【図２】制御装置３０の機能的構成を示すブロック図である。
【図３】把持システム１がワークＷを把持するための把持処理の流れを示すフローチャートである。
【図４】ロボットハンド１４がワークＷに接触した状態を示す模式図である。
【図５】ロボットハンド１４がワークＷの把持を開始した状態を示す模式図である。
【図６】ロボットハンド１４がワークＷの把持を完了した状態を示す模式図である。
【図７】把持システム１がワークＷを解放するための解放処理の流れを示すフローチャートである。
【図８】ロボットハンド１４がベルト部材１５ｃ，１５ｈを移動させてワークＷを下降させている状態を示す模式図である。
【図９】ロボットハンド１４がワークＷを下降させ、ワークＷが載置面に接触した状態を示す模式図である。
【図１０】密集したワーク群におけるワークＷの状態の一例を示す模式図である。
【図１１】ワークＷの接点数と把持方針との関係を示す模式図である。
【図１２】把持したワークＷの姿勢を変化させる状態を示す模式図である。
【図１３】可動部材を３つ備えるロボットハンド１４の構成例を示す模式図である。
【図１４】可動部材の先端が開閉する構成としたロボットハンド１４の構成例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明を把持システムに応用した実施形態について、図面を参照して説明する。
本発明に係る把持システム及び把持装置は、ワークをフィンガーによって把持するロボットハンドを備え、フィンガーにおけるワークと接触する面にベルトが設置されている。
そして、フィンガーの開閉、ベルトの回転及びロボットハンドの移動（ワークに対する進退）等を、力触覚の伝達に利用可能な位置及び力の制御を応用した制御則に基づいて制御する。
力触覚の伝達に利用可能な位置及び力の制御としては、特許第６３８２２０３号に記載された位置・力制御方法等を用いることができる。本発明においては、当該特許に記載された位置・力制御方法を応用して、ワークを把持する各工程を、力制御を主体とする工程あるいは位置制御を主体とする工程として実行する。
これにより、形状が不定形で軟弱なワークを、個々の形状に応じて、柔らかく把持することが可能となる。
即ち、本発明を適用した把持システム及び把持装置によれば、形状や軟弱性に応じて柔軟にワークを把持することができる。
以下、本発明を適用した把持システム及び把持装置の具体的な実施形態について説明する。
【００１０】
［第１実施形態］
初めに、本発明で用いる位置・力制御方法について説明する。
本発明で用いる位置・力制御方法の基本となる座標変換として、制御対象システムの機能の基準となる値（基準値）と、制御されるアクチュエータの現在位置とを入力とする座標変換を定義することができる。この座標変換は、一般に、基準値及び現在速度（位置）を要素とする入力ベクトルを速度（位置）の制御目標値を算出するための速度（位置）からなる出力ベクトルに変換すると共に、基準値及び現在の力を要素とする入力ベクトルを力の制御目標値を算出するための力からなる出力ベクトルに変換するものである。
このような座標変換は、例えば、次式（１）及び（２）のように一般化して表される。
【００１１】
【数１】
2020142311.tif 000003
【００１２】
ただし、式（１）において、ｘ’1〜ｘ’n（ｎは１以上の整数）は速度の状態値を導出するための速度ベクトルであり、ｘ’a〜ｘ’m（ｍは１以上の整数）は、基準値及びアクチュエータの作用に基づく速度（アクチュエータの移動子の速度またはアクチュエータが移動させる対象物の速度）を要素とするベクトル、ｈ1a〜ｈnmは機能を表す変換行列の要素である。また、式（２）において、ｆ’’1〜ｆ’’n（ｎは１以上の整数）は力の状態値を導出するための力ベクトルであり、ｆ’’a〜ｆ’’m（ｍは１以上の整数）は、基準値及びアクチュエータの作用に基づく力（アクチュエータの移動子の力またはアクチュエータが移動させる対象物の力）を要素とするベクトルである。
式（１）及び（２）で表される座標変換は、アクチュエータの現在位置を入力として、位置（または速度）あるいは力の少なくとも一方の領域における演算を行うことにより、アクチュエータの動作を決定するものである。
【００１３】
さらに、式（１）及び（２）で表される位置・力制御のための座標変換をマスタ・スレーブ間のバイラテラル制御に用いる場合、次式（３）及び（４）のように表すことができる。
【００１４】
【数２】
2020142311.tif 000004
【００１５】
ただし、式（３）において、ｘ’pは速度（位置）の状態値を導出するための速度、ｘ’fは力の状態値に関する速度である。また、ｘ’mは基準値（マスタ装置からの入力）の速度（マスタ装置の現在位置の微分値）、ｘ’sはスレーブ装置の現在の速度（現在位置の微分値）である。また、式（４）において、ｆpは速度（位置）の状態値に関する力、ｆfは力の状態値を導出するための力である。また、ｆmは基準値（マスタ装置からの入力）の力、ｆsはスレーブ装置の現在の力である。
【００１６】
ここで、本実施形態における把持システムは、マスタ・スレーブシステムとして構成されるものではないことから、式（３）及び（４）において、マスタ装置及びスレーブ装置としてのパラメータは存在しない。
そこで、本実施形態における把持システムは、把持動作の各工程において、位置及び力の制御における位置の目標値及び力の目標値を基準値として入力する。そして、この基準値及び制御されるアクチュエータの現在位置に対して、式（３）及び（４）に基づく演算を行うことにより、把持システムの動作を制御する。
【００１７】
より具体的には、本実施形態における把持システムは、式（３）及び（４）によって、位置の目標値あるいは力の目標値及びアクチュエータの動作を表す変数（実空間上の変数）を、本発明の把持機能（力触覚の伝達に利用可能な位置・力制御を応用した把持機能）を表すシステムの変数群（仮想空間上の変数）に“変換”し、速度（位置）の制御エネルギーと力の制御エネルギーとに制御エネルギーを割り当てる。この仮想空間においては、速度（位置）の制御エネルギーと力の制御エネルギーとを独立に与えることが可能となっている。
【００１８】
また、このような制御過程において、本実施形態における把持システムは、アクチュエータを制御するための指令値を算出する際に、位置の領域の演算結果及び力の領域の演算結果に所定の重み付けを行うことで、位置の制御を優先させたり、力の制御を優先させたりする。重み付けを行う場合、位置の領域の演算結果及び力の領域の演算結果が０から１の範囲で重み付けされる。
より具体的には、把持動作における各工程で、速度（位置）の制御エネルギーと力の制御エネルギーとの割り当て結果に所定の重み付けを行うことで、位置の制御あるいは力の制御を優先して実行する。本実施形態においては、把持動作の種類に応じて、位置（速度）の目標値、あるいは、力の目標値が設定され、位置（速度）あるいは力の一方において、特定の目標値が設定された場合には、式（３）及び（４）による他方の制御量が抑制（０以上１未満で重み付け）される。
【００１９】
これにより、本実施形態における把持システムでは、把持対象のワークの形状に応じた幅にフィンガーを広げたり、把持対象のワークの軟弱性に応じて把持する力を変更したりすることが可能となる。
このような位置・力制御方法により、形状や軟弱性に応じて柔軟にワークを把持することが可能となる。
なお、位置と速度（または加速度）あるいは角度と角速度（または角加速度）は、微積分演算により置換可能なパラメータであるため、位置あるいは角度に関する処理を行う場合、適宜、速度あるいは角速度等に置換することが可能である。
【００２０】
［構成］
図１は、本発明の一実施形態に係る把持システム１の構成を示す模式図である。
図１に示すように、把持システム１は、ロボットアーム１０と、カメラ２０と、制御装置３０と、ガイドレール４０と、を備えている。
ロボットアーム１０は、ガイドレール４０に沿って移動しながら、対象となるワークＷを把持したり、把持したワークＷを目的とする場所に移動して載置したりする。
具体的には、ロボットアーム１０は、筐体１１と、アーム移動用アクチュエータ１２と、ハンド移動用アクチュエータ１３と、ロボットハンド１４と、フィンガー部１５と、を備えている。
【００２１】
筐体１１は、ガイドレール４０に案内される直動機構を備え、アーム移動用アクチュエータ１２の駆動力により、ガイドレール４０に沿って移動する。また、筐体１１は、ロボットハンド１４に連結されたロッド１４ａを鉛直方向に移動可能に保持し、ハンド移動用アクチュエータ１３の駆動力により、ロボットハンド１４を鉛直方向に移動させる。
アーム移動用アクチュエータ１２は、電動モータ等のアクチュエータによって構成され、制御装置３０の指示に従って、ロボットアーム１０をガイドレール４０に沿って移動させる。
【００２２】
アーム移動用アクチュエータ１２には、アーム移動用アクチュエータ１２の回転角度（回転位置）を検出するロータリーエンコーダ１２ａが備えられている。ロータリーエンコーダ１２ａの検出結果は、制御装置３０に出力される。
ハンド移動用アクチュエータ１３は、電動モータ等のアクチュエータによって構成され、制御装置３０の指示に従って、ロボットハンド１４に連結されたロッド１４ａを鉛直方向に移動させる。
【００２３】
ハンド移動用アクチュエータ１３には、ハンド移動用アクチュエータ１３の回転角度（回転位置）を検出するロータリーエンコーダ１３ａが備えられている。ロータリーエンコーダ１３ａの検出結果は、制御装置３０に出力される。
【００２４】
ロボットハンド１４は、鉛直方向に移動（進退）し、下端に設置されたフィンガー部１５によってワークＷを把持する。
具体的には、ロボットハンド１４は、ロッド１４ａと、ハンド回転用アクチュエータ１４ｂと、ロータリーエンコーダ１４ｃ，１４ｅと、フィンガー開閉用アクチュエータ１４ｄと、フィンガーベース部材１４ｆと、を備えている。
【００２５】
ロッド１４ａは、筐体１１に鉛直方向に移動可能に保持され、ハンド移動用アクチュエータ１３によって鉛直方向に移動される。ロッド１４ａの下端側には、ハンド回転用アクチュエータ１４ｂ、ロータリーエンコーダ１４ｃ，１４ｅ、フィンガー開閉用アクチュエータ１４ｄ、フィンガーベース部材１４ｆが設置されている。
ハンド回転用アクチュエータ１４ｂは、電動モータ等のアクチュエータによって構成され、制御装置３０の指示に従って、フィンガーベース部材１４ｆをロッド１４ａに対して水平方向に回転させる。
【００２６】
ハンド回転用アクチュエータ１４ｂには、ハンド回転用アクチュエータ１４ｂの回転角度（回転位置）を検出するロータリーエンコーダ１４ｃが備えられている。ロータリーエンコーダ１４ｃの検出結果は、制御装置３０に出力される。
フィンガー開閉用アクチュエータ１４ｄは、電動モータ等のアクチュエータによって構成され、制御装置３０の指示に従って、フィンガー部１５を開閉させる。フィンガー開閉用アクチュエータ１４ｄは、フィンガーベース部材１４ｆに設置され、ハンド回転用アクチュエータ１４ｂによって、フィンガーベース部材１４ｆと共に回転される。フィンガー部１５を開閉させる機構としては、フィンガー開閉用アクチュエータ１４ｄの出力軸にピニオンギアを備え、フィンガー部１５の可動部にラックギアを備えることにより、回転運動を直動運動に変換する機構（ラックアンドピニオン機構）等を用いることができる。ただし、フィンガー部１５を開閉させる機構として、ヒンジによって可動部材を連結し、可動部材の後端側をフィンガー開閉用アクチュエータ１４ｄによって開閉することにより、可動部材の先端側を開閉させる機構等、種々の機構を用いることができる。
【００２７】
フィンガー開閉用アクチュエータ１４ｄには、フィンガー開閉用アクチュエータ１４ｄの回転角度（回転位置）を検出するロータリーエンコーダ１４ｅが備えられている。ロータリーエンコーダ１４ｅの検出結果は、制御装置３０に出力される。
フィンガーベース部材１４ｆは、ハンド回転用アクチュエータ１４ｂを介してロッド１４ａの下端に設置され、フィンガー部１５の可動部材を開閉可能に支持する。
フィンガー部１５は、開閉可能な可動部によってワークＷを把持したり、把持したワークＷを解放したりする。
【００２８】
具体的には、フィンガー部１５は、一対の可動部材１５Ａ，１５Ｂを備えている。なお、本実施形態において、ロボットハンド１４の進退方向は、図１に示すように、可動部材１５Ａ，１５Ｂの長手方向に沿う方向となっている。
可動部材１５Ａは、ベルト駆動用アクチュエータ１５ａと、ロータリーエンコーダ１５ｂと、ベルト部材１５ｃと、プーリー１５ｄ，１５ｅと、を備えている。
ベルト駆動用アクチュエータ１５ａは、プーリー１５ｄを回転させることにより、プーリー１５ｄ，１５ｅに巻き掛けられたベルト部材１５ｃを駆動する。
【００２９】
ベルト駆動用アクチュエータ１５ａには、ベルト駆動用アクチュエータ１５ａの回転角度（回転位置）を検出するロータリーエンコーダ１５ｂが備えられている。ロータリーエンコーダ１５ｂの検出結果は、制御装置３０に出力される。
ベルト部材１５ｃは、プーリー１５ｄ，１５ｅに巻き掛けられ、可動部材１５Ｂのベルト部材１５ｈと対向する面において、ワークＷを把持する。また、ベルト部材１５ｃは、可動部材１５Ｂのベルト部材１５ｈと逆方向に回転（即ち、ベルト部材１５ｃ，１５ｈの対向する面を同方向に移動）することにより、ワークＷを把持した状態でワークＷを昇降させる。
【００３０】
プーリー１５ｄ，１５ｅには、ベルト部材１５ｃが巻き掛けられ、プーリー１５ｄはベルト駆動用アクチュエータ１５ａによって回転され、プーリー１５ｅはベルト部材１５ｃの回転によって従動的に回転する。
また、可動部材１５Ｂは、可動部材１５Ａと左右対称な同様の構成を有し、ベルト駆動用アクチュエータ１５ｆと、ロータリーエンコーダ１５ｇと、ベルト部材１５ｈと、プーリー１５ｉ，１５ｊと、を備えている。
【００３１】
ベルト駆動用アクチュエータ１５ｆは、プーリー１５ｉを回転させることにより、プーリー１５ｉ，１５ｊに巻き掛けられたベルト部材１５ｈを駆動する。
ベルト駆動用アクチュエータ１５ｆには、ベルト駆動用アクチュエータ１５ｆの回転角度（回転位置）を検出するロータリーエンコーダ１５ｇが備えられている。ロータリーエンコーダ１５ｇの検出結果は、制御装置３０に出力される。
ベルト部材１５ｈは、プーリー１５ｉ，１５ｊに巻き掛けられ、可動部材１５Ａのベルト部材１５ｃと対向する面において、ワークＷを把持する。また、ベルト部材１５ｈは、上述したように、可動部材１５Ａのベルト部材１５ｃと逆方向に回転（即ち、ベルト部材１５ｃ，１５ｈの対向する面を同方向に移動）することにより、ワークＷを把持した状態でワークＷを昇降させる。
【００３２】
プーリー１５ｉ，１５ｊには、ベルト部材１５ｈが巻き掛けられ、プーリー１５ｉはベルト駆動用アクチュエータ１５ｆによって回転され、プーリー１５ｊはベルト部材１５ｈの回転によって従動的に回転する。
カメラ２０は、把持システム１の把持対象となる複数のワークＷ（ワーク群）を撮影し、撮影した画像（ここでは静止画像とする）のデータを制御装置３０に出力する。
制御装置３０は、把持システム１全体を制御すると共に、各種演算を行うことにより、把持システム１において取得される各種物理量（重量あるいは硬さ等）を算出する。
【００３３】
図２は、制御装置３０の機能的構成を示すブロック図である。
図２に示すように、制御装置３０は、演算処理部１００と、記憶部２００とを備えている。
記憶部２００は、ハードディスクあるいは半導体メモリ等の記憶装置によって構成され、記憶部２００の一領域には、把持システム１の制御において生成されたデータを格納するための制御データ記憶部２０１が形成される。
演算処理部１００は、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算処理装置によって構成され、把持システム１の制御のためのプログラムを実行することにより、演算処理部１００には、パラメータ設定部１０１と、画像取得部１０２と、画像解析部１０３と、把持対象特定部１０４と、位置情報取得部１０５と、アーム移動制御部１０６と、ハンド移動制御部１０７と、ハンド回転制御部１０８と、フィンガー開閉制御部１０９と、ベルト駆動制御部１１０と、状態判定部１１１と、が形成される。
パラメータ設定部１０１は、把持システム１の制御において用いられる各種パラメータを設定する。例えば、パラメータ設定部１０１は、オペレータの入力に応じて、アーム移動用アクチュエータ１２、フィンガー開閉用アクチュエータ１４ｄ、ベルト駆動用アクチュエータ１５ａ，１５ｆの制御における位置の目標値あるいは力の目標値を設定したり、位置の領域の演算結果及び力の領域の演算結果に対する重みを設定したりする。
【００３４】
なお、これらの設定値は、オペレータが入力して設定する他、設定値を予め設定ファイルに記録しておき、この設定ファイルを読み込むことによって設定することとしてもよい。
また、パラメータ設定部１０１は、把持システム１がワークＷを把持する際のモードを設定する。本実施形態において、ワークＷを把持（または解放）する際のモード（以下、「把持モード」と称する。）として、摩擦軽減モードと、従動動作モードとが設定可能となっている。
【００３５】
摩擦軽減モードは、ロボットハンド１４を鉛直方向に移動させながらベルト部材１５ｃ，１５ｈをロボットハンド１４の移動速度と対応させて回転させることにより、ベルト部材１５ｃ，１５ｈの接触面とワークＷの表面との相対速度をほぼゼロとしつつワークＷを把持（または解放）するモードである。摩擦軽減モードによれば、ワークＷが密集した状態で、可動部材１５Ａ，１５ＢをワークＷの表面に接触させながら間隔を調整し、ロボットハンド１４を降下させてワークＷを把持する場合等に、ベルト部材１５ｃ，１５ｈによってワークＷの表面が傷つけられることを抑制できる。
【００３６】
従動動作モードは、ロボットハンド１４を鉛直方向に移動させながら、可動部材１５Ａ，１５Ｂ及びベルト部材１５ｃ，１５ｈを脱力した状態に制御し、外力に応じて変位させながら可動部材１５Ａ，１５Ｂの間にワークＷを位置させた後、ワークＷを把持するモードである。従動動作モードによれば、ワークＷの形状や大きさに応じて、可動部材１５Ａ，１５Ｂ及びベルト部材１５ｃ、１５ｈを接触したワークＷに対して従動的に移動させて、適応的にワークＷを把持することができる。
これらの把持モードについては、把持対象のワークＷが構成するワーク群の状態に応じて、把持されるワークＷ毎に異なる把持モードを設定したり、ワーク群全体に同一の把持モードを設定したりすることができる。
【００３７】
画像取得部１０２は、カメラ２０によって撮像された画像のデータを取得する。
画像解析部１０３は、画像取得部１０２によって取得された画像のデータを解析し、ワークＷの位置、大きさ及び形状等の属性を取得する。
把持対象特定部１０４は、画像解析部１０３の解析結果に基づいて、把持システム１によって把持対象とするワークＷを特定する。
【００３８】
位置情報取得部１０５は、把持システム１の可動部における現在位置に関する情報（位置情報）を取得する。例えば、位置情報取得部１０５は、ロータリーエンコーダ１２ａ，１３ａ，１４ｃ，１４ｅ，１５ｂ，１５ｇの検出結果である各アクチュエータの回転角度（回転位置）を取得する。
なお、各アクチュエータの回転角度（回転位置）を位置情報として取得する他、各アクチュエータの作用に基づいて移動する部材の位置を位置情報として取得することとしてもよい。
【００３９】
アーム移動制御部１０６は、所定の位置（または速度）制御に従って、アーム移動用アクチュエータ１２を位置（または速度）の目標値に追従させる制御を行い、ロボットアーム１０を目的とする位置に移動させる。アーム移動制御部１０６の制御には、既存の各種制御アルゴリズムを用いることができる。ただし、ハンド移動制御部１０７あるいはフィンガー開閉制御部１０９等と同様に、上述の式（３）及び（４）に従って、位置（または速度）あるいは力の目標値を基準値、ロータリーエンコーダ１２ａの検出結果（回転位置）を現在位置とする制御を行うこととしてもよい。
【００４０】
ハンド移動制御部１０７は、上述の式（３）及び（４）に従って、ハンド移動用アクチュエータ１３の位置（または速度）の目標値を基準値、ロータリーエンコーダ１３ａの検出結果（回転位置）を現在位置とする演算を逐次行い、ハンド移動用アクチュエータ１３に対する電流指令値を算出する。そして、ハンド移動制御部１０７は、算出した電流指令値でハンド移動用アクチュエータ１３を駆動するための駆動信号をハンド移動用アクチュエータ１３に出力する。なお、このとき、力の制御量は抑制される。
【００４１】
ハンド回転制御部１０８は、所定の位置（または速度）制御に従って、ハンド回転用アクチュエータ１４ｂを位置（または速度）の目標値に追従させて回転させる。ハンド回転制御部１０８の制御には、既存の各種制御アルゴリズムを用いることができる。ただし、ハンド移動制御部１０７あるいはフィンガー開閉制御部１０９等と同様に、上述の式（３）及び（４）に従って、位置（または速度）あるいは力の目標値を基準値、ロータリーエンコーダ１３ａの検出結果（回転位置）を現在位置とする制御を行うこととしてもよい。
【００４２】
フィンガー開閉制御部１０９は、上述の式（３）及び（４）に従って、フィンガー開閉用アクチュエータ１４ｄの位置（または速度）及び力の目標値を基準値、ロータリーエンコーダ１４ｅの検出結果（回転位置）を現在位置とする演算を逐次行い、フィンガー開閉用アクチュエータ１４ｄに対する電流指令値を算出する。そして、フィンガー開閉制御部１０９は、算出した電流指令値でフィンガー開閉用アクチュエータ１４ｄを駆動するための駆動信号をフィンガー開閉用アクチュエータ１４ｄに出力する。
【００４３】
なお、フィンガー開閉制御部１０９は、ワークＷを把持する各工程において、位置（または速度）の制御、力の制御を切り替えて実行する。例えば、フィンガー開閉制御部１０９は、フィンガー部１５がワークＷの把持を行う前は、フィンガー開閉用アクチュエータ１４ｄをワークＷの幅よりも狭い位置の目標値に位置制御する。このとき、力の制御量は抑制される。また、フィンガー開閉制御部１０９は、フィンガー部１５がワークＷに接近し、ワークＷを可動部材１５Ａ，１５Ｂの間に挟むまでは、フィンガー開閉用アクチュエータ１４ｄに入力する反力を力の目標値（ここではゼロ）に力制御する。このとき、位置の制御量は抑制される。また、フィンガー開閉制御部１０９は、フィンガー部１５がワークＷを可動部材１５Ａ，１５Ｂの間に挟んだ後は、フィンガー開閉用アクチュエータ１４ｄに入力する反力を力の目標値（ここでは設定された把持力）に力制御する。このとき、位置の制御量は抑制される。さらに、フィンガー開閉制御部１０９は、フィンガー部１５が可動部材１５Ａ，１５Ｂの間に挟んだワークＷを解放する（ベルト部材１５ｃ，１５ｈにより下降させる）際には、フィンガー開閉用アクチュエータ１４ｄに入力する反力を力の目標値（ここでは設定された把持力）に力制御する。このとき、位置の制御量は抑制される。
【００４４】
ベルト駆動制御部１１０は、上述の式（３）及び（４）に従って、ベルト駆動用アクチュエータ１５ａ，１５ｆの位置（または速度）あるいは力の目標値を基準値、ロータリーエンコーダ１５ｂ，１５ｇの検出結果（回転位置）を現在位置とする演算を逐次行い、ベルト駆動用アクチュエータ１５ａ，１５ｆに対する電流指令値を算出する。そして、ベルト駆動制御部１１０は、算出した電流指令値でベルト駆動用アクチュエータ１５ａ，１５ｆを駆動するための駆動信号をベルト駆動用アクチュエータ１５ａ，１５ｆに出力する。
【００４５】
なお、ベルト駆動制御部１１０は、摩擦軽減モード及び従動動作モードそれぞれのワークＷを把持する各工程において、位置（または速度）の制御、力の制御を切り替えて実行する。例えば、ベルト駆動制御部１１０は、摩擦軽減モードにおいて、フィンガー部１５がワークＷに接近し、ワークＷを可動部材１５Ａ，１５Ｂの間に挟むまでは、ベルト部材１５ｃ，１５ｈの回転速度を速度の目標値（ここでは設定された移動速度）に速度制御する。このとき、力の制御量は抑制される。また、ベルト駆動制御部１１０は、従動動作モードにおいて、フィンガー部１５がワークＷに接近し、ワークＷを可動部材１５Ａ，１５Ｂの間に挟むまでは、ベルト部材１５ｃ，１５ｈに入力する反力（鉛直方向の力）を力の目標値（ここではゼロ）に力制御する。このとき、位置の制御量は抑制される。また、ベルト駆動制御部１１０は、摩擦軽減モード及び従動動作モードにおいて、フィンガー部１５がワークＷを可動部材１５Ａ，１５Ｂの間に挟んだ後は、ベルト部材１５ｃ，１５ｈの回転速度を速度の目標値（ここではゼロ）に速度制御する。このとき、位置の制御量は抑制される。さらに、ベルト駆動制御部１１０は、摩擦軽減モード及び従動動作モードにおいて、フィンガー部１５が可動部材１５Ａ，１５Ｂの間に挟んだワークＷを解放する際には、ベルト部材１５ｃ，１５ｈの回転速度を速度の目標値（ここでは設定された下降速度）に速度制御する。このとき、力の制御量は抑制される。
【００４６】
状態判定部１１１は、把持システム１におけるワークＷの把持動作の状態を判定する。
例えば、状態判定部１１１は、ロボットハンド１４を把持対象のワークＷに接近させた場合に、ロボットハンド１４がワークＷに接触したか否かを判定する。このとき、状態判定部１１１は、フィンガー部１５における可動部材１５Ａ，１５Ｂの位置変化あるいはベルト部材１５ｃ，１５ｈに加わる力変化を検出することにより、ロボットハンド１４がワークＷに接触したことを判定する。
【００４７】
また、状態判定部１１１は、把持対象のワークＷを可動部材１５Ａ，１５Ｂの間に位置させる過程において、可動部材１５Ａ，１５Ｂの位置変化が大きい（設定された閾値よりも変化量が大きい）か否かを判定する。即ち、可動部材１５Ａ，１５ＢがワークＷによって大きく押し広げられる状態であるか否かが判定される。この場合、摩擦軽減モードでは、可動部材１５Ａ，１５Ｂの把持力が動作の妨げになることがあるため、把持力が弱められる。
【００４８】
さらに、状態判定部１１１は、可動部材１５Ａ，１５ＢがワークＷを把持した場合に、ベルト部材１５ｃ，１５ｈに加わる力に変化があるか否かを判定する。ベルト部材１５ｃ，１５ｈに加わる力に一定以上の変化がある場合、ワークＷがベルト部材１５ｃ，１５ｈに対して滑り落ち、ワークＷを適切に把持できていないと考えられるため、把持力が強められる。
ガイドレール４０は、ワークＷの把持を行う領域と、ワークＷを解放する領域とを繋ぐレールであり、これらの領域間におけるロボットアーム１０の移動を案内する。
【００４９】
［動作］
次に、把持システム１の動作を説明する。
［把持処理］
図３は、把持システム１がワークＷを把持するための把持処理の流れを示すフローチャートである。
また、図４〜６は、把持処理におけるロボットハンド１４の状態を示す模式図である。
以下、図４〜６を適宜参照しながら、把持処理の流れを説明する。
把持処理の実行に先立ち、パラメータ設定部１０１によって、動作に必要な各種パラメータが予め設定される。
【００５０】
図３に示すように、ステップＳ１において、画像取得部１０２は、カメラ２０によって撮像された画像のデータを取得し、画像解析部１０３は、画像のデータを解析して、ワークＷの位置、大きさ及び形状等の属性を取得する。そして、把持対象特定部１０４は、今回の把持対象とするワークＷを特定する。このとき、把持対象とするワークＷの状態（周囲に空間の余裕があるか否か等）が判定され、ワークＷの状態に適した把持モードが設定される。
【００５１】
ステップＳ２において、アーム移動制御部１０６は、所定の位置（または速度）制御に従って、アーム移動用アクチュエータ１２を制御し、ワークＷの上方にロボットアーム１０を移動させる。また、ハンド回転制御部１０８は、所定の位置（または速度）制御に従って、ハンド回転用アクチュエータ１４ｂを制御し、ワークＷ周囲の隙間の位置と可動部材１５Ａ，１５Ｂとを合わせるように、ロボットハンド１４を回転させる。
【００５２】
ステップＳ３において、フィンガー開閉制御部１０９は、式（３）及び（４）に従ってフィンガー開閉用アクチュエータ１４ｄを制御し、可動部材１５Ａ，１５ＢをワークＷの幅よりも狭い間隔に開かせる。このとき、フィンガー開閉制御部１０９は、上述の式（３）及び（４）に従って、フィンガー開閉用アクチュエータ１４ｄの位置（可動部材１５Ａ，１５Ｂの目標位置に対応する位置）を基準値、ロータリーエンコーダ１４ｅの検出結果（回転位置）を現在位置とする演算によって、フィンガー開閉用アクチュエータ１４ｄに対する電流指令値を算出し、フィンガー開閉用アクチュエータ１４ｄを駆動するための駆動信号を出力する。
【００５３】
ステップＳ４において、ベルト駆動制御部１１０は、設定されている把持モードに応じて、ベルト部材１５ｃ，１５ｈの動作を制御する。このとき、ベルト駆動制御部１１０は、上述の式（３）及び（４）に従って、ベルト駆動用アクチュエータ１５ａ，１５ｆの位置（または速度）の目標値を基準値、ロータリーエンコーダ１５ｂ，１５ｇの検出結果（回転位置）を現在位置とする演算によって、ベルト駆動用アクチュエータ１５ａ，１５ｆに対する電流指令値を算出し、ベルト駆動用アクチュエータ１５ａ，１５ｆを駆動するための駆動信号を出力する。なお、把持モードが摩擦軽減モードに設定されている場合、ベルト駆動制御部１１０は、ベルト部材１５ｃ，１５ｈをロボットハンド１４の移動速度と対応させて回転させるように、ベルト駆動用アクチュエータ１５ａ，１５ｆの位置（または速度）の目標値（ロボットハンド１４の下降速度と等速で逆向きの速度）を設定して制御を行う。また、把持モードが従動動作モードに設定されている場合、ベルト駆動制御部１１０は、ベルト部材１５ｃ，１５ｈが脱力した状態となるように、ベルト駆動用アクチュエータ１５ａ，１５ｆの力の目標値（反力がゼロ）を設定して制御を行う。
【００５４】
ステップＳ５において、フィンガー開閉制御部１０９は、可動部材１５Ａ，１５Ｂに入力する反力がゼロとなるようにフィンガー開閉用アクチュエータ１４ｄを制御する。このとき、フィンガー開閉制御部１０９は、上述の式（３）及び（４）に従って、フィンガー開閉用アクチュエータ１４ｄの力の目標値（反力がゼロ）を基準値、ロータリーエンコーダ１４ｅの検出結果（回転位置）を現在位置とする演算によって、フィンガー開閉用アクチュエータ１４ｄに対する電流指令値を算出し、フィンガー開閉用アクチュエータ１４ｄを駆動するための駆動信号を出力する。
【００５５】
ステップＳ６において、ハンド移動制御部１０７は、ロボットハンド１４を把持対象のワークＷに向けて下降させる。このとき、ハンド移動制御部１０７は、上述の式（３）及び（４）に従って、ハンド移動用アクチュエータ１３の位置（または速度）の目標値（設定された速度）を基準値、ロータリーエンコーダ１３ａの検出結果（回転位置）を現在位置とする演算によって、ハンド移動用アクチュエータ１３に対する電流指令値を算出し、ハンド移動用アクチュエータ１３を駆動するための駆動信号を出力する。
【００５６】
ステップＳ７において、状態判定部１１１は、ロボットハンド１４がワークＷに接触したか否かを判定する。
図４は、ロボットハンド１４がワークＷに接触した状態を示す模式図である。
図４に示す状態において、状態判定部１１１は、可動部材１５Ａ，１５Ｂの位置変化あるいはベルト部材１５ｃ，１５ｈに加わる力変化を検出することにより、ロボットハンド１４がワークＷに接触したことを判定する。なお、可動部材１５Ａ，１５Ｂの位置変化あるいはベルト部材１５ｃ，１５ｈに加わる力変化は、上述の式（３）及び（４）に従って制御を行う過程で算出されるパラメータの状態から判定することができる。
【００５７】
ロボットハンド１４がワークＷに接触していない場合、ステップＳ７においてＮＯと判定されて、処理はステップＳ６に移行する。
一方、ロボットハンド１４がワークＷに接触した場合、ステップＳ７においてＹＥＳと判定されて、処理はステップＳ８に移行する。
ステップＳ８において、把持システム１は、設定されている把持モードに応じて、ロボットハンド１４及びフィンガー部１５の制御を行う。
【００５８】
図５は、ロボットハンド１４がワークＷの把持を開始した状態を示す模式図である。
図５に示す状態において、把持モードが摩擦軽減モードに設定されている場合、ハンド移動制御部１０７は、上述の式（３）及び（４）に従って、ハンド移動用アクチュエータ１３の位置（または速度）の目標値（設定されたロボットハンド１４の下端位置に対応する位置）を基準値、ロータリーエンコーダ１３ａの検出結果（回転位置）を現在位置とする演算によって、ハンド移動用アクチュエータ１３に対する電流指令値を算出し、ハンド移動用アクチュエータ１３を駆動するための駆動信号を出力する。また、ベルト駆動制御部１１０は、上述の式（３）及び（４）に従って、ベルト駆動用アクチュエータ１５ａ，１５ｆの位置（または速度）の目標値（ロボットハンド１４の下降速度と等速で逆向きの速度）を基準値、ロータリーエンコーダ１５ｂ，１５ｇの検出結果（回転位置）を現在位置とする演算によって、ベルト駆動用アクチュエータ１５ａ，１５ｆに対する電流指令値を算出し、ベルト駆動用アクチュエータ１５ａ，１５ｆを駆動するための駆動信号を出力する。また、フィンガー開閉制御部１０９は、上述の式（３）及び（４）に従って、フィンガー開閉用アクチュエータ１４ｄの力の目標値（反力がゼロ）を基準値、ロータリーエンコーダ１４ｅの検出結果（回転位置）を現在位置とする演算によって、フィンガー開閉用アクチュエータ１４ｄに対する電流指令値を算出し、フィンガー開閉用アクチュエータ１４ｄを駆動するための駆動信号を出力する。
【００５９】
一方、図５に示す状態において、把持モードが従動動作モードに設定されている場合、ハンド移動制御部１０７は、上述の式（３）及び（４）に従って、ハンド移動用アクチュエータ１３の位置（または速度）の目標値（設定されたロボットハンド１４の下端位置に対応する位置）を基準値、ロータリーエンコーダ１３ａの検出結果（回転位置）を現在位置とする演算によって、ハンド移動用アクチュエータ１３に対する電流指令値を算出し、ハンド移動用アクチュエータ１３を駆動するための駆動信号を出力する。また、ベルト駆動制御部１１０は、上述の式（３）及び（４）に従って、ベルト駆動用アクチュエータ１５ａ，１５ｆの力の目標値（反力がゼロ）を基準値、ロータリーエンコーダ１５ｂ，１５ｇの検出結果（回転位置）を現在位置とする演算によって、ベルト駆動用アクチュエータ１５ａ，１５ｆに対する電流指令値を算出し、ベルト駆動用アクチュエータ１５ａ，１５ｆを駆動するための駆動信号を出力する。また、フィンガー開閉制御部１０９は、上述の式（３）及び（４）に従って、フィンガー開閉用アクチュエータ１４ｄの力の目標値（反力がゼロ）を基準値、ロータリーエンコーダ１４ｅの検出結果（回転位置）を現在位置とする演算によって、フィンガー開閉用アクチュエータ１４ｄに対する電流指令値を算出し、フィンガー開閉用アクチュエータ１４ｄを駆動するための駆動信号を出力する。
【００６０】
ステップＳ９において、状態判定部１１１は、把持モードが摩擦軽減モードに設定され、かつ、可動部材１５Ａ，１５Ｂの位置変化が大きい（設定された閾値よりも変化量が大きい）か否かを判定する。即ち、摩擦軽減モードにおいて、可動部材１５Ａ，１５ＢがワークＷによって大きく押し広げられる状態であるか否かが判定される。
把持モードが摩擦軽減モードに設定されておらず、または、可動部材１５Ａ，１５Ｂの位置変化が大きくない場合、ステップＳ９においてＮＯと判定されて、処理はステップＳ１３に移行する。
一方、把持モードが摩擦軽減モードに設定され、かつ、可動部材１５Ａ，１５Ｂの位置変化が大きい場合、ステップＳ９においてＹＥＳと判定されて、処理はステップＳ１０に移行する。
【００６１】
ステップＳ１０において、フィンガー開閉制御部１０９は、フィンガー開閉用アクチュエータ１４ｄの力の目標値を減少させる（即ち、把持力を弱める）。
ステップＳ１１において、状態判定部１１１は、可動部材１５Ａ，１５Ｂの位置変化が収束した（変化量が一定範囲内となった）か否かを判定する。
可動部材１５Ａ，１５Ｂの位置変化が収束していない（変化量が一定範囲内となっていない）場合、ステップＳ１１においてＮＯと判定されて、処理はステップＳ１０に移行する。
一方、可動部材１５Ａ，１５Ｂの位置変化が収束した（変化量が一定範囲内となった）場合、ステップＳ１１においてＹＥＳと判定されて、処理はステップＳ１２に移行する。
【００６２】
ステップＳ１２において、フィンガー開閉制御部１０９は、フィンガー開閉用アクチュエータ１４ｄの力の目標値を元に戻す（即ち、ステップＳ８における把持力とする）。
ステップＳ１３において、把持システム１は、ロボットハンド１４が設定された下端位置に到達することに対応して、ワークＷを可動部材１５Ａ，１５Ｂで挟み込む。具体的には、ベルト駆動制御部１１０は、ベルト部材１５ｃ，１５ｈを停止させるようベルト駆動用アクチュエータ１５ａ，１５ｆを制御する（速度の目標値をゼロとする）と共に、フィンガー開閉制御部１０９は、ワークＷを持ち上げるために設定された把持力とするようフィンガー開閉用アクチュエータ１４ｄを制御する（力の目標値を設定された把持力とする）。
ステップＳ１４において、ハンド移動制御部１０７は、ロボットハンド１４を所定高さ（ワークＷが載置面から離れる高さ）まで持ち上げ、状態判定部１１１は、ベルト部材１５ｃ，１５ｈに加わる力（鉛直方向の力）を算出する。
【００６３】
ステップＳ１５において、状態判定部１１１は、ベルト部材１５ｃ，１５ｈに加わる力に一定以上の変化があるか否かの判定を行う。
ベルト部材１５ｃ，１５ｈに加わる力に一定以上の変化がある場合、ステップＳ１５においてＹＥＳと判定されて、処理はステップＳ１６に移行する。
一方、ベルト部材１５ｃ，１５ｈに加わる力に一定以上の変化がない場合、ステップＳ１５においてＮＯと判定されて、処理はステップＳ１７に移行する。
ステップＳ１６において、フィンガー開閉制御部１０９は、フィンガー開閉用アクチュエータ１４ｄの力の目標値を増加させる（即ち、把持力を強める）。
ステップＳ１６の後、処理はステップＳ８に移行する。
【００６４】
ステップＳ１７において、フィンガー開閉制御部１０９は、フィンガー開閉用アクチュエータ１４ｄの力の目標値を維持し、ハンド移動制御部１０７はワークＷを設定された高さ（搬送のための高さ）に持ち上げて、把持動作を完了させる。ステップＳ１７において把持されたワークＷは、目的とする解放領域（移送先）において解放される。
【００６５】
図６は、ロボットハンド１４がワークＷの把持を完了した状態を示す模式図である。
図６に示す状態において、フィンガー開閉制御部１０９は、フィンガー開閉用アクチュエータ１４ｄの力の目標値を維持し、ベルト駆動制御部１１０は、ベルト駆動用アクチュエータ１５ａ，１５ｆの速度の目標値を維持してワークＷの把持を継続している。
ステップＳ１７の後、把持処理は終了となる。
なお、複数のワークＷが把持対象となっている場合、把持処理が適宜繰り返される。
【００６６】
［解放処理］
図７は、把持システム１がワークＷを解放するための解放処理の流れを示すフローチャートである。
また、図８，９は、解放処理におけるロボットハンド１４の状態を示す模式図である。
以下、図８，９を適宜参照しながら、解放処理の流れを説明する。
解放処理の実行に先立ち、パラメータ設定部１０１によって、動作に必要な各種パラメータが予め設定される。また、解放処理が実行される場合、初期状態においては、把持処理によってワークＷを把持した状態（把持力等）が維持されている（図６参照）。
【００６７】
図７に示すように、ステップＳ２１において、アーム移動制御部１０６は、所定の位置（または速度）制御に従って、アーム移動用アクチュエータ１２を制御し、ワークＷの移送先の上方（設定された高さ）にロボットアーム１０を移動させる。また、ハンド回転制御部１０８は、所定の位置（または速度）制御に従って、ハンド回転用アクチュエータ１４ｂを制御し、ワークＷが目標とする向きになるように、ロボットハンド１４を回転させる。
【００６８】
ステップＳ２２において、フィンガー開閉制御部１０９は、把持力を維持するようにフィンガー開閉用アクチュエータ１４ｄを制御し、ベルト駆動制御部１１０は、ベルト部材１５ｃ，１５ｈを巻き下ろし方向に回転させる。このとき、フィンガー開閉制御部１０９は、上述の式（３）及び（４）に従って、フィンガー開閉用アクチュエータ１４ｄの力の目標値（設定された把持力）を基準値、ロータリーエンコーダ１４ｅの検出結果（回転位置）を現在位置とする演算によって、フィンガー開閉用アクチュエータ１４ｄに対する電流指令値を算出し、フィンガー開閉用アクチュエータ１４ｄを駆動するための駆動信号を出力する。また、ベルト駆動制御部１１０は、上述の式（３）及び（４）に従って、ベルト駆動用アクチュエータ１５ａ，１５ｆの速度の目標値（設定された下降速度）を基準値、ロータリーエンコーダ１５ｂ，１５ｇの検出結果（回転位置）を現在位置とする演算によって、ベルト駆動用アクチュエータ１５ａ，１５ｆに対する電流指令値を算出し、ベルト駆動用アクチュエータ１５ａ，１５ｆを駆動するための駆動信号を出力する。
【００６９】
図８は、ロボットハンド１４がベルト部材１５ｃ，１５ｈを移動させてワークＷを下降させている状態を示す模式図である。
図８に示す状態において、フィンガー開閉制御部１０９は、フィンガー開閉用アクチュエータ１４ｄの力の目標値を設定された把持力とし、ベルト駆動制御部１１０は、ベルト駆動用アクチュエータ１５ａ，１５ｆの速度の目標値を設定された下降速度としてワークＷを下降させている。
ステップＳ２３において、状態判定部１１１は、ワークＷが載置面に接触したか否かを判定する。
【００７０】
図９は、ロボットハンド１４がワークＷを下降させ、ワークＷが載置面に接触した状態を示す模式図である。
図９に示す状態において、状態判定部１１１は、ベルト部材１５ｃ，１５ｈに加わる力変化を検出することにより、ワークＷが載置面に接触したことを判定する。なお、ベルト部材１５ｃ，１５ｈに加わる力変化は、上述の式（３）及び（４）に従って制御を行う過程で算出されるパラメータの状態から判定することができる。
ワークＷが載置面に接触していない場合、ステップＳ２３においてＮＯと判定されて、処理はステップＳ２２に移行する。
一方、ワークＷが載置面に接触した場合、ステップＳ２３においてＹＥＳと判定されて、処理はステップＳ２４に移行する。
【００７１】
ステップＳ２４において、フィンガー開閉制御部１０９は、上述の式（３）及び（４）に従って、フィンガー開閉用アクチュエータ１４ｄの位置（または速度）の目標値（現在位置から設定された距離だけ可動部材１５Ａ，１５Ｂを開いた位置）を基準値、ロータリーエンコーダ１４ｅの検出結果（回転位置）を現在位置とする演算によって、フィンガー開閉用アクチュエータ１４ｄに対する電流指令値を算出し、フィンガー開閉用アクチュエータ１４ｄを駆動するための駆動信号を出力する。これにより、可動部材１５Ａ，１５Ｂが開き、ワークＷが載置面に載置される。
【００７２】
ステップＳ２５において、把持システム１は、ロボットアーム１０を退避位置に移動させる。
具体的には、ハンド移動制御部１０７は、上述の式（３）及び（４）に従って、ハンド移動用アクチュエータ１３の位置（または速度）の目標値（設定されたロボットハンド１４の高さに対応する位置）を基準値、ロータリーエンコーダ１３ａの検出結果（回転位置）を現在位置とする演算によって、ハンド移動用アクチュエータ１３に対する電流指令値を算出し、ハンド移動用アクチュエータ１３を駆動するための駆動信号を出力する。また、アーム移動制御部１０６は、所定の位置（または速度）制御に従って、アーム移動用アクチュエータ１２を制御し、退避位置にロボットアーム１０を移動させる。
ステップＳ２５の後、解放処理は終了となる。
【００７３】
以上のように、本実施形態に係る把持システム１は、フィンガー部１５の可動部材１５Ａ，１５Ｂの開閉、ベルト部材１５ｃ，１５ｈの回転及びロボットハンド１４の移動（ワークＷに対する進退）等を、力触覚の伝達に利用可能な位置及び力の制御を応用した制御則（式（３）及び（４）等）に基づいて制御する。
これにより、形状が不定形で軟弱なワークＷを、個々の形状に応じて、柔らかく把持することが可能となる。
即ち、本発明を適用した把持システム１によれば、形状や軟弱性に応じて柔軟にワークＷを把持することができる。
【００７４】
［変形例１］
上述の実施形態において、把持システム１がワークＷを把持する際のモードとして、摩擦軽減モード及び従動動作モードのいずれかに設定するものとして説明したが、これに限られない。
例えば、ベルト部材１５ｃ，１５ｈを停止させ、可動部材１５Ａ，１５Ｂを単純なフィンガーとして用いるモード（標準モード）や可動部材１５Ａ，１５Ｂの間に挟んだワークＷをベルト部材１５ｃ，１５ｈを駆動して昇降させるモード（昇降モード）等を設定することができる。
具体的には、標準モードは、ベルト部材１５ｃ，１５ｈを停止させ、ワークＷの幅よりも外側の空間で可動部材１５Ａ，１５Ｂを開閉することにより、可動部材１５Ａ，１５Ｂの間にあるワークＷを把持（または解放）するモードである。標準モードによれば、ワークＷの周囲に空間的な余裕がある場合に、ワークＷへの接触量を低減しつつワークＷを把持することができる。
また、昇降モードは、ロボットハンド１４を停止させ、可動部材１５Ａ，１５Ｂの間にワークＷの少なくとも一部を挟んだ状態で、ベルト部材１５ｃ，１５ｈを回転させ、ベルト部材１５ｃ，１５ｈの搬送力によりワークＷを昇降させて把持（または解放）するモードである。昇降モードによれば、ワークＷが密集した状態で、可動部材１５Ａ，１５Ｂの間にワークＷの一部のみを進入させることができる場合等に、ロボットハンド１４自体の昇降を行うことなく、少ないスペースでワークＷの把持動作を行うことができる。
【００７５】
［変形例２］
上述の実施形態及び変形例において説明した把持モードを、ワークＷが置かれた状況に応じて、適応的に選択することが可能である。
図１０は、密集したワーク群におけるワークＷの状態の一例を示す模式図である。
また、図１１は、ワークＷの接点数と把持方針との関係を示す模式図である。
図１０に示すワークＷの状態において、例えば、変形例２の標準モードと昇降モードを選択する場合、以下のような把持方針（図１１参照）とすることができる。
この場合、初めに、３Ｄカメラ等を使用して、対象となるワークＷと周囲のワーク間の隙間、ワーク同士の接点数を検出する。
そして、以下の把持方針に従って、制御装置３０が把持システム１を制御し、順次、ワークＷを取り出す。
【００７６】
（１）可動部材１５Ａ，１５Ｂが挿入できる十分な隙間があるワークＷから取り出す。
即ち、接点数＝０の場合（可動部材１５Ａ，１５Ｂを挿入する隙間がある場合）、標準モードでワークＷを把持する。
（２）隣接するワーク同士の接点数が少ない物から取り出す。
即ち、接点数＝１の場合（可動部材１５Ａ，１５Ｂを挿入する隙間がある場合）、標準モードでワークＷを把持する。
また、接点数＝２の場合、かつ、可動部材１５Ａ，１５Ｂを挿入する隙間がある場合、標準モードでワークＷを把持する。
また、接点数＝２の場合、かつ、可動部材１５Ａ，１５Ｂを挿入する隙間がない場合、昇降モードでワークＷを把持する。
また、接点数＝３の場合、昇降モードでワークＷを把持する。
なお、上述の把持方針に対し、ワークＷの軟弱性やワークＷの密集度合いに応じて、さらに、摩擦軽減モード、従動動作モードを加えた４つの把持モードを適応的に選択することとしてもよい。
例えば、ワークＷが軟弱である場合、摩擦軽減モードを選択し、ワークＷが密集していない場合、標準モードを選択し、ワークＷの密集度合いが中程度の場合、従動動作モードを選択し、ワークＷの密集度合いが高い場合、昇降モードを選択するといったことが可能である。
これにより、ワークＷの状態に応じて、より適切にワークＷを把持することができる。
【００７７】
［変形例３］
上述の実施形態において、ベルト部材１５ｃ，１５ｈは、ワークＷの把持動作において用いるものとして説明したが、これに限られない。
例えば、ベルト部材１５ｃ，１５ｈの回転を利用して、ワークＷを姿勢変化させることができる。
ワークＷが密集している場合、把持対象のワークＷに可動部材１５Ａ，１５Ｂを接触させ、ベルト部材１５ｃ，１５ｈを回転させることで、載置面に置かれたワークＷの姿勢を転回させる（例えば、９０度回転させて起立させる）こと等が可能である。
これにより、ワークＷが密集している場合等に、把持対象のワークＷを把持し易い状態に調整することができる。
また、可動部材１５Ａ，１５ＢにワークＷを把持した状態で、ベルト部材１５ｃ，１５ｈを同方向に回転（即ち、ベルト部材１５ｃ，１５ｈの対向する面を逆方向に移動）させることにより、把持したワークＷの姿勢を変化させることができる。
【００７８】
図１２は、把持したワークＷの姿勢を変化させる状態を示す模式図である。
図１２に示すように、ワークＷが可動部材１５Ａ，１５Ｂに把持された際に傾いていた場合、ベルト部材１５ｃ，１５ｈに加わる力を検出し、ベルト部材１５ｃ，１５ｈに加わる力が均等となるようにベルト部材１５ｃ，１５ｈを回転させ、ワークＷの姿勢を安定させることができる。このとき、重心位置を可動部材１５Ａ，１５Ｂ間の中央に位置させるように制御することが望ましい。
この場合、例えば、上述の式（３）及び（４）に従って、フィンガー開閉用アクチュエータ１４ｄの力の目標値（設定された把持力）を基準値、ロータリーエンコーダ１４ｅの検出結果（回転位置）を現在位置とする制御を行うことができる。
これにより、把持されたワークＷの姿勢を安定させることができ、より適切にワークＷを把持することができる。
なお、ベルト部材１５ｃ，１５ｈに加わる力を検出することの他、カメラ等を用いてワークＷの傾きを検出し、ベルト部材１５ｃ，１５ｈを回転させて、姿勢を補正することとしてもよい。
【００７９】
［変形例４］
上述の実施形態において、ロボットハンド１４のフィンガー部１５は、２つの可動部材１５Ａ，１５Ｂを備えるものとして説明したが、可動部材を３つ以上備えることとしてもよい。
図１３は、可動部材を３つ備えるロボットハンド１４の構成例を示す模式図である。
図１３に示すように、可動部材を３つ備える場合、把持したワークＷをロボットハンド１４に把持したまま、ベルト部材を回転させて姿勢を補正することがより容易となり、ワークＷをより適切に把持することができる。
【００８０】
［変形例５］
上述の実施形態において、フィンガー部１５の構成は種々の形態とすることが可能であり、例えば、内側に屈曲した可動部材の一部をヒンジによって回転可能に保持し、取り付け元の一端をアクチュエータによって進退させること等により、可動部材の先端が開閉する構成とすることが可能である。
図１４は、可動部材の先端が開閉する構成としたロボットハンド１４の構成例を示す図である。
ここで、図１４に示す構成においては、可動部材を開閉するアクチュエータの制御を行わない場合、可動部材の自重がワークＷに加わることとなる。
そこで、可動部材を開閉するアクチュエータにより、可動部材の自重を支える力を常時出力する（自重をキャンセルする）制御を行うことで、ワークＷに無用な力が加わることを抑制する。
これにより、ワークＷに加わる力をより適切なものとすることができる。
【００８１】
なお、本発明は、本発明の効果を奏する範囲で変形、改良等を適宜行うことができ、上述の実施形態に限定されない。
例えば、上述の実施形態において、ワークＷを移送する目的の他、ワークＷの物理量を検出するためにワークＷを把持することとしてもよい。即ち、ベルト部材１５ｃ，１５ｈに加わる力を検出することで、ワークＷの重量を計測することができる。また、可動部材１５Ａ，１５ＢがワークＷを把持した位置からワークＷの大きさを計測することができる。さらに、可動部材１５Ａ，１５ＢがワークＷを把持する力からワークＷの硬さ（反力）を計測することができる。
なお、これらの物理量は、上述の式（３）及び（４）に従って制御を行う過程で算出されるパラメータの状態から算出することができる。
【００８２】
また、上述の実施形態において、カメラ２０によってワークＷを撮影し、ワークＷの位置、大きさ及び形状等の属性を認識する場合を例に挙げて説明したが、これに限られない。即ち、ワークＷの位置、大きさ及び形状等の属性を認識できる方法であれば、例えば、レーザー光を照射することにより、ワークＷの属性を表すデータを取得する等、各種方法を用いることが可能である。
さらに、上述の実施形態において、ロボットアーム１０は、ワークＷを把持可能な各種形態のものとすることが可能である。例えば、ロボットアーム１０として、６軸等の垂直多関節ロボットや、パラレルリンク型ロボット等を用いることが可能である。
【００８３】
また、上述の実施形態に記載された例を適宜組み合わせて、本発明を実施することが可能である。
上述の実施形態における制御のための処理は、ハードウェア及びソフトウェアのいずれにより実行させることも可能である。
即ち、上述の処理を実行できる機能が把持システム１に備えられていればよく、この機能を実現するためにどのような機能構成及びハードウェア構成とするかは上述の例に限定されない。
【００８４】
なお、上記実施形態は、本発明を適用した一例を示しており、本発明の技術的範囲を限定するものではない。即ち、本発明は、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができ、上記実施形態以外の各種実施形態を取ることが可能である。本発明が取ることができる各種実施形態及びその変形は、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８５】
１  把持システム、１０  ロボットアーム、１１  筐体、１２  アーム移動用アクチュエータ、１２ａ，１３ａ，１４ｃ，１４ｅ，１５ｂ，１５ｇ  ロータリーエンコーダ、１３  ハンド移動用アクチュエータ、１４  ロボットハンド、１４ａ  ロッド、１４ｂ  ハンド回転用アクチュエータ、１４ｄ  フィンガー開閉用アクチュエータ、１４ｆ  フィンガーベース部材、１５  フィンガー部、１５Ａ，１５Ｂ  可動部材、１５ａ，１５ｆ  ベルト駆動用アクチュエータ、１５ｃ，１５ｈ  ベルト部材、１５ｄ，１５ｅ，１５ｉ，１５ｊ  プーリー、２０  カメラ、３０  制御装置、４０  ガイドレール、１００  演算処理部、１０１  パラメータ設定部、１０２  画像取得部、１０３  画像解析部、１０４  把持対象特定部、１０５  位置情報取得部、１０６  アーム移動制御部、１０７  ハンド移動制御部、１０８  ハンド回転制御部、１０９  フィンガー開閉制御部、１１０  ベルト駆動制御部、１１１  状態判定部、２００  記憶部、２０１  制御データ記憶部
【図１】
2020142311.tif 000005
【図２】
2020142311.tif 000006
【図３】
2020142311.tif 000007
【図４】
2020142311.tif 000008
【図５】
2020142311.tif 000009
【図６】
2020142311.tif 000010
【図７】
2020142311.tif 000011
【図８】
2020142311.tif 000012
【図９】
2020142311.tif 000013
【図１０】
2020142311.tif 000014
【図１１】
2020142311.tif 000015
【図１２】
2020142311.tif 000016
【図１３】
2020142311.tif 000017
【図１４】
2020142311.tif 000018