(57)【要約】【課題】  物体の表面性状に応じて把持動作を調節できるロボットを具現化する。【解決手段】  物体を把持するロボットであって、少なくとも２本の指部を有するハンド部と、指部が物体から受ける接触力を測定する接触力測定手段と、指部が物体表面で摺動した際に接触力測定手段によって測定される接触力の振動周波数を測定する周波数測定手段と、周波数測定手段によって測定された振動周波数に基づいて、ハンド部が物体を把持する把持動作を調節する把持動作調節手段を備えている。【選択図】  図３
2008183629.tif 000002
【特許請求の範囲】
【請求項１】
物体を把持するロボットであって、
少なくとも２本の指部を有するハンド部と、
指部が物体から受ける接触力を測定する接触力測定手段と、
指部が物体表面で摺動した際に接触力測定手段によって測定される接触力の振動周波数を測定する周波数測定手段と、
周波数測定手段によって測定された振動周波数に基づいて、ハンド部が物体を把持する把持動作を調節する把持動作調節手段と、
を備えるロボット。
【請求項２】
前記把持動作調節手段は、測定された前記振動周波数に基づいて、前記ハンド部が物体を把持する把持力の目標値を設定することを特徴とする請求項１に記載のロボット。
【請求項３】
前記把持動作調節手段は、測定された前記振動周波数が小さいほど、前記把持力の目標値を大きくすることを特徴とする請求項２に記載のロボット。
【請求項４】
少なくとも２本の指部を有するハンド部と、指部が物体から受ける接触力を測定する接触力測定手段を備えるロボットに物体を把持させるロボットの制御装置であって、
指部が物体表面で摺動した際に接触力測定手段によって測定される接触力の振動周波数を測定する周波数測定手段と、
周波数測定手段によって測定された振動周波数に基づいて、ハンド部が物体を把持する把持動作を調節する把持動作調節手段と、
を備える制御装置。
【請求項５】
少なくとも２本の指部を有するハンド部と、指部が物体から受ける接触力を測定する接触力測定手段を備えるロボットに物体を把持させるロボットの制御方法であって、
指部が物体表面で摺動した際に接触力測定手段によって測定される接触力の振動周波数を測定する周波数測定工程と、
周波数測定工程によって測定された振動周波数に基づいて、ハンド部が物体を把持する把持動作を調節する把持動作調節工程と、
を備える制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに関する。特に、少なくとも２本の指部を有するハンド部を備え、ハンド部によって物体を把持するロボットに関する。
【背景技術】
【０００２】
少なくとも２本の指部を有するハンド部を備え、ハンド部によって物体を把持するロボットが開発されている。この種のロボットは、様々な物体を確実に把持することが求められる。そこで、把持する物体の形状をカメラで認識し、物体の形状に応じて把持動作を決定する技術が多く提案されている。
また、カメラを必要とすることなく、把持対象物の形状を認識する技術も提案されている（特許文献１）。この技術では、各指部と把持対象物との接触を検出するセンサと、各指部の開閉角度を検出するセンサを利用し、把持対象物と接触したときの各指部の開閉角度に基づいて把持対象物の概略形状を計算する。この技術によれば、例えば物体が暗闇に配置されている場合でも、物体の形状に応じて把持動作を調節することができる。
【０００３】
【特許文献１】特開２００４−１６０５９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の技術では、把持する物体の形状を認識することはできても、把持する物体の表面性状を認識することはできない。そのことから、例えば表面が粗い物体と平滑な物体を、同じ把持動作で把持する必要がある。例えば物体を把持する際の把持力についても、表面が粗い物体と平滑な物体を同じ把持力で把持する必要があり、表面が粗い物体を把持することはできても、表面が平滑な物体は把持できないことがある。表面が平滑な物体を基準に把持力を定めれば、表面が平滑な物体も把持できるようになるが、表面が粗い物体を必要以上の把持力で把持することとなり、無用なエネルギーを消費してしまう。
本発明は、上記の問題を解決する。本発明は、物体の表面性状に応じて把持動作を調整し、様々な物体を適切に把持することを可能とする技術を提供する。
【課題を解決するための手段】
【０００５】
本発明の技術は、物体を把持するロボットに具現化することができる。このロボットは、少なくとも２本の指部を有するハンド部と、指部が物体から受ける接触力を測定する接触力測定手段と、指部が物体表面で摺動した際に接触力測定手段によって測定される接触力の振動周波数を測定する周波数測定手段と、周波数測定手段によって測定された振動周波数に基づいて、ハンド部が物体を把持する把持動作を調節する把持動作調節手段を備えている。
【０００６】
指部を物体表面で摺動させると、指部が物体から受ける接触力は、物体表面の粗さに応じて周期的に振動する。そのことから、指部を物体表面で摺動させたときに指部が物体から受ける接触力の振動周波数を測定することによって、物体表面の粗さを把握することができる。そして、測定した振動周波数に基づいてハンド部の把持動作を調節することによって、物体表面の粗さに応じた把持動作を実現することが可能となる。例えば、物体表面が平滑であると判断される場合には、物体を把持する把持力を大きくすることもできるし、物体に対する各指部の配置を変更することもできる。
このロボットによると、様々な表面性状の物体を適切に把持することができる。
【０００７】
上記したロボットにおいて、把持動作調節手段は、測定された接触力の振動周波数に基づいて、前記物体を把持する把持力の目標値を設定することが好ましい。
このロボットによると、物体表面の粗さに応じた把持力によって、物体をより確実に把持することができる。
【０００８】
上記したロボットにおいて、把持動作調節手段は、測定された接触力の振動周波数が小さいほど、前記把持力の目標値を大きくすることが好ましい。
このロボットによると、表面が平滑な物体については大きな把持力で把持し、表面が粗い物体については小さな把持力で把持することが可能となる。
【０００９】
本発明の技術は、少なくとも２本の指部を有するハンド部と、指部が物体から受ける接触力を測定する接触力測定手段を備えるロボットに、物体を把持させるロボットの制御装置に具現化することもできる。このロボットの制御装置は、指部が物体表面で摺動した際に接触力測定手段によって測定される接触力の振動周波数を測定する周波数測定手段と、周波数測定手段によって測定された振動周波数に基づいて、ハンド部が物体を把持する把持動作を調節する把持動作調節手段を備えている。
このロボットの制御装置によると、ロボットは様々な表面性状の物体を適切に把持することが可能となる。
【００１０】
本発明の技術はまた、少なくとも２本の指部を有するハンド部と、指部が物体から受ける接触力を測定する接触力測定手段を備えるロボットに物体を把持させるロボットの制御方法にも具現化される。この制御方法は、指部が物体表面で摺動した際に接触力測定手段によって測定される接触力の振動周波数を測定する周波数測定工程と、周波数測定工程によって測定された振動周波数に基づいて、ハンド部が物体を把持する把持動作を調節する把持動作調節工程を備えている。
このロボットの制御方法によると、ロボットは様々な表面性状の物体を適切に把持することが可能となる。
【発明の効果】
【００１１】
本発明により、様々な物体を適切に把持するロボットを具現化することが可能となる。
【発明を実施するための最良の形態】
【００１２】
最初に、以下に説明する実施例の主要な特徴を列記する。
（特徴１）  ロボットは、把持対象物を撮像する２つのカメラを備えている。
（特徴２）  ロボットは、２つのカメラによって把持対象物を撮像した画像から、把持対象物の位置を計算する手段を備えている。
（特徴３）  指部は複数のリンクを有しており、最も先端のリンクには圧力センサが設けられている。
（特徴４）  ロボットの制御装置は、設定した把持力の目標値と、指部が把持対象物から受けている接触力の測定値に基づいて、指部の動作を制御する把持動作制御部を備えている。
【実施例】
【００１３】
図１は、本発明を実施したロボット１０の外観を模式的に示す図である。本実施例のロボット１０は、人の一部を模して作られたヒューマノイドロボットである。ロボット１０は、物体（把持対象物）２を把持して移動させることができる。
図１に示すように、ロボット１０は、ロボット本体２０と、ロボット本体２０の動作を制御する制御装置１００を備えている。ロボット本体２０は、頭部３０と、胴部４０と、アーム部５０と、ハンド部７０を備えている。頭部３０は、胴部４０に揺動可能に連結されている。頭部３０には、把持対象物２を撮影する二つのカメラ３２（一つは図示されていない）が設けられている。アーム部５０は、複数のリンクを有するロボットアームである。アーム部５０の基端は胴部４０に連結されており、アーム部５０の先端にはハンド部７０が連結されている。アーム部５０は、アクチュエータである複数のモータ５２（図３参照）を備えており、自身の姿勢を変化させることによってハンド部７０の位置や向きを変化させる。
【００１４】
図２は、ハンド部７０の構成を模式的に示している。図２に示すように、ハンド部７０は、人の手を模して構成されたロボットハンドであり、手平部７４と、手平部７４に連結されている５本の指部８０を備えている。各指部８０は、指先リンク８１と、指先リンク８１が１軸関節８２を介して連結されている中間リンク８３と、中間リンク８３が１軸関節８４を介して接続されている基端リンク８５を備えている。各指部８０の基端リンク８５は、手平部７４に２軸関節８６を介して接続されている。手平部７４には、各関節８２、８４、８６を動かす複数のモータ７２が設けられている。モータ７２と指部８０の接続には、ワイヤ７６が利用されている。手平部７４や指部８０の表面部は、弾性材料によって構成されており、把持対象物２と接触に伴って弾性変形するようになっている。
各指部８０の指先リンク８１には、圧力センサ９０が設けられている。圧力センサ９０は、ハンド部７０が把持対象物２を把持したときに、把持対象物２と接触する位置に設けられている。各圧力センサ９０は、面状に配列された複数の感圧素子を有しており、指先リンク８１の表面に加えられている圧力分布を測定することができる。圧力センサ９０は、把持対象物２から指先リンク８１の表面に加えられる力（以下、接触力という）を測定するために設けられている。
【００１５】
図３は、ロボット１０の電気的な構成を示すブロック図である。図３に示すように、制御装置１００は、画像処理部１０２と、アーム制御部１０４と、ハンド制御部１１０を備えている。
画像処理部１０２は、ロボット本体２０の頭部３０に設けられている二つのカメラ３２が撮影した画像を処理し、把持対象物２の位置を計算する。画像処理部１０２は、計算した把持対象物２の位置を、アーム制御部１０４へ出力する。
アーム制御部１０４は、ロボット本体２０のアーム部５０を制御する。アーム制御部１０４は、画像処理部１０２から入力した把持対象物２の位置に基づいて、ハンド部７０を移動させる目標位置を計算する。そして、アーム制御部１０４は、ハンド部７０が計算した目標位置に位置するように、アーム部５０のモータ５２を制御する。
【００１６】
ハンド制御部１１０は、ロボット本体２０のハンド部７０の動作を制御する。ハンド制御部１１０は、センサ信号処理部１１２と、把持力設定部１１４と、指動作計算部１１６と、複数のモータドライバ１１８を備えている。
センサ信号処理部１１２は、ハンド部７０の各指８０に設けられている圧力センサ９０の出力信号を入力し、各指部８０が把持対象物２から受けている接触力を計算する。センサ信号処理部１１２が計算した各指部８０の接触力は、把持力設定部１１４および指動作計算部１１６へ出力される。
把持力設定部１１４は、センサ信号処理部１１２が計算した指部８０の接触力に基づいて、把持対象物２を把持する際の把持力の目標値を設定する。この目標値の設定処理については、後段において詳細に説明する。把持力設定部１１４が設定した把持力の目標値は、指動作計算部１１６へ出力される。
指動作計算部１１６は、把持力設定部１１４が設定した把持力の目標値と、センサ信号処理部１１２が計算した実際の接触力との間の偏差に基づいて、各指部８０の目標動作量を計算する。
モータドライバ１１８は、指動作計算部１１６が計算した各指部８０の目標動作量に基づいて、ハンド部７０の各モータ７２を制御する。
以上のように、ハンド制御部１１０は、把持対象物２を把持する際の把持力の目標値を設定し、設定した把持力で把持対象物２を把持するように、ハンド部７０の動作を制御する。
【００１７】
図４は、ロボット１０が把持対象物２を把持する動作の流れを示すフローチャートである。以下、図４に示す動作フローに沿って、ロボット１０による把持対象物２の把持動作を詳細に説明する。
ステップＳ２では、画像処理部１０２が、カメラ３２による撮影画像に基づいて、把持対象物２の位置と形状を計算する。
ステップＳ４では、アーム制御部１０４が把持対象物２の位置に基づいてアーム部５０を動かし、ハンド部７０を把持対象物２の近傍に移動させる。このハンド部７０を移動させる位置は、把持対象物２を把持するための位置ではなく、次のステップＳ６における摺動動作のための初期位置である。
【００１８】
ステップＳ６では、図５に示すように、ハンド部７０を把持対象物２の表面に沿って移動させることによって、少なくとも１本の指部８０の指先リンク８１を、把持対象物２の表面２ａで摺動させる。図５は、ステップＳ６における摺動動作の一例を示すものであり、ハンド部７０を位置（ａ）から位置（ｂ）を経て位置（ｃ）まで移動させる様子を示している。この摺動動作中、把持対象物２の表面２ａから指先リンク８１に加えられる接触力が、圧力センサ９０とセンサ信号処理部１１２によって測定される。摺動動作中に測定された接触力の時系列データは、把持力設定部１１４に入力される。
図６は、摺動動作中に測定される接触力の一例を示している。図６中において、時間ｔ１は指部８０と把持対象物２の表面２ａとの接触開始時点を示しており、時間ｔ２は指部８０と把持対象物２の表面２ａとの接触終了時点を示している。即ち、時間ｔ１から時間ｔ２の期間は、指部８０が把持対象物２の表面２ａを摺動している（撫でている）期間を示している。指部８０が把持対象物２の表面２ａを摺動している期間に測定される接触力は、把持対象物２の表面２ａの粗さに応じて経時的に振動する。
【００１９】
図４のステップＳ８では、把持力設定部１１４が、摺動動作中に測定された接触力の時系列データに基づいて、把持対象物２を把持する際の把持力の目標値を設定する。先ず、把持力設定部１１４は、摺動動作中における接触力の振動周波数を計算する。先に説明したように、摺動動作中に測定された接触力は、把持対象物２の表面２ａの粗さに応じて経時的に振動する。把持力設定部１１４は、測定された接触力の時系列データからピーク点を抽出し、単位時間あたりに含まれるピーク点の数を計数することによって、接触力の振動周波数を計算する。次いで、把持力設定部１１４は、計算した接触力の振動周波数に基づいて、把持力の目標値を決定する。それにより、把持力の目標値は、把持対象物２の表面２ａの粗さに応じて決定される。
図７は、接触力の振動周波数（横軸）と、それに対して把持力設定部１１４が決定する把持力の目標値（縦軸）の関係を示している。図７に示すように、把持力設定部１１４は、測定された接触力の振動周波数が大きいほど、把持力の目標値を小さく設定する。それにより、把持対象物２の表面２ａが粗い場合は把持力の目標値が小さく設定され、把持対象物２の表面２ａが滑らかな場合は把持力の目標値が大きく設定される。
【００２０】
把持力の目標値が設定されると、続くステップＳ１２（図４）では、把持対象物２を実際に把持する動作が開始される。このステップＳ１２では、先ず、アーム制御部５２がアーム部５０を制御し、ハンド部７０を把持対象物２が把持可能な位置へ移動させる。次いで、ハンド制御部１１０がハンド部７０の各モータ７２を制御し、各指部８０を屈曲させていく。各指部８０が屈曲していくと、やがて各指部８０が把持対象物２に接触する。各指部８０が把持対象物２に接触すると、把持対象物２から各指部８０に加えられる接触力が、各指部８０の圧力センサ９０によって測定される。測定された各指部８０の接触力は、指動作計算部１１６に入力される。
【００２１】
ステップＳ１４では、指動作計算部１１６およびモータドライバ１１８が、測定された各指部８０の接触力と設定された把持力の目標値に基づいて、ハンド部７０の各指部８０の動作をフィードバック制御する。それにより、ハンド部７０の把持対象物２を把持する把持力が目標値と等しくなるように、各指部８０の動作が調整される。ハンド部７０の把持対象物２を把持する把持力が目標値と等しくなった時点で（ステップＳ１６でＹＥＳ）、指動作計算部１１６は把持対象物２の把持が完了したと判断する。ハンド部７０による把持対象物２の把持が完了すると、アーム制御部１０２がアーム部５０を動かし、ハンド部７０（即ち、把持対象物２）を指示された位置へ移動させる。
【００２２】
以上のように、本実施例のロボット１０は、把持対象物２の表面２ａの粗さ（滑らかさ）を測定し、測定した粗さに応じた把持力で把持対象物２を把持することができる。例えば把持対象物２の表面２ａが平滑な場合は、比較的に大きな把持力で把持対象物２を把持することにより、滑りやすい把持対象物２を確実に把持することができる。逆に、把持対象物２の表面２ａが粗い場合は、比較的に小さな把持力で把持対象物２を把持することにより、無用なエネルギー消費や把持対象物２の破損を防止することができる。
本実施例では、指部８０の指先リンク８１に設けた圧力センサ９０によって、把持対象物２の表面粗さを測定するとともに、指部８０が把持対象物２に加えている把持力を測定している。それにより、把持対象物２の表面粗さを測定するために専用の圧力センサを別途設ける必要がない。ただし、把持対象物２の表面粗さを測定するために専用の圧力センサを、例えば手平部７４やハンド部７０の裏側（手の甲に相当する位置）に別途設ける構成とすることもできる。
【００２３】
把持対象物２を把持する把持力を設定する場合、把持対象物２の表面粗さに加えて、把持対象物２の表面硬さを考慮することも有効である。例えば、把持対象物２の表面粗さに基づいて設定した把持力が把持対象物２の表面硬さに対して過大であると、把持対象物２を破壊してしまうことがある。そのことから、把持対象物２の表面硬さに応じて、把持対象物２を把持する把持力を制限することが好ましい。それにより、把持対象物２の表面粗さに基づいて設定した把持力が把持対象物２の表面硬さに対して過大である場合には、把持対象物２の把持を中止することによって、把持対象物２の破壊を未然に防ぐことができる。
把持対象物２の表面硬さは、例えば、指先リンク８１で把持対象物２の表面を押し付け、そのときの把持対象物２の変形量（即ち、指先リンク８１の移動量）と指先リンク８１に加わる接触力から計算することができる。即ち、ハンド部７０によって把持対象物２を把持する時（図４のステップＳ１４）に、指先リンク８１の移動量と指先リンク８１に加わる接触力を測定することによって、把持対象物２の表面硬さを計算することができる。そして、計算した把持対象物２の表面硬さに対して把持力の目標値が過大であれば、把持対象物２の把持を中止することが可能となる。
【００２４】
あるいは、次に説明する手法によっても、把持対象物２の表面粗さと表面硬さの両者を測定することができる。把持対象物２の表面粗さと表面硬さが異なると、指先リンク８１を把持対象物２の表面で摺動させたときの接触力（表面２ａに垂直な力）と、摩擦力（表面２ａに平行な力）と、それら接触力又は摩擦力の振動周波数はそれぞれ変化する。換言すれば、指先リンク８１を把持対象物２の表面で摺動させたときの接触力と摩擦力とその一方の振動周波数を測定すれば、把持対象物２の表面粗さと表面硬さを計算することが可能となる。図８は、その一例を示しており、ニューラルネットワークを利用するものである。図８に示すニューラルネットワーク２００は、上記した接触力、摩擦力、振動周波数を入力し、把持対象物２の表面粗さと表面硬さを出力するように構築されている。ニューラルネットワーク２００は、様々な把持対象物２の実際の表面粗さと表面硬さを教師信号として与えられることにより、学習させる（ニューロン２０２間の結合荷重を更新させる）ことができる。ニューラルネットワーク２００を十分に学習させることによって、把持対象物２の表面粗さと表面硬さを正確に出力するニューラルネットワークを構築することができる。
【００２５】
上記したニューラルネットワーク２００は、本実施例のロボット１０において、把持力設定部１１４に搭載することができる。そして、ニューラルワーク２００への各入力値は、以下のように得ることができる。先ず、指先リンク８１を把持対象物２の表面で摺動させたときの接触力とその振動周波数については、図４のステップＳ６で測定される接触力の時系列データ（図６参照）を用いて計算することができる。指先リンク８１を把持対象物２の表面で摺動させたときの摩擦力は、ステップＳ６の摺動動作時においてアーム部５０に加わる負荷（これは、アーム部５０の出力に等しい）から計算することができる。あるいは、摩擦力が測定可能な歪センサを指先リンク８１に設けておけば、より直接的に測定することができる。ニューラルネットワーク２００を用いることにより、把持力設定部１１４は、把持対象物２の表面粗さと表面硬さを正確に把握することができる。そして、把持対象物２の表面粗さと表面硬さに基づいて、把持力の目標値を適切に定めるとともに、把持対象物２が把持可能であるのか否かを判定することができる。
【００２６】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
例えば、指部８０が把持対象物２から受ける接触力は、圧力センサ９０を用いることなく、指部８０の関節８２、８４、８６に加わるトルクを測定して算出することもできる。
また、本実施例のロボット１０では、把持対象物２の表面粗さに基づいて、把持対象物２を把持する際の各指部８０の姿勢を変化させてもよい。例えば把持対象物２の表面２ａが滑らかである場合（即ち、接触力の振動周波数が小さい場合）には、各指部８０が把持対象物２に広い面積で接触する姿勢となるように、各指部８０の動作を調節するとよい。そのためには、把持対象物２を把持する際の各指部８０の動作を記述する把持動作データを複数種類用意し、ハンド制御部１１０に予め記憶させておくとよい。それにより、ハンド制御部１１０は、判断した把持対象物２の表面粗さに基づいて、使用する把持動作データを選択することが可能となる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時の請求項に記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数の目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００２７】
【図１】ロボットの構成を模式的に示す図。
【図２】ハンド部の構成を模式的に示す図。
【図３】ロボットの電気構成を示すブロック図。
【図４】ロボットによる把持動作の流れを示すフローチャート。
【図５】摺動動作を示す図。
【図６】摺動動作時に測定される接触力の例示する図。
【図７】振動周波数と把持力の目標値との関係を示す図。
【図８】ロボットに利用可能なニューラルネットワークを例示する図。
【符号の説明】
【００２８】
１０：ロボット
２０：ロボット本体
３０：頭部
３２：カメラ
４０：胴部
５０：アーム部
５２：アーム部のモータ
７０：ハンド部
７２：ハンド部のモータ
８０：指部
８１：指先リンク
９０：圧力センサ
１００：制御装置
１０２：画像処理部
１０４：アーム制御部
１１０：ハンド制御部
１１２：センサ信号処理部
１１４：把持力設定部
１１６：指動作計算部
１１８：モータドライバ
２００：ニューラルネットワーク
【図１】
2008183629.tif 000003
【図２】
2008183629.tif 000004
【図３】
2008183629.tif 000005
【図４】
2008183629.tif 000006
【図５】
2008183629.tif 000007
【図６】
2008183629.tif 000008
【図７】
2008183629.tif 000009
【図８】
2008183629.tif 000010