(57)【特許請求の範囲】
【請求項１】
条件を示す条件情報と、当該条件が満たされた場合に実行される処理を示す処理情報のセットをパネルとして、複数記憶保持する記憶保持手段と、
前記記憶保持手段が記憶保持している複数のパネルのうち、１つを選択するパネル選択手段と、
前記パネル選択手段が選択したパネルを用いてロボットの制御を行う制御手段とを備え、
前記パネル選択手段は、
前記パネル選択手段が次に選択するパネルの候補を示す候補情報を所定個数分、記憶保持する為の候補情報記憶手段と、
前記候補情報記憶手段に記憶保持されている候補情報から１つを選択し、選択した候補情報が示すパネルを、前記選択手段が次に選択するパネルとして決定するパネル決定手段とを備え、
前記制御手段は、
使用中のパネル内に、着目候補情報を前記候補情報記憶手段に格納する処理を示す処理情報が含まれており、且つ、当該処理情報とセットになって前記使用中のパネルに含まれている条件情報が示す条件が満たされたことを検知した場合には、前記着目候補情報を前記候補情報記憶手段に格納する
ことを特徴とするロボットの制御装置。
【請求項２】
前記候補情報記憶手段は、同じパネルを示す候補情報を複数個記憶保持可能であることを特徴とする請求項１に記載のロボットの制御装置。
【請求項３】
前記候補情報記憶手段は、前記所定数の候補情報を記憶保持している状態で新たな候補情報を受け付けると、最も過去に記憶保持した候補情報の替わりに前記新たな候補情報を記憶保持することを特徴とする請求項１又は２に記載のロボットの制御装置。
【請求項４】
前記候補情報記憶手段は、少なくとも１つ以上の候補情報を記憶することを特徴とする請求項１乃至３の何れか１項に記載のロボットの制御装置。
【請求項５】
前記パネルに含まれる条件情報のそれぞれが優先順位を有し、
前記制御手段は、前記パネルに含まれる複数の条件情報のうち、２以上の条件情報のそれぞれが示す条件が満たされたことを検知した場合、前記２以上の条件情報のうち、優先順位が最も高い条件情報を特定し、特定した条件情報とセットになっている処理情報が示す処理を実行することを特徴とする請求項１乃至４のいずれか１項に記載のロボットの制御装置。
【請求項６】
条件を示す条件情報と、当該条件が満たされた場合に実行される処理を示す処理情報のセットをパネルとして複数記憶保持する記憶保持手段、が記憶保持している複数のパネルのうち、１つを選択するパネル選択工程と、
前記パネル選択工程で選択したパネルを用いてロボットの制御を行う制御工程とを備え、
前記パネル選択工程では、
前記パネル選択工程で次に選択するパネルの候補を示す候補情報を所定個数分記憶保持する為の候補情報記憶手段、に記憶保持されている候補情報から１つを選択し、選択した候補情報が示すパネルを、前記選択手段が次に選択するパネルとして決定し、
前記制御工程では、
使用中のパネル内に、着目候補情報を前記候補情報記憶手段に格納する処理を示す処理情報が含まれており、且つ、当該処理情報とセットになって前記使用中のパネルに含まれている条件情報が示す条件が満たされたことを検知した場合には、前記着目候補情報を前記候補情報記憶手段に格納する
ことを特徴とするロボットの制御方法。
【請求項７】
コンピュータに請求項６に記載のロボットの制御方法を実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットの制御装置及びその方法並びにプログラムコード、記憶媒体に関するものである。
【０００２】
【従来の技術】
近年のロボット技術の分野では、ユーザと仮想のコミュニケーションを図るためのロボット（コミュニケーションロボット）が存在する。コミュニケーションロボットには、単純に外観や、生き物としてのリアリティ等が異なる複数種類のものがある。
【０００３】
単純な外観としては、猫型や犬型といった身近なペット型のものが多い。また、その生き物としてのリアリティ等については、ロボットがとる行動パターンの数によるところがある。つまり、状況に応じてロボットのとる行動の数が多ければ多いほど、そのロボットはより生き物らしくなる。
【０００４】
そのためにコミュニケーションロボットには予めいくつかの行動パターン、例えば手足や体の動き、顔や目の表情、鳴き声などのサウンドが登録されている。そしてユーザのロボットへのアクション（例えばロボットをなでたり、たたいたりする）やロボットの状況（例えばロボットが何かにぶつかったり、姿勢を崩したり）に応じて、とるべきロボットの行動パターンが上記の予め保持しておいた行動パターンから選択され、ロボットは選択された行動パターンに応じた行動をとる。
【０００５】
【発明が解決しようとする課題】
しかしコミュニケーションロボットをより生き物らしくするためには、より多くの行動パターンをロボットに登録する必要がある。又、生き物には「学習能力」があり、過去の状況を参考にしてその行動パターンを自発的に変更しようとする。この「学習能力」をコミュニケーションロボットに備える場合、その機能を実現するための装置を上述の行動パターンを選択する機能とは別に設ける必要があり、コミュニケーションロボットの装置としての複雑性やコストの向上といった問題があった。
【０００６】
本発明は以上の問題に鑑みてなされたものであり、簡単な構成で学習機能、特に性格付けを実現することを目的とする。
【０００７】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明のロボットの制御装置は以下の構成を備える。
【０００８】
即ち、条件を示す条件情報と、当該条件が満たされた場合に実行される処理を示す処理情報のセットをパネルとして、複数記憶保持する記憶保持手段と、
前記記憶保持手段が記憶保持している複数のパネルのうち、１つを選択するパネル選択手段と、
前記パネル選択手段が選択したパネルを用いてロボットの制御を行う制御手段とを備え、
前記パネル選択手段は、
前記パネル選択手段が次に選択するパネルの候補を示す候補情報を所定個数分、記憶保持する為の候補情報記憶手段と、
前記候補情報記憶手段に記憶保持されている候補情報から１つを選択し、選択した候補情報が示すパネルを、前記選択手段が次に選択するパネルとして決定するパネル決定手段とを備え、
前記制御手段は、
使用中のパネル内に、着目候補情報を前記候補情報記憶手段に格納する処理を示す処理情報が含まれており、且つ、当該処理情報とセットになって前記使用中のパネルに含まれている条件情報が示す条件が満たされたことを検知した場合には、前記着目候補情報を前記候補情報記憶手段に格納する
ことを特徴とする。
【０００９】
本発明の目的を達成するために、例えば本発明のロボットの制御方法は以下の構成を備える。
【００１０】
即ち、条件を示す条件情報と、当該条件が満たされた場合に実行される処理を示す処理情報のセットをパネルとして複数記憶保持する記憶保持手段、が記憶保持している複数のパネルのうち、１つを選択するパネル選択工程と、
前記パネル選択工程で選択したパネルを用いてロボットの制御を行う制御工程とを備え、
前記パネル選択工程では、
前記パネル選択工程で次に選択するパネルの候補を示す候補情報を所定個数分記憶保持する為の候補情報記憶手段、に記憶保持されている候補情報から１つを選択し、選択した候補情報が示すパネルを、前記選択手段が次に選択するパネルとして決定し、
前記制御工程では、
使用中のパネル内に、着目候補情報を前記候補情報記憶手段に格納する処理を示す処理情報が含まれており、且つ、当該処理情報とセットになって前記使用中のパネルに含まれている条件情報が示す条件が満たされたことを検知した場合には、前記着目候補情報を前記候補情報記憶手段に格納する
ことを特徴とする。
【００１１】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１２】
［第１の実施形態］
本実施形態では、外界の状況、及び／又は自身の状況に応じて行動するコミュニケーションロボット（以下単にロボットと呼ぶこともある）を制御する装置（以下単に制御装置と呼ぶこともある）及びその方法について説明する。
【００１３】
＜制御装置の構成＞
図１に本実施形態における制御装置の構成を示す。
【００１４】
１０１は物理センサ部で、ロボットの外界の状況や自身の状況を検知する。ロボットの外界の状況を検知するセンサとして物理センサ部１０１は、明るさを検知する光センサ（例えばｃｄｓセルなど）、音を検知する音センサ、ロボットが何かにぶつかった場合にその状況を検知するタッチセンサ、ロボットの周囲に物体（例えば障害物など）が存在するか否かを赤外線で検知する赤外線対物センサ等により構成されている。又、ロボット自身の状況をセンスするセンサとして物理センサ部１０１は、ロボットの姿勢を検知する姿勢センサなどにより構成されている。以上のセンサは本実施形態における一例であってこれに限定されるものではない。又、各センサの仕組みやその動作則に関しては本実施形態で説明する範疇ではないのでここでの説明は省略する。
【００１５】
１０２は内部センサ部で、ロボットの内部の状況を検知する。内部センサ部１０２としては、ロボットの内部における時計として機能する体内時計や、カウンタ等により構成されている。
【００１６】
１０３はセンサ処理部で、物理センサ部１０１や内部センサ部１０２からの検知結果に基づいて、具体的に「ぶつかった」、「明るくなった」等の結果を出力する。
【００１７】
１０４はアクション演算処理部で、センサ処理部１０３からの入力に応じた行動パターンを後述のデータ格納部１０５に格納されたパネル１０５ａを用いて決定する。この決定方法については後述する。また、用いるパネルをデータ格納部１０５から読み込むためのワークエリア１０４ａを内部に備える。
【００１８】
１０５はデータ格納部で、ロボットの行動の因果関係（この行動の因果関係を以下、ロボットの性格と呼ぶことがある）を示すパネル１０５ａ（詳細は後述する）、ロボットがとる各種のモーションデータ１０５ｂ、ロボットの目の部分（ＬＥＤなどにより構成されていて、様々なパターンが表示可能）に表示されるパターンのデータ（目のパターンデータ）１０５ｃ、ロボットが発する鳴き声や効果音などのデータ（サウンドデータ）１０５ｄ、リンクテーブル１０５ｆ（詳細は後述する）を格納する。
【００１９】
１０６はアクション処理部で、アクション演算処理部１０４で決定した行動パターンに基づいてロボットの各部（手、足、首、目の部分など）を制御する。アクション処理部１０６はロボットのモーションを再生を再生するモーション再生部（アクチュエータや走行車輪などにより構成されている）、上述の目の表示部、ロボットの鳴き声や効果音を発する発音部（スピーカやＤ／Ａ変換器などにより構成されている）、そして各種演算などを行う演算部などにより構成されている。
【００２０】
＜パネルとユニット＞
図２にパネルの一例を示す。パネルにはユニットが設けてあり、その種類はセンサユニット２０１とアクションユニット２０２に大別される。センサユニット２０１は、パネルにおいて同じ行のアクションユニットが示す行動をロボットがとるための条件を示すものである。例えばロボットの右手に対応するタッチセンサがロボットの右手に何か当たったことを検知した場合、「右手に当たる」を示すセンサユニットに対応するアクションユニット、つまり、「表情  痛っ！」、「サウンド  驚き」、「歩行後退  １秒、割込禁」、「左歩行回転  １秒、割込禁」の４つのアクションユニットがこの順に実行される。つまり、アクションユニットは常に左から実行される。
【００２１】
そして「表情  痛っ！」を示すアクションユニットが実行されると、データ格納部１０５に格納されている目のパターンデータ１０５ｃから「痛い」表情を示す目のパターンがアクション演算処理部１０４により選択され、選択された目のパターンはアクション処理部１０６（目の表示部）に表示される。
【００２２】
また、「サウンド  驚き」を示すアクションユニットが実行されると、データ格納部１０５に格納されているサウンドデータ１０５ｄから「驚き」を示すサウンドデータがアクション演算処理部１０４により選択され、選択されたサウンドデータはアクション処理部１０６（サウンド発音部）でサウンドとして再生される。
【００２３】
また、「歩行後退  １秒、割込禁」を示すアクションユニットが実行されると、データ格納部１０５に格納されているモーションデータ１０５ｂから「歩行後退」を示すモーションデータがアクション演算処理部１０４により選択され、選択されたモーションデータは１秒間だけ（内部センサ１０２の体内時計により計時）アクション処理部１０６（モーション再生部）でモーションとして再生される。つまり、ロボットは歩行後退の行動をとる。このとき「割込禁」の指示があるので、歩行後退中に他の処理の割込を禁止する。しかし、この割込を有りとするアクションユニットを設けることもでき、その場合、より優先順位の高い処理の割込を許可する。
【００２４】
また、「左歩行回転  １秒、割込禁」を示すアクションユニットが実行されると、データ格納部１０５に格納されているモーションデータ１０５ｂから「左歩行回転」を示すモーションデータがアクション演算処理部１０４により選択され、選択されたモーションデータは１秒間だけ（内部センサ１０２の体内時計により計時）アクション処理部１０６（モーション再生部）でモーションとして再生される。つまり、ロボットは左歩行回転の行動をとる。このとき「割込禁」の指示があるので、左歩行回転中に他の処理の割込を禁止する。
【００２５】
以上のようにして、条件が満たされたセンサニットに対応するアクションユニットが実行される。そして、アクション処理部１０６は実行されるアクションユニットに応じた処理を行う。実際には、アクション演算処理部１０４はワークエリア１０４ａに読み込まれたパネルに設けられた各センサニットを上から下まで繰り返し、周期的にスキャンする（例えばパネルの最上部のユニットから最下部のユニットまでのスキャンの繰り返し周期が０．１秒）。そして、センサ処理部１０３から入力されるセンサ結果に該当するセンサユニットが無いかを調べる。そして該当するセンサユニットがある場合には、上述の通り、該当するセンサユニットに対応するアクションユニットを実行する。
【００２６】
又、パネルにおいて実行されるユニットの優先順位（センサ処理部１０３からの入力が複数のセンサユニットに該当する場合）は本実施形態では、より上に設けられたユニット程優先順位は低く、より下に設けられたユニット程優先順位は高いものとするが、これに限定されるものではない。
【００２７】
尚、図２において「パネルジャンプ  パネルＮｏ．２」を示すアクションユニットがあるが、これは各パネルに付けられた固有番号のうち、Ｎｏ．２に対応するパネルをワークエリア１０４ａにロードすることを示す。具体的には、データ格納部１０５に格納されたパネル１０５ａからＮｏ．２のパネルを選択し、ワークエリア１０４ａを選択したパネルに書き換える。このようにすることで、ロボットの行動にバリエーションができ、更により多くのパネルを備えることでより多くの性格を有することができる。
【００２８】
＜リンクテーブル＞
図３にリンクテーブルを示す。リンクテーブルは、コール先のパネルを特定するデータ（例えばパネルが格納されているアドレスを指すポインタなど）を格納し、複数のリンクテーブル１０５ｆがデータ格納部１０５に格納されている。本実施形態では１つのリンクテーブルで最大１６個のコール先を格納することができる（１６個の箱が設けられている）ものとするが、これに限定されるものではない。
【００２９】
図４にリンクテーブルに関するアクションユニットを示す。
【００３０】
４０１は指定したリンクテーブル（同図の例ではリンクテーブルＮｏ．１）の１６個の箱のうち、ランダムに１つを選択することを示すアクションユニットである。そして選択した箱に記憶されているコール先が例えばパネルＮｏ．５であった場合、パネルＮｏ．５がデータ格納部１０５から選択され、ワークエリア１０４ａにロードされる。尚、選択された箱にコール先が格納されていなかった場合（例えばコール先としてＮＵＬＬコードが格納されている場合）、このアクションユニットは無視され、次のアクションユニットが実行される。
【００３１】
４０２は指定したパネル（同図ではパネルＮｏ．５）を指定したリンクテーブル（同図ではリンクテーブルＮｏ．１）に格納することを示すアクションユニットである。指定したリンクテーブルにパネルを格納する際、図５に示すとおり、順次空の箱に格納する。しかし指定したリンクテーブルが有する箱が全て空ではない場合、図６に示すとおり、常に古い箱（同図では下の箱程古い）から押し出されて消える。
【００３２】
４０３は指定したリンクテーブル（同図ではテーブルＮｏ．１）の箱から古いもの順に消去することを示すアクションユニットである。
【００３３】
４０４は指定したリンクテーブル（同図ではテーブルＮｏ．１）の全ての箱を消去することを示すアクションユニットである。
【００３４】
以上のリンクテーブルに関するアクションユニット及びリンクテーブルを用いて以下、ロボットの学習の方法について説明する。
【００３５】
＜リンクテーブルを用いた学習方法＞
本学習例では、何度も叩かれるとだんだん叩かれる前（手が目の前に来たとき）に叩かれれるのを察知して後ろに逃げるように学習する方法について説明する。
【００３６】
図７に本学習例に用いるパネル１，２を示す。パネル１にはセンサユニット７１１，７１３，７１６，７１８と、夫々のセンサユニットに対応するアクションユニット７１２，７１４，７１５，７１７，７１９，７２０が設けられている。一方、パネル２にはセンサユニット７５１と、それに対応するアクションユニット７５２，７５３が設けられている。尚、以下では予めワークエリア１０４ａにパネル１がロードされているものとする。
【００３７】
上の状態において、ロボットは、基本的には何もない（どのセンサも反応していないか、もしくはセンサの検出した値が所定値（センサが何かを検知したとセンサ処理部１０３が見なせるだけの値（閾値））以下であった場合）とセンサユニット７１１に対応するアクションユニット７１２が実行され、アクション演算処理部１０４はデータ格納部１０５から「お座り」のモーションデータを特定し、アクション処理部１０６は特定した「お座り」のモーションデータを再生する。
【００３８】
ロボットが叩かれた場合（所定時間内（例えば１秒以内）に急に暗くなり（光センサが検知する明るさが所定時間内に暗くなった）、一回（内部センサ１０２のカウンタによるカウント）の音（物理センサ部１０１の音センサによる）を検知した場合）、センサユニット７１３に対応するアクションユニット７１４，７１５がこの順に実行される。まずアクションユニット７１４が実行され、リンクテーブルＮｏ．１（本学習例の説明ではリンクテーブルはリンクテーブルＮｏ．１しか用いないために、単にリンクテーブルと呼ぶことがある）の空の箱にパネル２をコール先とするためのデータ（例えばパネル２の格納されているアドレスを指すポインタなど）を１つ格納する。そして次にアクションユニット７１５が実行され、痛いアクションに対応するモーションデータをデータ格納部１０５から特定し、アクション処理部１０６は特定した「痛いアクション」に対応するモーションデータを再生する。このようにすることで、ロボットを叩く度にリンクテーブルにはコール先をパネル２とするデータが格納されていく（もちろん１６回叩けば、リンクテーブルの有するすべての箱の中にパネル２をコール先とするデータが格納されることになる）。
【００３９】
次にロボットが（物理センサ部１０１が）前に何かあると検知（例えば赤外線対物センサにより検知）した場合、センサユニット７１６に対応するアクションユニット７１７が実行される。具体的にはリンクテーブルの箱（１６個の箱）の中からランダムに一つを選択し、選択した箱の中に格納されたコール先に基づいてパネルをコールする。箱が空であればそのまま何もせずに処理は次に進む。しかし、上述の処理によると何度もロボットを叩いていると、パネル２をコール先とする箱を選択する確率が高くなる。よって、ロボットを何度も叩いていると、ロボットの前に何かあるだけで、アクションユニット７１７の実行により、パネル２をコールする確率が高くなる。
【００４０】
パネル２にはセンサユニット７５１と、アクションユニット７５２，７５３が設けられている。アクションユニット７１７の実行によりパネル２をコールすると、ワークエリア１０４ａにパネル１とは別の領域にパネル２がロードされる。そしてパネル２をコールした時点ではロボットには何もないので、センサユニット７５１に対応するアクションユニット７５２，７５３がこの順に実行される。まずアクションユニット７５２を実行すると、高速後退のモーションがデータ格納部１０５から選択され、アクション処理部１０６により高速後退のモーションが再生される。そして次にアクションユニット７５３が実行され、パネルリターン、すなわち、パネル２をコールしたユニットの次のユニットに処理対象を移す。
【００４１】
このようにすることでパネル２における処理、つまり、高速後退する処理の頻度が上述の通り、ロボットの頭を叩く回数の頻度に応じて高くなる。
【００４２】
更にパネル１において、なでられる（所定時間内（例えば５秒以内）に急に明るくなったり暗くなったりを５回以上検知した（上述した各センサにより検知可能））と、センサユニット７１８に対応するアクションユニット７１９，７２０が実行される。まずアクションユニット７１９を実行することで、リンクテーブルに格納されている箱の中から最も古い箱を削除する。つまり、リンクテーブルにおいて「パネル２をコール先とするためのデータ」を格納する箱が一つ減ることになる（リンクテーブルに１つ以上、パネル２をコール先とするデータが格納されていることが前提）。言い換えれば、アクションユニット７１７を実行した際に、パネル２をコールする確率を減ずることになる。その結果、高速後退する確率が低くなり、擬人的に見れば「少し機嫌を良くした」と見ることができる。そしてアクションユニット７２０を実行することで、喜びのアクションに対応するモーションデータがデータ格納部１０５から選択され、選択されたモーションデータがアクション処理部１０６で再生される。
【００４３】
以上のパネル１，２とリンクテーブルを用いた学習方法を説明する図を図８に示す。同図は同じ一つのリンクテーブルに格納されるパネル２の数の変化を示したものであり、８００の状態でコール先をパネル２とするためのデータ（同図では単にパネル２としている）が一つ格納されている。そこでアクションユニット８１０を実行することで更にもう一つ同データが追加され、状態８０１となる。ここで、アクションユニット８２０が実行されると、更にもう一つ同データが追加され、状態８０２となる。一方、アクションユニット８３０が実行されると、格納された順番が古い順に削除され、８０１の状態から一つ同データが削除され、８０３の状態となる。
【００４４】
また、上述の処理では、ロボットはなでられる毎に少しづつ機嫌を良くしていくが、例えばアクションユニット７１９の代わりに図４に示したアクションユニット４０４を用いることで、一回でもなでられると、リンクテーブル内の箱を全部消去するので、コール先のパネルを特定するデータ（パネル２）は消去され、一気に機嫌をよくする性格となる。
【００４５】
また、アクションユニット７１９の代わりに図４に示したアクションユニット４０３を用い、所定時間（例えば１分）毎（内部センサ１０２の体内時計により時間計測）にアクションニット４０３を実行することで、所定時間が経過する度にリンクテーブル内の箱が１つずつ消去されるので、ロボットは所定時間が経過する毎に機嫌を良くするようになる。
【００４６】
以上のように、学習対象をパネルとして表現し（上述の例ではパネル２）、学習をパネルをリンクテーブルに格納する処理とし、学習度をリンクテーブルに格納されたパネルの数として表現することで、パネル、ユニットを用いたロボットの行動プログラムの延長で学習機能（性格付けを含む）を実現することができる。
【００４７】
以上の学習の処理のフローチャートを図９に示し、説明する。まずワークエリア１０４ａにパネル１をロードする（ステップＳ９０１）。そしてセンサ処理部１０３からの入力を受け付ける（ステップＳ９０２）。そしてセンサ処理部１０３からの入力において、センサユニットに該当する入力があったか否かの判断を行い（ステップＳ９０３）、あった場合、処理をステップＳ９０４に移行する。ステップＳ９０４における具体的な処理のフローチャートを図１０に示す。
【００４８】
センサ処理部１０３からの入力が「叩かれた」ことを示すものであった場合（ステップＳ１００１）、処理をステップＳ１００２に移行し、リンクテーブルにパネル２をコール先として格納する（ステップＳ１００２）。そして「痛いアクション」に基づいたモーションデータを再生する（ステップＳ１００３）。
【００４９】
センサ処理部１０３からの入力が「前に何かある」ことを示すものであった場合（ステップＳ１００４）、処理をステップＳ１００５に移行し、リンクテーブルが有する箱の中からランダムに一つを選択する（ステップＳ１００５）。そして選択した箱が空である場合には処理はステップＳ１００９に移行する。選択した箱がパネル２をコール先とするためのデータを格納している場合、処理をステップＳ１００７に移行し、パネル２をコールして（ステップＳ１００７）、高速後退を行う（ステップＳ１００８）。
【００５０】
センサ処理部１０３からの入力が「なでられた」ことを示すものであった場合（ステップＳ１００９）、リンクテーブルが有する箱の中から最も古い箱を削除し（ステップＳ１０１０）、「喜びのアクション」に基づいたモーションデータを再生する（ステップＳ１０１１）。
【００５１】
センサ処理部１０３からの入力が無い場合、もしくは所定の値以下である場合には（ステップＳ１０１２）、「お座り」のモーションデータを再生する（ステップＳ１０１３）。
【００５２】
そして図９のステップＳ９０５に戻る。
【００５３】
尚本実施形態では、リンクテーブルにコール先としてどのパネルも登録されていない場合（本学習例ではパネル２をコール先とする確率が０の場合）には、ロボットはずっとお座りのモーションデータを再生することになるが、これに限定されるものではなく、最低一つはコール先（本学習例ではパネル２）を登録するようにしても良い。
【００５４】
［第２の実施形態］
本実施形態では、ロボットが学習することで、中性的なセンサ（ロボットが感情表現しにくいセンサ）を、ロボットにとって意味のある（感情表現しやすい）センサにする学習例を示す。
【００５５】
例えば一般の生き物としてのペットにおいて、「叩かれる」、「ぶつかる」等の入力は、ペットにとって良い入力とはいえない。そして感情としては嫌な感情になり、その感情は表情や行動として出力される。しかし、例えば、「ハンドクラップの音を１回鳴らす」などの入力に対しては、ペットの感情は一意ではない。よってこのような中性的な入力に対する感情表現を学習する例を３つ本実施形態で説明する。尚、学習を行うためのパネル（センサユニット、アクションユニットを含む）やリンクテーブルの使用方法は第１の実施形態において説明した通りである。
【００５６】
＜学習例１＞
例えばハンドクラップを１回鳴らし、その後にロボットをほめると（例えばロボットをなでると）、ロボットに「ノリノリで喜ぶ」モーションを再生させるようにパネル（パネル内に配置するセンサユニットとアクションユニットも含む）を構成する。その結果、ハンドクラップを鳴らす毎に、ロボットは「ノリノリで喜ぶ」モーションを再生することを学習する。
【００５７】
上述の学習を実現するために、パネル１にはハンドクラップの音を１回検知すると後述のパネル２をリンクテーブルに１つ格納し、ほめられるとリンクテーブルからランダムに一つ箱を選択して箱に格納されているコール先で特定されるパネルを読み込んで実行するようにセンサユニットとアクションユニットを配置する。一方、パネル２には、何もないと「ノリノリで喜ぶ」モーションを再生するようにセンサユニットとアクションユニットを配置する。
【００５８】
＜学習例２＞
例えばロボットの前に何かある場合に（ロボットが前に何かあると検知した場合に）、ロボットを叩くと、ロボットに「痛がる」モーションを再生させるようにパネル（パネル内に配置するセンサユニットとアクションユニットも含む）を構成する。その結果、ロボットは前に何かあることを検知する毎に、「痛がる」モーションを再生することを学習する。
【００５９】
上述の学習を実現するために、パネル１には前に何かあることを検知すると後述のパネル２をリンクテーブルに１つ格納し、叩かれるとリンクテーブルからランダムに一つ箱を選択して箱に格納されているコール先で特定されるパネルを読み込んで実行するようにセンサユニットとアクションユニットを配置する。一方、パネル２には、何もないと「痛がる」モーションを再生するようにセンサユニットとアクションユニットを配置する。
【００６０】
＜学習例３＞
例えば急に明るくなった場合に（ロボットが急に明るくなったことを検知した場合に）、のどをゴロゴロすると（ロボットののどにタッチセンサなどを設け、「ゴロゴロされた」ことを検知可能とした場合）、ロボットに「気持ちいい」モーションを再生させるようにパネル（パネル内に配置するセンサユニットとアクションユニットも含む）を構成する。その結果、ロボットは急に明るくなったことを検知する毎に、「気持ちいい」モーションを再生することを学習する。
【００６１】
上述の学習を実現するために、パネル１には急に明るくなったことを検知すると後述のパネル２をリンクテーブルに１つ格納し、のどをゴロゴロされると、リンクテーブルからランダムに一つ箱を選択して箱に格納されているコール先で特定されるパネルを読み込んで実行するようにセンサユニットとアクションユニットを配置する。一方、パネル２には、何もないと「気持ちいい」モーションを再生するようにセンサユニットとアクションユニットを配置する。
【００６２】
以上の学習の結果、ロボットは中性的な入力に応じた感情を学習することができ、学習した感情に応じた行動や表情を学習することができる。
【００６３】
［第３の実施形態］
第１、２の実施形態におけるロボットの行動の因果関係（すなわちロボットの性格）は、パネルとそこに設けられるユニットの組み合わせにより実現した。このユニットの組み合わせは外部からプログラミング可能である。例えば、パーソナルコンピュータ上で動作するＧＵＩを用いて、パネル内にユニットを自由に配置することを可能にする。その結果、オリジナルのパネルが作成されるので、この作成したパネルをロボットに転送する。転送は、パーソナルコンピュータとロボットとを所定の規格の端子（例えばＵＢＳ端子など）で接続することで、可能となる。もちろん上述のパーソナルコンピュータに、上述のＧＵＩのプログラムコードやデータ、ロボットにデータを転送するためのドライバがインストールされていることは自明である。
【００６４】
【発明の効果】
以上の説明により、本発明によって、簡単な構成で学習機能、特に性格付けを実現することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態における制御装置の構成を示す図である。
【図２】パネルの一例を示す図である。
【図３】リンクテーブルを示す図である。
【図４】リンクテーブルに関するアクションユニットを示す図である。
【図５】指定したリンクテーブルにパネルを格納する際を説明する図である。
【図６】指定したリンクテーブルにパネルを格納する際、このリンクテーブルが有する箱が全て空ではない場合を説明する図である。
【図７】学習例に用いるパネル１，２を示す図である。
【図８】図７に示したパネル１，２を用いた学習方法を説明する図である。
【図９】学習の処理のフローチャートである。
【図１０】ステップＳ９０４における具体的な処理のフローチャートである。
【図１】
0004316819.tif 000002
【図２】
0004316819.tif 000003
【図３】
0004316819.tif 000004
【図４】
0004316819.tif 000005
【図５】
0004316819.tif 000006
【図６】
0004316819.tif 000007
【図７】
0004316819.tif 000008
【図８】
0004316819.tif 000009
【図９】
0004316819.tif 000010
【図１０】
0004316819.tif 000011