(57)【要約】【課題】  精度の高いロボット制御が可能な制御プログラム選択システムを提供する。【解決手段】  制御プログラム選択システム１０の格納部１６には、異なる複数の周囲環境それぞれにおける、単位動作と当該単位動作に適した制御プログラムとの関係、及び複数の単位動作の組合せによって構成される複合動作と当該複合動作を構成する複数の単位動作相互の相関情報と当該複合動作に適した制御プログラムとの関係を記述した動作データベース２６が格納されている。選択部２２は、動作センサ１２によって計測されて分解部１８によって分解された複数の単位動作と演算部２０によって演算された相関情報と環境センサ１４によって計測された周囲環境とに基づいて格納部１６に格納された動作データベース２６を参照し、動作センサ１２によって計測された人間２の動作をロボット６に実現させるための制御プログラムを選択する。【選択図】  図１
2005138225.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを制御するための制御プログラムを選択する制御プログラム選択システムであって、
単位動作と当該単位動作に適した制御プログラムとの関係、及び複数の単位動作の組合せによって構成される複合動作と当該複合動作を構成する複数の単位動作相互の相関情報と当該複合動作に適した制御プログラムとの関係を記述したデータベースを格納する格納手段と、
人間の動作を計測する動作センサと、
前記動作センサによって計測された人間の動作を複数の前記単位動作に分解する分解手段と、
前記分解手段によって分解された前記複数の単位動作相互の相関情報を演算する演算手段と、
前記分解手段によって分解された前記複数の単位動作及び前記演算手段によって演算された前記相関情報に基づいて前記データベースを参照し、前記動作センサによって計測された人間の動作を前記ロボットに実現させるための制御プログラムを選択する選択手段と
を備えたことを特徴とする制御プログラム選択システム。
【請求項２】
前記選択手段は、前記分解手段によって分解された前記複数の単位動作と前記演算手段によって演算された前記相関情報とに基づいて、前記分解手段によって分解された前記複数の単位動作が特定の複合動作を構成していると判断された場合、前記データベースを参照して当該特定の複合動作に適した制御プログラムを選択し、前記分解手段によって分解された前記複数の単位動作が特定の複合動作を構成していないと判断された場合、前記データベースを参照して当該複数の単位動作それぞれに適した制御プログラムを選択する
ことを特徴とする請求項１に記載の制御プログラム選択システム。
【請求項３】
前記データベースには、異なる複数の周囲環境それぞれにおける、単位動作と当該単位動作に適した制御プログラムとの関係、及び複数の単位動作の組合せによって構成される複合動作と当該複合動作を構成する複数の単位動作相互の相関情報と当該複合動作に適した制御プログラムとの関係が記述されており、
前記人間の周囲環境を計測する環境センサをさらに備え、
前記選択手段は、前記分解手段によって分解された前記複数の単位動作と前記演算手段によって演算された前記相関情報と前記環境センサによって計測された前記周囲環境とに基づいて前記データベースを参照し、前記動作センサによって計測された人間の動作を前記ロボットに実現させるための制御プログラムを選択する
ことを特徴とする請求項１に記載の制御プログラム選択システム。
【請求項４】
前記選択手段によって選択された制御プログラムを前記ロボットに対して送信する送信手段
をさらに備えたことを特徴とする請求項１に記載の制御プログラム選択システム。
【請求項５】
ロボットを制御するための制御プログラムを選択する制御プログラム選択方法であって、
単位動作と当該単位動作に適した制御プログラムとの関係、及び複数の単位動作の組合せによって構成される複合動作と当該複合動作を構成する複数の単位動作相互の相関情報と当該複合動作に適した制御プログラムとの関係を記述したデータベースを格納手段に格納しておき、
動作センサによって人間の動作を計測する動作計測ステップと、
分解手段が、前記動作計測ステップにおいて計測された人間の動作を複数の前記単位動作に分解する分解ステップと、
演算手段が、前記分解ステップにおいて分解された前記複数の単位動作相互の相関情報を演算する演算ステップと、
選択手段が、前記分解ステップにおいて分解された前記複数の単位動作及び前記演算ステップにおいて演算された前記相関情報に基づいて前記データベースを参照し、前記動作計測ステップにおいて計測された人間の動作を前記ロボットに実現させるための制御プログラムを選択する選択ステップと
を備えたことを特徴とする制御プログラム選択方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを制御するための制御プログラムを選択する制御プログラム選択システム及び制御プログラム選択方法に関するものである。
【背景技術】
【０００２】
人間の動作を教師信号として遠隔地に配置されたロボットの動作を制御するいわゆるテレオペレーション技術が知られている。このようなテレオペレーション技術として、例えば特許文献１には、人間の手の動きをセンサによって計測し、当該計測されたセンサ情報を教師信号として、遠隔地に配置されたハンドロボットの動作を制御する技術が開示されている。
【特許文献１】特開２００３−６２７７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来の技術には以下に示すような問題があった。すなわち、テレオペレーションの対象となるロボットがハンドロボットである場合は、ロボットが「握る」「開く」などの比較的単純な動作のみ行えば良いため、ロボットを制御するための制御プログラムも比較的シンプルに構成できる。しかし、人間型ロボットなどのような高度なロボットを制御しようとすると、「右足を前後に動かす」、「左足を前後に動かす」、「首を横に振る」など極めて多くの動作が考えられ、これらの動作それぞれについてロボットを制御するために適した制御プログラム（制御パラメタを含む）は異なってくる。また、例えば「右足を前後に動かす」と「左足を前後に動かす」といった単位動作を組み合わせた「歩く」、「スキップする」、「走る」などという種々の複合動作も考えられ、これら複合動作それぞれについてもロボットを制御するために適した制御プログラム（制御パラメタを含む）は異なってくる。これらの点を考慮すると、上記従来の技術は、人間型ロボットなどのような高度なロボットを制御しようとする場合、精度の高い制御ができないという問題点がある。
【０００４】
そこで本発明は、人間型ロボットなどのような高度なロボットを制御しようとする場合であっても精度の高い制御が可能となる制御プログラム選択システム及び制御プログラム選択方法を提供することを課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の制御プログラム選択システムは、ロボットを制御するための制御プログラムを選択する制御プログラム選択システムであって、単位動作と当該単位動作に適した制御プログラムとの関係、及び複数の単位動作の組合せによって構成される複合動作と当該複合動作を構成する複数の単位動作相互の相関情報と当該複合動作に適した制御プログラムとの関係を記述したデータベースを格納する格納手段と、人間の動作を計測する動作センサと、上記動作センサによって計測された人間の動作を複数の上記単位動作に分解する分解手段と、上記分解手段によって分解された上記複数の単位動作相互の相関情報を演算する演算手段と、上記分解手段によって分解された上記複数の単位動作及び上記演算手段によって演算された上記相関情報に基づいて上記データベースを参照し、上記動作センサによって計測された人間の動作を上記ロボットに実現させるための制御プログラムを選択する選択手段とを備えたことを特徴としている。
【０００６】
また、上記課題を解決するために、本発明の制御プログラム選択方法は、ロボットを制御するための制御プログラムを選択する制御プログラム選択方法であって、単位動作と当該単位動作に適した制御プログラムとの関係、及び複数の単位動作の組合せによって構成される複合動作と当該複合動作を構成する複数の単位動作相互の相関情報と当該複合動作に適した制御プログラムとの関係を記述したデータベースを格納手段に格納しておき、動作センサによって人間の動作を計測する動作計測ステップと、分解手段が、上記動作計測ステップにおいて計測された人間の動作を複数の上記単位動作に分解する分解ステップと、演算手段が、上記分解ステップにおいて分解された上記複数の単位動作相互の相関情報を演算する演算ステップと、選択手段が、上記分解ステップにおいて分解された上記複数の単位動作及び上記演算ステップにおいて演算された上記相関情報に基づいて上記データベースを参照し、上記動作計測ステップにおいて計測された人間の動作を上記ロボットに実現させるための制御プログラムを選択する選択ステップとを備えたことを特徴としている。
【０００７】
単位動作と当該単位動作に適した制御プログラムとの関係、及び複数の単位動作の組合せによって構成される複合動作と当該複合動作を構成する複数の単位動作相互の相関情報と当該複合動作に適した制御プログラムとの関係をデータベースに格納しておき、教師信号となる人間の動作を複数の単位動作に分解し、複数の単位動作相互の相関情報を演算し、これら単位動作と相関情報とに基づいて上記データベースを参照し、制御プログラムを選択することで、上記データベースに格納された単位動作あるいは複合動作に適した制御プログラムが選択される。
【０００８】
また、本発明の制御プログラム選択システムにおいては、上記選択手段は、上記分解手段によって分解された上記複数の単位動作と上記演算手段によって演算された上記相関情報とに基づいて、上記分解手段によって分解された上記複数の単位動作が特定の複合動作を構成していると判断された場合、上記データベースを参照して当該特定の複合動作に適した制御プログラムを選択し、上記分解手段によって分解された上記複数の単位動作が特定の複合動作を構成していないと判断された場合、上記データベースを参照して当該複数の単位動作それぞれに適した制御プログラムを選択することを特徴とすることが好適である。
【０００９】
複数の単位動作が特定の複合動作を構成していると判断された場合は当該特定の複合動作に適した制御プログラムを選択し、複数の単位動作が特定の複合動作を構成していないと判断された場合は当該複数の単位動作それぞれに適した制御プログラムを選択することで、人間の行った複合動作が上記データベースに登録されていない場合であっても、当該複合動作を構成する複数の単位動作それぞれがデータベースに登録されていれば、上記複合動作に比較的適した制御プログラムが選択される。
【００１０】
また、本発明の制御プログラム選択システムにおいては、上記データベースには、異なる複数の周囲環境それぞれにおける、単位動作と当該単位動作に適した制御プログラムとの関係、及び複数の単位動作の組合せによって構成される複合動作と当該複合動作を構成する複数の単位動作相互の相関情報と当該複合動作に適した制御プログラムとの関係が記述されており、上記人間の周囲環境を計測する環境センサをさらに備え、上記選択手段は、上記分解手段によって分解された上記複数の単位動作と上記演算手段によって演算された上記相関情報と上記環境センサによって計測された上記周囲環境とに基づいて上記データベースを参照し、上記動作センサによって計測された人間の動作を上記ロボットに実現させるための制御プログラムを選択することを特徴とすることが好適である。
【００１１】
異なる複数の周囲環境それぞれにおける、単位動作と当該単位動作に適した制御プログラムとの関係、及び複数の単位動作の組合せによって構成される複合動作と当該複合動作を構成する複数の単位動作相互の相関情報と当該複合動作に適した制御プログラムとの関係をデータベースに格納しておき、人間の周囲環境を計測し、教師信号となる人間の動作を複数の単位動作に分解し、複数の単位動作相互の相関情報を演算し、これら単位動作と相関情報と周囲環境とに基づいて上記データベースを参照し、制御プログラムを選択することで、周囲環境に応じて、上記データベースに格納された単位動作あるいは複合動作に適した制御プログラムが選択される。
【００１２】
また、本発明の制御プログラム選択システムにおいては、上記選択手段によって選択された制御プログラムを上記ロボットに対して送信する送信手段をさらに備えたことを特徴とすることが好適である。
【００１３】
選択された制御プログラムを上記ロボットに対して送信することで、当該制御プログラムは容易にロボットにインストールされる。
【発明の効果】
【００１４】
本発明の制御プログラム選択システム及び制御プログラム選択方法は、単位動作と当該単位動作に適した制御プログラムとの関係、及び複数の単位動作の組合せによって構成される複合動作と当該複合動作を構成する複数の単位動作相互の相関情報と当該複合動作に適した制御プログラムとの関係をデータベースに格納しておき、教師信号となる人間の動作を複数の単位動作に分解し、複数の単位動作相互の相関情報を演算し、これら単位動作と相関情報とに基づいて上記データベースを参照し、制御プログラムを選択する。従って、上記データベースに格納された単位動作あるいは複合動作に適した制御プログラムが選択される。その結果、人間型ロボットなどのような高度なロボットを制御しようとする場合であっても精度の高い制御が可能となる。
【発明を実施するための最良の形態】
【００１５】
本発明の実施形態にかかる制御プログラム選択システムについて図面を参照して説明する。
【００１６】
まず、本実施形態にかかる制御プログラム選択システムの構成について説明する。図１は、本実施形態にかかる制御プログラム選択システムの構成図である。本実施形態にかかる制御プログラム選択システム１０は、ロボットを制御するための制御プログラムを選択する制御プログラム選択システムであって、図１に示すように、動作センサ１２と環境センサ１４と環境識別部１５と格納部１６と分解部１８と演算部２０と選択部２２と送信部２４とを備えて構成されている。ここで特に、環境識別部１５と格納部１６と分解部１８と演算部２０と選択部２２と送信部２４とは、物理的には、ＣＰＵ（中央処理装置）、メモリ、マウスやキーボードなどの入力装置、ディスプレイなどの表示装置、ハードディスクなどの格納装置、外部機器と無線によるデータ通信を行う無線通信ユニットなどを備えたコンピュータシステムとして構成されている。また、制御プログラム選択システム１０は、移動体通信網、公衆電話網、無線ＬＡＮ、インターネットなどのネットワーク４を介して制御対象となるロボット６に接続されている。以下、制御プログラム選択システム１０の各構成要素について詳細に説明する。
【００１７】
動作センサ１２は、人間２の動作を計測するセンサである。動作センサ１２としては、例えば、人間２の動作を動画像情報として検出するカメラや、人間２の動作を筋電信号として検出する筋電センサが該当する。
【００１８】
環境センサ１４は、人間２の周囲環境を計測するセンサである。環境センサ１４としては、例えば、周囲環境を画像情報として検出するカメラや、周囲環境を音声情報として検出するマイクロフォンが該当する。
【００１９】
環境識別部１５は、環境センサ１４によって取得されたセンサ情報から人間２の周囲環境を識別する。より詳細には、環境センサ１４としてカメラを用いた場合、環境識別部１５は、当該カメラによって取得された画像をスペクトル解析し、当該スペクトルをキーにして、スペクトルと周囲環境（人混み、室内など）とが関連付けられて登録されている周囲環境データベース（図示せず）を検索することにより、当該スペクトルに対応した周囲環境を抽出する。環境センサ１４としてマイクロフォンを用いた場合、環境識別部１５は、当該マイクロフォンによって取得された音声情報をスペクトル解析し、当該スペクトルをキーにして、スペクトルと周囲環境とが関連付けられて登録されている周囲環境データベースを検索することにより、当該スペクトルに対応した周囲環境を抽出する。ここで、周囲環境データベースには、必ずしも取得されたスペクトルに対応した周囲環境が登録されているとは限らない。取得されたスペクトルが周囲環境データベースに登録されていない場合、環境識別部１５は、あらかじめ定められた基準（例えば二乗誤差最小基準）により、取得されたスペクトルに近いスペクトルに対応した周囲環境を抽出する。
【００２０】
格納部１６には、動作データベース２６が格納されている。図２は、動作データベース２６の構成図である。動作データベース２６には、異なる複数の周囲環境それぞれにおける、単位動作と当該単位動作に適した制御プログラムとの関係、及び複数の単位動作の組合せによって構成される複合動作と当該複合動作を構成する複数の単位動作相互の相関情報と当該複合動作に適した制御プログラムとの関係が記述されている。より具体的には、動作の識別符号である動作ＩＤと、動作の名称を示す動作シンボリック情報と、周囲環境と、他の動作との相関情報と、当該動作に適した制御プログラムとが関連付けられて格納されている。
【００２１】
ここで、他の動作との相関情報には、当該動作が複数の単位動作の組合せによって構成される複合動作である場合に、当該複合動作を構成する単位動作を示す情報と、当該複合動作を構成する複数の単位動作相互の相関情報とが含まれる。ここで、相関情報とは、複数の単位動作相互の相関を示す情報であり、例えば、複数の単位動作それぞれを記述する関数の相互相関関数の一定期間の積分値などが考えられる。より簡単には、例えば「右足を動かす」という単位動作と「左足を動かす」という単位動作とから「歩く」という複合動作が構成される場合、「歩く」という動作を行うにあたり、左足が動いているか否かを１／０で表現した時系列表現と右足が動いているか否かを１／０で表現した時系列表現との論理積を演算し、「歩く」という動作を行う際に「左足を動かす」動作と「右足を動かす」動作とが同時に行われている時間的割合を相関情報とすることが考えられる。
【００２２】
また、ここで制御プログラムには、ロボット６に当該動作を行わせるために適した制御プログラム本体と、当該制御プログラム本体を実行させるに当たって必要となる好適な制御パラメータとの双方が含まれる。
【００２３】
図２に示す動作データベース２６は、「人混み」という周囲環境でロボット６に「右足を動かす」と言う動作を行わせるためには、「Ｒｏｂｏｔｓｏｆｔ１」という制御プログラム本体を用い、制御パラメータｘとしてｘ１の値を用いることが適していることを示している。同様に、動作データベース２６は、「室内」という周囲環境でロボット６に「右足を動かす」と言う動作を行わせるためには、「Ｒｏｂｏｔｓｏｆｔ７」という制御プログラム本体を用い、制御パラメータｘとしてｘ３の値を用いることが適していることを示している。
【００２４】
さらに、動作データベース２６は、「人混み」という周囲環境でロボット６に「歩く」と言う動作を行わせるためには、「Ｒｏｂｏｔｓｏｆｔ５」という制御プログラム本体を用い、制御パラメータｘとしてｘ２の値、制御パラメータｙとしてｙ２の値を用いることが適していることを示している。また、ここで、「歩く」と言う動作は、動作ＩＤが１の「右足を動かす」という単位動作と動作ＩＤが２の「左足を動かす」という単位動作とを互いに「０．８」という相関情報を持って複合した複合動作であることを示している。なお、ここでは、相関情報を「０．８」というように一定の値にしているが、「０．８以上」、「０．６〜０．８」というように、特定の複合動作が複数の単位動作の組合せによって構成される場合の相関情報に範囲を持たせてもよい。
【００２５】
分解部１８は、動作センサ１２によって計測された人間２の動作を複数の単位動作に分解する。より具体的には、動作センサ１２としてカメラを用いた場合、まず、カメラによって取得された動画像情報に含まれるフレーム画像から、時間的に前後するフレーム画像間の差分情報を抽出し、当該差分情報を時系列に配列することによって差分情報の時系列データを生成する。続いて、差分情報の時系列データをキーにして、差分情報の時系列データと動作とが関連付けられて登録されている動作判別データベース（図示せず）を検索することにより、当該差分情報の時系列データに対応した動作を抽出する。この際、動画像情報から、人間２の部位（例えば足）の動く範囲を算出しておく。
【００２６】
動作センサ１２として筋電センサを用いた場合、まず、筋電センサによって取得された各部位の筋電信号（時系列データ）をキーにして、筋電信号と動作とが関連付けられて登録されている動作判別データベース（図示せず）を検索することにより、当該筋電信号に対応した動作を抽出する。この際、筋電信号から、人間２の部位（例えば足）の動く範囲を算出しておく。
【００２７】
なお、ここでは、分解部１８が、カメラによって取得された動画像情報、あるいは筋電センサによって取得された筋電信号のみから人間２の動作を複数の単位動作に分解する例を示したが、これは、カメラによって取得された動画像情報および筋電センサによって取得された筋電信号から人間２の動作を複数の単位動作に分解するというように、複数のセンサ情報を用いて人間２の動作を複数の単位動作に分解するようにしてもよい。さらに、人間２が実際の動作を行う際に「右足を動かす」、「歩く」などといった動作を識別するための教師信号を与え、これを補助的に用いて人間２の動作を複数の単位動作に分解するようにしてもよい。
【００２８】
演算部２０は、分解部１８によって分解された複数の単位動作相互の相関情報を演算する。より具体的には、分解部１８によって人間２の動きが複数の単位動作に分解された場合、当該複数の単位動作それぞれを記述する関数の相互相関関数の一定期間の積分値などを相関情報として算出する。より簡単な例をあげれば、人間２の動作が、「右足を動かす」という単位動作と「左足を動かす」という単位動作とに分解された場合、左足が動いているか否かを１／０で表現した時系列表現と右足が動いているか否かを１／０で表現した時系列表現との論理積を演算し、「左足を動かす」動作と「右足を動かす」動作とが同時に行われている時間的割合を相関情報として算出する。
【００２９】
選択部２２は、分解部１８によって分解された複数の単位動作と演算部２０によって演算された相関情報と環境センサ１４によって計測された周囲環境とに基づいて格納部１６に格納された動作データベース２６を参照し、動作センサ１２によって計測された人間２の動作をロボット６に実現させるための制御プログラムを選択する。より具体的には、選択部２２は、分解部１８によって分解された複数の単位動作と演算部２０によって演算された相関情報とに基づいて、分解部１８によって分解された複数の単位動作が特定の複合動作を構成していると判断された場合、格納部１６に格納された動作データベース２６を参照して当該特定の複合動作に適した制御プログラムを選択する。一方、選択部２２は、分解部１８によって分解された複数の単位動作が特定の複合動作を構成していないと判断された場合、格納部１６に格納された動作データベース２６を参照して当該複数の単位動作それぞれに適した制御プログラムを選択する。
【００３０】
例えば、環境センサ１４によって計測されたセンサ情報に基づいて環境識別部１５によって人間２の周囲環境が「人混み」と識別され、分解部１８によって人間２の動作が「右足を動かす」と「左足を動かす」という２つの単位動作に分解され、演算部２０によって「右足を動かす」と「左足を動かす」という２つの単位動作の相関情報「０．５」と算出されたとする。選択部２２は、これらの情報をキーにして動作データベース２６を参照する。ここで、動作データベース２６には、「右足を動かす」と「左足を動かす」という２つの単位動作から構成される「歩く」という複合動作（相関情報は「０．８」）が登録されているが、人間２の動作は「右足を動かす」と「左足を動かす」という２つの単位動作の相関情報が「０．５」の動作であるため、選択部２２は、人間２の動作を「歩く」という複合動作とは判断しない。その結果、選択部２２は、「人混み」の周囲環境で「右足を動かす」という単位動作に適した制御プログラムである制御プログラム本体「Ｒｏｂｏｔｓｏｆｔ１」および制御パラメータ「ｘ１」と、「人混み」の周囲環境で「左足を動かす」という単位動作に適した制御プログラムである制御プログラム本体「Ｒｏｂｏｔｓｏｆｔ２」および制御パラメータ「ｙ１」とを、人間２の動作をロボット６に実現させるための制御プログラムとして選択する。
【００３１】
一方、環境センサ１４によって計測されたセンサ情報に基づいて環境識別部１５によって人間２の周囲環境が「人混み」と識別され、分解部１８によって人間２の動作が「右足を動かす」と「左足を動かす」という２つの単位動作に分解され、演算部２０によって「右足を動かす」と「左足を動かす」という２つの単位動作の相関情報「０．８」と算出されたとする。選択部２２は、これらの情報をキーにして動作データベース２６を参照する。ここで、動作データベース２６には、「右足を動かす」と「左足を動かす」という２つの単位動作から構成される「歩く」という複合動作（相関情報は「０．８」）が登録されおり、人間２の動作は「右足を動かす」と「左足を動かす」という２つの単位動作の相関情報が「０．８」の動作であるため、選択部２２は、人間２の動作を「歩く」という複合動作と判断する。その結果、選択部２２は、「人混み」の周囲環境で「歩く」という複合動作に適した制御プログラムである制御プログラム本体「Ｒｏｂｏｔｓｏｆｔ５」および制御パラメータ「ｘ２」，「ｙ２」を、人間２の動作をロボット６に実現させるための制御プログラムとして選択する。
【００３２】
送信部２４は、選択部２２によって選択された制御プログラム（制御プログラム本体および制御パラメータ）をネットワーク４を介してロボット６に対して送信する。送信部２４は、また、分解部１８によって算出された、人間２の部位（例えば足）の動く範囲など、ロボット６の動作を制御するために必要となるその他の情報もあわせてロボット６に対して送信する。
【００３３】
続いて、本実施形態にかかる制御プログラム選択システムの動作について説明し、併せて本発明の実施形態にかかる制御プログラム選択方法について説明する。図２は、本実施形態にかかる制御プログラム選択システム１０における情報の流れを示す図である。
【００３４】
ロボット６の動作を制御するための制御プログラムを選択するにあたっては、まず、動作センサ１２によって人間２の動作が計測される（Ｓ１２）。より具体的には、例えば、カメラによって人間２の動作が動画像情報として検出されたり、筋電センサによって人間２の動作が筋電信号として検出される。
【００３５】
また、これと同時に、環境センサ１４によって人間２の周囲環境が計測される（Ｓ１４）。より具体的には、例えば、カメラによって周囲環境が画像情報として検出されたり、マイクロフォンによって周囲環境が音声情報として検出される。
【００３６】
環境センサ１４によって人間２の周囲環境が計測されると、環境識別部１５により、環境センサ１４によって取得されたセンサ情報から人間２の周囲環境が識別される。より詳細には、環境センサ１４としてカメラが用いられた場合、当該カメラによって取得された画像がスペクトル解析され、当該スペクトルをキーにして、スペクトルと周囲環境とが関連付けられて登録されている周囲環境データベースが検索され、当該スペクトルに対応した周囲環境が抽出される。環境センサ１４としてマイクロフォンが用いられた場合、当該マイクロフォンによって取得された音声情報がスペクトル解析され、当該スペクトルをキーにして、スペクトルと周囲環境とが関連付けられて登録されている周囲環境データベースが検索され、当該スペクトルに対応した周囲環境が抽出される。
【００３７】
また、動作センサ１４によって計測された人間２の動作は、分解部１８により、複数の単位動作に分解される（Ｓ１６）。より具体的には、動作センサ１２としてカメラが用いられた場合、まず、カメラによって取得された動画像情報に含まれるフレーム画像から、時間的に前後するフレーム画像間の差分情報が抽出され、当該差分情報が時系列に配列され、差分情報の時系列データが生成される。続いて、差分情報の時系列データをキーにして、差分情報の時系列データと動作とが関連付けられて登録されている動作判別データベースが検索され、当該差分情報の時系列データに対応した動作が抽出される。この際、動画像情報から、人間２の部位（例えば足）の動く範囲もあわせて算出される。
【００３８】
動作センサ１２として筋電センサが用いられた場合、筋電センサによって取得された各部位の筋電信号（時系列データ）をキーにして、筋電信号と動作とが関連付けられて登録されている動作判別データベース（図示せず）が検索され、当該筋電信号に対応した動作が抽出される。この際、筋電信号から、人間２の部位（例えば足）の動く範囲もあわせて算出される。
【００３９】
続いて、演算部２０により、分解部１８によって分解された複数の単位動作相互の相関情報が演算される（Ｓ１８）。より具体的には、分解部１８によって人間２の動きが複数の単位動作に分解された場合、当該複数の単位動作それぞれを記述する関数の相互相関関数の一定期間の積分値などが相関情報として算出される。より簡単な例をあげれば、人間２の動作が、「右足を動かす」という単位動作と「左足を動かす」という単位動作とに分解された場合、左足が動いているか否かを１／０で表現した時系列表現と右足が動いているか否かを１／０で表現した時系列表現との論理積が演算され、「左足を動かす」動作と「右足を動かす」動作とが同時に行われている時間的割合が相関情報として算出される。
【００４０】
続いて、選択部２２により、分解部１８によって分解された複数の単位動作と演算部２０によって演算された相関情報と環境センサ１４によって計測された周囲環境とに基づいて格納部１６に格納された動作データベース２６が参照され、動作センサ１２によって計測された人間２の動作をロボット６に実現させるための制御プログラムが選択される（Ｓ２０）。より具体的には、まず、分解部１８によって分解された複数の単位動作と演算部２０によって演算された相関情報とに基づいて、分解部１８によって分解された複数の単位動作が特定の複合動作を構成しているか否かが判断される（Ｓ２２）。分解部１８によって分解された複数の単位動作が特定の複合動作を構成していると判断された場合、格納部１６に格納された動作データベース２６が参照され、当該特定の複合動作に適した制御プログラムが選択される（Ｓ２４）。一方、分解部１８によって分解された複数の単位動作が特定の複合動作を構成していないと判断された場合、格納部１６に格納された動作データベース２６が参照され、当該複数の単位動作それぞれに適した制御プログラムが選択される（Ｓ２６）。
【００４１】
例えば、環境センサ１４によって計測されたセンサ情報に基づいて環境識別部１５によって人間２の周囲環境が「人混み」と識別され、分解部１８によって人間２の動作が「右足を動かす」と「左足を動かす」という２つの単位動作に分解され、演算部２０によって「右足を動かす」と「左足を動かす」という２つの単位動作の相関情報「０．５」と算出されたとする。この場合、これらの情報をキーにして動作データベース２６が参照される。ここで、動作データベース２６には、「右足を動かす」と「左足を動かす」という２つの単位動作から構成される「歩く」という複合動作（相関情報は「０．８」）が登録されているが、人間２の動作は「右足を動かす」と「左足を動かす」という２つの単位動作の相関情報が「０．５」の動作であるため、人間２の動作は「歩く」という複合動作とは判断されない。その結果、「人混み」の周囲環境で「右足を動かす」という単位動作に適した制御プログラムである制御プログラム本体「Ｒｏｂｏｔｓｏｆｔ１」および制御パラメータ「ｘ１」と、「人混み」の周囲環境で「左足を動かす」という単位動作に適した制御プログラムである制御プログラム本体「Ｒｏｂｏｔｓｏｆｔ２」および制御パラメータ「ｙ１」とが、人間２の動作をロボット６に実現させるための制御プログラムとして選択される。
【００４２】
一方、環境センサ１４によって計測されたセンサ情報に基づいて環境識別部１５によって人間２の周囲環境が「人混み」と識別され、分解部１８によって人間２の動作が「右足を動かす」と「左足を動かす」という２つの単位動作に分解され、演算部２０によって「右足を動かす」と「左足を動かす」という２つの単位動作の相関情報「０．８」と算出されたとする。この場合、これらの情報をキーにして動作データベース２６が参照される。ここで、動作データベース２６には、「右足を動かす」と「左足を動かす」という２つの単位動作から構成される「歩く」という複合動作（相関情報は「０．８」）が登録されおり、人間２の動作は「右足を動かす」と「左足を動かす」という２つの単位動作の相関情報が「０．８」の動作であるため、人間２の動作は「歩く」という複合動作と判断される。その結果、「人混み」の周囲環境で「歩く」という複合動作に適した制御プログラムである制御プログラム本体「Ｒｏｂｏｔｓｏｆｔ５」および制御パラメータ「ｘ２」，「ｙ２」が、人間２の動作をロボット６に実現させるための制御プログラムとして選択される。
【００４３】
選択部２２によって選択された制御プログラム（制御プログラム本体および制御パラメータ）は、送信部２４により、ネットワーク４を介してロボット６に対して送信される（Ｓ２８）。この際、分解部１８によって算出された、人間２の部位（例えば足）の動く範囲など、ロボット６の動作を制御するために必要となるその他の情報もあわせてロボット６に対して送信される。
【００４４】
続いて、本実施形態にかかる制御プログラム選択システムの作用及び効果について説明する。本実施形態にかかる制御プログラム選択システム１０は、単位動作と当該単位動作に適した制御プログラムとの関係、及び複数の単位動作の組合せによって構成される複合動作と当該複合動作を構成する複数の単位動作相互の相関情報と当該複合動作に適した制御プログラムとの関係を動作データベース２６に記述して格納部１６に格納しておき、動作センサ１２によって計測した人間２の動作を分解部１８によって複数の単位動作に分解し、演算部２０によって複数の単位動作相互の相関情報を演算し、選択部２２がこれら単位動作と相関情報とに基づいて上記動作データベース２６を参照し、制御プログラムを選択する。したがって、上記動作データベース２６に記述された単位動作あるいは複合動作に適した制御プログラムが選択される。その結果、人間型ロボットなどのような高度なロボット６を制御しようとする場合であっても精度の高い制御が可能となる。
【００４５】
また、本実施形態にかかる制御プログラム選択システム１０は、選択部２２が、複数の単位動作が特定の複合動作を構成していると判断された場合は当該特定の複合動作に適した制御プログラムを選択し、複数の単位動作が特定の複合動作を構成していないと判断された場合は当該複数の単位動作それぞれに適した制御プログラムを選択する。したがって、人間２の行った複合動作が動作データベース２６に登録されていない場合であっても、当該複合動作を構成する複数の単位動作それぞれが動作データベース２６に登録されていれば、上記複合動作に比較的適した制御プログラムが選択される。その結果、ロボット制御の汎用性が増す。
【００４６】
また、本実施形態にかかる制御プログラム選択システム１０は、異なる複数の周囲環境それぞれにおける、単位動作と当該単位動作に適した制御プログラムとの関係、及び複数の単位動作の組合せによって構成される複合動作と当該複合動作を構成する複数の単位動作相互の相関情報と当該複合動作に適した制御プログラムとの関係を動作データベース２６に記述して格納部１６に格納しておき、環境センサ１４によって人間２の周囲環境を計測するとともに環境識別部１５によって人間２の周囲環境を識別し、動作センサ１２によって計測した人間２の動作を分解部１８によって複数の単位動作に分解し、演算部２０によって複数の単位動作相互の相関情報を演算し、選択部２２がこれら単位動作と相関情報と周囲環境とに基づいて動作データベース２６を参照し、制御プログラムを選択する。従って、周囲環境に応じて、データベース２６に格納された単位動作あるいは複合動作に適した制御プログラムが選択される。その結果、種々の異なる周囲環境のもとでロボット６を制御する場合であっても、精度の高い制御が可能となる。
【００４７】
また、本実施形態にかかる制御プログラム選択システム１０は、選択部２２によって選択された制御プログラムを送信部２４からロボット６に対して送信する。従って、当該制御プログラムを容易にロボット６にインストールすることができる。
【００４８】
上記実施形態にかかる制御プログラム選択システム１０においては、特定のサーバ装置の格納部１６の内部に動作データベース２６が格納されている例を示したが、動作データベース２６は、ネットワーク４に接続された複数のサーバ装置に分散されて格納されていてもよい。この場合、選択部２２は、複数のサーバ装置に分散された格納された動作データベース２６にネットワーク４を介してアクセスすることで、所望の制御プログラムを選択することが可能となる。
【産業上の利用可能性】
【００４９】
本発明の制御プログラム選択システム及び制御プログラム選択方法は、例えば人間型ロボットなどのような高度なロボットを制御するために利用可能である。
【図面の簡単な説明】
【００５０】
【図１】図１は、制御プログラム選択システムの構成図である。
【図２】図２は、データベースの構成図である。
【図３】図３は、制御プログラム選択システムの動作を示すフローチャートである。
【符号の説明】
【００５１】
１０…制御プログラム選択システム、１２…動作センサ、１４…環境センサ、１５…環境識別部、１６…格納部、１８…分解部、２０…演算部、２２…選択部、２４…送信部、２６…動作データベース
【図１】
2005138225.tif 000003
【図２】
2005138225.tif 000004
【図３】
2005138225.tif 000005