(57)【要約】【課題】  対象物体を倒したり、損傷させたりすることなく、高速に対象物体を把持すること。【解決手段】  複数の関節からなる指部が関節を介して接続されているハンド部を有するロボットハンドの把持制御装置は、指部及びハンド部と把持対象物体との相対的位置関係に基づいて、指部及びハンド部と把持対象物体との間の接触点数が多くなるように、関節の角度を算出する関節角度算出手段と、関節角度算出手段により算出される関節の角度に基づいて、把持対象物体に指部を略同時に接触させるように、指部の関節角度を制御する関節制御手段と、を備えている。【選択図】  図６
2007098550.tif 000002
【特許請求の範囲】
【請求項１】
複数の関節からなる指部が関節を介して接続されているハンド部を有するロボットハンドの把持制御装置であって、
前記指部及び前記ハンド部と把持対象物体との相対的位置関係に基づいて、前記指部及び前記ハンド部と前記把持対象物体との間の接触点数が多くなるように、前記関節の角度を算出する関節角度算出手段と、
前記関節角度算出手段により算出される前記関節の角度に基づいて、前記把持対象物体に前記指部を略同時に接触させるように、前記指部の前記関節角度を制御する関節制御手段と、を備えることを特徴とするロボットハンドの把持制御装置。
【請求項２】
請求項１記載のロボットハンドの把持制御装置であって、
前記関節角度算出手段は、前記指部の任意な姿勢に対して、前記指部及び前記ハンド部と、前記把持対象物体との隙間を夫々計算し、前記隙間を許容誤差に収束させるように、前記把持対象物体の位置及び前記関節の角度を調整して、前記関節の目標角度を夫々算出することを特徴とするロボットハンドの把持制御装置。
【請求項３】
請求項１記載のロボットハンドの把持制御装置であって、
前記関節制御手段は、前記関節角度算出手段により算出された前記関節の角度となるように、前記指部の全部の前記関節を同時に動かして、前記指部を略同時に前記把持対象物体に接触させることを特徴とするロボットハンドの把持制御装置。
【請求項４】
請求項１又は２記載のロボットハンドの把持制御装置であって、
前記関節角度算出手段は、予め用意された前記把持対象物体の複数のモデル形状と、前記モデル形状に対するロボットハンドの拘束条件から定めた接触条件を保持しており、
前記把持対象物体の形状に対して、前記複数のモデル形状のいずれかを選出し、選出された該モデル形状に対応する接触条件を満たす、前記関節の角度を夫々算出することを特徴とするロボットハンドの把持制御装置。
【請求項５】
請求項１又は２記載のロボットハンドの把持制御装置であって、
前記関節角度算出手段は、前記指部が対向するように前記把持対象物体と接触し、前記関節の角度を夫々算出することを特徴とするロボットハンドの把持制御装置。
【請求項６】
請求項１乃至３記載のロボットハンドの把持制御装置であって、
前記関節角度算出手段は、前記把持対象物体の大きさに応じて、該把持対象物体と前記ハンド部との相対的な位置関係を検出し、前記関節の角度を夫々算出することを特徴とするロボットハンドの把持制御装置。
【請求項７】
請求項１又は３記載のロボットハンドの把持制御装置であって、
前記関節制御手段は、前記指部と前記ハンド部に備えた触覚センサの出力のフィードバックに基づいて、前記関節の目標角度誤差を補正する目標角度誤差補正部を、有することを特徴とするロボットハンドの把持制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、関節を介して接続された複数のリンク部材を備える指部を複数有するロボットハンドの把持制御を行うロボットハンドの把持制御装置に関する。
【背景技術】
【０００２】
従来、ロボットハンドを用いた物体の把持について、撮像してワークの形状及び位置からワークを把持するための把持位置データを生成し、この把持位置データに基づいて、ロボットハンドの把持位置を変更し、ロボットハンドが自律して最適な把持位置でワークを把持可能とした手先視覚付ロボットハンドが知られている（例えば、特許文献１参照）。
【特許文献１】特開２００３−９４３６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来の手先視覚付ロボットハンドにおいて、撮像したワークの形状及び位置に基づいて、ロボットハンドの把持位置を決定してワークを把持するものである。ところが、ワークを把持するためには、手先視覚によりワークとハンドとの相対的な位置を実時間に検知しながら、ハンドの把持位置を変更している。このため、上記従来の技術を利用してワークを把持する場合に、高速に把持を実現することが不可能で作業効率の低下の問題が必至である。
【０００４】
また、上記従来の技術を使えば、ワークを把持する際、ハンドの各指を同時にワークに接触させることは困難である。このため、ワークを倒したり、損傷したりしかねない。
【０００５】
本発明は、上述した従来技術による問題点を解消するため、把持前に各指の関節の目標角度を算出し、把持時に各指の全部の関節を同時に動かして各指を同時に対象物体に接触させ、対象物体を倒したり、損傷させたりすることなく、高速に対象物体を把持することができるロボットハンドの把持制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための本発明の一態様は、
複数の関節からなる指部が関節を介して接続されているハンド部を有するロボットハンドの把持制御装置であって、
前記指部及び前記ハンド部と把持対象物体との相対的位置関係に基づいて、前記指部及び前記ハンド部と前記把持対象物体との間の接触点数が多くなるように、前記関節の角度を算出する関節角度算出手段と、
前記関節角度算出手段により算出される前記関節の角度に基づいて、前記把持対象物体に前記指部を略同時に接触させるように、前記指部の前記関節角度を制御する関節制御手段と、を備えることを特徴とするロボットハンドの把持制御装置である。
【０００７】
この一態様によれば、把持対象物体を把持するときに、各指部の全部の関節を同時に動かして各指部を同時に対象物体に接触させるため、対象物体を倒したり、損傷したりする危険性を低減できる。
【０００８】
また、この一態様において、前記関節角度算出手段は、前記指部の任意な姿勢に対して、前記指部及び前記ハンド部と、前記把持対象物体との隙間を夫々計算し、前記隙間を許容誤差に収束させるように、前記把持対象物体の位置及び前記関節の角度を調整して、前記関節の目標角度を夫々算出するのが好ましい
この一態様によれば、保持前に各指部の関節の目標角度を算出し、把持時に各指部の全部の関節を同時に動かすため、高速に対象物体を把持することができる。
【０００９】
さらに、この一態様において、前記関節制御手段は、前記関節角度算出手段により算出された前記関節の角度となるように、前記指部の全部の前記関節を同時に動かして、前記指部を略同時に前記把持対象物体に接触させるのが好ましい。
【００１０】
この一態様によれば、把持対象物体を把持するときに、各指部の全部の関節を同時に動かして各指部を同時に対象物体に接触させるため、対象物体を倒したり、損傷したりする危険性を低減できる。
【００１１】
この一態様において、前記関節角度算出手段は、予め用意された前記把持対象物体の複数のモデル形状と、前記モデル形状に対するロボットハンドの拘束条件から定めた接触条件を保持しており、前記把持対象物体の形状に対して、前記複数のモデル形状のいずれかを選出し、選出された該モデル形状に対応する接触条件を満たす、前記関節の角度を夫々算出するのが好ましい。
【００１２】
この一態様によれば、多種類の把持対象物体（例えば、球体、円柱体、直方体等）を把持することができる。
【００１３】
この一態様において、前記関節角度算出手段は、前記指部が対向するように前記把持対象物体と接触し、前記関節の角度を夫々算出するのが好ましい。
【００１４】
この一態様によれば、指部が対向するように把持対象物体と接触するため、より安定な把持を実現することができる。
【００１５】
この一態様において、前記関節角度算出手段は、前記把持対象物体の大きさに応じて、該把持対象物体と前記ハンド部との相対的な位置関係を検出し、前記関節の角度を夫々算出するのが好ましい。
【００１６】
この一態様によれば、把持対象物体とハンド部との相対的な位置関係を検出するため、指リンクを把持対象物体に食い込むのを防止することができる。
【００１７】
この一態様において、前記関節制御手段は、前記指部と前記ハンド部に備えた触覚センサの出力のフィードバックに基づいて、前記関節の目標角度誤差を補正する目標角度誤差補正部を、有するのが好ましい。
【００１８】
この一態様によれば、指部とハンド部に備えた触覚センサの出力のフィードバックに基づいて、指部の関節の目標角度誤差を補正することができる為、把持のロバスト性が高い。
【発明の効果】
【００１９】
本発明によれば、対象物体を倒したり、損傷させたりすることなく、高速に対象物体を把持することができるロボットハンドの把持制御装置を提供できる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して、本発明の好適な実施形態について説明する。図１は、本発明の一実施例に係るロボットハンドの把持制御装置のブロック構成図である。また、図２は、ロボットハンドの側面図であり、図３はロボットハンドの正面図である。
【００２１】
図１に示すように、本実施形態に係るロボットハンドの把持制御装置（以下、把持制御装置と称す）１０は、ロボットハンド１（図２）と、画像認識装置２と、関節角度算出装置３と、制御装置４と、を備えている。
【００２２】
ロボットハンド１は、図２及び図３に示す如く、親指に相当する第一指１１、人差指に相当する第二指１２、中指に相当する第三指１３、及び薬指に相当する第四指１４を備えている。
【００２３】
また、第一指１１には第一指第一関節１１Ａ、第一指第二関節１１Ｂ、及び第一指第三関節１１Ｃが設けられており、第二指１２には、第二指第一関節１２Ａ、第二指第二関節１２Ｂ、及び第二指第三関節１２Ｃが設けられている。さらに、第三指１３には、第三指第一関節１３Ａ、第三指第二関節１３Ｂ、及び第三指第三関節１３Ｃが設けられており、第四指１４には、第四指第一関節１４Ａ、第四指第二関節１４Ｂ、及び第四指第三関節１４Ｃが設けられている。
【００２４】
第一指１１における付根部分には、第一指１１を第二指１２乃至第四指１４に対向させる第一指対向関節１１Ｇが設けられている。対向関節１１Ｇは、後述の掌部１６に平行する鉛直軸周りに第一指１１を第二指１２乃至第四指１４に対向可能としている。
【００２５】
第二指１２における付根部分には、第二指１２を揺動させる第二指揺動関節１２Ｇが設けられている。揺動関節１２Ｇは、後述の掌部１６に直交する水平軸周りに第二指１２を揺動可能としている。
【００２６】
また、第三指１３及び第四指１４における夫々の付根部分には、第三指１３及び第四指１４を揺動させる第三指揺動関節１３Ｇ及び第四指揺動関節１４Ｇが設けられている。揺動関節１３Ｇ、１４Ｇは、第三指１３及び第四指１４を掌部１６に直交する水平軸周りに夫々揺動させる。
【００２７】
これらの第二指１２乃至第四指１４の第三関節１２Ｃ、１３Ｃ、１４Ｃを除く各関節１１Ａ、１１Ｂ、１１Ｃ、１２Ａ、１２Ｂ、１３Ａ、１３Ｂ、１４Ａ、１４Ｂ及び、対向関節１１Ｇ、揺動関節１２Ｇ、１３Ｇ、１４Ｇには、図１に示すモータドライバ７に接続された図示しないモータが設けられている。
【００２８】
また、第一指１１における第一指第一関節１１Ａと第一指第二関節１１Ｂとの間には、第一指第一リンク１１Ｄが設けられ、第一指第二関節１１Ｂと第一指第三関節１１Ｃとの間には、第一指第二リンク１１Ｅが設けられ、第一指第三関節１１Ｃの先端には、第一指第三リンク１１Ｆが設けられている。
【００２９】
第二指１２における第二指第一関節１２Ａと第二指第二関節１２Ｂとの間には、第二指第一リンク１２Ｄが設けられ、第二指第二関節１２Ｂと第二指第三関節１２Ｃとの間には、第二指第二リンク１２Ｅが設けられ、第二指第三関節１２Ｃの先端には、第二指第三リンク１２Ｆが設けられている。
【００３０】
さらに、第三指１３における第三指第一関節１３Ａと第三指第二関節１３Ｂとの間には、第三指第一リンク１３Ｄが設けられ、第三指第二関節１３Ｂと第三指第三関節１３Ｃとの間には、第三指第二リンク１３Ｅが設けられ、第三指第三関節１３Ｃの先端には、第三指第三リンク１３Ｆが設けられている。
【００３１】
第四指１４における第四指第一関節１４Ａと第四指第二関節１４Ｂとの間には、第四指第一リンク１４Ｄが設けられ、第四指第二関節１４Ｂと第四指第三関節１４Ｃとの間には、第四指第二リンク１４Ｅが設けられ、第四指第三関節１４Ｃの先端には、第四指第三リンク１４Ｆが設けられている。
【００３２】
さらに、第二指揺動関節１２Ｇと第二指第一関節１２Ａとの間には、第二揺動リンク１２Ｈが設けられている。同様に、第三揺動関節１３Ｇと、第三指第一関節１３Ａとの間、及び第四指揺動関節１４Ｇと、第四指第一関節１４Ａとの間には、夫々図示しない第三指揺動リンク及び第四指揺動リンクが設けられている。
【００３３】
また、ロボットハンド１は、本発明のハンド部である拇指球１５及び掌部１６を有している。拇指球１５には、第一指１１が取り付けられている。
【００３４】
また、拇指球１５は、鉛直軸周りに回転可能とされており、拇指球１５とともに第一指１１が鉛直軸周りに回転可能とされている。掌部１６には、第二指１２乃至第四指１４が取り付けられている。第一指１１乃至第四指１４の各リンク１１Ｄ〜１１Ｆ、１２Ｄ〜１２Ｆ、１３Ｄ〜１３Ｆ、１４Ｄ〜１４Ｆ及び拇指球１５、掌部１６には、夫々緩衝パッド（柔軟肉）が取り付けられている。
【００３５】
なお、第二指１２乃至第四指１４の第二関節１２Ｂ〜１４Ｂと第三関節１２Ｃ〜１４Ｃとは、相互に連動する連動関節３０となっている。連動関節３０において、第二関節１２Ｂ〜１４Ｂと第三関節１２Ｃ〜１４Ｃとの間には、リンク部材３１が設けられている。
【００３６】
また、上述の如く、第二関節１２Ｂ〜１４Ｂにはモータが設けられているが、第三関節１２Ｃ〜１４Ｃにはモータが設けられていない。そして、第二関節１２Ｂ〜１４Ｂに設けられたモータが回転駆動することで、第二関節１２Ｂ〜１４Ｂが回転する。第二関節１２Ｂ〜１４Ｂが回転すると、この回転力がリンク部材３１を介して、第三関節１２Ｃ〜１４Ｃに伝達され、第三関節１２Ｃ〜１４Ｃは第二関節１２Ｂ〜１４Ｂとともに回転する。
【００３７】
このように、第一指１１の自由度は４とされており、さらに他の第二指１２乃至第四指１４の自由度は３とされ、ロボットハンド１全体として、１３の自由度を有している。また、ロボットハンド１で物体を把持する際には、第一指１１と第三指１３とが対向する状態となるように、第一指１１が前側に回り込む。こうして、図４に模式的に示す如く、把持対象物体を把持する。
【００３８】
図１に示す画像認識装置２は、撮像手段となるCCD（Charge  Coupled  Device）又はCMOS（Complementary  Metal  Oxide  Semiconductor）等のカメラと、カメラで撮影された画像を処理する画像処理部とを有している。カメラで撮影された画像を画像処理部で画像処理することにより、画像中に映される把持の対象となる物体（以下、把持対象物体と称す）の位置、形状、及びサイズを認識する。画像認識装置２は、認識した把持対象物体の位置、形状、及びサイズを関節角度算出手段である関節角度算出装置３に出力する。
【００３９】
本実施形態では、画像認識装置２が、物体形状認識装置及び物体位置認識装置として、機能している。画像認識装置２は、ともにカメラで撮影された画像を画像処理部で画像処理し、画像中に映し出される把持対象物体の形状とサイズ、及び位置を認識する。
【００４０】
関節角度算出装置３は、画像認識装置２から出力された把持対象物体の形状に基づいて、ロボットハンド１によって物体を把持するために好適なロボットハンド１の把持姿勢を目標関節角として算出する。関節角度算出装置３は、把持対象物体のモデル形状に対応した把持計算方法を記憶している。
【００４１】
関節角度算出装置３は、モデル形状として、円柱、球、及び直方体の形状について、これらのモデル形状とロボットハンド１の拘束条件から定めた接触条件を、把持対象物体の形状がこれらのモデル形状であるときの把持計算方法として記憶している。具体的な把持計算方法については、後に説明する。関節角度算出装置３は、算出したロボットハンド１の把持姿勢（目標関節角）を制御装置４に出力する。
【００４２】
制御装置４には、関節角度算出装置３、エンコーダ・ポテンショメータ５、触覚センサ６、及びモータドライバ７が接続されている。エンコーダ・ポテンショメータ５は、ロボットハンド１における第一指１１乃至第四指１４の位置を検出しており、検出した第一指１１乃至第四指１４の各リンクの関節角度を制御装置４に出力している。また、触覚センサ６は、緩衝パッド１７に埋め込まれた分布型圧力センサである。触覚センサ６は、ロボットハンド１が物体を把持した把持力を検出しており、検出した把持力を制御装置４に出力している。
【００４３】
制御装置４は、エンコーダ・ポテンショメータ５から出力された第一指１１から第四指１４の各リンクの関節角度と、関節角度算出装置３から出力された目標関節角に基づいて、フィードバック制御を行い、第一指１１乃至第四指１４を同時に動かす。制御装置４は、このフィードバック制御に基づいて、ロボットハンド１の各関節に設けられたモータを駆動するモータドライバ７に角度指令を出力している。また、制御装置４は触覚センサ６から出力された把持反力に基づいて、ロボットハンド１の把持姿勢を修正するように、モータドライバ７に角度指令又は速度指令を出力している。
【００４４】
以上の構成を有する本実施形態に係るロボットハンドの把持制御装置１０における制御の手順について説明する。図５は、本実施例に係るロボットハンドの把持制御装置１０の制御手順を示すフローチャートである。
【００４５】
図５に示す如く、ロボットハンド１の把持制御を行う際には、まず把持対象物体の位置、サイズおよび形状が認識される（Ｓ１）。把持対象物体の位置、サイズ及び形状が認識される際には、画像認識装置２によって、把持対象物体が撮影されるとともに、所定の画像処理が施され、把持対象物体の位置、サイズ及び形状が認識される。
【００４６】
把持対象物体の位置、サイズ及び形状が認識されると、関節角度算出装置３において、把持計算方法が選択される（Ｓ２）。把持計算方法は、把持対象物体が円柱、球、直方体のいずれかにより異なり、ここでは、把持対象物体の形状に応じた計算方法が選択される。把持計算方法が選択されると、第一指１１乃至第四指１４の各関節の目標関節角度が算出される（Ｓ３）。
【００４７】
目標関節角の算出において、まず掌部１６と、第一指１１のリンク１１Ｅ、１１Ｆ、及び第三指１３のリンク１３Ｄ〜１３Ｆとが把持対象物体に接触させる。さらに、他の第二指１２及び第四指１４のリンク１２Ｄ〜１２Ｆ、１４Ｄ〜１４Ｆが、把持対象物体に対して最大数の接触点を有するようにする。
【００４８】
この目標関節角は、把持対象物体の形状を、円柱、球、直方体のいずれかのモデル形状に割り当て、モデル形状とロボットハンド１との拘束条件から定められる接触条件を満たすように算出される。この目標関節角度を求めることにより、ロボットハンド１の把持姿勢が決定される。
【００４９】
関節角度算出装置３により第一指１１乃至第四指１４の目標関節角度が算出され、ロボットハンド１の把持姿勢が決定されると、制御装置４は、第一指１１乃至第四指１４の関節角度が、算出された目標関節角度となるように、モータドライバ７を介してモータを制御する（Ｓ４）。
【００５０】
触覚センサ６により検出された把持力（Ｓ５）は、制御装置４に送信され、制御装置４は検出された把持力が許容値より小さいか否かを判断する（Ｓ６）。
【００５１】
制御装置４は、触覚センサ６により検出された把持力が許容値よりも小さいと判断したとき（Ｓ６のＹｅｓ）、エンコーダ・ポテンショメータ５からの信号に基づいて、第一指１１乃至第四指１４の関節角度が目標関節角度になっているか否かを判断する（Ｓ７）。一方、制御装置４は触覚センサ６により検出された把持力が許容値以上と判断したとき（Ｓ６のＮｏ）、例えば把持対象物体を所定の場所に移動させ（Ｓ８）、本制御処理ルーチンを終了する。
【００５２】
制御装置４は、エンコーダ・ポテンショメータ５からの信号に基づいて、第一指１１乃至第四指１４の関節角度が目標関節角度になっていると判断したときは（Ｓ７のＹｅｓ）、目標関節角度を修正し（Ｓ９）、上記（Ｓ４）に戻る。
【００５３】
一方、制御装置４は、エンコーダ・ポテンショメータ５からの信号に基づいて、第一指１１乃至第四指１４の関節角度が目標関節角度になっていないと判断したときは（Ｓ７のＮｏ）、上記（Ｓ４）に戻る。
【００５４】
ロボットハンド１の拘束条件は、モデル形状との関係で決められ、例えば、モデル形状とロボットハンド１との接触点数が最も多くなることが条件とされる。このモデル形状とロボットハンド１の拘束条件と対応する接触条件が定められている。ここで、把持対象物体が夫々のモデル形状に割り当てられる形状である場合について説明する。
【００５５】
把持対象物体の形状が円柱である場合、各指１１〜１４が把持対象物体に最大接触点数を持って接触する際に最も安定した把持状態となる。したがって、原則的には、各指１１〜１４が把持対象物体に最大接触点数を持って接触することがここでの拘束条件となり、最大接触点数が接触条件となる。但し、円柱の径がロボットハンド１に対して著しく小さい場合などには、最大接触点数よりも少ない接触点数で把持することが拘束条件となり、この接触点数が接触条件となることもある。
【００５６】
図６は、第三指１３中心線を通って、かつ掌部１６に垂直な円柱の把持対象物体が把持された状態の横断平面の概略図である。
【００５７】
図６に示す如く、第一指第二リンク１１Ｅ、第一指第三リンク１１Ｆ、第三指第一リンク１３Ｄ、第三指第二リンク１３Ｅ、及び第三指第三リンク１３Ｆ及び掌部１６が把持対象物体Ｍに当接する。また、上述の如く、第二関節１３Ｂと第三関節１３Ｃとは、連動関節３０となっていることから、第二関節１３Ｂの関節角度と第三関節１３Ｃの関節角度とは、略同一となると仮定する。
【００５８】
以下、把持対象物体Ｍの中心位置（ｙｃ、ｚｃ）及び各関節１１Ｂ、１１Ｃ、１３Ａ〜１３Ｃの目標関節角度φ１、φ２、θ１、θ２、を、把持対象物体Ｍと第一指１１乃至第三指１３の各リンク１１Ｅ、１１Ｆ、１３Ｄ〜１３Ｆとの幾何学的関係から算出する方法について説明する。なお、掌部１６の方向にZ軸とし、第一指１１及び第三指１３が延びる方向をY軸とする。
【００５９】
第三指第一リンク１３Ｄに対して、幾何学的関係から下記（１）式の関係が成立する。
【００６０】
【数１】
2007098550.tif 000003
上記（１）式において、第三指第一リンク１３Ｄの回転中心である第一関節の位置を（ｙ１０、ｚ１０）とし、θ１を第三指第一関節１３Ａの関節角度とする。また、Ｒ１１は、下記（２）式により算出される。
【００６１】
【数２】
2007098550.tif 000004
上記（２）式において、ｒは把持対象物体Ｍの半径であり、ｔ１は第三指第一リンク１３Ｄの幅を１／２にした値である。
【００６２】
第三指第二リンク１３Ｅの回転中心である第三指第二関節１３Ｂの位置（ｙ１１、ｚ１１）は下記（３）式により算出される。
【００６３】
【数３】
2007098550.tif 000005
上記（３）式において、Ｌ１１は第三指第一リンク１３Ｄの長さであり、第三指第一関節１３Ａと第三指第二関節１３Ｂとの間の距離である。
【００６４】
また、第三指第二リンク１３Ｅに対して、上記第三指第一リンク１３Ｄと同様に、下記（４）式が成立する。
【００６５】
【数４】
2007098550.tif 000006
上記（４）式において、θ２を第三指第二関節１３Ｂ及び第三関節１３Ｃの目標関節角度とし、Ｒ１２は、下記（５）式により算出される。
【００６６】
【数５】
2007098550.tif 000007
上記（５）式において、ｔ２は第三指第二リンク１３Ｅの幅を１／２にした値である。
【００６７】
第三指第三リンク１３Ｆの回転中心である第三関節１３Ｃの位置（ｙ１２、ｚ１２）は下記（６）式により算出される。
【００６８】
【数６】
2007098550.tif 000008
上記（６）式において、Ｌ１２は第三指第二リンク１３Ｅの長さであり、第三指第二関節１３Ｂと第三指第三関節１３Ｃとの間の距離である。
【００６９】
また、第三指第三リンク１３Ｆに対して、上記第三指第一リンク１３Ｄ及び第三指第二リンク１３Ｅと同様に、下記（７）式が成立する。
【００７０】
【数７】
2007098550.tif 000009
上記（７）式において、Ｒ１３は下記（８）式により算出される。
【００７１】
【数８】
2007098550.tif 000010
上記（８）式において、ｔ３は第三指第三リンク１３Ｆの幅を１／２にした値である。
【００７２】
さらに、掌部１６を把持対象物体Ｍに接触させる為に下記（９）式の関係が成立する。
【００７３】
【数９】
2007098550.tif 000011
上記（９）式において、ｔ０は掌部１６の接触面におけるＹ座標の平均値である。
【００７４】
上記（１）式、（４）式、（７）式、および（９）式の４つの式に対して、変数はθ１、θ２、ｙｃ、ｚｃの４つとなる為、上記４つの式により唯一の解を算出することができる。なお、上記方程式の解を下記に示す数値的解析法により、容易に算出することができる。
【００７５】
図７は、数値的解析法による処理フローを示すフローチャートである。
【００７６】
図７に示す如く、上記（９）式により、把持対象物体Ｍの中心座標ｙｃが算出され（Ｓ１０）、探索変数であるｚｃに、初期値が設定される（Ｓ１１）。
【００７７】
次に、第三指第一関節１３Ａの目標関節角度θ１に初期値θ０１が設定され（Ｓ１２）、上記（１）式の左辺側が計算され、その値をｄ１と定義する（Ｓ１３）。また、上記（２）式によりＲ１１が算出される。
【００７８】
その後、ｄ１とＲ１１の差（｜ｄ１−Ｒ１１｜）が許容誤差ｅより小さいか否かが判断される（Ｓ１４）。なお、許容誤差ｅは、１よりも小さい値が設定されている。
【００７９】
ｄ１とＲ１１の差が許容誤差ｅよりも小さいと判断されたとき（Ｓ１４のＹｅｓ）、第三指第二関節１３Ｂ及び第三関節１３Ｃの目標関節角度θ２に初期値θ０２が設定され（Ｓ１５）、上記（４）式の左辺側が計算され、その値をｄ２と定義する（Ｓ１６）。また、上記（５）式によりＲ１２を算出する。
【００８０】
一方、ｄ１とＲ１１の差が許容誤差ｅ以上と判断されたとき（Ｓ１４のＮｏ）、下記（１０）式によりθ１が算出され（Ｓ１７）、上記（Ｓ１３）に戻る。
【００８１】
【数１０】
2007098550.tif 000012
なお、上記（１０）式において、Δθ１は下記（１１）式により算出される。
【００８２】
【数１１】
2007098550.tif 000013
上記（１１）式において、αは調整ゲインを示している。
【００８３】
（Ｓ１８）において、ｄ２とＲ１２の差（｜ｄ２−Ｒ１２｜）が許容誤差ｅより小さいか否かが判断される。
【００８４】
ｄ２とＲ１２の差が許容誤差ｅよりも小さいと判断されたとき（Ｓ１８のＹｅｓ）、上記（７）式の左辺側が計算され、その値をｄ３と定義する（Ｓ１９）。また、上記（８）式によりＲ１３が算出される。
【００８５】
一方、ｄ２とＲ１２の差が許容誤差ｅ以上と判断されたとき（Ｓ１８のＮｏ）、下記（１２）式によりθ２が算出され（Ｓ２０）、上記（Ｓ１６）に戻る。
【００８６】
【数１２】
2007098550.tif 000014
なお、上記（１２）式において、Δθ２が下記（１３）式により算出される。
【００８７】
【数１３】
2007098550.tif 000015
（Ｓ２１）において、ｄ３とＲ１３の差（｜ｄ３−Ｒ１３｜）が許容誤差ｅより小さいか否かが判断される。
【００８８】
ｄ３とＲ１３の差が許容誤差ｅよりも小さいと判断されたとき（Ｓ２１のＹｅｓ）、本処理ルーチンを終了させる。
【００８９】
一方、ｄ３とＲ１３の差が許容誤差ｅ以上と判断されたとき（Ｓ２１のＮｏ）、下記（１４）式によりｚｃが算出され（Ｓ２２）、上記（Ｓ１２）に戻る。
【００９０】
【数１４】
2007098550.tif 000016
なお、上記（１４）式において、Δｚｃが下記（１５）式により算出される。
【００９１】
【数１５】
2007098550.tif 000017
上記（１５）式において、βは調整ゲインを示している。
【００９２】
以上のように算出された解は、安定的な把持条件を満たす把持対象物体Ｍの中心位置（ｙｃ、ｚｃ）及び第三指１３の第一関節１３Ａ、第二関節１３Ｂ、及び第三関節１３Ｃの目標関節角度θ１、θ２となる。
【００９３】
さらに、第２リンク１１Ｅに対して、下記（１６）式の関係が成立する。
【００９４】
【数１６】
2007098550.tif 000018
上記（１６）式において、Ｒ２１は把持対象物体Ｍの半径と第一指１１第二リンク１１Ｅの幅を１／２にした値との和である。
【００９５】
なお、上記（１６）式において、下記（１７）式を代入すると、下記（１８）式が導出される。φ１は第一指１１第二関節１１Ｂの関節角度である。
【００９６】
【数１７】
2007098550.tif 000019
【００９７】
【数１８】
2007098550.tif 000020
また、第一指第三リンク１１Ｆの回転中心である第三関節１１Ｃの位置（ｙ２１、ｚ２１）は下記（１９）式により算出される。
【００９８】
【数１９】
2007098550.tif 000021
第一指第三リンク１１Ｆに対して、下記（２０）式が成立する。
【００９９】
【数２０】
2007098550.tif 000022
上記（２０）式において、φ２は第一指第三関節１１Ｃの関節角度を示している。Ｒ２２は把持対象物体Ｍの半径と第一指１１第三リンク１１Ｆの幅を１／２にした値との和である。上記（２０）式に下記（２１）式を代入すると、下記（２２）式が導出される。
【０１００】
【数２１】
2007098550.tif 000023
【０１０１】
【数２２】
2007098550.tif 000024
上記（１８）式、及び（２２）式により、第一指第二関節１１Ｂおよび第一指第三関節１１Ｃの目標関節角度φ１、φ２が算出される。
【０１０２】
上述した第一指１１及び第三指１３以外の、第二指１２の第一関節１２Ａ、第二関節１２Ｂ、及び第三関節１２Ｃの目標関節角度と、第四指１４の第一関節１４Ａ、第二関節１４Ｂ、及び第三関節１４Ｃの目標関節角度は、以下のようにして算出される。
【０１０３】
第二指１２及び第四指１４において、第二関節１２Ｂ、１４Ｂと第三関節１２Ｃ、１４Ｃとは、連動関節３０であり、夫々の関節角度は、同一となると仮定する。また、第二指１２及び第四指１４においても、幾何学的関係から、上記（１）式、（４）式、及び（７）式を適用することができる。ただし、第二指１２及び第四指１４のパラメータが第三指１３のパラメータと同様ではない場合、計算された第三指１３の目標関節角度θ１とθ２を第二指１２及び第四指１４に適用できない。このとき、第二指１２及び第四指１４の目標関節角度を改めて算出することが必要である。また、第三指１３の目標関節角度を算出する時に、把持対象物体Ｍの中心座標（ｙｃ、ｚｃ）は、上述の如く、既に決定された。したがって、このとき、第二指１２と第四指１４において、連動関節があるため、それぞれの二つのみのリンクを把持対象物体Ｍに接触させられる。
【０１０４】
安定的な把持姿勢を実現する為には、第二指１２及び第四指１４のリンクと把持対象物体Ｍとの接触点が把持対象物体Ｍの両面となるように、第二指１２及び第四指１４の第一リンク１２Ｄ、１４Ｄと第三リンク１２Ｆ、１４Ｆを把持対象物体Ｍに接触させるのが好ましい。さらに、第一リンク１２Ｄ、１４Ｄと第三リンク１２Ｆ、１４Ｆを把持対象物体Ｍに接触させられない場合、少なくとも第二リンク１２Ｅ、１４Ｅと第三リンク１２Ｆ、１４Ｆとを把持対象物体Ｍに接触させるのが好ましい。
【０１０５】
次に、第二指１２及び第四指１４の、第一リンク１２Ｄ、１４Ｄと第三リンク１２Ｆ、１４Ｆ若しくは第二リンク１２Ｅ、１４Ｅと第三リンク１２Ｆ、１４Ｆとを把持対象物体Ｍに接触させる目標関節角度の計算方法について説明する。
【０１０６】
図８は、第二指１２及び第四指１４の、第一リンク１２Ｄ、１４Ｄと第三リンク１２Ｆ、１４Ｆ若しくは第二リンク１２Ｅ、１４Ｅと第三リンク１２Ｆ、１４Ｆとを把持対象物体Ｍに接触させる目標関節角度の計算フローを示すフローチャートである。
【０１０７】
第二指第一関節１２Ａの目標関節角度θ１に初期値θ１０が設定され（Ｓ２０）、上記（１）式の左辺側が計算され、その値をｄ１と定義する（Ｓ２４）。また、上記（２）式によりＲ１１が算出される。ただし、式（１）と式（２）に適用したパラメータは第二指１２のパラメータである。以下も同じである。
【０１０８】
その後、ｄ１とＲ１１の差（｜ｄ１−Ｒ１１｜）が許容誤差ｅより小さいか否かが判断される（Ｓ２５）。
【０１０９】
ｄ１とＲ１１の差が許容誤差ｅよりも小さいと判断されたとき（Ｓ２５のＹｅｓ）、第二指第二関節１２Ｂ及び第三関節１２Ｃの目標関節角度θ２に初期値θ２０が設定され（Ｓ２６）、上記（７）式の左辺側が計算され、その値をｄ３と定義する（Ｓ２７）。
【０１１０】
一方、ｄ１とＲ１１の差が許容誤差ｅ以上と判断されたとき（Ｓ２５のＮｏ）、上記（１０）式によりθ１が算出され、上記（Ｓ２４）に戻る。
【０１１１】
（Ｓ２８）において、ｄ３とＲ１３の差（｜ｄ３−Ｒ１３｜）が許容誤差ｅより小さいか否かが判断される。
【０１１２】
ｄ３とＲ１３の差が許容誤差ｅよりも小さいと判断されたとき（Ｓ２５のＹｅｓ）、上記（４）式の左辺側が計算され、その値をｄ２と定義する（Ｓ２９）。
【０１１３】
一方、ｄ３とＲ１３の差が許容誤差ｅ以上と判断されたとき（Ｓ２８のＮｏ）、下記（２３）式によりθ２が算出され（Ｓ３０）、上記（Ｓ２７）に戻る。
【０１１４】
【数２３】
2007098550.tif 000025
なお、上記（２３）式において、Δθ２は下記（２４）式によって、算出される。
【０１１５】
【数２４】
2007098550.tif 000026
（Ｓ３１）において、ｄ２とＲ１２の差（｜ｄ２−Ｒ１２｜）が０より大きいか否かが判断される。
【０１１６】
ｄ２とＲ１２の差が０よりも大きいと判断されたとき（Ｓ３１のＹｅｓ）、本処理ルーチンを終了させる。
【０１１７】
一方、ｄ２とＲ１２の差が０以下と判断されたとき（Ｓ３１のＮｏ）、下記（２５）式によりθ１が算出され（Ｓ３２）、上記（Ｓ２６）に戻る。
【０１１８】
【数２５】
2007098550.tif 000027
なお、上述の如く、第二指１２の第一関節１２Ａ、第二関節１２Ｂ及び第三関節１２Ｃの目標関節角度θ１、θ２の決定方法について説明したが、第四指１４の第一関節１４Ａ、第二関節１４Ｂ及び第三関節１４Ｃの目標関節角度も、上述の方法と同様の計算方法により算出することができる。
【０１１９】
以上のようにして、第一指１１乃至第四指１４の目標関節角度が算出される。ここで求められた目標関節角度となるように、各リンク１１Ｅ、１１Ｆ、１２Ｄ〜１２Ｆ、１３Ｄ〜１３Ｆ、１４Ｄ〜１４Ｆにおけるモータを、モータドラバ７を介して駆動させることにより、把持対象物体Ｍを把持することができる。なお、把持対象物体Ｍの形状が球である場合には、第一指１１乃至第四指１４により包み込みを行って把持する態様とするのが好適となる。球体を包み込み把持する場合、第一指１１乃至第四指１４における各リンク１１Ｅ、１１Ｆ、１２Ｄ〜１２Ｆ、１３Ｄ〜１３Ｆ、１４Ｄ〜１４Ｆの目標関節角度の計算は、把持対象物体Ｍが円柱である場合と類似であるので詳細な説明は省略する。
【０１２０】
このように、本実施形態に係るロボットハンドの把持制御装置１０によれば、把持対象物体Ｍの位置、サイズ及び形状を認識し、認識した把持対象物体Ｍの形状に基づいて、把持対象物体Ｍに複数の指部が接触する際の関節角度を夫々求めている。そして、求めた関節角度に応じて、指部の把持姿勢を算出している。したがって、指部が把持対象物体Ｍを把持するために最適な形態で、把持対象物体を把持することができる。すなわち、指部によって、把持対象物体Ｍを倒したり、損傷したりする危険性を低減することができるとともに、把持対象物体Ｍを確実にかつ高速に把持することができる。
【０１２１】
また、把持姿勢の算出を行う際に、把持対象物体Ｍに直方体や円柱等のモデル形状を割り当て、このモデル形状に対応する接触条件を満たす把持姿勢を算出している。このため、ロボットハンド１の拘束条件から接触点数や接触位置を幾何学的に算出することができ、安定した把持を行う接触条件を定めることができる。
【０１２２】
以上、本発明を実施するための最良の形態について一実施例を用いて説明したが、本発明はこうした一実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、上述した一実施例に種々の変形及び置換を加えることができる。
【０１２３】
例えば、本発明は連動関節のないロボットハンドに適用することができる。
【０１２４】
例えば、上記一実施例において、把持対象物体Ｍとして、円柱、球が用いられているが、直方体を用いてもよい。この場合、直方体の把持対象物体Ｍは包み込むように把持され、直方体の厚さＨに応じて、直方体の端面からＺ軸までの距離Ｙ０が調整される（図９）。なお、直方体の端面からＺ軸までの距離Ｙ０は、下記（２６）式により算出される。
【０１２５】
【数２６】
2007098550.tif 000028
関節角度算出装置３は、上記（２６）式により算出された距離Ｙ０に基づいて、直方体の把持対象物体Ｍが第二指１２乃至第四指１４の第一リンク１２Ｄ〜１４Ｄに接触しないような第一指１１乃至第四指１４の目標関節角度を算出する。これにより、直方体の把持対象物体Ｍが第二指１２乃至第四指１４の第一リンク１２Ｄ〜１４Ｄに接触し、食い込むのを防止することができる。
【産業上の利用可能性】
【０１２６】
本発明は、把持対象物体を把持するロボットハンドの把持制御装置に利用できる。
【図面の簡単な説明】
【０１２７】
【図１】本発明の一実施例に係るロボットハンドの把持制御装置のブロック構成図である。
【図２】本発明の一実施例に係るロボットハンドの側面図である。
【図３】本発明の一実施例に係るロボットハンドの正面図である。
【図４】把持対象物体を把持した状態を模式的に示した平面図である。
【図５】本実施例に係るロボットハンドの把持制御装置の制御手順を示すフローチャートである。
【図６】円柱の把持対象物体が把持された状態の横断平面の概略図である。
【図７】数値的解析法による処理フローを示すフローチャートである。
【図８】第二指及び第四指の、第一リンクと第三リンク若しくは第二リンクと第三リンクとを把持対象物体に接触させる目標関節角度の計算フローを示すフローチャートである。
【図９】直方体の把持対象物体を把持した状態を示す図である。
【符号の説明】
【０１２８】
１    ロボットハンド
２    画像認識装置
３    関節角度算出装置
４    制御装置
５    エンコーダ・ポテンショメータ
６    触覚センサ
１０    ロボットハンドの把持制御装置
１１    第一指
１２    第二指
１３    第三指
１４    第四指
【図１】
2007098550.tif 000029
【図２】
2007098550.tif 000030
【図３】
2007098550.tif 000031
【図４】
2007098550.tif 000032
【図５】
2007098550.tif 000033
【図６】
2007098550.tif 000034
【図７】
2007098550.tif 000035
【図８】
2007098550.tif 000036
【図９】
2007098550.tif 000037