(57)【特許請求の範囲】
【請求項１】
複数の感情に対応する軸を有する感情空間を用いて、ロボットに感情を表現させるロボットの制御方法であって、
コンピュータが、
記録部に記録した前記感情空間の座標により示される感情点により１つの値が決まる関数を有するポテンシャル情報を取得し、
前記ポテンシャル情報が有する前記感情点により１つの値が決まる関数と、現在の感情点を用いて、該現在の感情点における勾配ベクトルを求め、
前記勾配ベクトルが示す移動量と方向と、前記現在の感情点とを用いて、次の感情点を求め、
前記ロボットが備える可動部または発声部を稼動するための行動指示情報と前記感情点を関連付けて前記記録部に記録される感情マップテーブルを参照して、前記次の感情点に関連付けられている前記行動指示情報を取得して、取得した前記行動指示情報を前記可動部または前記発声部に出力する、
ことを実行するロボットの制御方法。
【請求項２】
コンピュータが、
前記ロボットが備える複数のセンサのいずれかから、前記センサを識別するセンサ情報を取得し、
前記記録部に記録されている、複数の前記センサ各々を識別するセンサ情報と、前記センサ情報各々に関連付けられる前記感情点により１つの値が決まる関数を有する１つ以上のイベントポテンシャル情報を記録するイベントポテンシャルテーブルから、前記センサ情報に関連付けられている前記イベントポテンシャル情報を取得し、
前記記録部に記録されている、前記感情点により１つの値が決まる関数を有するロボットポテンシャル情報を記録するロボットポテンシャルテーブルを取得し、取得した前記ロボットポテンシャル情報の有する関数と前記イベントポテンシャル情報の有する関数を合成して、合成した関数を有するポテンシャル情報を生成する、
ことを実行する請求項１に記載のロボットの制御方法。
【請求項３】
コンピュータが、
前記ポテンシャル情報に含まれる前記イベントポテンシャル情報の有する関数により決まる感情点各々に対応する値各々を、予め設定した時間ごとに減衰させることを特徴とする請求項２に記載のロボットの制御方法。
【請求項４】
前記勾配ベクトルに慣性力を付加して前記次の感情点までの移動量と方向を求めることを特徴とする請求項３に記載のロボットの制御方法。
【請求項５】
前記移動量が０から閾値の範囲であるとき、前記ポテンシャル情報が有する関数の極小点に感情点が停留していると判定したとき、前記ポテンシャル情報が有する関数に前記勾配ベクトルを回転させる強制力を付加することを特徴とする請求項１に記載のロボット制御方法。
【請求項６】
複数の感情に対応する軸を有する感情空間を用いて、ロボットに感情を表現させるロボットの感情制御プログラムであって、
コンピュータに、
記録部に記録した前記感情空間の座標により示される感情点により１つの値が決まる関数を有するポテンシャル情報を取得する処理と、
前記ポテンシャル情報が有する前記感情点により１つの値が決まる関数と、現在の感情点を用いて、現在の感情点における勾配ベクトルを求める処理と、
前記勾配ベクトルが示す移動量と方向と前記現在の感情点を用いて、次の感情点を求める処理と、
前記ロボットが備える可動部または発声部を稼動するための行動指示情報と前記感情点を関連付けて前記記録部に記録される感情マップテーブルを参照して、前記次の感情点に関連付けられている前記行動指示情報を取得して、取得した前記行動指示情報を前記可動部または前記発声部に出力する処理と、
を実行させることを特徴とするロボットの制御プログラム。
【請求項７】
複数の感情に対応する軸を有する感情空間を用いて、感情を表現するロボットであって、
前記ロボットが感情を表現するのに用いる前記ロボットの可動部または発声部を稼動する行動指示情報と、前記感情空間の座標により示される感情点とを関連付けて記録する感情マップテーブルと、
前記感情点により１つの値が決まる関数を有するロボットポテンシャル情報を記録するロボットポテンシャルテーブルと、
前記ロボットが備える複数のセンサを識別するセンサ情報と、前記センサ情報各々に関連付けられる前記感情点により１つの値が決まる関数を有する１つ以上のイベントポテンシャル情報を記録するイベントポテンシャルテーブルと、を有する記録部と、
前記イベントポテンシャルテーブルから前記センサ情報に関連付けられている前記イベントポテンシャル情報を取得するイベント処理部と、
前記イベント処理部で取得した前記イベントポテンシャル情報の有する関数を、ロボットポテンシャル情報の有する関数に合成して、合成した関数を有するポテンシャル情報を生成するポテンシャル合成部と、
前記ポテンシャル情報が有する前記感情点により１つの値が決まる関数と、現在の感情点を用いて、現在の感情点における勾配ベクトルを求める勾配計算部と、
前記勾配ベクトルが示す移動量と方向と前記現在の感情点を用いて、次の感情点を求める座標移動部と、
前記次の感情点に関連付けられている前記感情マップテーブルの行動指示情報を取得し、取得した前記行動指示情報を前記可動部または前記発声部に出力する行動指示部と、
を備えることを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを制御する技術に関する。
【背景技術】
【０００２】
近年、人と接するロボットに対人親和性を高めるために擬似的な感情を持たせる方法が用いられている。例えば、擬似的な感情を実現する手段として、喜怒哀楽などの基本的な感情を仮想空間の軸に対応付けし、それら軸上の値により決定される座標に対応する感情をロボットに表現させる方法が多く用いられている。上記仮想空間は多次元空間であり、以後感情空間と呼ぶものとする。
【０００３】
感情空間を用いた方法において、座標の動かしかたはロボットに自然な感情の遷移を表現させるために重要なものである。しかし、座標を単純な規則によって逐次遷移しただけでは、定期的に喜怒哀楽を繰り返す単調なロボットになってしまう。そこで、ロボットに備えられたセンサなどを介して外部から得られる信号を用いて座標を遷移させることにより、感情の遷移に変化を持たせて、ロボットに自然な感情を表現させる方法が知られている。
【０００４】
しかし、ロボットに自然な感情を表現させるためには、座標の動かし方にある程度の複雑性を持たせる必要があるため、感情空間上のどの位置にいる時に、どのように座標を動かすのかといった条件定義を数多く定義する必要がある。ところが、数多くの定義をプログラムすると、数多く定義した条件各々がどのように関連付けられているのかがプログラム作成者に簡単に理解できなくなるため、プログラムの記述ミスなどが起こりやすくなる。また、設計者の意図しない不都合な感情の遷移が発生する。例えば、感情空間上の特定の領域から座標が移動できなくなり、ロボットの感情が同じ状態のまま変化せず、利用者からみて明らかに不自然な挙動をロボットが示すことになる。例えば、ロボットが怒った状態のままになることなどである。
【０００５】
そこで、感情空間上の座標を動かす方法として、情動方程式を用いる方法が提案されている。この方法によれば、外部刺激と、感情空間上の座標の位置とを変数とした微分方程式によって、座標の単位時間あたりの移動量を定義するので、座標の遷移を、感情空間上の場所ごとあるいは刺激イベントごとに別々に記述する必要がなくなる。しかし、情動方程式によって記述する移動量の式は単位時間あたりのものであり、微分方程式を解かない限り、座標の長期的な時間の軌跡が不明になるため、座標の遷移を設計することが難しい。
【０００６】
また、移動量を示す式に、解軌跡が既知のマス-バネ-ダンパモデルの式を用いる方法が提案されている。この方法によれば、座標をどのように収束させるのかを設計することができる。しかし、マス-バネ-ダンパモデルでは、単一の外部刺激に対してどのように座標を目標に収束させていくかという過渡状態の軌跡を、パラメータによって調整できるのみであるため、設計可能な座標の遷移に限りがある。
【０００７】
また、他の技術として、外部状況に応じて変化させる感情を用いて、当該感情の状態に応じた行動を行うロボットが知られている。このロボットとその制御方法によれば、外部状況を検出した後、当該検出結果に基づいて、外部状況に対する印象を生成する。さらに、当該生成された印象に基づいて感情を変化させることにより、外部状況に対する印象に基づいて、新たな感情をあたかも本物の動物や人間がもつ感情のように変化させている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００１−２１２７８３号公報
【非特許文献】
【０００９】
【非特許文献１】「ヒューマノイド心理モデルに関する研究」第4章（ｐ６９〜８０、ｐ９４〜１０４）、早稲田大学大学院、三輪洋靖、２００４年７月、
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は上記のような実情に鑑みてなされたものであり、ロボットに自然な感情を表現させるロボット制御技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
実施態様のひとつである、複数の感情に対応する軸を有する感情空間を用いて、ロボットに感情を表現させる方法は、ロボットが備えるコンピュータを用いて実行する。コンピュータは、記録部に記録した上記感情空間の座標により示される感情点により１つの値が決まる関数を有するポテンシャル情報を取得する。次にコンピュータは、上記ポテンシャル情報が有する上記感情点により１つの値が決まる関数と、現在の感情点を用いて、該現在の感情点における勾配ベクトルを求める。そして、コンピュータは上記勾配ベクトルが示す移動量と方向と、上記現在の感情点とを用いて、次の感情点を求める。
【発明の効果】
【００１２】
実施の態様によれば、ロボットに自然な感情を表現させることができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】感情空間の一実施例を示す図である。
【図２】Ａは感情空間とポテンシャルの一実施例を示す３次元グラフであり、Ｂは各感情点の勾配ベクトルの一実施例を示す図である。
【図３】実施形態１の一実施例を示すブロック図である。
【図４】ロボットポテンシャルとイベントポテンシャルの合成の一実施例を示す図である。
【図５】関数の一実施例を示す図である。
【図６】感情空間上にポテンシャルをプロットした一実施例を示す図である。
【図７】ＡとＢはイベントポテンシャルテーブルの一実施例を示す図である。
【図８】Ａは感情マップの一実施例を示す図であり、Ｂは感情マップに対応する感情マップテーブルの一実施例を示す図である。
【図９】実施形態１の動作の一実施例を示すフロー図である。
【図１０】Ａ〜Ｃは勾配を用いた感情点の移動方法のシミュレーションの一実施例を示す図である。
【図１１】イベントポテンシャルの減衰の一実施例を示す図である。
【図１２】実施形態２の動作の一実施例を示すフロー図である。
【図１３】実施形態３の一実施例を示す図である。
【図１４】実施形態３の動作の一実施例を示す図である。
【図１５】ロボットの感情を制御するためのポテンシャルを設計するためのツールの一実施例を示す図である。
【図１６】実施形態５のハードウェア構成の一実施例を示す図である。
【発明を実施するための形態】
【００１４】
以下図面に基づいて、実施形態について詳細を説明する。
実施形態１について説明をする。
実施形態１の処理では、ロボットに感情を表現させるために用いる感情空間に、多変数により１つの値が決まる関数であるポテンシャルを適用し、感情空間の感情を表す座標に対応するポテンシャルの勾配ベクトルを求める。
【００１５】
図１は、感情空間の一実施例を示す図である。感情空間は、ロボットに感情を表現させるために、感情を表現するための複数の要素ごとに関連付けた軸を有する多次元空間である。図１の感情空間は、感情を表すための軸として快−不快、覚醒−睡眠、受容−警戒を有している。なお、感情空間の軸は、ロボットに感情を表現させるための何らかの状態量を表すものであればよい。以降、感情を表す座標を感情点と呼ぶ。
【００１６】
ポテンシャルについて図２のＡを用いて説明する。図２のＡは、感情空間にポテンシャルを適用した空間の一実施例を示す図である。図２のＡは、感情空間として快−不快の軸、覚醒−睡眠の軸と、ポテンシャルと快−不快と覚醒−睡眠の各軸上の値により求められる値を示す位置の軸と、を有している。すなわち、図２のＡでは多変数が快−不快の軸と覚醒−睡眠の軸の各軸上の値であり、この多変数により決まる１つの値が位置の軸上の値である。なお、図２のＡでは、２変数により１つの値が決まっている。つまり、図２のＡにおいて感情空間の次元数は２となっている。しかし、次元数は２次元に限られるものではなく、２次元以上であってもよい。
【００１７】
勾配ベクトルは、ポテンシャルをＵ（ｘ）とすると、感情点ごとに−ｄＵ（ｘ）／ｄｘを演算処理することにより求めることができる。ここで、ｘは感情点であり、ポテンシャルＵ（ｘ）は感情点における位置の値を示す。そして、勾配ベクトルは、感情空間上の感情点の移動量と方向を決め、次の感情点の移動先を決める。図２のＢは、図２のＡにおける各感情点の勾配ベクトルを示した図である。各座標の矢印各々の長さは勾配ベクトルの移動量を示し、矢印各々の向きは勾配ベクトルの方向を示している。
【００１８】
次に、感情点の移動先が決定されると、次の感情点に予め対応付けられている、感情を表現させるための情報を有する行動指示情報を記録部から取得して、取得した行動指示情報をロボットに感情を表現させるための可動部や音声を発生させる発生部などに出力する。また、ロボット動作中は、周期的に感情空間上の感情点を勾配ベクトルに従って移動させて、感情点に対応付けてマッピングされた行動指示情報に基づいて、ロボットに自然な感情を表現させる。
このように、ポテンシャルから勾配ベクトルを求めて、勾配ベクトルという物理的に妥当な量に従って感情点を移動させることにより、自然な感情をロボットに表現させる。
【００１９】
図３は、実施形態１のロボットの一実施例を示す図である。図３のロボット１は、センサ部２、処理部３、記録部４、可動部５、発声部６などを備えている。センサ部２は、外部からロボット１に与えられる刺激を検出する各種センサであり、検出した刺激に対応する検出信号を処理部３の後述するイベント処理部７に転送する。各種センサは、接触センサ、接近センサ、画像取得装置（カメラ、ビデオカメラ、赤外線カメラ、暗視カメラなど）、音声取得装置（マイクなど）、臭覚センサなどである。ただし、センサは上記各種センサに限定されるものではない。
【００２０】
処理部３は、イベント処理部７、ポテンシャル合成部８、勾配計算部９、座標移動部１０、行動指示部１１を備えている。また、処理部３はロボット１を制御する。なお、処理部３は、Central Processing Unit（ＣＰＵ）やプログラマブルなデバイス（Field Programmable Gate Array（ＦＰＧＡ）、Programmable Logic Device（ＰＬＤ）など）を用いて実現してもよい。
【００２１】
記録部４は、後述するイベントポテンシャルテーブル１２、ロボットポテンシャルテーブル１３、ポテンシャルテーブル１４、感情状態テーブル１５、感情マップテーブル１６などを記録している。また、記録部４にはプログラム、テーブル、データなどが記録されている。なお、記録部４は、例えばRead Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、ハードディスクなどのメモリである。また、記録部４は、パラメータ値、変数値などのデータを記録してもよいし、ワークエリアとして用いてもよい。
【００２２】
可動部５は、ロボットに備えられている機構で、利用者とコミュニケーションをとる場合などに用いられる。例えば、人間型ロボットであれば可動部５は頭部、胴体部、顔部、手腕部、足部などである。また、顔部には眉部、目部、鼻部、耳部、口部などの表情により感情を表す機構を備えている。手腕部には指部などの機構を備えている。なお、人間型ロボットでない場合には、可動部５は感情を表すために稼動させる機構である。
【００２３】
発声部６は、ロボットが音声を用いて利用者とコミュニケーションをとる場合などに、音声を発生させる。また、外部からの刺激をセンサ部２が検出したときに、検出した刺激に対応する感情を音声により表現する場合に用いる。例えば、笑い声、泣き声などの感情を表現する音声を出力する。
【００２４】
処理部３について説明する。
イベント処理部７、センサ部２から出力された検出信号を受信して、受信した検出信号を用いて記録部４のイベントポテンシャルテーブル１２を検索して、イベントベントポテンシャル情報をポテンシャル合成部８に出力する。イベントポテンシャルテーブル１２は、センサを識別するための情報と、該センサを識別する情報に関連付けられているイベントポテンシャル情報を有している。イベントベントポテンシャル情報は、外部から刺激を受けたときにロボットに感情を表現させるためのポテンシャルを示す関数である。
【００２５】
ポテンシャル合成部８は、ロボットポテンシャルテーブル１３のロボットポテンシャル情報とイベントポテンシャルテーブル１２のイベントベントポテンシャル情報を用いて、ポテンシャル情報を生成する。すなわち、ロボットポテンシャルとイベントポテンシャルを合成して、合成したポテンシャルを生成して、記録部４の後述するポテンシャルテーブル１４に記録する。ロボットポテンシャル情報は、記録部４のロボットポテンシャルテーブル１３に記録されている。また、ロボットポテンシャル情報を、ロボットごとに変えることで、ロボット各々に異なる感情をもたせてもよい。また、ロボット各々に異なる感情を表現させることにより、ロボットは異なる個性をもっているように利用者に見える。また、ポテンシャル合成部８によりロボットポテンシャル情報とイベントベントポテンシャル情報を合成することにより、外部からの刺激に対する感情の反応を、ロボットの個性を反映した自然なものにすることができる。
【００２６】
図４を用いてポテンシャルの合成について説明する。
図４は、ロボットポテンシャルとイベントポテンシャルを合成してポテンシャルを生成する一実施例を示す図である。図４の感情空間は、快−不快の軸、覚醒−睡眠の軸を有している。図４の空間４１には感情空間にロボットポテンシャルＥ（ｘ）を適用した空間が示されており、空間４２には感情空間にイベントポテンシャルＳ（ｘ）を適用した空間が示されている。空間４３は、合成したポテンシャルＵ（ｘ）を適用した空間が示されている。ｎ個のイベントが発生したとときのポテンシャルＵ（ｘ）は数１を用いて求める。ｎは１以上の自然数である。
【００２７】
【数１】
0005499924.tif 000002
【００２８】
すなわち、ロボットポテンシャルＥ（ｘ）にイベントポテンシャルＳ（ｘ）を足し合わせて、ポテンシャルＵ（ｘ）を求める。図４の例では、イベントポテンシャルＳ（ｘ）は１つなので数１のｉとｎは１になるので、数２のように表される。
【００２９】
【数２】
0005499924.tif 000003
【００３０】
次に、ロボットポテンシャルＥ（ｘ）、イベントポテンシャルＳ（ｘ）は、例えば、数３に示すようなガウス関数を用いて表すことが考えられる。なお、イベントポテンシャルＳ（ｘ）は、ガウス関数などの釣鐘型の関数で表してもよいし、ガウス関数を複数結合させて表してもよい。なお、数３にはガウス関数を用いた例を示しているが、必ずしもガウス関数を用いなくてもよく、ガウス関数以外の関数を用いてもよい。
【００３１】
【数３】
0005499924.tif 000004
【００３２】
数３では、図４の空間４１のロボットポテンシャルＥ（ｘ）をガウス関数１、図４の空間４２のイベントポテンシャルＳ（ｘ）をガウス関数２で示している。図５の５１は、ガウス関数１の形を示している。図５の５２は、ガウス関数２の形を示している。
【００３３】
例えば、元々眠くなりやすい個性のロボットに対して、外部からロボットを覚醒させる刺激を受信した場合、ポテンシャルの合成により２箇所のポテンシャルが存在することになる。すなわち、図６に示すように感情空間上にロボットポテンシャルＥ（ｘ）の谷６１とイベントポテンシャルＳ（ｘ）の谷６２が生じる。なお、覚醒させる刺激を受信した場合に、感情点の位置が睡眠側にあった場合は、覚醒させるための刺激に対して反応が鈍く覚醒側へと感情点が移動しにくい。つまり、感情点を移動させるには、イベントポテンシャルＳ（ｘ）の谷６２を深くしなければならない。また、覚醒の刺激が弱いと谷６２が浅くなるため、睡眠側のロボットポテンシャルＥ（ｘ）の谷から感情点が抜け出せずに再度眠ってしまう。また、ポテンシャル合成部８は、足し合わせたイベントポテンシャルＳ（ｘ）の谷６２を減衰させる機能を備えている。
【００３４】
ロボットポテンシャルテーブル１３について説明する。ロボットポテンシャルテーブル１３は記録部４に記録されており、ロボットポテンシャルＥ（ｘ）を有している。
【００３５】
図７のＡ、図７のＢを用いて、イベントポテンシャルテーブル１２について説明する。図７のＡのイベントポテンシャルテーブルは、「センサ情報」「イベントポテンシャル情報」を有している。「センサ情報」は、センサを識別するための識別子や名称が記録されている。例えば、図７のＡでは「センサ１」「センサ２」「センサ３」・・・が記録されている。「センサ１」「センサ２」「センサ３」・・・は、センサ１、センサ２、センサ３から出力されたセンサの識別子または名称が記録されている。「イベントポテンシャル情報」には、「センサ情報」に関連付けられたイベントポテンシャルＳ（ｘ）が予め作成され記録されている。図７のＡでは、「イベントポテンシャルＳｘ１」「イベントポテンシャルＳｘ２」「イベントポテンシャルＳｘ３」・・・・が、「センサ情報」に関連付けられている。
【００３６】
また、図７のＢのイベントポテンシャルテーブルは、「センサ情報」「イベントポテンシャル情報」に、「検出レベル」を加えたものである。「検出レベル」は、各センサが刺激を検出した際の、刺激の強弱を示すレベルである。図７のＢの例では、「センサ情報」の「センサ１」「センサ２」「センサ３」・・・それぞれに「検出レベル」が関連付けられている。「センサ１」は、「検出レベル」として「Ｌ１１」「Ｌ１２」「Ｌ１３」・・・が記録され、「センサ２」は、「検出レベル」として「Ｌ２１」「Ｌ２２」「Ｌ２３」・・・が記録され、「センサ３」は、「検出レベル」として「Ｌ３１」「Ｌ３２」「Ｌ３３」・・・が記録されている。「イベントポテンシャル情報」は、「Ｌ１１」「Ｌ１２」「Ｌ１３」・・・「Ｌ２１」「Ｌ２２」「Ｌ２３」・・・「Ｌ３１」「Ｌ３２」「Ｌ３３」・・・に関連付けられたイベントポテンシャル情報が記録されている。図７のＢでは、「イベントポテンシャルＳｘ１１」「イベントポテンシャルＳｘ１２」「イベントポテンシャルＳｘ１３」・・・・「イベントポテンシャルＳｘ３１」「イベントポテンシャルＳｘ３２」「イベントポテンシャルＳｘ３３」・・・が、関連付けられている。
【００３７】
なお、図７のＢのイベントポテンシャルテーブルを使用する際には、検出信号に検出レベルを付さなくてはならない。なお、刺激の強弱を示すレベルはセンサの種類によって異なるが、接触センサであれば、タッチの強弱を段階的に示すことが考えられる。また、接近センサであれば、接近距離を段階的に示すことが考えられる。画像取得装置であれば、取得した画像を画像処理してその結果を段階的に示すことが考えられる。例えば、画像に写ったものを認識して、画像に写ったものに応じてレベルを設定する。音声取得装置であれば、取得した音声を信号処理してその結果を段階的に示すことが考えられる。例えば、音声をテキストに変換して、変換したテキストの内容や、口調などに応じてレベルを設定する。なお、各種センサとレベルの設定は、上記レベル設定に限定されるものではない。
【００３８】
ポテンシャルテーブル１４について説明する。
ポテンシャルテーブル１４には、現在のポテンシャルＵ（ｘ）が記録されている。刺激を外部から受けていないときは、ポテンシャルＵ（ｘ）としてロボットポテンシャルＥ（ｘ）のみが記録されている。刺激を外部から受けたときは、ポテンシャルＵ（ｘ）としてロボットポテンシャルＥ（ｘ）＋イベントポテンシャルＳ（ｘ）が記録される。また、刺激を受けたのちに該刺激を受けなくなると徐々にイベントポテンシャルＳ（ｘ）は減衰するので、その場合にはポテンシャルＵ（ｘ）としてロボットポテンシャルＥ（ｘ）＋減衰したイベントポテンシャルＳ（ｘ）が記録される。減衰方法については後述する。
【００３９】
勾配計算部９は、ポテンシャルテーブル１４からポテンシャルＵ（ｘ）を取得し、感情状態テーブル１５から現在の感情点を取得する。そして、現在の感情点における−ｄＵ（ｘ）／ｄｘを演算して、勾配ベクトルを求め、この勾配ベクトルを用いて感情空間上の感情点の移動量と方向を求める。
【００４０】
座標移動部１０は、勾配計算部９で求めた移動量と方向に従って、次の感情点の移動先を決め、感情状態テーブル１５に移動先の感情点を記録する。
感情状態テーブル１５には、現在の感情点が記録されている。図６の例であれば、感情点が快−不快の軸上の値と覚醒−睡眠の軸上の値で表されている。
【００４１】
行動指示部１１は、感情状態テーブル１５から現在の感情点を取得し、感情マップテーブル１６から該現在の感情点に関連付けられている行動指示情報を検索する。そして、行動指示部１１は、取得した行動指示情報が有する可動部５と発声部６などを動作させる情報を、可動部５と発声部６などに出力する。
【００４２】
感情マップテーブル１６について説明する。
図８は、感情マップテーブルの一実施例を示す図である。図８のＡは、感情マップを示しており、快−不快の軸と覚醒−睡眠の軸を有する２次元の感情空間を示している。図８のＢは、図８のＡの感情マップに対応する感情マップテーブルであり、「感情点」「行動指示情報」を有している。図８のＢでは、「感情点」を覚醒−睡眠の軸上の値と、快−不快の軸上の値を、それぞれ０〜１の範囲で表した値を用いて表している。図８のＢの「感情点」では、（０．０，０．０）（０．０，０．１）（０．０，０．２）・・・（０．１，０．０）（０．１，０．１）（０．１，０．２）・・・（１．０，０．０）・・・（１．０，１．０）が記録されている。「行動指示情報」は、「感情点」に関連付けられており、図８のＢでは、「可動指示１，発生指示１」「可動指示２，発生指示２」・・・「可動指示１００，発生指示１００」が記録されている。可動指示１〜１００は、可動部５を稼動させるための情報である。発生指示１〜１００は、発声部６に音声を出力させるための情報である。なお、図８のＡでは、便宜上感情空間上に「寝る」「しくしく泣く」・・・「怒る」・・・「大笑いする」が表されているが、実際には必要ない。また、図８のＢでも、便宜上各「行動指示情報」に関連付けられて「寝る」「しくしく泣く」・・・「怒る」・・・「大笑いする」が表されているが、実際には必要ない。
【００４３】
次にロボットの感情の制御動作について説明する。
図９は、ロボットの感情の制御動作の一実施例を示す図である。
ステップＳ１では、処理部３のイベント処理部７がセンサ部２から検出信号を受信したか否かを判定する。本例では、検出信号を受信したときイベントが発生したとして、ステップＳ２に移行し、検出信号を受信していないときはステップＳ３に移行する。なお、イベントがあったか否かを示す情報を含む検出信号を、センサ部２から定期的にイベント処理部７へ送信して、イベント処理部７が検出信号を解析してイベントが発生したか否かを判定してもよい。
【００４４】
ステップＳ２では、イベント処理部７が記録部４のイベントポテンシャルテーブル１２から検出信号のセンサに対応するイベントポテンシャル情報を取得して、取得したイベントポテンシャル情報をポテンシャル合成部８に出力する。なお、ポテンシャル合成部８が、イベント処理部７からセンサ情報を取得して、センサ情報に基づいてイベントポテンシャルテーブル１２から対応するイベントポテンシャル情報を取得してもよい。また、イベントポテンシャルテーブル１２は、例えば、図７のＡまたは図７のＢに示したテーブルを用いることが望ましい。ただし、図７のＡ、図７のＢに示したテーブルに限定されるものではない。
【００４５】
ステップＳ３では、ポテンシャル合成部８が記録部４のロボットポテンシャルテーブル１３のロボットポテンシャル情報と、ステップＳ２で取得したイベントポテンシャルと、を数１に従い合成して、ポテンシャル情報を生成する。生成したポテンシャル情報は、ポテンシャル合成部８によりポテンシャルテーブル１４に記録される。複数のイベントポテンシャルを取得される場合は、ロボットポテンシャルに複数のイベントポテンシャルが合成される。複数のイベントポテンシャルが取得される条件は、例えば、複数のセンサから刺激を受けた場合である。
【００４６】
ステップＳ４で勾配計算部９は、記録部４のポテンシャルテーブル１４から合成したポテンシャル情報と、現在の感情空間の感情点を感情状態テーブル１５から取得する。
ステップＳ５では、勾配計算部９が感情点の位置の勾配ベクトルを求める。勾配計算部９は、例えば、ポテンシャル情報にポテンシャルＵ（ｘ）が記録されている場合であれば、現在の感情点における勾配ｄＵ（ｘ）／ｄｘを求める。次に、求めた勾配の方向としてマイナスを付して勾配ベクトル−ｄＵ（ｘ）／ｄｘを求める。勾配ベクトルについては図２のＢを参照。
【００４７】
ステップＳ６で勾配計算部９は勾配ベクトルを用いて移動量を求める。
移動量について説明する。感情空間上のポテンシャルの勾配に基づいて感情点を移動させる方法として、例えば、勾配を用いる方法がある。感情点はその地点におけるポテンシャルの勾配が最も急な方向へ落ち込んでいくので、ポテンシャルＵ（ｘ）の感情点の位置をｘとすると、感情点の移動量は数４によって求められる。
【００４８】
【数４】
0005499924.tif 000005
【００４９】
図１０のＡに、勾配を用いた感情点の移動方法のシミュレーションの一実施例を示す。図１０に示すＡ、Ｂ、Ｃは、図６に示した快−不快の軸、覚醒−睡眠の軸を有する感情空間のポテンシャルに、シミュレーションを実施した場合の例である。
【００５０】
次に、勾配にさらに慣性力を付与する方法について説明する。時刻ｔにおける座標点の移動量をＶｔとすると、１ステップ前（時刻：ｔ−１）の移動量に適当な係数ｍを掛けると慣性力となる。よって、勾配に慣性力を付与した場合の移動量は、数５によって示される。
【００５１】
【数５】
0005499924.tif 000006
【００５２】
勾配に慣性力を付与して感情点を移動させた場合、係数ｍの値が大きいとポテンシャルの谷に落ち込みにくくなり小さな谷であれば乗り越える。結果としてロボットの感情は固定されにくく、移動幅も大きくなり、刺激に対する反応が鈍いロボットとなる。
図１０のＢに、勾配に慣性力を付与した場合の感情点の移動方法のシミュレーションの一実施例を示す。
【００５３】
次に、一定の確率でランダムに移動する方法について説明する。通常はポテンシャルの勾配に沿って移動し、一定の確率でランダムな方向に移動させる。ここで、一定の確率とは、例えば、ｎ回に１回の割合で実行することを示す。ｎは１以上の自然数である。また、ランダムな方向への移動とは、勾配に関係なく方向を決めて、予め決められた移動量の範囲で感情点を移動させることである。この方法では、感情点は直近のポテンシャルの谷に引き込まれる傾向を持ちつつも、場合によっては違う谷に落ち込む可能性がある。この結果、ロボットの感情の変化が必ずしも予想できるものでなくなる。
【００５４】
【数６】
0005499924.tif 000007
【００５５】
図１０のＣに、一定の確率でランダムに移動する方法のシミュレーションの一実施例を示す。
ステップＳ７では、座標移動部１０がステップＳ６で求めた移動量と方向を用いて、移動先の感情点の位置を求めて、移動先の感情点を記録部４の感情状態テーブル１５に記録する。例えば、現在の感情点を移動先の感情点で上書きしてもよいし、感情点をログとして残してもよい。
【００５６】
ステップＳ８では、行動指示部１１が移動した感情点の位置に関連付けられている行動指示情報を感情マップテーブル１６から取得して可動部５または発声部６などに出力する。
【００５７】
ステップＳ９では、ポテンシャル合成部８が以前にロボットポテンシャルＥ（ｘ）に合成したイベントポテンシャルＳ（ｘ）が残っているか否かを判定する。ロボットポテンシャルＥ（ｘ）だけであれば、イベントポテンシャルＳ（ｘ）が減衰したとしてステップＳ１に移行する。ポテンシャルＵ（ｘ）にロボットポテンシャルＥ（ｘ）以外にイベントポテンシャルＳ（ｘ）または減衰させたイベントポテンシャルＳ（ｘ）がある場合には、ステップＳ１０に移行する。
【００５８】
ステップＳ１０でポテンシャル合成部８は、イベントポテンシャルＳ（ｘ）を減衰する。図１１は、イベントポテンシャルＳ（ｘ）の減衰の一実施例を示す図である。図１１の空間１１１は刺激を受信した直後の時間１のイベントポテンシャルＳ（ｘ）を表している。図１１の空間１１２〜１１４は、イベントポテンシャルＳ（ｘ）を一定周期ごとに数７に従って減衰させることを表している。
【００５９】
【数７】
0005499924.tif 000008
【００６０】
図１１の例では、０〜１の範囲で表される減衰係数δ１＜δ２＜δ３を用いて、空間１１２、１１３、１１４の減衰させたイベントポテンシャルを示している。空間１１２は時間２における減衰させたイベントポテンシャルであるδ３・Ｓ（ｘ）、空間１１３は時間３における減衰させたイベントポテンシャルであるδ２・Ｓ（ｘ）を示している。空間１１４は時間４における減衰させたイベントポテンシャルであるδ１・Ｓ（ｘ）を示している。時間４以降は、イベントポテンシャルの影響をポテンシャルＵ（ｘ）が受けないようにする。すなわち、ポテンシャルＵ（ｘ）がロボットポテンシャルＥ（ｘ）となる。なお、減衰係数は、イベントポテンシャル各々に関連付けて記録部４に記録しておくことが考えられる。また、イベントポテンシャルごとに異なる減衰係数を関連付けてもよい。
【００６１】
実施形態１によれば、感情空間上の感情点の動かし方をより自然で、かつバリエーション豊かな単調でないものにできるため、ロボットと利用者との親和性をより高めることができる。また、ロボットポテンシャルをロボットごとに変えることにより、利用者がロボットに対して個性を感じることができる。また、ロボットごとにイベントポテンシャルを変えることにより、さらにロボットに対して個性を感じることができる。
【００６２】
実施形態２について説明をする。
実施形態２では、感情点がポテンシャルの極小値に落ち込んで停止した場合や、ロボットの感情を強制的に変化させたい場合に、感情点の移動量を強制力によって変化させる方法について説明する。数８に、強制力の一実施例として、ポテンシャルの勾配ベクトルを回転させた式を示す。
【００６３】
【数８】
0005499924.tif 000009
【００６４】
ポテンシャルＵ（ｘ）がどのようなものであっても、その勾配ベクトルの回転成分は必ずゼロになることから、強制力の回転量θは共通した値で調整することができる。例えば、θ＝πのときは、必ずポテンシャルＵ（ｘ）の谷から湧き出す方向の力となり、例えばθ＝π／２のときは必ずポテンシャルＵ（ｘ）の等高線を周回するような力となる。等高線とは、図１０のＡ、Ｂ、Ｃに示した等高線などを示す。また、谷から湧き出す方向の力、等高線を周回するような力を、強制力という。数９は、移動量を表す数４に、強制力ｆ＝（ｆｘ，ｆｙ）を追加した例を示している。
【００６５】
【数９】
0005499924.tif 000010
【００６６】
ここで、αは移動量のうち強制力の占める割合を意味する。α＝１のとき移動量は強制力によってのみ定まる。θ、αの値は目的に応じて動的に変更してもよい。なお、強制力を数５、数６で説明した移動量に負荷してもよい。
【００６７】
実施形態２の動作について説明する。
図１２は、実施形態２の動作の一実施例を示すフロー図である。図１２のステップＳ６では、勾配計算部９が図９のステップＳ５で求めた勾配ベクトルを用いて移動量と方向を求める。
【００６８】
ステップＳ１２１では、勾配計算部９がステップＳ６で求めた移動量と予め記録部４に記録してある閾値とを比較して、該移動量が閾値内である場合にはステップＳ１２２に移行し、該移動量が閾値外である場合には図９に示したステップＳ７に移行する。閾値は感情点が極小点付近に停留していることを判定するため、例えば、０以上で移動していないと判定可能な値であることが望ましい。ステップＳ１２２では、勾配計算部９が極小点付近に感情点が停留していると判定する。
【００６９】
ステップＳ１２３では、勾配計算部９が強制力によって、極小点から脱出する方向の移動量を定める。例えば、記録部４の合成したポテンシャルＵ（ｘ）の勾配ベクトルを、数９に従って回転させる。すなわち、極小点へ収束するベクトル場を、極小点から発散するベクトル場に変換させて強制力として元の移動量に加える。次に、勾配計算部９は、感情状態テーブル１５に強制力を加えた移動量を記録する。その後、ステップＳ７に移行する。
【００７０】
実施形態２によれば、感情点がポテンシャルの極小値に落ち込んで停止した場合や、ロボットの感情を強制的に変化させたい場合に、感情点の移動量を強制力によって変化させることができる。また、感情空間上の特定の領域から座標が移動できなくなり、ロボットの感情が同じ状態のまま変化せず、利用者からみて明らかに不自然な挙動をロボットが示さなくなる。例えば、ロボットが怒った状態のままになることなどを防ぐことができる。
【００７１】
実施形態３について説明をする。
実施形態３は、ロボットのポテンシャルを変更することによって、ロボットの成長を表現する。ロボットポテンシャル情報の変更方法の一実施例として、ロボットポテンシャルを形成する関数にパラメータを含ませておき、そのパラメータを決められた条件で段階的に変更する方法が考えられる。例えばパラメータをｐとして数１０のようにポテンシャルＵ（ｘ，ｙ，ｐ）を定義する。
【００７２】
【数１０】
0005499924.tif 000011
【００７３】
数１０の場合、パラメータｐの値によってポテンシャルの極小点の数が変わる。図１３のＡは、パラメータpが１０以下の値のときで、極小が１つのときの一実施例を示す図である。本例では極小点は１３１である。図１３のＢは、パラメータpが１０より大きく２０以下の値のときで、極小が２つのときの一実施例を示す図である。本例では極小点は１３２、１３３である。図１３のＣは、パラメータｐが２０より大きい値のときで、極小が４つのときの一実施例を示す図である。本例では極小点は１３４、１３５、１３６、１３７である。なお、図１３のＡ、Ｂ、Ｃは、極小点付近の等高線のみを描画した図である。
【００７４】
図１３に示したように、極小点の数を分岐によって次々と増えていくようにロボットポテンシャルを変更すれば、極小点が増えて成長するとともに感情の遷移が複雑になり、感情豊かな表現をロボットにさせることができる。ここで、分岐とはパラメータｐを増やしていくとき、パラメータｐのある閾値をもって極小点の数が変化する点である。図１３の例では１０、２０が閾値である。
【００７５】
実施形態３の動作について説明する。
図１４は、ロボットポテンシャルを変更する動作の一実施例を示したフロー図であり、図９のフローにステップＳ１４１を追加したフロー図である。ステップＳ１４１では、処理部３に設けられた機能により、記録部４のロボットポテンシャルテーブル１３に記録されているロボットポテンシャル情報を変更する。例えば、処理部３に設けられた機能により、パラメータｐと閾値が等しくなったとき分岐を検出したとし、ロボットポテンシャルの極小点の数を増やす。閾値は、利用者が予め設定してもよいし、感情点に連動させて増やしてもよい。また、パラメータｐの値の増加は、予め設定した時間によって増加させてもよいし、感情点に連動させて増やしてもよい。なお、本例ではパラメータｐを増加させているが、減少させてもよい。減少させる場合は、例えば、減少させる条件を用意して、減少させる条件に一致したときに減少させることが考えられる。
【００７６】
実施形態３では、ロボットポテンシャルを変更することによって、ロボットの成長を表現させることができる。また、感情の遷移が複雑になり、感情が豊かな表現をロボットにさせることができる。
【００７７】
実施形態１、２、３では、ポテンシャルの勾配という物理的にも妥当な量に従って感情点を動かすため、感情の遷移パターンは、必然的にロボットのポテンシャルを反映した自然なものとなる。その結果、ロボットの感情は、ロボット自身の個性や成長を反映して複雑に遷移しながら、外部からの刺激にも適宜反応を示すため、より自然で生き物らしい振る舞いを示すことになり、対人親和性が大きく向上する。
【００７８】
実施形態４について説明をする。
プログラムを作成する際に、ポテンシャルを含む感情を遷移させる条件を数多く定義して、数多く定義した条件各々を個別に関連付けると、プログラム作成者にも関連付けが簡単に理解できなくなるため、プログラムの記述ミスなどが起こりやすくなる。実施形態４では、プログラムを作成する利用者が、感情を遷移させる条件各々を個別に記述して関連付けるのではなく、容易で直感的に記述する方法について説明する。
【００７９】
図１５は、ロボットの感情を制御するためのポテンシャルを設計するためのツールの一実施例を示す図である。図１５に示したポテンシャル作成ツールは、パーソナルコンピュータなどに実装して用いられるソフトウェアである。ポテンシャル作成ツールは、例えば、パーソナルコンピュータのモニタに表示され、例えば、表示画面１５１を３分割してポテンシャル作成画面１５２、感情空間−ポテンシャル表示画面１５３、３次元ポテンシャル表示１５４を有している。ポテンシャル作成画面１５２は、記録されている複数のポテンシャル関数のうち利用者が選択した、基本となるポテンシャル名とグラフを表示する部品１５５と、該ポテンシャルを調整するためのパラメータ調整する部品１５６、１５７を有している。本例では、部品１５５にはポテンシャル名として「ガウス」が表示されている。また、部品１５６、１５７として、広がりと深さを調整する部品が表示されている。なお、この部品１５６、１５７を調整すると、部品１５５のグラフが連動して変化する。感情空間−ポテンシャル表示画面１５３は、ポテンシャル作成画面１５２で作成したポテンシャルを、感情空間上に等高線を用いて山または谷が分かるようにプロットしたグラフ１５８を有している。図１５の例では、２つのポテンシャルがプロットされている。本例では、感情空間−ポテンシャル表示画面１５３は、グラフ１５８を３次元表示した３次元グラフ１５９を有している。
【００８０】
実施形態４によれば、プログラムを作成する利用者が、感情を遷移させるポテンシャルを容易で直感的に記述することができる。すなわち、ロボットの個性や成長、複数の外部刺激に対する反応を考慮した感情の遷移パターンを、ポテンシャルという枠組みで統一して直感的に記述することがきる。そのため、従来のようにルールベースで遷移条件を個別記述する方式に比べ、遷移パターンのデザインにかける工数、時間を大幅に削減することができる。
【００８１】
実施形態５について説明する。
実施形態５は、実施形態１、２、３を、コンピュータを用いて実現される場合の構成について説明する。または、ロボットをコンピュータの表示装置の画面上で表現する場合について示す。
【００８２】
図１６は、実施形態５のコンピュータのハードウェア構成の一実施例を示す図である。コンピュータのハードウェア１６００は、ＣＰＵ１６０１、記録部１６０２、記録媒体読取装置１６０３、入出力インタフェース１６０４（入出力Ｉ／Ｆ）、通信インタフェース１６０５（通信Ｉ／Ｆ）などを備えている。また、上記各構成部はバス１６０６によってそれぞれ接続されている。また、ロボットの可動部５は、本例では画面上に表示されるロボットの各部品と対応付ける。発声部６は、入出力装置１６０８のスピーカに対応付ける。センサ部２により出力される検出信号は、画像認識センサ、音声認識センサと表示されたロボットの各部品を画面上で触ったことが分かる機能を利用して取得する。表示されたロボットの各部品を画面上で触ったことが分かる機能は、例えば、タッチパネル、マウスなどにより各部品に触れたことを検出するものである。
【００８３】
ＣＰＵ１６０１は、記録部１６０２に格納されている上記説明した装置の各処理を実行する。
記録部１６０２には、ＣＰＵ１６０１が実行するプログラムやデータが記録されている。また、ワークエリアなどとして使用される。また、記録部１６０２は上記説明した記録部４の機能を有する。記録部１６０２は、例えば、ＲＯＭ、ＲＡＭ、ハードディスクドライブなどである。
【００８４】
記録媒体読取装置１６０３は、ＣＰＵ１６０１の制御に従って記録媒体１６０７に対するデータのリード／ライトを制御する。そして、記録媒体１６０７に記録媒体読取装置１６０３の制御で書き込まれたデータを記録させたり、記録媒体１６０７に記憶されたデータを読み取らせたりする。また、着脱可能な記録媒体１６０７は、コンピュータで読み取り可能なｎｏｎ−ｔｒａｎｓｉｔｏｒｙ（非一時的）な記録媒体として、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）などがある。光ディスクには、Digital Versatile Disc (ＤＶＤ)、ＤＶＤ−ＲＡＭ、Compact Disc Read Only Memory (ＣＤ−ＲＯＭ)、ＣＤ−Ｒ(Recordable)／ＲＷ(ReWritable)などがある。光磁気記録媒体には、Magneto-Optical disk (ＭＯ)などがある。
【００８５】
入出力インタフェース１６０４には、入出力装置１６０８が接続され、利用者が入力した情報を受信し、バス１６０６を介してＣＰＵ１６０１に送信する。また、ＣＰＵ１６０１からの命令に従ってディスプレイの画面上に操作情報などを表示する。入出力装置１６０８は、例えば、タッチパネルなどが考えられる。
【００８６】
通信インタフェース１６０５は、必要に応じ、他のコンピュータとの間のＬＡＮ接続やインターネット接続や無線接続を行うためのインタフェースである。また、他の装置に接続され、外部装置からのデータの入出力を制御する。
【００８７】
このようなハードウェア構成を有するコンピュータを用いることによって、上記説明した各種処理機能が実現される。その場合システムが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体１６０７に記録しておくことができる。なお、上記各種処理機能は、実施形態１、２、３で説明したフローチャートなどである。
【００８８】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの記録媒体１６０７が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００８９】
プログラムを実行するコンピュータは、例えば、記録媒体１６０７に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記録部１６０２に格納する。そして、コンピュータは、自己の記録部１６０２からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、記録媒体１６０７から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００９０】
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。なお、各実施例は処理に矛盾の無い限りにおいて、互いに組み合わせても構わない。
【００９１】
以上実施形態１、２、３、４、５を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
複数の感情に対応する軸を有する感情空間を用いて、ロボットに感情を表現させるロボットの制御方法であって、
コンピュータが、
記録部に記録した前記感情空間の座標により示される感情点により１つの値が決まる関数を有するポテンシャル情報を取得し、
前記ポテンシャル情報が有する前記感情点により１つの値が決まる関数と、現在の感情点を用いて、該現在の感情点における勾配ベクトルを求め、
前記勾配ベクトルが示す移動量と方向と、前記現在の感情点とを用いて、次の感情点を求め、
前記ロボットが備える可動部または発声部を稼動するための行動指示情報と前記感情点を関連付けて前記記録部に記録される感情マップテーブルを参照して、前記次の感情点に関連付けられている前記行動指示情報を取得して、取得した前記行動指示情報を前記可動部または前記発声部に出力する、
ことを実行するロボットの制御方法。
（付記２）
コンピュータが、
前記ロボットが備える複数のセンサのいずれかから、前記センサを識別するセンサ情報を取得し、
前記記録部に記録されている、複数の前記センサ各々を識別するセンサ情報と、前記センサ情報各々に関連付けられる前記感情点により１つの値が決まる関数を有する１つ以上のイベントポテンシャル情報を記録するイベントポテンシャルテーブルから、前記センサ情報に関連付けられている前記イベントポテンシャル情報を取得し、
前記記録部に記録されている、前記感情点により１つの値が決まる関数を有するロボットポテンシャル情報を記録するロボットポテンシャルテーブルを取得し、取得した前記ロボットポテンシャル情報の有する関数と前記イベントポテンシャル情報の有する関数を合成して、合成した関数を有するポテンシャル情報を生成する、
ことを実行する付記１に記載のロボットの制御方法。
（付記３）
コンピュータが、
前記ポテンシャル情報に含まれる前記イベントポテンシャル情報の有する関数により決まる感情点各々に対応する値各々を、予め設定した時間ごとに減衰させることを特徴とする付記２に記載のロボットの制御方法。
（付記４）
前記勾配ベクトルに慣性力を付加して前記次の感情点までの移動量と方向を求めることを特徴とする付記３に記載のロボットの制御方法。
（付記５）
前記移動量が０から閾値の範囲であるとき、前記ポテンシャル情報が有する関数の極小点に感情点が停留していると判定したとき、前記ポテンシャル情報が有する関数に前記勾配ベクトルを回転させる強制力を付加することを特徴とする付記１に記載のロボット制御方法。
（付記６）
複数の感情に対応する軸を有する感情空間を用いて、ロボットに感情を表現させるロボットの感情制御プログラムであって、
コンピュータに、
記録部に記録した前記感情空間の座標により示される感情点により１つの値が決まる関数を有するポテンシャル情報を取得する処理と、
前記ポテンシャル情報が有する前記感情点により１つの値が決まる関数と、現在の感情点を用いて、現在の感情点における勾配ベクトルを求める処理と、
前記勾配ベクトルが示す移動量と方向と前記現在の感情点を用いて、次の感情点を求める処理と、
前記ロボットが備える可動部または発声部を稼動するための行動指示情報と前記感情点を関連付けて前記記録部に記録される感情マップテーブルを参照して、前記次の感情点に関連付けられている前記行動指示情報を取得して、取得した前記行動指示情報を前記可動部または前記発声部に出力する処理と、
を実行させることを特徴とするロボットの制御プログラム。
（付記７）
複数の感情に対応する軸を有する感情空間を用いて、感情を表現するロボットであって、
前記ロボットが感情を表現するのに用いる前記ロボットの可動部または発声部を稼動する行動指示情報と、前記感情空間の座標により示される感情点とを関連付けて記録する感情マップテーブルと、
前記感情点により１つの値が決まる関数を有するロボットポテンシャル情報を記録するロボットポテンシャルテーブルと、
前記ロボットが備える複数のセンサを識別するセンサ情報と、前記センサ情報各々に関連付けられる前記感情点により１つの値が決まる関数を有する１つ以上のイベントポテンシャル情報を記録するイベントポテンシャルテーブルと、を有する記録部と、
前記イベントポテンシャルテーブルから前記センサ情報に関連付けられている前記イベントポテンシャル情報を取得するイベント処理部と、
前記イベント処理部で取得した前記イベントポテンシャル情報の有する関数を、ロボットポテンシャル情報の有する関数に合成して、合成した関数を有するポテンシャル情報を生成するポテンシャル合成部と、
前記ポテンシャル情報が有する前記感情点により１つの値が決まる関数と、現在の感情点を用いて、現在の感情点における勾配ベクトルを求める勾配計算部と、
前記勾配ベクトルが示す移動量と方向と前記現在の感情点を用いて、次の感情点を求める座標移動部と、
前記次の感情点に関連付けられている前記感情マップテーブルの行動指示情報を取得し、取得した前記行動指示情報を前記可動部または前記発声部に出力する行動指示部と、
を備えることを特徴とするロボット。
（付記８）
コンピュータが、
前記ロボットポテンシャル情報が有する関数の極小点の数を、予め設定した時間ごとに変化させることを特徴とする付記３に記載のロボットの制御方法。
（付記９）
前記次の感情点までの移動量と方向を、一定の確率でランダムに変更することを特徴とする付記３または８のいずれか１つに記載のロボットの制御方法。
（付記１０）
コンピュータに、
前記ロボットが備える複数のセンサのいずれかから、前記センサを識別するセンサ情報を取得する処理と、
前記記録部に記録されている、複数の前記センサ各々を識別するセンサ情報と、前記センサ情報各々に関連付けられる前記感情点により１つの値が決まる関数を有する１つ以上のイベントポテンシャル情報を記録するイベントポテンシャルテーブルから、前記センサ情報に関連付けられている前記イベントポテンシャル情報を取得する処理と、
前記記録部に記録されている、前記感情点により１つの値が決まる関数であるロボットポテンシャル情報を記録するロボットポテンシャルテーブル取得し、取得した前記ロボットポテンシャル情報の有する関数と前記イベントポテンシャル情報の有する関数を合成して、合成した関数を有するポテンシャル情報を生成する処理と、
を実行させることを特徴とする付記６に記載のロボットの制御プログラム。
（付記１１）
コンピュータに、
前記ポテンシャル情報に含まれる前記イベントポテンシャル情報の有する関数により決まる感情点各々に対応する値各々を、予め設定した時間ごとに減衰させる処理を実行させることを特徴とする付記１０に記載のロボットの制御プログラム。
（付記１２）
コンピュータに、
前記ロボットポテンシャル情報が有する関数の極小点の数を、予め設定した時間ごとに変化させる処理を実行させることを特徴とする付記１１に記載のロボットの制御プログラム。
（付記１３）
コンピュータに、
前記勾配ベクトルに慣性力を付加して前記次の感情点までの移動量と方向を求める処理を実行させることを特徴とする付記１１に記載のロボットの制御プログラム。
（付記１４）
コンピュータに、
前記次の感情点までの移動量と方向を、一定の確率でランダムに変更する処理を実行させることを特徴とする付記１１または１３のいずれか１つに記載のロボットの制御プログラム。
（付記１５）
コンピュータに、
前記移動量が０から閾値の範囲であるとき、前記ポテンシャル情報が有する関数の極小点に感情点が停留していると判定したとき、前記ポテンシャル情報が有する関数に前記勾配ベクトルを回転させた強制力を付加する処理を実行させることを特徴とする付記６に記載のロボット制御プログラム。
（付記１６）
前記ポテンシャル合成部で求めた前記ポテンシャル情報の有する関数に含まれる前記イベントポテンシャル情報の関数により決まる感情点各々に対応する値各々を、予め設定した時間ごとに減衰させることを特徴とする付記７に記載のロボット。
（付記１７）
前記ロボットポテンシャル情報が有する関数の極小点の数を、予め設定した時間ごとに変化させることを特徴とする付記１６に記載のロボット。
（付記１８）
前記勾配ベクトルに慣性力を付加して前記次の感情点までの移動量と方向を求めることを特徴とする付記７に記載のロボット。
（付記１９）
前記次の感情点までの移動量と方向を、一定の確率でランダムに変更することを特徴とする請求項１６または１８のいずれか１つに記載のロボット。
（付記２０）
前記移動量が０から閾値の範囲であるとき、前記ポテンシャル情報の関数の極小点に感情点が停留していると判定して、前記ポテンシャル情報の関数に前記勾配ベクトルを回転させた強制力を付加することを特徴とする付記７に記載のロボット。
【符号の説明】
【００９２】
１  ロボット
２  センサ部
３  処理部
４  記録部
５  可動部
６  発声部
７  イベント処理部
８  ポテンシャル合成部
９  勾配計算部
１０  座標移動部
１１  行動指示部
１２  イベントポテンシャルテーブル
１３  ロボットポテンシャルテーブル
１４  ポテンシャルテーブル
１５  感情状態テーブル
１６  感情マップテーブル
１５１  表示画面
１５２  ポテンシャル作成画面
１５３  感情空間−ポテンシャル表示画面
１５４  ３次元ポテンシャル表示
１５５、１５６、１５７  部品
１５８  グラフ
１５９  ３次元グラフ
１６００  ハードウェア
１６０２  記録部
１６０３  記録媒体読取装置
１６０４  入出力インタフェース
１６０５  通信インタフェース
１６０６  バス
１６０７  記録媒体
１６０８  入出力装置
【図１】
0005499924.tif 000012
【図３】
0005499924.tif 000013
【図９】
0005499924.tif 000014
【図１２】
0005499924.tif 000015
【図１４】
0005499924.tif 000016
【図１６】
0005499924.tif 000017
【図２】
0005499924.tif 000018
【図４】
0005499924.tif 000019
【図５】
0005499924.tif 000020
【図６】
0005499924.tif 000021
【図７】
0005499924.tif 000022
【図８】
0005499924.tif 000023
【図１０】
0005499924.tif 000024
【図１１】
0005499924.tif 000025
【図１３】
0005499924.tif 000026
【図１５】
0005499924.tif 000027