説明

動作伝達システムおよび動作伝達方法

【課題】 従動体に意味のある動作(安全な動作等)をさせるように原動体の動作を従動体へ伝達することができる動作伝達システムおよび動作伝達方法を提供すること。
【解決手段】 動作データ取得手段220Aにより原動体1Aの動作データを取得し、この動作データに基づき、予め作成された学習モデルを用いて認識処理を行うことで、原動体1Aの動作を学習済みの複数種類の運動パターンのいずれかに分類し、分類して得られた運動パターンについての運動パターン識別情報(LAU(Left Arm Up)等の言語レベルの情報)を、変換テーブルを用いて制御信号識別情報に変換し、従動体2A等に送信する。一方、従動体2A等の側には、その従動体の形状や構造等の特性に合わせた可能動作群を用意しておくことで、従動体2A等をリアルタイムで原動体1Aの動作に追従させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、原動体の動作を従動体へ伝達する動作伝達システムおよび動作伝達方法に係り、例えば、人間の動作を人間型ロボットへ伝達する場合等のように、生体の動作を、その生体と同形または略同形のロボットへ伝達する場合、あるいは人間の動作を3本足ロボットや犬型ロボットへ伝達する場合や身体障害者の動作をロボットへ伝達する場合等のように、生体の動作を、その生体とは異形のロボットへ伝達する場合等に利用できる。
【背景技術】
【0002】
従来より、人間(ヒューマン)と、人間型ロボット(ヒューマノイドロボット)と、これらのアニメーションキャラクタ(映像中の人物的キャラクタ、すなわち人間あるいは人間型ロボットの代理となるソフトウェアキャラクタ)との3形態の間での動作に対する同一化(単一化、ユニフィケーション、unification)の要請があり、それらの一部は実現されている。
【0003】
そして、近未来における高度ネットワーク社会では、人間、実機ロボット、アニメーションキャラクタは、いずれもコンピュータネットワークにおける1つのノードを代表するものとなり、より一層高度な情報化社会を実現するための要素となることから、これらの3形態について動作の同一化を実現することの重要性は、一層高まってきている。
【0004】
このような3形態の間での動作の同一化については、モーションキャプチャによる人体運動計測を行い、それをアニメーション化する技術、すなわち人間の動作をアニメーションキャラクタへ伝達する技術が実用化され、既に市販品も存在している(非特許文献1参照)。
【0005】
また、モーションキャプチャによる人体運動計測を行い、それを教示データとして実機の脚式移動ロボットの運動パターンを生成する技術、すなわち人間の動作を実機ロボットへ伝達する技術が実用化されている(特許文献1参照)。
【0006】
なお、本発明の周辺技術については、認識(特に、音声認識)のために一般的に用いられる隠れマルコフモデルのツールとして、ケンブリッジ大学の隠れマルコフモデル・ツールキット(HTK:Hidden Markov Model Toolkit)と称される、ほぼ世界標準となった無償のツールがある(非特許文献2参照)。
【0007】
【特許文献1】特開2002−301674号公報(段落[0011]、[0065]、[0119]〜[0131]、請求項1,2、図13〜図18、要約)
【非特許文献1】メタ・モーション社(META Motion)、“モーション・キャプタ(商標)・サンプル(Motion CaptorTM Samples)”、[online]、メタ・モーション社ホームページ、[平成16年11月5日検索]、インターネット<URL:http://www.metamotion.com/captor/motion-captor-samples.htm>
【非特許文献2】ケンブリッジ大学技術部(CUED:Cambridge University Engineering Department)、“What is HTK?”、[online]、ケンブリッジ大学技術部(CUED)のHTK3ウェブサイト、[平成16年11月5日検索]、インターネット<URL:http://htk.eng.cam.ac.uk/>
【発明の開示】
【発明が解決しようとする課題】
【0008】
ところで、前述したように、人間の動作をアニメーションキャラクタへ伝達する技術が実用化され、既に市販品も存在しているが(非特許文献1参照)、このように人間の動作をアニメーションキャラクタへ伝達することは、それ程、困難性を伴うものではない。なぜなら、アニメーションキャラクタの動作は自在に設定可能であることが多く、柔軟な動作を実現できるので、アニメーションキャラクタの動作を人間の柔軟な動作に追従させることは容易だからである。同様な理由で、実機ロボットの動作をアニメーションキャラクタへ伝達することも容易である。
【0009】
一方、人間の動作やアニメーションキャラクタの動作を実機ロボットへ伝達することには、困難性が伴うため、良い方式が見当たらないのが現状である。なぜなら、人間やアニメーションキャラクタが柔軟な動作を実現できるのに対し、実機ロボットは、それよりも柔軟性が低く、動作に様々な機構上の制約が生じることが多いからである。例えば、人間が歩行動作を行っているときに、手をやや大きく振る動作等を行った場合には、そのモーションをそのまま位置や角度のデータとして実機のヒューマノイドロボットに命令すると、ヒューマノイドロボットは、自分の手を自分の体にぶつけてしまい、力が強いので破壊に至ってしまう。従って、このような破壊等の不都合を生じることなく、人間から実機ロボットへの動作伝達を安全に実現することができ、かつ、実機ロボットに、静的安定性や、ZMP(Zero Moment Point)安定度判別規範等の動的安定性を満足するような動作を確実に実行させることができる動作伝達方式が望まれる。
【0010】
なお、前述した特許文献1に記載された脚式移動ロボットでは、モーションキャプチャによる人体運動計測を行い、それを教示データとして実機ロボットの運動パターンを生成するにあたり、先ず、制御対象となる実機ロボットが実行可能な複数の運動パターンを階層型リカレント・ニューラル・ネットワーク中のそれぞれ異なるエキスパート・リカレント・ニューラル・ネットワークに学習させておき、次に、学習後の各エキスパート・リカレント・ニューラル・ネットワークを下位のモジュールに持つ階層型リカレント・ニューラル・ネットワークにより、モーションキャプチャを用いた人間の教示作業により与えられた運動パターンを自動的に時系列分節し、下位モジュールとしての各エキスパート・リカレント・ニューラル・ネットワークがそれぞれ生成する運動パターンを重み付けて組み合わせることにより、実機ロボットの運動パターンを生成する。換言すれば、制御対象となる実機ロボットについての局所的な各関節自由度に関する実行可能な運動パターンを予め記憶しておき、モーションキャプチャにより取得した人間の運動パターンと、予め記憶しておいた実行可能な運動パターンとの一致の判定を複数の判定部で行い、それらの各判定結果のゲート出力を合成し、実機ロボットの大局的な運動パターンを生成する。従って、モーションキャプチャにより取得した人間の運動パターンをそのまま実機ロボットに適用するのではなく、実機ロボットの構造特性や運動特性に適した動作として伝達することができるという点で、上述したような人間から実機ロボットへの動作伝達の際に生じる不都合を、ある側面で解消している。
【0011】
しかしながら、各エキスパート・リカレント・ニューラル・ネットワークに学習させておくのは、制御対象となる実機ロボットが実行可能な複数の運動パターンであり、人間の運動パターンではない。従って、後述する本発明における学習モデルに記憶させておくものが、原動体(例えば、人間)の運動パターンであることと相違している。つまり、特許文献1に記載された脚式移動ロボットの運動パターンは、各エキスパート・リカレント・ニューラル・ネットワークがそれぞれ生成する運動パターンを組み合わせて生成されるので、いわば自己の実行可能な複数の運動パターンの組合せということになる。従って、人間の教示動作により最終的に生成される実機ロボットの運動パターンは、結局は、その実機ロボットについて用意された実行可能な複数の運動パターンに基づき生成されるので、その実機ロボットに依存したものとなり、特定のマシンに依存した運動・動作を実現するにすぎないことから、この場合における人間から実機ロボットへの動作伝達は、いわゆる機械依存型の動作伝達となる。これに対し、後述するように、本発明では、学習モデルに記憶させておくものが、原動体(例えば、人間)の運動パターンであり、モーションキャプチャにより取得した原動体の動作が、原動体の運動パターンのいずれに該当するのかを認識する処理を行うことになるので、特許文献1の場合のように従動体(例えば、実機ロボット)の運動パターンとの一致を判定する処理を行うわけではない。従って、本発明の場合には、従動体に依存せずに、原動体の動作をいずれかの運動パターンに分類し、従動体の意味ある動作(安全で、かつ、安定した動作)に繋げることができるので、すなわち従動体に依存せずに、原動体の動作を記述する膨大な情報量を、従動体の動作に繋がるような形で情報圧縮することができるので、いわゆる機械非依存型の動作伝達を実現することができる。この点で、特許文献1の場合と異なっている。
【0012】
また、特許文献1の場合には、実行可能な運動パターンとの一致の判定を複数の判定部で行っているものの、この処理だけで実機ロボットの運動パターンを生成できるわけではなく、最終的には、各判定結果に基づき、時系列的なデータとして与えられる運動パターン(各エキスパート・リカレント・ニューラル・ネットワークがそれぞれ生成する運動パターン)を組み合わせて実機ロボットの運動パターンを生成しているので、後述する本発明の場合に比べ、実機ロボットを動作させる過程での情報圧縮の程度が低い。
【0013】
さらに、特許文献1に記載された技術は、実機ロボットの運動パターンを生成する際の運動教示方法についての技術であるから、後述する本発明の場合に照らしてみると、原動体から従動体への動作伝達の局面というよりは、従動体自身について予め用意されるべき運動パターン(従動体を安全かつ安定した状態で円滑に動作させることができるように予め設定された従動体の動作制御用の制御信号)を生成する局面で用いられる技術であり、そもそも適用の局面が異なっている。
【0014】
そして、以上のように、人間の動作を実機ロボットへ伝達する場合に限らず、一般に、原動体の動作を従動体へ伝達する場合には、原動体の動作を、従動体にとって意味のある動作に繋げる必要がある。ここで、従動体にとって意味のある動作とは、例えば、従動体が実機のロボット、機械、機器等の場合には、安全な動作、安定した動作、円滑な動作等であり、従動体がアニメーションキャラクタの場合には、そのキャラクタに要求される動作、仮想的に加えられた制限(例えば、ギブスをはめたキャラクタが受ける制限等)内で許容される動作、画像表示上の制限を満たす動作等である。
【0015】
本発明の目的は、従動体に意味のある動作をさせるように原動体の動作を従動体へ伝達することができる動作伝達システムおよび動作伝達方法を提供するところにある。
【課題を解決するための手段】
【0016】
本発明は、原動体の動作を従動体へ伝達する動作伝達システムであって、原動体の動作データを取得する動作データ取得手段と、原動体の連続した動作からなる複数種類の運動パターンのそれぞれについて動作データ取得手段により取得した学習用の動作データに基づき複数種類の運動パターンを学習して作成された学習モデルを記憶する学習モデル記憶手段と、動作データ取得手段により取得した原動体の認識用の動作データに基づき、学習モデル記憶手段に記憶された学習モデルを用いて、原動体の動作が複数種類の運動パターンのうちのいずれに該当する動作であるかを認識する処理を行う認識処理手段と、複数種類の運動パターンの種別を識別するための運動パターン識別情報とこれらに対応する従動体の動作制御用の制御信号の種別を識別するための制御信号識別情報との対応関係を定める変換テーブルを記憶する変換テーブル記憶手段と、この変換テーブル記憶手段に記憶された変換テーブルを用いて、認識処理手段による認識結果として得られた運動パターン識別情報に対応する制御信号識別情報を把握して従動体に送信する処理を行う制御信号識別情報送信処理手段とを備えたことを特徴とするものである。
【0017】
ここで、「原動体」には、生体のみならず、例えば、ロボット、機械、機器等も含まれる。生体には、人間のみならず、例えば、犬や猫等の陸上動物、昆虫、鳥、魚等が含まれる。人間には、大人のみならず、例えば、子供や乳幼児等も含まれ、また、健常者の他、手や足の不自由な人等の身体障害者も含まれる。以下の発明においても同様である。
【0018】
また、「従動体」には、ロボットのみならず、例えば、機械、機器、ディスプレイ画面上に表示されるアニメーションキャラクタ(例えば、人間、ロボット、機械、機器等を模写したキャラクタ)等も含まれる。そして、「従動体」の用途も任意であり、例えば、原子炉内や宇宙空間等のような特殊空間、すなわち生体にとって危険が及ぶ可能性のある空間や、特殊な設備なしには居ることができない空間等で各種の作業、動作を行うロボット、機械、機器等、あるいは身体障害者の動作を補助、支援するためのロボット、機械、機器等である。以下の発明においても同様である。
【0019】
さらに、「動作データ取得手段」には、例えば、モーションキャプチャ、データグローブ等が含まれる。モーションキャプチャには、磁気系(原動体の各部に磁気センサを装着し、これらを磁界中に配置するもの)、光学系(原動体の各部にシールや発光体等の目印を装着し、これらを多方向からカメラで撮影して画像解析を行うもの)、機械系(原動体に人型のスーツ等のデータ取得用の被服を装着し、この被服の関節の曲がり方等をそのままデータとして取得するもの)のいずれのタイプのものも含まれる。以下の発明においても同様である。
【0020】
そして、「学習モデル」には、例えば、隠れマルコフモデル(HMM:Hidden Markov Model)、サポートベクターマシン(SVM)、ベイジアンネットワーク、ニューラルネットワークにより構築されたモデル等が含まれる。以下の発明においても同様である。
【0021】
また、「変換テーブル記憶手段」に記憶させる「変換テーブル」の内容(対応関係)は、固定的なものとしてもよく、あるいは自在な設定および設定変更が可能なものとしてもよく、複数の対応関係を用意して切換可能としてもよい。従動体が複数種類存在する場合には、各従動体毎に原動体の複数種類の運動パターンについての運動パターン識別情報のそれぞれに対応する制御信号識別情報を用意しておけばよい。以下の発明においても同様である。
【0022】
さらに、「制御信号識別情報送信処理手段」による従動体への制御信号識別情報の送信処理には、制御信号識別情報送信処理手段として機能するコンピュータから、従動体を構成する従動体制御手段として機能するコンピュータへ、ネットワークや専用線を介して送信する処理や、これらのコンピュータ同士をケーブルや近距離無線等で直接に接続して送信する処理のみならず、後述する図10に示す如く、制御信号識別情報送信処理手段と従動体制御手段とが同じコンピュータにより実現される場合には、そのコンピュータ内での信号伝達処理が含まれる。そして、「制御信号識別情報送信処理手段」は、従動体が複数存在する場合(複数種類の従動体が存在する場合、および同一種類の従動体が複数存在する場合のいずれも含む。)には、送信先となる従動体に対応した制御信号識別情報を取得し、その制御信号識別情報を送信先の従動体へ送信する処理を行えばよく、この際、送信先となる従動体は、任意であり、例えば、ユーザにより選択された従動体でもよく、原動体の種類や性質に応じて定まる従動体(例えば、原動体が人間やサル等の2足歩行動物であれば、従動体は人間型ロボット、原動体が犬や猫等の4足歩行動物であれば、従動体は犬型ロボットという具合に定めらた従動体)でもよく、原動体(ユーザ自身でもよい。)の所属や管轄に応じて定まる従動体(例えば、原動体がA社の人間であれば、従動体はB社のロボット、原動体がC研究所の飼育するサルであれば、従動体はD社のロボット)でもよい。以下の発明においても同様である。
【0023】
そして、「運動パターン識別情報」は、原動体の複数種類の運動パターンの種別を識別するための情報であり、時系列で捉えることができる各運動パターン(例えば、右手を上げるという連続動作からなる運動パターン、左手を上げるという連続動作からなる運動パターン等)を、情報圧縮して抽象化し、例えば、「右手を上げる」、「左手を上げる」等のテキスト情報、あるいはこれらに対応する「RAU」(Right Arm Up)、「LAU」(Left Arm Up)等の記号情報、さらには、これらに対応付けられているがそれ自体ではその情報の持つ意味内容をイメージ(直感)することができない「1」、「2」等の番号情報や数値情報(バイナリ情報を含む。)等のように、いわば言語レベルで表現された情報である。以下の発明においても同様である。
【0024】
また、「制御信号識別情報」は、従動体の動作制御用の制御信号の種別を識別するための情報であり、例えば、従動体本体(機体の部分)に対する制御信号を作成するために従動体制御手段(コンピュータの部分)に用意されている動作ファイルのファイル名としてもよく、上述した運動パターン識別情報としての「RAU」(Right Arm Up)、「LAU」(Left Arm Up)等の記号情報に対応させて、「R−RAU」(Robot-Right Arm Up)、「R−LAU」(Robot-Left Arm Up)等の記号情報としてもよく、あるいは「1」、「2」等の番号情報や数値情報(バイナリ情報を含む。)等としてもよい。以下の発明においても同様である。
【0025】
このような本発明の動作伝達システムにおいては、動作データ取得手段により原動体の動作データを取得し、この動作データに基づき学習モデルを用いて、原動体の動作を、学習済みの複数種類の運動パターンのいずれかに分類し、分類して得られた運動パターンについての運動パターン識別情報を、変換テーブルを用いて制御信号識別情報に変換し、従動体に送信する。この際、従動体の側に、従動体の形状や構造等の特性に合わせた可能動作群を用意しておき、それらの可能動作群のうちの1つの動作に対応する制御信号識別情報を従動体に送信すれば、従動体は、その従動体にとって意味のある動作、つまり自己の可能動作のうちの1つを実行するようになる。
【0026】
従って、原動体の動作をそのまま従動体へ伝達するのではなく、原動体の動作データとして得られる膨大な情報量を、いわば言語レベルの情報である運動パターン識別情報に一旦情報圧縮し、この圧縮された情報である運動パターン識別情報に対応する動作であって、しかもその従動体にとって意味のある動作を、従動体に実行させることが可能となる。このため、原動体の動作をそのまま従動体へ伝達する場合に生じる可能性のある不都合を未然に防止することが可能となり、例えば、従動体の破壊を引き起こすような動作、従動体を不安定な状態にする動作、従動体に許容されていない動作等を従動体に伝達し、実行させてしまうという事態を回避することが可能となり、これらにより前記目的が達成される。
【0027】
また、前述した動作伝達システムにおいて、原動体の骨格モデルの構造を示す骨格情報を記憶する骨格情報記憶手段と、この骨格情報記憶手段に記憶された骨格情報と動作データ取得手段により取得した認識用の動作データとを用いて骨格運動データを生成する処理を行う骨格運動データ生成処理手段と、この骨格運動データ生成処理手段により生成した骨格運動データから特徴量を抽出する処理を行う特徴量抽出処理手段とを備え、認識処理手段は、特徴量抽出処理手段により抽出した特徴量を用いて認識処理を行う構成とされ、学習モデル記憶手段には、骨格情報記憶手段に記憶された骨格情報と動作データ取得手段により取得した学習用の動作データとを用いて生成された骨格運動データから抽出された特徴量を用いて作成された学習モデルが記憶されていることが望ましい。
【0028】
このように骨格情報と動作データとを用いて骨格運動データを生成し、さらに特徴量を抽出し、この特徴量を用いて認識処理を行う構成とした場合には、原動体の動作を、より少ない情報量で、より的確に捉えることが可能となり、認識処理の性能の向上が図られる。
【0029】
さらに、前述したように、本発明に適用できる学習モデルには、例えば、隠れマルコフモデル(HMM)、サポートベクターマシン(SVM)、ベイジアンネットワーク、ニューラルネットワークにより構築されたモデル等があるが、特に、隠れマルコフモデルを用いることにより、原動体の動作の情報圧縮を、より適切な形で精度よく行うことが可能となる。
【0030】
そして、学習モデルとして隠れマルコフモデルを用いる場合には、原動体の複数種類の運動パターン毎に隠れマルコフモデルを用意することが望ましい。
【0031】
また、以下のように学習モデルとしてベイジアンネットワークにより構築されたモデルを用いた構成としてもよい。すなわち、前述した動作伝達システムにおいて、学習モデルは、ベイジアンネットワークにより構築されたモデルであり、特徴量抽出処理手段は、骨格運動データ生成処理手段により生成した骨格運動データに基づき原動体の複数の局部の現在および/または過去の状態がそれぞれ所定の状態になっているか否かおよび/または所定の状態になっていたか否かの2者択一の判定情報を特徴量として抽出する処理を行う構成とされ、認識処理手段は、ベイジアンネットワークにより構築されたモデルを用いて、複数の局部の現在および/または過去の状態についての各判定情報を組み合せた統合状態が複数種類の運動パターンのうちのいずれに該当する状態であるかを認識する処理を行う構成とされていてもよい。
【0032】
このように学習モデルとしてベイジアンネットワークにより構築されたモデルを用いた構成とした場合であっても、原動体の動作を適切な形で情報圧縮することが可能となる。
【0033】
さらに、学習モデルとして隠れマルコフモデルを用いる場合には、以下のように原動体の各構成部分の運動パターンを捉えてから、原動体の全体的な運動パターンを捉えるという多段階の処理を行う構成としてもよい。すなわち、本発明は、原動体の動作を従動体へ伝達する動作伝達システムであって、原動体は、動作の認識単位となる複数の構成部分に分割され、原動体の動作データを取得する動作データ取得手段と、各構成部分毎の連続した動作からなる複数種類の部分的な運動パターンのそれぞれについて動作データ取得手段により取得した学習用の動作データに基づき各構成部分毎に複数種類の部分的な運動パターンを学習して作成された各構成部分毎の学習モデルを記憶する学習モデル記憶手段と、各構成部分の現在および/または過去の複数種類の部分的な運動パターンとこれらの部分的な運動パターンを統合して得られる原動体の複数種類の全体的な運動パターンとの対応関係を記憶する運動パターン対応関係記憶手段と、動作データ取得手段により取得した各構成部分毎の認識用の動作データに基づき、学習モデル記憶手段に記憶された各構成部分毎の学習モデルを用いて、各構成部分の動作がそれぞれ複数種類の部分的な運動パターンのうちのいずれに該当する動作であるかを各構成部分毎に認識し、さらに運動パターン対応関係記憶手段に記憶された対応関係を用いて、各構成部分毎の現在および/または過去の部分的な認識結果を統合することにより、原動体の全体的な動作が複数種類の全体的な運動パターンのうちのいずれに該当する動作であるかを認識する処理を行う認識処理手段と、複数種類の全体的な運動パターンの種別を識別するための運動パターン識別情報とこれらに対応する従動体の動作制御用の制御信号の種別を識別するための制御信号識別情報との対応関係を定める変換テーブルを記憶する変換テーブル記憶手段と、この変換テーブル記憶手段に記憶された変換テーブルを用いて、認識処理手段による統合認識結果として得られた運動パターン識別情報に対応する制御信号識別情報を把握して従動体に送信する処理を行う制御信号識別情報送信処理手段とを備えたことを特徴とするものである。
【0034】
ここで、「部分的な運動パターン」とは、原動体の各構成部分についての運動パターンという意味であり、時間的にみて部分的という意味ではない。「部分的な認識結果」も同様であり、各構成部分についての認識結果という意味であり、時間的にみて部分的という意味ではない。
【0035】
また、「全体的な運動パターン」とは、原動体全体(原動体を全体的に見た場合)についての運動パターンという意味であり、時間的にみて全体的という意味ではない。「原動体の全体的な動作」も同様であり、時間的にみて全体的という意味ではない。
【0036】
このような本発明の動作伝達システムにおいては、動作データ取得手段により原動体の動作データを取得し、この動作データに基づき原動体の各構成部分毎に用意された学習モデルを用いて、原動体の各構成部分のそれぞれの動作を各構成部分毎に学習済みの複数種類の部分的な運動パターンのいずれかに分類し、さらに分類して得られた情報を統合して全体的な運動パターンのいずれかに分類し、分類して得られた全体的な運動パターンについての運動パターン識別情報を、変換テーブルを用いて制御信号識別情報に変換し、従動体に送信する。この際、従動体の側に、従動体の形状や構造等の特性に合わせた可能動作群を用意しておき、それらの可能動作群のうちの1つの動作に対応する制御信号識別情報を従動体に送信すれば、従動体は、その従動体にとって意味のある動作、つまり自己の可能動作のうちの1つを実行するようになる。
【0037】
従って、原動体の動作をそのまま従動体へ伝達するのではなく、原動体の動作データとして得られる膨大な情報量を、いわば言語レベルの情報である運動パターン識別情報に一旦情報圧縮し、この圧縮された情報である運動パターン識別情報に対応する動作であって、しかもその従動体にとって意味のある動作を、従動体に実行させることが可能となる。このため、原動体の動作をそのまま従動体へ伝達する場合に生じる可能性のある不都合を未然に防止することが可能となり、例えば、従動体の破壊を引き起こすような動作、従動体を不安定な状態にする動作、従動体に許容されていない動作等を従動体に伝達し、実行させてしまうという事態を回避することが可能となる。
【0038】
以上のことは、部分的な運動パターンと全体的な運動パターンとを段階的に捉える処理を行わずに、全体的な運動パターンだけを捉える処理を行う発明の場合と同様に言えることであるが、特に、上述したように段階的な処理を行うと、原動体の分割方法や部分的な認識結果の統合方法等を工夫することで、用意すべき学習モデルの数を減らすことが可能となり、学習時の労力の軽減が図られ、これらにより前記目的が達成される。
【0039】
そして、部分的な運動パターンと全体的な運動パターンとを段階的に捉える処理を行う発明においても、全体的な運動パターンだけを捉える処理を行う発明の場合と同様に、次のような構成とすることが望ましい。すなわち、前述した動作伝達システムにおいて、原動体の骨格モデルの構造を示す骨格情報を記憶する骨格情報記憶手段と、この骨格情報記憶手段に記憶された骨格情報と動作データ取得手段により取得した認識用の動作データとを用いて骨格運動データを生成する処理を行う骨格運動データ生成処理手段と、この骨格運動データ生成処理手段により生成した骨格運動データから特徴量を抽出する処理を行う特徴量抽出処理手段とを備え、認識処理手段は、特徴量抽出処理手段により抽出した特徴量を用いて認識処理を行う構成とされ、学習モデル記憶手段には、骨格情報記憶手段に記憶された骨格情報と動作データ取得手段により取得した学習用の動作データとを用いて生成された骨格運動データから抽出された特徴量を用いて作成された学習モデルが記憶されていることが望ましい。
【0040】
また、部分的な運動パターンと全体的な運動パターンとを段階的に捉える処理を行う発明においても、全体的な運動パターンだけを捉える処理を行う発明の場合と同様に、適用できる学習モデルには、例えば、隠れマルコフモデル(HMM)、サポートベクターマシン(SVM)、ベイジアンネットワーク、ニューラルネットワークにより構築されたモデル等があるが、特に、隠れマルコフモデルを用いることにより、原動体の動作の情報圧縮を、より適切な形で精度よく行うことが可能となる。
【0041】
そして、部分的な運動パターンと全体的な運動パターンとを段階的に捉える処理を行う発明において、学習モデルとして隠れマルコフモデルを用いる場合には、原動体の各構成部分毎で、かつ、複数種類の部分的な運動パターン毎に隠れマルコフモデルを用意することが望ましい。
【0042】
また、以上に述べた動作伝達システムにおいて、動作データ取得手段は、モーションキャプチャであることが望ましい。
【0043】
このようにモーションキャプチャにより原動体の動作データを取得する構成とした場合には、原動体の動作を捉えるのに必要な情報を容易に取得することが可能となるうえ、市販品も存在し、動作の取得技術として技術的に確立されているので、これを利用することで、信頼性の高いデータを取得することが可能となる。
【0044】
さらに、以上に述べた動作伝達システムにおいて、入力手段を用いて行われるユーザによる変換テーブルの対応関係を変更するための設定入力を受け付け、設定変更後の変換テーブルを変換テーブル記憶手段に記憶させる処理を行うユーザ設定入力受付処理手段を備えていることが望ましい。
【0045】
このようにユーザ設定入力受付処理手段を備えた構成とした場合には、原動体の動作に関する運動パターン識別情報と、従動体の動作に関する制御信号識別情報との対応関係を、ユーザが自在に設定することが可能となるので、ユーザにとってのシステムの使い勝手が向上し、システム性能の向上が図られる。
【0046】
そして、上述したようにユーザ設定入力受付処理手段を備えた構成とした場合において、動作伝達対象として選択し得る従動体が複数種類用意され、ユーザによる従動体の選択情報を記憶するユーザ設定記憶手段を備え、ユーザ設定入力受付処理手段は、入力手段を用いて行われるユーザによる従動体の選択入力を受け付け、この選択情報をユーザ設定記憶手段に記憶させる処理も行う構成とされ、制御信号識別情報送信処理手段は、ユーザ設定記憶手段に記憶された従動体の選択情報に従って、変換テーブル記憶手段に記憶された変換テーブルから、選択された従動体に対応する制御信号識別情報を取得して従動体に送信する処理を行う構成とされていることが望ましい。
【0047】
このようにユーザ設定入力受付処理手段でユーザによる従動体の選択入力を受け付ける構成とした場合には、動作伝達対象として選択し得る従動体が複数種類存在するときには、ユーザが動作伝達対象とする従動体を自在に設定することが可能となるので、ユーザにとってのシステムの使い勝手がより一層向上し、システム性能の向上がより一層図られる。
【0048】
また、前述したようにユーザ設定入力受付処理手段を備えた構成とした場合において、動作データ取得対象として選択し得る原動体が複数種類用意され、ユーザによる原動体の選択情報を記憶するユーザ設定記憶手段を備え、ユーザ設定入力受付処理手段は、入力手段を用いて行われるユーザによる原動体の選択入力を受け付け、この選択情報をユーザ設定記憶手段に記憶させる処理も行う構成とされ、認識処理手段は、ユーザ設定記憶手段に記憶された原動体の選択情報に従って、学習モデル記憶手段に記憶された学習モデルのうち、選択された原動体に対応する学習モデルを用いて認識処理を行う構成とされていることが望ましい。
【0049】
このようにユーザ設定入力受付処理手段でユーザによる原動体の選択入力を受け付ける構成とした場合には、動作データ取得対象として選択し得る原動体が複数種類存在するときには、ユーザが動作データ取得対象とする原動体を自在に設定することが可能となるので、ユーザにとってのシステムの使い勝手がより一層向上し、システム性能の向上がより一層図られる。
【0050】
さらに、前述したようにユーザ設定入力受付処理手段を備えた構成とした場合において、原動体および動作データ取得手段の所在地に設置されたユーザ端末装置と、動作伝達に関する処理を行う動作伝達サーバとがネットワークで接続され、動作伝達サーバには、少なくともユーザ設定入力受付処理手段、認識処理手段、制御信号識別情報送信処理手段、学習モデル記憶手段、および変換テーブル記憶手段が設けられ、ユーザ設定入力受付処理手段は、入力手段を用いてユーザにより入力されてユーザ端末装置からネットワークを介して送信されてくる情報を受け付ける処理を行う構成とされ、認識処理手段および制御信号識別情報送信処理手段は、ユーザ端末装置からネットワークを介して送信されてくるデータまたはこのデータから得られるデータを用いて各処理を行う構成とされていることが望ましい。
【0051】
ここで、「入力手段を用いてユーザにより入力されてユーザ端末装置からネットワークを介して送信されてくる情報」には、変換テーブルの対応関係の設定変更情報、従動体の選択情報、原動体の選択情報のうちの少なくとも1つの情報が含まれる。
【0052】
このようにユーザ端末装置と動作伝達サーバとをネットワークで接続し、動作伝達サーバで認識処理および制御信号識別情報送信処理を行う構成とした場合(例えば、後述する図6の場合等)には、原動体から従動体への動作伝達のための情報が、ユーザ端末装置からネットワークを介して動作伝達サーバへ送信され、さらに動作伝達サーバから従動体へ送られるので、動作伝達に必要な処理やその処理に必要となる情報の管理を動作伝達サーバで一括して行うことが可能となる。このため、原動体と従動体とが1対1である場合のみならず、1対多、多対1、多対多である場合にも、動作伝達サーバを介して原動体から従動体への円滑な動作伝達が可能となる。
【0053】
そして、前述したようにユーザ設定入力受付処理手段を備えた構成とした場合において、原動体および動作データ取得手段の所在地に設置されたユーザ端末装置と、動作伝達に関する処理を行う動作伝達サーバとがネットワークで接続され、ユーザ端末装置には、少なくとも認識処理手段および学習モデル記憶手段が設けられ、動作伝達サーバには、少なくともユーザ設定入力受付処理手段、制御信号識別情報送信処理手段、および変換テーブル記憶手段が設けられ、ユーザ設定入力受付処理手段は、入力手段を用いてユーザにより入力されてユーザ端末装置からネットワークを介して送信されてくる情報を受け付ける処理を行う構成とされ、制御信号識別情報送信処理手段は、ユーザ端末装置からネットワークを介して送信されてくる運動パターン識別情報を用いて処理を行う構成とされていることが望ましい。
【0054】
ここで、「入力手段を用いてユーザにより入力されてユーザ端末装置からネットワークを介して送信されてくる情報」には、変換テーブルの対応関係の設定変更情報と、従動体の選択情報とのうちの少なくとも一方の情報が含まれる。
【0055】
このようにユーザ端末装置と動作伝達サーバとをネットワークで接続し、ユーザ端末装置で認識処理を行い、動作伝達サーバで制御信号識別情報送信処理を行う構成とした場合には、制御信号識別情報送信処理やその処理に必要となる変換テーブルの管理を動作伝達サーバで一括して行うことが可能となるため、原動体と従動体とが1対1である場合のみならず、1対多、多対1、多対多である場合にも、動作伝達サーバを介して原動体から従動体への円滑な動作伝達が可能となる。また、ユーザ端末装置から動作伝達サーバへネットワークを介して送信される情報は、運動パターン識別情報であり、いわば言語レベルに圧縮された情報であるから、ネットワークを介して送信する情報量を減らし、通信コストの削減を図ることが可能となる。
【0056】
また、以上に述べた本発明の動作伝達システムにより実現される動作伝達方法として、以下のような本発明の動作伝達方法が挙げられる。
【0057】
すなわち、本発明は、原動体の動作を従動体へ伝達する動作伝達方法であって、原動体の連続した動作からなる複数種類の運動パターンのそれぞれについて動作データ取得手段により学習用の動作データを取得し、これらの学習用の動作データに基づき複数種類の運動パターンを学習して学習モデルを作成し、この学習モデルを学習モデル記憶手段に記憶させておくとともに、複数種類の運動パターンの種別を識別するための運動パターン識別情報とこれらに対応する従動体の動作制御用の制御信号の種別を識別するための制御信号識別情報との対応関係を定める変換テーブルを変換テーブル記憶手段に記憶させておき、認識時には、認識処理手段が、動作データ取得手段により取得した原動体の認識用の動作データに基づき、学習モデル記憶手段に記憶された学習モデルを用いて、原動体の動作が複数種類の運動パターンのうちのいずれに該当する動作であるかを認識する処理を行い、その後、制御信号識別情報送信処理手段が、変換テーブル記憶手段に記憶された変換テーブルを用いて、認識処理手段による認識結果として得られた運動パターン識別情報に対応する制御信号識別情報を把握して従動体に送信する処理を行うことを特徴とするものである。
【0058】
このような本発明の動作伝達方法においては、前述した本発明の動作伝達システム(部分的な運動パターンと全体的な運動パターンとを段階的に捉える処理を行わずに、全体的な運動パターンだけを捉える処理を行う発明)で得られる作用・効果がそのまま得られ、これにより前記目的が達成される。
【0059】
また、本発明は、原動体の動作を従動体へ伝達する動作伝達方法であって、原動体を、動作の認識単位となる複数の構成部分に分割し、各構成部分毎の連続した動作からなる複数種類の部分的な運動パターンのそれぞれについて動作データ取得手段により学習用の動作データを取得し、これらの学習用の動作データに基づき各構成部分毎に複数種類の部分的な運動パターンを学習して各構成部分毎の学習モデルを作成し、これらの各構成部分毎の学習モデルを学習モデル記憶手段に記憶させておくとともに、各構成部分の現在および/または過去の複数種類の部分的な運動パターンとこれらの部分的な運動パターンを統合して得られる原動体の複数種類の全体的な運動パターンとの対応関係を運動パターン対応関係記憶手段に記憶させておき、さらに、複数種類の全体的な運動パターンの種別を識別するための運動パターン識別情報とこれらに対応する従動体の動作制御用の制御信号の種別を識別するための制御信号識別情報との対応関係を定める変換テーブルを変換テーブル記憶手段に記憶させておき、認識時には、認識処理手段が、動作データ取得手段により取得した各構成部分毎の認識用の動作データに基づき、学習モデル記憶手段に記憶された各構成部分毎の学習モデルを用いて、各構成部分の動作がそれぞれ複数種類の部分的な運動パターンのうちのいずれに該当する動作であるかを各構成部分毎に認識し、さらに運動パターン対応関係記憶手段に記憶された対応関係を用いて、各構成部分毎の現在および/または過去の部分的な認識結果を統合することにより、原動体の全体的な動作が複数種類の全体的な運動パターンのうちのいずれに該当する動作であるかを認識する処理を行い、その後、制御信号識別情報送信処理手段が、変換テーブル記憶手段に記憶された変換テーブルを用いて、認識処理手段による統合認識結果として得られた運動パターン識別情報に対応する制御信号識別情報を把握して従動体に送信する処理を行うことを特徴とするものである。
【0060】
このような本発明の動作伝達方法においては、前述した本発明の動作伝達システム(部分的な運動パターンと全体的な運動パターンとを段階的に捉える処理を行う発明)で得られる作用・効果がそのまま得られ、これにより前記目的が達成される。
【発明の効果】
【0061】
以上に述べたように本発明によれば、原動体の動作データを情報圧縮して運動パターン識別情報とし、この運動パターン識別情報に対応する制御信号識別情報を従動体へ送信して従動体の動作制御を行うので、従動体に意味のある動作をさせるように原動体の動作を従動体へ伝達することができるという効果がある。
【発明を実施するための最良の形態】
【0062】
以下に本発明の各実施形態について図面を参照して説明する。
【0063】
[第1実施形態]
図1には、本発明の第1実施形態の動作伝達システム10を含む制御系の全体構成が示されている。図2は、骨格モデルの説明図であり、図3は、骨格情報の説明図である。図4は、認識処理の説明図であり、図5は、制御信号識別情報送信処理の説明図である。
【0064】
図1において、動作伝達システム10は、原動体1(本実施形態では、一例として、人間とする。)の動作を従動体2(本実施形態では、一例として、人間型ロボットとする。)へ伝達するシステムであり、原動体1の動作データを取得する動作データ取得手段であるモーションキャプチャ20と、このモーションキャプチャ20により取得した動作データを取り込んで動作伝達のための各種処理を行うとともに従動体2に対してネットワーク3を介してリアルタイムで原動体1の動作に追従させるための情報を送信する処理を行う動作伝達処理用コンピュータ30とを備えている。
【0065】
ネットワーク3は、例えば、インターネット、イントラネット、エクストラネット、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、あるいはこれらの組合せ等であり、有線であるか無線であるかは問わない。なお、ネットワーク3の代わりに、専用線を用いてもよく、あるいは原動体1と従動体2とが比較的近傍に配置されている場合には、動作伝達処理用コンピュータ30と従動体2(従動体2のうち、従動体制御手段であるロボット制御手段60として機能するコンピュータ)とをケーブルや近距離無線等で直接に接続してもよい。
【0066】
モーションキャプチャ20は、本実施形態では、原動体1である人間の各部に磁気センサ21を装着し、これらの磁気センサ21を磁界中に配置することにより、各磁気センサ21の位置情報および傾き情報を計測する磁気モーションキャプチャであるが、本発明における動作データ取得手段は、これに限定されるものではない。具体的には、例えば、アセンション・テクノロジー(Ascension Technology)社製の磁気モーションキャプチャデバイスであるモーションスター(Motion Star)(商標)等を用いることができる。本実施形態では、一例として、11個の磁気センサ21を原動体1に装着するので、後述する骨格モデル(図2参照)を構成する17個のエレメントのうち、磁気センサ21を取り付けた部位に相当する11個のエレメントがセンサエレメントとなり、磁気センサ21の取り付けられていない部位に相当する残りの6個のエレメントは、11個の磁気センサ21によるセンサデータを用いた補完処理でデータが求められる補完エレメントとなる。
【0067】
動作伝達処理用コンピュータ30は、例えばWINDOWS(商標)等のオペレーティング・システムを搭載したコンピュータであり、整形処理手段31、骨格運動データ生成処理手段32、特徴量抽出処理手段33、認識処理手段34、制御信号識別情報送信処理手段35、骨格情報記憶手段41、学習モデル記憶手段42、および変換テーブル記憶手段43として機能するものである。
【0068】
整形処理手段31は、原動体1の動作データとして各磁気センサ21(本実施形態では、11個の磁気センサ21)から得られたセンサデータを、それ以降の処理で用いることができるように整形する処理を行うものである。この整形処理には、例えば、取得に失敗したことを示すデータ(例えば、位置データの値が0近傍の場合等)については、そのまま取得データとして採用してしまうと、それまでのデータの連続性が失われてしまうので、このような場合に、最後に取得に成功したデータのバッファの値をコピーすることにより、これを取得に失敗したデータの代用とし、極端にデータの連続性が失われることを回避する処理がある。また、位置データの変化が連続であることを前提として、1つ前のフレームと比較して位置データの符号が反転しているか否かを判定し、これを修正する処理等もある。なお、整形処理手段31は、学習時にも同様な処理を行う。
【0069】
骨格運動データ生成処理手段32は、骨格情報記憶手段41に記憶された骨格情報(図3参照)と、モーションキャプチャ20により認識用の動作データとして取得したセンサデータ(整形処理手段31による整形後のセンサデータ)とを用いて、骨格運動データを生成する処理を行うものである。この骨格運動データの生成処理には、11個の磁気センサ21によるセンサデータ(整形処理手段31による整形後のセンサデータ)を用いて補完エレメントのデータを求める処理が含まれる。なお、骨格運動データ生成処理手段32は、学習時にも同様な処理を行う。
【0070】
特徴量抽出処理手段33は、骨格運動データ生成処理手段32により生成した骨格運動データから特徴量を抽出する処理を行うものである。なお、特徴量抽出処理手段33は、学習時にも同様な処理を行う。
【0071】
認識処理手段34は、特徴量抽出処理手段33により抽出した特徴量に基づき、学習モデル記憶手段42に記憶された学習モデル(本実施形態では、一例として、隠れマルコフモデルとする。)を用いて、原動体1の動作が複数種類の運動パターンのうちのいずれに該当する動作であるかを認識する処理を行うものである(図4参照)。なお、この認識処理手段34は、前述した非特許文献2に記載されたケンブリッジ大学の隠れマルコフモデル・ツールキット(HTK:Hidden Markov Model Toolkit)を用いて実現してもよく、あるいは新規に作成してもよい。
【0072】
制御信号識別情報送信処理手段35は、変換テーブル記憶手段43に記憶された変換テーブル43Aを用いて、認識処理手段34による認識結果として得られた運動パターン識別情報に対応する制御信号識別情報を把握し、把握した制御信号識別情報をネットワーク3を介して従動体2へ送信する処理を行うものである(図5参照)。
【0073】
骨格情報記憶手段41は、原動体1の骨格モデルの構造を示す骨格情報(図3参照)を記憶するものである。本実施形態では、原動体1は人間であるから、骨格モデルの構造は、例えば、図2に示すような構造となっている。
【0074】
図2において、骨格モデルは、複数のエレメントの木構造で表現される。各エレメントは、骨に相当し、関節点を繋ぐ最小単位であり、それ自体の形状は変化しないものである。各エレメントは、任意の数の子エレメントと、1つの親エレメントを持ち、親エレメントの始点からの相対位置情報および相対回転情報を保持する。このうち相対位置情報は、時間軸に対して不変であり、相対回転情報のみが骨格運動データとなる。各エレメントの相対位置情報は、図3に示すような値であり、例えば、Breast(胸上部)を親エレメントに持つLeftShoulder(左肩)は、Breast(胸上部)に対し、X軸方向に17cm、Y軸方向に19cm、Z軸方向に3cmという相対位置情報を持つ。そして、例外的に、唯一のルートエレメントであるHip(腰)は、親エレメントを持たず、また、子エレメントを持たないエレメントであるLeftAnkle(左足首)、RightAnkle(右足首)、Head(頭)、LeftWrist(左手首)、RightWrist(右手首)については、その大体の形状を示すための端点位置情報(時間軸に対して固定)が付加されている(図3参照)。さらに、ルートエレメントであるHip(腰)の位置情報(絶対座標)が、骨格モデル全体の移動情報を示すものとして、各エレメントの相対回転情報とは別途に骨格運動データに加えられる。なお、ルートエレメントは、任意に選ぶことができるが、本実施形態では、通常の状態で重心のあるHip(腰)エレメントとしている。
【0075】
従って、骨格運動データの1フレームは、ルートエレメントであるHip(腰)の位置情報(絶対座標)としてのX,Y,Zの各軸に関する3つの座標値と、全エレメントであるHip(腰)、LeftHip(左腰)、LeftKnee(左ひざ)、LeftAnkle(左足首)、RightHip(右腰)、RightKnee(右ひざ)、RightAnkle(右足首)、Chest(胸下部)、Breast(胸上部)、Neck(首)、Head(頭)、LeftShoulder(左肩)、LeftElbow(左ひじ)、LeftWrist(左手首)、RightShoulder(右肩)、RightElbow(右ひじ)、RightWrist(右手首)の17個のエレメントのそれぞれの相対回転情報としてのX,Y,Zの各軸回りの3つの角度値とにより構成されるので、3+17×3=54個の数値からなる。そして、これらの54個の数値が複数フレームについて得られるので、結局、骨格運動データは、行数がフレーム数で、列数が54列の行列データとなる。
【0076】
学習モデル記憶手段42は、原動体1の連続した動作からなる複数種類の運動パターンのそれぞれについてモーションキャプチャ20により学習用の動作データとして取得したセンサデータに基づき、これらの複数種類の運動パターンを学習して作成された学習モデルを記憶するものである。この学習モデル記憶手段42に記憶される学習モデルは、複数種類の運動パターン毎に用意され、例えば、後述するように、LAU(Left Arm Up)、LAD(Left Arm Down)等の8種類の運動パターンの学習を行った場合には、図4に示すように、LAU用、LAD用等の8個の隠れマルコフモデル42A〜42Hが用意される。なお、これらの学習モデルは、各磁気センサ21により取得したセンサデータについて、整形処理手段31、骨格運動データ生成処理手段32、および特徴量抽出処理手段33による各処理を経て得られた特徴量を用いて作成されたものである。
【0077】
変換テーブル記憶手段43は、原動体1の複数種類の運動パターンの種別を識別するための運動パターン識別情報と、これらに対応する従動体2の動作制御用の制御信号の種別を識別するための制御信号識別情報との対応関係を定める変換テーブル43A(図5参照)を記憶するものである。
【0078】
ここで、運動パターン識別情報は、図5に示すように、例えば、左手を上げる運動パターンを示すLAU(Left Arm Up)、左手を下げる運動パターンを示すLAD(Left Arm Down)、左足を上げる運動パターンを示すLLU(Left Leg Up)、左足を下げる運動パターンを示すLLD(Left Leg Down)、右手を上げる運動パターンを示すRAU(Right Arm Up)、右手を下げる運動パターンを示すRAD(Right Arm Down)、右足を上げる運動パターンを示すRLU(Right Leg Up)、右足を下げる運動パターンを示すRLD(Right Leg Down)という8種類の記号情報である。
【0079】
一方、制御信号識別情報は、図5に示すように、運動パターン識別情報であるLAU(Left Arm Up)等に対応させ、例えば、従動体2である人間型ロボットに左手を上げさせる制御信号を作成するための動作ファイルのファイル名であるR−LAU.csv(Robot-Left Arm Upの意味)等の記号情報である。他の運動パターン識別情報に対応する制御信号識別情報の場合も同様である。
【0080】
図1において、従動体2である人間型ロボットは、従動体本体であるロボット本体50と、従動体制御手段であるロボット制御手段60とにより構成されている。ロボット本体50は、いわゆるロボットの機体部分であり、ロボット制御手段60は、ロボット本体50に制御信号を送ってロボット本体50を制御する処理を行う部分である。
【0081】
ロボット制御手段60は、例えばLINUX(商標)等のオペレーティング・システムを搭載したコンピュータにより構成され、制御信号識別情報受信処理手段61と、命令作成処理手段62と、命令実行処理手段63と、動作ファイル記憶手段64とを含んで構成されている。
【0082】
制御信号識別情報受信処理手段61は、制御信号識別情報送信処理手段35により動作伝達処理用コンピュータ30からネットワーク3を介して送信されてくる制御信号識別情報を受信する処理を行うものである。
【0083】
命令作成処理手段62は、動作ファイル記憶手段64に記憶された複数の動作ファイルの中から、制御信号識別情報受信処理手段61により受信した制御信号識別情報に対応する動作ファイルを読み込み、ロボット本体50に動作を開始させるための動作コマンドと、動作ファイルに格納された情報とからなる命令を作成する処理を行うものである。なお、本実施形態では、制御信号識別情報が動作ファイルのファイル名とされているため、制御信号識別情報から、読み込むべき動作ファイルを容易に把握することができるが、制御信号識別情報を動作ファイルのファイル名としない場合には、制御信号識別情報と動作ファイルのファイル名との対応関係を定めるテーブルを用意しておけばよい。
【0084】
命令実行処理手段63は、命令作成処理手段62により作成された命令を実行し、動作ファイルに格納された情報を制御信号として、すなわちロボット本体50用の動作データとしてロボット本体50へ有線または無線で送信する処理を行うものである。
【0085】
動作ファイル記憶手段64は、ロボット本体50にとって意味のある動作、つまりロボット本体50に可能な動作(ロボット本体50の構造上の特性や動力学的な特性等に適合した動作であり、ロボット本体50にとって安全で、かつ安定した状態の動作)を実行させる制御信号を作成するための情報を格納した動作ファイルを記憶するものである。この動作ファイル記憶手段64には、ロボット本体50の可能動作群のうちの各々の動作についての動作ファイルが用意されている。なお、動作ファイル記憶手段64には、変換テーブル記憶手段43に記憶された変換テーブル43A(図5参照)上の全ての制御信号識別情報(本実施形態では、動作ファイルのファイル名)に対応する動作ファイルが用意されていることが必要であるが、そ以外の動作ファイルが含まれていてもよい。
【0086】
以上において、整形処理手段31、骨格運動データ生成処理手段32、特徴量抽出処理手段33、認識処理手段34、および制御信号識別情報送信処理手段35は、動作伝達処理用コンピュータ30の内部に設けられた中央演算処理装置(CPU)、およびこのCPUの動作手順を規定する1つまたは複数のプログラムにより実現される。また、制御信号識別情報受信処理手段61、命令作成処理手段62、および命令実行処理手段63は、ロボット制御手段60を構成するコンピュータの内部に設けられたCPU、およびこのCPUの動作手順を規定する1つまたは複数のプログラムにより実現される。
【0087】
さらに、骨格情報記憶手段41、学習モデル記憶手段42、変換テーブル記憶手段43、および動作ファイル記憶手段64としては、例えばハードディスク等を採用することができるが、記憶容量やアクセス速度等に問題が生じない範囲であれば、ROM、EEPROM、フラッシュ・メモリ、RAM、MO、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、FD、磁気テープ、あるいはこれらの組合せ等を採用してもよい。
【0088】
このような第1実施形態においては、以下のようにして動作伝達システム10により原動体1の動作が従動体2へ伝達される。
【0089】
先ず、学習段階では、原動体1の複数種類の運動パターンを予め学習し、学習モデルとして、それらの運動パターンの種類の数と同数の隠れマルコフモデルを作成しておく。すなわち、モーションキャプチャ20により原動体1の学習用の動作データとして各磁気センサ21によるセンサデータを取得し、整形処理手段31によりセンサデータの整形処理を行った後、骨格運動データ生成処理手段32により、骨格情報記憶手段41に記憶された骨格情報(図3参照)と整形後のセンサデータとを用いて骨格運動データを生成し、さらに特徴量抽出処理手段33により骨格運動データから特徴量を抽出し、得られた特徴量を用いて学習器により学習を行って隠れマルコフモデルを作成する。そして、このような学習を複数種類の運動パターンのそれぞれについて行い、作成された複数の隠れマルコフモデルを学習モデル記憶手段42(図4参照)に記憶させておく。この際、隠れマルコフモデルの状態数は、例えば6等とすることが好適である。なお、学習器としては、前述した非特許文献2に記載されたケンブリッジ大学の隠れマルコフモデル・ツールキット(HTK:Hidden Markov Model Toolkit)を用いてもよく、あるいは新規に作成したものを用いてもよい。
【0090】
次に、認識時には、モーションキャプチャ20により原動体1の認識用の動作データとして各磁気センサ21によるセンサデータを取得し、整形処理手段31によりセンサデータの整形処理を行った後、骨格運動データ生成処理手段32により、骨格情報記憶手段41に記憶された骨格情報(図3参照)と整形後のセンサデータとを用いて骨格運動データを生成し、さらに特徴量抽出処理手段33により骨格運動データから特徴量を抽出する。
【0091】
この際、骨格運動データに含まれる相対回転情報は、絶対位置情報と比較すれば十分に相対化された値であるが、膝や肘を曲げる角度は同じ運動であっても人によって異なるので、さらにこれを相対化するために、特徴量として、例えば、54列の骨格運動データに含まれる17個の各エレメントの相対回転情報(17×3=51列)についての現在値と1フレーム前の値との差分(変化量)を採用する。また、これだけでは運動の方向はわかっても現在の状況を知ることはできないので、骨格運動を最もよく特徴付けると考えられる四肢の末端、すなわち子エレメントを持たない木の先端のエレメント(図2、図3参照)の位置座標(但し、絶対座標ではなく、ルートエレメントからの相対位置座標の単位ベクトル)を特徴量として採用する。図2および図3に示すように、本実施形態の骨格モデルには、末端エレメントが5つあるので、それらの末端エレメントの位置座標は、5×3=15列となる。従って、本実施形態では、特徴量は、全エレメントの相対回転情報の変化量の51列と、5つの末端エレメントの位置座標の15列と、唯一のルートエレメントの絶対位置座標の3列とを合わせ、51+15+3=69列の行列データとなる。なお、特徴量の抽出方法は、これに限定されるものではない。
【0092】
続いて、図4に示すように、認識処理手段34により、特徴量抽出処理手段33により抽出した特徴量に基づき、学習モデル記憶手段42に記憶された複数(図示の例では、8個)の隠れマルコフモデル42A〜42Hを用いて、各隠れマルコフモデル42A〜42Hに対する尤度を算出し、最も大きな尤度となった隠れマルコフモデルに対応する運動パターンを把握し、その運動パターンを示す運動パターン識別情報を認識結果として出力する。例えば、LAU用の隠れマルコフモデル42Aに対する尤度が最も大きいと判断された場合には、LAUという運動パターン識別情報が認識結果として出力される。
【0093】
それから、図5に示すように、制御信号識別情報送信処理手段35により、変換テーブル記憶手段43に記憶された変換テーブル43Aを用いて、認識処理手段34による認識結果として得られた運動パターン識別情報に対応する制御信号識別情報を把握し、把握した制御信号識別情報をネットワーク3を介して従動体2(ロボット制御手段60として機能するコンピュータ)へ送信する。例えば、運動パターン識別情報がLAUである場合には、R−LAU.csvという制御信号識別情報が従動体2へ送信される。
【0094】
その後、従動体2では、制御信号識別情報受信処理手段61により、動作伝達処理用コンピュータ30からネットワーク3を介して送信されてくる制御信号識別情報を受信すると、命令作成処理手段62により、動作ファイル記憶手段64に記憶された複数の動作ファイルの中から、受信した制御信号識別情報(例えば、R−LAU.csv)に対応する動作ファイル(例えば、R−LAU.csvというファイル名の動作ファイル)を読み込んで命令を作成した後、命令実行処理手段63により、この命令を実行し、制御信号をロボット本体50へ送信する。すると、ロボット本体50は、制御信号識別情報に対応する動作を行い、原動体1の動作にリアルタイムで追従する。
【0095】
このような第1実施形態によれば、次のような効果がある。すなわち、動作伝達システム10は、認識処理手段34および学習モデル記憶手段42を備えているので、モーションキャプチャ20により原動体1の動作データを取得し、この動作データに基づき、学習モデルとして用意された隠れマルコフモデル42A〜42Hを用いて、原動体1の動作を、学習済みの複数種類の運動パターンのいずれかに分類し、認識結果として運動パターン識別情報を出力することができる(図4参照)。従って、原動体1から従動体2への動作伝達を行うにあたり、原動体1の動作データとして得られる膨大な情報量を、いわば言語レベルの情報である運動パターン識別情報に一旦情報圧縮することができる。
【0096】
そして、動作伝達システム10は、制御信号識別情報送信処理手段35および変換テーブル記憶手段43を備えているので、認識処理手段34による認識処理の結果として得られた運動パターン識別情報を、変換テーブル43Aを用いて制御信号識別情報に変換し、従動体2に送信することができる(図5参照)。一方、従動体2の側では、従動体2の形状や構造等の特性に合わせた可能動作群が、ロボット制御手段60の動作ファイル記憶手段64にそれぞれ動作ファイルとして用意されているので、制御信号識別情報を受信し、これに対応する動作ファイルを用いて命令を作成し、ロボット本体50へ制御信号を送信することができる。従って、従動体2は、原動体1の動作にリアルタイムで追従し、その従動体2にとって意味のある動作、つまり自己の可能動作のうちの1つを実行することができる。
【0097】
このため、原動体1の動作をそのまま従動体2へ伝達する場合に生じる可能性のある不都合を未然に防止することができ、例えば、従動体2の破壊を引き起こすような動作、従動体2を不安定な状態にする動作、従動体2に許容されていない動作等を従動体2に伝達し、実行させてしまうという事態を回避することができる。
【0098】
そして、本実施形態では、一例として、原動体1が人間とされ、従動体2がそれを模倣した人間型ロボット(いわゆるヒューマノイドロボット)とされているが、上記のように、原動体1から従動体2への動作伝達にあたり、いわば言語レベルの情報である運動パターン識別情報への情報圧縮が行われるので、後述する別の実施形態で示す如く、原動体1とまったく似つかない形状や構造を有する従動体2への動作伝達も行うことができ、例えば、人間から犬型ロボットへの動作伝達を行うことができ、あるいは上半身のみしか自由に動かせない身体障害者から、上半身および下半身を持った人間型ロボットへの動作伝達を行うに際し、身体障害者が上半身のみを動かすと、人間型ロボットの上半身および下半身の両方が動くような動作伝達を行うことができる。
【0099】
また、動作伝達システム10は、骨格運動データ生成処理手段32および骨格情報記憶手段41、並びに特徴量抽出処理手段33を備えているので、骨格情報と動作データとを用いて骨格運動データを生成し、さらに特徴量を抽出し、この特徴量を用いて認識処理を行うことができる。このため、原動体1の動作を、より少ない情報量で、より的確に捉えることができ、認識処理の性能の向上を図ることができる。
【0100】
<効果確認実験>
なお、本発明の効果を確かめるために、次のような比較実験を行った。特に、認識処理手段34による認識処理性能の確認と併せ、特徴量抽出処理手段33による特徴量の抽出方法についての検証を行った。
【0101】
特徴量抽出処理手段33により抽出する特徴量の有効性を確認するために、次の4つの抽出方法(A)〜(D)で特徴量を抽出し、認識処理を行った。
【0102】
抽出方法(A):51列(17×3=51)の相対回転情報をそのまま特徴量にする方法である。
【0103】
抽出方法(B):51列の相対回転情報の変化量(1フレーム前の値との差分)と、ルートエレメントの絶対位置座標の3列とを合わせた54列のデータを特徴量とする方法である。
【0104】
抽出方法(C):抽出方法(A)の51列と、抽出方法(B)の54列とを合わせた105列のデータを特徴量とする方法である。
【0105】
抽出方法(D):第1実施形態の特徴量抽出処理手段33による抽出方法として既に詳述した方法であり、17個の全エレメントの相対回転情報の変化量の51列と、5つの末端エレメントの位置座標の15列と、唯一のルートエレメントの絶対位置座標の3列とを合わせた69列のデータを特徴量とする方法である。
【0106】
学習時には、図5に示すように、LAU(Left Arm Up)、LAD(Left Arm Down)等の8種類の運動パターンのそれぞれについて、モーショキャプチャ20により10個ずつの動作データを取得し、これらを用いて学習器で学習を行い、学習モデルとして8個の隠れマルコフモデル42A〜42Hを作成した。この際、隠れマルコフモデルの状態数は6とし、1フレームあたりの時間(サンプリングの時間間隔)は50msとし、1つのデータは、30〜60フレーム程度(1.5〜3秒間に相当)とした。また、学習用の動作データを取得する際には、1人の被験者(1)が同じ環境で、原動体1として8種類の運動パターンに相当する各動作を行った。
【0107】
認識時には、学習時と同一の1人の被験者(1)が、学習時とは別の環境で行った48パターンの運動と、学習時とは異なる1人の被験者(2)が行った46パターンの運動との合計94パターンの運動について、認識用の動作データを取得し、上記の4つの抽出方法で特徴量を抽出し、8個の隠れマルコフモデル42A〜42Hを用いて認識処理を行った。
【0108】
【表1】

【0109】
表1には、被験者(1)の48パターンの運動および被験者(2)の46パターンの運動に対する正答数および正答率(かっこ内の数値が正答率、すなわち認識率)が示されている。この結果、抽出方法(A)と(B)を比較すると、相対回転情報をそのまま特徴量として与えるよりも、相対回転情報の変化量を与える方が、認識率が上がることがわかる。抽出方法(B)による被験者(1)に対する認識率は100%であり、相対回転情報の変化量が骨格運動の特徴量として優れていることがわかる。しかし、被験者(2)に対しては、やや認識率が落ちる結果となった。また、相対回転情報の変化量のみを特徴量とすると、腕を上げる運動と腕を回転させる運動との区別がつかない場合が考えられる。これに対し、抽出方法(D)は、被験者(2)に対しても、被験者(1)と同様に高い認識率を保っている。また、抽出方法(D)によれば、前述したような腕を上げる運動と腕を回転させる運動との区別がつかない場合があるという弱点も回避できる。従って、抽出方法(D)が骨格運動の特徴量の抽出方法として有効であることがわかり、これにより本発明の効果が顕著に示された。
【0110】
[第2実施形態]
図6には、本発明の第2実施形態の動作伝達システム200を含む制御系の全体構成が示されている。図7は、ユーザ設定入力受付処理および制御信号識別情報送信処理の説明図であり、図8は、ユーザ設定入力で用いられる画面例を示す図であり、図9は、認識処理の説明図である。
【0111】
図6に示すように、本第2実施形態の動作伝達システム200では、原動体と従動体とが多対多の関係となっている点が、前記第1実施形態の動作伝達システム10の場合と異なるだけであり、原動体から従動体への動作伝達に関する基本的な処理の流れは、前記第1実施形態の場合と同様であるため、同一部分については詳しい説明は省略し、以下には異なる部分を中心とした説明を行う。
【0112】
図6において、動作伝達システム200は、複数種類の原動体1A,1B,1Cから複数種類の従動体2A,2B,2Cへの動作伝達を行うことができるシステムであり、原動体1A,1B,1Cの動作データを取得する動作データ取得手段であるモーションキャプチャ220A,220B,220Cと、これらのモーションキャプチャ220A,220B,220Cにより取得した動作データ(各磁気センサ221A,221B,221Cから得られたセンサデータ)を取り込むユーザ端末装置230A,230B,230Cと、これらのユーザ端末装置230A,230B,230Cとネットワーク203で接続されて動作伝達に関する各種処理を行うとともに従動体2A,2B,2Cのいずれかに対してネットワーク203を介してリアルタイムで原動体1A,1B,1Cのいずれかの動作に追従させるための情報を送信する処理を行う動作伝達サーバ240とを備えている。
【0113】
本実施形態では、一例として、原動体1Aは、人間の大人であり、原動体1Bは、人間の子供であり、原動体1Cは、犬であり、一方、従動体2Aは、人間型ロボットであり、従動体2Bは、3本足ロボットであり、従動体2Cは、犬型ロボットであるものとするが、これに限定されるものではなく、また、原動体および従動体の種類の数も3種類ずつに限定されるものではなく、要するに、本実施形態は、原動体と従動体とが多対多、1対多、多対1の場合の処理の流れを例示するためのものである。
【0114】
ユーザ端末装置230A,230B,230Cは、コンピュータにより構成され、モーションキャプチャ220A,220B,220Cから取り込んだ動作データを、ネットワーク203を介して動作伝達サーバ240へ送信する処理を行う動作データ送信処理手段231A,231B,231Cを含んで構成されている。また、ユーザ端末装置230A,230B,230Cは、例えばキーボードやマウス等の入力手段と、例えば液晶ディスプレイやCRTディスプレイ等の表示手段とを備えている。
【0115】
動作伝達サーバ240は、1台または複数台のコンピュータにより構成され、動作データ受信処理手段241と、整形処理手段242と、骨格運動データ生成処理手段243と、特徴量抽出処理手段244と、認識処理手段245と、制御信号識別情報送信処理手段246と、ユーザ設定入力受付処理手段247と、骨格情報記憶手段251と、学習モデル記憶手段252と、変換テーブル記憶手段253と、ユーザ設定記憶手段254とを含んで構成されている。
【0116】
動作データ受信処理手段241は、ネットワーク203を介してユーザ端末装置230A,230B,230Cから送信されてくる動作データを受信するとともに、その動作データの送信元のユーザによる設定情報(そのユーザにより事前に設定された情報)をユーザ設定記憶手段254から取得する処理を行うものである。
【0117】
整形処理手段242は、前記第1実施形態の整形処理手段31と同様の構成および機能を有するものである。
【0118】
骨格運動データ生成処理手段243は、前記第1実施形態の骨格運動データ生成処理手段32と同様の構成および機能を有し、ユーザによる原動体の選択情報に基づき、処理に用いる骨格情報を切り換える点が前記第1実施形態の場合と異なるだけである。
【0119】
特徴量抽出処理手段244は、前記第1実施形態の特徴量抽出処理手段33と同様の構成および機能を有し、ユーザによる原動体の選択情報に基づき、特徴量の抽出方法を切り換えることができる点が前記第1実施形態の場合と異なるだけである。
【0120】
認識処理手段245は、前記第1実施形態の認識処理手段34と同様の構成および機能を有し、ユーザによる原動体の選択情報に基づき、処理に用いる学習モデル(本実施形態では、隠れマルコフモデル)を切り換える点が前記第1実施形態の場合と異なるだけである。
【0121】
制御信号識別情報送信処理手段246は、前記第1実施形態の制御信号識別情報送信処理手段35と同様の構成および機能を有し、ユーザによる従動体の選択情報に基づき、参照(検索)する変換テーブルを切り換えるか、または変換テーブル内の参照箇所(検索箇所)を切り換える点が前記第1実施形態の場合と異なるだけである。
【0122】
ユーザ設定入力受付処理手段247は、ユーザの要求に応じてユーザ設定画面280(図8参照)をネットワーク203を介してユーザ端末装置230A,230B,230Cへ送信するとともに、このユーザ設定画面280を用いてユーザにより入力された設定情報をネットワーク203を介して受信して受け付け、受け付けた設定情報をユーザ設定記憶手段254や変換テーブル記憶手段253に記憶させる処理を行うものである。ユーザ設定記憶手段254に記憶させる設定情報には、例えば、原動体の選択情報や従動体の選択情報等があり、変換テーブル記憶手段253に記憶させる設定情報は、変換テーブルの内容(対応関係)をユーザの都合で変更した場合の設定変更後の変換テーブル253C(図7参照)である。
【0123】
骨格情報記憶手段251は、各原動体1A,1B,1Cに応じた骨格情報を記憶するものである。
【0124】
学習モデル記憶手段252は、複数種類の運動パターンのそれぞれについての隠れマルコフモデルを各原動体1A,1B,1C毎に記憶するものである。すなわち、隠れマルコフモデルは、各原動体1A,1B,1C毎で、かつ、各運動パターン毎に用意される(図9参照)。
【0125】
変換テーブル記憶手段253は、各原動体1A,1B,1Cの運動パターン識別情報と各従動体2A,2B,2Cの制御信号識別情報との対応関係を定める1つまたは複数の変換テーブルを記憶するものである。原動体の種類が異なっても、運動パターン識別情報が同じになる場合には、運動パターン識別情報と制御信号識別情報との対応関係も同じになるので、あえて別の変換テーブルを用意しなくてもよい。例えば、原動体1Aと原動体1Bとは、大きさは異なるが同じ人間であるため、用意する運動パターンの種類を同じとしてもよく、この場合には、認識処理手段245による原動体1Aの動作および原動体1Bの動作のそれぞれに対する認識処理の結果として出力される運動パターン識別情報として、同じものを用意しておけばよい。このため、例えば、図7に示すように、原動体1A,1Bの運動パターン識別情報をまとめた変換テーブル253Aを用意してもよい。また、原動体1Cは、人間ではなく犬であるため、その運動パターンも原動体1A,1Bの場合とは異なるので、原動体1Cの運動パターン識別情報については、原動体1A,1Bの場合とは異なるものを用意しておく必要がある。このため、例えば、図7に示すように、原動体1A,1B用の変換テーブル253Aとは別途に、原動体1C用の変換テーブル253Bが用意されている。さらに、変換テーブル記憶手段253には、前述したようにユーザの都合で標準設定の変換テーブル253A,253Bを設定変更して得られたユーザ設定の変換テーブル253Cも記憶されている。
【0126】
ユーザ設定記憶手段254は、原動体の選択情報や従動体の選択情報等(図8参照)を各ユーザ毎に記憶するものである。
【0127】
従動体2A,2B,2Cは、本体(機体部分)である人間型ロボット本体260A、3本足ロボット本体260B、犬型ロボット本体260Cと、従動体制御手段であるロボット制御手段270A,270B,270Cとにより構成されている。
【0128】
ロボット制御手段270A,270B,270Cは、コンピュータにより構成され、前記第1実施形態の場合と同様に、制御信号識別情報受信処理手段271A,271B,271Cと、命令作成処理手段272A,272B,272Cと、命令実行処理手段273A,273B,273Cと、動作ファイル記憶手段274A,274B,274Cとを含んで構成されている。
【0129】
そして、ユーザ端末装置230A,230B,230Cの動作データ送信処理手段231A,231B,231C、動作伝達サーバ240の各処理手段241〜247、ロボット制御手段270A,270B,270Cの各処理手段271A〜273A,271B〜273B,271C〜273Cは、ユーザ端末装置230A,230B,230C、動作伝達サーバ240、ロボット制御手段270A,270B,270Cを構成する各コンピュータ本体の内部に設けられたCPU、およびこのCPUの動作手順を規定する1つまたは複数のプログラムにより実現される。
【0130】
また、動作伝達サーバ240の各記憶手段251〜254、ロボット制御手段270A,270B,270Cの動作ファイル記憶手段274A,274B,274Cとしては、例えばハードディスク等を採用することができるが、記憶容量やアクセス速度等に問題が生じない範囲であれば、ROM、EEPROM、フラッシュ・メモリ、RAM、MO、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、FD、磁気テープ、あるいはこれらの組合せ等を採用してもよい。
【0131】
このような第2実施形態においては、以下のようにして動作伝達システム200により原動体1A,1B,1Cの動作が従動体2A,2B,2Cへ伝達される。
【0132】
先ず、学習段階では、原動体1A,1B,1Cのそれぞれについての複数種類の運動パターンを予め学習し、学習モデルとして、それらの運動パターンの種類の数と同数の隠れマルコフモデルを各原動体1A,1B,1C毎に作成しておく(図9参照)。すなわち、モーションキャプチャ220A,220B,220C(但し、認識時に用いるモーションキャプチャそのものではなく同種のものであればよい。)により原動体1A,1B,1Cの学習用の動作データとして各磁気センサ221A,221B,221Cによるセンサデータを取得し、整形処理手段242によりセンサデータの整形処理を行った後、骨格運動データ生成処理手段243により、骨格情報記憶手段251に記憶された骨格情報と整形後のセンサデータとを用いて原動体1A,1B,1Cに応じて骨格運動データを生成し、さらに特徴量抽出処理手段244により骨格運動データから原動体1A,1B,1Cに応じて特徴量を抽出し、得られた特徴量を用いて学習器により学習を行って隠れマルコフモデルを作成する。そして、原動体1A,1B,1Cのそれぞれについて、このような学習を複数種類の運動パターンのそれぞれについて行い、作成された複数の隠れマルコフモデルを学習モデル記憶手段252に記憶させておく。
【0133】
次に、認識時には、ユーザは、ユーザ端末装置230A,230B,230Cを操作して動作伝達サーバ240にアクセスし、図8に示すようなユーザ設定画面280を自己の端末装置の画面上に表示させる。
【0134】
図8において、ユーザ設定画面280には、原動体の選択部281と、従動体の選択部282と、変換テーブルの設定変更部290とが設けられている。
【0135】
原動体の選択部281には、例えば、原動体として人間を選択する場合、犬を選択する場合等における各設定入力部が設けられている。人間を選択する場合における設定入力部には、例えば、性別選択部、年齢入力部、身長入力部、体重入力部、身体障害の有無選択部等が設けられている。犬を選択する場合における設定入力部には、例えば、犬種選択部、大きさ入力部、体重入力部等が設けられている。
【0136】
ここで、人間の身長は、例えば5cm単位等で区切られ、各範囲毎に隠れマルコフモデルが用意されていることが好ましい。従って、図8の例では、身長入力部は、数値を入力するようになっているが、身長の範囲(例えば、165cm以上、170cm未満の範囲、170cm以上、175cm未満の範囲等)を選択するようにしてもよい。また、身長の数値を入力した場合でも、ユーザ設定入力受付処理手段247によりその数値が属する範囲が自動的に判断され、結果的に、身長の範囲を選択したのと同じになるようにしてもよい。なお、図6を含め、本実施形態の説明では、原動体1Aを人間の大人とし、原動体1Bを人間の子供とし、身長の範囲を2分しているが、これは説明の便宜上の分割であり、実際には、より多くの範囲に分割し、より多くの隠れマルコフモデルを用意することが好ましい。
【0137】
従動体の選択部282には、人間型ロボット、3本足ロボット、犬型ロボット等の従動体として使用するロボットの種類の選択部と、選択した従動体のIPアドレス(すなわち、制御信号識別情報の送信先のアドレス)の入力部と、選択した従動体のIDの入力部とが設けられている。なお、従動体のパスワードの入力部を設けてもよい。
【0138】
変換テーブルの設定変更部290には、原動体の選択部281で選択した原動体についての運動パターン識別情報である記号の表示部291と、その記号で示される原動体の運動パターンの動作内容の表示部292とが設けられている。また、従動体の選択部282で選択した従動体についての制御信号識別情報である記号の入力部293と、その記号で示される制御信号による従動体の動作内容の表示部294とが設けられている。各表示部292,294に表示されるテキスト情報は、変換テーブル記憶手段253に記憶された変換テーブルに持たせてもよく、あるいは記号と動作内容とを対応させて記憶する記号内容テーブルを別途に設け、そこから取得してもよい。
【0139】
従動体の制御信号識別情報についての入力部293および表示部294には、標準設定の変換テーブル253A,253Bの内容(対応関係)がデフォルト表示される(図7参照)。ユーザが、入力部293でキーボードによる入力を行い、デフォルト表示されている記号の設定変更を行うと、表示部294の表示内容も入力部293の変更に追従して変更される。図8の例では、各表示部291,292には、原動体1A,1Bの運動パターン識別情報がデフォルト表示され、入力部293および表示部294には、従動体2Bの制御信号識別情報がデフォルト表示されている(図7参照)。なお、設定変更は、マウスによるドラッグ操作等により行うようにしてもよい。
【0140】
そして、ユーザが、図8のユーザ設定画面280を用いて必要な設定を行うと、その設定情報がネットワーク203を介して動作伝達サーバ240へ送信され、ユーザ設定受付処理手段247によりユーザ設定記憶手段254に書き込まれる。また、変換テーブルの設定変更があった場合には、ユーザ設定受付処理手段247により、設定変更された変換テーブルがユーザ設定の変換テーブル253Cとして変換テーブル記憶手段253に書き込まれる。
【0141】
その後、モーションキャプチャ220A,220B,220Cにより原動体1A,1B,1Cの認識用の動作データとして各磁気センサ221A,221B,221Cによるセンサデータを取得し、動作データ送信処理手段231A,231B,231Cにより、認識用の動作データをネットワーク203を介して動作伝達サーバ240へ送信する。この際、動作データ送信処理手段231A,231B,231Cは、通常の通信プロトコルによるヘッダ(送信元のIPアドレスを含む。)を付して認識用の動作データを送信してもよく、あるいは通常の通信プロトコルによるヘッダに加え、ユーザID等を付して認識用の動作データを送信してもよい。これにより、動作伝達サーバ240は、いずれのユーザ端末装置(原動体)からの送信データであるかを判断することができる。
【0142】
動作伝達サーバ240では、動作データ受信処理手段241により、ユーザ端末装置230A,230B,230Cから送信されてきた認識用の動作データを受信すると、ユーザ設定記憶手段254を参照して認識用の動作データを送信してきたユーザの設定情報(原動体の選択情報および従動体の選択情報)を把握する。なお、ユーザの設定情報が、認識用の動作データとともに送信されてくるようにしてもよい。
【0143】
それから、整形処理手段242により、センサデータの整形処理を行った後、骨格運動データ生成処理手段243により、骨格情報記憶手段251に記憶された骨格情報(選択された原動体に応じた骨格情報)と整形後のセンサデータとを用いて骨格運動データを生成し、さらに特徴量抽出処理手段244により骨格運動データから特徴量(選択された原動体に応じた特徴量)を抽出する。
【0144】
続いて、図9に示すように、認識処理手段245により、特徴量抽出処理手段244により抽出した特徴量に基づき、学習モデル記憶手段252に記憶された複数の隠れマルコフモデル252A〜252Mのうち、選択された原動体(例えば原動体1Aとする。)に対応する複数の隠れマルコフモデル252A,252B,252C,252D等を用いて、各隠れマルコフモデル252A,252B,252C,252D等に対する尤度を算出し、最も大きな尤度となった隠れマルコフモデルに対応する運動パターンを把握し、その運動パターンを示す運動パターン識別情報を認識結果として出力する。例えば、原動体1A・LAU用の隠れマルコフモデル252Aに対する尤度が最も大きいと判断された場合には、LAUという運動パターン識別情報が認識結果として出力される。
【0145】
それから、図7に示すように、制御信号識別情報送信処理手段246により、変換テーブル記憶手段253に記憶された標準設定の変換テーブル253A,253Bのうち、選択された従動体に対応する変換テーブルを用いて、またはユーザにより変換テーブルの設定変更が行われている場合には、ユーザ設定の変換テーブル253Cを用いて、認識処理手段245による認識結果として得られた運動パターン識別情報に対応する制御信号識別情報を把握し、把握した制御信号識別情報をネットワーク203を介して、選択された従動体(ロボット制御手段270A,270B,270Cとして機能するコンピュータのいずれか)へ送信する。例えば、原動体1Aおよび従動体2Bが選択され、認識結果として得られた運動パターン識別情報がLAUであり、変換テーブルの設定変更が行われていない場合には、変換テーブル253Aを用いて、2B−1.csvという制御信号識別情報が把握され、従動体2Bへ送信される。
【0146】
その後、従動体2A,2B,2Cでは、制御信号識別情報受信処理手段271A,271B,271Cにより、動作伝達サーバ240からネットワーク203を介して送信されてくる制御信号識別情報を受信すると、命令作成処理手段272A,272B,272Cにより、動作ファイル記憶手段274A,274B,274Cに記憶された複数の動作ファイルの中から、受信した制御信号識別情報(例えば、2B−1.csv)に対応する動作ファイル(例えば、2B−1.csvというファイル名の動作ファイル)を読み込んで命令を作成した後、命令実行処理手段273A,273B,273Cにより、この命令を実行し、制御信号を人間型ロボット本体260A、3本足ロボット本体260B、犬型ロボット本体260Cへ送信する。すると、人間型ロボット本体260A、3本足ロボット本体260B、犬型ロボット本体260Cは、制御信号識別情報に対応するそれぞれの動作を行い、選択された原動体の動作にリアルタイムで追従する。
【0147】
このような第2実施形態によれば、前記第1実施形態の場合と同様に、原動体1A,1B,1Cから従動体2A,2B,2Cへのリアルタイムでの動作伝達を行うにあたり、原動体1A,1B,1Cの動作データとして得られる膨大な情報量を、いわば言語レベルの情報である運動パターン識別情報に一旦情報圧縮し、その圧縮された情報を従動体2A,2B,2Cの可能動作群のうちの1つの動作に繋げることができるので、原動体1A,1B,1Cの動作をそのまま従動体2A,2B,2Cへ伝達する場合に生じる可能性のある不都合を未然に防止することができ、例えば、従動体2A,2B,2Cの破壊を引き起こすような動作、従動体2A,2B,2Cを不安定な状態にする動作、従動体2A,2B,2Cに許容されていない動作等を従動体2A,2B,2Cに伝達し、実行させてしまうという事態を回避することができる。
【0148】
また、第2実施形態によれば、上記のような前記第1実施形態の場合と同様に得られる効果に加え、次のような効果を得ることができる。
【0149】
すなわち、動作伝達システム200は、ユーザ設定入力受付処理手段247を備えているので、原動体1A,1B,1Cの動作に関する運動パターン識別情報と、従動体2A,2B,2Cの動作に関する制御信号識別情報との対応関係を、ユーザが自在に設定することができる(図8参照)。このため、ユーザにとってのシステムの使い勝手を向上させることができ、システム性能の向上を図ることができる。
【0150】
また、動作伝達システム200は、ユーザ設定入力受付処理手段247を備えているので、ユーザによる従動体の選択入力を受け付けることができ、動作伝達対象として選択し得る従動体が複数種類存在するときには、ユーザが動作伝達対象とする従動体を自在に設定することができる(図8参照)。このため、ユーザにとってのシステムの使い勝手を、より一層向上させることができ、システム性能を、より一層向上させることができる。
【0151】
さらに、動作伝達システム200は、ユーザ設定入力受付処理手段247を備えているので、ユーザによる原動体の選択入力を受け付けることができ、動作データ取得対象として選択し得る原動体が複数種類存在するときには、ユーザが動作データ取得対象とする原動体を自在に設定することができる(図8参照)。このため、ユーザにとってのシステムの使い勝手を、より一層向上させることができ、システム性能を、より一層向上させることができる。
【0152】
そして、動作伝達システム200は、ユーザ端末装置230A,230B,230Cと動作伝達サーバ240とをネットワーク203で接続し、動作伝達サーバ240で認識処理および制御信号識別情報送信処理を行う構成とされているので(図6参照)、原動体1A,1B,1Cから従動体2A,2B,2Cへの動作伝達のための情報が、ユーザ端末装置230A,230B,230Cからネットワーク203を介して動作伝達サーバ240へ送信され、さらに動作伝達サーバ240から従動体2A,2B,2Cへ送られるため、動作伝達に必要な処理やその処理に必要となる情報の管理を動作伝達サーバ240で一括して行うことができる。このため、原動体と従動体とが1対1である場合のみならず、1対多、多対1、多対多である場合にも、動作伝達サーバ240を介して原動体から従動体への円滑な動作伝達を行うことができる。
【0153】
[第3実施形態]
図10には、本発明の第3実施形態の動作伝達システム300を含む制御系の全体構成が示されている。
【0154】
本第3実施形態の動作伝達システム300は、制御信号識別情報送信処理手段および変換テーブル記憶手段が原動体の側ではなく従動体の側に設けられていることを除き、前記第1実施形態の動作伝達システム10と同様な構成を有しているので、同一部分の詳しい説明は省略し、以下には異なる部分を中心として説明を行う。
【0155】
図10において、動作伝達システム300は、原動体1D(本実施形態では、一例として、人間とする。)の動作を従動体2D(本実施形態では、一例として、人間型ロボットとする。)へ伝達するシステムであり、原動体1Dの動作データを取得する動作データ取得手段であるモーションキャプチャ320と、このモーションキャプチャ320により取得した動作データを取り込んで動作伝達のための各種処理を行う動作データ処理用コンピュータ330と、この動作データ処理用コンピュータ330とネットワーク303で接続された従動体制御用コンピュータ350とを備えている。
【0156】
動作データ処理用コンピュータ330は、前記第1実施形態の動作伝達処理用コンピュータ30の場合(図1参照)と同様に、整形処理手段331、骨格運動データ生成処理手段332、特徴量抽出処理手段333、認識処理手段334、骨格情報記憶手段341、および学習モデル記憶手段342として機能するものである。但し、前記第1実施形態の動作伝達処理用コンピュータ30の場合とは異なり、制御信号識別情報送信処理手段および変換テーブル記憶手段としては機能しないが、その代わりに、運動パターン識別情報送信処理手段335として機能する。
【0157】
運動パターン識別情報送信処理手段335は、認識処理手段334による認識処理の結果として得られた運動パターン識別情報を、ネットワーク303を介して従動体制御用コンピュータ350へ送信する処理を行うものである。
【0158】
従動体制御用コンピュータ350は、運動パターン識別情報受信処理手段351、制御信号識別情報送信処理手段352、および変換テーブル記憶手段353として機能することに加え、従動体制御手段であるロボット制御手段360としても機能する。
【0159】
運動パターン識別情報受信処理手段351は、動作データ処理用コンピュータ330からネットワーク303を介して送信されてくる原動体1Dの運動パターン識別情報を受信する処理を行うものである。
【0160】
制御信号識別情報送信処理手段352は、変換テーブル記憶手段353に記憶された変換テーブルを用いて、運動パターン識別情報受信処理手段351により受信した運動パターン識別情報に対応する制御信号識別情報を把握し、ロボット制御手段360へ伝達する処理を行うものである。このため、制御信号識別情報送信処理手段352による制御信号識別情報の送信は、同一コンピュータの内部でのデータの引き渡しとなる。また、変換テーブル記憶手段353は、前記第1実施形態の変換テーブル記憶手段43と同様な変換テーブルを記憶するものである。従って、前記第1実施形態では、ネットワーク3を介して従動体2側へ送信される情報は、制御信号識別情報であったが、本第3実施形態では、ネットワーク303を介して従動体2D側へ送信される情報は、制御信号識別情報ではなく運動パターン識別情報である点が異なる。
【0161】
ロボット制御手段360は、前記第1実施形態のロボット制御手段60の場合と同様に、命令作成処理手段361、命令実行処理手段362、および動作ファイル記憶手段363を含んで構成されている。
【0162】
そして、従動体制御用コンピュータ350により実現されるロボット制御手段360と、従動体本体であるロボット本体370とにより、従動体2Dが構成されている。
【0163】
このような第3実施形態によれば、前記第1実施形態の場合と同様に、原動体1Dから従動体2Dへの動作伝達を行うにあたり、一旦情報圧縮を行うので、従動体2Dの破壊を引き起こすような動作、従動体2Dを不安定な状態にする動作、従動体2Dに許容されていない動作等を従動体2Dに伝達し、実行させてしまうという事態を回避することができるという効果がある。
【0164】
[第4実施形態]
図11および図12には、本発明の第4実施形態の動作伝達システム400による処理で用いられる情報(統合状態テーブル)および処理方法(学習モデルの作成方法)が示されている。動作伝達システム400は、学習モデルとして、隠れマルコフモデルではなく、ベイジアンネットワークにより構築されたモデルを用いる点が前記第1〜第3実施形態の場合と異なっており、また、これに伴って特徴量の抽出方法も異なっているが、その他の構成および機能については、前記第1〜第3実施形態の場合と同様であるため、詳しい説明は省略する。
【0165】
動作伝達システム400の特徴量抽出処理手段は、骨格運動データ生成処理手段により生成した骨格運動データに基づき、原動体の複数の局部の現在および/または過去の状態がそれぞれ所定の状態になっているか否かおよび/または所定の状態になっていたか否かの2者択一の判定情報(本実施形態では、各状態について1または0として出力される。)を特徴量として抽出する処理を行うものである。
【0166】
原動体の複数の局部とは、図11および図12に示すように、例えば、原動体(人間)の下半身については、右足、右ひざ、左足、左ひざ等である。ここでは、説明の便宜上、これらの4箇所を、特徴量抽出処理に用いる複数の局部として設定するものとする。また、これらの4つの局部のうち、過去の状態としては、右足の30フレーム前の状態および左足の30フレーム前の状態を採用するものとする。但し、30フレーム前に限定されるものではない。
【0167】
より具体的には、右足については、骨格運動データのうち、RightHip(右腰)の回転情報(角度)と、RightKnee(右ひざ)の回転情報(角度)と、RightAnkle(右足首)の回転情報(角度)と、これらの各エレメントについての骨格情報(図3参照)のオフセット情報(親エレメントからの相対位置)とを用いて、右足の足先の座標、すなわちRightAnkle(右足首)の端点位置(図3参照)を求める。左足の場合も同様である。
【0168】
そして、右足および左足の各足先の座標の高さ方向の成分を参照することにより、足先が接地しているか否かを判定し、接地している場合には、判定情報として0を出力し、接地していない(離れている)場合には、判定情報として1を出力する。また、このような足先の接地情報は、右足および左足の両者について、30フレーム前の判定情報(1または0)もメモリに保存しておく。
【0169】
さらに、RightKnee(右ひざ)の回転情報(角度)を参照し、右ひざが曲がっているか否かを判定する。RightKnee(右ひざ)の回転情報(角度)が閾値を超えている場合には、曲がっていると判定して判定情報として1を出力し、閾値以下である場合には、曲がっていない(伸びている)と判定して判定情報として0を出力する。左足の場合も同様である。
【0170】
図11には、以上のような特徴量抽出処理で得られた4つの局部の現在の状態およびそのうちの2つの局部の過去(30フレーム前)の状態と、これらの6つの状態の統合状態を示すための統合状態番号との関係が示されている。統合状態は、26=64通りあるので、統合状態番号は、1〜64となっている。図11の関係は、統合状態テーブルとして記憶しておく。
【0171】
学習時には、学習させる複数種類の運動パターンとして、例えば、直立しているパターン(運動パターン識別情報をM1とする。)と、歩いているパターン(運動パターン識別情報をM2とする。)と、しゃがんでいるパターン(運動パターン識別情報をM3とする。)と、左足を上げているパターン(運動パターン識別情報をM4とする。)と、右足を上げているパターン(運動パターン識別情報をM5とする。)とを用意し、これらに相当する各動作を、原動体(被験者である人間)に行わせる。
【0172】
図12に示すように、原動体の学習用の動作データに基づき特徴量を抽出し、4つの局部についての現在の4状態および過去の2状態から、各時刻(各フレーム)における状態を示す統合状態番号を統合状態テーブル(図11の関係)を用いて把握する。一方、原動体が行っている動作は、目視により、いずれの運動パターンに該当する動作であるのかを判断し、各時刻(各フレーム)の状態に運動パターン識別情報M1〜M5を対応付けてラベル付けを行う。これにより、各時刻(各フレーム)において、統合状態番号1〜64と運動パターン識別情報M1〜M5とが対応付けられる。なお、図12は、左側から右側に向かって時間が進行する。
【0173】
ベイジアンネットワークによる学習モデル410の構築にあたっては、図12に示すように、統合状態番号毎、つまり6つの状態を統合した統合状態毎に、運動パターン識別情報M1〜M5に対する確度を示す数値を作成する。例えば、学習時に、あるフレームの統合状態番号が1であり、そのフレームに運動パターン識別情報M1が対応付けられた場合には、統合状態番号1についての運動パターン識別情報M1に対する確度を示す数値P(1,1)に、1が加算される。同様に、あるフレームの統合状態番号が49であり、そのフレームに運動パターン識別情報M5が対応付けられた場合には、統合状態番号49についての運動パターン識別情報M5に対する確度を示す数値P(49,5)に、1が加算される。このようにして各フレームの統合状態に基づき、加算処理を繰り返していくと、各統合状態番号に対応する統合状態となったときに、その統合状態がいずれの運動パターンに該当する動作を行っている状態かを判断することができる。例えば、加算処理の結果、統合状態番号1について、P(1,1)=255、P(1,2)=0、P(1,3)=3、P(1,4)=5、P(1,5)=1となった場合には、運動パターン識別情報M1に対するP(1,1)が、最も大きい数値となっているので、統合状態番号1に対応する統合状態になったときには、運動パターン識別情報M1に対応する運動パターンに該当する動作を行っている確率が高いことを示している。
【0174】
認識時には、特徴量抽出処理手段により、原動体の認識用の動作データに基づき生成された骨格運動データを用いて特徴量を抽出し、認識処理手段により、4つの局部についての現在の4状態および過去の2状態から、各時刻(各フレーム)における統合状態を示す統合状態番号を統合状態テーブル(図11の関係)を用いて把握し、ベイジアンネットワークによる学習モデル410(図12参照)を用いて、把握した統合状態番号について最も大きい数値となっている運動パターン識別情報を、認識結果として出力する。
【0175】
このような第4実施形態によれば、前記第1〜第3実施形態の場合と同様に、原動体から従動体への動作伝達を行うにあたり、一旦情報圧縮を行うので、従動体の破壊を引き起こすような動作、従動体を不安定な状態にする動作、従動体に許容されていない動作等を従動体に伝達し、実行させてしまうという事態を回避することができるという効果がある。
【0176】
[第5実施形態]
図13は、本発明の第5実施形態の動作伝達システム500による認識処理の説明図である。
【0177】
動作伝達システム500は、原動体を動作の認識単位となる複数の構成部分に分割し、各構成部分毎の部分的な運動パターンを捉え、それを統合することにより原動体の全体的な運動パターンを捉えるという多段階の認識処理を行う点が前記第1〜第3実施形態の場合と異なっており、また、これに伴って学習モデルとして用意する隠れマルコフモデルの作成方法も異なっているが、その他の構成および機能については、前記第1〜第3実施形態の場合と同様であるため、詳しい説明は省略する。
【0178】
動作伝達システム500の学習モデル記憶手段510には、原動体を分割した各構成部分K1,K2,K3,…のそれぞれについての連続した動作からなる複数種類の部分的な運動パターンのそれぞれについて動作データ取得手段により取得した学習用の動作データに基づき、各構成部分毎に複数種類の部分的な運動パターンを学習して作成された複数の学習モデルが記憶されている。つまり、学習モデルは、各構成部分毎で、かつ、各運動パターン毎に用意されている。例えば、構成部分K1が右手(右腕)であり、構成部分K2が左手(左腕)であるとすると、構成部分K1については、構成部分K1である右手を上げる運動パターン(運動パターン識別情報をM1−1とする。)、右手を下げる運動パターン(運動パターン識別情報をM1−2とする。)、右手を曲げる運動パターン(運動パターン識別情報をM1−3とする。)、右手を振る運動パターン(運動パターン識別情報をM1−4とする。)等の各運動パターン毎に、隠れマルコフモデル510A,510B,510C,510D等が用意され、構成部分K2については、構成部分K2である左手を上げる運動パターン(運動パターン識別情報をM2−1とする。)、左手を下げる運動パターン(運動パターン識別情報をM2−2とする。)、左手を曲げる運動パターン(運動パターン識別情報をM2−3とする。)、左手を振る運動パターン(運動パターン識別情報をM2−4とする。)等の各運動パターン毎に、隠れマルコフモデル510E,510F,510G,510H等が用意されている。
【0179】
また、動作伝達システム500は、各構成部分の現在および/または過去の複数種類の部分的な運動パターンとこれらの部分的な運動パターンを統合して得られる原動体の複数種類の全体的な運動パターンとの対応関係を記憶する運動パターン対応関係記憶手段520を備えている。例えば、構成部分K1である右手を上げるという部分的な運動パターン(現在)と、構成部分K2である左手を上げるという部分的な運動パターン(現在)とに対し、これらを統合した万歳(両手を上げる)という全体的な運動パターンが対応した形で記憶されている。また、過去の部分的な運動パターンについても記載しているのは、前記第4実施形態のように各局部の過去の状態を考慮する場合と同様に、統合対象として過去の状態を含めてもよい趣旨である。
【0180】
動作伝達システム500の認識処理手段530は、先ず、動作データ取得手段により取得した各構成部分毎の認識用の動作データに基づき生成された骨格運動データから抽出された特徴量と、学習モデル記憶手段510に記憶された各構成部分毎の隠れマルコフモデル510A〜510M等とを用いて、各構成部分の動作がそれぞれ複数種類の部分的な運動パターンのうちのいずれに該当する動作であるかを各構成部分毎に認識する。例えば、構成部分K1については、構成部分K1用で、かつ、構成部分K1の各部分的な運動パターン(運動パターン識別情報M1−1〜M1−4等に対応する部分的な運動パターン)用の隠れマルコフモデル510A〜510D等を用いて、それぞれ尤度を算出し、これらの尤度のうち、最大の値となる尤度に対応する運動パターンについての運動パターン識別情報(M1−1〜M1−4等のうちのいずれか)を、部分的な認識結果として出力する。他の構成部分についても同様である。
【0181】
次に、認識処理手段530は、運動パターン対応関係記憶手段520に記憶された対応関係を用いて、各構成部分毎の現在および/または過去の部分的な認識結果を統合することにより、原動体の全体的な動作が複数種類の全体的な運動パターンのうちのいずれに該当する動作であるかを認識し、その全体的な運動パターンに対応する運動パターン識別情報を、認識結果として出力する。
【0182】
このような第5実施形態によれば、前記第1〜第4実施形態の場合と同様に、原動体から従動体への動作伝達を行うにあたり、一旦情報圧縮を行うので、従動体の破壊を引き起こすような動作、従動体を不安定な状態にする動作、従動体に許容されていない動作等を従動体に伝達し、実行させてしまうという事態を回避することができるという効果がある。
【0183】
また、第5実施形態によれば、上記のような効果に加え、認識処理手段530により段階的な認識処理を行うので、原動体の分割方法や部分的な認識結果の統合方法(運動パターン対応関係記憶手段520に記憶させる対応関係)等を工夫することで、用意すべき隠れマルコフモデルの数を減らすことができ、学習時の労力の軽減を図ることができるという効果が得られる。例えば、万歳(両手を上げる)という運動パターンを認識する場合には、前記第1〜第3実施形態では、万歳という運動パターンに対応する隠れマルコフモデルを用意しておかなければならないが、本第5実施形態では、右手を上げるという部分的な運動パターンと、左手を上げるという部分的な運動パターンとを統合することにより、万歳という運動パターンを認識することができる。
【0184】
[変形の形態]
なお、本発明は前記各実施形態に限定されるものではなく、本発明の目的を達成できる範囲内での変形等は本発明に含まれるものである。
【0185】
例えば、前記第2実施形態では、図6に示すように、動作伝達サーバ240には、動作データ受信処理手段241と、整形処理手段242と、骨格運動データ生成処理手段243と、特徴量抽出処理手段244と、認識処理手段245と、制御信号識別情報送信処理手段246と、ユーザ設定入力受付処理手段247と、骨格情報記憶手段251と、学習モデル記憶手段252と、変換テーブル記憶手段253と、ユーザ設定記憶手段254とが設けられ、動作伝達サーバ240で、認識処理および制御信号識別情報送信処理を行うようになっていたが、整形処理手段、骨格運動データ生成処理手段、特徴量抽出処理手段、認識処理手段、骨格情報記憶手段、および学習モデル記憶手段をユーザ端末装置側に設け、ユーザ端末装置で、認識処理およびその前処理を行い、動作伝達サーバで、制御信号識別情報送信処理を行うようにしてもよい。
【0186】
このようにユーザ端末装置と動作伝達サーバとをネットワークで接続し、ユーザ端末装置で、認識処理およびその前処理を行い、動作伝達サーバで、制御信号識別情報送信処理を行えば、前記第2実施形態の場合(図6参照)と同様に、制御信号識別情報送信処理やその処理に必要となる変換テーブルの管理を動作伝達サーバで一括して行うことができるため、原動体と従動体とが1対1である場合のみならず、1対多、多対1、多対多である場合にも、動作伝達サーバを介して原動体から従動体への円滑な動作伝達を行うことができる。また、ユーザ端末装置から動作伝達サーバへネットワークを介して送信する情報は、認識処理で得られた運動パターン識別情報となり、いわば言語レベルに圧縮された情報となるので、ネットワークを介して送信する情報量を減らし、通信コストの削減を図ることができる。
【0187】
また、前記各実施形態では、従動体は、ロボットとされていたが、これに限定されるものではなく、例えば、機械、機器、ディスプレイ画面上に表示されるアニメーションキャラクタ等であってよく、要するに、命令を与えて動かすことができるものであればよい。
【産業上の利用可能性】
【0188】
以上のように、本発明の動作伝達システムおよび動作伝達方法は、例えば、人間の動作を人間型ロボットへ伝達する場合等のように、生体の動作を、その生体と同形または略同形のロボットへ伝達する場合、あるいは人間の動作を3本足ロボットや犬型ロボットへ伝達する場合や身体障害者の動作をロボットへ伝達する場合等のように、生体の動作を、その生体とは異形のロボットへ伝達する場合等に用いるのに適している。
【図面の簡単な説明】
【0189】
【図1】本発明の第1実施形態の動作伝達システムを含む制御系の全体構成図。
【図2】第1実施形態の骨格モデルの説明図。
【図3】第1実施形態の骨格情報の説明図。
【図4】第1実施形態の認識処理の説明図。
【図5】第1実施形態の制御信号識別情報送信処理の説明図。
【図6】本発明の第2実施形態の動作伝達システムを含む制御系の全体構成図。
【図7】第2実施形態のユーザ設定入力受付処理および制御信号識別情報送信処理の説明図。
【図8】第2実施形態のユーザ設定入力で用いられる画面例を示す図。
【図9】第2実施形態の認識処理の説明図。
【図10】本発明の第3実施形態の動作伝達システムを含む制御系の全体構成図。
【図11】本発明の第4実施形態の動作伝達システムによる処理で用いられる情報(統合状態テーブル)の説明図。
【図12】第4実施形態の動作伝達システムによる学習モデルの作成方法の説明図。
【図13】本発明の第5実施形態の動作伝達システムによる認識処理の説明図。
【符号の説明】
【0190】
1,1A,1B,1C,1D 原動体
2,2A,2B,2C,2D 従動体
10,200,300,400,500 動作伝達システム
20,220A,220B,220C,320 動作データ取得手段であるモーションキャプチャ
32,243,332 骨格運動データ生成処理手段
33,244,333 特徴量抽出処理手段
34,245,334,530 認識処理手段
35,246,352 制御信号識別情報送信処理手段
41,251,341 骨格情報記憶手段
42,252,342,510 学習モデル記憶手段
42A〜42H,252A〜252M,510A〜510M 学習モデルである隠れマルコフモデル
43,253,353 変換テーブル記憶手段
43A,253A,253B,253C 変換テーブル
203 ネットワーク
230A,230B,230C ユーザ端末装置
240 動作伝達サーバ
247 ユーザ設定入力受付処理手段
254 ユーザ設定記憶手段
410 ベイジアンネットワークによる学習モデル
520 運動パターン対応関係記憶手段

【特許請求の範囲】
【請求項1】
原動体の動作を従動体へ伝達する動作伝達システムであって、
前記原動体の動作データを取得する動作データ取得手段と、
前記原動体の連続した動作からなる複数種類の運動パターンのそれぞれについて前記動作データ取得手段により取得した学習用の動作データに基づき前記複数種類の運動パターンを学習して作成された学習モデルを記憶する学習モデル記憶手段と、
前記動作データ取得手段により取得した前記原動体の認識用の動作データに基づき、前記学習モデル記憶手段に記憶された前記学習モデルを用いて、前記原動体の動作が前記複数種類の運動パターンのうちのいずれに該当する動作であるかを認識する処理を行う認識処理手段と、
前記複数種類の運動パターンの種別を識別するための運動パターン識別情報とこれらに対応する前記従動体の動作制御用の制御信号の種別を識別するための制御信号識別情報との対応関係を定める変換テーブルを記憶する変換テーブル記憶手段と、
この変換テーブル記憶手段に記憶された前記変換テーブルを用いて、前記認識処理手段による認識結果として得られた前記運動パターン識別情報に対応する前記制御信号識別情報を把握して前記従動体に送信する処理を行う制御信号識別情報送信処理手段と
を備えたことを特徴とする動作伝達システム。
【請求項2】
請求項1に記載の動作伝達システムにおいて、
前記原動体の骨格モデルの構造を示す骨格情報を記憶する骨格情報記憶手段と、
この骨格情報記憶手段に記憶された前記骨格情報と前記動作データ取得手段により取得した前記認識用の動作データとを用いて骨格運動データを生成する処理を行う骨格運動データ生成処理手段と、
この骨格運動データ生成処理手段により生成した前記骨格運動データから特徴量を抽出する処理を行う特徴量抽出処理手段とを備え、
前記認識処理手段は、前記特徴量抽出処理手段により抽出した前記特徴量を用いて認識処理を行う構成とされ、
前記学習モデル記憶手段には、前記骨格情報記憶手段に記憶された前記骨格情報と前記動作データ取得手段により取得した前記学習用の動作データとを用いて生成された骨格運動データから抽出された特徴量を用いて作成された学習モデルが記憶されている
ことを特徴とする動作伝達システム。
【請求項3】
請求項1または2に記載の動作伝達システムにおいて、
前記学習モデルは、隠れマルコフモデルであることを特徴とする動作伝達システム。
【請求項4】
請求項3に記載の動作伝達システムにおいて、
前記隠れマルコフモデルは、前記複数種類の運動パターン毎に用意されていることを特徴とする動作伝達システム。
【請求項5】
請求項2に記載の動作伝達システムにおいて、
前記学習モデルは、ベイジアンネットワークにより構築されたモデルであり、
前記特徴量抽出処理手段は、前記骨格運動データ生成処理手段により生成した前記骨格運動データに基づき前記原動体の複数の局部の現在および/または過去の状態がそれぞれ所定の状態になっているか否かおよび/または所定の状態になっていたか否かの2者択一の判定情報を前記特徴量として抽出する処理を行う構成とされ、
前記認識処理手段は、前記ベイジアンネットワークにより構築されたモデルを用いて、前記複数の局部の現在および/または過去の状態についての各判定情報を組み合せた統合状態が前記複数種類の運動パターンのうちのいずれに該当する状態であるかを認識する処理を行う構成とされている
ことを特徴とする動作伝達システム。
【請求項6】
原動体の動作を従動体へ伝達する動作伝達システムであって、
前記原動体は、動作の認識単位となる複数の構成部分に分割され、
前記原動体の動作データを取得する動作データ取得手段と、
前記各構成部分毎の連続した動作からなる複数種類の部分的な運動パターンのそれぞれについて前記動作データ取得手段により取得した学習用の動作データに基づき前記各構成部分毎に前記複数種類の部分的な運動パターンを学習して作成された前記各構成部分毎の学習モデルを記憶する学習モデル記憶手段と、
前記各構成部分の現在および/または過去の複数種類の部分的な運動パターンとこれらの部分的な運動パターンを統合して得られる前記原動体の複数種類の全体的な運動パターンとの対応関係を記憶する運動パターン対応関係記憶手段と、
前記動作データ取得手段により取得した前記各構成部分毎の認識用の動作データに基づき、前記学習モデル記憶手段に記憶された前記各構成部分毎の学習モデルを用いて、前記各構成部分の動作がそれぞれ前記複数種類の部分的な運動パターンのうちのいずれに該当する動作であるかを前記各構成部分毎に認識し、さらに前記運動パターン対応関係記憶手段に記憶された前記対応関係を用いて、前記各構成部分毎の現在および/または過去の部分的な認識結果を統合することにより、前記原動体の全体的な動作が前記複数種類の全体的な運動パターンのうちのいずれに該当する動作であるかを認識する処理を行う認識処理手段と、
前記複数種類の全体的な運動パターンの種別を識別するための運動パターン識別情報とこれらに対応する前記従動体の動作制御用の制御信号の種別を識別するための制御信号識別情報との対応関係を定める変換テーブルを記憶する変換テーブル記憶手段と、
この変換テーブル記憶手段に記憶された前記変換テーブルを用いて、前記認識処理手段による統合認識結果として得られた前記運動パターン識別情報に対応する前記制御信号識別情報を把握して前記従動体に送信する処理を行う制御信号識別情報送信処理手段と
を備えたことを特徴とする動作伝達システム。
【請求項7】
請求項6に記載の動作伝達システムにおいて、
前記原動体の骨格モデルの構造を示す骨格情報を記憶する骨格情報記憶手段と、
この骨格情報記憶手段に記憶された前記骨格情報と前記動作データ取得手段により取得した前記認識用の動作データとを用いて骨格運動データを生成する処理を行う骨格運動データ生成処理手段と、
この骨格運動データ生成処理手段により生成した前記骨格運動データから特徴量を抽出する処理を行う特徴量抽出処理手段とを備え、
前記認識処理手段は、前記特徴量抽出処理手段により抽出した前記特徴量を用いて認識処理を行う構成とされ、
前記学習モデル記憶手段には、前記骨格情報記憶手段に記憶された前記骨格情報と前記動作データ取得手段により取得した前記学習用の動作データとを用いて生成された骨格運動データから抽出された特徴量を用いて作成された学習モデルが記憶されている
ことを特徴とする動作伝達システム。
【請求項8】
請求項6または7に記載の動作伝達システムにおいて、
前記学習モデルは、隠れマルコフモデルであることを特徴とする動作伝達システム。
【請求項9】
請求項8に記載の動作伝達システムにおいて、
前記隠れマルコフモデルは、前記各構成部分毎の複数種類の部分的な運動パターン毎に用意されていることを特徴とする動作伝達システム。
【請求項10】
請求項1〜9のいずれかに記載の動作伝達システムにおいて、
前記動作データ取得手段は、モーションキャプチャであることを特徴とする動作伝達システム。
【請求項11】
請求項1〜10のいずれかに記載の動作伝達システムにおいて、
入力手段を用いて行われるユーザによる前記変換テーブルの前記対応関係を変更するための設定入力を受け付け、設定変更後の前記変換テーブルを前記変換テーブル記憶手段に記憶させる処理を行うユーザ設定入力受付処理手段を備えていることを特徴とする動作伝達システム。
【請求項12】
請求項11に記載の動作伝達システムにおいて、
動作伝達対象として選択し得る前記従動体が複数種類用意され、
ユーザによる前記従動体の選択情報を記憶するユーザ設定記憶手段を備え、
前記ユーザ設定入力受付処理手段は、前記入力手段を用いて行われるユーザによる前記従動体の選択入力を受け付け、この選択情報を前記ユーザ設定記憶手段に記憶させる処理も行う構成とされ、
前記制御信号識別情報送信処理手段は、前記ユーザ設定記憶手段に記憶された前記従動体の選択情報に従って、前記変換テーブル記憶手段に記憶された前記変換テーブルから、選択された前記従動体に対応する前記制御信号識別情報を取得して前記従動体に送信する処理を行う構成とされている
ことを特徴とする動作伝達システム。
【請求項13】
請求項11または12に記載の動作伝達システムにおいて、
動作データ取得対象として選択し得る前記原動体が複数種類用意され、
ユーザによる前記原動体の選択情報を記憶するユーザ設定記憶手段を備え、
前記ユーザ設定入力受付処理手段は、前記入力手段を用いて行われるユーザによる前記原動体の選択入力を受け付け、この選択情報を前記ユーザ設定記憶手段に記憶させる処理も行う構成とされ、
前記認識処理手段は、前記ユーザ設定記憶手段に記憶された前記原動体の選択情報に従って、前記学習モデル記憶手段に記憶された前記学習モデルのうち、選択された前記原動体に対応する前記学習モデルを用いて認識処理を行う構成とされている
ことを特徴とする動作伝達システム。
【請求項14】
請求項11〜13のいずれかに記載の動作伝達システムにおいて、
前記原動体および前記動作データ取得手段の所在地に設置されたユーザ端末装置と、動作伝達に関する処理を行う動作伝達サーバとがネットワークで接続され、
前記動作伝達サーバには、少なくとも前記ユーザ設定入力受付処理手段、前記認識処理手段、前記制御信号識別情報送信処理手段、前記学習モデル記憶手段、および前記変換テーブル記憶手段が設けられ、
前記ユーザ設定入力受付処理手段は、前記入力手段を用いてユーザにより入力されて前記ユーザ端末装置から前記ネットワークを介して送信されてくる情報を受け付ける処理を行う構成とされ、
前記認識処理手段および前記制御信号識別情報送信処理手段は、前記ユーザ端末装置から前記ネットワークを介して送信されてくるデータまたはこのデータから得られるデータを用いて各処理を行う構成とされている
ことを特徴とする動作伝達システム。
【請求項15】
請求項11または12のいずれかに記載の動作伝達システムにおいて、
前記原動体および前記動作データ取得手段の所在地に設置されたユーザ端末装置と、動作伝達に関する処理を行う動作伝達サーバとがネットワークで接続され、
前記ユーザ端末装置には、少なくとも前記認識処理手段および前記学習モデル記憶手段が設けられ、
前記動作伝達サーバには、少なくとも前記ユーザ設定入力受付処理手段、前記制御信号識別情報送信処理手段、および前記変換テーブル記憶手段が設けられ、
前記ユーザ設定入力受付処理手段は、前記入力手段を用いてユーザにより入力されて前記ユーザ端末装置から前記ネットワークを介して送信されてくる情報を受け付ける処理を行う構成とされ、
前記制御信号識別情報送信処理手段は、前記ユーザ端末装置から前記ネットワークを介して送信されてくる前記運動パターン識別情報を用いて処理を行う構成とされている
ことを特徴とする動作伝達システム。
【請求項16】
原動体の動作を従動体へ伝達する動作伝達方法であって、
前記原動体の連続した動作からなる複数種類の運動パターンのそれぞれについて動作データ取得手段により学習用の動作データを取得し、これらの学習用の動作データに基づき前記複数種類の運動パターンを学習して学習モデルを作成し、この学習モデルを学習モデル記憶手段に記憶させておくとともに、
前記複数種類の運動パターンの種別を識別するための運動パターン識別情報とこれらに対応する前記従動体の動作制御用の制御信号の種別を識別するための制御信号識別情報との対応関係を定める変換テーブルを変換テーブル記憶手段に記憶させておき、
認識時には、認識処理手段が、前記動作データ取得手段により取得した前記原動体の認識用の動作データに基づき、前記学習モデル記憶手段に記憶された前記学習モデルを用いて、前記原動体の動作が前記複数種類の運動パターンのうちのいずれに該当する動作であるかを認識する処理を行い、
その後、制御信号識別情報送信処理手段が、前記変換テーブル記憶手段に記憶された前記変換テーブルを用いて、前記認識処理手段による認識結果として得られた前記運動パターン識別情報に対応する前記制御信号識別情報を把握して前記従動体に送信する処理を行うことを特徴とする動作伝達方法。
【請求項17】
原動体の動作を従動体へ伝達する動作伝達方法であって、
前記原動体を、動作の認識単位となる複数の構成部分に分割し、
前記各構成部分毎の連続した動作からなる複数種類の部分的な運動パターンのそれぞれについて動作データ取得手段により学習用の動作データを取得し、これらの学習用の動作データに基づき前記各構成部分毎に前記複数種類の部分的な運動パターンを学習して前記各構成部分毎の学習モデルを作成し、これらの各構成部分毎の学習モデルを学習モデル記憶手段に記憶させておくとともに、
前記各構成部分の現在および/または過去の複数種類の部分的な運動パターンとこれらの部分的な運動パターンを統合して得られる前記原動体の複数種類の全体的な運動パターンとの対応関係を運動パターン対応関係記憶手段に記憶させておき、
さらに、前記複数種類の全体的な運動パターンの種別を識別するための運動パターン識別情報とこれらに対応する前記従動体の動作制御用の制御信号の種別を識別するための制御信号識別情報との対応関係を定める変換テーブルを変換テーブル記憶手段に記憶させておき、
認識時には、認識処理手段が、前記動作データ取得手段により取得した前記各構成部分毎の認識用の動作データに基づき、前記学習モデル記憶手段に記憶された前記各構成部分毎の学習モデルを用いて、前記各構成部分の動作がそれぞれ前記複数種類の部分的な運動パターンのうちのいずれに該当する動作であるかを前記各構成部分毎に認識し、さらに前記運動パターン対応関係記憶手段に記憶された前記対応関係を用いて、前記各構成部分毎の現在および/または過去の部分的な認識結果を統合することにより、前記原動体の全体的な動作が前記複数種類の全体的な運動パターンのうちのいずれに該当する動作であるかを認識する処理を行い、
その後、制御信号識別情報送信処理手段が、前記変換テーブル記憶手段に記憶された前記変換テーブルを用いて、前記認識処理手段による統合認識結果として得られた前記運動パターン識別情報に対応する前記制御信号識別情報を把握して前記従動体に送信する処理を行うことを特徴とする動作伝達方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2006−146435(P2006−146435A)
【公開日】平成18年6月8日(2006.6.8)
【国際特許分類】
【出願番号】特願2004−333618(P2004−333618)
【出願日】平成16年11月17日(2004.11.17)
【出願人】(899000068)学校法人早稲田大学 (602)
【Fターム(参考)】