(57)【要約】【課題】大小さまざまな把持対象物に対して円滑な把持動作を行う。【解決手段】ロボットハンド１は、少なくとも２つの指機構５を備え、各指機構５が指関節８…を介して順次連結された複数のリンク部材６…を具備するとともに、リンク部材６に把持物体Ｂとの接触を検知する接触センサ７を装着し、指関節８にリンク部材６の開き角度θを検出する角度センサ９を装着し、さらに、複数の接触センサ７が把持物体Ｂと接触したことを検知する接触検知部１１Ａと、接触検知部１１Ａで複数の接触センサ７と把持物体Ｂとの接触を検知した時のリンク部材６の開き角度θを角度センサ９により検出する角度検出部１１Ｂと、角度検出部１１Ｂで検出したリンク部材６の開き角度θに基づき把持物体Ｂの概略形状を計算する概略形状計算部１３Ｂと、概略形状計算部１３Ｂで求めた概略形状から把持物体Ｂに適した把持動作を決定する動作決定部１３Ｃとを具備する。【選択図】  図１
2004160594.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの指機構を備え、各指機構が指関節を介して順次連結された複数のリンク部材を具備するとともに、リンク部材に把持物体との接触を検知する接触センサを装着し、指関節にリンク部材の開き角度を検出する角度センサを装着したロボットハンドの制御方法であって、
上記複数の接触センサが把持物体と接触したことを検知する接触検知処理と、
上記接触検知処理で上記複数の接触センサと把持物体との接触を検知した時のリンク部材の開き角度を角度センサにより検出する角度検出処理と、
上記角度検出処理で検出したリンク部材の開き角度に基づき把持物体の概略形状を計算する概略形状計算処理と、
上記概略形状計算処理で求めた概略形状から把持物体に適した把持動作を決定する動作決定処理と、を含むことを特徴とするロボットハンドの制御方法。
【請求項２】
上記接触検知処理において、同一の指機構に装着されている少なくとも２つの接触センサが把持物体と接触したことを検知し、
上記角度検出処理において、上記接触検知処理で把持物体との接触を検知した上記複数の接触センサを含む指機構のリンク部材の開き角度を検出し、
上記概略形状計算処理において、各指機構ごとに計算した把持物体の概略形状を総合して把持物体の概略形状を決定することを特徴とする請求項１に記載のロボットハンドの制御方法。
【請求項３】
上記接触検知処理において、１つの指関節を介して連結された２つのリンク部材にそれぞれ装着されている２つの接触センサが把持物体と接触したことを検知し、
上記角度検出処理において、上記接触検知処理で把持物体との接触を検知した上記２つの接触センサを装着した２つのリンク部材を連結する指関節に装着されている角度センサにより当該リンク部材の開き角度を検出することを特徴とする請求項１または２に記載のロボットハンドの制御方法。
【請求項４】
上記概略形状計算処理において、複数の指機構に装着されている複数の接触センサが把持物体に接触した時の各接触センサ間の相対的な位置関係に基づき把持物体の概略形状を計算して求めることを特徴とする請求項１に記載のロボットハンドの制御方法。
【請求項５】
把持物体と接触する指機構の方向を変更する把持方向変更処理を含み、
上記概略形状計算処理において、把持方向ごとに計算した把持物体の概略形状を総合して把持物体の概略形状を決定することを特徴とする請求項１から４のいずれか１項に記載のロボットハンドの制御方法。
【請求項６】
把持物体の把持に失敗した場合、上記把持方向変更処理において、把持物体と接触する指機構の方向を追加するように指機構の方向を変更することを特徴とする請求項５に記載のロボットハンドの制御方法。
【請求項７】
少なくとも２つの指機構を備え、各指機構が指関節を介して順次連結された複数のリンク部材を具備するとともに、リンク部材に把持物体との接触を検知する接触センサを装着し、指関節にリンク部材の開き角度を検出する角度センサを装着したロボットハンドであって、
上記複数の接触センサが把持物体と接触したことを検知する接触検知手段と、
上記接触検知手段で上記複数の接触センサと把持物体との接触を検知した時のリンク部材の開き角度を角度センサにより検出する角度検出手段と、
上記角度検出手段で検出したリンク部材の開き角度に基づき把持物体の概略形状を計算する概略形状計算手段と、
上記概略形状計算手段で求めた概略形状から把持物体に適した把持動作を決定する動作決定手段と、を具備することを特徴とするロボットハンド。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の指機構を備えたロボットハンド、および、その把持制御方法に関するものである。
【０００２】
【従来の技術】
従来、ロボットハンドで物体（把持物体）を把持する方法として、以下のものが考えられている。まず、把持物体に対してロボットハンドを位置決めし、ロボットハンドのあらかじめ定められた部位を把持物体に接触させる。次に、この状態から把持物体の把持に際して把持物体に接触させるべき指機構の各関節をあらかじめ定められた形態で作動させ、指機構および掌を把持物体に接触させて、把持物体を把持する。
【０００３】
しかし、上記方法では、任意の形状や大きさの把持物体を把持する場合、把持物体に対してロボットハンドを常に精度良く位置決めすることが難しく、把持を行う初期の段階で常にロボットハンドのあらかじめ定められた部位を最初に物体に接触させることが困難である。
【０００４】
この問題を解決するために、特許文献１には、多指ハンド装置の制御装置が提案されている。この多指ハンド装置の制御装置は、多指ハンド装置に搭載された複数の力センサのうち１つが把持物体と接触すると、この力センサにより近い力センサから順番に把持物体と接触するように各指機構の関節を作動させて、多指ハンド装置に把持物体を把持させる。
【０００５】
【特許文献１】
特開２００１−２８７１８２号公報（公開日：平成１３年１０月１６日）
【０００６】
【発明が解決しようとする課題】
しかしながら、上記従来の把持制御方法では、例えば指先でつまむような小さな物体から、２本のロボットハンドで把持しなければならない大きな物体まで、同一の動作で把持しようとするため、次のような問題が生じる。
【０００７】
すなわち、ロボットハンドで大小さまざまな物体を把持する場合、例えば、指先でつまむ場合、指と掌で掴む場合、あるいは２本のロボットハンドで掴む場合では、把持物体の大きさに応じてロボットハンドの把持動作が異なる。そのため、常に同じ動作で把持を行おうとすると、うまく把持物体を掴むことができずに、失敗する把持動作を繰り返し行うこととなる。
【０００８】
この問題を解消するために、例えば、把持物体を撮像し、その形状や大きさを画像処理により認識して、把持物体の形状や大きさに応じてロボットハンドの適切な把持動作を計算により導き出す方法が考えられる。しかし、この方法では、計算処理が膨大となるため、計算に多大な時間を要してしまう。また、暗闇の中では撮像が困難である。
【０００９】
本発明は、上記の問題点を解決するためになされたもので、その目的は、大小さまざまな把持対象物に対して円滑な把持動作を行うことができるロボットハンド、および、その把持制御方法を提供することにある。
【００１０】
【課題を解決するための手段】
上記の課題を解決するために、本発明のロボットハンドの制御方法は、少なくとも２つの指機構を備え、各指機構が指関節を介して順次連結された複数のリンク部材を具備するとともに、リンク部材に把持物体との接触を検知する接触センサを装着し、指関節にリンク部材の開き角度を検出する角度センサを装着したロボットハンドの制御方法であって、上記複数の接触センサが把持物体と接触したことを検知する接触検知処理と、上記接触検知処理で上記複数の接触センサと把持物体との接触を検知した時のリンク部材の開き角度を角度センサにより検出する角度検出処理と、上記角度検出処理で検出したリンク部材の開き角度に基づき把持物体の概略形状を計算する概略形状計算処理と、上記概略形状計算処理で求めた概略形状から把持物体に適した把持動作を決定する動作決定処理と、を含むことを特徴としている。
【００１１】
また、本発明のロボットハンドは、少なくとも２つの指機構を備え、各指機構が指関節を介して順次連結された複数のリンク部材を具備するとともに、リンク部材に把持物体との接触を検知する接触センサを装着し、指関節にリンク部材の開き角度を検出する角度センサを装着したロボットハンドであって、上記複数の接触センサが把持物体と接触したことを検知する接触検知手段と、上記接触検知手段で上記複数の接触センサと把持物体との接触を検知した時のリンク部材の開き角度を角度センサにより検出する角度検出手段と、上記角度検出手段で検出したリンク部材の開き角度に基づき把持物体の概略形状を計算する概略形状計算手段と、上記概略形状計算手段で求めた概略形状から把持物体に適した把持動作を決定する動作決定手段と、を具備することを特徴としている。
【００１２】
上記の方法および構成により、複数の接触センサが把持物体と接触したことを検知した時のリンク部材の開き角度を角度センサにより検出し、この開き角度に基づき把持物体の概略形状を計算する。そして、計算で求めた概略形状から把持物体に適した把持動作を決定する。ここで、把持物体の概略形状とは、ロボットハンドが把持可能な程度に詳細かつ正確な形状である。なお、複数の接触センサを把持物体と接触させるタイミングは、同時であってもよいし、そうでなくてもよい。また、接触センサとしては、圧力センサや３軸方位センサが利用できる。また、角度センサとしては、ロータリエンコーダが利用できる。
【００１３】
よって、把持物体に接触センサを実際に接触させた時のデータに基づき、把持物体の概略形状を計算することから、ロボットハンドが把持可能な程度に詳細かつ正確な形状を素早く検出できる。また、従来のように把持物体を撮像する必要がないため、暗闇でも検出できる。そして、把持物体の概略形状に基づいて最適な把持動作を決定することから、把持物体を確実に把持することができる。
【００１４】
したがって、上記ロボットハンドによれば、大小さまざまな把持物体に対して把持の失敗をすることなく、円滑に把持を行うように把持動作を制御することが可能となる。
【００１５】
さらに、本発明のロボットハンドの制御方法は、上記接触検知処理において、同一の指機構に装着されている少なくとも２つの接触センサが把持物体と接触したことを検知し、上記角度検出処理において、上記接触検知処理で把持物体との接触を検知した上記複数の接触センサを含む指機構のリンク部材の開き角度を検出し、上記概略形状計算処理において、各指機構ごとに計算した把持物体の概略形状を総合して把持物体の概略形状を決定することを特徴としている。
【００１６】
上記の方法により、さらに、各指機構ごとに複数の接触センサを把持物体に接触させてリンク部材の開き角度を検出し、把持物体の概略形状を計算する。そして、各指機構ごとに求めた把持物体の概略形状を総合して把持物体の概略形状を決定する。なお、複数の接触センサを把持物体と接触させるタイミングは、同時であってもよいし、そうでなくてもよい。
【００１７】
よって、複数の異なる方向について断面形状の半径が求められるため、把持物体の概略形状を精度良く求めることができる。
【００１８】
さらに、本発明のロボットハンドの制御方法は、上記接触検知処理において、１つの指関節を介して連結された２つのリンク部材にそれぞれ装着されている２つの接触センサが把持物体と接触したことを検知し、上記角度検出処理において、上記接触検知処理で把持物体との接触を検知した上記２つの接触センサを装着した２つのリンク部材を連結する指関節に装着されている角度センサにより当該リンク部材の開き角度を検出することを特徴としている。
【００１９】
上記の方法により、さらに、１つの指関節を介して連結された２つのリンク部材にそれぞれ装着されている２つの接触センサが把持物体と接触したことを検知した時、それら２つの接触センサを装着した２つのリンク部材を連結する指関節に装着されている角度センサにより当該リンク部材の開き角度を検出するし、把持物体の概略形状を計算することができる。なお、２つの接触センサを把持物体と接触させるタイミングは、同時であってもよいし、そうでなくてもよい。
【００２０】
よって、簡易な動作でありながら、把持物体の概略形状を精度良く求めることができる。
【００２１】
さらに、本発明のロボットハンドの制御方法は、上記概略形状計算処理において、複数の指機構に装着されている複数の接触センサが把持物体に接触した時の各接触センサ間の相対的な位置関係に基づき把持物体の概略形状を計算して求めることを特徴としている。
【００２２】
上記の方法により、さらに、各接触センサ間の相対的な位置関係に基づき把持物体の概略形状を計算して求めることができる。各接触センサ間の相対的な位置関係は、例えば次のようにして求めることができる。まず、ロボットハンドの任意の箇所に設定した原点から、各接触センサまでアーム部材やリンク部材に沿って測定した距離を、接触センサごとに記憶する。そして、接触センサが把持物体に接触した時の各関節部の開き角度と、記憶しておいた接触センサまでの距離から、接触センサの原点からの位置を求める。次に、各接触センサの原点からの位置情報に基づき、各接触センサ間の相対的な位置関係を求める。
【００２３】
よって、複雑な形状をしている把持物体の概略形状を精度良く求めることができる。
【００２４】
さらに、本発明のロボットハンドの制御方法は、把持物体と接触する指機構の方向を変更する把持方向変更処理を含み、上記概略形状計算処理において、把持方向ごとに計算した把持物体の概略形状を総合して把持物体の概略形状を決定することを特徴としている。
【００２５】
上記の方法により、さらに、把持物体と接触する指機構の方向を変更するごとに接触センサを把持物体に接触させてリンク部材の開き角度を検出し、把持物体の概略形状を計算する。そして、各方向ごとに求めた把持物体の概略形状を総合して把持物体の概略形状を決定する。
【００２６】
よって、複数の異なる方向について断面形状の半径が求められるため、把持物体の概略形状を精度良く求めることができる。
【００２７】
さらに、本発明のロボットハンドの制御方法は、把持物体の把持に失敗した場合、上記把持方向変更処理において、把持物体と接触する指機構の方向を追加するように指機構の方向を変更することを特徴としている。
【００２８】
上記の方法により、さらに、把持物体の把持に失敗した場合、ロボットハンドが把持物体と接触する方向を増やして把持物体の概略形状を計算し、計算した概略形状から把持物体に適した把持動作を決定する。
【００２９】
よって、把持物体の把持に失敗しても再度適切な把持動作を決定することができる。なお、ロボットハンドが異なった方向から把持物体と接触する回数は、把持の失敗がなくなるまで増やしてもよい。それゆえ、最適な接触回数を設定することができる。
【００３０】
【発明の実施の形態】
本発明の一実施の形態について図１から図５に基づいて説明すれば、以下のとおりである。
【００３１】
図１に示すように、本実施の形態に係るロボットハンド１は、先端にハンド部１Ｃが装着されたアーム部１Ｂが基台１Ａに設置されて構成されている。また、ロボットハンド１は、アーム部１Ｂおよびハンド部１Ｃの動作を制御する制御部１Ｄを備えている。
【００３２】
アーム部１Ｂは、腕関節２…を介して順次連結された複数のアーム部材３…より構成されている。
【００３３】
ハンド部１Ｃは、掌部４と、掌部４に装着されている複数の指機構５・５とからなる。各指機構５は、指関節８（８ａ，８ｂ，…）を介して順次連結された複数のリンク部材６（６ａ，６ｂ，…）を具備する。また、指機構５は、リンク部材６に把持物体Ｂとの接触を検知する接触センサ７（７ａ，７ｂ，…）が装着されるとともに、指関節８にリンク部材６の開き角度θ（指関節８の回転角度）を検出する角度センサ９（９ａ，９ｂ，…）が装着されている。
【００３４】
接触センサ７は、把持物体Ｂとの接触を検知できればよく、接触センサ７としては、圧力センサや３軸方位センサ等が利用できる。また、角度センサ９としては、ロータリエンコーダ等が利用できる。なお、掌部４にも、接触センサ７および角度センサ９を装着してもよい。
【００３５】
制御部１Ｄは、複数の接触センサ７…および角度センサ９…からの情報をまとめるセンサ制御部１１、ロボットハンド１の腕関節２…および指関節８…の動作を制御するロボットハンドコントローラ１２、センサ制御部１１で計算処理して求めた把持物体の概略形状に基づく把持動作の決定やロボットハンドコントローラ１２の制御を行うメインコントローラ１３からなる。
【００３６】
上記センサ制御部１１は、接触検知部（接触検知手段）１１Ａ、角度検出部（角度検出手段）１１Ｂを含んでいる。
【００３７】
接触検知部１１Ａは、接触センサ７が把持物体Ｂと接触したことを検知する。そして、接触検知部１１Ａは、複数の接触センサ７…が同時に（あるいは順次）把持物体Ｂと接触したことを検知した時、これを角度検出部１１Ｂに通知する。特に、接触検知部１１Ａは、同一の指機構５に装着されている少なくとも２つの接触センサ７・７が同時に把持物体Ｂと接触したことを検知する機能を有する。また、接触検知部１１Ａは、１つの指関節５を介して連結された２つのリンク部材６・６にそれぞれ装着されている２つの接触センサ７・７が同時に把持物体Ｂと接触したことを検知する機能を有する。
【００３８】
角度検出部１１Ｂは、接触検知部１１Ａで複数の接触センサ７…と把持物体Ｂとの接触を検知した時のリンク部材６…の開き角度θを角度センサ９…により検出する。特に、角度検出部１１Ｂは、接触検知部１１Ａで把持物体Ｂとの接触を検知した複数の接触センサ７…を含む指機構５のリンク部材６…の開き角度θを検出する機能を有する。また、角度検出部１１Ｂは、接触検知部１１Ａで把持物体Ｂとの接触を検知した２つの接触センサ７・７を装着した２つのリンク部材６・６を連結する指関節８に装着されている角度センサ９により当該リンク部材６・６の開き角度θを検出する機能を有する。
【００３９】
また、上記メインコントローラ１３は、把持方向決定部（把持方向変更手段）１３Ａ、概略形状計算部（概略形状計算手段）１３Ｂ、動作決定部（動作決定手段）１３Ｃを含んでいる。
【００４０】
把持方向決定部１３Ａは、把持物体Ｂと接触する指機構５の方向を決定する。特に、把持方向決定部１３Ａは、ロボットハンド１が把持物体Ｂの把持に失敗した場合、把持物体Ｂと接触する指機構５の方向を追加するように指機構５の方向を変更する機能を有する。
【００４１】
概略形状計算部１３Ｂは、接触検知部１１Ａで検知した情報や角度検出部１１Ｂで検出したリンク部材６の開き角度θに基づき把持物体Ｂの概略形状を計算する。特に、概略形状計算部１３Ｂは、各指機構５ごとに計算した把持物体Ｂの概略形状を総合して把持物体Ｂの概略形状を決定する機能を有する。また、概略形状計算部１３Ｂは、把持物体Ｂと接触する指機構５の方向である把持方向ごとに計算した把持物体Ｂの概略形状を総合して把持物体Ｂの概略形状を決定する機能を有する。
【００４２】
動作決定部１３Ｃは、概略形状計算部１３Ｂで求めた概略形状から把持物体Ｂに適したロボットハンド１の把持動作を決定する。
【００４３】
ここで、制御部１Ｄは、各ブロック（センサ制御部１１、ロボットハンドコントローラ１２、メインコントローラ１３）が、ハードウェアロジックによって実現されてもよいし、次のようにＣＰＵを用いてソフトウェアによって実現されてもよい。
【００４４】
すなわち、ロボットハンド１の制御装置である制御部１Ｄは、各ブロックの機能を実現するロボットハンドの制御プログラムの命令を実行するＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、上記プログラムを格納したＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、上記プログラムを展開するＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、制御部１Ｄは、上述した機能を実現するソフトウェアであるロボットハンドの制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、制御部１Ｄに供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、実現可能である。この場合、記録媒体から読み出されたプログラムコード自体が上述した機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００４５】
このように本明細書において、手段とは必ずしも物理的手段を意味するものではなく、各手段の機能がソフトウェアによって実現される場合も包含する。さらに、一つの手段の機能が、二つ以上の物理的手段により実現されても、もしくは、二つ以上の手段の機能が、一つの物理的手段により実現されてもよい。
【００４６】
なお、ロボットハンド１は、アクチュエータ（図示せず）によってＸ軸での回転が可能である。また、図１では、腕関節２が３つ図示されているが、これに限定されるものではない。すなわち、ロボットハンド１は、用途に応じて適当な数の腕関節２が装着されてもよい。また、同図では、指機構５が２本図示されているが、これに限定されるものではない。すなわち、ロボットハンド１は、用途に応じて適当な数の指機構５が装着されてもよい。また、指機構５の長さ、太さ、さらに指機構５に装着されている指関節８も任意に設定できる。
【００４７】
また、接触センサ７の位置検出法としては、角度センサ９を使う方法の他、接触センサ７に無線発信機能等をつけて位置を検出する方法などが考えられる。
【００４８】
次に、図２および図３を参照しながら、ロボットハンド１において把持物体Ｂの概略形状を計算により求める原理について説明する。
【００４９】
［１−１］球形もしくは円筒形
まず、把持物体Ｂが球形もしくは円筒形である場合について説明する。
【００５０】
ロボットハンド１が把持動作を開始すると、複数の接触センサ７…のうちの１つの接触センサ７ａが把持物体Ｂに接触する（図２（ａ））。さらに、ロボットハンド１が把持動作を続けると、接触センサ７ａと同一の指機構５に装着されており指関節８を１つ挟んだ位置にある接触センサ７ｂが把持物体Ｂに接触する（図２（ｂ））。なお、図２（ｂ）では、説明が明確になるように把持物体Ｂと指機構５を点線で図示している。
【００５１】
図２（ｂ）に示すように、接触センサ７ａおよび接触センサ７ｂが把持物体Ｂと接触した状態では、接触センサ７ａと指関節８ａとの距離Ｌ１と、接触センサ７ｂと指関節８ａとの距離Ｌ２とが同じ距離Ｌ（＝Ｌ１＝Ｌ２）になる。そして、この状態でのリンク部材６ａ，６ｂのなす角度、すなわち、角度センサ９ａが検出する指関節８ａの開き角度をθとすると、把持物体Ｂの断面形状の半径ｒは以下の式で表すことができる。
【００５２】
ｒ＝Ｌ・ｔａｎ（θ／２）        （１）
このように、把持物体Ｂが球形もしくは円筒形であるとあらかじめ認識している場合には、上式（１）の計算結果である把持物体Ｂの断面形状の半径ｒに基づき把持物体Ｂの概略形状が決定でき、ロボットハンド１の把持動作を決定することが可能となる。
【００５３】
なお、図２（ａ）（ｂ）では、把持物体Ｂの断面形状の半径を求めるのに、指関節８ａを挟んだ位置にある２つの接触センサ７ａ，７ｂと角度センサ９ａとを用いた。しかし、複数の角度センサ９…を間に挟む接触センサ７・７の組み合わせを用いてもよい。例えば、接触センサ７ａ，７ｃを同時に接触させ、その時の角度センサ９ａ，９ｂの検出データに基づいて開き角度θを求めて、断面形状の半径ｒを決定してもよい。
【００５４】
また、より精度良く断面形状の半径を求める場合は、データ数を増やして計算しても良い。例えば、接触センサ７ａ，７ｂと同一の指機構５に装着されている接触センサ７ｃを把持物体Ｂに接触させ、角度センサ９ｂにより指関節８ｂの開き角度θを検出し、上式（１）により半径を算出して、２つの半径の平均値から把持物体Ｂの断面形状を決定してもよい。
【００５５】
ここで、３個以上の接触センサ７…を用いて複数の半径から断面形状を求める方法では、例えば検出された複数の開き角度から任意に選んだ２個の開き角度から上記で説明した方法と同じようにして断面形状の半径を求めてもよい。このように、選択した複数の開き角度θから半径を求めていくと、同一断面に対して複数の半径が得られ、それら複数の半径を総合することにより、断面形状の半径を精度良く求めることができる。
【００５６】
このように、データ数を増やせば増やすほど、より精度の良い断面形状の半径が求まる。なお、接触センサ７・７の組み合わせは、１つの指関節８を挟むものに限定されない。
【００５７】
［１−２］その他の形状
把持物体Ｂが球形もしくは円筒形以外の形状を有している場合、１方向の断面形状から得た情報では、把持物体Ｂの概略形状を計算により求めることは難しい。そこで、複数方向の断面形状のデータを取得して、把持物体Ｂの概略形状を計算して求めることにより、球形もしくは円筒形以外の形状を有する把持物体Ｂの概略形状を特定することができる。
【００５８】
例えば、複数の方向からの断面形状のデータを取得する方法として、他の指機構により断面形状のデータを測定することが考えられる。
【００５９】
図３に示すように、把持物体Ｂに指機構５ａ，５ｂ，５ｃを接触させ、各指機構５ａ，５ｂ，５ｃごとに上記［１−１］の方法にて把持物体Ｂの断面形状の半径を計算すれば、把持物体Ｂに対して３方向からの断面形状の半径を得ることができる。そして、それら３つの半径を総合して把持物体Ｂの概略形状を計算により求めることができる。
【００６０】
なお、図３では、指機構５を３本しか図示していないが、それに限定されるものではない。すなわち、３本以上の指機構５…を備えたロボットハンド１では、把持物体Ｂに対して３方向以上からの断面形状の半径を得ることができるため、さらに精度良く把持物体Ｂの概略形状を計算により求めることができる。
【００６１】
また、掌部４に接触センサ７（図示せず）を装着して、把持物体Ｂとの接触を検知してもよい。また、把持物体Ｂに最初に接触する接触センサは、指先のリンク部材６に装着された接触センサ７であってもよいし、その他のリンク部材６あるいは掌部４に装着された接触センサ７であってもよい。
【００６２】
また、複数の方向からの断面形状のデータを取得する方法として、ロボットハンド１を異なった方向から把持物体Ｂに接触させて、新たな方向の断面形状の半径を取得してもよい。これにより、さらに多くの方向からの断面形状の半径を取得できるため、より複雑な形状の把持物体Ｂの概略形状を計算により求めることができる。
【００６３】
そのためには、方向を変えて指機構５を把持物体Ｂに接触させた時、方向を変える前からの変更量を把握しておく必要がある。具体的には、例えば、ロボットハンド１の任意の箇所に原点を設定し、初回に把持物体Ｂに接触した任意の指機構５がどれだけ傾いて異なる方向から把持物体Ｂに再度接触したかを、原点を基準に測定する。その原点を設ける箇所は、ロボットハンド１の基台１Ａとの接合部分や、基台１Ａに最も近い腕関節２などが考えられる。
【００６４】
把持物体Ｂに関する複数方向の断面形状の半径データから、把持物体Ｂの概略形状を計算する方法として以下の方法が考えられる。あらかじめロボットハンド１の任意の位置に原点を設定しておき、断面形状の半径データを取得する時に、原点を基準する接触センサ７の位置情報（方向と距離）を取得し、それを断面形状の半径データに対応づけて保存する。そして、各断面形状の半径データとその位置情報に基づいて、３次元空間に円を重ね合わせて描く演算を行うことによって、把持物体Ｂの概略形状を決定できる。
【００６５】
このように、多方向の断面形状の半径を取得することにより、把持物体Ｂの概略形状を精度良く計算して求めることができる。
【００６６】
複雑な形状をしている把持物体Ｂの概略形状を求める方法は、上記で示したような多方向の断面形状の半径から計算して求める方法に限定されるわけではない。例えば、ロボットハンド１に装着されている各接触センサ７…が把持物体Ｂに接触した時の各接触センサ７・７間の相対的な位置関係から把持物体Ｂの概略形状を求めることができる。各接触センサ７・７間の相対的な位置関係は次のようにして求めることができる。例えば、ロボットハンド１の任意の箇所に原点を設定する。原点から各接触センサ７…まで、アーム部１Ｂ、掌部４、各指機構５のリンク部材６に沿って測定した距離はあらかじめわかるので、各接触センサ７…ごとに原点からの距離を記憶しておく。そして、各接触センサ７…が把持物体Ｂに接触した時の各関節部（腕関節２、指関節８）の開き角度θと各接触センサ７までの距離から各接触センサ７…の原点からの位置がわかる。その位置情報から各接触センサ７・７間の相対的な位置関係を求めれば、把持物体Ｂの概略形状を計算により決定できる。
【００６７】
次に、図４および図５を参照しながら、ロボットハンド１の把持制御方法について説明する。
【００６８】
［２−１］球形もしくは円筒形
まず、図４を参照しながら、把持物体Ｂが球形もしくは円筒形である場合について説明する。なお、以下の説明では、図２（ａ）（ｂ）で示したように、最初に接触センサ７ａ（第１の接触センサ）を把持物体Ｂに接触させ、次に、接触センサ７ｂ（第２の接触センサ）を把持物体Ｂに接触させるものとする。
【００６９】
最初、任意の接触センサ７ａを把持物体Ｂに接触させる（Ｓ１１）。次に、１つの指関節８ａを挟んだ位置にある接触センサ７ｂを把持物体Ｂに接触させる（Ｓ１２）。そして、接触検知部１１Ａが接触センサ７ａ，７ｂによる接触を検知すると（接触検知処理）、角度検出部１１Ｂが上記の数式（１）に従って、断面形状の半径ｒを計算する（Ｓ１３、角度検出処理）。
【００７０】
次に、概略形状計算部１３Ｂは、ステップＳ１１〜Ｓ１３によって複数の指機構５…で求められた複数の断面形状の半径を総合して、把持物体Ｂの概略形状を決定する（Ｓ１４、概略形状計算処理）。次に、動作決定部１１Ｃが、概略形状計算部１３Ｂが決定した概略形状に応じた最適な把持動作を決定する（Ｓ１５、動作決定処理）。その後、メインコントローラ１３が、動作決定部１３Ｃで決定した把持動作を実行するための指示をロボットハンドコントローラ１２に送り、ロボットハンドコントローラ１２が最適な把持動作を実行する（Ｓ１６）。
【００７１】
ここで、最適な把持動作とは、例えば指先でつまむとか、またそのとき何本の指を使うかとか、指の腹を使って把持を行うとか、さらには把持物体が大きい場合は両手で把持するとかなどいろいろな動作が考えられる。その判断基準としては、例えば、指機構と掌を広げた大きさより大きな把持物体は両手で把持を行うとか、指機構より短い把持物体などは摘んで把持を行ったり、円筒状の把持物体であれば、把持物体の中心付近を把持するなどが考えられる。もちろん、把持する物体やその目的などによって、把持動作はいろいろ変わってくる。さらに、把持を失敗することで把持動作の学習行い、それに従って把持動作を決定するように構成しても良い。
【００７２】
このように、図４に示したフローチャートの把持制御方法は、把持物体Ｂの形状が球形もしくは円筒形に決まっている場合、形は同じであるが大きさが異なる場合、あるいは、形状がそれほど複雑でない場合に好適である。すなわち、１回の検出で把持物体Ｂの半径を決定するので、非常に短時間で把持動作を決定することができる。
【００７３】
［２−２］その他の形状
次に、図５を参照しながら、把持物体Ｂが球形もしくは円筒形以外の形状を有している場合について説明する。なお、以下の説明では、図３で示したように、複数本の指機構５…を同時に把持物体Ｂに接触させるものとする。
【００７４】
最初、リンク部材６や掌部４に装着されている複数の接触センサ７…を把持物体Ｂに接触させる（Ｓ２１）。そして、接触検知部１１Ａが複数の接触センサ７…による接触を検知すると（接触検知処理）、角度検出部１１Ｂが検出した開き角度θから、複数の方向の断面形状の半径ｒを計算する（Ｓ２２、角度検出処理）。
【００７５】
次に、概略形状計算部１３Ｂにあらかじめ設定されている断面形状の規定方向数と断面形状の半径データ数とを比較し（Ｓ２３）、半径データ数の方が少なければ、把持物体Ｂへの接触方向を変えて断面形状の半径データを取得する（Ｓ２４、把持方向変更処理）。
【００７６】
一方、ステップＳ２３において、断面形状の規定方向数より半径データ数の方が多ければ、ステップＳ２５へ進み、概略形状計算部１３Ｂが、規定方向数以上の方向について求められた複数の断面形状の半径を総合して、把持物体Ｂの概略形状を決定する（Ｓ２５、概略形状計算処理）。次に、動作決定部１３Ｃが、概略形状計算部１３Ｂが決定した概略形状に応じた最適な把持動作を決定する（Ｓ２６、動作決定処理）。その後、その後、メインコントローラ１３が、動作決定部１３Ｃで決定した把持動作を実行するための指示をロボットハンドコントローラ１２に送り、ロボットハンドコントローラ１２が最適な把持動作を実行する（Ｓ２７，Ｓ２８）。
【００７７】
ステップＳ２８において、把持物体Ｂの把持に失敗した場合、把持方向決定部１３Ａが断面形状の方向数を増やすように把持物体Ｂを把持する方向を設定し（Ｓ２９）、ロボットハンドコントローラ１２の制御によりアーム部１Ｂおよびハンド部１Ｃの位置を調整した後、ステップＳ２５〜Ｓ２８の処理を行う。すなわち、ロボットハンド１は、把持物体Ｂの把持に失敗した場合、把持方向を追加して再度半径を取得し、把持動作の決定および実行をやり直す。なお、把持物体Ｂの把持に成功するまで増加させた断面形状の方向数は、新たな規定方向数として次の把持物体Ｂ以降にも継続して適用してもよし、当該把持物体Ｂ限りとしてもよい。
【００７８】
以上のように、上記ロボットハンド１では、接触センサ７を装着した指機構５を把持物体Ｂに接触させて、把持物体Ｂの概略形状を計算により確認してから把持動作を行う。よって、ロボットハンド１によれば、大小さまざまな把持物体Ｂに対して把持の失敗をすることなく、円滑に把持を行うように把持動作を制御することができる。また、従来のように把持物体Ｂを撮像する必要がない。なお、把持物体Ｂの概略形状とは、ロボットハンド１が把持可能な程度に詳細かつ正確な形状である。
【００７９】
把持物体Ｂの概略形状は、接触センサ７を複数の異なる方向から把持物体Ｂに接触させて、断面形状の半径を多方向から求め、各方向で計算されたデータから把持物体Ｂの概略形状を計算できる。よって、把持物体Ｂの概略形状を精度良く求めることができる。なお、ロボットハンド１に装着されている各接触センサ７が把持物体Ｂに接触した時の各接触センサ７間の相対的な位置情報から把持物体Ｂの概略形状を計算して、把持物体Ｂの概略形状を求めることもできる。この方法でも精度良く把持物体Ｂの概略形状を求めることができる。
【００８０】
また、把持物体Ｂの把持に失敗した場合、ロボットハンド１が把持物体Ｂと接触する方向を増やして把持物体Ｂの概略形状を計算し、計算した概略形状から把持物体Ｂに適した把持動作を決定することができる。すなわち、ロボットハンド１は、把持物体Ｂの把持に失敗しても、再度適切な把持動作を決定することができる。さらに、また、ロボットハンド１が異なった方向から把持物体Ｂに接触させる回数は、把持の失敗がなくなるまで増やしてもよい。よって、ロボットハンド１の最適な把持制御方法を設定することができる。
【００８１】
上記ロボットハンド１の制御方法によれば、概略形状の違いから把持物体Ｂを特定できる。よって、ロボットハンド１は、工場における製品や異常形状などの不良品の選別作業などに利用できる。
【００８２】
例えば、ある程度形状が決まっている数種類の製品がラインに流れているとき、それら製品の選別作業にロボットハンド１を利用することができる。すなわち、ラインに流れてくる製品をロボットハンド１で一つ一つつかむと、ロボットハンド１は、つかんだ時に製品の概略形状を計算により求めることができるので、求めた概略形状の違いから製品を選別できる。
【００８３】
このように、ロボットハンド１によって製品等の選別を行えば、従来のように人手を使うよりコストを削減することができる。また、視覚センサを用いて製品を選別するよりも、画像処理にかかる多大な時間を削減できるとともに、素早く選別できる。なお、製品の形状が直方体等とはっきりしている場合、ロボットハンド１では、半径を計算する必要が無く、製品の幅や高さを検出して製品の選別を行えばよい。また、製品に直接触れたくない場合、製品ごとに柄の太さが異なる箱などに製品を入れればよい。そうすれば、柄の太さによって把持物体の違いを認識できるので、製品の選別が可能となる。
【００８４】
さらに、ロボットハンド１は、暗闇の中でも物体の概略形状を計算して求めることができるため、暗闇での探索作業や運搬作業に利用できる。この点、従来の方式では、暗闇では撮像できないので画像処理による把持物体Ｂの特定ができなかった。
【００８５】
なお、本実施の形態は本発明の範囲を限定するものではなく、本発明の範囲内で種々の変更が可能であり、例えば、以下のように構成することができる。
【００８６】
本発明のロボットハンドの把持制御方法は、少なくとも２本以上の指機構を備え、該指機構に複数の接触センサを装着したロボットハンドにおいて、上記複数の接触センサから読み込まれたデータより把持物体の概略形状を計算し求め、求めた概略形状から該把持物体に適した把持動作を決定する方法であってもよい。これにより、把持物体の概略形状を求めることで最適な把持動作を決定することができ、確実に物体の把持を行うことができる。
【００８７】
また、上記ロボットハンドの把持制御方法は、上記把持物体の概略形状は、同一の指機構に装着されている少なくとも２つの接触センサからのデータで把持物体の断面形状を計算して求め、複数の指機構から計算された把持物体の複数の断面形状から上記把持物体の概略形状を計算して求める方法であってもよい。これにより、さらに、把持物体の概略形状を精度良く求めることができる。
【００８８】
また、上記ロボットハンドの把持制御方法は、上記同一の指機構に装着されている少なくとも２つの接触センサは、少なくとも１つの関節機構部を挟んだ位置に装着されていてもよい。これにより、さらに、把持物体の概略形状を精度良く求めることができる。
【００８９】
また、上記ロボットハンドの把持制御方法は、上記把持物体の概略形状は、複数の指機構に装着されている複数の接触センサが把持物体に接触したときの各接触センサ間の相対的な位置関係で把持物体の概略形状を計算して求める方法であってもよい。これにより、さらに、把持物体の概略形状を精度良く求めることができる。
【００９０】
また、上記ロボットハンドの把持制御方法は、上記把持物体の概略形状は、ロボットハンドを複数の異なる方向から把持物体に接触させ、各方向で計算された把持物体の概略形状から把持物体の概略形状を計算する方法であってもよい。これにより、さらに、把持物体の概略形状を精度良く求めることができる。
【００９１】
また、上記ロボットハンドの把持制御方法は、上記ロボットハンドの把持制御方法において、物体の把持に失敗した場合は、ロボットハンドが把持物体と接触する方向を増やして把持物体の概略形状を計算し、計算した概略形状から把持物体に適した把持動作を決定する方法であってもよい。これにより、さらに、物体の把持に失敗しても再度適切な把持動作を決定することができる。
【００９２】
また、上記ロボットハンドの把持制御方法は、上記ロボットハンドの把持制御方法において、ロボットハンドが異なった方向から把持物体と接触する回数は、把持の失敗がなくなるまで増やす方法であってもよい。これにより、さらに、最適なロボットハンドの把持制御方法を設定することができる。
【００９３】
また、上記ロボットハンドの把持制御方法は、上記複数の接触センサは圧力センサであってもよい。これにより、さらに、把持物体の概略形状を精度良く求めることができる。
【００９４】
また、上記ロボットハンドの把持制御方法は、上記複数の接触センサは３軸方位センサであってもよい。これにより、さらに、把持物体の概略形状を精度良く求めることができる。
【００９５】
【発明の効果】
以上のように、本発明のロボットハンドの制御方法は、少なくとも２つの指機構を備え、各指機構が指関節を介して順次連結された複数のリンク部材を具備するとともに、リンク部材に把持物体との接触を検知する接触センサを装着し、指関節にリンク部材の開き角度を検出する角度センサを装着したロボットハンドの制御方法であって、上記複数の接触センサが把持物体と接触したことを検知する接触検知処理と、上記接触検知処理で上記複数の接触センサと把持物体との接触を検知した時のリンク部材の開き角度を角度センサにより検出する角度検出処理と、上記角度検出処理で検出したリンク部材の開き角度に基づき把持物体の概略形状を計算する概略形状計算処理と、上記概略形状計算処理で求めた概略形状から把持物体に適した把持動作を決定する動作決定処理と、を含む方法である。
【００９６】
また、本発明のロボットハンドは、少なくとも２つの指機構を備え、各指機構が指関節を介して順次連結された複数のリンク部材を具備するとともに、リンク部材に把持物体との接触を検知する接触センサを装着し、指関節にリンク部材の開き角度を検出する角度センサを装着したロボットハンドであって、上記複数の接触センサが把持物体と接触したことを検知する接触検知手段と、上記接触検知手段で上記複数の接触センサと把持物体との接触を検知した時のリンク部材の開き角度を角度センサにより検出する角度検出手段と、上記角度検出手段で検出したリンク部材の開き角度に基づき把持物体の概略形状を計算する概略形状計算手段と、上記概略形状計算手段で求めた概略形状から把持物体に適した把持動作を決定する動作決定手段と、を具備する構成である。
【００９７】
それゆえ、把持物体に接触センサを実際に接触させた時のデータに基づき、把持物体の概略形状を計算することから、ロボットハンドが把持可能な程度に詳細かつ正確な形状を素早く検出できる。また、従来のように把持物体を撮像する必要がないため、暗闇でも検出できる。そして、把持物体の概略形状に基づいて最適な把持動作を決定することから、把持物体を確実に把持することができる。
【００９８】
したがって、上記ロボットハンドおよびその制御方法によれば、大小さまざまな把持物体に対して把持の失敗をすることなく、円滑に把持を行うように把持動作を制御することが可能となるという効果を奏する。
【００９９】
さらに、本発明のロボットハンドの制御方法は、上記接触検知処理において、同一の指機構に装着されている少なくとも２つの接触センサが把持物体と接触したことを検知し、上記角度検出処理において、上記接触検知処理で把持物体との接触を検知した上記複数の接触センサを含む指機構のリンク部材の開き角度を検出し、上記概略形状計算処理において、各指機構ごとに計算した把持物体の概略形状を総合して把持物体の概略形状を決定する方法である。
【０１００】
それゆえ、さらに、複数の異なる方向について断面形状の半径が求められるため、把持物体の概略形状を精度良く求めることができるという効果を奏する。
【０１０１】
さらに、本発明のロボットハンドの制御方法は、上記接触検知処理において、１つの指関節を介して連結された２つのリンク部材にそれぞれ装着されている２つの接触センサが把持物体と接触したことを検知し、上記角度検出処理において、上記接触検知処理で把持物体との接触を検知した上記２つの接触センサを装着した２つのリンク部材を連結する指関節に装着されている角度センサにより当該リンク部材の開き角度を検出する方法である。
【０１０２】
それゆえ、さらに、簡易な動作でありながら、把持物体の概略形状を精度良く求めることができるという効果を奏する。
【０１０３】
さらに、本発明のロボットハンドの制御方法は、上記概略形状計算処理において、複数の指機構に装着されている複数の接触センサが把持物体に接触した時の各接触センサ間の相対的な位置関係に基づき把持物体の概略形状を計算して求める方法である。
【０１０４】
それゆえ、さらに、複雑な形状をしている把持物体の概略形状を精度良く求めることができるという効果を奏する。
【０１０５】
さらに、本発明のロボットハンドの制御方法は、把持物体と接触する指機構の方向を変更する把持方向変更処理を含み、上記概略形状計算処理において、把持方向ごとに計算した把持物体の概略形状を総合して把持物体の概略形状を決定する方法である。
【０１０６】
それゆえ、さらに、複数の異なる方向について断面形状の半径が求められるため、把持物体の概略形状を精度良く求めることができるという効果を奏する。
【０１０７】
さらに、本発明のロボットハンドの制御方法は、把持物体の把持に失敗した場合、上記把持方向変更処理において、把持物体と接触する指機構の方向を追加するように指機構の方向を変更する方法である。
【０１０８】
それゆえ、さらに、把持物体の把持に失敗しても再度適切な把持動作を決定することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係るロボットハンドの構成の概略を示す機能ブロック図である。
【図２】図２（ａ）および図２（ａ）は、図１に示したロボットハンドによる把持物体の半径の検出原理を示す説明図である。
【図３】図１に示したロボットハンドによる把持物体の半径の検出原理を示す説明図である。
【図４】図１に示したロボットハンドの把持制御方法の一手順を示すフローチャートである。
【図５】図１に示したロボットハンドの把持制御方法の他の手順を示すフローチャートである。
【符号の説明】
１    ロボットハンド
５    指機構
６（６ａ，６ｂ，…）  リンク部材
８（８ａ，８ｂ，…）  指関節
７（７ａ，７ｂ，…）  接触センサ
９（９ａ，９ｂ，…）  角度センサ
１１Ａ  接触検知部（接触検知手段）
１１Ｂ  角度検出部（角度検出手段）
１３Ａ  把持方向決定部（把持方向変更手段）
１３Ｂ  概略形状計算部（概略形状計算手段）
１３Ｃ  動作決定部（動作決定手段）
Ｂ    把持物体
θ    開き角度
【図１】
2004160594.tif 000003
【図２】
2004160594.tif 000004
【図３】
2004160594.tif 000005
【図４】
2004160594.tif 000006
【図５】
2004160594.tif 000007