ロボット及びその制御方法
【課題】ハンドの関節に発生するトルク及びハンドの様子を特徴データとする分類器を用いることによって、触覚センサーを用いずとも、ロボットが物体を把持しているか否かを正確に検出できるロボット及びその制御方法を提供する。
【解決手段】ロボットは、該ロボットの状態を感知する状態感知部と、該状態感知部から特徴データを抽出し、該特徴データを用いて特徴ベクトルを生成する特徴ベクトル生成部と、該特徴生成部で生成した特徴ベクトルを用いて前記ロボットの動作状態を判断し、その判断結果を出力する学習ベースのデータ分類器と、を備える。
【解決手段】ロボットは、該ロボットの状態を感知する状態感知部と、該状態感知部から特徴データを抽出し、該特徴データを用いて特徴ベクトルを生成する特徴ベクトル生成部と、該特徴生成部で生成した特徴ベクトルを用いて前記ロボットの動作状態を判断し、その判断結果を出力する学習ベースのデータ分類器と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体を把持できるロボット及びその制御方法に関する。
【背景技術】
【0002】
ロボットに要求される機能の一つは、使用者の命令に応じてハンドを用いて物体を把持するということである。例えば、家庭用のサービスロボットは、使用者にりんごや本などの物体を持ってくれたり、物体を持ち上げて他の場所に移したりするなどの動作を行うが、これは使用者にとっては非常に有用なサービスである。
【0003】
したがって、ロボットの物体把持を制御する技術は、ロボット制御において非常に重要な技術となった。ロボットの物体把持を制御するためには、基本的に、ロボットが物体を把持したか否かを検出することが必要である。ロボットが物体を正確に把持したか否かによって、それ以降の動作を行うか、または再び把持を試みるかを決定することができる。
【0004】
従来は、ロボットのハンドが物体を把持したか否かを検出するために、ハンドに別個の触覚センサーを取り付け、ハンドと物体とが接触した否かを判断した。しかし、触覚センサーは、高価である他、大きさや曲面などの制約からロボットに装着し難いといった不具合があった。
【0005】
触覚センサーを省くべく、ハンドの関節モーターにかかる電流を測定する方法を用いることもできるが、摩擦力などの影響から誤差が大きくなり、信頼し難い。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の一実施例に係るロボット及びその制御方法は、ハンドの関節で発生するトルク及びハンドの様子を特徴データとする分類器を用いることによって、触覚センサーを用いずとも、ロボットが物体を把持したか否かを正確に検出できるロボット及びその制御方法を提供する。
【課題を解決するための手段】
【0007】
本発明の一側面に係る、ハンドを有するロボットは、前記ロボットの状態を感知する状態感知部と、前記状態感知部から特徴データを抽出し、該特徴データを用いて特徴ベクトルを生成する特徴ベクトル生成部と、前記特徴生成部で生成した特徴ベクトルを用いて前記ロボットの動作状態を判断し、その判断結果を出力する学習ベースのデータ分類器と、を備える。
【0008】
前記状態感知部は、前記ロボットのハンドに設けられた関節に発生するトルクまたは前記ロボットのハンドに設けられた指部材の位置を感知する。
【0009】
前記データ分類器は、前記ハンドが物体把持をしているか否かを判断し、その判断結果を出力する。
【0010】
前記データ分類器は、前記ハンドの様子、前記ハンドの関節に発生するトルク値、及び前記ハンドの様子と前記ハンドの関節に発生するトルク値との組み合わせのうち少なくとも一つに関する特徴ベクトルを用いて、前記ハンドが物体把持をしているか否かを判断する。
【0011】
前記データ分類器は、前記ハンドの様子に関する特徴ベクトルを用いる第1の分類器、前記ハンドの関節に発生するトルク値に関する特徴ベクトルを用いる第2の分類器、及び前記ハンドの様子と前記ハンドの関節に発生するトルク値との組み合わせに関する特徴ベクトルを用いる第3の分類器を有する。
【0012】
前記ロボットは、前記第1の分類器乃至第3の分類器のそれぞれの性能を評価してその結果を保存する性能評価部をさらに備える。
【0013】
前記ロボットは、前記性能評価部の評価結果に基づいて前記第1の分類器乃至第3の分類器のいずれか一つを選択する分類器選択部をさらに備える。
【0014】
前記特徴ベクトル生成部は、前記分類器選択部が選択したデータ分類器に対応する特徴ベクトルを生成する。
【0015】
本発明の一側面に係る、ハンドを有するロボットの制御方法は、前記ハンドに設けられた関節に発生するトルクまたは前記ハンドに設けられた指部材の位置を感知し、前記感知結果から特徴ベクトルを生成し、前記生成された特徴ベクトルを学習ベースのデータ分類器に入力して前記ロボットの動作状態を判断し、その結果を出力する。
【0016】
前記ロボットの動作状態を判断することは、前記ロボットのハンドが物体を把持しているか否かを判断することである。
【0017】
前記特徴ベクトルは、前記ハンドに設けられた関節に発生するトルクに関する特徴ベクトル、前記ハンドの様子に関する特徴ベクトル、及び前記ハンドに設けられた関節に発生するトルクと前記ハンドの様子との組み合わせに関する特徴ベクトルのうち少なくとも一つでよい。
【0018】
前記データ分類器は、前記ハンドの様子に関する特徴ベクトルを用いる第1の分類器、前記ハンドに設けられた関節に発生するトルク値に関する特徴ベクトルを用いる第2の分類器、及び前記ハンドの様子と前記ハンドに設けられた関節に発生するトルク値との組み合わせに関する特徴ベクトルを用いる第3の分類器を有する。
【0019】
前記方法は、第1の分類器乃至第3の分類器のうち、最も優れた性能のデータ分類器を選択することをさらに含む。
【0020】
前記データ分類器を選択することは、前記データ分類器の性能評価結果が保存されている性能データベースの検索結果に基づく。
【0021】
前記特徴ベクトルを生成することは、前記選択されたデータ分類器で用いられる特徴ベクトルを生成することである。
【発明の効果】
【0022】
本発明の一側面に係るロボット及びその制御方法によれば、ハンドの関節に発生するトルク及びハンドの様子を特徴データとする分類器を用いることによって、触覚センサーを用いずとも、ロボットが物体を把持しているか否かを正確に検出することが可能になる。
【0023】
これにより、ロボットが物体を把持しているか否かに応じて正確に制御可能になり、ロボットが提供するサービスの品質を向上させることができる。
【0024】
なお、ロボットが物体をしっかり把持できずに落とす等の例外状況に対する対処能力を向上でき、かつ高価の触覚センサーを省けるのでコスト低になる。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施例に係るロボットの制御ブロック図である。
【図2】本発明の一実施例に係るロボットのハンドの構成を概略的に示す斜視図である。
【図3】本発明の一実施例に係るロボットのハンドの構成を概略的に示す正面図である。
【図4】ロボットハンドがりんごを把持している様子を示す図である。
【図5】本発明の一実施例に係るデータ分類器を生成する過程を簡略に示すブロック図である。
【図6】ロボットが本を把持している場合におけるハンドの様子を示す図である。
【図7】本発明の一実施例に係るデータ分類器の動作を示すブロック図である。
【図8】本発明の他の実施例に係るロボットの制御ブロック図である。
【図9】本発明の一実施例に係るロボットの制御方法を具体的に示すフローチャートである。
【図10】本発明の一実施例に係るロボットの制御方法において、データ分類器が第1の分類器、第2の分類器及び第3の分類器を有する場合の実施例を示すフローチャートである。
【発明を実施するための形態】
【0026】
以下、添付の図面を参照して、本発明の実施例を詳細に説明する。
【0027】
図1は、本発明の一実施例に係るロボットの制御ブロック図である。図1を参照すると、本発明の一実施例に係るロボット100は、ロボットの状態を感知する状態感知部110、状態感知部110の感知結果データから特徴ベクトルを生成する特徴ベクトル生成部120、特徴ベクトル生成部120で生成した特徴ベクトルを受信してロボットの動作状態を判断するデータ分類器130、及びデータ分類器130の判断結果に基づいてロボットを制御する制御部140を備える。
【0028】
本発明の一実施例に係るロボットは、測定可能な様々なロボットの状態に基づいて、現在ロボットが特定動作状態にあるか否かを判断できるものであり、よって、以下の実施例では、ロボットのハンドと関連した状態を感知し、それに基づいてロボットが物体を把持しているか否かを判別するとして説明する。
【0029】
図2は、本発明の一実施例に係るロボットのハンドの構成を概略的に示す斜視図であり、図3は、本発明の一実施例に係るロボットのハンドの構成を概略的に示す正面図である。
【0030】
図2及び図3に示すように、本発明の一実施例に係るロボットのハンド150は、ハンド本体151と、指関節を介してハンド本体151と連結される複数の指部材152,153,154,155と、を備える。ハンド本体151は、手首関節を介してロボットアーム160と連結され、アクチュエータ(図示せず)が手首関節に駆動力を提供すると、ハンド本体151がロボットアーム160に対して相対的に回転できる。
【0031】
指部材152,153,154,155は、複数の節からなり、節同士の間には指関節152a〜c,153a〜c,154a〜c,155a〜cが設けられており、これらの指関節にて指を曲げたり伸ばしたりする動作を行うことができる。そのため、それぞれの指関節152a〜c,153a〜c,154a〜c,155a〜cに適切な駆動力を提供すると、それぞれの節が回転しつつ指部材152,153,154,155を曲げて物を把持できるようになる。
【0032】
図2及び図3の実施例では、ロボットのハンド150が4個の指部材を有しているが、本発明はこれに限定されるものではなく、物体の把持ができれば指部材の個数に制限はない。
【0033】
以下、ロボットハンド150が物体を把持したか否かを検出する実施例によって、図1の制御ブロック図を具体的に説明する。
【0034】
状態感知部110は、ロボットの状態、特に、ロボットハンド150の状態を感知する各種のセンサーを有する。本発明の一実施例では、ロボットハンド150の各指関節で発生する関節トルクを測定するトルクセンサーと、各指部材の位置を感知する位置センサーと、を有することができる。トルクセンサーには、自己変形トルクセンサー、変形ゲージ式トルクセンサー、位相差検出型トルクセンサーなどを採用することができ、その種類に制限はない。位置センサーには、指部材のx軸、y軸、z軸における位置を感知できる距離感知センサーなどを採用することができる。
【0035】
特徴ベクトル生成部120は、状態感知部110の感知結果から特徴データを抽出し、特徴ベクトルを生成する。例えば、後述するデータ分類器130で指関節トルクに関する特徴ベクトルを用いる場合に、特徴ベクトル生成部120は、状態感知部110から指関節トルクに関するデータを抽出し、それを用いて特徴ベクトルを生成する。
【0036】
ロボットが物体を把持する時に、第1の指部材152、第2の指部材153及び第3の指部材154を主に用いるとすると、物体把持時に用いられる指関節は合計9個であるから、9個の関節に発生するトルク値を特徴データとすることができる。そのため、特徴ベクトル生成部120は、状態感知部110から9個の関節で発生するトルクデータを抽出し、それらを用いて9次元の特徴ベクトルを生成する。
【0037】
データ分類器130は、特徴ベクトル生成部120から特徴ベクトルを受信し、現在ロボットが物体を把持しているか否かを判別してその結果を出力する。データ分類器130についての詳細は後述する。
【0038】
制御部140は、データ分類器130から出力した結果に基づいてロボットの動作全般を制御するが、例えば、制御部140からハンド150に物体把持命令を送ったが、データ分類器130から出力された結果がロボットが物体を把持していない旨を示すと、その物体への把持命令を再び伝送する。
【0039】
以下、図4乃至図7を参照して、本発明の一実施例に採用可能なデータ分類器130の生成過程について説明する。
【0040】
図4には、ロボットハンド150がりんごを把持している様子を示す。ロボットハンド150が一定の形状のりんごを把持していると、図4に示すように、第1の指部材152乃至第4の指部材155が一定角度で曲げられ、第1の指部材152と第2の指部材153乃至第4の指部材155とはりんごを中心に互いに相対して位置するようになる。一方、りんごを把持してない時は、指部材が相対的に少なく曲げられた状態となる。
【0041】
すなわち、りんごを把持した時(図4)のロボットハンド150の様子と、りんごを把持していない時のロボットハンド150の様子は互いに区別がつき、よって、データ分類器130は、ロボットハンド150の様子を特徴ベクトルとして、物体を把持しているか否かが判別できる。ロボットハンド150の様子は、3次元空間上で各指部材の位置を測定することによって把握できる。なお、ロボットハンド150の様子が変わると、ロボットハンド150の指関節に発生するトルク値も変わるところ、データ分類器130はロボットハンドの様子、指関節のトルクを選択的に用いることも可能である。
【0042】
図5は、本発明の一実施例に係るデータ分類器130を生成する過程を簡略に示すブロック図である。図5を参照すると、まず、ロボットハンドの物体把持の判別に利用可能な特徴ベクトルを生成し、それを特徴データベースに保存する。ここで、特徴ベクトルは、ロボットハンド150の様子、指関節に発生するトルク及びこれらの組み合わせでよい。
【0043】
そして、一つの特徴ベクトルを選択し、選択された特徴ベクトルに対して、ロボットハンド150が物体を把持した時と把持していない時の特徴データをそれぞれ収集し、把持した場合は+1、把持していない場合は−1とラベリング(labeling)して保存する。
【0044】
例えば、特徴ベクトルとして指関節トルクを選択した場合には、ロボットハンド150が物体を把持した時のトルク値と把持していない時のトルク値を収集し、+1、−1とラベリングして保存する。
【0045】
保存されたデータについては後処理をし、ラベリングされた値が−1から+1の範囲に分布するように正規化させることができる。そして、保存されたデータを用いてデータ分類器130を生成するところ、分類器(h)は、コスト関数(cost function)を最小化させるものを用いる。これを分類器訓練というが、コスト関数は、下記の式(1)のように、誤差を最小化するクライテリア(criteria)を用いることもでき、マージンを最大化するクライテリアを用いることもできる。
【0046】
c(x)={y(x)−h(x)}2 (1)
ここで、xは特徴ベクトル、c(x)はコスト関数、y(x)は、入力xに対する実際結果値、h(x)は、入力xに対するデータ分類器130の予測値を表す。
【0047】
そして、このような過程を、特徴データベースに保存されている全ての特徴ベクトルに対して行うと、各特徴ベクトルを入力値とするデータ分類器130が生成される。
【0048】
図6には、ロボットが本を把持する場合のハンド様子を示す。ロボットがりんごではなく他の物体、例えば、本を把持する場合にも、図6に示すようにロボットハンド150は一定の様子を取る。ロボットがりんごを把持する場合(図4)及び本を把持する場合(図6)を比較すると、ロボットハンド150の様子または指関節のトルクが互いに異なっていることがわかる。そのため、図5で説明したデータ分類器130の生成時に、データ分類器130の性能を向上させるために、ロボットが把持できる物体ごとに特徴データを収集することができる。
【0049】
図7は、本発明の一実施例に係るデータ分類器130の動作を示すブロック図である。図7を参照すると、本発明の一実施例では、ロボットハンドの様子、指関節トルク及び彼らこれらの組み合わせをそれぞれ特徴ベクトルとすることができる。そして、ロボットハンド150の様子を特徴ベクトルとする第1の分類器、指関節トルクを特徴ベクトルとする第2の分類器、及びこれらの組み合わせを特徴ベクトルとする第3の分類器を生成することができる。
【0050】
第1の分類器には、ロボットハンドの様子に関する特徴ベクトルを入力する。ここでロボットハンドの様子に関する特徴ベクトルは、3次元空間上でロボットハンドの指部材の位置を測定した結果から生成することができる。第2の分類器には、ロボットハンドの指関節に発生するトルクに関する特徴ベクトルを入力する。ここで、ロボットハンドの指関節に発生するトルクに関する特徴ベクトルは、各関節のトルクセンサーの測定結果から生成することができる。第3の分類器には、ロボットハンドの様子と指関節トルクとを合成した特徴ベクトルを入力する。
【0051】
それぞれの分類器は、入力された特徴ベクトルに対する出力値を出力する。この出力値は、ロボットの物体把持に対する判別結果であり、ロボットハンド150が物体を把持している旨、または把持していない旨を示す。
【0052】
以下、以上述べた内容に基づいて、本発明の適用された具体的な実施例を説明する。
【0053】
以下の実施例では、ロボットハンドの指関節トルクを特徴ベクトルとして説明する。まず、指関節トルクを特徴ベクトルとする第2の分類器を生成しなければならず、特徴データを収集する。物体を把持する時に、図2及び図3に示す4本の指のうち、第1の指部材乃至第3の指部材3本が中枢的な役割を果たすとすると、物体の把持に用いられる指関節は総9個となり、これらの関節に発生するトルクを特徴ベクトルとする場合に、9次元ベクトルを用いることとなる。
【0054】
したがって、ロボットが物体を把持している時の[トルク1、トルク2、トルク3、トルク4、トルク5、トルク6、トルク7、トルク8、トルク9]を実時間で測定し、ラベルを+1として保存する。そして、ロボットが物体を把持していない時の[トルク1、トルク2、トルク3、トルク4、トルク5、トルク6、トルク7、トルク8、トルク9]を実時間で測定し、ラベルを−1として保存する。
【0055】
本発明の一実施例では、これらのデータを後処理してラベリングされた値が−1から+1の範囲に分布するように正規化させることができる。そして、これらのデータを用いてコスト関数を最小化させるデータ分類器130を生成する。
【0056】
データ分類器130の生成が完了すると、特徴ベクトル生成部120が、実際に物体把持作業を行っているロボットの指関節トルクセンサーから指関節トルク値を抽出して9次元ベクトルを作り、これを、生成された第2の分類器に入力する。第2の分類器は、判別結果に応じて+1または−1の結果値を出力する。
【0057】
図8は、本発明の他の実施例に係るロボットの制御ブロック図である。図8を参照すると、本発明の他の実施例に係るロボットは、状態感知部110、特徴ベクトル生成部120、データ分類器130及び制御部140の他に、性能評価部170、性能データベース180及び分類器選択部190をさらに備える。
【0058】
状態感知部110、特徴ベクトル生成部120、データ分類器130及び制御部140については、図1と同様なので説明を省略する。
【0059】
図7の実施例において第1の分類器、第2の分類器及び第3の分類器が生成されると、性能評価部170が、生成された各データ分類器130の性能を評価して性能データベース180に保存する。分類器の性能を評価する方法は、いずれの公知の技術を用いてもよい。
【0060】
そして、実にロボットが物体を把持したか否かを判断する時には、分類器選択部190が、性能データベース180に保存された性能評価結果に基づいて、最も優れた性能を有するデータ分類器130を選択する。
【0061】
データ分類器130が選択されると、特徴ベクトル生成部120は、選択されたデータ分類器130で用いる特徴ベクトルを生成する。そのため、分類器選択部190で第2の分類器を選択した場合には、状態感知部110から各指関節のトルクデータを抽出し、これらを用いて9次元トルクベクトルを生成する。
【0062】
以下、図8に基づいて、本発明の他の実施例を具体的に説明する。当該実施例では、ロボットハンドの様子、指関節トルク及びこれらの組み合わせを特徴ベクトルとして用いるとする。
【0063】
ロボットハンドの様子は指部材の位置を意味するので、ロボットハンドの様子を用いることは、指部材の位置測定結果を用いることに相当する。ロボットハンド150が物を把持する時に中枢的な役割を果たす指部材が第1の指部材乃至第3の指部材であるとすれば、各指部材は、3次元空間上で(x,y,z)座標を持つので、総9次元ベクトルが用いられる。
【0064】
まず、第1の分類器乃至第3の分類器を生成しなければならないが、第1の分類器の生成についてのみ簡略に説明する。ロボットが物体を把持している時の[指1位置(x)、指1位置(y)、指1位置(z)、指2位置(x)、指2位置(y)、指2位置(z)、指3位置(x)、指3位置(y)、指3位置(z)]の値を実時間で測定し、ラベルを+1として保存する。そして、ロボットが物体を把持していない時の[指1位置(x)、指1位置(y)、指1位置(z)、指2位置(x)、指2位置(y)、指2位置(z)、指3位置(x)、指3位置(y)、指3位置(z)]の値を実時間で測定し、ラベルを−1として保存する。そして、データ後処理、分類器訓練または学習を経て第1の分類器を生成する。
【0065】
同様の方式で第2の分類器及び第3の分類器も生成し、性能評価部170が各分類器の性能を評価し、評価結果を性能データベース180に保存する。そして、実際ロボットが物体を把持したか否かを判断する時に、分類器選択部190が性能データベース180を検索し、最も優れた性能を有するデータ分類器130を選択する。例えば、選択されたデータ分類器130が第1の分類器であると、特徴ベクトル生成部120は、状態感知部110から各指部材の位置測定データを抽出し、これらを用いて9次元ベクトルを作って第1の分類器に入力する。
【0066】
そして、第1の分類器がその判断結果を制御部140に出力すると、制御部140がその結果に応じてロボットの動作を制御する。例えば、第1の分類器が+1を出力すると、制御部140は、ロボットが物体を成功的に把持したと判断し、ロボットを他の場所に移動させ、第1の分類器が−1を出力すると、制御部140は、ロボットが物体把持に失敗したと判断し、ロボットハンド150に再び把持命令を伝送する。
【0067】
以下、本発明の一側面に係るロボットの制御方法の実施例を説明する。
【0068】
本発明の一実施例に係るロボットの制御方法は、まず、ロボットの状態感知結果を特徴ベクトルにする学習ベースのデータ分類器130を生成する。そして、トルクセンサー、位置センサーなどの状態感知部110を用いてロボットの状態を感知する。感知結果から特徴ベクトルを生成し、生成された特徴ベクトルを当該データ分類器130に入力してロボットの動作状態を判断し、その結果を出力する。そして、出力された結果に応じてロボットの次の動作を制御する。
【0069】
図9は、本発明の一実施例に係るロボットの制御方法を具体化したフローチャートである。図9の実施例では、判断しようとする動作状態が、ロボットハンドが物体を把持したか否かであり、ロボットハンドの第1の指部材乃至第3の指部材に対する関節トルクを特徴ベクトルとして用いるとする。すなわち、9個の関節に対するトルク値で構成される9次元ベクトルを用いるとする。
【0070】
まず、指関節トルクを特徴ベクトルとするデータ分類器130を生成しなければならず、よって、ロボットが物体を把持している時の第1の指部材乃至第3の指部材の関節トルク、及びロボットが物体を把持していない時の第1の指部材乃至第3の指部材の関節トルクを実時間で測定する(310)。
【0071】
そして、物体を把持した場合の関節トルクと物体を把持していない場合の関節トルクを特徴ベクトルとし、異なる値にラベリングして保存する(311)。例えば、物体を把持した場合には特徴ベクトルに+1をラベリングし、物体を把持していない場合には特徴ベクトルに−1をラベリングすることができる。
【0072】
そして、保存されたデータを後処理し(312)、分類器学習を通じてコスト関数を最小化させるデータ分類器130を生成する(313)。
【0073】
ロボットが物体把持をしているか否かを判断しようとする時点で指関節のトルクを測定する(314)。測定されたトルク値から特徴ベクトルを生成し(315)、生成されたデータ分類器130に特徴ベクトルを入力する(316)。データ分類器130は、入力された特徴ベクトルに対する分類結果を出力する(317)。
【0074】
そして、制御部140は、データ分類器130の出力値に基づいてロボットの次の動作を制御する(318)。
【0075】
図10は、本発明の一実施例に係るロボットの制御方法において、データ分類器130が第1の分類器、第2の分類器及び第3の分類器を含む場合の実施例を示すフローチャートである。
【0076】
まず、第1の分類器、第2の分類器及び第3の分類器を生成する(410)。分類器の生成は前述の通りであり、その説明は省略する。
【0077】
そして、それぞれの分類器に対する性能を評価し、その結果を性能データベースに保存する(411)。分類器の性能を評価するには、公知のいずれの技術を用いてもよい。
【0078】
性能データベースを検索し、3つのデータ分類器130のうち、最も性能に優れたデータ分類器130を選択する(412)。データ分類器130を選択すると、選択されたデータ分類器130で用いられる特徴ベクトルに対応する特徴データを抽出する(413)。例えば、第1の分類器を選択した場合には、ロボットハンドの様子に関する特徴ベクトルを生成しなければならず、状態感知部110からロボットハンドの各指部材の位置データを抽出する。
【0079】
そして、抽出された特徴データを用いて特徴ベクトルを生成する(414)。例えば、第1の分類器が選択され、第1の分類器で第1の指部材乃至第3の指部材の位置に対する9次元ベクトルを用いるとすれば、抽出された特徴データを用いてそれに相応する特徴ベクトルを生成する。
【0080】
生成された特徴ベクトルは、選択されたデータ分類器130に入力され(415)、データ分類器130は、入力された特徴ベクトルを用いてロボットが物体を把持しているか否かを判別し、その結果を出力する(416)。そして、データ分類器130が判別結果を出力すると、制御部140は、出力された結果に応じてロボットの次の動作を制御する。
【符号の説明】
【0081】
100 ロボット
110 状態感知部
120 特徴ベクトル生成部
130 データ分類器
140 制御部
150 ロボットハンド
151 ハンド本体
152〜155 指部材
170 性能評価部
180 性能データベース
190 分類器選択部
【技術分野】
【0001】
本発明は、物体を把持できるロボット及びその制御方法に関する。
【背景技術】
【0002】
ロボットに要求される機能の一つは、使用者の命令に応じてハンドを用いて物体を把持するということである。例えば、家庭用のサービスロボットは、使用者にりんごや本などの物体を持ってくれたり、物体を持ち上げて他の場所に移したりするなどの動作を行うが、これは使用者にとっては非常に有用なサービスである。
【0003】
したがって、ロボットの物体把持を制御する技術は、ロボット制御において非常に重要な技術となった。ロボットの物体把持を制御するためには、基本的に、ロボットが物体を把持したか否かを検出することが必要である。ロボットが物体を正確に把持したか否かによって、それ以降の動作を行うか、または再び把持を試みるかを決定することができる。
【0004】
従来は、ロボットのハンドが物体を把持したか否かを検出するために、ハンドに別個の触覚センサーを取り付け、ハンドと物体とが接触した否かを判断した。しかし、触覚センサーは、高価である他、大きさや曲面などの制約からロボットに装着し難いといった不具合があった。
【0005】
触覚センサーを省くべく、ハンドの関節モーターにかかる電流を測定する方法を用いることもできるが、摩擦力などの影響から誤差が大きくなり、信頼し難い。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の一実施例に係るロボット及びその制御方法は、ハンドの関節で発生するトルク及びハンドの様子を特徴データとする分類器を用いることによって、触覚センサーを用いずとも、ロボットが物体を把持したか否かを正確に検出できるロボット及びその制御方法を提供する。
【課題を解決するための手段】
【0007】
本発明の一側面に係る、ハンドを有するロボットは、前記ロボットの状態を感知する状態感知部と、前記状態感知部から特徴データを抽出し、該特徴データを用いて特徴ベクトルを生成する特徴ベクトル生成部と、前記特徴生成部で生成した特徴ベクトルを用いて前記ロボットの動作状態を判断し、その判断結果を出力する学習ベースのデータ分類器と、を備える。
【0008】
前記状態感知部は、前記ロボットのハンドに設けられた関節に発生するトルクまたは前記ロボットのハンドに設けられた指部材の位置を感知する。
【0009】
前記データ分類器は、前記ハンドが物体把持をしているか否かを判断し、その判断結果を出力する。
【0010】
前記データ分類器は、前記ハンドの様子、前記ハンドの関節に発生するトルク値、及び前記ハンドの様子と前記ハンドの関節に発生するトルク値との組み合わせのうち少なくとも一つに関する特徴ベクトルを用いて、前記ハンドが物体把持をしているか否かを判断する。
【0011】
前記データ分類器は、前記ハンドの様子に関する特徴ベクトルを用いる第1の分類器、前記ハンドの関節に発生するトルク値に関する特徴ベクトルを用いる第2の分類器、及び前記ハンドの様子と前記ハンドの関節に発生するトルク値との組み合わせに関する特徴ベクトルを用いる第3の分類器を有する。
【0012】
前記ロボットは、前記第1の分類器乃至第3の分類器のそれぞれの性能を評価してその結果を保存する性能評価部をさらに備える。
【0013】
前記ロボットは、前記性能評価部の評価結果に基づいて前記第1の分類器乃至第3の分類器のいずれか一つを選択する分類器選択部をさらに備える。
【0014】
前記特徴ベクトル生成部は、前記分類器選択部が選択したデータ分類器に対応する特徴ベクトルを生成する。
【0015】
本発明の一側面に係る、ハンドを有するロボットの制御方法は、前記ハンドに設けられた関節に発生するトルクまたは前記ハンドに設けられた指部材の位置を感知し、前記感知結果から特徴ベクトルを生成し、前記生成された特徴ベクトルを学習ベースのデータ分類器に入力して前記ロボットの動作状態を判断し、その結果を出力する。
【0016】
前記ロボットの動作状態を判断することは、前記ロボットのハンドが物体を把持しているか否かを判断することである。
【0017】
前記特徴ベクトルは、前記ハンドに設けられた関節に発生するトルクに関する特徴ベクトル、前記ハンドの様子に関する特徴ベクトル、及び前記ハンドに設けられた関節に発生するトルクと前記ハンドの様子との組み合わせに関する特徴ベクトルのうち少なくとも一つでよい。
【0018】
前記データ分類器は、前記ハンドの様子に関する特徴ベクトルを用いる第1の分類器、前記ハンドに設けられた関節に発生するトルク値に関する特徴ベクトルを用いる第2の分類器、及び前記ハンドの様子と前記ハンドに設けられた関節に発生するトルク値との組み合わせに関する特徴ベクトルを用いる第3の分類器を有する。
【0019】
前記方法は、第1の分類器乃至第3の分類器のうち、最も優れた性能のデータ分類器を選択することをさらに含む。
【0020】
前記データ分類器を選択することは、前記データ分類器の性能評価結果が保存されている性能データベースの検索結果に基づく。
【0021】
前記特徴ベクトルを生成することは、前記選択されたデータ分類器で用いられる特徴ベクトルを生成することである。
【発明の効果】
【0022】
本発明の一側面に係るロボット及びその制御方法によれば、ハンドの関節に発生するトルク及びハンドの様子を特徴データとする分類器を用いることによって、触覚センサーを用いずとも、ロボットが物体を把持しているか否かを正確に検出することが可能になる。
【0023】
これにより、ロボットが物体を把持しているか否かに応じて正確に制御可能になり、ロボットが提供するサービスの品質を向上させることができる。
【0024】
なお、ロボットが物体をしっかり把持できずに落とす等の例外状況に対する対処能力を向上でき、かつ高価の触覚センサーを省けるのでコスト低になる。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施例に係るロボットの制御ブロック図である。
【図2】本発明の一実施例に係るロボットのハンドの構成を概略的に示す斜視図である。
【図3】本発明の一実施例に係るロボットのハンドの構成を概略的に示す正面図である。
【図4】ロボットハンドがりんごを把持している様子を示す図である。
【図5】本発明の一実施例に係るデータ分類器を生成する過程を簡略に示すブロック図である。
【図6】ロボットが本を把持している場合におけるハンドの様子を示す図である。
【図7】本発明の一実施例に係るデータ分類器の動作を示すブロック図である。
【図8】本発明の他の実施例に係るロボットの制御ブロック図である。
【図9】本発明の一実施例に係るロボットの制御方法を具体的に示すフローチャートである。
【図10】本発明の一実施例に係るロボットの制御方法において、データ分類器が第1の分類器、第2の分類器及び第3の分類器を有する場合の実施例を示すフローチャートである。
【発明を実施するための形態】
【0026】
以下、添付の図面を参照して、本発明の実施例を詳細に説明する。
【0027】
図1は、本発明の一実施例に係るロボットの制御ブロック図である。図1を参照すると、本発明の一実施例に係るロボット100は、ロボットの状態を感知する状態感知部110、状態感知部110の感知結果データから特徴ベクトルを生成する特徴ベクトル生成部120、特徴ベクトル生成部120で生成した特徴ベクトルを受信してロボットの動作状態を判断するデータ分類器130、及びデータ分類器130の判断結果に基づいてロボットを制御する制御部140を備える。
【0028】
本発明の一実施例に係るロボットは、測定可能な様々なロボットの状態に基づいて、現在ロボットが特定動作状態にあるか否かを判断できるものであり、よって、以下の実施例では、ロボットのハンドと関連した状態を感知し、それに基づいてロボットが物体を把持しているか否かを判別するとして説明する。
【0029】
図2は、本発明の一実施例に係るロボットのハンドの構成を概略的に示す斜視図であり、図3は、本発明の一実施例に係るロボットのハンドの構成を概略的に示す正面図である。
【0030】
図2及び図3に示すように、本発明の一実施例に係るロボットのハンド150は、ハンド本体151と、指関節を介してハンド本体151と連結される複数の指部材152,153,154,155と、を備える。ハンド本体151は、手首関節を介してロボットアーム160と連結され、アクチュエータ(図示せず)が手首関節に駆動力を提供すると、ハンド本体151がロボットアーム160に対して相対的に回転できる。
【0031】
指部材152,153,154,155は、複数の節からなり、節同士の間には指関節152a〜c,153a〜c,154a〜c,155a〜cが設けられており、これらの指関節にて指を曲げたり伸ばしたりする動作を行うことができる。そのため、それぞれの指関節152a〜c,153a〜c,154a〜c,155a〜cに適切な駆動力を提供すると、それぞれの節が回転しつつ指部材152,153,154,155を曲げて物を把持できるようになる。
【0032】
図2及び図3の実施例では、ロボットのハンド150が4個の指部材を有しているが、本発明はこれに限定されるものではなく、物体の把持ができれば指部材の個数に制限はない。
【0033】
以下、ロボットハンド150が物体を把持したか否かを検出する実施例によって、図1の制御ブロック図を具体的に説明する。
【0034】
状態感知部110は、ロボットの状態、特に、ロボットハンド150の状態を感知する各種のセンサーを有する。本発明の一実施例では、ロボットハンド150の各指関節で発生する関節トルクを測定するトルクセンサーと、各指部材の位置を感知する位置センサーと、を有することができる。トルクセンサーには、自己変形トルクセンサー、変形ゲージ式トルクセンサー、位相差検出型トルクセンサーなどを採用することができ、その種類に制限はない。位置センサーには、指部材のx軸、y軸、z軸における位置を感知できる距離感知センサーなどを採用することができる。
【0035】
特徴ベクトル生成部120は、状態感知部110の感知結果から特徴データを抽出し、特徴ベクトルを生成する。例えば、後述するデータ分類器130で指関節トルクに関する特徴ベクトルを用いる場合に、特徴ベクトル生成部120は、状態感知部110から指関節トルクに関するデータを抽出し、それを用いて特徴ベクトルを生成する。
【0036】
ロボットが物体を把持する時に、第1の指部材152、第2の指部材153及び第3の指部材154を主に用いるとすると、物体把持時に用いられる指関節は合計9個であるから、9個の関節に発生するトルク値を特徴データとすることができる。そのため、特徴ベクトル生成部120は、状態感知部110から9個の関節で発生するトルクデータを抽出し、それらを用いて9次元の特徴ベクトルを生成する。
【0037】
データ分類器130は、特徴ベクトル生成部120から特徴ベクトルを受信し、現在ロボットが物体を把持しているか否かを判別してその結果を出力する。データ分類器130についての詳細は後述する。
【0038】
制御部140は、データ分類器130から出力した結果に基づいてロボットの動作全般を制御するが、例えば、制御部140からハンド150に物体把持命令を送ったが、データ分類器130から出力された結果がロボットが物体を把持していない旨を示すと、その物体への把持命令を再び伝送する。
【0039】
以下、図4乃至図7を参照して、本発明の一実施例に採用可能なデータ分類器130の生成過程について説明する。
【0040】
図4には、ロボットハンド150がりんごを把持している様子を示す。ロボットハンド150が一定の形状のりんごを把持していると、図4に示すように、第1の指部材152乃至第4の指部材155が一定角度で曲げられ、第1の指部材152と第2の指部材153乃至第4の指部材155とはりんごを中心に互いに相対して位置するようになる。一方、りんごを把持してない時は、指部材が相対的に少なく曲げられた状態となる。
【0041】
すなわち、りんごを把持した時(図4)のロボットハンド150の様子と、りんごを把持していない時のロボットハンド150の様子は互いに区別がつき、よって、データ分類器130は、ロボットハンド150の様子を特徴ベクトルとして、物体を把持しているか否かが判別できる。ロボットハンド150の様子は、3次元空間上で各指部材の位置を測定することによって把握できる。なお、ロボットハンド150の様子が変わると、ロボットハンド150の指関節に発生するトルク値も変わるところ、データ分類器130はロボットハンドの様子、指関節のトルクを選択的に用いることも可能である。
【0042】
図5は、本発明の一実施例に係るデータ分類器130を生成する過程を簡略に示すブロック図である。図5を参照すると、まず、ロボットハンドの物体把持の判別に利用可能な特徴ベクトルを生成し、それを特徴データベースに保存する。ここで、特徴ベクトルは、ロボットハンド150の様子、指関節に発生するトルク及びこれらの組み合わせでよい。
【0043】
そして、一つの特徴ベクトルを選択し、選択された特徴ベクトルに対して、ロボットハンド150が物体を把持した時と把持していない時の特徴データをそれぞれ収集し、把持した場合は+1、把持していない場合は−1とラベリング(labeling)して保存する。
【0044】
例えば、特徴ベクトルとして指関節トルクを選択した場合には、ロボットハンド150が物体を把持した時のトルク値と把持していない時のトルク値を収集し、+1、−1とラベリングして保存する。
【0045】
保存されたデータについては後処理をし、ラベリングされた値が−1から+1の範囲に分布するように正規化させることができる。そして、保存されたデータを用いてデータ分類器130を生成するところ、分類器(h)は、コスト関数(cost function)を最小化させるものを用いる。これを分類器訓練というが、コスト関数は、下記の式(1)のように、誤差を最小化するクライテリア(criteria)を用いることもでき、マージンを最大化するクライテリアを用いることもできる。
【0046】
c(x)={y(x)−h(x)}2 (1)
ここで、xは特徴ベクトル、c(x)はコスト関数、y(x)は、入力xに対する実際結果値、h(x)は、入力xに対するデータ分類器130の予測値を表す。
【0047】
そして、このような過程を、特徴データベースに保存されている全ての特徴ベクトルに対して行うと、各特徴ベクトルを入力値とするデータ分類器130が生成される。
【0048】
図6には、ロボットが本を把持する場合のハンド様子を示す。ロボットがりんごではなく他の物体、例えば、本を把持する場合にも、図6に示すようにロボットハンド150は一定の様子を取る。ロボットがりんごを把持する場合(図4)及び本を把持する場合(図6)を比較すると、ロボットハンド150の様子または指関節のトルクが互いに異なっていることがわかる。そのため、図5で説明したデータ分類器130の生成時に、データ分類器130の性能を向上させるために、ロボットが把持できる物体ごとに特徴データを収集することができる。
【0049】
図7は、本発明の一実施例に係るデータ分類器130の動作を示すブロック図である。図7を参照すると、本発明の一実施例では、ロボットハンドの様子、指関節トルク及び彼らこれらの組み合わせをそれぞれ特徴ベクトルとすることができる。そして、ロボットハンド150の様子を特徴ベクトルとする第1の分類器、指関節トルクを特徴ベクトルとする第2の分類器、及びこれらの組み合わせを特徴ベクトルとする第3の分類器を生成することができる。
【0050】
第1の分類器には、ロボットハンドの様子に関する特徴ベクトルを入力する。ここでロボットハンドの様子に関する特徴ベクトルは、3次元空間上でロボットハンドの指部材の位置を測定した結果から生成することができる。第2の分類器には、ロボットハンドの指関節に発生するトルクに関する特徴ベクトルを入力する。ここで、ロボットハンドの指関節に発生するトルクに関する特徴ベクトルは、各関節のトルクセンサーの測定結果から生成することができる。第3の分類器には、ロボットハンドの様子と指関節トルクとを合成した特徴ベクトルを入力する。
【0051】
それぞれの分類器は、入力された特徴ベクトルに対する出力値を出力する。この出力値は、ロボットの物体把持に対する判別結果であり、ロボットハンド150が物体を把持している旨、または把持していない旨を示す。
【0052】
以下、以上述べた内容に基づいて、本発明の適用された具体的な実施例を説明する。
【0053】
以下の実施例では、ロボットハンドの指関節トルクを特徴ベクトルとして説明する。まず、指関節トルクを特徴ベクトルとする第2の分類器を生成しなければならず、特徴データを収集する。物体を把持する時に、図2及び図3に示す4本の指のうち、第1の指部材乃至第3の指部材3本が中枢的な役割を果たすとすると、物体の把持に用いられる指関節は総9個となり、これらの関節に発生するトルクを特徴ベクトルとする場合に、9次元ベクトルを用いることとなる。
【0054】
したがって、ロボットが物体を把持している時の[トルク1、トルク2、トルク3、トルク4、トルク5、トルク6、トルク7、トルク8、トルク9]を実時間で測定し、ラベルを+1として保存する。そして、ロボットが物体を把持していない時の[トルク1、トルク2、トルク3、トルク4、トルク5、トルク6、トルク7、トルク8、トルク9]を実時間で測定し、ラベルを−1として保存する。
【0055】
本発明の一実施例では、これらのデータを後処理してラベリングされた値が−1から+1の範囲に分布するように正規化させることができる。そして、これらのデータを用いてコスト関数を最小化させるデータ分類器130を生成する。
【0056】
データ分類器130の生成が完了すると、特徴ベクトル生成部120が、実際に物体把持作業を行っているロボットの指関節トルクセンサーから指関節トルク値を抽出して9次元ベクトルを作り、これを、生成された第2の分類器に入力する。第2の分類器は、判別結果に応じて+1または−1の結果値を出力する。
【0057】
図8は、本発明の他の実施例に係るロボットの制御ブロック図である。図8を参照すると、本発明の他の実施例に係るロボットは、状態感知部110、特徴ベクトル生成部120、データ分類器130及び制御部140の他に、性能評価部170、性能データベース180及び分類器選択部190をさらに備える。
【0058】
状態感知部110、特徴ベクトル生成部120、データ分類器130及び制御部140については、図1と同様なので説明を省略する。
【0059】
図7の実施例において第1の分類器、第2の分類器及び第3の分類器が生成されると、性能評価部170が、生成された各データ分類器130の性能を評価して性能データベース180に保存する。分類器の性能を評価する方法は、いずれの公知の技術を用いてもよい。
【0060】
そして、実にロボットが物体を把持したか否かを判断する時には、分類器選択部190が、性能データベース180に保存された性能評価結果に基づいて、最も優れた性能を有するデータ分類器130を選択する。
【0061】
データ分類器130が選択されると、特徴ベクトル生成部120は、選択されたデータ分類器130で用いる特徴ベクトルを生成する。そのため、分類器選択部190で第2の分類器を選択した場合には、状態感知部110から各指関節のトルクデータを抽出し、これらを用いて9次元トルクベクトルを生成する。
【0062】
以下、図8に基づいて、本発明の他の実施例を具体的に説明する。当該実施例では、ロボットハンドの様子、指関節トルク及びこれらの組み合わせを特徴ベクトルとして用いるとする。
【0063】
ロボットハンドの様子は指部材の位置を意味するので、ロボットハンドの様子を用いることは、指部材の位置測定結果を用いることに相当する。ロボットハンド150が物を把持する時に中枢的な役割を果たす指部材が第1の指部材乃至第3の指部材であるとすれば、各指部材は、3次元空間上で(x,y,z)座標を持つので、総9次元ベクトルが用いられる。
【0064】
まず、第1の分類器乃至第3の分類器を生成しなければならないが、第1の分類器の生成についてのみ簡略に説明する。ロボットが物体を把持している時の[指1位置(x)、指1位置(y)、指1位置(z)、指2位置(x)、指2位置(y)、指2位置(z)、指3位置(x)、指3位置(y)、指3位置(z)]の値を実時間で測定し、ラベルを+1として保存する。そして、ロボットが物体を把持していない時の[指1位置(x)、指1位置(y)、指1位置(z)、指2位置(x)、指2位置(y)、指2位置(z)、指3位置(x)、指3位置(y)、指3位置(z)]の値を実時間で測定し、ラベルを−1として保存する。そして、データ後処理、分類器訓練または学習を経て第1の分類器を生成する。
【0065】
同様の方式で第2の分類器及び第3の分類器も生成し、性能評価部170が各分類器の性能を評価し、評価結果を性能データベース180に保存する。そして、実際ロボットが物体を把持したか否かを判断する時に、分類器選択部190が性能データベース180を検索し、最も優れた性能を有するデータ分類器130を選択する。例えば、選択されたデータ分類器130が第1の分類器であると、特徴ベクトル生成部120は、状態感知部110から各指部材の位置測定データを抽出し、これらを用いて9次元ベクトルを作って第1の分類器に入力する。
【0066】
そして、第1の分類器がその判断結果を制御部140に出力すると、制御部140がその結果に応じてロボットの動作を制御する。例えば、第1の分類器が+1を出力すると、制御部140は、ロボットが物体を成功的に把持したと判断し、ロボットを他の場所に移動させ、第1の分類器が−1を出力すると、制御部140は、ロボットが物体把持に失敗したと判断し、ロボットハンド150に再び把持命令を伝送する。
【0067】
以下、本発明の一側面に係るロボットの制御方法の実施例を説明する。
【0068】
本発明の一実施例に係るロボットの制御方法は、まず、ロボットの状態感知結果を特徴ベクトルにする学習ベースのデータ分類器130を生成する。そして、トルクセンサー、位置センサーなどの状態感知部110を用いてロボットの状態を感知する。感知結果から特徴ベクトルを生成し、生成された特徴ベクトルを当該データ分類器130に入力してロボットの動作状態を判断し、その結果を出力する。そして、出力された結果に応じてロボットの次の動作を制御する。
【0069】
図9は、本発明の一実施例に係るロボットの制御方法を具体化したフローチャートである。図9の実施例では、判断しようとする動作状態が、ロボットハンドが物体を把持したか否かであり、ロボットハンドの第1の指部材乃至第3の指部材に対する関節トルクを特徴ベクトルとして用いるとする。すなわち、9個の関節に対するトルク値で構成される9次元ベクトルを用いるとする。
【0070】
まず、指関節トルクを特徴ベクトルとするデータ分類器130を生成しなければならず、よって、ロボットが物体を把持している時の第1の指部材乃至第3の指部材の関節トルク、及びロボットが物体を把持していない時の第1の指部材乃至第3の指部材の関節トルクを実時間で測定する(310)。
【0071】
そして、物体を把持した場合の関節トルクと物体を把持していない場合の関節トルクを特徴ベクトルとし、異なる値にラベリングして保存する(311)。例えば、物体を把持した場合には特徴ベクトルに+1をラベリングし、物体を把持していない場合には特徴ベクトルに−1をラベリングすることができる。
【0072】
そして、保存されたデータを後処理し(312)、分類器学習を通じてコスト関数を最小化させるデータ分類器130を生成する(313)。
【0073】
ロボットが物体把持をしているか否かを判断しようとする時点で指関節のトルクを測定する(314)。測定されたトルク値から特徴ベクトルを生成し(315)、生成されたデータ分類器130に特徴ベクトルを入力する(316)。データ分類器130は、入力された特徴ベクトルに対する分類結果を出力する(317)。
【0074】
そして、制御部140は、データ分類器130の出力値に基づいてロボットの次の動作を制御する(318)。
【0075】
図10は、本発明の一実施例に係るロボットの制御方法において、データ分類器130が第1の分類器、第2の分類器及び第3の分類器を含む場合の実施例を示すフローチャートである。
【0076】
まず、第1の分類器、第2の分類器及び第3の分類器を生成する(410)。分類器の生成は前述の通りであり、その説明は省略する。
【0077】
そして、それぞれの分類器に対する性能を評価し、その結果を性能データベースに保存する(411)。分類器の性能を評価するには、公知のいずれの技術を用いてもよい。
【0078】
性能データベースを検索し、3つのデータ分類器130のうち、最も性能に優れたデータ分類器130を選択する(412)。データ分類器130を選択すると、選択されたデータ分類器130で用いられる特徴ベクトルに対応する特徴データを抽出する(413)。例えば、第1の分類器を選択した場合には、ロボットハンドの様子に関する特徴ベクトルを生成しなければならず、状態感知部110からロボットハンドの各指部材の位置データを抽出する。
【0079】
そして、抽出された特徴データを用いて特徴ベクトルを生成する(414)。例えば、第1の分類器が選択され、第1の分類器で第1の指部材乃至第3の指部材の位置に対する9次元ベクトルを用いるとすれば、抽出された特徴データを用いてそれに相応する特徴ベクトルを生成する。
【0080】
生成された特徴ベクトルは、選択されたデータ分類器130に入力され(415)、データ分類器130は、入力された特徴ベクトルを用いてロボットが物体を把持しているか否かを判別し、その結果を出力する(416)。そして、データ分類器130が判別結果を出力すると、制御部140は、出力された結果に応じてロボットの次の動作を制御する。
【符号の説明】
【0081】
100 ロボット
110 状態感知部
120 特徴ベクトル生成部
130 データ分類器
140 制御部
150 ロボットハンド
151 ハンド本体
152〜155 指部材
170 性能評価部
180 性能データベース
190 分類器選択部
【特許請求の範囲】
【請求項1】
ハンドを有するロボットであって、
前記ロボットの状態を感知する状態感知部と、
前記状態感知部から特徴データを抽出し、前記特徴データを用いて特徴ベクトルを生成する特徴ベクトル生成部と、
前記特徴ベクトル生成部で生成した特徴ベクトルを用いて前記ロボットの動作状態を判断し、該判断結果を出力する学習ベースのデータ分類器と、
を備えるロボット。
【請求項2】
前記状態感知部は、
前記ロボットのハンドに設けられた関節に発生するトルク、または前記ロボットのハンドに設けられた指部材の位置を感知する、請求項1に記載のロボット。
【請求項3】
前記データ分類器は、
前記ハンドが物体を把持しているか否かを判断し、その判断結果を出力する、請求項1または請求項2に記載のロボット。
【請求項4】
前記データ分類器は、
前記ハンドの様子、前記ハンドの関節に発生するトルク値、及び前記ハンドの様子と前記ハンドの関節に発生するトルク値との組み合わせのうち、少なくとも一つに関する特徴ベクトルを用いて、物体把持をしているか否かを判断する、請求項3に記載のロボット。
【請求項5】
前記データ分類器は、
前記ハンドの様子に関する特徴ベクトルを用いる第1の分類器、前記ハンドの関節に発生するトルク値に関する特徴ベクトルを用いる第2の分類器、及び前記ハンドの様子と前記ハンドの関節に発生するトルク値との組み合わせに関する特徴ベクトルを用いる第3の分類器とを有する、請求項3に記載のロボット。
【請求項6】
前記第1の分類器乃至第3の分類器のそれぞれの性能を評価し、その結果を保存する性能評価部をさらに備える、請求項5に記載のロボット。
【請求項7】
前記性能評価部の評価結果に基づいて前記第1の分類器乃至第3の分類器のいずれか一つを選択する分類器選択部をさらに備える、請求項6に記載のロボット。
【請求項8】
前記特徴ベクトル生成部は、
前記分類器選択部が選択したデータ分類器に対応する特徴ベクトルを生成する、請求項1乃至請求項7のいずれか一項に記載のロボット。
【請求項9】
ハンドを有するロボットの制御方法であって、
前記ハンドに設けられた関節に発生するトルクまたは前記ハンドに設けられた指部材の位置を感知し、
前記感知結果から特徴ベクトルを生成し、
前記生成された特徴ベクトルを学習ベースのデータ分類器に入力して前記ロボットの動作状態を判断し、その結果を出力する、ロボットの制御方法。
【請求項10】
前記ロボットの動作状態を判断することは、前記ロボットのハンドが物体を把持しているか否かを判断することである、請求項9に記載のロボットの制御方法。
【請求項11】
前記特徴ベクトルは、
前記ハンドに設けられた関節に発生するトルクに関する特徴ベクトル、前記ハンドの様子に関する特徴ベクトル、及び前記ハンドに設けられた関節に発生するトルクと前記ハンドの様子との組み合わせに関する特徴ベクトルのうち、少なくとも一つである、請求項9または請求項10に記載のロボットの制御方法。
【請求項12】
前記データ分類器は、
前記ハンドの様子に関する特徴ベクトルを用いる第1の分類器、前記ハンドに設けられた関節に発生するトルク値に関する特徴ベクトルを用いる第2の分類器、及び前記ハンドの様子と前記ハンドに設けられた関節に発生するトルク値との組み合わせに関する特徴ベクトルを用いる第3の分類器とを有する、請求項9または請求項10に記載のロボットの制御方法。
【請求項13】
前記方法は、さらに、前記第1の分類器乃至第3の分類器のうち、最も優れた性能のデータ分類器を選択する、請求項12に記載のロボットの制御方法。
【請求項14】
前記方法は、前記データ分類器の性能評価結果が保存されている性能データベースの検索結果に基づいて前記データ分類器を選択する、請求項13に記載のロボットの制御方法。
【請求項15】
前記特徴ベクトルを生成することは、
前記選択されたデータ分類器で用いられる特徴ベクトルを生成することである、請求項13に記載のロボットの制御方法。
【請求項16】
前記特徴ベクトルは、
各指部材関節から引き出されたデータに応じた寸法エレメントを含む、請求項9に記載のロボットの制御方法。
【請求項17】
前記方法は、さらに
ロボットが把持可能な物体ごとに特徴ベクトルを収集する、請求項9に記載のロボットの制御方法。
【請求項1】
ハンドを有するロボットであって、
前記ロボットの状態を感知する状態感知部と、
前記状態感知部から特徴データを抽出し、前記特徴データを用いて特徴ベクトルを生成する特徴ベクトル生成部と、
前記特徴ベクトル生成部で生成した特徴ベクトルを用いて前記ロボットの動作状態を判断し、該判断結果を出力する学習ベースのデータ分類器と、
を備えるロボット。
【請求項2】
前記状態感知部は、
前記ロボットのハンドに設けられた関節に発生するトルク、または前記ロボットのハンドに設けられた指部材の位置を感知する、請求項1に記載のロボット。
【請求項3】
前記データ分類器は、
前記ハンドが物体を把持しているか否かを判断し、その判断結果を出力する、請求項1または請求項2に記載のロボット。
【請求項4】
前記データ分類器は、
前記ハンドの様子、前記ハンドの関節に発生するトルク値、及び前記ハンドの様子と前記ハンドの関節に発生するトルク値との組み合わせのうち、少なくとも一つに関する特徴ベクトルを用いて、物体把持をしているか否かを判断する、請求項3に記載のロボット。
【請求項5】
前記データ分類器は、
前記ハンドの様子に関する特徴ベクトルを用いる第1の分類器、前記ハンドの関節に発生するトルク値に関する特徴ベクトルを用いる第2の分類器、及び前記ハンドの様子と前記ハンドの関節に発生するトルク値との組み合わせに関する特徴ベクトルを用いる第3の分類器とを有する、請求項3に記載のロボット。
【請求項6】
前記第1の分類器乃至第3の分類器のそれぞれの性能を評価し、その結果を保存する性能評価部をさらに備える、請求項5に記載のロボット。
【請求項7】
前記性能評価部の評価結果に基づいて前記第1の分類器乃至第3の分類器のいずれか一つを選択する分類器選択部をさらに備える、請求項6に記載のロボット。
【請求項8】
前記特徴ベクトル生成部は、
前記分類器選択部が選択したデータ分類器に対応する特徴ベクトルを生成する、請求項1乃至請求項7のいずれか一項に記載のロボット。
【請求項9】
ハンドを有するロボットの制御方法であって、
前記ハンドに設けられた関節に発生するトルクまたは前記ハンドに設けられた指部材の位置を感知し、
前記感知結果から特徴ベクトルを生成し、
前記生成された特徴ベクトルを学習ベースのデータ分類器に入力して前記ロボットの動作状態を判断し、その結果を出力する、ロボットの制御方法。
【請求項10】
前記ロボットの動作状態を判断することは、前記ロボットのハンドが物体を把持しているか否かを判断することである、請求項9に記載のロボットの制御方法。
【請求項11】
前記特徴ベクトルは、
前記ハンドに設けられた関節に発生するトルクに関する特徴ベクトル、前記ハンドの様子に関する特徴ベクトル、及び前記ハンドに設けられた関節に発生するトルクと前記ハンドの様子との組み合わせに関する特徴ベクトルのうち、少なくとも一つである、請求項9または請求項10に記載のロボットの制御方法。
【請求項12】
前記データ分類器は、
前記ハンドの様子に関する特徴ベクトルを用いる第1の分類器、前記ハンドに設けられた関節に発生するトルク値に関する特徴ベクトルを用いる第2の分類器、及び前記ハンドの様子と前記ハンドに設けられた関節に発生するトルク値との組み合わせに関する特徴ベクトルを用いる第3の分類器とを有する、請求項9または請求項10に記載のロボットの制御方法。
【請求項13】
前記方法は、さらに、前記第1の分類器乃至第3の分類器のうち、最も優れた性能のデータ分類器を選択する、請求項12に記載のロボットの制御方法。
【請求項14】
前記方法は、前記データ分類器の性能評価結果が保存されている性能データベースの検索結果に基づいて前記データ分類器を選択する、請求項13に記載のロボットの制御方法。
【請求項15】
前記特徴ベクトルを生成することは、
前記選択されたデータ分類器で用いられる特徴ベクトルを生成することである、請求項13に記載のロボットの制御方法。
【請求項16】
前記特徴ベクトルは、
各指部材関節から引き出されたデータに応じた寸法エレメントを含む、請求項9に記載のロボットの制御方法。
【請求項17】
前記方法は、さらに
ロボットが把持可能な物体ごとに特徴ベクトルを収集する、請求項9に記載のロボットの制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2013−111744(P2013−111744A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2012−259958(P2012−259958)
【出願日】平成24年11月28日(2012.11.28)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung−ro,Yeongtong−gu,Suwon−si,Gyeonggi−do,Republic of Korea
【Fターム(参考)】
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願日】平成24年11月28日(2012.11.28)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung−ro,Yeongtong−gu,Suwon−si,Gyeonggi−do,Republic of Korea
【Fターム(参考)】
[ Back to top ]