(57)【要約】【課題】  従来のロボットハンドではハンドに掛る力及びモーメント力を指先にｘｙｚ座標軸方向の力及び各軸回りのモーメント力を測定できる大型６軸力覚センサを設置することで検出していた。しかし、この場合指先が大きくなる為、把持した部品の組付けなどの際に周辺物と干渉してしまう問題があった。【解決手段】  各指先にｘｙｚ座標軸方向の力のみを測定できる力センサを設置し、ハンドに掛る力及びモーメント力を指先の位置情報を基に演算することで求める。これにより、大型の力覚センサを用いることなく指先を小さくした上でハンドに掛る荷重とモーメント力を検出することができる。【選択図】  図４
2018192568.tif 000002
【特許請求の範囲】
【請求項１】
複数の把持指を備えたハンド部により対象物を把持するロボットハンドであって、
前記複数の把持指を開閉させる開閉駆動機構と、
前記複数の把持指の把持部にかかる力情報を検出する複数の力検出手段と、
前記開閉駆動機構により開閉駆動される前記複数の把持指の位置情報を検出する位置検出手段と、を有しており、
前記力検出手段により検出された前記力情報と、前記位置検出手段により検出された前記位置情報が前記ハンド部の共通の座標に変換され、当該座標上の任意の位置において作用する３軸方向の力と、前記３軸の各軸回りに作用するモーメントが演算され、
前記演算から得た前記３軸方向における力と、前記各軸回りに作用するモーメントに基づいて、前記ハンド部の位置が制御されることを特徴とするロボットハンド。
【請求項２】
請求項１に記載のロボットハンドにおいて、前記力検出手段は、前記複数の各把持指の把持部に作用する荷重を検出する３軸力覚センサであることを特徴とするロボットハンド。
【請求項３】
請求項１または請求項２に記載のロボットハンドにおいて、
前記複数の把持指を前記ハンド部に対して旋回させる旋回駆動機構を備え、前記位置検出手段は、前記開閉駆動機構と前記旋回駆動機構によって駆動された前記各把持指の前記ハンド部に対する位置を検出するように構成されていることを特徴とするロボットハンド。
【請求項４】
請求項２または請求項３に記載のロボットハンドにおいて、前記位置検出手段は前記各把持指に設けられた位置検出用のエンコーダの出力に基づいて位置情報を検出することを特徴とするロボットハンド。
【請求項５】
請求項１または請求項４に記載のロボットハンドにおいて、前記任意の位置は、前記対象物を把持した前記ハンド部の重心位置であることを特徴とするロボットハンド。
【請求項６】
請求項５に記載のロボットハンドにおいて、前記制御手段は、前記対象物を把持して組立を行う際、前記対象物を介して受ける力及びモーメントの変化に基づいて前記ハンド部の位置を制御することを特徴とするロボットハンド。
【請求項７】
請求項１から請求項３のいずれか１項に記載のロボットハンドにおいて、前記複数の把持指の内、旋回する把持指がアクチュエータにより１つの駆動源で旋回可能であることを特徴とするロボットハンド。
【請求項８】
請求項１から請求項７のいずれか１項に記載のロボットハンドにおいて、
前記ハンド部を制御するハンド制御手段と、
前記ハンド部を先端部に取り付けたアーム本体と、
前記アーム本体の位置を制御するアーム制御手段と、を備え、
前記ハンド制御手段は、前記演算手段より得た前記３軸方向における力と、前記各軸回りに作用するモーメントの情報を前記アーム制御手段へと供給し、前記演算手段により得た力とモーメントの情報に基づいて前記アーム制御手段によって前記アーム本体を駆動させ、前記ハンド部の位置を制御することを特徴とするロボット装置。
【請求項９】
開閉可能な複数の把持指を備えたハンド部により対象物を把持するロボットハンドの制御方法であって、
前記複数の把持指に配された力検出手段によって前記各把持指にかかる力情報を検出する力検出工程と、
前記複数の把持指の開閉駆動機構に設けられた位置検出手段によって前記各把持指の位置情報を検出する位置検出工程と、
前記力検出工程において検出された前記力情報と、前記位置検出工程において検出された前記位置情報を前記ハンド部の共通の座標に変換し、当該座標上の任意の位置において作用する３軸方向の力と、前記３軸の各軸回りに作用するモーメントを演算する演算工程と、
前記演算工程によって得た前記３軸方向における力と、前記各軸回りに作用するモーメントに基づいて、前記ハンド部の位置を制御する制御工程と、を有することを特徴とするロボットハンドの制御方法。
【請求項１０】
請求項９に記載のロボットハンドの制御方法において、前記任意の位置は、前記対象物を把持した前記ハンド部の重心位置であることを特徴とするロボットハンドの制御方法。
【請求項１１】
請求項１０に記載のロボットハンドの制御方法において、前記制御工程は、前記対象物を把持して組立を行う際、前記対象物を介して受ける荷重及びモーメントの変化に基づいて前記ハンド部の位置を制御することを特徴とするロボットハンドの制御方法。
【請求項１２】
請求項１０に記載のロボットハンドの制御方法において、
前記ハンド部を先端部に取り付けたアーム本体の位置を制御するアーム制御工程を備え、
前記アーム制御工程は、前記演算工程より得た前記３軸方向における力と、前記各軸回りに作用するモーメントの情報を前記アーム制御工程へと供給し、前記アーム制御工程によって前記アーム本体を駆動させ、前記ハンド部の位置を制御することを特徴とするロボットハンドの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、力検知センサが内蔵されたロボットハンドに関する。
【背景技術】
【０００２】
産業用のロボットハンドは従来、ワークを把持し他の場所へ移動させる為に用いられていた。しかし近年では、把持したワークを他のワークへ直接組付けを行う用途にも用いられるようになっている。精度の高い嵌合やワーク同士の接触の判定が必要な組付けでは、組付の際に生じる反力をハンドの指近くで検出し、組立制御に反映する必要がある。そのため、ロボットハンドの指近くにＸＹＺ座標軸方向の力及び各軸回りのモーメント力を合わせた６軸方向の力検知センサを内蔵させ、ワークを把持した際に発生する力を検出し精度の高い組立制御を行う提案が参考文献１でなされている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第２６６３１４４号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の方法では指近くに６軸力方向の検知センサを備えるため、指部分が大型化してしまう。ワークの組付け作業を行う場合、指部分が組付け先のワークに接近する必要があり、干渉を生じないように小型化される事が望まれている。
【０００５】
また、センサには電気配線がなされるが、頻繁に動作をする指部材では配線が多いほど断線や接触不良が生じる確率が高まる為、信頼性が低下してしまう。さらに、センサの校正や保守を行う際は軸ごとに確認を行わなければならず、作業が煩雑になってしまう。
【０００６】
そこで、本発明の課題は指近くに少ない軸数の力検知センサを設置し、その測定値と指の位置情報をハンド部共通の座標に変換し、当該座標上の任意の位置における３軸方向の力と３軸回りのモーメント力を算出できるロボットハンドを提案する事にある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、複数の把持指を備えたハンド部により対象物を把持するロボットハンドであって、前記複数の把持指を開閉させる開閉駆動機構と、前記複数の把持指の把持部にかかる力情報を検出する複数の力検出手段と、前記開閉駆動機構により開閉駆動される前記複数の把持指の位置情報を検出する位置検出手段と、を有しており、前記力検出手段により検出された前記力情報と、前記位置検出手段により検出された前記位置情報が前記ハンド部の共通の座標に変換され、当該座標上の任意の位置において作用する３軸方向の力と、前記３軸の各軸回りに作用するモーメントが演算され、前記演算から得た前記３軸方向における力と、前記各軸回りに作用するモーメントに基づいて、前記ハンド部の位置が制御されることを特徴とするロボットハンドを採用した。
【発明の効果】
【０００８】
上記の方法によれば、ハンド部共通の座標上の任意の位置における３軸方向の力と３軸回りのモーメント力を求める際、従来よりも指近くに設置するセンサを簡単な構成にする事ができ、指部を小型化する事が出来る。また、センサへの配線も少なくできるため、断線や接触不良が生じにくくなり信頼性が向上する。さらに、センサの校正や保守作業も簡単にする事が出来る。
【図面の簡単な説明】
【０００９】
【図１】実施形態１のロボットシステムに係る概略構成を示した説明図である。
【図２】実施形態１のロボットハンドに係る概略構成を示した説明図である。
【図３】実施形態１のロボットハンドとロボットアームの外観図である。
【図４】実施形態１のロボットハンドの把持指先部に係る構成を示した説明図である。
【図５】実施形態１のモーメント演算手段に係る演算方法の説明図である。
【図６】実施形態１のモーメント演算手段に係る制御ブロック図である。
【図７】実施形態１のロボットハンドを用いた際のワークの組み立て動作説明図である。
【図８】実施形態１のロボットハンドを用いた際のワークの組み立て動作のフローチャート図である。
【図９】実施形態２のロボットハンドに係る概略構成を示した図である。
【図１０】実施形態２のロボットハンドに係る駆動・伝達系を下から見た図である。
【図１１】実施形態２のロボットハンドに係る駆動・伝達系の断面図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施形態はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００１１】
（実施形態１）
本実施形態では、複数の把持指が把持対象物を把持する把持力と、複数の把持指の位置情報に基づいて、ハンド部共通の座標上の任意の位置における３軸方向の力と３軸回りのモーメント力を演算する。そして、把持対象物の把持位置を制御する把持装置の構成、および制御方法を示す。以下の実施例では、把持装置および把持部は、それぞれロボットハンド（以下ハンドという）およびその把持指に相当する。
【００１２】
一般的にハンドの複数の把持指による把持力は、それらの相対変位を制御する駆動源のパラメータ（例えば駆動電力、電流あるいはサーボ制御情報など）によって制御装置（例えば後述のＣＰＵ５０１）が計算して求めている。しかしながら、本実施形態では、ハンドの把持指に配置した力センサで実測する。これによって、より把持状況に即した制御が可能になる。力センサにはロードセル、歪ゲージや光学的に検出部の変形量を測定する方式の力検出デバイスを利用することができる。
【００１３】
以下、添付図面を参照して、本実施形態１における構成および把持制御につき説明する。図１は、本発明のハンド制御装置を用いた本実施形態のロボットシステムの概略構成を示している。
【００１４】
本実施形態のロボットシステム１００は、アーム本体２００、ハンド３００、アーム制御装置４００、ハンド制御装置５００を備える。組立用部品であるワークＷ１は、ワーク載置台Ｓ１上に載置され、被組立対象物であるワークＷ２は、ワーク固定台Ｓ２上に固定されている。
【００１５】
ロボットシステム１００によってワークＷ１、ワークＷ２を操作し、組み立てることにより、工業製品、ないしはその部品を製造することができる。例えば、このワークＷ１、Ｗ２に対する組み立て操作は、アーム本体２００とハンド３００を用いて把持対象物としてのワークＷ１を把持し、移動させ、さらにワークＷ１をワークＷ２の組付部に嵌合させる、といった操作によって行われる。
【００１６】
アーム本体２００は、本実施形態では多関節のロボットアームであり、アーム本体２００の根元は基台６００に固定され、アーム本体２００の先端には、把持装置であるハンド３００が装着される。このハンド３００を介してワークＷ１に対して動作を行う。また、アーム本体２００の各関節には、これらの関節を各々駆動する駆動源としてモータ、およびモータの回転角度を検知する検知器としてエンコーダがそれぞれ設けられる。
【００１７】
アーム制御装置４００は、ハンド３００の移動先であるアーム先端の目標位置姿勢に対して、アーム本体２００の各関節の取るべき角度を計算し、各関節のモータを制御するサーボ回路（不図示）に対して指令値を出力する。ハンド制御装置５００はアーム制御装置４００と接続され、ハンド３００に対して把持指令を出力する。この把持指令は例えば番号、即ち数値表現のデータ（把持指令テーブル）で出力することができる。
【００１８】
ハンド制御装置５００は、図１に示すように、マイクロプロセッサなどから成るＣＰＵ５０１と、このＣＰＵ５０１にバス接続されたＲＯＭ５０２、ＲＡＭ５０３、汎用信号インターフェイス５０４、ハンドモータドライバ５０５などから構成される。ＲＯＭ５０２には、ハンド３００を制御するプログラムが格納される。また、ティーチングペンダント７００を用いユーザーによって把持指令を行っても良い。
【００１９】
アーム制御装置４００の詳細は、後述のハンド制御装置５００の５０１〜５０５で示す構成と同様、ＣＰＵ、ＲＯＭ、ＲＡＭ、汎用信号インターフェイス、モータドライバなどから構成することができる。このうち、汎用信号インターフェイス５０４はアーム本体２００の各部のセンサなどと通信するために、また、アームモータドライバ４０５は、アーム本体２００の各関節を駆動するモータの制御に用いられる。
【００２０】
図２は、本実施形態１におけるハンド３００の概略構成を示している。ハンド３００は、把持部として、３本の把持指（フィンガ）３４０１〜３４０３を有する。
【００２１】
これらの把持指３４０１〜３４０３は、リンク３５１、３５２、３５３と、回転駆動される関節Ｊ１〜Ｊ５によって互いに相対変位するよう制御され、これにより把持の対象物（後述の各ワーク）を把持、または把持開放するように動作する。従って、このハンド３００の把持指（３４０１〜３４０３）はこれら関節Ｊ１〜Ｊ５によって駆動される。
【００２２】
ハンド３００の各把持指（３４０１〜３４０３）の駆動伝達系の一部を構成するリンク３５１〜３５３は、例えば図示のような、いわゆる平行四節リンク機構である。この構成により、各把持指（３４０１〜３４０３）は互いに例えば平行姿勢を保持したまま開閉可動とすることができる（開閉駆動機構として作用する）。平行姿勢を保持したまま開閉可能な機構であれば平行リンク以外の機構を用いても良い。
【００２３】
各把持指（３４０１〜３４０３）の相対変位を制御するためのリンク３５１、３５２、３５３は、それぞれ関節Ｊ１、Ｊ２、Ｊ３によって駆動される。
【００２４】
また、本実施形態では、３本の把持指のうち、２本の把持指３４０１、３４０２はそれぞれ１自由度の関節Ｊ４、Ｊ５によって矢印ａ、ｂの方向に旋回可能なようにモータ３１４、３１５が備えられている。これにより、把持指３４０３に対する、把持指３４０１、３４０２の旋回姿勢を制御することができる（旋回駆動機構として作用する）。
【００２５】
上記の把持指３４０１〜３４０３の駆動機構は、アーム本体２００の先端に装着されるハンド３００の基部３６に支持される。図２に示したＸＹＺ座標系は、基部３６の中心軸３６１が通る、例えば基部３６の上面上の１点などを原点としたハンド共通の座標系である。
【００２６】
図２において、指３４０１、３４０２の関節Ｊ４、Ｊ５を結ぶよう、直線で簡略図示した支持部３６２は、例えばハンド座標系（ＸＹＺ）のＹ軸と平行に基部３６の中心軸３６１に支持される。また、把持指３４０１の関節Ｊ１は、便宜上、Ｌ字型で図示した支持部３６２を介して、基部３６上で関節Ｊ４、Ｊ５と同じ高さに支持される。
【００２７】
関節Ｊ４、Ｊ５は互いに独立して動作し、Ｊ４、Ｊ５は個々の駆動量で駆動される。本実施形態では、把持指３４０３に対して、把持指３４０１、３４０２が対称的な旋回姿勢を取るよう制御される。本実施形態では、関節Ｊ４、Ｊ５による把持指３４０１、３４０２の旋回角度は、便宜上、上記Ｙ軸と略平行に配置された関節Ｊ４、Ｊ５の支持部３６２に対する角度を用いて表現する。
【００２８】
例えば、図２の図示は、関節Ｊ４、Ｊ５が支持部３６２（ないしは上記Ｙ軸）に対してそれぞれ９０°をなす時、把持指３４０３に対して把持指３４０１、把持指３４０２が対向して配置されている状態を示している。また、関節Ｊ４、Ｊ５を図２の状態から、同図の矢印ａ、ｂの方向にそれぞれ９０°だけ回転させた状態の角度は、以下では０°と表現する。また、関節Ｊ４、Ｊ５を図２の状態から、同図の矢印ａ、ｂの方向にそれぞれ６０°だけ回転させた状態の角度は、以下では３０°と表現する。本実施形態では、例えば後述の図５などに関しては、関節Ｊ４、Ｊ５の回転角度について、上記のような数値表現を行うことがある。
【００２９】
また、図２において、各把持指のリンクは、モータ３１１〜３１５にそれぞれ直結した減速機３２１〜３２５を介して駆動され、かつ力センサ３４１、３４２、３４３によって、各把持指に作用する力を検出できるようになっている。また、モータ３１１〜３１５にはモータの各々の回転角度を検知するエンコーダ３３１〜３３５が設けられる。
【００３０】
ハンド制御装置５００内のＣＰＵ５０１は、エンコーダ３３１〜３３５の出力値を用いて、上記の各関節Ｊ１〜Ｊ５の回転角度を計算することができる。その場合、ＣＰＵ５０１は、減速機３２１〜３２５の減速比を用いてエンコーダ３３１〜３３５の出力値を各関節Ｊ１〜Ｊ５の回転角度に変換することができる。これにより、各把持指のハンド座標系（ＸＹＺ）における位置情報となる値を検出することができる（開閉駆動機構と旋回駆動機構の位置情報を検出する位置検出手段として作用する）。すなわち同図において、把持指３４０１については、リンク３５１による移動位置、把持指３４０１、３４０２については、リンク３５１、３５２による平行移動と関節Ｊ４、Ｊ５による旋回による移動位置及び旋回角度（把持面の方向）を検出することができる。
【００３１】
図３にハンド３００をアーム本体２００の先端部に組み付けた際の外観図を示す。本実施形態のアーム本体２００は多関節アームを用いるが、１軸のみの動きを行う単関節アームでもよい。図３に示すようなロボット装置を図１に示すロボットシステムに用いワークの把持、組立て作業を行う。
【００３２】
図４に本実施形態のハンドの把持指先部の詳細図を示す。本実施形態では、把持指３４０１、把持指３４０２、把持指３４０３、全ての指の先端にそれぞれ力センサ３４１、３４２、３４３を設けてあり、これらの把持指に加わる荷重（力情報）を検出することができる（力検出手段として作用する）。
【００３３】
本実施形態では把持指３４０１、把持指３４０２、把持指３４０３に力センサ３４１、３４２、３４３を設けている。これは、各把持指にかかる把持力と前述した各把持指の位置情報を用いてハンド座標系（ＸＹＺ）における任意の位置を基準にハンド全体の各軸にかかるモーメントを検出できるようにするためである。（図４では点Оが任意の位置となる）なお、本実施形態では磁気式の３軸力覚センサを各把持指に用いている。なお、把持指にかかる荷重（力情報）を検出できるものであれば、歪ゲージを用いてもよい。
【００３４】
上記構成により、各把持指にかかる荷重（力情報）と、各把持指の位置情報を検出でき、後述する演算手段によりハンド全体にかかるモーメントを算出することができる。以下、図４、図５を参照して、本実施形態１におけるモーメントの演算手段につき説明する。
【００３５】
図４において、指３４０１に設置された力センサ３４１が検出する把持指座標系（ｘｙｚ）における力の測定値をそれぞれＦｘ１、Ｆｙ１、Ｆｚ１とする。指３４０２に設置された力センサ３４２が検出する把持指座標系（ｘｙｚ）における力の測定値をそれぞれＦｘ２、Ｆｙ２、Ｆｚ２とする。指３４０３に設置された力センサ３４３が検出する把持指座標系（ｘｙｚ）における力の測定値をそれぞれＦｘ３、Ｆｙ３、Ｆｚ３とする。また、ハンド座標系（ＸＹＺ）の任意の点Ｏ（Ｘ０，Ｙ０，Ｚ０）において掛る力をＦＸ、ＦＹ、ＦＺ、モーメント力をＭＸ、ＭＹ、ＭＺとする。
【００３６】
ここで簡単の為に図５の様に、各指に設置された力センサ（３４１、３４２、３４３）が検出する力のｘｙ座標面とハンド座標系（ＸＹＺ）の任意の点Оに掛る力のＸＹ座標面が同一平面にあるとする。また、力センサ３４３が検出するｘ軸方向の力Ｆｘ３（把持指３４０１のｘｙｚ座標による）とハンド座標系（ＸＹＺ）の任意の点Оに掛る力ＦＹ（この点におけるＸＹＺ座標上のＹ軸方向の力）とが同一軸上逆方向である場合を想定する。
【００３７】
この時、把持指の位置情報として力センサ３４１の位置からハンド座標系（ＸＹＺ）の任意の点Ｏまでの距離をＬ１、同様に、力センサ３４２、力センサ３４３の位置からハンド座標系（ＸＹＺ）の任意の点Оまでの距離をそれぞれＬ２、Ｌ３とする。さらに、センサ３４１が検出する力Ｆｘ１とハンド座標系（ＸＹＺ）の任意の点Оに掛る力ＦＸ軸とのなす角度をΘ１とする。また、力センサ３４２が検出する力Ｆｘ２とハンド座標系（ＸＹＺ）の任意の点Оに掛る力ＦＸとのなす角度をΘ２、なお、Ｌ１、Ｌ２、Ｌ３は各指を把持駆動するモータ３１１、３１２、３１３の回転角度を基に計算する事で求める。Θ１、Θ２は旋回運動を駆動するモータ３１４、３１５の回転角度を基に計算する事で求める。
【００３８】
外力を受けているワーク（不図示）が３本の指部材（３４０１、３４０２、３４０３）に把持され静止している時、ハンド座標系（ＸＹＺ）の任意の点Оに掛る外力と３つの力センサ（３４１、３４２、３４３）に加わる力はつり合っている。この事から、力のつり合い式を解くことで以下の演算式の通りハンドに掛る力及びモーメント力が得られる。
（数１）
ＦＸ＝−Ｆｘ１ｃｏｓΘ１−Ｆｙ１ｓｉｎΘ１＋Ｆｘ２ｃｏｓΘ２−Ｆｙ２ｓｉｎΘ２＋Ｆｙ３
（数２）
ＦＹ＝Ｆｘ１ｓｉｎΘ１−Ｆｙ１ｃｏｓΘ１＋Ｆｘ２ｓｉｎΘ２−Ｆｙ２ｃｏｓΘ２＋Ｆｘ３
（数３）
ＦＺ＝Ｆｚ１＋Ｆｚ２＋Ｆｚ３
（数４）
ＭＸ＝−Ｆｚ１Ｌ１ｓｉｎΘ１−Ｆｚ２Ｌ２ｓｉｎΘ２＋Ｆｚ３Ｌ３
（数５）
ＭＹ＝−Ｆｚ１Ｌ１ｃｏｓΘ１＋Ｆｚ２Ｌ２ｃｏｓΘ２
（数６）
ＭＺ＝−Ｆｙ１Ｌ１−Ｆｙ２Ｌ２−Ｆｙ３Ｌ３
Ｌ１〜Ｌ３：ハンド座標系（ＸＹＺ）における把持指からハンド３００上の任意の位置（点О）までの距離
Θ１、Θ２：ハンド座標系（ＸＹＺ）における把持指の旋回角度
※それぞれ把持指のエンコーダから得る
この演算式を算出手段としてＣＰＵ５０１で計算しハンドの任意の点Оに掛るＸＹＺ座標軸方向の力（ＦＸ、ＦＹ、ＦＺ）及び、各軸回りのモーメント力（ＭＸ、ＭＹ、ＭＺ）を求める。
【００３９】
本実施形態では、簡単の為に各指に設置された力センサ（３４１、３４２、３４３）が検出する力のｘｙ座標面とハンド座標系（ＸＹＺ）の任意の点Оに掛る力のＸＹ座標面が同一平面にあるとした。また、力センサ３４３が検出するｘ軸方向の力Ｆｘ３（把持指３４０３のｘｙｚ座標による）と、ハンド座標系（ＸＹＺ）の任意の点Оに掛る力ＦＹ（この点におけるＸＹＺ座標上のＹ軸方向の力）とが同一軸上逆方向である場合を想定した。しかし、前記ハンドの基準位置は上記に限られるものではなく、ハンド３００の根元部などに任意の位置を設定しても同様に力のつり合い式を解くことでモーメント力を得る事が出来る。
【００４０】
上記により、各把持指にかかるｘ、ｙ、ｚ３軸方向の力と各把持指の位置情報を検出できる。これにより、大型で高価な６軸センサを各把持指近くに実装することなく、ハンド座標系（ＸＹＺ）の任意の点Оに作用するＸ、Ｙ、Ｚ軸方向の力と、各軸まわりのモーメントを求めることができる。
【００４１】
図６に、上記モーメント演算手段を含めた本実施形態の制御ブロック図を示す。モーメント演算手段は、ハンド制御装置５００内のＣＰＵ５０１内に構成された演算装置５０１ａによって実現される。
【００４２】
まず、ワークを把持する。その際、各把持指の力センサ（３４１、３４２、３４３）のハンド座標系（ＸＹＺ）における移動位置、旋回角度（把持面の方向）を各モータ、減速機を考慮したエンコーダの出力から検出し、把持指の把持部にかかる荷重（力情報）を力センサから検出する。そして、上記モーメント演算手段により、ハンド座標系（ＸＹＺ）の任意点でのモーメントを演算する。これらの各把持指の力センサの位置、各把持指の把持面に作用する荷重及び算出されるモーメントの情報はリアルタイムで演算され、更新される。
【００４３】
また演算装置５０１ａはアーム制御を行うアーム制御装置４００を制御する指令生成部をかねる。ＲＯＭ５０２には把持ワークの許容モーメント値を格納しておく。こうすることで演算装置５０１ａにより算出したモーメント値と比較してエラー表示や、把持姿勢を異ならせる指示をアーム制御装置に行うことができる。
【００４４】
上記のように、算出されたモーメント値、検出された荷重、移動位置、旋回角度をもとに、ハンド座標系（ＸＹＺ）の任意の点Оを把持されたワークの重心として、把持ズレ時に生じるモーメントの変化を検知する。そしてアーム制御装置４００に指令値を出力し、ハンド３００の位置を制御することでワークを正しく組み付けることが可能となる。
【００４５】
図６より、ハンド指令値生成部５１０はハンド３００の把持指の目標位置である把持指位置指令値と把持力の目標値である把持力指令値をそれぞれ生成する。またアーム指令値生成部４１０はハンド部３００がワークを把持できるようハンド３００全体の位置の目標位置であるアーム位置指令値を生成する。
【００４６】
ハンド指令値生成部５１０によって生成された把持指位置指令値は把持指位置制御部５２０に、把持力指令値は把持力制御部５３０へとそれぞれ供給される。そして把持指位置指令値に応じた目標把持位置において、把持力指令値に応じた把持力でワークを把持するよう、各把持指を駆動するための制御値が生成される。そして、ハンドモータドライバ５０５へと供給され、各関節Ｊ１からＪ５のモータ３１１から３１５を駆動する。これによって把持指３４０１、３４０２、３４０３による把持動作が行われる。
【００４７】
なお、各モータは位置制御の場合は把持指位置制御部５２０で制御が行われ、力制御の場合は把持力制御部５３０で制御が行われる。本実施形態では関節Ｊ１からＪ３のモータ３１１、３１２、３１３が位置制御と力制御を同時にあるいは選択して行うことができる。関節Ｊ４、Ｊ５のモータ３１４、３１５は把持指の旋回用のモータであり、把持を行うためのリンク機構の動作に関与しないため、位置制御のみ行われ、把持力制御は行わない。
【００４８】
各把持指にはエンコーダ（３３１から３３５）と力センサ（３４１から３４３）が設けられている。そして、ワークを把持した際の把持指座標系（ｘｙｚ）上での位置情報と把持指にかかる荷重を表す力情報（Ｆｘ、Ｆｙ、Ｆｚ）が検出される。これらが、それぞれ把持力制御部５３０、把持指位置制御部５２０の入力側へとフィードバックされ、把持指の位置と把持力のフィードバック制御が行われる。
【００４９】
また、アームの制御についてみると、アーム位置制御部４２０はハンド３００全体をワーク近くに運ぶためのアーム制御値をアームモータドライバ４０５に出力する。そして、アームの各関節に配された駆動用のモータ４０６（各関節に配された複数のモータを代表して示す）を駆動し、アーム本体２００の位置、姿勢を制御する。また、その時のアームの位置情報は、アーム位置検出用のエンコーダ４０７によって検出され、アーム位置制御部４２０の入力側へとフィードバックされ、アームの位置のフィードバック制御が行われる。
【００５０】
また上述したように、エンコーダ（３３１から３３５）、力センサ（３４１から３４３）によってそれぞれ検出された、把持指座標系（ｘｙｚ）上での位置情報と各把持指の力情報（Ｆｘ、Ｆｙ、Ｆｚ）は、同時に演算装置５０１ａにも供給される。演算装置５０１ａは、各把持指それぞれにおいて検出された力情報（Ｆｘ、Ｆｙ、Ｆｚ）と位置情報を共通のハンド座標系（ＸＹＺ）に変換する。そして上記で述べた数式（数１）〜（数６）を用いハンド座標系（ＸＹＺ）の任意の位置にかかるモーメント（ＭＸ、ＭＹ、ＭＺ）を算出する。
【００５１】
演算装置５０１ａはメモリ５０１ｂと通信可能に接続されており、ＲＯＭ、ＲＡＭ、フラッシュメモリといった記録媒体で構成される。メモリ５０１ｂにはワークが正常に組み付けられた時の各把持指での荷重値と、ハンド座標系（ＸＹＺ）の任意の位置にかかるモーメント値が格納されている。これらの値と検出された各把持指での荷重値（Ｆｘ、Ｆｙ、Ｆｚ）、算出されたモーメント（ＭＸ、ＭＹ、ＭＺ）を比較しワークのズレ方向を予測する。
【００５２】
ズレ方向を予測したら、ズレ方向を解消する方向にワークの位置をシフトするため、アーム制御部４２０に指令値を出力する。本実施形態ではズレ解消方向に一定量ワークを動かすためのアームモータ駆動量の指令値を出力する。ズレ解消方向にワーク位置をずらすことで適切な組み付けを行うことができる。
【００５３】
実際の組付け動作を図７、図８を用いて説明する。図７は本実施形態のロボットハンドを用いてワークを組み付ける過程を説明するための図である。図８はワーク組み付け動作のフローチャートである。
【００５４】
図７のワークｂは、ワークａが組み付くための組み付け部となる凹部１０を有する。またワークａはワークｂが組み付くための組み付け部（凸部）を有する。アーム本体２００、ハンド３００をワークａの把持直前位置まで移動した状態から説明を行う。またハンド３００は常にワークａの予め決められた目標把持位置を把持するものとし、ワークｂは動かないよう治具により固定されているものとする。
【００５５】
またメモリ５０１ｂには、ハンド座標系（ＸＹＺ）の任意の位置を、ワークａを把持したときのハンドの重心位置（点О）に設定したときのワークａがワークｂへと接触するときの把持指の位置情報が記憶されている。さらにワークａがワークｂの凹部１０に完全に挿入されたときの位置情報及びワークｂから受ける反力の力情報が記憶されている。そして、ワークａがワークｂの凹部１０に正常に挿入されている際に検出される各把持指での荷重値（Ｆｘ、Ｆｙ、Ｆｚ）、摩擦等によって受ける反力、モーメント値（ＭＸ、ＭＹ、ＭＺ）の変化の許容範囲等の情報が記憶されている。
【００５６】
ここで、ワークａがワークｂの凹部１０に正常に組み付けられる状態を図７（ｄ）に示す。この状態で検出される各把持指での荷重値（Ｆｘ、Ｆｙ、Ｆｚ）、算出されるモーメント値（ＭＸ、ＭＹ、ＭＺ）の許容範囲が記憶されている。
【００５７】
以下、図７を参照しながら、図８のフローチャートを用いて、ワークａのワークｂへの組み付け動作を説明する。
【００５８】
まず、複数の把持指でワークａを把持し、ワークｂ上に搬送する（Ｓ１）。図７（ａ）はこの状態を示しており、ワークａはワークｂの凹部１０の上方に位置しているが、ワークａが把持指に対して角度αだけ位置ずれを生じており、ワークａが傾いた状態で把持されている。
【００５９】
このままハンド３００をアーム本体２００により組み付け方向ｄへと降下させ、図（ｂ）のようにワークｂに当接する位置まで移動する（Ｓ２）。本実施形態では当接の判断はワークが当接する際のアーム駆動量（降下位置）をメモリに設定しておき、その駆動量を基に判断する。また、ワークａとワークｂの凹部１０へと挿入する際に必然的に摩擦等による反力を生じる場合には、その際に受ける把持指への荷重値の閾値を設定しておき、その閾値をもとに判断しても良い。
【００６０】
ワークａのワークｂに対する当接が判定されたら、アーム本体２００によりワークａを組み付け方向にさらに下降（押圧）させる（Ｓ３）。このときワークを把持する各把持指に図７（ｂ）の矢印Ｆ１、Ｆ２、Ｆ３で示す荷重がかかる。さらに、ワークａがずれた状態で把持されているため、ワークｂの凹部１０の縁部ｅ点に当接して正しく挿入することができず、ワークのみの重心Ｐに矢印Ｍで示す方向にモーメントが生じている。その時のモーメントＭが点Оでも同様にかかると仮定し、検出された荷重値と各把持指の位置情報をもとに、ワークａを把持したハンド部の重心（点О）にかかっているモーメント値Ｍ‘を上述した方法により演算装置５０１ａで算出する（Ｓ４）。本実施形態ではワークの重心点Ｐにかかるモーメントを点ОにオフセットしてモーメントＭ’を算出したが、各ワークの重心を点Оとしてモーメント値を算出しても良い。
【００６１】
次に、検出した荷重値と算出したモーメント値をメモリに格納されている正常に把持し組み付けたときの荷重値、モーメント値と比較する（Ｓ５）。Ｓ５でモーメント値を比較した結果、異常値であると判断すればＳ６へ進み、正常であると判断されれば、Ｓ８へ進む。比較する際は正常に把持し組み付けたときの荷重値、モーメント値を基準に許容範囲を設定し、その範囲に入っていれば正常と判断する。
【００６２】
ワークａが凹部１０に正しく挿入されても、相対的な摩擦等によってある範囲内のモーメント、反力は生じるが、位置ずれが大きい場合には挿入動作事態が行えない。そのため大きな回転モーメント、反力を受けることから、許容範囲を設定することによって異常判別が可能である。
【００６３】
Ｓ５で比較した結果、異常値であると判断されると、比較結果からモーメント値が正常になる方向を予測する（Ｓ６）。すなわち矢印Ｍ‘に示す回転モーメントの方向によって、ワークａがずれている方向を予測することができる。
【００６４】
そして、ワークａを所定量上昇させてワークｂから離間させ、ワークａがずれている方向と逆の方向へ、図７（ｃ）のようにワークを一定量δだけずらすよう、演算装置５０１ａからアーム位置制御部４２０へ指令値を出力する（Ｓ７）。そしてＳ３直前まで戻り、検出される荷重値と算出されるモーメント値が正常の値となるまで上記ループを繰り返す。
【００６５】
なお、ワークａの位置を一定量δずつ修正する際、ワークａとワークｂとが平行な状態で当接している場合、傾いて当接している場合等を、当接時に受ける反力、モーメントの方向、大きさから予測が可能である。そのため、ワーク位置の修正量δについては、ワークａを平行移動、あるいは回転移動等、状況に応じて適宜使い分けることが好ましい。
【００６６】
上記ループを繰り返し、Ｓ５で検出される荷重値と算出されるモーメント値が正常と判断されれば、ワークａがワークｂに正常に挿入される（Ｓ８）。図７（ｄ）はワークａがワークｂの凹部１０に正常に組み付けられる位置にある状態を示すものである。ワークの組み付け動作の完了は、本実施形態では、アームの降下量がある一定量になると挿入完了と判断する。また、挿入完了の判断として図７（ｄ）の状態で挿入が完了した時の凹部１０の底面からの反力を閾値に設定して判断しても良い。
【００６７】
以上の制御によって、ワークａの把持位置がずれていても、その位置ずれを検出して自動修正し、正確に組み付け動作を行うことができる。この方法によれば、カメラ等でワークを撮像することによって位置ずれ検出、位置ずれ修正を行うようなシステムを用いなくても正確な組み付け動作が可能となるが、撮像による画像処理を併用することを除外するものではない。作業条件により併用しても本発明を逸脱するものではない。
【００６８】
以上のように、本実施形態のロボットハンドは、把持指近くに設置する力覚センサが従来よりも簡単な構成でもモーメントを求めることができ、ワークの把持ズレを起こしても正しく組み付けることができる。
【００６９】
（実施形態２）
実施形態１では、指３４０１、指３４０２は２つのモータ３１４、３１５を用いて旋回駆動を行っており、モータが増えることでハンド部が重量化してしまう。また、モータが２つあることで位置情報検出のためのエンコーダも２つ必要となってしまい、ハンド部が重量化しモーメント演算も複雑になってしまう。
【００７０】
本実施形態２では、指４４０１、指４４０２をギア機構（アクチュエータ）により同期させ１つのモータでも駆動できるようにし、ハンド部をさらに軽量化すると共に、モーメント演算を簡略化することができる。
【００７１】
図９は図２と同様の様式によって、指４４０１、指４４０２がギア機構により１つのモータで駆動できる１例を示している。以下では、ハードウェアや制御系の構成について、上述の実施形態１と同様の構成ならびに作用を有するものについては、その詳細な説明は省略するものとする。
【００７２】
また、以下では、実施形態１と同一ないし同等の部材や制御機能については、同一の参照符号表記を用いる。特にハンド３００の関節や力センサなどの配置に係るハードウェア構成、ロボットシステムを制御する制御概略図は、実施形態１の図４、図６に示したものと同等であるものとする。
【００７３】
図９は本実施形態のロボットハンド（以下単に「ハンド」と記す場合がある）の旋回する把持指（４４０２、４４０３）の構成を示している。把持指を開閉するリンク機構、各把持指の荷重を検出する力センサ、モーメント演算装置は実施形態１と同様である。
【００７４】
図９に指４４０１と指４４０２を旋回させる旋回装置の構成を示す。図９は、モータ４１６、モータ４１６の回転角度を検知するエンコーダ４４６、モータ４１６の回転動力を把持指４４０２、把持指４４０３の旋回軸２１２、２１３に分配する伝達装置１４９の概略構成を斜視図によって示している。
【００７５】
本実施形態では、図９に示すように、把持指４４０１、把持指４４０２にそれぞれ結合された旋回軸２１１、２１２と、これら旋回軸にそれぞれ結合された複数の波動歯車変速機（波動歯車減速機１４５Ａ、１４５Ｂ）を備える。そして、伝達装置１４９によって、回転駆動源としてのモータ４１６の出力を各波動歯車変速機（波動歯車減速機１４５Ａ、１４５Ｂ）に伝達する。
【００７６】
図９に示すように、本実施形態の伝達装置１４９は、例えばモータ４１６の出力軸に結合されたギア１４２と、波動歯車減速機１４５Ａ、１４５Ｂの入力軸に結合されたギア１４４Ａ、１４４Ｂ、それらの間に配置されたギア１４３Ａ、１４３Ｂを含む。本実施形態ではこれら各ギアはスパーギア（平ギア）であるが、伝達装置１４９はプーリとベルトなどにより構成してもよく、また、一部のギアにはウォームギアなどが用いられていてもよい。
【００７７】
本実施形態では、図９に示すように、伝達装置１４９はモータ１４１の出力軸に備えられたギア１４２から、中間ギア１４３Ｂを介して波動歯車減速機１４５Ｂの入力軸に結合されたギア１４４Ｂに伝達される。また、中間ギア１４３Ｂは中間ギア１４３Ａを介して、波動歯車減速機１４５Ａの入力軸に結合されたギア１４４Ａに伝達される。本実施形態の把持部の旋回制御を実現するため、好ましくは、中間ギア１４３Ａ、１４３Ｂの歯数は同一とする。これにより、モータ１４１から波動歯車減速機１４５Ａへの変速比と、波動歯車減速機１４５Ｂへの変速比とが同一変速比となり、かつ回転駆動方向が互いに逆回転となる。本実施形態では、このように、モータ１４１の回転駆動力を、波動歯車減速機１４５Ａ、１４５Ｂの入力軸（図５の１４６Ａ、１４６Ｂ）へ互いに逆回転で伝達する。
【００７８】
図１０は図９の駆動・伝達系を下方から示している。また、図１１は、図９の駆動・伝達系の断面構造を示している。図１０、図１１に示すように、分岐した回転駆動力はギア１４４Ａを介して波動歯車減速機１４５Ａの入力側の旋回軸Ｏ２´に伝達され、波動歯車減速機１４５Ａを介して把持指４４０１の支持部１２２に設けられた回転軸１４７Ａ（Ｏ２）に伝達される。回転軸１４７Ａは、支持部１２２側の把持指４４０２に印加された荷重を受けるための軸受け１４６Ａで支持されている。
【００７９】
特に、この伝達系では、一点鎖線で示すように、把持指４４０２の旋回軸Ｏ２と波動歯車減速機１４５Ａの入力側の旋回軸Ｏ２´が同軸上に配置されている。このような同軸関係を成立させるため、例えば波動歯車減速機１４５Ａは詳細不図示の位置調整機構を介して装着し、水平面内の装着位置調整を行えるようにしておいたほうが好ましい。
【００８０】
把持指４４０２の支持部１３２への伝達系も上記と同様であり、ギア１４４Ｂに入力された回転駆動力は、波動歯車減速機１４５Ｂの入力側の旋回軸Ｏ３´〜波動歯車減速機１４５Ｂを経て回転軸１４７Ｂ（Ｏ３）に伝達される。回転軸１４７Ｂは把持指４４０３に印加された荷重を受けるための軸受け１４６Ｂで支持されている。把持指４４０２側の伝達系でも、一点鎖線で示すように、把持指４４０３の旋回軸Ｏ３と波動歯車減速機１４５Ｂの入力側の旋回軸Ｏ３´が同軸上に配置されている。このような同軸関係を成立させるため、例えば波動歯車減速機１４５Ｂも、詳細不図示の位置調整機構を介して装着し、水平面内の装着位置調整を行えるようにしておくのが好ましい。
【００８１】
本実施形態では、波動歯車減速機１４５Ａ、１４５Ｂの水平方向の位置を調整することでＯ２とＯ２´、およびＯ３とＯ３´の各軸の同軸性を成立させるようにしている。しかしながら、これら各軸の同軸性を保証するため、伝達系の一部に軸継ぎ手などを介在させるようにしてもよい。その場合、波動歯車減速機１４５Ａ、１４５Ｂの水平方向の位置を調整する工程を省略できる可能性がある。
【００８２】
上記のように、本実施形態のハンド４００は、把持指４４０１、４４０２を旋回させ、把持指４４０１、４４０２の変位の方向を変更する旋回軸Ｏ２、Ｏ３を備えている。また、モータ４１６の駆動力を複数の旋回軸Ｏ２、Ｏ３に分配するための伝達装置１４９が配置される。そして、伝達装置１４９によって分配された駆動力は、伝達装置１４９と、旋回軸Ｏ２、Ｏ３と、の間にそれぞれ配置された旋回軸に伝達する波動歯車減速機１４５Ａ、１４５Ｂを介して各旋回軸に伝達される。
【００８３】
上記構成によれば、伝達装置１４９により２つの把持指を１つのモータで駆動させることができ、ハンド部の軽量化をはかることができる（旋回駆動機構として作用する）。
【００８４】
また、制御装置、例えばＣＰＵ５０１により、エンコーダ４４６の出力値を用いて、モータ４１６の回転角度を計算することができる。その場合、制御装置、例えばＣＰＵ５０１は、波動歯車減速機１４５Ａ、１４５Ｂの減速比を用いてエンコーダ４４６の出力値を各回転角度に変換することができる。これにより、各把持指の位置情報となる値を検出することができる（開閉駆動機構と旋回駆動機構の位置情報を検出する手段として作用する）。
【００８５】
把持指４４０１、把持指４４０２は伝達装置１４９により同期して旋回する。モータ４１６の回転角度をΘ４とした場合、把持指４４０１、把持指４４０２の旋回角度の絶対値はどちらもΘ４となる。ゆえに（数１）から（数６）のΘ１、Θ２にΘ４を代入し、実施形態１と同様のリンク機構の位置情報と、力センサの荷重の値を代入する。こうすることで、実施形態１と同様に大型で高価な６軸センサを把持指近くに実装することなく、ハンド座標系（ＸＹＺ）の任意の点ОにかかるＸ、Ｙ、Ｚ軸の各軸まわりのモーメントを求めることができる。
【００８６】
さらに、モータ、エンコーダの数が減るので実施形態１よりもさらにハンド３００を軽量化することができる。また、モーメント演算時に処理するエンコーダからの位置情報が少なくなるので、処理時間が短くなり、組み付け動作を早く行うことができる。
【００８７】
なお、本実施形態では、波動歯車減速機として、好ましくは１段程度の歯車伝達段で構成されたハーモニックドライブ（登録商標）などの波動歯車減速機を好適に用いることができる。
【００８８】
以上述べたように、ワークを把持した際に、各把持指にかかる荷重と位置情報が求められる機構によりハンド座標系（ＸＹＺ）の任意の点Оに作用するＸ、Ｙ、Ｚ軸方向の力と、各軸まわりのモーメントを求めることができる。このため、把持指近くに構成の複雑な６軸の力覚センサを用いることなく、３軸の力覚センサのみでハンド座標系（ＸＹＺ）の任意の点Оにかかるモーメントを算出できる。そのため、ワークの把持ズレが生じた際の組み付け時に発生するモーメント力を検知することができ、モーメント力を元にアームを制御することで高精度な組み付けを行うことができる。
【００８９】
さらに、６軸の力覚センサを用いないため把持指部分を小型化することができ、小型ワークの組み付け作業時、複数ワークとハンドの干渉を低減させることができる。また、センサの電気配線の数を低減でき、断線や接触不良が生じる確率を低減することができる。
【００９０】
また、上述の各実施形態では、コンピュータで読み取り可能な記録媒体がＲＯＭ５０２或いはＲＡＭ５０３であり、ＲＯＭ５０２或いはＲＡＭ５０３にプログラムが格納される場合について説明したが、本発明はこのような形態に限定されるものではない。本発明を実施するためのプログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、ＨＤＤ、外部記憶装置、記録ディスクなどを用いることができる。
【００９１】
本発明は、上述の実施例の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給しそのシステムまたは装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【産業上の利用可能性】
【００９２】
本発明は産業用ロボットに利用可能である。
【符号の説明】
【００９３】
２００  ロボットアーム
３００  ロボットハンド
３６  基部
３４０１、３４０２、３４０３  把持指
１１２、１１３  旋回軸
３５１、３５２、３５３  平行リンク機構
３４１、３４２、３４３  力センサ
３１１、３１２、３１３  平行リンク機構駆動モータ
３３１、３３２、３３３  平行リンク角度検知エンコーダ
３２１、３２２、３２３  平行リンク直結減速機
３１４、３１５  旋回駆動モータ
３３４、３３５  旋回角度検知エンコーダ
３２４、３２４  旋回駆動モータ直結減速機
３４１、３４２、３４３  力センサ
４００  アーム制御装置
４０５  アームモータドライバ
４１０  アーム指令値生成部
４２０  アーム位置制御部
５００  ハンド制御装置
５０１ａ  演算装置
５０５  ハンドモータドライバ
５１０  ハンド指令値生成部
５２０  把持指位置制御部
５３０  把持力制御部
【図１】
2018192568.tif 000003
【図２】
2018192568.tif 000004
【図３】
2018192568.tif 000005
【図４】
2018192568.tif 000006
【図５】
2018192568.tif 000007
【図６】
2018192568.tif 000008
【図７】
2018192568.tif 000009
【図８】
2018192568.tif 000010
【図９】
2018192568.tif 000011
【図１０】
2018192568.tif 000012
【図１１】
2018192568.tif 000013