TOP > 国内特許検索 > 動作学習装置 > 明細書

明細書 :動作学習装置

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第5252393号 (P5252393)
公開番号 特開2009-276886 (P2009-276886A)
登録日 平成25年4月26日(2013.4.26)
発行日 平成25年7月31日(2013.7.31)
公開日 平成21年11月26日(2009.11.26)
発明の名称または考案の名称 動作学習装置
国際特許分類 G06N   3/00        (2006.01)
B25J  13/00        (2006.01)
FI G06N 3/00 550E
G06N 3/00 560J
B25J 13/00 Z
請求項の数または発明の数 7
全頁数 25
出願番号 特願2008-125720 (P2008-125720)
出願日 平成20年5月13日(2008.5.13)
新規性喪失の例外の表示 特許法第30条第1項適用 HRI(株式会社ホンダ・リサーチ・インスティチュート),NICT(独立行政法人情報通信研究機構)WMISI 2007 Proceedings(Workshop on Multimodal Interfaces in Semantic Interaction)2007年11月15日発行
審査請求日 平成23年4月21日(2011.4.21)
特許権者または実用新案権者 【識別番号】301022471
【氏名又は名称】独立行政法人情報通信研究機構
発明者または考案者 【氏名】谷口 忠大
【氏名】岩橋 直人
個別代理人の代理人 【識別番号】100090181、【弁理士】、【氏名又は名称】山田 義人
審査官 【審査官】大塚 俊範
参考文献・文献 特開2004-330361(JP,A)
特開2006-192548(JP,A)
特開2003-039363(JP,A)
稲邑 哲也、他2名,運動パターンの認識/生成の単一モデルとそれにもとづく離散的階層化による行動知能の集積,2003年度人工知能学会全国大会(第17回)論文集 [CD-ROM],2003年 6月27日,3D4-04,p.1-4
古城 直樹、他4名,時系列マルチセンサパターンのシンボル化に基づくオンライン動作獲得と行動誘発,第23回日本ロボット学会学術講演会予稿集CD-ROM 2005年 第23回日本ロボット学会学術講演会予稿集,社団法人日本ロボット学会,2005年 9月15日,1D21
國吉 康夫,動作理解のための知的なしくみ,日本ロボット学会誌,日本,社団法人日本ロボット学会,第25巻 第5号,p.21-27
稲邑 哲也,教示者と学習者の身体差を吸収するミラーニューロンモデル,日本ロボット学会創立20周年記念学術講演会CD-ROM 2002年,社団法人日本ロボット学会,2002年10月12日,3H18
調査した分野 G06N 3/00- 3/12
B25J 1/00-21/02
特許請求の範囲 【請求項1】
各々が連続する動作を示す複数の時系列データからモデルを獲得することによって、モデルが示す離散的な文字列を含む文書を生成する文書列生成手段、および
前記文書に含まれる文字列から意味のある分節を抽出して保存する分節抽出手段を備え
前記文書列生成手段は、前記時系列データをモデル化することによって各時系列の隠れ状態を示す文字列およびスコアを含む文書を生成し、そのスコアの和が最大になるように文字列を分節化する、動作学習装置。
【請求項2】
前記意味のある分節と前記モデルを利用して動作を生成する動作生成手段をさらに備える、請求項記載の動作学習装置。
【請求項3】
ユーザのリアクションに基づいて前記動作生成手段が生成した動作を評価する評価手段をさらに備える、請求項記載の動作学習装置。
【請求項4】
前記評価手段による評価が低いとき、前記保存した分節を破棄する破棄手段をさらに備える、請求項記載の動作学習装置。
【請求項5】
前記文書生成手段はSARMを用いる、請求項1ないしのいずれかに記載の動作学習装置。
【請求項6】
請求項1ないしのいずれかに記載の動作学習装置を備える、ロボット。
【請求項7】
ユーザが提示する、各々が連続する動作を示す複数の時系列データからモデルを獲得することによって、モデルが示す離散的な文字列を含む文書を生成する文書列生成手段、
前記文書に含まれる文字列から意味のある分節を抽出して保存する分節抽出手段、
前記意味のある分節と前記モデルを利用して動作を生成しユーザに提示する動作生成手段、および
前記動作生成手段が提示した動作に対するユーザのリアクションを認識することによって応答戦略を獲得する獲得手段を備え
前記文書列生成手段は、前記時系列データをモデル化することによって各時系列の隠れ状態を示す文字列およびスコアを含む文書を生成し、そのスコアの和が最大になるように文字列を分節化する、ロボット。
発明の詳細な説明 【技術分野】
【0001】
この発明は、動作学習装置に関し、特に分節化されていない連続動作または連続行動を分節化して学習する、動作学習装置などに関する。
【背景技術】
【0002】
人間社会において共生的に活動可能な自律ロボットを生み出すためには、彼らが私たちと共に生活する中で自然に様々な概念や振舞いを獲得することが望まれる。しかしながら、まだ、そのような能力をロボットに与えることのできる方法はほとんど存在しない。私たちが、もし日常生活の中で必要なすべての振舞いを全て直接的にロボットに教え込まないといけないとするならば、それは手間がかかり過ぎる。したがって、人間の子供が行うように親の動作をみて「勝手に」見まねを通じて学習するような枠組み(模倣学習)を持ったロボットまたはその学習方法が求められる。
【0003】
従来のロボットの模倣学習では、たとえば非特許文献1に示すように、その多くの先行技術において、学習する対象となる時系列情報が予め分節化され与えられ、ロボットはそれら各々の分節化された時系列情報を学習することによって動作学習を行なう。しかし、実際に家庭にロボットが現われる状況を考えると、我々がロボットとインタラクションする中でロボットに新たな行動パターンを学習させようとするときには、覚えさせようとする行動パターン毎にスイッチを押すなり、事前に準備された行動の開始と終了の合図を指定する(主には静止状態にするものが多い)などして行動パターンの分節を明示的に提示しなければならない。前者の場合ではスイッチを押すモーションが行動パターンの前後にノイズとして加わるし、後者の場合では静止状態から静止状態へ移る行動パターンしか学習対象とできないなどの問題点がある。また、そのような不自然な動作を挿入することが、人間とロボットとの自然なインタラクションを妨げる要因ともなると考えられる。
【0004】
一方、たとえば非特許文献2および非特許文献3などにおいて、複数の行動パターンを複数の学習器の切り替え(DBSOMなど)や学習パラメータに冗長性を持たせることによって、複数の行動パターンを分節化されていない行動系列から学習する方法(RNNPB:recurrent neural network with parametric biasなど)が提案されている。

【非特許文献1】稲邑哲也、中村仁彦、戸嶋巌樹、江崎英明「ミメシス理論に基づく見まね学習とシンボル創発の統合モデル」日本ロボット学会誌Vil.22 No. 2, pp.256-263, 2004
【非特許文献2】中村大介、岡田昌史、中村仁彦「力学的情報処理における自己組織的シンボル獲得と運動生成」第18回日本人口知能学会全国大会講演、2004
【非特許文献3】M. Ito, K. Noda, Y. Hoshino, and J. Tani. “Dynamic and interactive generation of object handling behaviors by a small humanoid robot using a dynamic neural network model”. Neural Networks, 19(3):323.337, 2006.
【発明の開示】
【発明が解決しようとする課題】
【0005】
非特許文献1や非特許文献2で提案されている従来の手法では、行動の分節化に時系列ダイナミクスの局所的な情報しか用いないために、分節化に力学情報しか用いず、必ずしも人間が考えるような意味を持った単位としての行動の分節化を行なうことができないといった問題点がある。
【0006】
それゆえに、この発明の主たる目的は、新規な、動作学習装置を提供することである。
【0007】
この発明の他の目的は、連続動作を確実に分節化して学習できる、動作学習装置を提供することである。
【課題を解決するための手段】
【0008】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【0009】
第1の発明は、各々が連続する動作を示す複数の時系列データからモデルを獲得することによって、モデルが示す離散的な文字列を含む文書を生成する文書列生成手段、および文書に含まれる文字列から意味のある分節を抽出して保存する分節抽出手段を備え、文書列生成手段は、時系列データをモデル化することによって各時系列の隠れ状態を示す文字列およびスコアを含む文書を生成し、そのスコアの和が最大になるように文字列を分節化する、動作学習装置である。
【0010】
第1の発明では、たとえば、ユーザ(28。実施例で相当する要素を例示する参照符号。以下同じ。)とロボット(12)との複数回のセッションを通して、ロボット(12)が複数の時系列データを取得する。文書生成手段である、ロボット(12)のコンピュータ(36)または他のコンピュータは、それらの時系列データをSARM(Switching AR(autoregression) Model)を用いて、モデル化することによって、各モデルに固有の文字からなる離散的な文字列を生成する。同じく、ロボット(12)のコンピュータ(36)(または他のコンピュータであってよい)は、分節抽出手段として「辞書を用いないキーワード抽出手法」を用いて、キーワードすなわち有意な分節をその文字列から抽出して保存する。
このとき、文書列生成手段は、時系列データをモデル化することによって各時系列の隠れ状態を示す文字列およびスコアを含む文書を生成し、そのスコアの和(積や重み付け和、その他非線形和など合計スコアを計算する他の計算式でも構わない)が最大になるように文字列を分節化する。つまり、文書列生成手段は、たとえばSARMを用い、ARモデルの切り替わりにより時系列を文字列として生成する。その際、スコアを考慮して、スコアが最大になるように分節化する。
【0011】
このようにして、第1の発明によれば、連続する動作を分節化して、その分節化した動作を学習することができる。
【0014】
の発明は、第1の発明に従属し、意味のある分節とモデルを利用して動作を生成する動作生成手段をさらに備える、動作学習装置である。
【0015】
の発明では、動作生成手段(S7)が、抽出した意味のある分節およびモデルを用いて動作を生成する。したがって、動作学習装置が学習した動作を、たとえば、ユーザに対して提示して、そのリアクションを引き出すことができる。
【0016】
の発明は、第の発明に従属し、ユーザのリアクションに基づいて動作生成手段が生成した動作を評価する評価手段をさらに備える、動作学習装置である。
【0017】
の発明によれば、動作生成手段によってユーザに、キーモーション(主動作)と思われる、学習した動作を再現して提示したとき、ユーザがリアクションを返すが、評価手段(S9,S11)がそのユーザリアクションに基づいて、生成した動作を評価する。たとえば、ユーザが主動作を含む動作系列をリアクションとして返した場合、学習は成功したのであり、高い評価が与えられる。
【0018】
の発明は、第の発明に従属し、評価手段による評価が低いとき、保存した分節を破棄する破棄手段をさらに備える、動作学習装置である。
【0019】
の発明では、破棄手段(S19)によって、評価の低かった提示動作すなわち保存したキーワード(分節)を破棄するので、効率よく動作を学習することができる。
【0020】
の発明は、第1ないし第の発明のずれかに従属し、文書生成手段はSARMを用いる、動作学習装置である。
【0021】
の発明によれば、文書生成手段は、自己回帰(AR)モデルを用いて、時系列データを文書に変換する。
【0022】
の発明は、第1ないし第5の発明の動作学習装置を備える、ロボットである。
【0023】
の発明によれば、ロボットが非分節化されていない連続動作から、確実に動作を学習することができる。
【0024】
の発明は、ユーザが提示する、各々が連続する動作を示す複数の時系列データからモデルを獲得することによって、モデルが示す離散的な文字列を含む文書を生成する文書列生成手段、文書に含まれる文字列から意味のある分節を抽出して保存する分節抽出手段、意味のある分節とモデルを利用して動作を生成しユーザに提示する動作生成手段、および動作生成手段が提示した動作に対するユーザのリアクションを認識することによって応答戦略を獲得する獲得手段を備え、文書列生成手段は、時系列データをモデル化することによって各時系列の隠れ状態を示す文字列およびスコアを含む文書を生成し、そのスコアの和が最大になるように文字列を分節化する、ロボットである。
【0025】
第8の発明では、たとえば、ユーザ(28)とロボット(12)との複数回のセッションを通して、ロボット(12)が複数の時系列データを取得する。文書生成手段である、ロボット(12)のコンピュータ(36)または他のコンピュータは、それらの時系列データをSARMを用いて、モデル化することによって、各モデルに固有の文字からなる離散的な文字列を生成する。同じく、ロボット(12)のコンピュータ(36)(または他のコンピュータであってよい)は、分節抽出手段として「辞書を用いないキーワード抽出手法」を用いて、キーワードすなわち有意な分節をその文字列から抽出して保存する。
このとき、文書列生成手段は、時系列データをモデル化することによって各時系列の隠れ状態を示す文字列およびスコアを含む文書を生成し、そのスコアの和(積や重み付け和、その他非線形和など合計スコアを計算する他の計算式でも構わない)が最大になるように文字列を分節化する。つまり、文書列生成手段は、たとえばSARMを用い、ARモデルの切り替わりにより時系列を文字列として生成する。その際、スコアを考慮して、スコアが最大になるように分節化する。
【0026】
そして、動作生成手段(S7)が、抽出した意味のある分節およびモデルを用いて、学習したキーモーション(主動作)と思われる動作を生成し、ユーザに対して提示して、そのリアクションを引き出す。
【0027】
獲得手段(S9,S11)がそのユーザリアクションに基づいて、生成した動作を認識し、学習する。もし、ユーザ(28)がいつもロボット(12)のある動作Aに対して動作Bを返しているとすれば、その動作Bは動作Aへの応答として用いるものであることをロボットは認識することができる。この対を観測することで、ロボットはユーザが動作Aを行ったときの返答として動作Bを用いることができるようになる。つまり、ユーザがA動作を示したときにはB動作をそれに対する返答として生成すべきだというルールすなわち応答戦略を獲得する。
【発明の効果】
【0028】
この発明によれば、連続動作を確実に分節化でき、有意な動作系列を抽出することができる。また、その動作系列によって動作学習を行なうことができる。
【0029】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0030】
実施例の詳細な説明に先だって、実施例を概説すると、ユーザおよびロボットの間における非分節な相互作用(セッション)からの役割反転模倣を実現するために、SARM(Switching AR(autoregression) Model)を用い、連続な時系列を分節化し、分節化された時系列をARモデルとしてモデル化した(これらはSARMを用いることで同時に行われる)。SARMは時系列情報を1つの分節化の単位は線形ダイナミクスで記述されるという条件の下で、単にダイナミカルな情報のみを用いて分節化すると同時に、各ARモデルを推定する。多くの場合、単にダイナミクス情報のみを用いて分節化された時系列はユーザにとって必ずしも意味ある単位を表さない。しかし、その一方で、ある一連の分節のつながりは意味ある動作系列を意味する可能性がある。SARMにおいて各時刻で最大の事後確率(Pr)を持つと推定された隠れ状態の列によって分節化された時系列が記述されたとすると、時系列は隠れ状態を表すラベルによって記述されたある種の文書(document)に変換されることになる。
【0031】
そこで以下の実施例では、人間の動作系列における意味ある部分動作系列は,自然言語で記述された文書(日本語,中国語,英語などの文書)におけるキーワードと同様の分布特徴を持つものという大胆な仮定を導入する。つまり、意味あるユーザの動作から変換されて生成されたn-gram、つまりユーザの動作系列に含まれる主動作(キーモーション)を表象するn-gramが自然言語文書中のキーワードを示すn-gramと類似した分布における偏りを持っているという仮定である。その仮定に立って、その文書中からキーワードを抽出する。ただし、その方法としては、「辞書を用いないキーワード抽出」の手法を用いる。
【0032】
このキーワード抽出手法で抽出されたキーワード集合はユーザにとっていくらかの意味がないように見える動作を含む。そこで、これらの動作候補を取り除くために、ロボットが獲得した動作を提示した場合におけるユーザのリアクションを利用する。ユーザは通常、ロボットが意味ある動作をしたときには意味ある応答を返すと想定した。したがって、ロボットは人間に意味あるリアクションを引き出させる動作を意味ある動作と認識するようになる。このようにしてユーザのリアクションをキーワード選択フィルタとして利用することによって、ロボットが無意味な動作の候補を除去でき、それによってユーザとロボットとの間の非分節なセッションを通じてロボットがユーザから有意な動作を学習することができる。
【0033】
図1を参照して、この実施例のロボットシステム10は、腕型ロボット12を含む。この腕型ロボット12は、土台ないしベース14の上に垂直に固定された、人間の腕でいえば上腕に相当する第1コラム16と、前腕に相当する第2コラム18とを有する。第1コラム16と第2コラム18とは肘関節に相当する第1関節20によって連結され、第2コラム18は、第1コラム16に対して1つの回転軸(φ1)で回転可能であり、3軸(X,Y,Z)方向に角度可変である。すなわち、第1関節20は4自由度であり、図示しないが、4つのモータを有する。第2コラム18の先端には、手首関節に相当する第2関節22が設けられ、この第2関節22を介して、第2コラム18にハンド24が連結される。ハンド24は、第2コラム16に対して1つの回転軸(φ2)で回転可能であり、3軸(X,Y,Z)方向に角度可変である。第2関節22もまた、4つのモータ(図示せず)を有する4自由度関節である。
【0034】
この腕型ロボット12とテーブル26を挟んでユーザ28が対面し、実施例のロボットシステム10では、ユーザ28が提示する動作を先に述べた自己組織化的な学習過程を通して、腕型ロボット12が模倣する。その意味で実施例のロボットシステム10は動作模倣装置ないし動作学習装置ということができる。ただし、実施例では、ロボットとして腕型ロボット12を用いているので、ユーザ28はその腕30だけを動かす動作を提示することとする。
【0035】
しかしながら、模倣主体として実施例の腕型ロボット12に代えて別の形式のロボット、たとえば人間とほぼ同じ可動部分を有するヒューマノイドロボットを用いることもでき、ヒューマノイドロボットを用いる場合には、ユーザ28は腕の動きだけでなく、全身の可動要素を使って動作を提示でき、ヒューマノイドロボットはその全身動作を自律的に模倣し学習することになる。
【0036】
ユーザ28の提示する動作は、腕だけの動作であっても、全身動作であっても、実施例では、3次元光学モーションキャプチャカメラ32で捕捉される。このモーションキャプチャカメラ32で撮影した3次元映像信号はサーバ34に入力される。サーバ34は3次元映像信号を処理して、モーションキャプチャデータを作成する。モーションキャプチャデータは、ユーザ28が提示する連続動作を示す時系列データであり、このモーションキャプチャデータすなわち時系列データは、このサーバ34から、たとえば無線LAN(図示せず)を介して、ロボット12に与えられる。
【0037】
腕型ロボット12は、図2に示すように、コンピュータ36を含み、コンピュータ36は、バス38を介して、メモリ40,モータ制御ボード42,センサ入力/出力ボード44および音声入力/出力ボード46に接続される。
【0038】
メモリ40は、図示しないが、ROM,HDDおよびRAMなど任意のメモリ素子を含む。ROMやHDDには、ロボット12の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力(センサ情報)を検知するための検知プログラムや、外部コンピュータ、たとえばサーバ34などとの間で必要なデータや情報を授受するための通信プログラム、さらにSARMなどのモデル化手段を構築するためのプログラムなどが記録される。また、RAMは、ワークメモリやバッファメモリとして用いられる。メモリ40内のフラッシュメモリのようなROMやHDDは、後述のようにした獲得または学習した有意な動作系列(キーワード)を保存するために利用される。
【0039】
モータ制御ボード42は、たとえばDSPで構成され、図1に示す第1関節20および第2関節22の各軸モータの駆動を制御する。モータ制御ボード42は、コンピュータ36からの制御データを受け、第1関節20の1つの回転角および3つの関節角、すなわち4つのモータを制御する。同様にして、モータ制御ボード42は、コンピュータ36からの制御データを受け、第2関節22の1つの回転角および3つの関節角すなわち4つのモータを制御する。これらのモータはステッピングモータや直流モータであってよい。
【0040】
つまり、腕型ロボット12が第1関節20および第2関節22を制御してハンド24を動かす場合、コンピュータ36がハンド24の座標を指定してその座標データをモータ制御ボード42に出力することによって、ハンド24を指定した座標位置に動かすように設計している。ロボット12(のコンピュータ36)は、上述のようにモーションキャプチャを通して、ユーザ28の手先、実施例では特に右手の手先の座標位置を観測できる。そして、ロボット12がユーザ28の提示した動作を理解した上でその動作を再現する場合、コンピュータ36はユーザ28の手先座標をそのままモータ制御ボード42に設定することによって、ハンド24をその手先座標位置に動かすことができる。つまり、ロボット12はユーザ28の手先座標を自らの手先座標に直接的に写像することができる。ただし、モータ制御ボード42では、目標位置が連続して与えられたり、外れ値が与えられた際には、前後の座標位置とともに平滑化することによって、ハンド24をスムーズに動かすように指定している。
【0041】
センサ入力/出力ボード44は、モータ制御ボード42と同様に、DSPで構成され、各センサからの信号を取り込んでコンピュータ36に与える。接触センサ48は図1では図示していないが、たとえばハンド24の表面に設置され、ユーザ28が接触したことを検知できる。カメラ50はユーザ28などを撮影するもので、映像信号を出力する。接触センサ48およびカメラ50の映像信号はコンピュータ36に入力され、コンピュータ36は、それらの信号を処理または分析して、ユーザ28からロボット12に対して与えられた返答(後述)が肯定を意味するのか、否定を意味するのかなどを判断することができる。
【0042】
音声入力/出力ボード46もまた、同様に、DSPで構成され、コンピュータ36から与えられる音声合成データに従った音声または声がスピーカ52から出力される。また、マイク54からの音声入力が、音声入力/出力ボード46を介してコンピュータ36に与えられる。マイク54からの音声信号はコンピュータ36に入力される。したがって、後述のようにロボット12が動作を提示した後に、ユーザ28からロボット12に対して音声で返答(リアクション)を返すこともできる。
【0043】
また、コンピュータ36は、バス38を介して通信LANボード56に接続される。通信LANボード56は、たとえばDSPで構成され、コンピュータ36から与えられた送信データを無線通信装置58に与え、無線通信装置58は送信データを、ネットワークを介して外部コンピュータ(たとえばサーバ34)に送信する。また、通信LANボード56は、無線通信装置58を介して、たとえばサーバ34から送信されたモーションキャプチャデータ(時系列データ)を受信し、受信した時系列データをコンピュータ36に与える。
【0044】
図1および図2に示す実施例のロボットシステム10において、ユーザ28は、たとえば手で何か目印になる物体を持つなどした状態で、自分の腕30を動かして、腕型ロボット12に向かって、厳密には、3次元モーションキャプチャカメラ32に向かって、動作を提示する。発明者等が実験で採用した、ユーザ28が提示する動作の一例が図3および図4の写真で示されている。図3の動作は、手先(物体)を上下に動かす(1→2)「上下動作(Up-down motion)」であり、図4に示す動作は、手先(物体)で四角形を描くように動かす(1→2→3→4)「四角形動作(Square motion)」である。
【0045】
このような動作を含んでユーザ28は、セッションの中で図5に例示する動作系列をロボット12に対して提示する。ただし、ユーザ28は、このとき、動作はこれらの特徴的な動作を含む形で他の動作と連続的に提示してもかまわない。
【0046】
ユーザ28とロボット12とがことのように相互作用(やりとり)をしている一連の時間を「セッション」と呼ぶ。1つのセッションは、たとえば、ユーザ28がロボット12の存在する部屋に入ってきたときから始まり、その部屋からユーザ28が出るまで続き、あるいは、ロボット12が人間28の動作を観察し始めてそれが終わるまでを1つのセッションとすることもある。
【0047】
セッションの時間中、ユーザ28がたとえば図5のように提示した動作系列が、3次元モーションキャプチャカメラ32で撮影され、その結果、サーバ34がその一連の動作系列に応じた時系列データを作成する。この時系列データは、上で説明したように、たとえば無線によって、腕型ロボット12のコンピュータ36に与えられる。時系列データがサーバ34から与えられると、ロボット12のコンピュータ36は、図6の最初のステップS1でその時系列データをメモリ40(図2)のRAMに一時記憶する。
【0048】
つまり、セッションが行われている間、3次元モーションキャプチャカメラ32がユーザ28の示す動作系列を取得し、サーバ34が、その動作系列をベクトル値に変換して時系列データを得る。ただし、実際のセッションで起こりうる人間(ユーザ)の動作すべては有限次元ベクトルですべて捉えられるものでもないので、サーバ34では、特徴量を有限次元ベクトルとして得て、時系列的に保存することによって、時系列データを生成する。したロボット12では、複数のセッションを通じて複数の時系列データが入手できる。そして、各セッションはそれ自体のトピックをある程度保持している。
【0049】
続いて、コンピュータ36は、ステップS3において、以下に詳細に説明するように、SARMを用いて文書を生成する。SARMは、多次元の時系列を複数の自己回帰(AR:autoregressive model)モデル(線形モデル)とその切り替わりによりモデル化する手法であり、これによって、連続的な時系列が各個別の時系列へ分割される。
【0050】
各ARモデルを表す隠れ状態はマルコフ過程に基づいて遷移するとものする。SARMはM個の隠れ状態を持つ。時刻tにおける隠れ状態をsとしたとき、隠れ状態j=stは数1で示すARモデルを持つ。
【0051】
【数1】
JP0005252393B2_000002t.gif
ここで、xは時刻tにおける時系列情報の状態量、すなわちロボット12が獲得したユーザ28の腕の関節角などの情報であり、v~N(0,Q)はノイズを表す。
【0052】
まず、ロボット12が時系列データx1:T(t=1~t=Tまでの時系列情報)を観測した際に、どのARモデルから生成されたものとして認識されるかについての計算機構について説明する。このためには、事後確率Pr(s=j|x1:T)を計算する必要がある。隠れ状態遷移がマルコフ過程に従うとすると、事後確率Prは数2で計算される。
【0053】
【数2】
JP0005252393B2_000003t.gif
ここで、cは正規化定数であり、Zは隠れ状態の遷移確率行列である。Z(i,j)が隠れ状態iからjの遷移確率を表す。数3は、j番目のARモデルによる時刻tにおける予測誤差に基づく尤度を表わす。
【0054】
【数3】
JP0005252393B2_000004t.gif
ここで、Nは中心をAt-1、そして分散共分散行列をQとした多次元正規分布を表す。backward(バックワード)の計算により以下のように計算される。
【0055】
【数4】
JP0005252393B2_000005t.gif
ここでの導出は、ほとんどHMM(hidden Markov model:隠れマルコフモデル)と同様である。パラメータA、Q、Zも以下のEMアルゴリズム(expectation-maximization algorithm)を用いることで推定することができる。
【0056】
【数5】
JP0005252393B2_000006t.gif

【0057】
【数6】
JP0005252393B2_000007t.gif

【0058】
【数7】
JP0005252393B2_000008t.gif
ここで、W≡Pr(s=j|x1:T)、P≡xx’、かつP≡xx’t-1。ただし、Zは固定とした。しかしながら、初期の分布P(s=j)=πを推定し、さらには、Z(i、j)も推定するようにしてもよい。
【0059】
次に、計算された事後確率から最大のARモデルを選ぶことで、時系列データを文字列、すなわち文書に変換する。つまり、ステップS3では、多次元時系列データの各時系列(セグメント)をモデル化し、同じモデルを同じ文字で表すことによって、時系列データを離散的な文字列、すなわち文書に変換する。
【0060】
【数8】
JP0005252393B2_000009t.gif
ここで、sは最も尤もらしい隠れ状態を指す。隣接する同じ隠れ状態を無視することで、図7に示すように、隣接する文字は必ず異なる文書へ圧縮される。これにより、セッション数と同じだけの文書を獲得することができる。このようにして、ステップS3において時系列に基づいて文字列(文書)を生成する。したがって、このステップS3が文書または文字列生成手段として機能する。
【0061】
この後に、ロボット12すなわちコンピュータ36は、図6のステップS5において、図5に示す一見意味のない文字列からキーワード(有意な分節)を抽出する。したがって、このステップS5が有意な分節またはキーワード抽出手段として機能する。
【0062】
一般的に、隠れ状態の列により形成されるn-gram(n-gramは文書中で連続するn個の文字を意味する。たとえば、[1,3,4,5]、や[2,1,2,1]など)はある種の動作系列を表象するが、そのほとんどの動作はユーザにとって意味がない。たとえば、隠れ状態が10存在するとした場合、4-gramにより動作モーションが形成されると、主動作の候補は組み合わせから約7000に上る。この非常に多い候補をユーザのリアクションを通じた教示のみにより絞っていくことは困難である。そこで、その中から全セッション通じてのインタラクションで得られた統計的な情報を用いてキーワードを抽出することが重要となる。
【0063】
キーワードを抽出する手法として、実施例では、たとえば梅村氏の「辞書を用いないキーワード抽出法」(梅村恭司「未踏テキスト情報中のキーワード抽出し開発」IPA未踏ソフトウェア創造事業平成12年度開発成果論文http://www.ipa.go.jp/archive/NBP/12nendo/12mito/mdata/10-36h/10-36h.pdf 2000.)を利用する。
【0064】
辞書を使わずに未知の文書から意味のある分節を切り出すことは日本語のような空白で単語が区切られていない言語では難しい。多くのキーワード抽出手法では形態素解析を用いたり、辞書を用いるアプローチがなされていた。
【0065】
これに対して梅村氏は、キーワードが文書中に偏って現れる性質に着目して新規なキーワード抽出手法を提案した。人間によってかかれた文書群では、もし、文書のトピックがキーワードに関係するならば、キーワードは文書中に複数回現われ易い傾向があることが知られている。この興味深い定量的な傾向性は自然言語で書かれた文書において示されている(K. Church. Empirical estimates of adaptation: the chance of two noriegas is closer to p/2 than p 2. Proceedings of the 17th conference on Computational linguistics-Volume 1, pages)。一方で、キーワードとなる語は他の文書中では殆ど出てこない。この仮定に基づき、梅村氏はn-gramがキーワードかどうかをスコアリングする非常に簡単な手法を提案した。スコアが高いほどそのn-gramはキーワードである可能性が高いと見なされる。
【0066】
統計量に基づいたそのスコアは“positive adaptation”と呼ばれる。Church氏はpositive adaptationを以下で定義した。
【0067】
【数9】
JP0005252393B2_000010t.gif
ここで、DF(Document Frequency k)は指定のn-gramをk個かそれ以上含む文書の数を示す。DFは文書検索などの領域で有名なdocument frequency DFを一般化したものである。DFは指定のn-gramを含む文書の数(文書頻度)である。
【0068】
しかし、positive adaptationだけではキーワードかどうかを特定するのに不十分である。なぜならば、部分文字列も元の文字列とほぼ同じpositive adaptationを持つからである。たとえば、「パイナップル」と「パイナップ」は殆ど同じ頻度で同じように現れる。
【0069】
この問題を解決するために、梅村氏は、このスコアの和が最大になるように文書を分節化することで、n-gramの境界を求めた。n-gramのスコアは以下で表される。
【0070】
【数10】
JP0005252393B2_000011t.gif
ここで、UB(Upper Bound)は設計者により決定されるメタパラメータである。一般的に、UBが1.0に近いと、 対象の文書は細かく分節化され、UBが0.0に近いと、対象の文書は粗く分節化されることになる。
【0071】
もし、DF>MAならばn-gramは「ワードリスト」(word list)にそのスコアと共に登録されることにした(図8参照)。MA(Minimum Appearance最小出現頻度)はワードリストの大きさを決めるメタパラメータである。図8に示すワードリストは、ワードスコア表であり、時系列データをモデルで分節化した結果得られた文書の集合から統計的に計算されるものであり、SARMで求めたARモデルとともに、メモリ40に保存される。つまり、このワードリストは、ARモデルが示す文字を含む文字列(ワード)のスコアを計算したものであり、後述のキーワード抽出の際に利用する。
【0072】
梅村氏の研究では、これらのパラメータ、UBやMAは発見的に定められていた。しか
し、実験結果は明白にこれらの値に依存する。もし、対象のn-gramがランダムに文書中に分布しているならばPr(+adapt)=DF/DNとなる。ここで、DN(Document Number)は文書の総数を示す。実施例では、Pr(+adapt)にスケーリングのためのlogをかけたものを単純にキーワードかどうかのスコアとした。
【0073】
また、梅村氏の方法と同じく、文書の最適な分節を特定するために、各n-gramのスコアを文書の分節の基準として用い、分節化した後の文書に含まれる語のスコアが最大になるように分節化を行なった。最適な分節の計算においては、Viterbi search(ビタビ探索)を用いた。これは計算量を減らすためである。ワードリストに登録されていない語のスコアは、-10000とした。
【0074】
このようにして、ステップS3で時系列データの分節化を行った後に、ステップS5で、分節化された文書からキーワード(意味のある文節)を抽出する。ただし、発明者等の実験では、以下の条件を満たすものをキーワードとして抽出した。
1.DF2/DN<Fmax
2.score>scoremin
3.1つより多くの文字を含むこと。
【0075】
このキーワード抽出手法は最終的に4つのメタパラメータを含む。UB、MA、Fmaxとscoreminである。これらは実施例において発見的に決定されているが、将来的にはその決定手法についても検討する必要がある。
【0076】
このようにして、キーワード(有意な分節)を獲得したら、コンピュータ36は、そのキーワードをメモリ40に保存する。
【0077】
ここまでのステップS1-S5を実行することによって、ユーザ28とのセッションを通じて取得した非分節な時系列データを分節化でき、ステップS5が終わった時点で、有意な分節(キーワード)が保存できる。したがって、一連の動作としてはこのステップS7で一旦終了する。
【0078】
その後、ロボット12が別途、図6のステップS7以降に示す処理を実行することによって、ロボット12が上述のようにして学習した動作の評価をする。したがって、本来的には、ステップS5までの処理とステップS7以降の処理とは連続する必要はないのであるが、他方、その連続処理を排除するものでもない。したがって、図6に示す実施例では、これらの処理を連続して実行するものとし、以下説明する。
【0079】
ステップS7で、ロボット12は、ステップS5で保存したキーワードを用いて動くことによって、ユーザ28に対して、キーワードに基づいて再現した動作を提示する。つまり、コンピュータ36がキーワードに含まれた文字に従って、ステップS3で用いたSARMに含まれるARモデルを起動することによって、モータ制御データを獲得し、ロボット12の第1関節20および第2関節22を動かす。詳しくいうと、キーワードを抽出した後に、コンピュータ36は、元の時系列データから、そのキーワードが用いられていたときに、それぞれの隠れ状態にどれだけの時間滞在したかの平均を算出する。また、コンピュータ36は、キーワードに相当する動作が開始される初期位置についても同様にして求める。これらの情報を用いることによって、コンピュータ36がモータ制御データを生成して、モータ制御ボード42(図2)へ与える。それによって、ロボット12が、文字で書かれたキーワードに従って実世界の連続値の動作系列を生成する。
【0080】
ロボットがインタラクションにおいて意味のある動作をした場合、たとえば、「手を振る」、「バイバイ」、「お辞儀をする」などをした場合は、その前にいるユーザ28も何かしらかの意味のある動作を返す可能性が高まるものと仮定する。そうすると、その応答に意味のある動作が含まれているかどうかは、獲得したSARMとワードリストを用いることで認識することができる(図9参照)。
【0081】
実施例では、ロボット12が、抽出したキーワードに基づいて主動作(key motion)であると考えるものをユーザ28に提示した後に、ユーザ28は、ロボット12に対してリアクション(返答動作)を返す。そこで、ステップS9で、先に説明したステップS1‐S3を再度実行することによって、ロボット12がユーザ28のリアクションに含まれる動作系列を再度観測するようにした。
【0082】
この再度の観測の結果、ステップS11で、ユーザ28が再提示した動作系列の中に上記した主動作が含まれていることを検知すれば、そのときのロボット12の動作は、ユーザ28にとって意味あるものであったと考えることができる(正のフィードバック)ので、ステップS11で“YES”が判断され、ステップS13において、ロボット12がステップS7で提示した動作の信頼度を増加または加算する。逆に、ユーザ28のリアクション中の動作系列に上記した主動作が含まれていることが検知できなければ、その提示動作はユーザ28にとって意味のない動作であった(負のフィードバック)と判断できる。したがって、ステップS11で“NO”が判断され、ステップS15において、提示動作の信頼度を減少または減算する。つまり、提示動作の信頼度がユーザのリアクションによって評価される。
【0083】
続いて、ステップS17において、コンピュータ36は、ステップS13またはS15で増減した信頼度が、予め設定してある閾値より小さいかどうか判断する。ステップS17で“NO”が判断されたとき、つまり、提示動作に一定の信頼性があった場合には、そのまま終了する。ただし、ステップS17で“YES”が判断されたとき、つまり、提示動作に信頼性がなかった場合には、ステップS19で、先のステップS5でメモリ40に保存したキーワード(分節)を破棄して終了する。ただし、ステップS9‐S19の評価は、1回だけのユーザのリアクションで判断してもいいし、数回のリアクションを通じて判断するようにしてもよい。さらに多くの試行を経て統計的な情報を獲得してから判断することもできる。このように、提示動作の評価を行ない、その評価が一定以上であるときはキーワードやワードリスなどをそのまま保存しておき、評価が低い場合には、保存したキーワードやワードリスなどを破棄することによって、ロボット12が正しい動作を学習することができる。
【0084】
先に述べたように、ロボット12は、獲得したSARM、ワードリストおよびキーワードを用いて主動作と考える動作をユーザ28に提示し、それに対するユーザ28のリアクションを認識する。もし、ユーザ28がいつもロボット12のある動作Aに対して動作Bを返しているとすれば、その動作Bは動作Aへの応答として用いるものであることをロボットは認識することができる。この対を観測することで、ロボットはユーザが動作Aを行ったときの返答として動作Bを用いることができるようになる。つまり、ロボット12とユーザ28との間で役割反転が生じ、ロボット12はそれによってユーザ28の動作を模倣学習することができる。このように、ロボット12(のコンピュータ36)は、先のステップS7で生成してユーザ28に提示した提示動作に対するユーザの応答動作をステップS9およびS11で認識することによって、ユーザがA動作を示したときにはB動作をそれに対する返答として生成すべきだというルールすなわち応答戦略を獲得することができる。つまり、これによって、応答戦略獲得手段が形成される。
実験
発明者等は、提案手法の有効性を確かめるために図1に示すようなユーザ28とロボット12とのインタラクションのための環境を構築した。実験ではユーザ28の右手先のX軸、Y軸、Z軸が3Dモーションキャプチャカメラ32によって観測し、それぞれの時刻tにおける値を、x、y、zとした。実験では、簡単のため手先の模倣だけを論じる。
【0085】
先に説明したように、ロボット12はコンピュータ36によってハンド座標を指定することでそのハンド24が動かされるように設計してある。目標位置が連続して与えられたり、外れ値が与えられた際には、時系列情報を平滑化することで動く。ロボット12は、モーションキャプチャを通して、ユーザ28の手先座標を観測できる。状態変数はx=(xo、yo、zo、c)と定義した(ここで、c=100は定数)。また、各次元の単位は[mm]である。さらに、ロボット12はユーザ28の手先座標を自らの手先座標に直接的に写像することができるものとする。
【0086】
実験ではユーザ28はロボット12に21セッション分の動作を提示した。1セッションは約20秒ほどの時間であった 。モーションキャプチャにおけるサンプリングレートは、25[Hz]であった。それぞれのセッションでは、それぞれのセッションに特徴的な動作が中心的に示された。図3および図4に示す2種類のターゲット動作を準備した。どれだけの長さのインタラクションを行うかは、そのときの実験者(ユーザ28)に委ねた。
【0087】
セッション1-7では実験者(ユーザ28)は、主にup-down motionを提示した。またセッション8‐14では主にsquare motionを提示した。他のセッションではこれらの動作や他の動作がランダムに提示された。これらの時系列を実験者は明示的には分節化せずに、他の動作も混ぜながら連続して与えた。したがって、ロボット12はどこからどこまでがup-down motionなのか、どこからどこまでかsquare motionかは自ら発見しなければならない。また、いくつのどのような動作が学習対象なのかすらロボットは自ら発見しなければならない。さらに、ロボット12は何通りの動作をユーザ28が教えようとしているのかについても教えられていない。図5にユーザが提示した動作(セッション)の一例を示す。
【0088】
この実験では意味ある動作が連続して繰り返し提示される必要もないし、その間に意味のない動作が挿入されてもかまわない。
【0089】
これらの後にSARMのパラメータ({A、Q})が21回のセッション情報を基に推定された。Zは一定とした。Zの直行成分の0.964、その他の成分は0.004とした。隠れ状態の数は発見的に10と定めた。ARモデルの初期値は乱数を用いて決定した。EMアルゴリズムは5回繰り返し適用してARモデルのパラメータを決定した。これらのパラメータを用いて、SARMは事後確率Pr(s=j|x1:T)をそれぞれのセッションに対して求めた(数4)。
【0090】
最も尤もらしい隠れ状態の系列{s}がその事後確率から決定された(数8)。
【0091】
この系列を圧縮することでロボットは21の文書を得た。
【0092】
この後にキーワード抽出手法を用いて、最終的にいくつかのキーワードとワードリストを獲得した。実験ではパラメータは{UB=0.9、MA=2、Fmax=0.4、scoremin=0.5}とした。
結果
学習結果としてSARMのパラメータが推定され、ワードリストが計算された。
【0093】
キーワード抽出が行われ、7つのキーワードが抽出された。それらは[7,9,0,5,3,0,7],[9,0,5,3,0,7]、[9、0,5,3]、[7,9,4,3]、[0,7,9,0,5]、[3,0,7]、[9,4,3](ただし、各数値はSARMの隠れ状態を表している。)であった。
【0094】
これらの意味を理解するために、ロボット12にそれぞれに従って上述のようにして動作を生成させたところ、[7,9,4,3]と[9,4,3]がup-down motionに相当していた。この2つの違いは[7,9,4,3]が一度テーブルの上に手を止めてから腕を挙げるのに対し、[9,4,3]は直接手を挙げるというものであった。[7,9,4,3]により生成された動作を図10に示す。
【0095】
さらに、[7,9,0,5,3,0,7]がsquare motion に相当することが分かった。さらに、[9,0,5,3,0,7]と[9,0,5,3]がsquare motion の部分であることが分かった。このことは、キーワード抽出器(ステップS7)が完全には部分文字列を排除できていないことを示している。[7,9,0,5,3,0,7]から生成された動作を図11に示す。[3,0,7]は手を置いた位置から少し手を右に動かす動作であった。
【0096】
対して、[0,7,9,0,5]は実験者(ユーザ)にとって説明しがたい動作であった。しかしながら、このような動作もこの実施例では抽出されうる。実施例の手法が自己組織化型学習であり、教師あり学習ではないため、このような想定外の学習結果を含むことは大いにあり得る。[0,7,9,0,5]により生成された動作系列を図12に示す。これらはユーザにとって意味ある動作ではないので、ロボットは自らそれに気づく必要がある。
【0097】
獲得の後に、ロボットに5回づつ各動作を提示させた。実験者はロボットが意味ある動作(つまり、[7,9,0,5,3,0,7](square motion)、[7,9,4,3]か[7,4,3](up-down motion)をした際には、返答としてup-down motionを返した。しかし、それ以外の動作に対しては実験者はロボットに何も返さなかった。
【0098】
ロボットに動作を提示した後5秒間実験者の動作を観測させた。実験者がup-down motionを提示しなかったときでもユーザの動作時系列情報は持続的にロボットが得ている点は注意すべきである。
【0099】
もしロボットにロボットの動作に対する応答としてup-down motionが返ってきたとしたら十分な確率でロボットはその動作を意味ある動作[7,9,4,3]もしくは[7,4,3]として認識することができる。そして、ロボットは自らの動作が実験者にとって有意味であったと知ることができる。逆に意味ある応答を得られなかった場合には。ロボットは自らの動作がユーザにとって無意味だったことを知る。このユーザのリアクション(返答)を用いることで、最終的にロボットはユーザが意味ある動作とした、2つの意味ある動作を獲得することができた。
【0100】
これらの結果は、実施例の模倣学習の枠組みがロボットがいくつかの動作を獲得し、それらを認識し、さらに実験者にとって有意味なキーワードを特定できることを示している。
【0101】
ロボットはこのプロセスで[7,9,4,3]が[7,4,3]提示されたときはup-down motionを返答として出すべきだというルール(応答戦略)を獲得することもできる。これは最も簡単な役割反転模倣(role-reversal imitation)の枠組みである。それゆえ、実施例の枠組みは非分節な人間ロボット相互作用から最も簡単なレベルではあるが、役割反転模倣を可能にする枠組みであると言うことができる。
【0102】
なお、上述の実施例ではユーザ28が提示する動作を表現している時系列をステップS5でのモデリングの手法として、SARMを利用したが、このモデリング手法としては、これに限らず、たとえば、HMM(隠れマルコフ)でもよいし、適当な時間幅の窓をと時系列をAR(自己回帰)モデルでモデル化したものをパラメータ空間中でk‐means法、混合正規分布などでクラスタリングしてもよい。また、mixture of expertsを用いてもよい。
【0103】
さらに、他にも複数の学習器からなる競合モデルを用いてもかまわない。
【0104】
たとえば、有限個の統計モデルの切り替わりにより時系列をモデル化し、統計的計算からそれぞれの各時刻でのモデルの貢献度合い(事後確率や責任信号、ファジィ真理値など)を計算可能で、それらの情報を用いて(基本的にはそれらの値が最大となるモデルを選択する)各時刻の担当モデルを決定することによって、結果として時系列を分節化しつつ、モデル化し、また、それらの情報を用いて時系列を生成できるものならなんでもよい。
【0105】
また、3次元モーションキャプチャを用いてユーザ28の動作系列の時系列を作成してロボット12に与えるようにしたが、時系列の入力装置は、人間の動作情報を有限次元のベクトルの時系列情報として得られるものならなんでもよい。そして、その動作は、実施例のような手先の動作であってもかまわないし、ロボット12がヒューマノイドロボットのように全身構造を有する場合には、全身の動作であってもかまわない。
【0106】
また、動作を表現するベクトルは、手先などの指定部位の空間座標でも、関節角度の情報であっても、ユーザの部屋の中の位置情報であってもよく、ユーザ28の動きを表象する情報であればよい。さらに、その情報は位置や速度といった力学的なものである必要もなく、多次元ベクトルとしての映像情報や音情報であっても、ある種の特徴変換を用いても用いずとも結果として有限次元のベクトルとして時系列的に得られるものであれば構わない。
【0107】
また、それはユーザの部屋の中の位置といったような俯瞰的な情報であっても構わない。
【0108】
それゆえに、時系列データを入力するための入力装置は実施例のようなカメラ式のモーションキャプチャであってもよく、ジャイロ式のモーションキャプチャであっても構わないし、通常のビデオカメラであっても、ユーザの位置を特定するGPSであっても、センサネットワークであっても構わない。
【0109】
ステップS5でのキーワード抽出のために実施例では、梅村氏の提唱する「辞書を用いないキーワード抽出」の手法を採用したが、その際、各パラメータは異なる値であってもよく、また、特に梅村氏の手法に限らず、各シンボルの分布情報を用いて、文書を分節化し、キーワード抽出を行う手法であれば何であっても構わない。
【0110】
ロボット12は、実施例のような腕型ロボットやヒューマノイドロボットの他、他の任意の形式のロボット、たとえば犬型ロボットなど、人間の動作を模倣した結果を出力できるものなら何でも構わない。また、コンピュータやテレビ、ゲーム機のディスプレイ上やプロジェクタ上に映し出される仮想空間上のロボットや仮想生命体、その他のエージェントでも構わない。
【0111】
さらに、ステップS9においてロボット12が獲得した動作を再現してユーザ28に提示したとき、実施例では、ユーザ28が主動作を再提示するユーザリアクションをステップS11の前に行うことによって、ロボット12は自分が獲得した動作が正しかったかどうか、つまりステップS13で「提示動作がユーザリアクション中に見えたかどうか」を判断するようにした。しかしながら、より明示的なフィルタリングであっても構わない。たとえば、事前に設計した強化信号、つまり、頭をたたく動作や、音声によって「めっ!」「違う」などで候補を除去し、さらには、頭をなでたり、「よし」という言葉で強化を行うのでも構わない。そのために実施例の接触センサ48やマイク54(いずれも図2)が利用できる。これらを用いない場合、当然、接触センサ48やマイク54を設ける必要はない。
【0112】
ただし、このようなユーザによるフィルタリングは特にはなくても構わない。
【0113】
なお、学習順序についていえば、たとえばSARMを用いて離散的な文字列を生成するのは、ユーザとのセッション毎でも構わないし、数セッションをためてからでも構わない。これは、文字列からキーワードを抽出する場合についても同様である。
【0114】
実施例では、ロボット12がサーバ34から無線によってモーションキャプチャデータを時系列情報として受け取るようにしたが、ロボット12自身が3次元モーションキャプチャカメラ32の映像信号を処理することによって、自身でモーションキャプチャデータを作成するようにしてもよい。さらには、3次元モーションキャプチャカメラをロボットに組み込んでしまうこともできる。その場合には、ユーザ動作を取得するときには一定の姿勢を保持しておく必要がある。
【0115】
さらに、ロボット12内のコンピュータ36がロボットの動作を制御するようにしたが、ロボットとしては関節など必要な機械的構造とそれらを直接制御する電気回路構造だけを有するものとし、実施例のコンピュータ36に相当するコンピュータはロボットとは別に設けたものでよい。その場合には、ユーザ動作を表現したモーションキャプチャデータ(時系列)はその別のコンピュータに与えられる。したがって、前述のようにした獲得または学習した有意な動作系列(キーワード)はその別のコンピュータに保存されることになる。
【図面の簡単な説明】
【0116】
【図1】図1はこの発明の一実施例を示すロボットシステムの概要を示す図解図である。
【図2】図2は図1に示すロボットの電気的な構成を示すブロック図である。
【図3】図3は図1システムにおいてユーザが提示する動作の一例を示す写真である。
【図4】図4は図1システムにおいてユーザが提示する動作の他の例を示す写真である。
【図5】図5は図1システムにおいてセッションの過程でユーザが提示する動作系列の一例を示す写真である。
【図6】図6は図1の実施例におけるロボットの動作を示すフロー図である。
【図7】図7は時系列を分節化して離散的な文字列を生成することを示す図解図である。
【図8】図8はキーワードの決定の際のスコアを例示する図解図である。
【図9】図9(a)は図1システムにおいてユーザが提示する動作をSARMで推定した隠れ状態を示すグラフであり、図9(b)はロボットがユーザに提示した動作の時系列を例示するグラフである。
【図10】図10は図1システムにおいてロボットがUp-down motionについて獲得したキーワードを使ってユーザに提示した動作例を示す写真である。
【図11】図11は図1システムにおいてロボットがSquare motionについて獲得したキーワードを使ってユーザに提示した動作例を示す写真である。
【図12】図12は図1システムにおいてロボットが不明動作について獲得したキーワードを使ってユーザに提示した動作例を示す写真である。
【符号の説明】
【0117】
10 …ロボットシステム
12 …腕型ロボット
20 …第1関節
22 …第2関節
28 …ユーザ
32 …3次元モーションキャプチャカメラ
34 …サーバ
36 …コンピュータ
40 …メモリ
42 …モータ制御ボード
図面
【図1】
0
【図2】
1
【図6】
2
【図7】
3
【図8】
4
【図9】
5
【図3】
6
【図4】
7
【図5】
8
【図10】
9
【図11】
10
【図12】
11