(57)【要約】【課題】  ロボットハンドの把持位置誤差を容易に補正できるロボットハンドを提供する。【解決手段】  ロボットハンドの複数の指部の把持面を接触させ、押圧させた際にかかるモーメントを検出し、モーメントがゼロとなる指部の位置を算出し、その位置を把持位置の中心として補正することを特徴とするロボットハンド。【選択図】  図５
2019055455.tif 000002
【特許請求の範囲】
【請求項１】
独立して移動できる第１の指部、第２の指部と、
前記第１の指部と前記第２の指部をそれぞれ駆動させる駆動手段と、
前記第１の指部と前記第２の指部との間に作用するモーメントを検出するモーメント検出手段と、
前記第１の指部の位置と前記第２の指部の位置を検出する位置検出手段と、
前記駆動手段により前記第１の指部と第２の指部を互いに押圧状態となる所定の位置へと移動した状態において検出した、前記モーメントと前記第１の指部と前記第２の指部の位置とに基づいて、前記第１の指部及び第２の指部の位置ずれを補正するための補正情報を求める演算手段と、を備えたことを特徴とするロボットハンド。
【請求項２】
請求項１に記載のロボットハンドにおいて、
前記モーメント検出手段と前記位置検出手段は、前記第１及び第２の指部が前記押圧状態となる複数の位置において、前記モーメントと前記第１の指部の位置を検出し、
前記演算手段は、前記複数の前記第１の指部の位置に対応する前記モーメントから、前記モーメントがゼロとなる前記第１の指部の位置を推定し、
前記モーメントがゼロとなる前記第１の指部の位置から、前記モーメントがゼロとなる前記第２の指部の位置を推定し、前記各指の位置ずれを補正することを特徴とするロボットハンド。
【請求項３】
請求項２に記載のロボットハンドにおいて、
前記演算手段は、検出した前記複数のモーメントと、複数の前記第１の指部の位置との相関関係から線形近似を行うことで、前記モーメントがゼロとなる前記第１の指部の位置を推定し、
前記モーメントがゼロとなる前記第１の指部の位置に前記第１の指部を移動させ、移動させた前記第１の指部に前記第２の指部を当接させたときの前記第２の指部の位置を、前記モーメントがゼロとなる前記第２の指部の位置とすることを特徴とするロボットハンド。
【請求項４】
請求項３に記載のロボットハンドにおいて、
前記演算手段は、前記モーメントがゼロとなる前記第１の指部の位置を、あらかじめ設定された前記モーメントと前記第１の指部の位置との関数を用いて推定することを特徴とするロボットハンド。
【請求項５】
請求項３または請求項４に記載のロボットハンドにおいて、
前記演算手段は、算出された前記モーメントがゼロとなる前記第１の指部の位置と前記第２の指部の位置を基に、異なる前記第１の指部と前記第２の指部の補正値を算出することを特徴とするロボットハンド。
【請求項６】
請求項１から請求項５のいずれか１項に記載のロボットハンドにおいて、
前記第１の指部と前記第２の指部にはそれぞれの把持面に作用する力を検出する力センサが設けられており、前記モーメント検出手段は前記力センサの出力から前記把持面に作用するモーメントを検出することを特徴とするロボットハンド。
【請求項７】
請求項１から請求項６のいずれか１項に記載のロボットハンドにおいて、前記駆動手段は平行リンク機構であることを特徴とするロボットハンド。
【請求項８】
請求項１から請求項７のいずれか１項に記載のロボットハンドをロボットアームに備えたロボット装置。
【請求項９】
独立して駆動可能な第１の指部、第２の指部と、前記第１の指部と前記第２の指部をそれぞれ駆動させる駆動手段と、を備えたロボットハンドの制御方法であって、
前記駆動手段により前記第１の指部と第２の指部を互いに押圧状態となる所定の位置へと移動させる移動工程と、
前記移動工程において、前記第１の指部と前記第２の指部との間に作用するモーメントを検出するモーメント検出工程と、
前記押圧状態となる前記第１の指部と前記第２の指部の位置を検出する位置検出工程と、
前記モーメントと、前記第１の指部と前記第２の指部の位置とに基づいて、前記第１の指部及び第２の指部の位置ずれを補正するための補正情報を求める演算工程と、を有することを特徴とする制御方法。
【請求項１０】
請求項９に記載の制御方法において、
前記モーメント検出工程と前記位置検出工程では、前記第１及び第２の指部が前記押圧状態となる複数の位置において、前記モーメントと、前記第１の指部の位置を検出し、
前記演算工程では、前記複数の前記第１の指部の位置に対応する前記モーメントから、前記モーメントがゼロとなる前記第１の指部の位置を推定し、前記モーメントがゼロとなる前記第１の指部の位置から、前記モーメントがゼロとなる前記第２の指部の位置を推定し、前記各指の位置ずれを補正することを特徴とする制御方法。
【請求項１１】
請求項１０に記載の制御方法において、
前記演算工程では、検出した前記複数のモーメントと、複数の前記第１の指部と前記第２の指部の位置との相関関係から線形近似を行うことで、前記モーメントがゼロとなる前記第１の指部の位置を推定し、
前記モーメントがゼロとなる前記第１の指部の位置に前記第１の指部を移動させ、移動させた前記第１の指部に前記第２の指部を当接させたときの前記第２の指部の位置を、前記モーメントがゼロとなる前記第２の指部の位置とする当接工程と、有することを特徴とする制御方法。
【請求項１２】
請求項１１に記載の制御方法において、
前記演算工程は、前記モーメントがゼロとなる前記第１の指部の位置を、あらかじめ設定された前記モーメントと前記第１の指部の位置との関数を用いて推定することを特徴とする制御方法。
【請求項１３】
請求項１１または請求項１２に記載のロボットハンドにおいて、
前記演算工程では、算出された前記モーメントがゼロとなる前記第１の指部の位置と前記第２の指部の位置を基に、前記第１の指部と前記第２の指部に異なる補正値を算出することを特徴とする制御方法。
【請求項１４】
請求項９から請求項１３のいずれか１項に記載の制御方法を実行可能な制御プログラム。
【請求項１５】
請求項１４に記載の制御プログラムを記録した、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットハンドの把持位置を容易に補正できるロボットハンドおよびロボットハンドの制御方法に関する。
【背景技術】
【０００２】
近年、製品組立等の生産に従事するロボットハンドの開発事例が増えている。このようなロボットハンドの目的は、製品を構成する部品（ワーク）を把持し、ロボットハンド全体を（例えばロボットアームなどで）目的の場所に移動し、ワークを開放することで、ワークの取り置きや組み付けといった作業を行うことである。
【０００３】
ロボットハンドは、ワークと当接する把持面が指先に設けられており、この把持面の位置が指令に従って制御される。しかし、ロボットハンドの製造誤差や経年変化、使用環境などにより、指令した位置と実際の位置との間にはズレ（把持位置誤差）が存在する。この把持位置誤差が、ロボットハンドを用いて精密な作業を行わせる際の問題となっている。ゆえに把持位置を校正する、あるいは把持位置誤差を補正することで、適切な把持を維持する必要がある。
【０００４】
特許文献１には、ロボットハンドの指部に、機械的な力を電気信号に変換して出力する力覚センサを設け、力覚センサの信号から、ワークとの接触時の把持姿勢を推定し、把持位置を補正する把持装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−１２３９８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の制御方法では、指部の把持面同士の接触面が常に一致することが前提となっており、指部同士の接触面のズレを想定していない。図８（ａ）は特許文献１に記載のハンドにおいて指部のがたつきにより把持部同士の接触面がズレた際の状態を表している。１はアーム、２はハンド部、３は指部、４は力覚センサ、５は把持部となっている。一対の把持部５同士が接触する面を接触面としている。
【０００７】
図８（ｂ）は図８（ａ）で示した状態のままワークＷを一対の把持部５で把持している際の状態図である。図８（ｂ）のようにズレたまま把持動作を行うことで、把持面とワークＷ間に働く摩擦力が不均衡になり、ワークＷに外力がかかった際ワークＷが外れやすくなってしまう。この状態のまま搬送動作をした場合、上手く把持できずワークＷを落としてしまうおそれがある。
【０００８】
また、ワークＷと把持面間に働く摩擦力が不均衡な状態で回転させながら行う嵌合等の組立を行うと、ワークＷや把持部５に大きな力がかかってしまい、ワークＷの破損や把持部５の変形を引き起こすおそれがある。そこで本発明は、このようなズレが生じてもワークを適切に把持し維持する制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、請求項１に記載の発明は、独立して移動できる第１の指部、第２の指部と、前記第１の指部と前記第２の指部をそれぞれ駆動させる駆動手段と、前記第１の指部と前記第２の指部との間に作用するモーメントを検出するモーメント検出手段と、前記第１の指部の位置と前記第２の指部の位置を検出する位置検出手段と、前記駆動手段により前記第１の指部と第２の指部を互いに押圧状態となる所定の位置へと移動した状態において検出した、前記モーメントと前記第１の指部と前記第２の指部の位置とに基づいて、前記第１の指部及び第２の指部の位置ずれを補正するための補正情報を求める演算手段と、を備えたことを特徴とするロボットハンドを採用した。
【発明の効果】
【００１０】
本発明によれば、指部同士の接触面のズレが生じても、接触面同士が一致する場所を把持中心として把持動作させることができる。そのためワークを正しく把持することができ、組立動作によるワークの破損や指の変形の危険性を低減できる。また、搬送動作によるワーク落下の危険も低減できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態におけるロボットハンドの概略構成図である。
【図２】本発明の実施形態におけるロボットハンドの力覚センサの概略構成図である。
【図３】本発明の実施形態におけるロボットハンドの制御ブロック図である。
【図４】本発明の実施形態におけるロボットハンドの制御方法を示すフローチャートである。
【図５】図４に示すフローチャートの一部フローの動作図である。
【図６】本発明の実施形態における指部のモーメントがゼロになる位置を算出するためのグラフである。
【図７】本発明の実施形態におけるロボットハンドの制御方法の変形例を示すフローチャートである。
【図８】ロボットハンドに生じる把持位置ずれを説明する図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施形態はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００１３】
［実施形態］
図１（ａ）は、ロボットハンドの構成を模式的に示す図である。図１に示すように、本実施例に係るロボットハンドは、ベース部１と、２本の指部２ａ、２ｂと、把持面３と、力覚センサ４と、ロボットハンドを制御するハンド制御部５と、を備えている。２本の指部２ａ、２ｂは後述する各構成をそれぞれ備えている。
【００１４】
指部２ａ、２ｂは、駆動源２１と、平行リンク部２２と、指先部２３と、を備えている。駆動源２１は、ベース部１に固定されており、駆動源２１をハンド制御部５により制御することで、指部２ａ、２ｂを開閉駆動することができる。駆動源２１にはサーボモータが使用され、その駆動力を不図示のギアや減速機を介して指部２ａ、２ｂに伝える。また、サーボモータは後述するエンコーダ１８を備えており、モータの位置を検出することができる。本実施形態ではこのエンコーダ１８が位置検出手段として作用する。
【００１５】
平行リンク部２２は、駆動源２１で発生する円弧運動を指先部２３に伝えるとともに、指先部２３がＹＺ平面において平行移動するよう規制する。指先部２３は、把持面３を取り付ける部分である。本実施形態ではこの平行リンク部２２が図１（ｂ）のように２つの指先部２３を互いに独立して接近または離間させることができる駆動機構となる。本実施形態では平行リンク機構を用いているが、指先部２３を上下左右に変位させることができる機構であれば平行リンクに限らない。
【００１６】
把持面３は、ワークと当接する部分であり、指先部２３に固定される。把持面３には、ワークに応じて、金属や樹脂などの材料が選択されるとともに、その接触面は、平面や球面の他、切り欠きを有するなど様々な形状が選択される。
【００１７】
力覚センサ４は、把持した物体から把持面３が受ける反力に基づいて、３軸方向の力と、各軸周りのモーメントとを検出する。図中に示すように、指先部２３の開閉方向をＺ軸にとり、Ｚ軸と直行する平面をなす軸をＸ軸、Ｙ軸にとる。また、Ｘ軸、Ｙ軸、Ｚ軸方向に対応する力をＦｘ、Ｆｙ、Ｆｚと表すとともに、これら各軸周りのモーメントをＭｘ、Ｍｙ、Ｍｚと表す。特に、Ｆｚを把持力あるいは押圧力、またＭｘを指先部２３の倒れ方向のモーメントと呼ぶ。
【００１８】
図２は、把持力Ｆｚと倒れ方向のモーメントＭｘを検出可能な力覚センサ４の概略図である。この力覚センサ４は、弾性体１００とマグネット２００とホール素子３００で構成されている。また、図中のＰ点は把持面３の回転中心である。把持面３に外力が加わると、弾性体１００の変形を介して、マグネット２００とホール素子３００の距離が変化し、ホール素子３００から得られる出力電圧が変化する。そこで把持面３に加わる外力とホール素子３００の出力電圧の関係を事前に求めておくことで、外力を測定することができる。なお同図では、図面上段のマグネット２００とホール素子３００の距離からＭｘを検出し、図面下段のマグネット２００とホール素子３００の距離からＦｚを検出する構造となっている。本実施形態ではこの力覚センサ４がモーメント検出手段として作用する。
【００１９】
図３は本実施例に係るロボットハンドの制御を行うハンド制御部５のブロック図である。図中、説明の都合上ハンド制御部５以外のロボットハンド構成要素も図示している。また、一部ブロックは、後述の「接触位置ずれ補正処理」で説明する。まずハンド制御部５は、主制御部１１と、指令値生成部１２と、コントローラ部１３を備えている。さらに把持動作を補正するために、記録部１４、補正値決定部１５、指令値補正部１６、補正値格納部１７を備えている。これら制御機構はＣＰＵで構成されており、記録部１４や補正値格納部１７はＲＯＭやＲＡＭなどで構成されている。
【００２０】
主制御部１１は、上位システム１９から得たコマンドと、エンコーダ１８から得られた信号（エンコーダ測定値）とに基づいて、把持命令を生成する。把持命令とは、少なくとも指先部２３の把持方向に関する目標位置を各指に対して指定することを指し、他には駆動速度、整定範囲など様々な条件を含むことができる。
【００２１】
なお上位システムとは、ハンド制御部５にコマンドを出す外部システム全般を指し、ユーザ（例えば、装置オペレータ）からの操作指示を仲介するインターフェースも含むものである。
【００２２】
指令値生成部１２は、主制御部１１から出力された把持命令に従って、指令値を生成する。指令値とは各指に対する個々のエンコーダ１８の目標値である。
【００２３】
コントローラ１３は、指令値生成部１２から出力された指令値と、エンコーダ１８の測定値とに基づいて、駆動源２１へ出力する電流値を決定する。コントローラ１３は、例えばＰＩＤ制御器で構成され、エンコーダ目標値とエンコーダ測定値との差が速やかになくなるようなモータの電流値を計算するよう働く。そして駆動源２１は、コントローラ１３から出力された電流値によりサーボモータを駆動し、指先部２３を所定の目標位置に移動する。
【００２４】
また主制御部１１は、上述した位置制御に並行して力測定値を監視し、その把持力が目標把持力に整定するよう、目標位置を変化させる。例えばワークと当接する手前の位置を位置制御の開始時の目標位置とする。そこから目標把持力になるよう、徐々に目標位置を把持方向に移動していく。把持力が目標把持力を越えた場合は少し目標位置を後退させ、目標把持力を下回る場合は少し目標位置を前進させることで把持力が調整される。この調整に別途ＰＩＤ制御器を構築するのが望ましい。
【００２５】
指令値生成部１２は、位置制御時と同じく、主制御部１１から出力された随時変化する目標位置を含む把持命令に基づいて指令値を生成する。
【００２６】
ワークを把持する前はワークと把持面３とが接触しないよう、ワークから十分離間した位置を目標位置として位置制御を行う。また、ワークを把持した後にワークを離す場合は、把持面３がワークから十分離間した位置を目標位置として位置制御を行う。
【００２７】
形状把持を行う場合は、ワークと把持面３とが当接するような目標位置を設定した上で、位置制御を行う。目標位置で把持面３とワークとが正しい位置関係になるとワークを把持することができる。
【００２８】
摩擦把持を行う場合も位置制御で実現できる。ワークと把持面３とが当接するよりも互いに押圧するような目標位置を設定した上で位置制御を行う。ただし、この場合ワークのばらつきなどにより、想定以上の負荷が把持面３やワークに掛かるおそれがある。
【００２９】
そこでハンド制御部５は、より安全に正確な摩擦力で把持するため、ワークと把持面３とに働くべき摩擦力に応じた目標把持力を設定した上で２本の指部２ａ、２ｂによる把持力制御を行う。
【００３０】
記録部１４は後述する位置ずれ補正処理のフローにより、エンコーダ１８と力覚センサ４からの値を記録しておく記録媒体である。この値から補正値決定部１５で指部の位置ずれを補正するための補正値を演算し、補正値を補正値格納部１７に格納する。そして指令値補正部１６により指令値生成部１２からの指令値に補正値を加算した補正指令値をコントローラ１３へと出力して駆動源２１を駆動させる。これにより正しい把持動作を行うことができる。
【００３１】
次に本実施形態の制御方法について、図４に示すフローチャートに沿って説明する。図４は本実施例に係る把持面３同士の接触位置ずれの補正処理を行う制御方法を示すフローチャートである。
【００３２】
同図に示す接触位置ずれ補正処理は、上位システムの指令によって行われ、位置誤差を力覚センサ４からのモーメントで検知することで発信される検知信号を確認すると補正処理の開始を示すコマンドをハンド制御部５に指示する。
【００３３】
まずＳ１１で主制御部１１は、補正開始を示すコマンドを認識すると、ロボットハンドの補正処理を開始する。
【００３４】
次にＳ１２で指２ａのリンク２２を測定位置（後述するθａ（ｉ））に移動する。測定位置は予め用意された１点以上の位置からなり、それらを区別する目的で、測定ステップ番号ｉを使用して、（ｉ）で明示する。また測定位置は各指のリンク部の回転角（駆動源２１の回転量）に対応するエンコーダ位置を直接指定している。そして指２ａのリンク２２を駆動源２１の駆動量がθａ（ｉ）となるところに位置決めし動かないようにする。θａは指２ａのリンク２２を駆動させる駆動源２１の回転角度を表し、ｉは測定回数を示す。
【００３５】
次にＳ１３で指２ｂを押圧方向（互いに接近する方向）に駆動する。また、互いの把持面３が当接する位置近傍になるまでは位置制御により駆動させ、当接位置近傍においては力制御により駆動させることで補正時間の短縮を図る。
【００３６】
指２ｂを駆動し整定させた後、Ｓ１４で指２ａにかかる把持力Ｆｚａを測定する。測定時、サーボが作動中であるため、ノイズ等により測定データが安定しない場合がある。その場合には、測定データをフィルタ処理することが望ましい。例えば、移動平均やローパスフィルタが好適である。
【００３７】
Ｓ１５で指２ａにかかる把持力Ｆｚａが目標押圧力Ｆｔｈを超えなければＳ１３に戻る。目標押圧力とは互いの把持面３が押込み合っている状態、すなわち押圧状態であると認識できる把持力であって、０Ｎ（ゼロニュートン）より大きい値が予め設定される。なお、フローチャートに図示しないが、Ｓ１３〜Ｓ１５の繰り返し処理には中断条件が別途設けられている。中断条件には、タイムアウト時間や駆動可能範囲などを設定しており、処理経過時間がタイムアウト時間を超える、あるいは現在位置が駆動可能範囲を外れる場合に異常と判定される。中断条件で異常と判定されると中断の旨を通知し、処理を終了するようになっている。
【００３８】
Ｓ１６で指２ａの把持面３にかかる把持力Ｆｚａが目標押圧力Ｆｔｈに達した場合、指２ａの倒れ方向のモーメントＭｘａ（ｉ）を測定する。この場合も、把持力の測定時と同様に、フィルタ処理することが望ましい。
【００３９】
Ｓ１７で測定したモーメントＭｘａ、さらに指２ａの駆動源２１の回転量θａを記録部１４に記録する。
【００４０】
Ｓ１８でここまでの処理を、測定数が満了するまで繰り返す。
【００４１】
図５にＳ１２〜Ｓ１７の繰り返し処理の例を指す。図５（ａ）は測定数ｉ＝１、すなわち１回目の測定を示すものである。指２ａのリンク２２をθａ（１）の測定位置に位置決めし指２ｂのリンク２２をθｂ（１）まで駆動させ矢印Ｆ方向に押し込む。そしてＳ１５で十分な把持力を指２ａで検出したら対向する指部間に作用するモーメントＭｘａ（１）を検出し、θａ（１）を記録する。
【００４２】
同様に図５（ｂ）は測定数ｉ＝２の測定を示すものである。一旦、図５（ａ）から指２ａ、指２ｂを互いに離間させてから図５（ｂ）の状態にする。指２ａをθａ（１）とは異なるθａ（２）の測定位置にリンク２２を移動して位置決めし、指２ｂのリンク２２をθｂ（２）まで駆動させ矢印Ｆ方向に押し込む。そしてＳ１５で十分な把持力を指１で検出したらＭｘａ（２）を検出し、θａ（２）を記録する。
【００４３】
図５（ｃ）は測定数ｉ＝３すなわち３回目の測定を示すものである。図５（ａ）、図５（ｂ）の時と同様に、指２ａのリンク２２を１回目、２回目の測定位置と異なるθａ（３）、指２ｂのリンク２２を測定位置θｂ（３）へと移動し、モーメントＭｘａ（３）を測定しθａ（３）を記録する。
【００４４】
図４よりＳ１２〜Ｓ１７の繰り返し処理が設定回数行われると、Ｓ１９で補正値決定部１５において、記録部１４に格納された上記測定データを取得し、指２ａ、指２ｂの位置制御における指令値を補正する補正値の決定を行う。まず、測定データから、指２ａの倒れ方向のモーメントＭｘａ（ｉ）がゼロとなる指２ａの位置θａｃ（ゼロモーメント位置）を推定する。
【００４５】
Ｓ１９においてゼロモーメント位置の推定方法を、図６を用いて説明する。図６は横軸に測定位置θａ、縦軸にＭｘａを取り、各データを×でプロットしたグラフである。
【００４６】
Ｓ１２〜Ｓ１７で求められたｉ＝１〜ｍ（ｍは２以上の正の整数）データ点群に基づいてモーメントＭｘａ、指部２ａの測定位置θａの相関関係を表す線形回帰直線をプロットすると、図中の破線のようになる。この直線のθａ軸切片をゼロモーメント位置となるθａｃと推定することができる。
【００４７】
そしてＳ２０で指２ａのリンク２２がθａｃの角度をとるように移動させ、そこで位置決めを行う。
【００４８】
Ｓ２１で指２ｂをＳ１３と同様に押圧方向へ駆動させる。
【００４９】
Ｓ２２で指２ａの把持面３にかかる押圧力をＳ１４と同様に測定する。
【００５０】
そしてＳ２３で指２ａにかかる押圧力ＦｚａがＦｒより大きいか判定する。ここでＦｒは指２ａと指２ｂが接触したか否かを判定するための条件であり、Ｆｔｈ＞Ｆｒとなる。Ｓ２３でＮｏとなれば再度Ｓ２１直前まで戻り、指２ｂの接触動作を行う。ＹｅｓであればＳ２４へ進む。
【００５１】
Ｓ２３で指２ａと指２ｂが接触したと判定されれば、Ｓ２４でそのときの指２ｂのリンク２２の位置を測定する。指２ａのリンク２２の位置θａｃは指２ａと指２ｂとが押圧された際のゼロモーメント位置と推定されているため、Ｓ２４で測定された指２ｂのリンク２２の位置はθｂｃと推定される。これにより指２ａ、指２ｂに別々の補正値をかけることで指が閉じなくなるということを防ぐことができる。
【００５２】
次にＳ２５で、指２ａおよび指２ｂの補正値を算出する。指２ａおよび指２ｂにおける設計上のゼロモーメント位置θａｃｏ、θｂｃｏと、先に求めたゼロモーメント位置θａｃ、θｂｃの差分を補正値θａｃｏｒ、θｂｃｏｒとして決定する。設計上のゼロモーメント位置とは、すなわち設計上において互いの把持面３が当接し、かつ、接触面について対称となる条件を満たす指２ａ、指２ｂのリンク２２の回転角度位置である。このθａｃｏｒ、θｂｃｏｒが各指部に対する補正情報となる。
【００５３】
またθａｃｏ、θｂｃｏは、設計上のゼロモーメント位置の代わりに、事前に調整されたゼロモーメント位置を設定してもよい。すなわち、組立調整時に測定された前記条件を満たす位置を設定してもよいし、前回の補正処理で決定した補正値を設定してもよい。
【００５４】
Ｓ２５で決定した補正値を、Ｓ２６で補正値格納部１７に格納し補正値が決定され補正処理が終了する。
【００５５】
補正処理が終了し、補正値が決定されると、指令値補正部１６が有効になる。この内部では、指令値生成部１２から出力された指令値に、補正値格納部１７に格納された補正値を加算して、補正指令値を出力する。すなわち、次式のように指令値が補正される。
θａｃｍｄ´＝θａｃｍｄ＋θａｃｏｒ
θｂｃｍｄ´＝θｂｃｍｄ＋θｂｃｏｒ
ここで、θａｃｍｄ´とθａｃｍｄは指１の補正指令値と指令値、θｂｃｍｄ´とθｂｃｍｄは指２ｂの補正指令値と指令値である。
【００５６】
この補正指令値を用いることで、把持位置誤差が低減され、正常な把持ができるようになる。これによりワークを正しく把持することができ、組立動作によるワークの破損や指の変形の危険性を低減できる。また、搬送動作によるワーク落下の危険も低減できる。
【００５７】
なお、本実施形態では指２ａの位置θａとＭｘａを近似していたが、指２ｂの位置θｂとＭｘｂを近似して上記処理を行っても良い。
【００５８】
上述の補正処理は、主に上位システムからのコマンドにより実行される。その実行時期は、定期的なメンテナンス時に行われる他、ロボットハンドの組立時やロボットアーム等への設置時、使用環境の変化時、把持失敗などの異常発生時に行うことが望ましい。特に、把持位置誤差が発生しうるタイミングが既知であるならば、そのタイミングよりも前に実行時期を設定すべきである。既知でない場合でも、人工知能などを用いて、誤差発生のタイミングを予測することで、安全性を向上することが期待できる。
【００５９】
また、実行の決定は、ユーザの判断に基づいて行われるが、人工知能などを用いて自動的に行ってもよい。あるいは、主制御部１１が上位システムからのコマンドを待たず、自発的に行ってもよい。例えば、主制御部１１がワークを把持しておらず、長時間アイドル中（外部からの指示を受けていない状態）である場合に、補正処理を実行することが考えられる。
【００６０】
なお、上述の図４のフローチャートのＳ１９の処理では、Ｓ１２〜Ｓ１８で指２ａ，２ｂの複数位置におけるモーメントを検出して図６に示す線形近似のための関数を推定した。しかし、Ｓ１２〜Ｓ１９により求められる関数を構造解析や実機測定によりあらかじめ算出して記録部１４に格納しておく方法でも算出できる。図７のフローチャートを用いて説明する。
【００６１】
図７のフローチャートにおいて、図４のフローチャートと大きく違う部分はＳ１８とＳ１９である。まず、ある１つの測定点での指２ａ，２ｂの位置及び各指に作用するモーメントＭａ（あるいはＭｂ）をＳ１２〜Ｓ１７により求める。ここで、上記のある一つの測定点はモーメントＭａ（あるいはＭｂ）を確実に検出するために指２ａ、指２ｂの回転角度が異なっているところで測定する方が望ましい。
【００６２】
そしてＳ１８’であらかじめ構造解析や実機測定で設定しておいた関数を呼び出す。そしてＳ１９’で、Ｓ１２〜Ｓ１７で測定した測定値をその関数に照合することにより、指２ａ、２ｂを押圧した時のゼロモーメント位置となるθａｃを直接推定する。
【００６３】
そしてＳ２０〜Ｓ２４で、指２ａと指２ｂに別々の補正値をかけても指が閉じるように、指２ａを算出したθａｃに移動させ、指２ｂを指２ａに接触させる。接触させた後、そのときの指２ｂのリンク２２の駆動量を測定し、θｂｃとする。
【００６４】
そしてＳ２５で、θａｃθｂｃを用いて補正することができる。これにより複数回Ｓ１２〜Ｓ１７の処理を行わずに補正できるので、補正時間を短縮することができる。
【００６５】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。例えば、本実施形態では、２つの指部を有するロボットハンドを用いて説明したが、本発明はこれに限定されない。ロボットハンドは、対向する把持部を有し、それらの把持部が平行に駆動可能であるロボットハンドであればよい。例えば、３つの指部を有するロボットハンドであって、多様な形状のワークを把持可能なように、各指部が旋回するよう構成してもよい。
【００６６】
また、本実施形態では、２つの指部のそれぞれに力覚センサを有するロボットハンドを用いて説明したが、本発明はこれに限定されない。ロボットハンドは、少なくとも対向する把持部の一方に力覚センサを有するロボットハンドであればよい。
【００６７】
また、本実施形態では、把持部が受ける反力を検出する手段として、６軸の力覚センサを用いて説明したが、本発明はこれに限定されない。把持部が受ける反力を検出する手段は、少なくとも把持力Ｆｚと倒れ方向のモーメントＭｘが測定可能なものであればよい。あるいは、少なくとも把持力と倒れ方向のモーメントを間接的に表現するＦｙが測定可能なものであればよい。
【００６８】
上記実施形態の制御手順は具体的にはハンド制御部５により実行可能である。従って上述した機能を実現するソフトウェアの制御プログラムを記録した記録媒体を主制御部１１に供給し、主制御部１１が記録部１４に格納されたプログラムを読み出し実行することによって達成されるよう構成することができる。この場合、記録部１４から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、プログラム自体およびそのプログラムを記録した記録媒体は本発明を構成することになる。
【００６９】
また、各実施形態では、コンピュータで読み取り可能な記録媒体がＲＯＭやＲＡＭであり、ＲＯＭ或いはＲＡＭに制御プログラムが格納される場合について説明したが、本発明はこのような形態に限定されるものではない。本発明を実施するための制御プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、制御プログラムを供給するための記録媒体としては、ＨＤＤ、外部記憶装置、記録ディスク等を用いてもよい。
【産業上の利用可能性】
【００７０】
本発明は産業用ロボットハンドに利用可能である。
【符号の説明】
【００７１】
１  ベース部
２ａ、２ｂ  指部
３  把持面
４  力覚センサ
５  ハンド制御部
１１  主制御部
１２  指令値生成部
１３  コントローラ
１４  記憶部
１５  補正値決定部
１６  指令値補正部
１７  補正値格納部
１８  エンコーダ
１９  上位システム
２１  駆動源
２２  平行リンク部
２３  指先部
１００  弾性体
２００  マグネット
３００  ホール素子
【図１】
2019055455.tif 000003
【図２】
2019055455.tif 000004
【図３】
2019055455.tif 000005
【図４】
2019055455.tif 000006
【図５】
2019055455.tif 000007
【図６】
2019055455.tif 000008
【図７】
2019055455.tif 000009
【図８】
2019055455.tif 000010