(57)【要約】      （修正有）【課題】ハンドの関節に発生するトルク及びハンドの様子を特徴データとする分類器を用いることによって、触覚センサーを用いずとも、ロボットが物体を把持しているか否かを正確に検出できるロボット及びその制御方法を提供する。【解決手段】ロボットは、該ロボットの状態を感知する状態感知部と、該状態感知部から特徴データを抽出し、該特徴データを用いて特徴ベクトルを生成する特徴ベクトル生成部と、該特徴生成部で生成した特徴ベクトルを用いて前記ロボットの動作状態を判断し、その判断結果を出力する学習ベースのデータ分類器と、を備える。【選択図】図１
2013111744.tif 000002
【特許請求の範囲】
【請求項１】
ハンドを有するロボットであって、
前記ロボットの状態を感知する状態感知部と、
前記状態感知部から特徴データを抽出し、前記特徴データを用いて特徴ベクトルを生成する特徴ベクトル生成部と、
前記特徴ベクトル生成部で生成した特徴ベクトルを用いて前記ロボットの動作状態を判断し、該判断結果を出力する学習ベースのデータ分類器と、
を備えるロボット。
【請求項２】
前記状態感知部は、
前記ロボットのハンドに設けられた関節に発生するトルク、または前記ロボットのハンドに設けられた指部材の位置を感知する、請求項１に記載のロボット。
【請求項３】
前記データ分類器は、
前記ハンドが物体を把持しているか否かを判断し、その判断結果を出力する、請求項１または請求項２に記載のロボット。
【請求項４】
前記データ分類器は、
前記ハンドの様子、前記ハンドの関節に発生するトルク値、及び前記ハンドの様子と前記ハンドの関節に発生するトルク値との組み合わせのうち、少なくとも一つに関する特徴ベクトルを用いて、物体把持をしているか否かを判断する、請求項３に記載のロボット。
【請求項５】
前記データ分類器は、
前記ハンドの様子に関する特徴ベクトルを用いる第１の分類器、前記ハンドの関節に発生するトルク値に関する特徴ベクトルを用いる第２の分類器、及び前記ハンドの様子と前記ハンドの関節に発生するトルク値との組み合わせに関する特徴ベクトルを用いる第３の分類器とを有する、請求項３に記載のロボット。
【請求項６】
前記第１の分類器乃至第３の分類器のそれぞれの性能を評価し、その結果を保存する性能評価部をさらに備える、請求項５に記載のロボット。
【請求項７】
前記性能評価部の評価結果に基づいて前記第１の分類器乃至第３の分類器のいずれか一つを選択する分類器選択部をさらに備える、請求項６に記載のロボット。
【請求項８】
前記特徴ベクトル生成部は、
前記分類器選択部が選択したデータ分類器に対応する特徴ベクトルを生成する、請求項１乃至請求項７のいずれか一項に記載のロボット。
【請求項９】
ハンドを有するロボットの制御方法であって、
前記ハンドに設けられた関節に発生するトルクまたは前記ハンドに設けられた指部材の位置を感知し、
前記感知結果から特徴ベクトルを生成し、
前記生成された特徴ベクトルを学習ベースのデータ分類器に入力して前記ロボットの動作状態を判断し、その結果を出力する、ロボットの制御方法。
【請求項１０】
前記ロボットの動作状態を判断することは、前記ロボットのハンドが物体を把持しているか否かを判断することである、請求項９に記載のロボットの制御方法。
【請求項１１】
前記特徴ベクトルは、
前記ハンドに設けられた関節に発生するトルクに関する特徴ベクトル、前記ハンドの様子に関する特徴ベクトル、及び前記ハンドに設けられた関節に発生するトルクと前記ハンドの様子との組み合わせに関する特徴ベクトルのうち、少なくとも一つである、請求項９または請求項１０に記載のロボットの制御方法。
【請求項１２】
前記データ分類器は、
前記ハンドの様子に関する特徴ベクトルを用いる第１の分類器、前記ハンドに設けられた関節に発生するトルク値に関する特徴ベクトルを用いる第２の分類器、及び前記ハンドの様子と前記ハンドに設けられた関節に発生するトルク値との組み合わせに関する特徴ベクトルを用いる第３の分類器とを有する、請求項９または請求項１０に記載のロボットの制御方法。
【請求項１３】
前記方法は、さらに、前記第１の分類器乃至第３の分類器のうち、最も優れた性能のデータ分類器を選択する、請求項１２に記載のロボットの制御方法。
【請求項１４】
前記方法は、前記データ分類器の性能評価結果が保存されている性能データベースの検索結果に基づいて前記データ分類器を選択する、請求項１３に記載のロボットの制御方法。
【請求項１５】
前記特徴ベクトルを生成することは、
前記選択されたデータ分類器で用いられる特徴ベクトルを生成することである、請求項１３に記載のロボットの制御方法。
【請求項１６】
前記特徴ベクトルは、
各指部材関節から引き出されたデータに応じた寸法エレメントを含む、請求項９に記載のロボットの制御方法。
【請求項１７】
前記方法は、さらに
ロボットが把持可能な物体ごとに特徴ベクトルを収集する、請求項９に記載のロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体を把持できるロボット及びその制御方法に関する。
【背景技術】
【０００２】
ロボットに要求される機能の一つは、使用者の命令に応じてハンドを用いて物体を把持するということである。例えば、家庭用のサービスロボットは、使用者にりんごや本などの物体を持ってくれたり、物体を持ち上げて他の場所に移したりするなどの動作を行うが、これは使用者にとっては非常に有用なサービスである。
【０００３】
したがって、ロボットの物体把持を制御する技術は、ロボット制御において非常に重要な技術となった。ロボットの物体把持を制御するためには、基本的に、ロボットが物体を把持したか否かを検出することが必要である。ロボットが物体を正確に把持したか否かによって、それ以降の動作を行うか、または再び把持を試みるかを決定することができる。
【０００４】
従来は、ロボットのハンドが物体を把持したか否かを検出するために、ハンドに別個の触覚センサーを取り付け、ハンドと物体とが接触した否かを判断した。しかし、触覚センサーは、高価である他、大きさや曲面などの制約からロボットに装着し難いといった不具合があった。
【０００５】
触覚センサーを省くべく、ハンドの関節モーターにかかる電流を測定する方法を用いることもできるが、摩擦力などの影響から誤差が大きくなり、信頼し難い。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の一実施例に係るロボット及びその制御方法は、ハンドの関節で発生するトルク及びハンドの様子を特徴データとする分類器を用いることによって、触覚センサーを用いずとも、ロボットが物体を把持したか否かを正確に検出できるロボット及びその制御方法を提供する。
【課題を解決するための手段】
【０００７】
本発明の一側面に係る、ハンドを有するロボットは、前記ロボットの状態を感知する状態感知部と、前記状態感知部から特徴データを抽出し、該特徴データを用いて特徴ベクトルを生成する特徴ベクトル生成部と、前記特徴生成部で生成した特徴ベクトルを用いて前記ロボットの動作状態を判断し、その判断結果を出力する学習ベースのデータ分類器と、を備える。
【０００８】
前記状態感知部は、前記ロボットのハンドに設けられた関節に発生するトルクまたは前記ロボットのハンドに設けられた指部材の位置を感知する。
【０００９】
前記データ分類器は、前記ハンドが物体把持をしているか否かを判断し、その判断結果を出力する。
【００１０】
前記データ分類器は、前記ハンドの様子、前記ハンドの関節に発生するトルク値、及び前記ハンドの様子と前記ハンドの関節に発生するトルク値との組み合わせのうち少なくとも一つに関する特徴ベクトルを用いて、前記ハンドが物体把持をしているか否かを判断する。
【００１１】
前記データ分類器は、前記ハンドの様子に関する特徴ベクトルを用いる第１の分類器、前記ハンドの関節に発生するトルク値に関する特徴ベクトルを用いる第２の分類器、及び前記ハンドの様子と前記ハンドの関節に発生するトルク値との組み合わせに関する特徴ベクトルを用いる第３の分類器を有する。
【００１２】
前記ロボットは、前記第１の分類器乃至第３の分類器のそれぞれの性能を評価してその結果を保存する性能評価部をさらに備える。
【００１３】
前記ロボットは、前記性能評価部の評価結果に基づいて前記第１の分類器乃至第３の分類器のいずれか一つを選択する分類器選択部をさらに備える。
【００１４】
前記特徴ベクトル生成部は、前記分類器選択部が選択したデータ分類器に対応する特徴ベクトルを生成する。
【００１５】
本発明の一側面に係る、ハンドを有するロボットの制御方法は、前記ハンドに設けられた関節に発生するトルクまたは前記ハンドに設けられた指部材の位置を感知し、前記感知結果から特徴ベクトルを生成し、前記生成された特徴ベクトルを学習ベースのデータ分類器に入力して前記ロボットの動作状態を判断し、その結果を出力する。
【００１６】
前記ロボットの動作状態を判断することは、前記ロボットのハンドが物体を把持しているか否かを判断することである。
【００１７】
前記特徴ベクトルは、前記ハンドに設けられた関節に発生するトルクに関する特徴ベクトル、前記ハンドの様子に関する特徴ベクトル、及び前記ハンドに設けられた関節に発生するトルクと前記ハンドの様子との組み合わせに関する特徴ベクトルのうち少なくとも一つでよい。
【００１８】
前記データ分類器は、前記ハンドの様子に関する特徴ベクトルを用いる第１の分類器、前記ハンドに設けられた関節に発生するトルク値に関する特徴ベクトルを用いる第２の分類器、及び前記ハンドの様子と前記ハンドに設けられた関節に発生するトルク値との組み合わせに関する特徴ベクトルを用いる第３の分類器を有する。
【００１９】
前記方法は、第１の分類器乃至第３の分類器のうち、最も優れた性能のデータ分類器を選択することをさらに含む。
【００２０】
前記データ分類器を選択することは、前記データ分類器の性能評価結果が保存されている性能データベースの検索結果に基づく。
【００２１】
前記特徴ベクトルを生成することは、前記選択されたデータ分類器で用いられる特徴ベクトルを生成することである。
【発明の効果】
【００２２】
本発明の一側面に係るロボット及びその制御方法によれば、ハンドの関節に発生するトルク及びハンドの様子を特徴データとする分類器を用いることによって、触覚センサーを用いずとも、ロボットが物体を把持しているか否かを正確に検出することが可能になる。
【００２３】
これにより、ロボットが物体を把持しているか否かに応じて正確に制御可能になり、ロボットが提供するサービスの品質を向上させることができる。
【００２４】
なお、ロボットが物体をしっかり把持できずに落とす等の例外状況に対する対処能力を向上でき、かつ高価の触覚センサーを省けるのでコスト低になる。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施例に係るロボットの制御ブロック図である。
【図２】本発明の一実施例に係るロボットのハンドの構成を概略的に示す斜視図である。
【図３】本発明の一実施例に係るロボットのハンドの構成を概略的に示す正面図である。
【図４】ロボットハンドがりんごを把持している様子を示す図である。
【図５】本発明の一実施例に係るデータ分類器を生成する過程を簡略に示すブロック図である。
【図６】ロボットが本を把持している場合におけるハンドの様子を示す図である。
【図７】本発明の一実施例に係るデータ分類器の動作を示すブロック図である。
【図８】本発明の他の実施例に係るロボットの制御ブロック図である。
【図９】本発明の一実施例に係るロボットの制御方法を具体的に示すフローチャートである。
【図１０】本発明の一実施例に係るロボットの制御方法において、データ分類器が第１の分類器、第２の分類器及び第３の分類器を有する場合の実施例を示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下、添付の図面を参照して、本発明の実施例を詳細に説明する。
【００２７】
図１は、本発明の一実施例に係るロボットの制御ブロック図である。図１を参照すると、本発明の一実施例に係るロボット１００は、ロボットの状態を感知する状態感知部１１０、状態感知部１１０の感知結果データから特徴ベクトルを生成する特徴ベクトル生成部１２０、特徴ベクトル生成部１２０で生成した特徴ベクトルを受信してロボットの動作状態を判断するデータ分類器１３０、及びデータ分類器１３０の判断結果に基づいてロボットを制御する制御部１４０を備える。
【００２８】
本発明の一実施例に係るロボットは、測定可能な様々なロボットの状態に基づいて、現在ロボットが特定動作状態にあるか否かを判断できるものであり、よって、以下の実施例では、ロボットのハンドと関連した状態を感知し、それに基づいてロボットが物体を把持しているか否かを判別するとして説明する。
【００２９】
図２は、本発明の一実施例に係るロボットのハンドの構成を概略的に示す斜視図であり、図３は、本発明の一実施例に係るロボットのハンドの構成を概略的に示す正面図である。
【００３０】
図２及び図３に示すように、本発明の一実施例に係るロボットのハンド１５０は、ハンド本体１５１と、指関節を介してハンド本体１５１と連結される複数の指部材１５２，１５３，１５４，１５５と、を備える。ハンド本体１５１は、手首関節を介してロボットアーム１６０と連結され、アクチュエータ（図示せず）が手首関節に駆動力を提供すると、ハンド本体１５１がロボットアーム１６０に対して相対的に回転できる。
【００３１】
指部材１５２，１５３，１５４，１５５は、複数の節からなり、節同士の間には指関節１５２ａ〜ｃ，１５３ａ〜ｃ，１５４ａ〜ｃ，１５５ａ〜ｃが設けられており、これらの指関節にて指を曲げたり伸ばしたりする動作を行うことができる。そのため、それぞれの指関節１５２ａ〜ｃ，１５３ａ〜ｃ，１５４ａ〜ｃ，１５５ａ〜ｃに適切な駆動力を提供すると、それぞれの節が回転しつつ指部材１５２，１５３，１５４，１５５を曲げて物を把持できるようになる。
【００３２】
図２及び図３の実施例では、ロボットのハンド１５０が４個の指部材を有しているが、本発明はこれに限定されるものではなく、物体の把持ができれば指部材の個数に制限はない。
【００３３】
以下、ロボットハンド１５０が物体を把持したか否かを検出する実施例によって、図１の制御ブロック図を具体的に説明する。
【００３４】
状態感知部１１０は、ロボットの状態、特に、ロボットハンド１５０の状態を感知する各種のセンサーを有する。本発明の一実施例では、ロボットハンド１５０の各指関節で発生する関節トルクを測定するトルクセンサーと、各指部材の位置を感知する位置センサーと、を有することができる。トルクセンサーには、自己変形トルクセンサー、変形ゲージ式トルクセンサー、位相差検出型トルクセンサーなどを採用することができ、その種類に制限はない。位置センサーには、指部材のｘ軸、ｙ軸、ｚ軸における位置を感知できる距離感知センサーなどを採用することができる。
【００３５】
特徴ベクトル生成部１２０は、状態感知部１１０の感知結果から特徴データを抽出し、特徴ベクトルを生成する。例えば、後述するデータ分類器１３０で指関節トルクに関する特徴ベクトルを用いる場合に、特徴ベクトル生成部１２０は、状態感知部１１０から指関節トルクに関するデータを抽出し、それを用いて特徴ベクトルを生成する。
【００３６】
ロボットが物体を把持する時に、第１の指部材１５２、第２の指部材１５３及び第３の指部材１５４を主に用いるとすると、物体把持時に用いられる指関節は合計９個であるから、９個の関節に発生するトルク値を特徴データとすることができる。そのため、特徴ベクトル生成部１２０は、状態感知部１１０から９個の関節で発生するトルクデータを抽出し、それらを用いて９次元の特徴ベクトルを生成する。
【００３７】
データ分類器１３０は、特徴ベクトル生成部１２０から特徴ベクトルを受信し、現在ロボットが物体を把持しているか否かを判別してその結果を出力する。データ分類器１３０についての詳細は後述する。
【００３８】
制御部１４０は、データ分類器１３０から出力した結果に基づいてロボットの動作全般を制御するが、例えば、制御部１４０からハンド１５０に物体把持命令を送ったが、データ分類器１３０から出力された結果がロボットが物体を把持していない旨を示すと、その物体への把持命令を再び伝送する。
【００３９】
以下、図４乃至図７を参照して、本発明の一実施例に採用可能なデータ分類器１３０の生成過程について説明する。
【００４０】
図４には、ロボットハンド１５０がりんごを把持している様子を示す。ロボットハンド１５０が一定の形状のりんごを把持していると、図４に示すように、第１の指部材１５２乃至第４の指部材１５５が一定角度で曲げられ、第１の指部材１５２と第２の指部材１５３乃至第４の指部材１５５とはりんごを中心に互いに相対して位置するようになる。一方、りんごを把持してない時は、指部材が相対的に少なく曲げられた状態となる。
【００４１】
すなわち、りんごを把持した時（図４）のロボットハンド１５０の様子と、りんごを把持していない時のロボットハンド１５０の様子は互いに区別がつき、よって、データ分類器１３０は、ロボットハンド１５０の様子を特徴ベクトルとして、物体を把持しているか否かが判別できる。ロボットハンド１５０の様子は、３次元空間上で各指部材の位置を測定することによって把握できる。なお、ロボットハンド１５０の様子が変わると、ロボットハンド１５０の指関節に発生するトルク値も変わるところ、データ分類器１３０はロボットハンドの様子、指関節のトルクを選択的に用いることも可能である。
【００４２】
図５は、本発明の一実施例に係るデータ分類器１３０を生成する過程を簡略に示すブロック図である。図５を参照すると、まず、ロボットハンドの物体把持の判別に利用可能な特徴ベクトルを生成し、それを特徴データベースに保存する。ここで、特徴ベクトルは、ロボットハンド１５０の様子、指関節に発生するトルク及びこれらの組み合わせでよい。
【００４３】
そして、一つの特徴ベクトルを選択し、選択された特徴ベクトルに対して、ロボットハンド１５０が物体を把持した時と把持していない時の特徴データをそれぞれ収集し、把持した場合は＋１、把持していない場合は−１とラベリング（ｌａｂｅｌｉｎｇ）して保存する。
【００４４】
例えば、特徴ベクトルとして指関節トルクを選択した場合には、ロボットハンド１５０が物体を把持した時のトルク値と把持していない時のトルク値を収集し、＋１、−１とラベリングして保存する。
【００４５】
保存されたデータについては後処理をし、ラベリングされた値が−１から＋１の範囲に分布するように正規化させることができる。そして、保存されたデータを用いてデータ分類器１３０を生成するところ、分類器（ｈ）は、コスト関数（ｃｏｓｔ  ｆｕｎｃｔｉｏｎ）を最小化させるものを用いる。これを分類器訓練というが、コスト関数は、下記の式（１）のように、誤差を最小化するクライテリア（ｃｒｉｔｅｒｉａ）を用いることもでき、マージンを最大化するクライテリアを用いることもできる。
【００４６】
c(x)＝{y(x)−h(x)}２        （１）
ここで、ｘは特徴ベクトル、ｃ(ｘ)はコスト関数、ｙ(ｘ)は、入力ｘに対する実際結果値、ｈ(ｘ)は、入力ｘに対するデータ分類器１３０の予測値を表す。
【００４７】
そして、このような過程を、特徴データベースに保存されている全ての特徴ベクトルに対して行うと、各特徴ベクトルを入力値とするデータ分類器１３０が生成される。
【００４８】
図６には、ロボットが本を把持する場合のハンド様子を示す。ロボットがりんごではなく他の物体、例えば、本を把持する場合にも、図６に示すようにロボットハンド１５０は一定の様子を取る。ロボットがりんごを把持する場合（図４）及び本を把持する場合（図６）を比較すると、ロボットハンド１５０の様子または指関節のトルクが互いに異なっていることがわかる。そのため、図５で説明したデータ分類器１３０の生成時に、データ分類器１３０の性能を向上させるために、ロボットが把持できる物体ごとに特徴データを収集することができる。
【００４９】
図７は、本発明の一実施例に係るデータ分類器１３０の動作を示すブロック図である。図７を参照すると、本発明の一実施例では、ロボットハンドの様子、指関節トルク及び彼らこれらの組み合わせをそれぞれ特徴ベクトルとすることができる。そして、ロボットハンド１５０の様子を特徴ベクトルとする第１の分類器、指関節トルクを特徴ベクトルとする第２の分類器、及びこれらの組み合わせを特徴ベクトルとする第３の分類器を生成することができる。
【００５０】
第１の分類器には、ロボットハンドの様子に関する特徴ベクトルを入力する。ここでロボットハンドの様子に関する特徴ベクトルは、３次元空間上でロボットハンドの指部材の位置を測定した結果から生成することができる。第２の分類器には、ロボットハンドの指関節に発生するトルクに関する特徴ベクトルを入力する。ここで、ロボットハンドの指関節に発生するトルクに関する特徴ベクトルは、各関節のトルクセンサーの測定結果から生成することができる。第３の分類器には、ロボットハンドの様子と指関節トルクとを合成した特徴ベクトルを入力する。
【００５１】
それぞれの分類器は、入力された特徴ベクトルに対する出力値を出力する。この出力値は、ロボットの物体把持に対する判別結果であり、ロボットハンド１５０が物体を把持している旨、または把持していない旨を示す。
【００５２】
以下、以上述べた内容に基づいて、本発明の適用された具体的な実施例を説明する。
【００５３】
以下の実施例では、ロボットハンドの指関節トルクを特徴ベクトルとして説明する。まず、指関節トルクを特徴ベクトルとする第２の分類器を生成しなければならず、特徴データを収集する。物体を把持する時に、図２及び図３に示す４本の指のうち、第１の指部材乃至第３の指部材３本が中枢的な役割を果たすとすると、物体の把持に用いられる指関節は総９個となり、これらの関節に発生するトルクを特徴ベクトルとする場合に、９次元ベクトルを用いることとなる。
【００５４】
したがって、ロボットが物体を把持している時の［トルク１、トルク２、トルク３、トルク４、トルク５、トルク６、トルク７、トルク８、トルク９］を実時間で測定し、ラベルを＋１として保存する。そして、ロボットが物体を把持していない時の［トルク１、トルク２、トルク３、トルク４、トルク５、トルク６、トルク７、トルク８、トルク９］を実時間で測定し、ラベルを−１として保存する。
【００５５】
本発明の一実施例では、これらのデータを後処理してラベリングされた値が−１から＋１の範囲に分布するように正規化させることができる。そして、これらのデータを用いてコスト関数を最小化させるデータ分類器１３０を生成する。
【００５６】
データ分類器１３０の生成が完了すると、特徴ベクトル生成部１２０が、実際に物体把持作業を行っているロボットの指関節トルクセンサーから指関節トルク値を抽出して９次元ベクトルを作り、これを、生成された第２の分類器に入力する。第２の分類器は、判別結果に応じて＋１または−１の結果値を出力する。
【００５７】
図８は、本発明の他の実施例に係るロボットの制御ブロック図である。図８を参照すると、本発明の他の実施例に係るロボットは、状態感知部１１０、特徴ベクトル生成部１２０、データ分類器１３０及び制御部１４０の他に、性能評価部１７０、性能データベース１８０及び分類器選択部１９０をさらに備える。
【００５８】
状態感知部１１０、特徴ベクトル生成部１２０、データ分類器１３０及び制御部１４０については、図１と同様なので説明を省略する。
【００５９】
図７の実施例において第１の分類器、第２の分類器及び第３の分類器が生成されると、性能評価部１７０が、生成された各データ分類器１３０の性能を評価して性能データベース１８０に保存する。分類器の性能を評価する方法は、いずれの公知の技術を用いてもよい。
【００６０】
そして、実にロボットが物体を把持したか否かを判断する時には、分類器選択部１９０が、性能データベース１８０に保存された性能評価結果に基づいて、最も優れた性能を有するデータ分類器１３０を選択する。
【００６１】
データ分類器１３０が選択されると、特徴ベクトル生成部１２０は、選択されたデータ分類器１３０で用いる特徴ベクトルを生成する。そのため、分類器選択部１９０で第２の分類器を選択した場合には、状態感知部１１０から各指関節のトルクデータを抽出し、これらを用いて９次元トルクベクトルを生成する。
【００６２】
以下、図８に基づいて、本発明の他の実施例を具体的に説明する。当該実施例では、ロボットハンドの様子、指関節トルク及びこれらの組み合わせを特徴ベクトルとして用いるとする。
【００６３】
ロボットハンドの様子は指部材の位置を意味するので、ロボットハンドの様子を用いることは、指部材の位置測定結果を用いることに相当する。ロボットハンド１５０が物を把持する時に中枢的な役割を果たす指部材が第１の指部材乃至第３の指部材であるとすれば、各指部材は、３次元空間上で（ｘ，ｙ，ｚ）座標を持つので、総９次元ベクトルが用いられる。
【００６４】
まず、第１の分類器乃至第３の分類器を生成しなければならないが、第１の分類器の生成についてのみ簡略に説明する。ロボットが物体を把持している時の［指１位置（ｘ）、指１位置（ｙ）、指１位置（ｚ）、指２位置（ｘ）、指２位置（ｙ）、指２位置（ｚ）、指３位置（ｘ）、指３位置（ｙ）、指３位置（ｚ）］の値を実時間で測定し、ラベルを＋１として保存する。そして、ロボットが物体を把持していない時の［指１位置（ｘ）、指１位置（ｙ）、指１位置（ｚ）、指２位置（ｘ）、指２位置（ｙ）、指２位置（ｚ）、指３位置（ｘ）、指３位置（ｙ）、指３位置（ｚ）］の値を実時間で測定し、ラベルを−１として保存する。そして、データ後処理、分類器訓練または学習を経て第１の分類器を生成する。
【００６５】
同様の方式で第２の分類器及び第３の分類器も生成し、性能評価部１７０が各分類器の性能を評価し、評価結果を性能データベース１８０に保存する。そして、実際ロボットが物体を把持したか否かを判断する時に、分類器選択部１９０が性能データベース１８０を検索し、最も優れた性能を有するデータ分類器１３０を選択する。例えば、選択されたデータ分類器１３０が第１の分類器であると、特徴ベクトル生成部１２０は、状態感知部１１０から各指部材の位置測定データを抽出し、これらを用いて９次元ベクトルを作って第１の分類器に入力する。
【００６６】
そして、第１の分類器がその判断結果を制御部１４０に出力すると、制御部１４０がその結果に応じてロボットの動作を制御する。例えば、第１の分類器が＋１を出力すると、制御部１４０は、ロボットが物体を成功的に把持したと判断し、ロボットを他の場所に移動させ、第１の分類器が−１を出力すると、制御部１４０は、ロボットが物体把持に失敗したと判断し、ロボットハンド１５０に再び把持命令を伝送する。
【００６７】
以下、本発明の一側面に係るロボットの制御方法の実施例を説明する。
【００６８】
本発明の一実施例に係るロボットの制御方法は、まず、ロボットの状態感知結果を特徴ベクトルにする学習ベースのデータ分類器１３０を生成する。そして、トルクセンサー、位置センサーなどの状態感知部１１０を用いてロボットの状態を感知する。感知結果から特徴ベクトルを生成し、生成された特徴ベクトルを当該データ分類器１３０に入力してロボットの動作状態を判断し、その結果を出力する。そして、出力された結果に応じてロボットの次の動作を制御する。
【００６９】
図９は、本発明の一実施例に係るロボットの制御方法を具体化したフローチャートである。図９の実施例では、判断しようとする動作状態が、ロボットハンドが物体を把持したか否かであり、ロボットハンドの第１の指部材乃至第３の指部材に対する関節トルクを特徴ベクトルとして用いるとする。すなわち、９個の関節に対するトルク値で構成される９次元ベクトルを用いるとする。
【００７０】
まず、指関節トルクを特徴ベクトルとするデータ分類器１３０を生成しなければならず、よって、ロボットが物体を把持している時の第１の指部材乃至第３の指部材の関節トルク、及びロボットが物体を把持していない時の第１の指部材乃至第３の指部材の関節トルクを実時間で測定する（３１０）。
【００７１】
そして、物体を把持した場合の関節トルクと物体を把持していない場合の関節トルクを特徴ベクトルとし、異なる値にラベリングして保存する（３１１）。例えば、物体を把持した場合には特徴ベクトルに＋１をラベリングし、物体を把持していない場合には特徴ベクトルに−１をラベリングすることができる。
【００７２】
そして、保存されたデータを後処理し（３１２）、分類器学習を通じてコスト関数を最小化させるデータ分類器１３０を生成する（３１３）。
【００７３】
ロボットが物体把持をしているか否かを判断しようとする時点で指関節のトルクを測定する（３１４）。測定されたトルク値から特徴ベクトルを生成し（３１５）、生成されたデータ分類器１３０に特徴ベクトルを入力する（３１６）。データ分類器１３０は、入力された特徴ベクトルに対する分類結果を出力する（３１７）。
【００７４】
そして、制御部１４０は、データ分類器１３０の出力値に基づいてロボットの次の動作を制御する（３１８）。
【００７５】
図１０は、本発明の一実施例に係るロボットの制御方法において、データ分類器１３０が第１の分類器、第２の分類器及び第３の分類器を含む場合の実施例を示すフローチャートである。
【００７６】
まず、第１の分類器、第２の分類器及び第３の分類器を生成する（４１０）。分類器の生成は前述の通りであり、その説明は省略する。
【００７７】
そして、それぞれの分類器に対する性能を評価し、その結果を性能データベースに保存する（４１１）。分類器の性能を評価するには、公知のいずれの技術を用いてもよい。
【００７８】
性能データベースを検索し、３つのデータ分類器１３０のうち、最も性能に優れたデータ分類器１３０を選択する（４１２）。データ分類器１３０を選択すると、選択されたデータ分類器１３０で用いられる特徴ベクトルに対応する特徴データを抽出する（４１３）。例えば、第１の分類器を選択した場合には、ロボットハンドの様子に関する特徴ベクトルを生成しなければならず、状態感知部１１０からロボットハンドの各指部材の位置データを抽出する。
【００７９】
そして、抽出された特徴データを用いて特徴ベクトルを生成する（４１４）。例えば、第１の分類器が選択され、第１の分類器で第１の指部材乃至第３の指部材の位置に対する９次元ベクトルを用いるとすれば、抽出された特徴データを用いてそれに相応する特徴ベクトルを生成する。
【００８０】
生成された特徴ベクトルは、選択されたデータ分類器１３０に入力され（４１５）、データ分類器１３０は、入力された特徴ベクトルを用いてロボットが物体を把持しているか否かを判別し、その結果を出力する（４１６）。そして、データ分類器１３０が判別結果を出力すると、制御部１４０は、出力された結果に応じてロボットの次の動作を制御する。
【符号の説明】
【００８１】
１００    ロボット
１１０    状態感知部
１２０    特徴ベクトル生成部
１３０    データ分類器
１４０    制御部
１５０    ロボットハンド
１５１    ハンド本体
１５２〜１５５    指部材
１７０    性能評価部
１８０    性能データベース
１９０    分類器選択部
【図１】
2013111744.tif 000003
【図２】
2013111744.tif 000004
【図３】
2013111744.tif 000005
【図４】
2013111744.tif 000006
【図５】
2013111744.tif 000007
【図６】
2013111744.tif 000008
【図７】
2013111744.tif 000009
【図８】
2013111744.tif 000010
【図９】
2013111744.tif 000011
【図１０】
2013111744.tif 000012