説明

問題解決システム、問題解決支援装置及び問題解決方法

【課題】知能発達システムに要求される性質を満たす実世界における一般問題解決システムを提供する。
【解決手段】 ロボットと問題解決支援手段とプランナとを備える。問題解決支援手段は、入力層とパターン記憶層とシンボル記憶層とを有し、記号接地フェーズでは、パターン情報の種類に応じた自己増殖型のニューラルネットワークを用いて概念情報が対応付けられたパターン情報を学習し、知識獲得フェーズでは、ロボット自身の行動の前後の実環境でそれぞれ取得したパターン情報から変化前後の環境モデルをそれぞれ取得して、前提条件と削除リストと追加リストとロボットの動作情報とを含むオペレータを生成し、問題解決フェーズでは、タスクの初期状態及び目標状態をプランナに入力してプランニングをし、プランナが出力するプラン中の動作情報に応じた動作をロボットに実行させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、問題解決システム、問題解決支援装置及び問題解決方法に関する。
【背景技術】
【0002】
実世界において知的に振る舞うヒューマノイドロボットの実現には、ロボットの動作に必要な制御理論や知能に関する情報理論の他、多岐に渡る幅広い研究分野の密接な連携が必要となる。その中でもヒューマノイドロボットの運動制御に関しては、本田技研工業株式会社のASIMO(登録商標)に代表されるような自律二足歩行に関する研究や、小型ヒューマノイドロボットを用いた物体操作の学習に関する研究(非特許文献1)など、民間企業や研究機関において盛んに研究が行われている。しかし一方で、ヒューマノイドロボットの知能情報処理に関しては、特に非特許文献2の要求仕様にある「非定型の作業が自律的に実行できる」とする研究はこれまでに報告されていない。そこで本願出願人は、ヒューマノイドロボットの知能、具体的には実世界における汎用的な問題解決をキーワードとし、その足がかりとなるアーキテクチャを提案する。
【0003】
従来の知能ロボットは、予め考え得る状況や行動を設計者がロボットに組み込むことで実現されてきた。つまり、if Q1 then A1(Q1という状況でA1という行動をとる)といったif−thenルールを大量に組み込むことによって、あたかもロボットが状況に合わせて知的に行動しているかのように見せてきた。しかし、そのようなシステムでは、状況が想定範囲を外れた途端に破綻してしまう。特に、実世界のような常に複雑に変化する環境に対しては、その時々に適切な行動を予め組み込んでおくことは不可能である。
【0004】
そうした従来法に代わるアプローチとして、ロボットの根本的な設計論に着眼した認知発達ロボティクス(Cognitive Developmental Robotics(非特許文献3):以下、CDRと称する。)がある。CDRではロボットの身体性に焦点をあて、ロボット自身が自らの身体を通じて環境と接し、その結果として世界から得られる情報を理解する過程が重要であるとしている。つまり、CDRの基本概念は、環境との相互作用を通じてロボットが自らの行動を認識・学習することで、様々な状況に対応可能な、経時的に発達するシステムを構築することにある。CDRの必要性は「ロボット分野に関するアカデミック・ロードマップ(非特許文献4)」においても指摘されている。
【0005】
さらに、非特許文献5において、Wengらはロボットの知能発達という観点から、発達システムの持つべき性質を以下のようにまとめている。
1.タスクに特有なシステムではないこと。
2.タスクがシステムの設計者にとって未知であること。
3.未知のタスクに対するアプローチを生成できること。
4.オンライン学習が可能であること。
5.オープンエンド学習が可能であること。
尚、データを予め全て用意した上で学習を行うバッチ学習に対して、逐次的にデータを取得して学習が可能であることを、オンライン学習が可能であるという。また、本明細書中では、オープンエンド学習を学習に終わりがないこととして解釈した。また、後述するように、本発明では、システムのオープンエンド学習を可能にする性質として、SOINNのオンライン追加学習が可能という性質や、ネットワークを自己組織的に成長させるという性質を利用する。
【0006】
CDRに基づく手法によれば、上記3.以外の全ての性質を満たすことが原理的には可能である。しかし、性質3.は、知能レベルにおいて他の性質とは一線を画すものである。この性質は、知識(タスクに対する解決法を指し、以下では、これを知識と表現する。)を"獲得"するだけでなく、自律的に知識を"生成"する能力を求めている。これを実現するには、CDRの基本概念に加えて、既存の知識を利用して新たな知識を生み出すメカニズムが必要となる。
【0007】
非特許文献6において、小倉らは、ヒューマノイドロボットのための簡易な教示システムを開発した。この教示システムは、オンラインでの教示が可能であり、また、ある程度環境が変化しても再現可能である。このシステムでは、人間がその場でロボットの身体を直接触って動作を教示することで、新しいタスクや環境での行動獲得が可能である。例えば、キッチンなどの生活環境においてロボットがコップの掴み方を知らない場合、人間がロボットの手先を持って即座に教示することができる。このロボットは、教示時の目標状態だけを記憶しておき、動作再現時に教示時と自己の位置が異なる、或いは、途中に障害物があるなどの場合においても、教示された動作を再現(目的再現)することができる。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】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, vol.19, pp.323-337, 2006.
【非特許文献2】比留川博久,"人間型ロボットの近未来応用," 日本ロボット学会誌,vol.22,no.1,pp.6-9,2004.
【非特許文献3】浅田稔,國吉康夫,"認知発達ロボティクス,"ロボットインテリジェンス," pp.304-328,岩波書店,東京,2006.
【非特許文献4】國吉康夫, "R11:創発・発達知能システム情報学(國吉康夫)," ロボット分野に関するアカデミック・ロードマップ,pp.II77-II86,March. 2007. (オンライン),入手先< http://www.ai-gakkai.or.jp/jsai/activity/rloadmap.html >,(参照2009-08-22).
【非特許文献5】J. Weng, J. McClelland, A. Pentland, O. Sporns, I. Stockman, M. Sur, and E. Thelen, "Autonomous mental development by robots and animals, " Science, vol.291, no.5504, pp.599-600, 2001.
【非特許文献6】小倉崇,羽根田淳,岡田慧,稲葉雅幸, "自律行動の誘導に基づく等身大ヒューマノイドの全身動作のオンライン教示システム," 第23 回ロボット学会学術講演会予稿集,pp.1F25,2005.
【非特許文献7】S. Harnad, "The symbol grounding problem, " Physica, Vol.D42, pp.335-346, 1990.
【非特許文献8】G.W. Ernst, and A. Newell, GPS: A Case Study in Generality and Problem Solving, Academic Press, New York, 1969.
【非特許文献9】F. Shen, and O. Hasegawa, "An Incremental Network for On-line Unsupervised Classification and Topology Learning, " Neural Networks, vol.19, pp.90-106, 2006.
【非特許文献10】J. McCarthy, and P.J. Hayes, "Some philosophical problems from the standpoint of artificial intelligence, " Machine Intelligence, vol.4, pp.463-502, 1969.
【非特許文献11】下畑光夫、山田誠二、安部憲広、辻三郎、"状態記述系列からのオペレータの生成、"情報処理学会第41回全国大会論文集(3)、5L-1、pp.55-56、1990.
【発明の概要】
【発明が解決しようとする課題】
【0009】
非特許文献6に開示されたロボットによる目的再現は、一見、知識を生成しているように見える。しかし、これは教示時とは動作系列が異なるという意味においては自律的な行動生成を実現しているものの、タスク全体としてはTeaching−Playbackに他ならない。つまり、知識そのものを生成してはおらず、非特許文献5でWengらが示した性質3.を満たしてはいない。
【0010】
例えば、人間の教示によって、「目の前にあるコップを手に取る」という知識と「手に持っているコップを洗う」という知識をロボットが獲得したとする。このとき、非特許文献6に開示された手法では、ロボットはこれら知識に対応した2つのタスクを実行することはできるものの、「コップを手に持っていない状態で目の前にあるコップを洗う」という新しいタスクを実行することはできない。この新たなタスクを実現するには、ロボットは、「目の前にあるコップを手に取って、手に持ったコップを洗う」という一連の作業を1つの知識として獲得しておかなければならない。しかし、われわれ人間は、そうした一連の作業を直接的に教えられていなくても、既存の知識を組み合わせることで、このタスクを実行することができる。このように人間と同じようにして、汎用のタスクに対して、既存の知識を能動的に運用して、新たな知識を生成可能な知能ロボットの実現が求められる。
【0011】
従って本発明は、非特許文献5に開示された性質3.を含めて、知能発達システムの持つべき全ての性質を満たす、実世界における一般問題解決システムを提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明に係る問題解決システムは、タスクを実行するロボットと、前記ロボットが存在する実環境中のパターンをパターン情報として取得するパターン情報取得手段と、前記パターン情報取得手段で取得したパターン情報と、与えられるパターン情報の概念情報と、与えられるロボットの動作情報と、に基づいて、前記ロボット自身による行動と実環境の変化との因果関係を表現するオペレータを生成する問題解決支援手段と、前記問題解決支援手段で生成したオペレータの集合を用いて、与えられるタスクの初期状態から目標状態へと至るプランをプランニングするプランナと、を備え、前記問題解決支援手段は、前記取得したパターン情報と、前記パターン情報の概念情報と、前記ロボットの動作情報と、を入力として受け付ける入力層と、前記入力層を介して入力される、前記パターン情報と、当該パターン情報の概念情報と、前記ロボットの動作情報と、を保持するパターン記憶層と、実環境の状態を記述する述語であって、前記パターン記憶層に保持された前記パターン情報の概念情報を参照する述語について、前記述語の集合である環境モデルと、前記述語及び前記ロボットの動作情報を含むオペレータと、を保持するシンボル記憶層と、を有し、記号接地フェーズでは、前記パターン情報の種類に応じた自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習し、知識獲得フェーズでは、前記ロボット自身の行動の前後の実環境においてそれぞれ取得したパターン情報から、実環境の変化前後の環境モデルである変化前環境モデル及び変化後環境モデルをそれぞれ取得して、前記取得した変化前環境モデルの述語を要素とする前提条件と、前記取得した変化前環境モデルの述語のうち前記取得した変化後環境モデルの述語には含まれていない述語を要素とする削除リストと、前記取得した変化後環境モデルの述語のうち前記取得した変化前環境モデルの述語には含まれていない述語を要素とする追加リストと、前記ロボットの動作情報と、を含むオペレータを生成し、問題解決フェーズでは、前記タスクの初期状態及び目標状態をそれぞれ初期状態環境モデル及び目標状態環境モデルとして前記プランナに入力してプランニングを実行し、前記プランナが出力するプラン中の動作情報に応じた動作を、前記ロボットに実行させるものである。
【0013】
前記自己増殖型ニューラルネットワークとしては、Self-Organizing Incremental Neural Networkを用いると好適である。
【0014】
また、前記パターン情報取得手段は、前記パターン情報として少なくとも画像又は音声パターン情報を取得し、前記問題解決支援手段は、記号接地フェーズでは、少なくとも画像又は音声パターン情報に応じた画像用の自己増殖型のニューラルネットワーク又は音声用の自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習するようにしてもよい。
【0015】
さらにまた、前記問題解決支援手段は、前記タスクの初期状態及び目標状態を記述する述語であって、当該述語が参照する前記パターン記憶層に保持された前記パターン情報の概念情報が未知の物体の状態であることを示す場合には、当該述語を、前記プランナへの入力に先立って前記初期状態環境モデル及び前記目標状態環境モデルから取り除くものとしてもよい。
【0016】
また、前記ロボットの動作情報を取得する動作情報取得手段を更に備え、前記動作情報取得手段は、前記ロボットの関節角度の時系列データを取得するものとしてもよい。
【0017】
さらにまた、前記プランナは、現在状態と目標状態との差異を減少させるオペレータを選択し、当該選択したオペレータを現在状態に再帰的に適用するプロセスを繰り返すことで、前記目標状態を達成するプランをプランニングするものとしてもよい。
【0018】
また、前記問題解決支援手段は、前記プランナが出力する複数のプランのうち、前記ロボットに実行させた場合に当該ロボットが実行に要するエネルギーを最小化する一のプランを選択するようにしてもよい。
【0019】
本発明に係る問題解決支援装置は、ロボットに実行させるタスクの初期状態から目標状態へと至るプランを、プランナを用いてプランニングさせるための問題解決支援装置であって、前記ロボットが存在する実環境中の少なくとも画像又は音声パターンのパターン情報と、前記ロボットの関節角度の時系列データであるロボットの動作情報を取得し、当該取得したパターン情報と、前記パターン情報の概念情報と、前記ロボットの動作情報と、を入力として受け付ける入力処理部と、前記入力処理部を介して入力される、前記パターン情報と、当該パターン情報の概念情報と、前記ロボットの動作情報と、を保持するパターン記憶部と、実環境の状態を記述する述語であって、前記パターン記憶部に保持された前記パターン情報の概念情報を参照する述語について、前記述語の集合である環境モデルと、前記述語及び前記ロボットの動作情報を含むオペレータと、を保持するシンボル記憶部と、を有し、記号接地フェーズでは、前記パターン情報の種類に応じた自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習し、知識獲得フェーズでは、前記ロボット自身の行動の前後の実環境においてそれぞれ取得したパターン情報から、実環境の変化前後の環境モデルである変化前環境モデル及び変化後環境モデルをそれぞれ取得して、前記取得した変化前環境モデルの述語を要素とする前提条件と、前記取得した変化前環境モデルの述語のうち前記取得した変化後環境モデルの述語には含まれていない述語を要素とする削除リストと、前記取得した変化後環境モデルの述語のうち前記取得した変化前環境モデルの述語には含まれていない述語を要素とする追加リストと、前記ロボットの動作情報と、を含むオペレータを生成し、問題解決フェーズでは、前記タスクの初期状態及び目標状態をそれぞれ初期状態環境モデル及び目標状態環境モデルとして前記プランナに入力し、前記知識獲得フェーズで生成したオペレータの集合を用いて前記プランナにプランニングを実行させ、前記プランナが出力するプラン中の動作情報に応じた動作を、前記ロボットに実行させるものである。
【0020】
本発明に係る問題解決方法は、問題解決支援手段を用いてロボット自身による行動と実環境の変化との因果関係を表現するオペレータを生成し、当該生成したオペレータの集合を用いてタスクの初期状態から目標状態へと至るプランをプランナにプランニングさせ、当該プランをロボットに実行させる問題解決方法であって、前記ロボットが存在する実環境中の少なくとも画像又は音声パターンのパターン情報を取得するステップと、前記ロボットの関節角度の時系列データであるロボットの動作情報を取得するステップと、記号接地フェーズにおけるステップと、知識獲得フェーズにおけるステップと、問題解決フェーズにおけるステップと、を有し、前記記号接地フェーズでは、前記取得したパターン情報と、前記パターン情報の概念情報と、を入力層に入力として受け付け、前記パターン情報の種類に応じた自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習してパターン記憶層に保持するステップと、を有し、前記知識獲得フェーズでは、実環境の状態を記述する述語であって、前記パターン記憶層に保持された前記パターン情報の概念情報を参照する述語について、前記述語の集合である環境モデルに関して、前記ロボット自身の行動の前後の実環境においてそれぞれ取得したパターン情報から、実環境の変化前後の環境モデルである変化前環境モデル及び変化後環境モデルをそれぞれ取得するステップと、前記取得した変化前環境モデルの述語を要素とする前提条件と、前記取得した変化前環境モデルの述語のうち前記取得した変化後環境モデルの述語には含まれていない述語を要素とする削除リストと、前記取得した変化後環境モデルの述語のうち前記取得した変化前環境モデルの述語には含まれていない述語を要素とする追加リストと、を生成するステップと、前記ロボットの動作情報を入力層に入力として受け付け、前記前提条件と、前記削除リストと、前記追加リストと、前記ロボットの動作情報と、を含むオペレータを生成するステップと、前記取得した変化前環境モデル及び変化後環境モデルと、前記オペレータと、をシンボル記憶層に保持するステップと、を有し、前記問題解決フェーズでは、前記タスクの初期状態及び目標状態をそれぞれ初期状態環境モデル及び目標状態環境モデルとして前記プランナに入力ステップと、前記知識獲得フェーズで生成したオペレータの集合を用いて前記プランナにプランニングを実行させるステップと、前記プランナが出力するプラン中の動作情報に応じた動作を、前記ロボットに実行させるステップと、を有するものである。
【発明の効果】
【0021】
本発明によれば、知能発達システムの持つべき全ての性質を満たした、問題解決システム、問題解決支援装置及び問題解決方法を提供することができる。
【図面の簡単な説明】
【0022】
【図1】実施の形態1にかかる問題解決システムの概略構成を示すブロック図。
【図2】実施の形態1にかかるヒューマノイドロボットを示す図である。
【図3】実施の形態1にかかる実験環境を示す図である。
【図4】実施の形態1にかかる問題解決支援装置のアーキテクチャを示す図である。
【図5】実施の形態1にかかる問題解決システムを実現するためのコンピュータシステム構成を示す図である。
【図6】実施の形態1にかかるSOINNのフローチャートを示す図である。
【図7】実施の形態1にかかる知識獲得フェーズの流れを示す図である。
【図8】実施の形態1にかかる実環境のモデル化処理のフローチャートを示す図である。
【図9】実施の形態1にかかる問題解決フェーズのフローチャートを示す図である。
【図10】実施の形態1にかかる問題解決フェーズの前半の流れを示す図である。
【図11】実施の形態1にかかるプランナによるプランニングアルゴリズムを示す図である。
【図12】実施の形態1にかかる問題解決フェーズの後半の流れを示す図である。
【図13】実施の形態1にかかる実験で使用した4つの物体を示す図である。
【図14】実施の形態1にかかる実験1で与えた各パターンの概念情報を示す表である。
【図15】実施の形態1にかかる実験1でオペレータ1を獲得する過程を示す図である。
【図16】実施の形態1にかかる実験1でオペレータ2を獲得する過程を示す図である。
【図17】実施の形態1にかかる実験1でオペレータ3を獲得する過程を示す図である。
【図18】実施の形態1にかかる実験1でオペレータ4を獲得する過程を示す図である。
【図19】実施の形態1にかかる実験1で知識獲得フェーズにおいて獲得した4つのオペレータを示す表である。
【図20】実施の形態1にかかる実験1でロボットに提示した初期状態と目標状態を示す図である。
【図21】実施の形態1にかかる実験1でプランナから得られたプランニングの結果を示す表である。
【図22】実施の形態1にかかる実験1での実践ステップの過程を示す図。
【図23】実施の形態1にかかる実験1でロボットに提示した初期状態と目標状態を示す図である。
【図24】実施の形態1にかかる実験1で得たプランニングの結果を示す表である。
【図25】実施の形態1にかかる実験1での実践ステップの過程を示す図。
【図26】実施の形態1にかかる実験1でロボットに提示した初期状態と目標状態と、それに対するロボットの行動を示す図である。
【図27】実施の形態1にかかる実験2でオペレータ5を獲得する過程を示す図。
【図28】実施の形態1にかかる実験2でオペレータ7を獲得する過程を示す図。
【図29】実施の形態1にかかる実験2でオペレータ9を獲得する過程を示す図。
【図30】実施の形態1にかかる実験2で知識獲得フェーズにおいて獲得した6つのオペレータを示す表である。
【図31】実施の形態1にかかる実験2でロボットに提示した初期状態と目標状態を示す図である。
【図32】実施の形態1にかかる実験2で得たプランニングの結果を示す表である。
【図33】実施の形態1にかかる実験2における各プランの評価を示す表である。
【図34】実施の形態1にかかる実験2での実践ステップの過程を示す図。
【図35】実施の形態1にかかる実験2での実践ステップの過程を示す図。
【図36】実施の形態1にかかる実験2での実践ステップの過程を示す図。
【図37】実施の形態1にかかる実験2でロボットに提示した初期状態と目標状態と、それに対するロボットの行動を示す図。
【図38】実施の形態1にかかる実験2でのロボットに提示した初期状態と目標状態と、実践ステップの過程を示す図。
【図39】実施の形態1にかかる実験2で得たプランニングの結果を示す表である。
【発明を実施するための形態】
【0023】
まず、各実施の形態の説明に先立ち、本発明の特長とその優位性について説明する。
<本発明の特長>
本発明に係る問題解決システムの機能を搭載したロボットは、以下に示す特長を有している。
(i)ロボットは、視覚や聴覚から得られるパターンから、物体の概念(シンボル)を形成する。シンボルグラウンディング問題(非特許文献7)に関しては依然議論が続いているが、本発明では、パターンをシンボルにマップするインタフェースとして、オンライン追加学習が可能なニューラルネットワークを用いている。
(ii)ロボットは、環境や人間とのインタラクションによって、行動の因果関係を知識としてオンラインかつ追加的に獲得する。ロボットの動作は、非特許文献6に開示されたシステムと同様に、人間がロボットの手先を持って誘導することで教示している。
(iii)ロボットは、既存の知識を組み合わせることで、未知のタスクに対するアプローチを生成することができる。これは、知識を能動的に運用する手段として、古くから知られるプランナを使用することで実現している。尚、後述する実施の形態1では、プランナとして、非特許文献8に開示された一般問題解決器(General Problem Solver:以下、GPSと称する。)を使用している。
【0024】
<本発明の優位性>
本発明に係る問題解決システムの問題解決支援装置は、後述する図4に示すアーキテクチャを備えている。図4に示すアーキテクチャは、パターンの入力を行う入力層21と、知識及び知識を生成するために一時的に記憶する実環境のモデルを保持するシンボル記憶層23との間に、パターン記憶層22を挿入した構成を採用している。パターン記憶層22は、パターン情報を保持する複数のニューラルネットワークを含んでおり、ニューラルネットワークとして自己増殖型のニューラルネットワークである非特許文献9に開示されたSelf-Organizing Incremental Neural Network(以下、SOINNと称する。)を用いている。
【0025】
図4に示すアーキテクチャの優位性を以下に示す。
(1)パターン記憶層22でのパターン情報の保持にSOINNを採用することで、SOINNの性質を引き継ぐことができる。具体的には、SOINNの高いノイズ耐性を引き継ぎ、実世界における不安定なパターンに対して頑健に振る舞うことができる。また、SOINNはオンライン追加学習が可能であるという性質を有しているため、知識獲得と問題解決に必要な物体の概念を、必要に応じてオンラインかつ追加的に形成できる。
(2)パターン記憶層22にパターン情報の種類に応じた複数のニューラルネットワーク空間を用意することで、ロボットに必要とされる、視覚や聴覚といった複数の感覚を用いたマルチモーダルな情報処理が可能である。図4では、画像用と音声用のデータを扱うSOINN空間(Image SOINN、Sound SOINN)を例示しているが、別のSOINN空間をパターン記憶層22に用意することで、画像や音声以外の各種センサデータ等についても容易に取り込むことができる。
(3)物体の概念を表現するパターンの集合を、個々のオペレータ(知識としてシンボル記憶層23に保持されている)の中に保持するのではなく、パターン記憶層22において概念ごとに保持する。これにより、シンボル記憶層23では、パターン記憶層22で形成された概念を一つ一つのシンボルとして共有することができ、シンボル記憶層23におけるオペレータの記憶容量を大幅に節約することができる。
【0026】
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。
<1:システムの概要>
<1−1:システムの概略構成>
図1は、本実施の形態に係る問題解決システムの概略構成を示すブロック図である。問題解決システム1は、問題解決支援装置2と、プランナ3と、ロボット4と、を備えている。尚、図では、問題解決支援装置2及びプランナ3はロボット4と独立した装置として示しているが、問題解決支援装置2及びプランナ3の一部又は全ての機能を、ロボット4に搭載するものとしても良い。
【0027】
問題解決支援装置2は、入力処理部12と、パターン記憶部13と、シンボル記憶部14と、を備えている。尚、後述するように、問題解決支援装置2は、図4に示すアーキテクチャを有しており、入力処理部12に対応する入力層21と、パターン記憶部13に対応するパターン記憶層22と、シンボル記憶部14に対応するシンボル記憶層23と、の3層から構成される。
【0028】
プランナ3は、問題解決支援装置2により生成されたオペレータの集合と、入力されるタスクの初期状態及び目標状態とを用いて、プランニングを行う。ロボット4は、プランナにより出力されたプランについて、その系列に含まれる動作情報に応じて、動作する。
【0029】
ロボット4は、実環境中のパターンを取得するパターン情報取得部11と、自身の動作情報を取得する動作情報取得部12と、を備えている。パターン情報取得部11は、CCDカメラやマイクロフォンなどから構成され、画像パターン情報や、音声パターン情報など、様々なパターン情報を取得することができる。動作情報取得部12は、例えば、動作情報としてロボット4の腕の動きを取得する場合には、関節の駆動モータに備えられたエンコーダの値から、関節角度の時系列データを取得することができる。
【0030】
<1−2:ロボットの構成と実験環境>
図2に、本実施の形態で使用するロボット4としてのヒューマノイドロボットを示す。本実施の形態では、富士通株式会社製の研究開発用ヒューマノイドロボットHOAP(登録商標)−3を使用した。このロボット4は全体として28自由度を持ち、以下では、28自由度のうち、頭部の3自由度と両腕の8(各4)自由度を使用する。また、ロボット4は市販のCCDカメラやマイクロフォンを搭載しており、画像入力と音声入力が可能である。
【0031】
また、本実施の形態では、椅子に固定されたヒューマノイドロボットと、その前に置かれたテーブルの上とからなる環境を、実験環境とする。尚、非特許文献9に開示されたフレーム問題(非特許文献10を参照)を擬似的に回避するため、本実験では、ロボット4の周囲環境をテーブル上に制限している。また、図3に示すように、テーブルの上に3つの位置(位置A、B、C)を定義し、各位置には一度に1つの物体のみしか置けない状況を想定している。
【0032】
<1−3:問題解決支援装置の概念構成>
図4は、本実施の形態に係る問題解決支援装置の概念的な構成及び動作を示す図である。図に示すように、問題解決支援装置は、入力層(Input Layer)21と、パターン記憶層(Pattern Memory Layer)22と、シンボル記憶層(Symbol Memory Layer)23と、の3層構造を有している。
【0033】
入力層21は、3つのフェーズ(記号接地フェーズ、知識獲得フェーズ、問題解決フェーズ)に対応し、各フェーズでは、入力される情報が異なっている。入力層21は、これら3つのフェーズにおいて、実環境から得られる画像パターンや音声パターンを、入力として受け取る。また、入力層21は、記号接地フェーズにおいては各パターンに付加する概念情報を入力とし、知識獲得フェーズにおいてはロボット4の関節角度の時系列データ(Act1,Act2,Act3,...)についても入力とする。図4の入力層21における記号(○、△、□)は、このようにフェーズによって入力されるパターンの種類が異なることを意味している。尚、各フェーズの詳細については後述する。
【0034】
パターン記憶層22は、入力層21から送られるパターンを保持し、パターンをシンボルにマップするインタフェースとして機能する。尚、パターン記憶層22の詳細については後述する。
【0035】
シンボル記憶層23は、実環境のモデル(World Model)やオペレータ(Operator)を保持する。実環境のモデルやオペレータは、述語(pred)を要素に含む。述語は、パターン記憶層22から送られるシンボル(A,B,...)を引数にとる。シンボル記憶層23が保持する実環境のモデルやオペレータは、プランナ3によるプランニング(Planning)に利用される。尚、シンボル記憶層23の詳細については後述する。
【0036】
<1−4:問題解決システムの概略動作>
図4を参照して、問題解決システムの概略的な動作について説明する。以下、各フェーズ((i)記号接地フェーズ、(ii)知識獲得フェーズ、(iii)問題解決フェーズ)における動作について説明する。
【0037】
(i)記号接地フェーズ(Symbol Grounding Phase)では、問題解決システム1は、実環境から得られるパターン入力を用い、物体の画像や音声の概念をパターン記憶層22に形成する。形成した物体の画像や音声の概念は、後のフェーズで使用する。記号接地フェーズでの画像パターンと音声パターンの学習は、自己増殖型ニューラルネットワークを用いることで実現する。実施の形態1では、自己増殖型ニューラルネットワークとして、SOINNを採用する。SOINNは既存の学習データを破壊することなく、オンライン追加学習が可能であるという特長を有している。また、学習データを十分に表現できるネットワークまで自己組織的に成長するため、予めネットワークサイズを決定しておく必要がないという特長を有している。
【0038】
本実施の形態では、パターン記憶層22に、画像パターン用と音声パターン用に2つのSOINN空間(Image SOINN、Sound SOINN)を用意する。問題解決システム1は、各入力パターンと、実験者によって与えられる概念情報とを併せて、それぞれのSOINNに入力する。尚、記号接地フェーズの詳細は、後述する<2:記号接地フェーズ>において説明する。
【0039】
(ii)知識獲得フェーズ(Knowledge Acquisition Phase)では、問題解決システム1は、ロボット4自身の行動によって生じた実環境の変化から、その因果関係を知識としてオンラインかつ追加的に獲得する。この因果関係を、「注意のモデル(Attention Model)」により、それぞれ1つのオペレータとして表現する。注意のモデルは、実環境の変化からオペレータの構成に必要な前提条件を獲得し、教示された動作情報(Act)と併せて1つのオペレータを構成する。オペレータの構成には、前提条件(preCond)、削除リスト(delList)、追加リスト(addList)の3つの要素を必要とする。尚、知識獲得フェーズの詳細は、後述する<3:知識獲得フェーズ>において説明する。
【0040】
(iii)問題解決フェーズ(Problem Solving Phase)では、問題解決システム1は、知識獲得フェーズで獲得したオペレータを運用して、実環境において汎用的な問題解決を行う。問題解決システム1は、実環境中で提示されたタスクに対して適切なアプローチが存在するか否かを判定する。ここで存在すると判定された場合、一定の評価基準に従ってアプローチを選択し、そのアプローチをロボット4により実環境において実行させる。このとき、ロボット4は、オペレータの実行とその実行による実環境の変化の観測を、目標状態に到達するまで繰り返す。尚、問題解決フェーズの詳細は、後述する<4:問題解決フェーズ>において説明する。
【0041】
以上のような問題解決システム1の各要素(問題解決支援装置2、プランナ3、ロボット4の制御システムなど)は、専用コンピュータ、パーソナルコンピュータ(PC)などのコンピュータにより実現可能である。但し、コンピュータは、物理的に単一である必要はなく、分散処理を実行する場合には、複数であってもよい。図5は、本実施の形態に係る問題解決システムを実現するためのコンピュータシステム構成の一例を示す図である。図5に示すように、コンピュータ40は、CPU41(Central Processing Unit)、ROM42(Read Only Memory)及びRAM43(Random Access Memory)を有し、これらがバス44を介して相互に接続されている。尚、コンピュータを動作させるためのOSソフトなどは、説明を省略するが、この問題解決システムを構築するコンピュータも当然備えているものとする。
【0042】
バス44には又、入出力インタフェース45も接続されている。入出力インタフェース45には、例えば、キーボード、マウス、センサなどよりなる入力部46、CRT、LCDなどよりなるディスプレイ、並びにヘッドフォンやスピーカなどよりなる出力部47、ハードディスクなどより構成される記憶部48、モデム、ターミナルアダプタなどより構成される通信部49などが接続されている。
【0043】
CPU41は、ROM42に記憶されている各種プログラム、又は記憶部48からRAM43にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えばオペレータ生成処理やプランニング処理を実行する。各種プログラムには、後述するフローチャートにより示す処理が実装されたプログラムが含まれる。RAM43には又、CPU41が各種の処理を実行する上において必要なデータなども適宜記憶される。通信部49は、例えば図示しないインターネットを介しての通信処理を行ったり、CPU41から提供されたデータを送信したり、通信相手から受信したデータをCPU41、RAM43、記憶部48に出力したりする。記憶部48はCPU41との間でやり取りし、情報の保存・消去を行う。通信部49は又、他の装置との間で、アナログ信号又はディジタル信号の通信処理を行う。入出力インタフェース45は又、必要に応じてドライブ50が接続され、例えば、磁気ディスク501、光ディスク502、フレキシブルディスク503、又は半導体メモリ504などが適宜装着され、それらから読み出されたコンピュータプログラムが必要に応じて記憶部48にインストールされる。
【0044】
<2:記号接地フェーズ>
記号接地フェーズでは、自己増殖型のニューラルネットワークを用いて、物体の画像パターンと音声パターンを学習する。これにより、実験で使用する物体の画像パターンと音声パターンの概念を形成する。本実施の形態では、自己増殖型のニューラルネットワークとしてSOINNを採用する場合を例に説明を行う。尚、SOINNの詳細については後述する。各パターンの学習を行うため、概念の種類(本実施の形態では、画像と音声)ごとにSOINNを用意し、複数のSOINNをパターン記憶層22に並列に配置している。各パターンは、概念情報として実験者によって与えられる教師ID(以下、teacherIDと称する。teacherID:≧0,∈Z)と併せて、対応するそれぞれのSOINNに入力される。teacherIDは、後のフェーズにおいて、パターンをシンボルに接地する際に用いられる。
【0045】
<2−1:SOINN>
非特許文献9に開示されたSOINNは、オンライン追加学習手法である。SOINNは2層ネットワーク構造により学習を行うが、1層目と2層目は同じ学習アルゴリズムで動作する。本実施の形態では、これを簡略化した1層ネットワーク構造により学習を行う。そのため、1層目の学習を終了して2層目の学習を行うタイミングを決定するパラメータLTは不要である。SOINNのより詳細なアルゴリズムについては、非特許文献9に開示されている。尚、本実施の形態では、実験において学習データが少ない状況を想定し、ノードを削除する際に、ノイズの判定基準を近傍ノードが存在しないものへと変更している。図6に、SOINNのフローチャートを示す。
【0046】
図6を参照して、SOINNの動作について説明する。
S101:SOINNは、ネットワーク内のノード集合と、エッジ集合を初期化する。
S102、S103:SOINNは、入力パターンである入力ベクトルが与えられると、与えられた入力ベクトルと、ネットワーク内ノードの重みベクトルとのユークリッド距離を計算し、入力ベクトルに最も近いノード(以下、第1勝者ノードと称する。)と2番目に近いノード(以下、第2勝者ノードと称する。)を探索する。
S104:SOINNは、類似度閾値という基準を用いて、入力ベクトルが第1勝者ノードと同一のクラスタに属するか否かを判定する。
S105:判定の結果、異なるクラスタに属する場合には、SOINNは、入力ベクトルを重みベクトルとして持つ新たなノードをネットワークに挿入する。このときの挿入を、クラス間挿入と呼ぶ。尚、本実施の形態では、実験者によって与えられるteacherIDを、このクラス間挿入時にノードに付加する。
【0047】
S106、S107、S108:判定の結果、同一のクラスタに属する場合には、SOINNは、第1勝者ノードと第2勝者ノードとがエッジにより接続されているか否かを判定し、エッジにより接続されていない場合には、第1勝者ノードと第2勝者ノードの間にエッジを生成する。そして、SOINNは、第1勝者ノードとその近傍ノードの重みベクトルを更新する。このときの動作を、クラス内挿入と呼ぶ。SOINNは、この2種類の挿入法(クラス間挿入、クラス内挿入)によって、オンラインかつ追加的に学習を行う。
【0048】
S109:SOINNは、「エッジの年齢」という基準を用いて、第1勝者ノードに接続しているエッジのうち、閾値agedeadを超えた年齢のエッジを不要と判定し、不要なエッジを削除する。
S110、S111:SOINNは、入力がλ回与えられるごとに、近傍ノード数が1以下のノードをノイズと判定して、削除する。これにより、既存のネットワーク構造を破壊することなく、ノイズに影響を受けたと想定されるデータのみをネットワークから削除することができる。尚、ここでの近傍ノードとは、ノードとエッジによって直接的に接続している他のノードを示す。
S112、S113:学習を終了する場合には、SOINNは、学習による処理結果を出力する。これにより、パターン記憶層22のImage SOINN空間には、画像パターンが学習され、Sound SOINN空間には、音声パターンが学習されて、それらパターンの概念が形成される。
【0049】
<3:知識獲得フェーズ>
図7に、知識獲得フェーズの流れを示す。ここで、「ターム(term)」という概念を導入する。以下では、ロボット4が現在の実環境を観測している期間を1タームとし、同一のターム内では実環境が変化しないものとして説明する。知識獲得フェーズは、図7に示す時間軸(Time)に沿って左から右へと処理が進む。
【0050】
まず、ロボット4は、オペレータを実行する前の環境として、現在の実環境を観測する。そして、問題解決支援装置2は、ロボット4が観測した情報をもとに、オペレータの実行前の実環境をモデル化する(preWM)。具体的には、ロボット4は、実環境の観測として、音声入力(Sound Input)と、各位置(A、B、C)での画像入力(Image Input)を行う。ここでは、音声入力(Sound Input)を開始するのと同時に、位置Aから順に画像入力(Image Input)を行い、位置Cの画像入力を終了するのと同時に音声入力を終了する。これで1タームが終了する(term1 ends)。問題解決支援装置2は、1ターム終了時点で、3つの画像パターンと1つの音声パターンを獲得しており、これらの状態を事前に定義された述語を用いて記述することで、この環境をモデル化する(preWM)。尚、実環境のモデル化については後述する<3−1:実環境のモデル化>において詳細に説明する。
【0051】
次に、ロボット4に対して、オペレータに伴う動作が教示される(Action)。具体的には、実験者が、オペレータに伴う動作として、ロボット4の腕を持って動かす。ロボット4は、その間の腕の動きを8次元の時系列データとして記録する。尚、ここでは、教示する動作によって音が発生する場合に備えるため、動作の教示を開始するのと同時に、ロボット4に音声入力を開始させている。
【0052】
実験者による動作の教示が終了した後、ロボット4は、オペレータの実行後の環境として現在の実環境を観測する。そして、問題解決支援装置2は、ロボット4が観測した情報をもとに、オペレータの実行後の実環境をモデル化する(postWM)。ここでは、ロボット4は、動作の教示と同時に開始した音声入力を続けながら、位置Aから順に画像入力を行い、位置Cの画像入力を終了するのと同時に、音声入力を終了する。これで1タームが終了する(term2 ends)。問題解決支援装置2は、獲得した情報をもとに、この環境をモデル化する(postWM)。
【0053】
最後に、問題解決支援装置2は、この2つの環境モデル(preWM、postWM)を「注意のモデル(Attention Model)」に入力して、オペレータを獲得する(acquire operator)。これにより獲得したオペレータは、知識としてシンボル記憶層23に保持される。尚、注意のモデルについては後述する<3−2:注意のモデル>においての詳細に説明する。
【0054】
<3−1:実環境のモデル化>
問題解決支援装置2は、ロボット4が実環境から得たパターンを、1−NN法(1-Nearest Neighbor Method)を用いて、学習済みの概念(シンボル)に接地する。尚、1−NN法に限定されず、他の公知のクラスタリング手法を用いてシンボルの接地を行うものとしてもよい。図8に、実環境のモデル化処理のフローチャートを示す。
【0055】
図8を参照して、実環境のモデル化手順について説明する。
S201:SOINN空間内のノード集合Aの中で、入力パターンξとの最近傍ノードsを探索する。尚、以下の式(1)において、Wkをノードkの持つ結合重み、||a−b||をaとbのユークリッド距離とする。
【数1】

S202:入力パターンξと最近傍ノードsとの距離が所定の閾値T以下であるか否かを判定する。
S203:判定の結果、入力パターンξと最近傍ノードsとの距離が閾値T以下の場合には、入力パターンξの概念は既知であるものと判定し、最近傍ノードsに付加されているteacherID(≧0,∈Z)を出力する。
S204:判定の結果、閾値Tを超えている場合には、入力パターンξの概念は未知であるものと判定し、teacherIDの値に代えて、"−1"を出力する。
すなわち、S202〜204にかけて以下の式(2)に示す処理を行う。尚、以下では、teacherIDをノードkに付加されているteacherIDとする。
【数2】

【0056】
入力パターンξをteacherIDに接地した後、述語At(x,y)と、述語Ring(x)とを用いて、実環境に存在する物体の状態を記述する。At(x,y)は、物体xが位置yにあることを表わす述語である。Ring(x)は、物体xの音が発生していることを表わす述語である。例えば、位置Aで入力された画像パターンがteacherID=1と認識された場合には、At(1,A)と記述し、また、入力された音声パターンがteacherID=2と認識された場合には、Ring(2)と記述する。尚、述語は、位置や音を記述するものに限定されず、他の種類の述語を用いるものとしてもよい。
【0057】
問題解決支援装置2は、1ターム終了時点で位置A、位置B、位置Cの3つの画像パターンと、1つの音声パターンとを獲得しており、獲得したそれぞれのパターンを述語により記述する。1ターム内に含まれる述語の集合を、「環境モデル(World Model:以下、WMと称する。)」と表現する。すなわち、preWMとpostWMは、各位置でのAt(x,y)と、1つのRing(x)とから構成されている。
【0058】
<3−2:注意のモデル>
一般に、人間は環境の変化を注意深く観察することで、物事の因果関係を理解する。注意のモデルはこれと同じようにして、ロボット4の行動によって生じた実環境の変化から、その因果関係をそれぞれ1つのオペレータで表現する。注意のモデルは、オペレータの実行前後の2つのWM(preWM、postWM)から、オペレータの構成に必要な3つの要素(前提条件、削除リスト、追加リスト)を獲得し、教示された動作情報と併せて、1つのオペレータを構成する。
【0059】
以下、オペレータの各要素の獲得手順について説明する。オペレータの削除リスト、追加リストは、その定義から、2つのWMの差集合を考えることで容易に求めることができる。一方、オペレータの前提条件はヒューリスティックに求める他はない(非特許文献11)。本実施の形態では、オペレータ実行前のWM全てを前提条件とする方法を採用する。
また、本実施の形態では、未知の物体の状態を表わす述語を「不要な述語」とみなし、オペレータの各要素から不要な述語を取り除く処理(以下の式(3)に示す処理)を行う。尚、arg(p)は述語pの引数xを表わす。
【数3】

以上から、オペレータの前提条件(preCond)、削除リスト(delList)、追加リスト(addList)を、以下の式(4)に示すようにして求める。すなわち、オペレータの実行前のWMの述語を前提条件とし、オペレータの実行前のWMの述語のうちで、オペレータの実行後のWMの述語には含まれない述語を削除リストの要素とし、オペレータの実行後のWMの述語のうち、オペレータの実行前のWMの述語には含まれない述語を追加リストの要素とする。
【数4】

【0060】
尚、「注意のモデル」とは、(i)オペレータ実行前後の実環境をモデル化し、(ii)2つの実環境を"比較"することでオペレータを獲得する、という手順である。本実施の形態では、注意のモデルの手順(ii)の"比較"を、式(4)に示したようにして行うものとして説明しているが、オペレータの各要素を獲得する手法はこれに限定されない。例えば、オペレータの前提条件(preCond)をpreWMの一部とするなどとしてもよい。
【0061】
<4:問題解決フェーズ>
図9に、問題解決フェーズのフローチャートを示す。問題解決フェーズは主に2つのステップから構成され、プランニングを行うステップ(S301、S302、S309)と、プランニングによって得られたプラン(オペレータの系列)を実環境において実行する実践ステップ(S303〜S308)とに分かれる。すなわち、図9において、目標状態と初期状態をプランナ3に入力してプランニングを行う部分が前者に相当し、プランナ3から得られたプランに含まれるオペレータを繰り返し実行している部分が後者に相当する。
【0062】
まず、図9に示したプランニングを行うステップ(S301、S302、S309)について、図10及び図11を参照しながら以下に説明する。図10は、問題解決フェーズの前半の流れを示す図であり、図11は、プランナによるプランニングアルゴリズムを示すフローチャートである。問題解決フェーズの前半では、図10に示す時間軸(Time)に沿って左から右へと処理が進む。
【0063】
図10に示すように、まず、実験者は、タスクの目標状態と初期状態を、実環境中でロボット4に順に提示する(term1 ends,term2 ends)。問題解決支援装置2は、各タームでのロボット4による環境の観測から、目標状態となるWMと初期状態となるWMの2つのWM(goalWM,startWM)を取得する。そして、問題解決支援装置2は、上述した式(3)を用いて不要な述語を取り除いた後に、取得した2つのWM(goalWM,startWM)を、プランナ3(Planner)に入力する(図9に示したS301の処理に相当する。)。プランナ3は、goalWMとstartWMの2つのWMの入力を受けて、知識獲得フェーズで獲得したオペレータの集合を用いて、プランニングを行う。尚、プランニングの詳細は、後述する<4−1:プランニング>において説明する。
【0064】
プランニングが実行された後、問題解決支援装置2は、初期状態から目標状態に至るプランをプランナ3から得たか否かにより、問題が解決可能であるか否かを判定する(図9に示したS302の処理に相当する。)。
【0065】
判定の結果、初期状態から目標状態に至るプランについて、プランナ3によってタスクが解決可能と判定された場合(if solvable)、問題解決支援装置2は、事前に実験者によって指定された評価基準に従ってプランを選択し(then continue)、そのプランを実環境においてロボット4に実行させる実践ステップに移る(図9に示したS304の処理へと進む。)。尚、プランの評価については、後述する<4−2:プランの評価>において詳細に説明する。実践ステップについては、後述する<4−3:実践ステップ>において詳細に説明する。
【0066】
判定の結果、プランナ3によってタスクが解決不可能と判定された場合(if unsolvable)、問題解決支援装置2は、問題が解決不可能であると判定し(then stop)、ロボット4に首を横に振らせることで、実験者にそれを示す(図9に示したS309の処理に相当する)。
【0067】
<4−1:プランニング>
本実施の形態では、プランニングアルゴリズムとして、非特許文献8に開示された一般問題解決器(General Problem Solver:以下、GPSと称する。)の手段目標分析(Means-Ends Analysis:以下、MEAと称する。)を用いている。MEAは、現在状態と目標状態の差異を減少させるオペレータを選択し、現在状態にそのオペレータを適用するプロセスを繰り返すことで、目標状態を達成する手法である。尚、プランニングアルゴリズムはMEAに限定されず、他の公知のプランニングアルゴリズムを用いるものとしてもよい。
【0068】
図11を参照して、本実施の形態におけるプランナ3によるプランニングアルゴリズムについて説明する。本実施の形態におけるプランニングアルゴリズムは、標準的なMEAを複数のプランが生成可能となるように拡張したものである。ここで、planは、オペレータ系列(op,op,...,opn)と、初期状態S(=S)にそのオペレータ系列を適用した状態Sから構成される。Planning(plan,G)は、初期状態SからSを経て、目標状態Gを満たす状態へと変換するオペレータ系列の集合を求める手続きである。
【0069】
S401:プランナ3は、Sを初期状態となるWM、Gを目標状態となるWMとして、GがSによって満たされているか否かを判定する。判定の結果、成立する場合には、S417の処理(planを返す)を行う。すなわち、目標状態のWMであるGが、初期状態のWMで満たされている場合には、planを出力する。
【0070】
S402:判定の結果、GがSで満たされていない場合には、プランナ3は、GからSを引いた差集合として、集合diffを求める。
【0071】
S403:プランナ3は、差異diffを減少させるのに有効なオペレータ集合として、集合effectiveOpListを求める。effectiveOpListは、知識獲得フェーズで獲得したオペレータの集合に含まれるオペレータであって、追加リストにdiffに含まれる述語を含むオペレータの集合を示す。
【0072】
S404:プランナ3は、successfulPlanListを、SからSを経てGを満たす状態へ変換するオペレータ系列の集合とし、空集合に初期化する。
【0073】
S405:プランナ3は、effectiveOpListが空集合であるか否かを判定する。判定の結果、空集合である場合には、後述するS416の処理を行う。
S406:判定の結果、空集合でない場合には、プランナ3は、effectiveOpListからオペレータを1つ選択し、これをopとする。
S407:プランナ3は、以下の式(5)に示すようにして、SからSを経てopの前提条件を満たす状態へ変換するオペレータ系列の集合として、planList1を求める。尚、preCondopを、opの前提条件とする。
【数5】

【0074】
S408:プランナ3は、求めたplanList1が空集合であるか否かを判定する。
S409:判定の結果、planList1が空集合である場合には、プランナ3は、effectiveOpListからopを削除し、S405へと進む。
S410:判定の結果、planList1が空集合でない場合には、プランナ3は、planList1からオペレータ系列を1つ選択し、これをplan(m≧n)とする。
S411:プランナ3は、opをopm+1とし、planのSにopm+1を適用したものをSm+1として、これらからplanm+1を構成する。
【0075】
S412:プランナ3は、以下の式(6)に示すようにして、SからSm+1を経てGを満たす状態へ変換するオペレータ系列の集合として、planList2を求める。
【数6】

【0076】
S413:プランナ3は、求めたplanList2が空集合であるか否かを判定する。判定の結果、planList2が空集合である場合には、S415へと進む。
S414:判定の結果、planList2が空集合でない場合には、プランナ3は、successfulPlanListにplanList2を加える。
S415:プランナ3は、planList1からplanを削除し、S408へと進む。
【0077】
S416:プランナ3は、successfulPlanListを返す。
S417:プランナ3は、planを返す。
【0078】
<4−2:プランの評価>
問題解決支援装置2は、プランナ3からロボット4への複数のプランが得られた場合に、一定の評価基準に従ってプランを選択する。尚、評価基準の切り替えは実験者により行う。
本実施の形態では、以下の2つの評価基準(コスト)を事前に用意し、得られた複数のプランのうち、実験者によって指定された方のコストがより少ないプランを選択する。ただし、最小コストを持つプランが複数存在する場合には、その中からランダムに1つのプランが選択されるものとする。
(1)オペレータ数
(2)実行時間(各オペレータの実行時間の総和)
【0079】
尚、複数のプランから一のプランを選択するための評価基準については、選択したプランをロボット4に実行させた場合に、ロボット4が実行に要するエネルギーを最小化する一のプランを選択可能な評価基準を採用することができる。問題解決システム1は、問題解決支援装置2に対してプランナ3を独立して備える構成とし、さらに、複数のプランから一のプランを選択するものであるため、複数のプランが存在するタスクに対しても対処可能であるという特長を有している。
【0080】
<4−3:実践ステップ>
図9に示した実践ステップ(S303〜S308)について、図9及び図12を参照しながら以下に説明する。図12に、問題解決フェーズの後半の流れを示す。問題解決フェーズの後半では、図12に示す時間軸(Time)に沿って左から右へと処理が進む。
【0081】
図12に示すように、問題解決支援装置2は、プランナ3から得られるプランに含まれるオペレータを、初期状態から順に繰り返しロボット4に実行させる。このとき、問題解決支援装置2は、オペレータの実行(Action)後に、実環境をロボット4に観測させることで得たWM(postWM)と、プランニングの結果に従うWM、つまりオペレータの実行後に想定されるWMとを比較する必要がある。これはロボット4が動作を実行したとしても、実環境が想定通りに変化するとは必ずしも限らないためである。実環境の観測後(term ends)、ロボット4に実行させる動作として、以下の3つの選択肢が与えられる。
(i)実環境が想定通りに変化していない場合(if NOT changed as expected)には、ロボット4に首を傾けさせることで実験者にそれを示し、再度、同じオペレータの実行を試みる(then execute same operator)。
(ii)実環境が想定通りに変化しており、かつ、実環境が目標状態に到達していない場合(if changed as expected)には、ロボット4に、残っている次のオペレータの実行に移させる(then execute next opertator)。
(iii)実環境が想定通りに変化しており、かつ、実環境が目標状態に到達している場合(if achieved goal state)には、ロボット4にうなずかせることで実験者にそれを示す(then stop)。
【0082】
再び図9を参照しながら、S303〜S307(実践ステップ)の処理を以下に説明する。尚、startWMとgoalWMは、上述した式(3)によって不要な述語が取り除かれているものとする。また、startWMは、初期状態となるWMを示す。goalWMは、目標状態となるWMを示す。
【0083】
S303:まず、問題が解決可能と判定された場合に、問題解決支援装置3は、planWMをプランニング結果に従うWMとし、planWMをstartWMとし、カウンタcを1に初期化する。
【0084】
S304:問題解決支援装置3は、プランのc番目のオペレータopに付加されている動作をロボット4に実行させる。そして、動作の実行後にロボット4に実環境を観測させて、観測により取得するWMをpostWMとする。また、上述した式(3)に示すようにして、postWMから不要な述語を取り除く。さらに、opをplanWMに適用し、適用後のWMをexpectedWMとする。
【0085】
S305:問題解決支援装置3は、実環境が想定通りに変化しているか否かを判定する。ここでは、以下に示す式(7)が成立する場合には実環境が想定通りに変化していないと判定し、不成立の場合には想定通りに変化していると判定する。
【数7】

判定の結果、実環境が想定どおりに変化していない場合には、ロボット4に首を傾けさせ(S306)、S304の処理へと戻る。
【0086】
S307:判定の結果、実環境が想定通りに変化している場合には、問題解決支援装置3は、実環境が目標状態に到達しているか否かを判定する。ここでは、以下に示す式(8)が成立する場合には実環境が目標状態に到達していると判定し、不成立の場合には目標状態に到達していないと判定する。
【数8】

判定の結果、実環境が目標状態に到達していない場合には、問題解決支援装置3は、planWMをexpectedWMとし、cを1増やす。そして、S304の処理へと戻る。
【0087】
S308:判定の結果、実環境が目標状態に到達している場合には、問題解決支援装置3は、ロボット4をうなずかせ、目標状態に到達したとして処理を終了する。
【0088】
<5:実験1 基本動作の確認>
続いて、本実施の形態に係る問題解決システムによる効果について説明する。このため、ヒューマノイドロボットを用いて行った評価実験について説明する。
以下、実験5−1から5−2で、記号接地フェーズ、知識獲得フェーズ、問題解決フェーズにおける各実験について説明する。本実施の形態に係る問題解決支援装置3を実装したヒューマノイドロボットを用いて、基本動作を確認する。このため、本実験ではロボットによる少数(4つ)のオペレータの獲得とそれによる問題解決を扱う。
【0089】
<5−1:記号接地フェーズ>
記号接地フェーズでの実験では、画像特徴には、グレースケール変換後の36次元DCT低周波係数を用いた。また、音声特徴には、サンプリング周波数20kHz、フレーム長50msによる15次元スペクトル特徴を用いた。ただし、音声については、短時間の音について、録音区間内の周波数係数を各次元において最大値を取り、単一ベクトル表現として構成した。各パターンの学習に用いるSOINNのパラメータは、いずれもagedead=10、λ=20とした。
【0090】
図13は、本実験で使用した4つの物体を示す画像である。左上の物体はベルを示し、右上の物体はドラムを示し、左下の物体はりんごを示し、右下の物体はみかんを示している。ベルとドラムについては、各位置(A、B、C)あたり100回(計300回)の画像入力と、実験者が音を発生させることで100回の音声入力とを行った。りんごとみかんについては、各位置あたり100回(計300回)の画像入力のみを行った。また、図14に示す表のように、各パターンについての概念情報(teacherID)を与えた。
【0091】
<5−2:知識獲得フェーズ>
知識獲得フェーズでの実験では、実験者のサポートのもと、以下の4つのオペレータを問題解決支援装置3に獲得させた。尚、オペレータ2、4は、オペレータ1、3とそれぞれ対称の関係にあり、ベルをドラムに、りんごをみかんに置き換えたものである。
オペレータ1.ベルを押すと音が鳴る。
オペレータ2.ドラムを押すと音が鳴る。
オペレータ3.ベルの音が鳴っているときに"ちょうだい"をするとりんごが目の前(位置B)に移動する。
オペレータ4.ドラムの音が鳴っているときに"ちょうだい"をするとみかんが目の前(位置B)に移動する。
尚、上述した<3−1:実環境のモデル化>で説明した所定の閾値Tについては、画像パターンに関してはT=50とし、音声パターンに関してはT=0.03とした。実験中、リジェクトを含む各物体の認識率は、画像パターンと音声パターン合わせて平均97%であった。
【0092】
<5−2−1:オペレータ1>
図15に、オペレータ1を獲得する過程を示す。図では、左から順に、オペレータの実行前の環境、動作の教示の様子、オペレータの実行後の環境を表している。実験者は位置Aにベルを置き、これをオペレータの実行前の環境としてロボット4に提示する。これにより、問題解決支援装置3は、preWM={At(0,A),At(−1,B),At(−1,C),Ring(?1)}を得た。次に、実験者は、ベルを押す動作をロボット4に教示する。これにより、ロボット4が音が発生したことを観測し、問題解決支援装置3は、postWM={At(0,A),At(−1,B),At(−1,C),Ring(4)}を得た。問題解決支援装置3は、これら取得した2つのWM(preWM、postWM)を注意のモデルに入力し、オペレータ1を獲得した。
【0093】
<5−2−2:オペレータ2>
図16に、オペレータ2を獲得する過程を示す。尚、オペレータ2は、オペレータ1のベルをドラムに置き換えたものである。この際、問題解決支援装置3は、preWM={At(1,A),At(−1,B),At(−1,C),Ring(?1)},postWM={At(1,A),At(−1,B),At(−1,C),Ring(5)}を得た。
【0094】
<5−2−3:オペレータ3>
図17に、オペレータ3を獲得する過程を示す。実験者は、位置Cにりんごを置くとともに、ロボット4がオペレータの実行前の環境を観測しているときに、ベルの音を発生させる。これにより、問題解決支援装置3は、preWM={At(−1,A),At(−1,B),At(2,C),Ring(4)}を得た。
【0095】
次に、実験者は、"ちょうだい"をする動作をロボット4に教示する。実験者は、動作の教示後、りんごを位置Bに移動させる。これにより、問題解決支援装置3は、postWM={At(−1,A),At(2,B),At(−1,C),Ring(−1)}を得た。問題解決支援装置3は、これら2つのWMを注意のモデルに入力し、オペレータ3を獲得した。
【0096】
<5−2−4:オペレータ4>
図18に、オペレータ4を獲得する過程を示す。尚、オペレータ4は、オペレータ3のベルをドラムに、りんごをみかんにそれぞれ置き換えたものである。この際、問題解決支援装置3は、preWM={At(−1,A),At(−1,B),At(3,C),Ring(5)},postWM={At(−1,A),At(3,B),At(−1,C),Ring(−1)}を得た。図19に、知識獲得フェーズにおいて問題解決支援装置3が獲得した4つのオペレータを示す。
【0097】
<5−3:問題解決フェーズ>
問題解決フェーズでの実験では、汎用のタスクとして、実環境中で以下の3つのタスクをロボット4に提示した。これらのタスクは、タスクを提示される以前にロボット4は直接的に経験したことのないものである。尚、タスク2は、タスク1と対称の関係にあり、ベルをドラムに、りんごをみかんに置き換えたものである。
タスク1.ベルを使ってりんごを目の前(位置B)に移動させる。
タスク2.ドラムを使ってみかんを目の前(位置B)に移動させる。
タスク3.ベルを使ってみかんを目の前(位置B)に移動させる。
【0098】
<5−3−1:タスク1>
タスク1について、図20に示す初期状態と目標状態をロボット4に提示した。問題解決支援装置3は、これらの状態をプランナ3に入力し、このタスクが解決可能であると判定した。このときにプランナ3から得られたプランニングの結果を、図21に示す。問題解決支援装置3は、図21に示した結果をもとに、実践ステップにてオペレータをロボット4に実行させ、最終的に目標状態に到達することができた。図22に、その過程を示す。尚、図22では、左から順に、初期状態(ターム1の状態)、オペレータ1を実行している様子、ターム2の状態、オペレータ3を実行している様子、ターム3の状態、目標状態に到達でき、うなずいている様子をそれぞれ表している。
【0099】
<5−3−2:タスク2>
タスク2について、図23に示す初期状態と目標状態をロボット4に提示した。ロボット4は、タスク1と同様に、図24に示すプランニングの結果をもとに実践ステップにてオペレータを実行し、最終的に目標状態に到達することができた。図25にその過程を示す。
【0100】
<5−3−3:タスク3>
図26の左図を目標状態、中央図を初期状態とするタスク3は、知識獲得フェーズで獲得したオペレータでは解決することができない。このため、ロボット4は、プランナ3によってこのタスクが解決不可能であると判定し、首を横に振ってそれを示した。図26に、その過程を示す。
【0101】
<6:実験2 知識のオンラインかつ追加的な獲得による問題解決能力の向上>
続いて、実験2では、実験1で用いたロボット4に対して、知識のオンラインかつ追加的な獲得による問題解決能力の向上を確認する。本実験では、実験1と比較して知識の組み合わせ数が多く、さらに複数の組み合わせ方法が存在するタスクを扱う。尚、本実験は実験1に続いて行われ、本実験で用いるロボット4は、実験1で形成したパターン記憶層22とシンボル記憶層23における記憶を保持している。
【0102】
<6−1:知識獲得フェーズ>
本実験では実験1で用いた4つのオペレータ(オペレータ1〜4)に加えて、さらに6つのオペレータ(オペレータ5〜10)をロボット4に獲得させた。このうち、オペレータ5、7、9の内容を以下に示す。尚、実験1と同様に、オペレータ6、8、10は、オペレータ5、7、9とそれぞれ対称の関係にあり、これらのオペレータと同様の結果になったため、その説明を省略する。
オペレータ5.右手を挙げると、りんごが手元(位置C)に置かれる。
オペレータ7."だだをこねる"と、りんごが目の前(位置B)に移動する。
オペレータ9.左手を挙げると、ベルが手元(位置A)に置かれる。
【0103】
<6−1−1:オペレータ5>
図27に、オペレータ5を獲得する過程を示す。この際、問題解決支援装置3は、preWM={At(−1,A),At(−1,B),At(−1,C),Ring(?1)},postWM={At(−1,A),At(−1,B),At(2,C),Ring(−1)}を得た。
【0104】
<6−1−2:オペレータ7>
図28に、オペレータ7を獲得する過程を示す。この際、問題解決支援装置3は、preWM={At(−1,A),At(−1,B),At(2,C),Ring(?1)},postWM={At(−1,A),At(2,B),At(−1,C),Ring(−1)}を得た。
【0105】
<6−1−3:オペレータ9>
図29に、オペレータ9を獲得する過程を示す。この際、問題解決支援装置3は、preWM={At(−1,A),At(−1,B),At(−1,C),Ring(?1)},postWM={At(0,A),At(−1,B),At(−1,C),Ring(−1)}を得た。図30に、知識獲得フェーズにおいて問題解決支援装置3が獲得した6つのオペレータを示す。
【0106】
<6−2:問題解決フェーズ>
本実験ではロボットに5つのタスク(タスク4〜7、3')を提示した。このうち、タスク4、6、3'の内容を以下に示す。尚、実験1と同様に、タスク5、7は、タスク4、6とそれぞれ対称の関係にあり、これらのタスクと同様の結果になったため、その説明を省略する。また、タスク3'は、実験1においてロボット4が解決不可能と判定したタスク3と同じ内容である。
タスク4.テーブルの上に何も置かれていない状態から目の前(位置B)にりんごを置く。
タスク6.テーブルの上に何も置かれていない状態から手元(位置A)にりんごを置く。
タスク3'.ベルを使って目の前(位置B)にみかんを移動させる。
【0107】
<6−2−1:タスク4>
図31に示す初期状態と目標状態をロボット4に提示した。問題解決支援装置3は、これらの状態をプランナ3に入力し、このタスクが解決可能であると判定した。このときにプランナ3から得られたプランニングの結果を、図32に示す。このように、今回のプランニング結果には3つのプランが含まれていたため、ロボット4は、事前に指定された評価基準に従って、プランを1つ選択した。
具体的には、上述したように、本実験では(1)オペレータ数と(2)実行時間という2つの評価基準を用意した。その結果、図33の表に示すように、オペレータ数を評価基準として指定した場合にはプラン1が選択され、実行時間を評価基準として指定した場合にはプラン2、またはプラン3が選択された。以下では、各プランの実践ステップの結果について述べる。
【0108】
(1)ロボット4は、プラン1に基づいて実践ステップにおいてオペレータを実行し、最終的に目標状態に到達できた。図34にその様子を示す。
(2)ロボット4は、プラン2に基づいて実践ステップにおいてオペレータを実行し、最終的に目標状態に到達できた。図35にその様子を示す。
(3)ロボット4は、プラン3に基づいて実践ステップにおいてオペレータを実行したが、その途中、実環境がプランニング結果通りに変化せず、最終的に目標状態に到達できなかった。図36にその様子を示す。ここで図32の表に示したように、ロボット4がオペレータ5の実行後にターム4として想定したWMは{At(0,A),At(2,C),Ring(4)}であった。しかし、実際に観測したWMは{At(0,A),At(2,C)}であった。このため、ロボット4はその後、この環境に対してオペレータ5の実行を繰り返したが、結果的に想定通りの環境に到達できなかった。
【0109】
<6−2−2:タスク6>
図37の左図を初期状態、中央図を目標状態とするタスク6は、実験1、2で獲得したオペレータでは解決できない。ロボット4は、プランナ3によってこのタスクを解決不可能と判定し、首を横に振ってそれを示した。図37にその様子を示す。
【0110】
<6−2−3:タスク3'>
図38の左図から1枚目を初期状態、2枚目を目標状態とするタスク3'は、実験1においてロボットが解決不可能と判定したものである。しかし、本実験においては、ロボット4は実験1、2で獲得した複数のオペレータを複合的に運用することで、このタスクを解決可能と判定した。このときに、プランナ3から得られたプランニング結果を図39に示す。このうち、プラン1の実践ステップの様子を図38に示した。ロボット4は、プラン1に基づいて実践ステップにおいてオペレータを実行し、最終的に目標状態に到達できた。
【0111】
<7:考察>
以上の説明より、本実施の形態に係る問題解決システムは、非特許文献5で示された性質を全て満たし、また、冒頭で説明した優位性を備えている。また、ヒューマノイドロボット4を用いた実験により、実世界における汎用のタスクに対して有効であることを示した。具体的には、各実験により問題解決支援装置2を実装したロボット4は以下の特長を持つことが確認できた。
(1)ロボット4は、直接的に経験したことのないタスクに対しても適切に行動できる。ここで言う行動とは、自らの問題解決能力では実行できないタスクに対して、実行できないことを示す行為も含まれる。例えば、実験1のタスク1、2に関しては、ロボット4がタスクを提示される以前に直接的に経験したことのないものであるが、ロボット4はこれらのタスクを実行することができた。一方、タスク3に関しては、ロボット4はこのタスクが実験1で獲得したオペレータでは実行できないことを示した。
(2)ロボット4は、知識をオンラインかつ追加的に獲得することで自らの問題解決能力を向上させることができる。具体的には、従来よりも複雑なタスク(オペレータの組み合わせ数が多いものや複数のプランが存在するもの)や、従来では実行できなかったタスクを実行できるようになる。
例えば、実験2のタスク4、5に関しては、実験1のタスク1、2と比較してオペレータの組み合わせ数が多く、さらに複数のプランが存在するものであるが、ロボット4はこれらのタスクに対して適切に行動できた。また、タスク6、7に関しては、ロボット4はこれらのタスクが実験1、2で獲得したオペレータでは実行できないことを示した。そしてタスク3'に関しては、実験1においてロボット4が解決不可能と判定したものであるが、ロボット4は実験1、2で獲得した複数のオペレータを複合的に運用することでこのタスクを実行できた。
【0112】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、本発明はヒューマノイドロボットに限定されず、ヒューマノイドロボット以外の形態のロボット(移動ロボット等)にも搭載可能である。
【符号の説明】
【0113】
1 問題解決システム、
2 問題解決支援装置、
3 プランナ、
4 ロボット、
11 パターン情報取得部、
12 動作情報取得部、
13 入力処理部、
14 パターン記憶部、
15 シンボル記憶部、
21 入力層、
22 パターン記憶層、
23 シンボル記憶層、
40 コンピュータ、
41 CPU、
42 ROM、
43 RAM、
44 バス、
45 入出力インタフェース、
46 入力部、
47 出力部、
48 記憶部、
49 通信部、
50 ドライブ、
501 磁気ディスク、
502 光ディスク、
503 フレキシブルディスク、
504 半導体メモリ、

【特許請求の範囲】
【請求項1】
タスクを実行するロボットと、
前記ロボットが存在する実環境中のパターンをパターン情報として取得するパターン情報取得手段と、
前記パターン情報取得手段で取得したパターン情報と、与えられるパターン情報の概念情報と、与えられるロボットの動作情報と、に基づいて、前記ロボット自身による行動と実環境の変化との因果関係を表現するオペレータを生成する問題解決支援手段と、
前記問題解決支援手段で生成したオペレータの集合を用いて、与えられるタスクの初期状態から目標状態へと至るプランをプランニングするプランナと、を備え、
前記問題解決支援手段は、
前記取得したパターン情報と、前記パターン情報の概念情報と、前記ロボットの動作情報と、を入力として受け付ける入力層と、
前記入力層を介して入力される、前記パターン情報と、当該パターン情報の概念情報と、前記ロボットの動作情報と、を保持するパターン記憶層と、
実環境の状態を記述する述語であって、前記パターン記憶層に保持された前記パターン情報の概念情報を参照する述語について、前記述語の集合である環境モデルと、前記述語及び前記ロボットの動作情報を含むオペレータと、を保持するシンボル記憶層と、を有し、
記号接地フェーズでは、前記パターン情報の種類に応じた自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習し、
知識獲得フェーズでは、前記ロボット自身の行動の前後の実環境においてそれぞれ取得したパターン情報から、実環境の変化前後の環境モデルである変化前環境モデル及び変化後環境モデルをそれぞれ取得して、前記取得した変化前環境モデルの述語を要素とする前提条件と、前記取得した変化前環境モデルの述語のうち前記取得した変化後環境モデルの述語には含まれていない述語を要素とする削除リストと、前記取得した変化後環境モデルの述語のうち前記取得した変化前環境モデルの述語には含まれていない述語を要素とする追加リストと、前記ロボットの動作情報と、を含むオペレータを生成し、
問題解決フェーズでは、前記タスクの初期状態及び目標状態をそれぞれ初期状態環境モデル及び目標状態環境モデルとして前記プランナに入力してプランニングを実行し、前記プランナが出力するプラン中の動作情報に応じた動作を、前記ロボットに実行させる問題解決システム。
【請求項2】
前記自己増殖型ニューラルネットワークとしてSelf-Organizing Incremental Neural Networkを用いる
ことを特徴とする請求項1に記載の問題解決システム。
【請求項3】
前記パターン情報取得手段は、前記パターン情報として少なくとも画像又は音声パターン情報を取得し、
前記問題解決支援手段は、
記号接地フェーズでは、少なくとも画像又は音声パターン情報に応じた画像用の自己増殖型のニューラルネットワーク又は音声用の自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習する
ことを特徴とする請求項1又は2に記載の問題解決システム。
【請求項4】
前記問題解決支援手段は、
前記タスクの初期状態及び目標状態を記述する述語であって、当該述語が参照する前記パターン記憶層に保持された前記パターン情報の概念情報が未知の物体の状態であることを示す場合には、当該述語を、前記プランナへの入力に先立って前記初期状態環境モデル及び前記目標状態環境モデルから取り除く
ことを特徴とする請求項1乃至3いずれか1項に記載の問題解決システム。
【請求項5】
前記ロボットの動作情報を取得する動作情報取得手段を更に備える、
ことを特徴とする請求項1乃至4いずれか1項に記載の問題解決システム。
【請求項6】
前記動作情報取得手段は、前記ロボットの関節角度の時系列データを取得する
ことを特徴とする請求項5に記載の問題解決システム。
【請求項7】
前記プランナは、
現在状態と目標状態との差異を減少させるオペレータを選択し、当該選択したオペレータを現在状態に再帰的に適用するプロセスを繰り返すことで、前記目標状態を達成するプランをプランニングする
ことを特徴とする請求項1乃至6いずれか1項に記載の問題解決システム。
【請求項8】
前記問題解決支援手段は、
前記プランナが出力する複数のプランのうち、前記ロボットに実行させた場合に当該ロボットが実行に要するエネルギーを最小化する一のプランを選択する
ことを特徴とする請求項1乃至7いずれか1項に記載の問題解決システム。
【請求項9】
ロボットに実行させるタスクの初期状態から目標状態へと至るプランを、プランナを用いてプランニングさせるための問題解決支援装置であって、
前記ロボットが存在する実環境中の少なくとも画像又は音声パターンのパターン情報と、前記ロボットの関節角度の時系列データであるロボットの動作情報を取得し、当該取得したパターン情報と、前記パターン情報の概念情報と、前記ロボットの動作情報と、を入力として受け付ける入力処理部と、
前記入力処理部を介して入力される、前記パターン情報と、当該パターン情報の概念情報と、前記ロボットの動作情報と、を保持するパターン記憶部と、
実環境の状態を記述する述語であって、前記パターン記憶部に保持された前記パターン情報の概念情報を参照する述語について、前記述語の集合である環境モデルと、前記述語及び前記ロボットの動作情報を含むオペレータと、を保持するシンボル記憶部と、を有し、
記号接地フェーズでは、前記パターン情報の種類に応じた自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習し、
知識獲得フェーズでは、前記ロボット自身の行動の前後の実環境においてそれぞれ取得したパターン情報から、実環境の変化前後の環境モデルである変化前環境モデル及び変化後環境モデルをそれぞれ取得して、前記取得した変化前環境モデルの述語を要素とする前提条件と、前記取得した変化前環境モデルの述語のうち前記取得した変化後環境モデルの述語には含まれていない述語を要素とする削除リストと、前記取得した変化後環境モデルの述語のうち前記取得した変化前環境モデルの述語には含まれていない述語を要素とする追加リストと、前記ロボットの動作情報と、を含むオペレータを生成し、
問題解決フェーズでは、前記タスクの初期状態及び目標状態をそれぞれ初期状態環境モデル及び目標状態環境モデルとして前記プランナに入力し、前記知識獲得フェーズで生成したオペレータの集合を用いて前記プランナにプランニングを実行させ、前記プランナが出力するプラン中の動作情報に応じた動作を、前記ロボットに実行させる問題解決支援装置。
【請求項10】
前記自己増殖型ニューラルネットワークとしてSelf-Organizing Incremental Neural Networkを用いる
ことを特徴とする請求項9に記載の問題解決支援装置。
【請求項11】
問題解決支援手段を用いてロボット自身による行動と実環境の変化との因果関係を表現するオペレータを生成し、当該生成したオペレータの集合を用いてタスクの初期状態から目標状態へと至るプランをプランナにプランニングさせ、当該プランをロボットに実行させる問題解決方法であって、
前記ロボットが存在する実環境中の少なくとも画像又は音声パターンのパターン情報を取得するステップと、
前記ロボットの関節角度の時系列データであるロボットの動作情報を取得するステップと、
記号接地フェーズにおけるステップと、
知識獲得フェーズにおけるステップと、
問題解決フェーズにおけるステップと、を有し、
前記記号接地フェーズでは、
前記取得したパターン情報と、前記パターン情報の概念情報と、を入力層に入力として受け付け、前記パターン情報の種類に応じた自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習してパターン記憶層に保持するステップと、を有し、
前記知識獲得フェーズでは、
実環境の状態を記述する述語であって、前記パターン記憶層に保持された前記パターン情報の概念情報を参照する述語について、前記述語の集合である環境モデルに関して、前記ロボット自身の行動の前後の実環境においてそれぞれ取得したパターン情報から、実環境の変化前後の環境モデルである変化前環境モデル及び変化後環境モデルをそれぞれ取得するステップと、
前記取得した変化前環境モデルの述語を要素とする前提条件と、前記取得した変化前環境モデルの述語のうち前記取得した変化後環境モデルの述語には含まれていない述語を要素とする削除リストと、前記取得した変化後環境モデルの述語のうち前記取得した変化前環境モデルの述語には含まれていない述語を要素とする追加リストと、を生成するステップと、
前記ロボットの動作情報を入力層に入力として受け付け、前記前提条件と、前記削除リストと、前記追加リストと、前記ロボットの動作情報と、を含むオペレータを生成するステップと、
前記取得した変化前環境モデル及び変化後環境モデルと、前記オペレータと、をシンボル記憶層に保持するステップと、を有し、
前記問題解決フェーズでは、
前記タスクの初期状態及び目標状態をそれぞれ初期状態環境モデル及び目標状態環境モデルとして前記プランナに入力ステップと、
前記知識獲得フェーズで生成したオペレータの集合を用いて前記プランナにプランニングを実行させるステップと、
前記プランナが出力するプラン中の動作情報に応じた動作を、前記ロボットに実行させるステップと、を有する問題解決方法。
【請求項12】
前記自己増殖型ニューラルネットワークとしてSelf-Organizing Incremental Neural Networkを用いる
ことを特徴とする請求項11に記載の問題解決方法。

【図1】
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

【図14】
image rotate

【図19】
image rotate

【図21】
image rotate

【図24】
image rotate

【図30】
image rotate

【図32】
image rotate

【図33】
image rotate

【図39】
image rotate

【図2】
image rotate

【図3】
image rotate

【図13】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図20】
image rotate

【図22】
image rotate

【図23】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図31】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate


【公開番号】特開2011−170789(P2011−170789A)
【公開日】平成23年9月1日(2011.9.1)
【国際特許分類】
【出願番号】特願2010−36411(P2010−36411)
【出願日】平成22年2月22日(2010.2.22)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成18年度採択独立行政法人新エネルギー・産業技術総合開発機構 産業技術研究助成事業(若手研究グラント)、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(510049609)
【Fターム(参考)】