JP2004283957A - Robot device, method of controlling the same, and program - Google Patents

Robot device, method of controlling the same, and program Download PDF

Info

Publication number
JP2004283957A
JP2004283957A JP2003079144A JP2003079144A JP2004283957A JP 2004283957 A JP2004283957 A JP 2004283957A JP 2003079144 A JP2003079144 A JP 2003079144A JP 2003079144 A JP2003079144 A JP 2003079144A JP 2004283957 A JP2004283957 A JP 2004283957A
Authority
JP
Japan
Prior art keywords
schema
value
frustration
action
internal state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2003079144A
Other languages
Japanese (ja)
Inventor
Rika Horinaka
里香 堀中
Takeshi Takagi
剛 高木
Tsutomu Sawada
務 澤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003079144A priority Critical patent/JP2004283957A/en
Publication of JP2004283957A publication Critical patent/JP2004283957A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enable a robot device to consider an external environment and the internal status of itself during the expression of actions, to vary the actions of the robot device by reflecting the consideration on the actions, and to improve the entertainment characteristic of the robot device. <P>SOLUTION: The robot device has a plurality of schemas A, B, C and D with conditions for terminating prescribed actions, in which the prescribed machine actions are described. Each schema calculates an activation level (AL) indicating the priority of expression of actions of itself and a frustration value variable according to the elapsed time after the action is expressed, and by terminating the action, satisfies a prescribed internal status (a desire). For example, if the schema A is selected but the condition for termination is not satisfied after a prescribed allowable time t1 elapses, the frustration value F is increased in accordance with the elapsed time. If the value F exceeds a threshold Fth, the selection of the schema A is prohibited during a time t2, and the schema B with the same desire α as of the schema A is selected to express alternative action. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、ロボット装置、その制御方法及びプログラムに関し、特に、人間や動物を模倣したエンターテイメント性を有するロボット装置、その制御方法及びプログラムに関する。
【0002】
【従来の技術】
電気的又は磁気的な作用を用いて人間(生物)の動作に似た運動を行う機械装置を「ロボット装置」という。我が国においてロボット装置が普及し始めたのは、1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータ及び搬送ロボット装置等の産業用ロボット装置(Industrial Robot)であった。
【0003】
最近では、人間のパートナーとして生活を支援する、即ち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボット装置の開発が進められている。このような実用ロボット装置は、産業用ロボット装置とは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬又は猫のように4足歩行の動物の身体メカニズム及びその動作を模した「ペット型」ロボット装置、或いは、2足直立歩行を行う人間等の身体メカニズム及びその動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット装置(Humanoid Robot)等のロボット装置は、既に実用化されつつある。
【0004】
これらのロボット装置は、産業用ロボット装置と比較して、例えばエンターテインメント性を重視した様々な動作等を行うことができるため、エンターテインメントロボット装置と呼称される場合もある。また、そのようなロボット装置には、外部からの情報及び内部の状態に応じて自律的に動作するものがある。
【0005】
ところで、かかるペットロボット装置においては、人間又は本物の犬や猫などのように、現在の状況に応じた最適な次の行動及び動作を行わせる機能や、過去の経験に基づいて次の行動及び動作を変化させる機能を搭載することができれば、より一層の親近感や満足感をユーザに与えて、ペットロボット装置としてのアミューズメント性をより向上させることができる。そこで、このようなアミューズメント性の向上を図ったロボット装置及びその制御方法が下記特許文献1に記載されている。
【0006】
この特許文献1に記載されたロボット装置においては、複数種類の行動モデルを有し、行動選択手段を用いて、外部からの入力情報と自己の行動履歴及び又は成長履歴との少なくとも一方に基づいて、各行動モデルの出力の中から1つの行動モデルの出力を選択するよう構成されており、これにより、現在の状況に応じた最適な次の行動を連続して行わせることができる。
【0007】
【特許文献1】
特開2001−157981号公報
【0008】
【発明が解決しようとする課題】
ところで、上記特許文献1等に記載の従来のロボット装置においては、予め定められた優先順位の高い行動モデルから出力された行動を選択するようになされているものの、選択された行動は、所定の終了条件を満たすまで行われる。又は所定の移行条件を満たすまでは次の行動に移行せず、同じ行動が継続される。即ち、ロボット装置は、自身がやりたいと判断した行動を選択することができるが、これを終了するには、選択した行動の終了又は移行条件を満たす必要があった。従って、選択した行動が終了又は移行条件を満たすまでは、他の行動が発現されずに同じ行動をやり続けていた。
【0009】
しかしながら、一度選択されて発現されている行動を、人間等と同様に例えばうまくできなければ、不快になる、悲しくなる等の感情を有して、これを動作に反映させることができれば、うまくできない行動は途中で止めてしまったり、これをユーザに伝えたりすることができ、より人間又は犬や猫等の動物の行動に模したものとなり、更に一層の親近感や満足感をユーザに与えることができて、エンターテイメント性を更に向上させることができる。
【0010】
本発明は、このような従来の実情に鑑みて提案されたものであり、行動の発現中においても、外部環境及び自身の内部状態を考慮することができ、これを行動に反映させ多彩な行動バリエーションを持たせ、更にエンターテイメント性を向上することができるロボット装置、その制御方法及びプログラムを提供することを目的とする。
【0011】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係るロボット装置は、所定の終了条件又は次の動作に移行する移行条件を有する複数の動作から選択された動作を発現するロボット装置において、上記複数の動作から発現する動作を選択する選択手段と、上記選択手段に選択された後の経過時間に応じてフラストレーション値を算出するフラストレーション値算出手段と、上記フラストレーション値に応じて上記選択された動作を変化させる制御手段を有することを特徴とする。
【0012】
本発明においては、所定の終了条件を有する動作、即ち、所定の目的を達成するための動作を複数有し、動作開始後の経過時間に応じて変動するフラストレーション値を算出し、これを使用することによって、動作を変化させることができ、例えば、一度選択された動作を途中で停止させたり、又は当該動作の選択を所定期間禁止したり、更には、そのような場合に違う行動を選択する状況を作り出したり、また、上記フラストレーション値に応じて感情(内部状態)を変化させてこれを動作に反映させたりすることができ、例えば、当該動作の選択を所定期間禁止することで、この所定期間内に再度同じ状況・同じ条件になった場合に繰り返し同じ動作を選択するのを防ぐことができる。
【0013】
本発明に係るロボット装置の制御方法は、所定の終了条件又は次の動作に移行する移行条件を有する複数の動作から選択された動作を発現するロボット装置の制御方法において、上記複数の動作から発現する動作を選択する選択工程と、上記選択工程にて選択された後の経過時間に応じてフラストレーション値を算出するフラストレーション値算出工程と、上記フラストレーション値に応じて上記選択された動作を変化させる制御工程を有することを特徴とする。
【0014】
また、本発明に係るプログラムは、上述した制御処理をコンピュータに実行させるものである。
【0015】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、ロボット装置自身の内部の状態を得る手段をもち、その内部状態と、ロボット装置の外部の状況から行動を選択するロボット装置において、心理学の観念を取り入れたフラストレーションという値を使用することによって、行動実行中の内部状態を行動に反映させ、例えば選択された行動を途中で終了することが可能になる等、多彩な動作バリエーションを有するロボット装置及びその行動制御方法に適用したものである。
【0016】
ここでは先ず、このようなロボット装置の好適な構成、及び制御システムについて説明し、次に本実施の形態におけるフラストレーション値を算出可能なロボット装置について詳細に説明する。
【0017】
(1)ロボット装置の構成
図1は、本実施の形態のロボット装置の外観を示す斜視図である。図1に示すように、ロボット装置1は、体幹部ユニット2の所定の位置に頭部ユニット3が連結されると共に、左右2つの腕部ユニット4R/Lと、左右2つの脚部ユニット5R/Lが連結されて構成されている(但し、R及びLの各々は、右及び左の各々を示す接尾辞である。)。
【0018】
図2は、本実施の形態におけるロボット装置1の機能構成を模式的に示すブロック図である。図2に示すように、ロボット装置1は、全体の動作の統括的制御及びその他のデータ処理を行う制御ユニット20と、入出力部40と、駆動部50と、電源部60とで構成される。以下、各部について説明する。
【0019】
入出力部40は、入力部として人間の目に相当し、外部の状況を撮影するCCDカメラ15、及び耳に相当するマイクロフォン16や頭部や背中等の部位に配設され、所定の押圧を受けるとこれを電気的に検出することで、ユーザの接触を感知するタッチ・センサ18、前方に位置する物体までの距離を測定するための距離センサ、五感に相当するその他の各種のセンサ等を含む。また、出力部として、頭部ユニット3に備えられ、人間の口に相当するスピーカ17、及び人間の目の位置に設けられ、感情表現や視覚認識状態を表現する例えばLEDインジケータ(目ランプ)19等を装備しており、これら出力部は、音声やLEDインジケータ19の点滅等、脚等による機械運動パターン以外の形式でもロボット装置1からのユーザ・フィードバックを表現することができる。
【0020】
例えば頭部ユニットの頭頂部の所定箇所に複数のタッチ・センサ18を設け、各タッチ・センサ18における接触検出を複合的に活用して、ユーザからの働きかけ、例えばロボット装置1の頭部を「撫でる」「叩く」「軽く叩く」等を検出することができ、例えば、押圧センサのうちの幾つかが所定時間をおいて順次接触したことを検出した場合、これを「撫でられた」と判別し、短時間のうちに接触を検出した場合、「叩かれた」と判別する等場合分けし、これに応じて内部状態も変化し、このような内部状態の変化に応じて動作を発現することができる。
【0021】
駆動部50は、制御ユニット20が指令する所定の運動パターンに従ってロボット装置1の機体動作を実現する機能ブロックであり、行動制御による制御対象である。駆動部50は、ロボット装置1の各関節における自由度を実現するための機能モジュールであり、それぞれの関節におけるロール、ピッチ、ヨー等各軸毎に設けられた複数の駆動ユニット54〜54で構成される。各駆動ユニット54〜54は、所定軸回りの回転動作を行うモータ51〜51と、モータ51〜51の回転位置を検出するエンコーダ52〜52と、エンコーダ52〜52の出力に基づいてモータ51〜51の回転位置や回転速度を適応的に制御するドライバ53〜53との組み合わせで構成される。
【0022】
本ロボット装置1は、2足歩行としたが、駆動ユニットの組み合わせ方によって、ロボット装置1を例えば4足歩行等の脚式移動ロボット装置として構成することもできる。
【0023】
電源部60は、その字義通り、ロボット装置1内の各電気回路等に対して給電を行う機能モジュールである。本実施の形態に係るロボット装置1は、バッテリを用いた自律駆動式であり、電源部60は、充電バッテリ61と、充電バッテリ61の充放電状態を管理する充放電制御部62とで構成される。
【0024】
充電バッテリ61は、例えば、複数本のリチウムイオン2次電池セルをカートリッジ式にパッケージ化した「バッテリ・パック」の形態で構成される。
【0025】
また、充放電制御部62は、バッテリ61の端子電圧や充電/放電電流量、バッテリ61の周囲温度等を測定することでバッテリ61の残存容量を把握し、充電の開始時期や終了時期等を決定する。充放電制御部62が決定する充電の開始及び終了時期は制御ユニット20に通知され、ロボット装置1が充電オペレーションを開始及び終了するためのトリガとなる。
【0026】
制御ユニット20は、人間の「頭脳」に相当し、例えばロボット装置1の機体頭部あるいは胴体部等に搭載することができる。
【0027】
図3は、制御ユニット20の構成を更に詳細に示すブロック図である。図3に示すように、制御ユニット20は、メイン・コントローラとしてのCPU(Central Processing Unit)21が、メモリ及びその他の各回路コンポーネントや周辺機器とバス接続された構成となっている。バス28は、データ・バス、アドレス・バス、コントロール・バス等を含む共通信号伝送路である。バス28上の各装置にはそれぞれに固有のアドレス(メモリ・アドレス又はI/Oアドレス)が割り当てられている。CPU21は、アドレスを指定することによってバス28上の特定の装置と通信することができる。
【0028】
RAM(Random Access Memory)22は、DRAM(Dynamic RAM)等の揮発性メモリで構成された書き込み可能メモリであり、CPU21が実行するプログラム・コードをロードしたり、実行プログラムによる作業データの一時的に保存そたりするために使用される。
【0029】
ROM(Read Only Memory)23は、プログラムやデータを恒久的に格納する読み出し専用メモリである。ROM23に格納されるプログラム・コードには、ロボット装置1の電源投入時に実行する自己診断テスト・プログラムや、ロボット装置1の動作を規定する動作制御プログラム等が挙げられる。
【0030】
ロボット装置1の制御プログラムには、カメラ15やマイクロフォン16等のセンサ入力を処理してシンボルとして認識する「センサ入力・認識処理プログラム」、短期記憶や長期記憶等の記憶動作(後述)を司りながらセンサ入力と所定の行動制御モデルとに基づいてロボット装置1の行動(動作)を制御する「行動制御プログラム」、行動制御モデルに従って各関節モータの駆動やスピーカ17の音声出力等を制御する「駆動制御プログラム」等が含まれる。
【0031】
不揮発性メモリ24は、例えばEEPROM(Electrically Erasable and Programmable ROM)のように電気的に消去再書き込みが可能なメモリ素子で構成され、逐次更新すべきデータを不揮発的に保持するために使用される。逐次更新すべきデータには、暗号鍵やその他のセキュリティ情報、出荷後にインストールすべき装置制御プログラム等が挙げられる。
【0032】
インターフェース25は、制御ユニット20外の機器と相互接続し、データ交換を可能にするための装置である。インターフェース25は、例えば、カメラ15、マイクロフォン16、又はスピーカ17等との間でデータ入出力を行う。また、インターフェース25は、駆動部50内の各ドライバ53〜53との間でデータやコマンドの入出力を行う。
【0033】
また、インターフェース25は、RS(Recommended Standard)−232C等のシリアル・インターフェース、IEEE(Institute of Electrical and electronics Engineers)1284等のパラレル・インターフェース、USB(Universal Serial Bus)インターフェース、i−Link(IEEE1394)インターフェース、SCSI(Small Computer System Interface)インターフェース、PCカードやメモリ・スティックを受容するメモリ・カード・インターフェース(カード・スロット)等のような、コンピュータの周辺機器接続用の汎用インターフェースを備え、ローカル接続された外部機器との間でプログラムやデータの移動を行うようにしてもよい。
【0034】
また、インターフェース25の他の例として、赤外線通信(IrDA)インターフェースを備え、外部機器と無線通信を行うようにしてもよい。
【0035】
更に、制御ユニット20は、無線通信インターフェース26やネットワーク・インターフェース・カード(NIC)27等を含み、Bluetoothのような近接無線データ通信や、IEEE 802.11bのような無線ネットワーク、あるいはインターネット等の広域ネットワークを経由して、外部のさまざまなホスト・コンピュータとデータ通信を行うことができる。
【0036】
このようなロボット装置1とホスト・コンピュータ間におけるデータ通信により、遠隔のコンピュータ資源を用いて、ロボット装置1の複雑な動作制御を演算したり、リモート・コントロールしたりすることができる。
【0037】
(2)ロボット装置の制御システム
次に、ロボット装置の制御システムについて説明する。図4は、本実施の形態におけるロボット装置1の制御システム10の機能構成を示す模式図である。本実施の形態におけるロボット装置1は、外部刺激の認識結果や内部状態の変化に応じて、動作制御を行なうことができるものである。また、長期記憶機能を備え、外部刺激から内部状態の変化を連想記憶することにより、外部刺激の認識結果や内部状態の変化に応じて動作制御を行うことができる。
【0038】
ここで、外的刺激とは、ロボット装置1がセンサ入力を認識して得られた知覚情報であり、例えば、カメラ15から入力された画像に対して処理された色情報、形情報、顔情報等であり、より具体的には、色、形、顔、3D一般物体、ハンドジェスチャー、動き、音声、接触、匂い、味等の構成要素からなる。
【0039】
また、内的状態とは、例えば、ロボット装置の身体に基づいた本能や感情等の情動を指す。本能的要素は、例えば、疲れ(fatigue)、熱あるいは体内温度(temperature)、痛み(pain)、食欲あるいは飢え(hunger)、乾き(thirst)、愛情(affection)、好奇心(curiosity)、排泄(elimination)又は性欲(sexual)のうちの少なくとも1つである。また、情動的要素は、幸せ(happiness)、悲しみ(sadness)、怒り(anger)、驚き(surprise)、嫌悪(disgust)、恐れ(fear)、苛立ち(frustration)、退屈(boredom)、睡眠(somnolence)、社交性(gregariousness)、根気(patience)、緊張(tense)、リラックス(relaxed)、警戒(alertness)、罪(guilt)、悪意(spite)、誠実さ(loyalty)、服従性(submission)又は嫉妬(jealousy)のうちの少なくとも1つである。
【0040】
図示の制御システム10には、オブジェクト指向プログラミングを採り入れて実装することができる。この場合、各ソフトウェアは、データとそのデータに対する処理手続きとを一体化させた「オブジェクト」というモジュール単位で扱われる。また、各オブジェクトは、メッセージ通信と共有メモリを使ったオブジェクト間通信方法によりデータの受け渡しとInvokeを行なうことができる。
【0041】
制御システム10は、外部環境(Environments)70を認識するために、視覚認識機能部81、聴覚認識機能部82、及び接触認識機能部83等からなる機能モジュールである状態認識部80を備えている。
【0042】
視覚認識機能部(Video)81は、例えば、CCD(Charge Coupled Device:電荷結合素子)カメラのような画像入力装置を介して入力された撮影画像を基に、顔認識や色認識等の画像認識処理や特徴抽出を行う。また、聴覚認識機能部(Audio)82は、マイク等の音声入力装置を介して入力される音声データを音声認識して、特徴抽出したり、単語セット(テキスト)認識を行ったりする。更に、接触認識機能部(Tactile)83は、例えば機体の頭部等に内蔵された接触センサによるセンサ信号を認識して、「なでられた」とか「叩かれた」という外部刺激を認識する。
【0043】
内部状態管理部(ISM:Internal Status Manager)91は、上述した本能や感情といった数種類の情動を数式モデル化して管理しており、上述の視覚認識機能部81、聴覚認識機能部82、及び接触認識機能部83によって認識された外部刺激(ES:ExternalStimula)に応じてロボット装置1の本能や情動といった内部状態を管理する。
【0044】
このような感情モデルと本能モデルは、それぞれ認識結果と行動(動作)履歴を入力に持ち、感情値と本能値を管理している。行動モデルは、これら感情値や本能値を参照することができる。
【0045】
また、外部刺激の認識結果や内部状態の変化に応じて動作制御を行なうために、時間の経過とともに失われる短期的な記憶を行なう短期記憶部(STM:Short Term Memory)92と、情報を比較的長期間保持するための長期記憶部(LTM:Long Term Memory)93を備えている。短期記憶と長期記憶という記憶メカニズムの分類は神経心理学に依拠する。
【0046】
短期記憶部92は、上述の視覚認識機能部81、聴覚認識機能部82、及び接触認識機能部83によって外部環境から認識されたターゲットやイベントを短期間保持する機能モジュールである。例えば、図2に示すカメラ15からの入力画像を約15秒程度の短い期間だけ記憶する。
【0047】
長期記憶部93は、物の名前等学習により得られた情報を長期間保持するために使用される。長期記憶部93は、例えば、ある行動記述モジュールにおいて外部刺激から内部状態の変化を連想記憶することができる。
【0048】
また、本ロボット装置1の動作制御は、反射行動部(Reflexive Situated Behaviors Layer)103によって実現される「反射行動」と、状況依存行動階層(SBL:Situated Behaviors Layer)102によって実現される「状況依存行動」と、熟考行動階層(Deliberative Layer)101によって実現される「熟考行動」に大別される。
【0049】
反射行動部103は、上述の視覚認識機能部81、聴覚認識機能部82、及び接触認識機能部83によって認識された外部刺激に応じて反射的な機体動作を実現する機能モジュールである。反射行動とは、基本的に、センサ入力された外部情報の認識結果を直接受けて、これを分類して、出力行動(動作)を直接決定する行動のことである。例えば、人間の顔を追いかけたり、うなずいたりといった振る舞いは反射行動として実装することが好ましい。
【0050】
状況依存行動階層102は、短期記憶部92及び長期記憶部93の記憶内容や、内部状態管理部91によって管理される内部状態を基に、ロボット装置1が現在置かれている状況に即応した行動を制御する。
【0051】
状況依存行動階層102は、目的に応じた行動(動作)が記述された複数の行動記述モジュール(スキーマ)を有し、各行動(スキーマ)毎にステートマシンを用意しており、それ以前の動作や状況に依存して、センサ入力された外部情報の認識結果を分類して、動作を機体上で発現する。また、状況依存行動階層102は、内部状態をある範囲に保つための行動(「ホメオスタシス行動」とも呼ぶ)も実現し、内部状態が指定した範囲内を越えた場合には、その内部状態を当該範囲内に戻すための行動が出現し易くなるようにその行動を活性化させる(実際には、内部状態と外部環境の両方を考慮した形で行動(動作)が選択される)。
【0052】
具体的には、各スキーマが、内部状態の変化及び外部刺激に基づき、そのスキーマの実行優先度を示す活動度レベル(アクティベーションレベル:activation level、以下ALともいう。)を算出し、このアクティベーションレベルが高いスキーマが1以上選択され、選択された動作が発現されるようになされている。即ち、例えばアクティベーションレベルが最も高いスキーマを選択したり、アクティベーションレベルが所定の閾値を越えた2以上のスキーマを選択して並列的に実行したりすることができる(但し、並列実行するときは各スキーマどうしでハードウェアリソースの競合がないことを前提とする)。この状況依存行動は、反射行動に比し、反応時間が遅い。
【0053】
熟考行動階層101は、短期記憶部92及び長期記憶部93の記憶内容に基づいて、ロボット装置1の比較的長期にわたる行動計画等を行う。熟考行動とは、与えられた状況あるいは人間からの命令により、推論やそれを実現するための計画を立てて行われる行動のことである。例えば、ロボット装置の位置と目標の位置から経路を探索することは熟考行動に相当する。このような推論や計画は、ロボット装置1がインタラクションを保つための反応時間よりも処理時間や計算負荷を要する(すなわち処理時間がかかる)可能性があるので、上記の反射行動や状況依存行動がリアルタイムで反応を返しながら、熟考行動は推論や計画を行う。
【0054】
熟考行動階層101、状況依存行動階層102、及び反射行動部103は、ロボット装置1のハードウェア構成に非依存の上位のアプリケーション・プログラムとして記述することができる。これに対し、ハードウェア依存層制御部(Configuration Dependent Actions And Reactions)104は、これら上位アプリケーション、即ち、行動記述モジュール(スキーマ)からの命令に応じて、関節アクチュエータの駆動等の機体のハードウェア(外部環境)を直接操作する。このような構成により、ロボット装置1は、制御プログラムに基づいて自己及び周囲の状況を判断し、使用者からの指示及び働きかけに応じて自律的に行動できる。
【0055】
次に、行動制御システム10について更に詳細に説明する。図5は、本実施の形態における行動制御システム10のオブジェクト構成を示す模式図である。
【0056】
図5に示すように、視覚認識機能部81は、Face Detector114、Mulit Color Tracker113、Face Identify115という3つのオブジェクトで構成される。
【0057】
Face Detector114は、画像フレーム中から顔領域を検出するオブジェクトであり、検出結果をFace Identify115に出力する。Mulit Color Tracker113は、色認識を行うオブジェクトであり、認識結果をFace Identify115及びShort Term Memory(STM)92に出力する。また、Face Identify115は、検出された顔画像を手持ちの人物辞書で検索する等して人物の識別を行ない、顔画像領域の位置、大きさ情報とともに人物のID情報をSTM92に出力する。
【0058】
聴覚認識機能部82は、Audio Recog111とSpeech Recog112という2つのオブジェクトで構成される。Audio Recog111は、マイク等の音声入力装置からの音声データを受け取って、特徴抽出と音声区間検出を行うオブジェクトであり、音声区間の音声データの特徴量及び音源方向をSpeech Recog112やSTM92に出力する。Speech Recog112は、Audio Recog111から受け取った音声特徴量と音声辞書及び構文辞書を使って音声認識を行うオブジェクトであり、認識された単語のセットをSTM92に出力する。
【0059】
触覚認識記憶部83は、接触センサからのセンサ入力を認識するTactile Sensor119というオブジェクトで構成され、認識結果はSTM92や内部状態を管理するオブジェクトであるInternal State Model(ISM)91に出力する。
【0060】
STM92は、短期記憶部を構成するオブジェクトであり、上述の認識系の各オブジェクトによって外部環境から認識されたターゲットやイベントを短期間保持(例えばカメラ15からの入力画像を約15秒程度の短い期間だけ記憶する)する機能モジュールであり、STMクライアントであるSBL102に対して外部刺激の通知(Notify)を定期的に行なう。
【0061】
LTM93は、長期記憶部を構成するオブジェクトであり、物の名前等学習により得られた情報を長期間保持するために使用される。LTM93は、例えば、ある行動記述モジュール(スキーマ)において外部刺激から内部状態の変化を連想記憶することができる。
【0062】
ISM91は、内部状態管理部を構成するオブジェクトであり、本能や感情といった数種類の情動を数式モデル化して管理しており、上述の認識系の各オブジェクトによって認識された外部刺激(ES:External Stimula)に応じてロボット装置1の本能や情動といった内部状態を管理する。
【0063】
SBL102は状況依存型行動階層を構成するオブジェクトである。SBL102は、STM92のクライアント(STMクライアント)となるオブジェクトであり、STM92からは定期的に外部刺激(ターゲットやイベント)に関する情報の通知(Notify)を受け取ると、スキーマ(Schema)すなわち実行すべき行動記述モジュールを決定する(後述)。
【0064】
ReflexiveSBL(Situated Behaviors Layer)103は、反射的行動部を構成するオブジェクトであり、上述した認識系の各オブジェクトによって認識された外部刺激に応じて反射的・直接的な機体動作を実行する。例えば、人間の顔を追いかけたり、うなずく、障害物の検出により咄嗟に避けるといった振る舞いを行なう。
【0065】
SBL102は外部刺激や内部状態の変化等の状況に応じた動作を選択する。これに対し、ReflexiveSBL103は、外部刺激に応じて反射的な動作を選択する。これら2つのオブジェクトによる行動選択は独立して行なわれるため、互いに選択された行動記述モジュール(スキーマ)を機体上で実行する場合に、ロボット装置1のハードウェア・リソースが競合して実現不可能なこともある。RM(Resource Manager)116というオブジェクトは、SBL102とReflexiveSBL103とによる行動選択時のハードウェアの競合を調停する。そして、調停結果に基づいて機体動作を実現する各オブジェクトに通知することにより機体が駆動する。
【0066】
Sound Performer172、Motion Controller173、LEDController174は、機体動作を実現するオブジェクトである。Sound Performer172は、音声出力を行うためのオブジェクトであり、RM116経由でSBL102から与えられたテキスト・コマンドに応じて音声合成を行い、ロボット装置1の機体上のスピーカから音声出力を行う。また、Motion Controller173は、機体上の各関節アクチュエータの動作を行なうためのオブジェクトであり、RM116経由でSBL102から手や脚等を動かすコマンドを受けたことに応答して、該当する関節角を計算する。また、LEDController174は、LED19の点滅動作を行なうためのオブジェクトであり、RM116経由でSBL102からコマンドを受けたことに応答してLED19の点滅駆動を行なう。
【0067】
(2−1)状況依存行動制御
次に、状況依存行動階層について更に詳細に説明する。図6には、状況依存行動階層(SBL)(但し、反射行動部を含む)による状況依存行動制御の形態を模式的に示している。認識系の視覚認識機能部81、聴覚認識機能部82、及び接触認識機能部83の機能モジュールによる外部環境70の認識結果(センサ情報)182は、外部刺激183として状況依存行動階層(反射行動部103を含む)102aに与えられる。また、認識系による外部環境70の認識結果に応じた内部状態の変化184も状況依存行動階層102aに与えられる。そして、状況依存行動階層102aでは、外部刺激183や内部状態の変化184に応じて状況を判断して、行動選択を実現することができる。
【0068】
図7には、図6に示した反射行動部103を含む状況依存行動階層(SBL)102aによる行動制御の基本的な動作例を示している。同図に示すように、状況依存行動階層102aでは、外部刺激183や内部状態の変化184によって各行動記述モジュール(スキーマ)のアクティベーションレベルを算出して、アクティベーションレベルの度合いに応じてスキーマを選択して行動(動作)を実行する。アクティベーションレベルの算出には、例えばライブラリ185を利用することにより、すべてのスキーマについて統一的な計算処理を行なうことができる(以下、同様)。例えば、アクティベーションレベルが最も高いスキーマを選択したり、アクティベーションレベルが所定の閾値を越えた2以上のスキーマを選択して並列的に行動実行するようにしてもよい(但し、並列実行するときは各スキーマどうしでハードウェア・リソースの競合がないことを前提とする)。
【0069】
また、図8には、図6に示した状況依存行動階層102aにより反射行動を行なう場合の動作例を示している。この場合、同図に示すように、状況依存行動階層102aに含まれる反射行動部(ReflexiveSBL)103は、認識系の各オブジェクトによって認識された外部刺激183を直接入力としてアクティベーションレベルを算出して、アクティベーションレベルの度合いに応じてスキーマを選択して行動を実行する。この場合、内部状態の変化184は、アクティベーションレベルの計算には使用されない。
【0070】
また、図9には、図6に示した状況依存行動階層102により感情表現を行なう場合の動作例を示している。内部状態管理部91では、本能や感情等の情動を数式モデルとして管理しており、情動パラメータの状態値が所定値に達したことに応答して、状況依存行動階層102に内部状態の変化184を通知(Notify)する。状況依存行動階層102は、内部状態の変化184を入力としてアクティベーションレベルを算出して、アクティベーションレベルの度合いに応じてスキーマを選択して行動を実行する。この場合、認識系の各オブジェクトによって認識された外部刺激183は、内部状態管理部(ISM)91における内部状態の管理・更新に利用されるが、スキーマのアクティベーションレベルの算出には使用されない。
【0071】
(2−2)スキーマ
図10には、状況依存行動階層102が複数のスキーマ132によって構成されている様子を模式的に示している。状況依存行動階層102は、各行動記述モジュール、即ちスキーマ毎にステートマシンを用意しており、それ以前の行動(動作)や状況に依存して、センサ入力された外部情報の認識結果を分類し、動作を機体上で発現する。スキーマは、外部刺激や内部状態に応じた状況判断を行なうMonitor機能と、行動実行に伴う状態遷移(ステートマシン)を実現するAction機能とを備えたスキーマ(Schema)132として記述される。
【0072】
状況依存行動階層102b(より厳密には、状況依存行動階層102のうち、通常の状況依存行動を制御する階層)は、複数のスキーマ132が階層的に連結されたツリー構造として構成され、外部刺激や内部状態の変化に応じてより最適なスキーマ132を統合的に判断して行動制御を行なうようになっている。ツリー300は、例えば動物行動学的(Ethological)な状況依存行動を数式化した行動モデルや、感情表現を実行するためのサブツリー等、複数のサブツリー(又は枝)を含んでいる。
【0073】
図11には、状況依存行動階層102におけるスキーマのツリー構造を模式的に示している。同図に示すように、状況依存行動階層102は、短期記憶部92から外部刺激の通知(Notify)を受けるルート・スキーマ201、202、203を先頭に、抽象的な行動カテゴリから具体的な行動カテゴリに向かうように、各階層毎にスキーマが配設されている。例えば、ルート・スキーマの直近下位の階層では、「探索する(Investigate)」、「食べる(Ingestive)」、「遊ぶ(Play)」というスキーマ201、202、203が配設される。そして、スキーマ201「探索する(Investigate)」の下位には、「InvestigativeLocomotion」等というより具体的な探索行動を記述した複数のスキーマ201が配設されている。同様に、スキーマ202「食べる(Ingestive)」の下位には「Eat」や「Drink」等のより具体的な飲食行動を記述した複数のスキーマ202が配設され、スキーマ203「遊ぶ(Play)」の下位には「PlayBowing」、「PlayGreeting」等のより具体的な遊ぶ行動を記述した複数のスキーマ203が配設されている。
【0074】
図示の通り、各スキーマは外部刺激183と内部状態(の変化)184を入力している。また、各スキーマは、少なくともMonitor関数とActionと関数を備えている。
【0075】
ここで、Monitor関数とは、外部刺激183と内部状態184に応じて当該スキーマのアクティベーションレベル(Activation Level:AL値)を算出する関数である。図11に示すようなツリー構造を構成する場合、上位(親)のスキーマは外部刺激183と内部状態184を引数として下位(子供)のスキーマのMonitor関数をコールすることができ、子供のスキーマはアクティベーションレベルを返り値とする。また、スキーマは自分のアクティベーションレベルを算出するために、更に子供のスキーマのMonitor関数をコールすることができる。そして、ルートのスキーマには各サブツリーからのアクティベーションレベルが返されるので、外部刺激と内部状態の変化に応じた最適なスキーマすなわち行動を統合的に判断することができる。
【0076】
例えばアクティベーションレベルが最も高いスキーマを選択したり、アクティベーションレベルが所定の閾値を越えた2以上のスキーマを選択して並列的に行動実行するようにしてもよい(但し、並列実行するときは各スキーマどうしでハードウェア・リソースの競合がないことを前提とする)。
【0077】
また、Action関数は、スキーマ自身が持つ行動を記述したステートマシンを備えている。図11に示すようなツリー構造を構成する場合、親スキーマは、Action関数をコールして、子供スキーマの実行を開始したり中断させたりすることができる。本実施の形態では、ActionのステートマシンはReadyにならないと初期化されない。言い換えれば、中断しても状態はリセットされず、スキーマが実行中の作業データを保存することから、中断再実行が可能である。
【0078】
図12には、状況依存行動階層102において通常の状況依存行動を制御するためのメカニズムを模式的に示している。
【0079】
同図に示すように、状況依存行動階層(SBL)102には、短期記憶部(STM)92から外部刺激183が入力(Notify)されるとともに、内部状態管理部91から内部状態の変化184が入力される。状況依存行動階層102は、例えば動物行動学的(Ethological)な状況依存行動を数式化した行動モデルや、感情表現を実行するためのサブツリー等、複数のサブツリーで構成されており、ルート・スキーマは、外部刺激183の通知(Notify)に応答して、各サブツリーのMonitor関数をコールし、その返り値としてのアクティベーションレベル(AL)値を参照して、統合的な行動選択を行ない、選択された行動を実現するサブツリーに対してAction関数をコールする。また、状況依存行動階層102において決定された状況依存行動は、リソース・マネージャRM116により反射行動部103による反射的行動とのハードウェア・リソースの競合の調停を経て、機体動作(Motion Controller)に適用される。
【0080】
また、状況依存行動層102のうち、反射的行動部103は、上述した認識系の各オブジェクトによって認識された外部刺激183に応じて、例えば、障害物の検出により咄嗟に避ける等、反射的・直接的な機体動作を実行する。このため、図11に示す通常の状況依存行動を制御する場合とは相違し、図10に示すように、認識系の各オブジェクトからの信号を直接入力する複数のスキーマ142が階層化されずに並列的に配置されている。
【0081】
図13には、反射行動部103におけるスキーマの構成を模式的に示している。同図に示すように、反射行動部103には、聴覚系の認識結果に応答して動作するスキーマとしてAvoid Big Sound204、Face to Big Sound205及びNodding Sound209、視覚系の認識結果に応答して動作するスキーマとしてFace to Moving Object206及びAvoid Moving Object207、並びに、触覚系の認識結果に応答して動作するスキーマとして手を引っ込める208が、それぞれ対等な立場で(並列的に)配設されている。
【0082】
図示の通り、反射的行動を行なう各スキーマは外部刺激183を入力に持つ。また、各スキーマは、少なくともMonitor関数とAction関数を備えている。Monitor関数は、外部刺激183に応じて当該スキーマのアクティベーションレベルを算出して、これに応じて該当する反射的行動を発現すべきかどうかが判断される。また、Action関数は、スキーマ自身が持つ反射的行動を記述したステートマシン(後述)を備えており、コールされることにより、該当する反射的行動を発現するとともにActionの状態を遷移させていく。
【0083】
図14には、反射行動部103において反射的行動を制御するためのメカニズムを模式的に示している。図13にも示したように、反射行動部103内には、反応行動を記述したスキーマや、即時的な応答行動を記述したスキーマが並列的に存在している。認識系の機能モジュール80を構成する各オブジェクトから認識結果が入力されると、対応する反射行動スキーマがAonitor関数によりアクティベーションレベルを算出し、その値に応じてActionを軌道すべきかどうかが判断される。そして、反射行動部103において起動が決定された反射的行動は、リソース・マネージャRM116により状況依存行動階層102による状況依存行動とのハードウェア・リソースの競合の調停を経て、機体動作(Motion Controller173)に適用される。
【0084】
状況依存行動階層102及び反射行動部103を構成するスキーマは、例えばC++言語ベースで記述される「クラス・オブジェクト」として記述することができる。図15には、状況依存行動階層102において使用されるスキーマのクラス定義を模式的に示している。同図に示されている各ブロックはそれぞれ1つのクラス・オブジェクトに相当する。
【0085】
図示の通り、状況依存行動階層(SBL)102は、1以上のスキーマと、SBL102の入出力イベントに対してIDを割り振るEvent Data Handler(EDH)211と、SBL102内のスキーマを管理するSchema Handler(SH)212と、外部オブジェクト(STMやLTM、リソース・マネージャ、認識系の各オブジェクト等)からデータを受信する1以上のReceive Data Handler(RDH)213と、外部オブジェクトにデータを送信する1以上のSend Data Handler(SDH)214とを備えている。
【0086】
Schema Handler212は、状況依存行動階層(SBL)102や反射行動部103を構成する各スキーマやツリー構造等の情報(SBLのコンフィギュレーション情報)をファイルとして保管している。例えばシステムの起動時等に、Schema Handler212は、このコンフィギュレーション情報ファイルを読み込んで、図11に示したような状況依存行動階層102のスキーマ構成を構築(再現)して、メモリ空間上に各スキーマのエンティティをマッピングする。
【0087】
各スキーマは、スキーマのベースとして位置付けられるOpenR_Guest215を備えている。OpenR_Guest215は、スキーマが外部にデータを送信するためのDsubject216、並びに、スキーマが外部からデータを受信するためのDObject217というクラス・オブジェクトをそれぞれ1以上備えている。例えば、スキーマが、SBL102の外部オブジェクト(STMやLTM、認識系の各オブジェクト等)にデータを送るときには、Dsubject216はSend Data Handler214に送信データを書き込む。また、DObject217は、SBL102の外部オブジェクトから受信したデータをReceive Data Handler213から読み取ることができる。
【0088】
Schema Manager218及びSchema Base219は、ともにOpenR_Guest215を継承したクラス・オブジェクトである。クラス継承は、元のクラスの定義を受け継ぐことであり、この場合、OpenR_Guest215で定義されているDsubject216やDObject217等のクラス・オブジェクトをSchema Manager Base218やSchema Base219も備えていることを意味する(以下、同様)。例えば図11に示すように複数のスキーマがツリー構造になっている場合、Schema Manager Base218は、子供のスキーマのリストを管理するクラス・オブジェクトSchema List220を持ち(子供のスキーマへのポインタを持ち)、子供スキーマの関数をコールすることができる。また、Schema Base219は、親スキーマへのポインタを持ち、親スキーマからコールされた関数の返り値を戻すことができる。
【0089】
Schema Base219は、State Machine221及びPronome222という2つのクラス・オブジェクトを持つ。State Machine221は当該スキーマの行動(Action関数)についてのステートマシンを管理している。親スキーマは子供スキーマのAction関数のステートマシンを切り替える(状態遷移させる)ことができる。また、Pronome222には、当該スキーマが行動(Action関数)を実行又は適用するターゲットを代入する。後述するように、スキーマはPronome222に代入されたターゲットによって占有され、行動(動作)が終了(完結、異常終了等)するまでスキーマは解放されない。新規のターゲットのために同じ行動を実行するためには同じクラス定義のスキーマをメモリ空間上に生成する。この結果、同じスキーマをターゲット毎に独立して実行することができ(個々のスキーマの作業データが干渉し合うことはなく)、行動のReentrance性が確保される(後述)。
【0090】
Parent Schema Base223は、Schema Manager218及びSchema Base219を多重継承するクラス・オブジェクトであり、スキーマのツリー構造において、当該スキーマ自身についての親スキーマ及び子供スキーマすなわち親子関係を管理する。
【0091】
Intermediate Parent Schema Base224は、Parent Schema Base223を継承するクラス・オブジェクトであり、各クラスのためのインターフェース変換を実現する。また、Intermediate Parent Schema Base224は、Schema Status Info225を持つ。このSchema Status Info225は、当該スキーマ自身のステートマシンを管理するクラス・オブジェクトである。親スキーマは、子供スキーマのAction関数をコールすることによってそのステートマシンの状態を切り換えることができる。また、子供スキーマのMonitor関数をコールしてそのステートマシンの常態に応じたアクティベーションレベルを問うことができる。但し、スキーマのステートマシンは、前述したAction関数のステートマシンとは異なるということを留意されたい。
【0092】
And Parent Schema226、Num Or Parent Schema227、Or Parent Schema228は、Intermediate Parent Schema Base224を継承するクラス・オブジェクトである。And Parent Schema226は、同時実行する複数の子供スキーマへのポインタを持つ。Or Parent Schema228は、いずれか択一的に実行する複数の子供スキーマへのポインタを持つ。また、Num Or Parent Schema227は、所定数のみを同時実行する複数の子供スキーマへのポインタを持つ。
【0093】
Parent Schema229は、これらAnd Parent Schema226、Num Or Parent Schema227、Or Parent Schema228を多重継承するクラス・オブジェクトである。
【0094】
図16には、状況依存行動階層(SBL)102内のクラスの機能的構成を模式的に示している。状況依存行動階層(SBL)102は、STMやLTM、リソース・マネージャ、認識系の各オブジェクト等外部オブジェクトからデータを受信する1以上のReceive Data Handler(RDH)213と、外部オブジェクトにデータを送信する1以上のSend Data Handler(SDH)214とを備えている。
【0095】
Event Data Handler(EDH)211は、SBL102の入出力イベントに対してIDを割り振るためのクラス・オブジェクトであり、RDH213やSDH214から入出力イベントの通知を受ける。
【0096】
Schema Handler212は、スキーマ132を管理するためのクラス・オブジェクトであり、SBL102を構成するスキーマのコンフィギュレーション情報をファイルとして保管している。例えばシステムの起動時等に、Schema Handler212は、このコンフィギュレーション情報ファイルを読み込んで、SBL102内のスキーマ構成を構築する。
【0097】
各スキーマは、図15に示したクラス定義に従って生成され、メモリ空間上にエンティティがマッピングされる。各スキーマは、OpenR_Guest215をベースのクラス・オブジェクトとし、外部にデータ・アクセスするためのDSubject216やDObject217等のクラス・オブジェクトを備えている。
【0098】
スキーマ132が主に持つ関数とステートマシンを以下に示しておく。以下の関数は、Schema Base219で記述されている。
ActivationMonitor():スキーマがReady時にActiveになるための評価関数
Actions():Active時の実行用ステートマシン
Goal():Active時にスキーマがGoalに達したかを評価する関数
Fail():Active時にスキーマがfail状態かを判定する関数
SleepActions():Sleep前に実行されるステートマシン
SleepMonitor():Sleep時にResumeするための評価関数
ResumeActions():Resume前にResumeするためのステートマシン
DestroyMonitor():Sleep時にスキーマがfail状態か判定する評価関数
MakePronome():ツリー全体のターゲットを決定する関数
【0099】
(2−3)状況依存行動階層の機能
状況依存行動階層(SBL)102は、短期記憶部92及び長期記憶部93の記憶内容や、内部状態管理部91によって管理される内部状態を基に、ロボット装置1が現在置かれている状況に即応した動作を制御する。
【0100】
前項で述べたように、本実施の形態における状況依存行動階層102は、スキーマのツリー構造(図11を参照のこと)で構成されている。各スキーマは、自分の子供と親の情報を知っている状態で独立性を保っている。このようなスキーマ構成により、状況依存行動階層102は、Concurrentな評価、Concurrentな実行、Preemption、Reentrantという主な特徴を持っている。以下、これらの特徴について詳解する。
【0101】
(2−3−1)Concurrentな評価:
行動記述モジュールとしてのスキーマは外部刺激や内部状態の変化に応じた状況判断を行なうMonitor機能を備えていることは既に述べた。Monitor機能は、スキーマがクラス・オブジェクトSchema BaseでMonitor関数を備えていることにより実装されている。Monitor関数とは、外部刺激と内部状態に応じて当該スキーマのアクティベーションレベルを算出する関数である。
【0102】
図11に示すようなツリー構造を構成する場合、上位(親)のスキーマは外部刺激183と内部状態の変化184を引数として下位(子供)のスキーマのMonitor関数をコールすることができ、子供のスキーマはアクティベーションレベルを返り値とする。また、スキーマは自分のアクティベーションレベルを算出するために、更に子供のスキーマのMonitor関数をコールすることができる。そして、ルートのスキーマ201〜203には各サブツリーからのアクティベーションレベルが返されるので、外部刺激183と内部状態の変化184に応じた最適なスキーマすなわち動作を統合的に判断することができる。
【0103】
このようにツリー構造になっていることから、外部刺激183と内部状態の変化184による各スキーマの評価は、まずツリー構造の下から上に向かってConcurrentに行なわれる。即ち、スキーマに子供スキーマがある場合には、選択した子供のMonitor関数をコールしてから、自身のMonitor関数を実行する。次いで、ツリー構造の上から下に向かって評価結果としての実行許可を渡していく。評価と実行は、その動作が用いるリソースの競合を解きながら行なわれる。
【0104】
本実施の形態における状況依存行動階層102は、スキーマのツリー構造を利用して、並列的に行動の評価を行なうことができるので、外部刺激183や内部状態の変化184等の状況に対しての適応性がある。また、評価時には、ツリー全体に関しての評価を行ない、このとき算出されるアクティベーションレベル(AL)値によりツリーが変更されるので、スキーマすなわち実行する動作を動的にプライオリタイズすることができる。
【0105】
(2−3−2)Concurrentな実行:
ルートのスキーマには各サブツリーからのアクティベーションレベルが返されるので、外部刺激183と内部状態の変化184に応じた最適なスキーマすなわち動作を統合的に判断することができる。例えばアクティベーションレベルが最も高いスキーマを選択したり、アクティベーションレベルが所定の閾値を越えた2以上のスキーマを選択して並列的に行動実行するようにしてもよい(但し、並列実行するときは各スキーマどうしでハードウェア・リソースの競合がないことを前提とする)。
【0106】
実行許可をもらったスキーマは実行される。すなわち、実際にそのスキーマは更に詳細の外部刺激183や内部状態の変化184を観測して、コマンドを実行する。実行に関しては、ツリー構造の上から下に向かって順次すなわちConcurrentに行なわれる。即ち、スキーマに子供スキーマがある場合には、子供のActions関数を実行する。
【0107】
Action関数は、スキーマ自身が持つ行動(動作)を記述したステートマシンを備えている。図11に示すようなツリー構造を構成する場合、親スキーマは、Action関数をコールして、子供スキーマの実行を開始したり中断させたりすることができる。
【0108】
本実施の形態における状況依存行動階層(SBL)102は、スキーマのツリー構造を利用して、リソースが競合しない場合には、余ったリソースを使う他のスキーマを同時に実行することができる。但し、Goalまでに使用するリソースに対して制限を加えないと、ちぐはぐな行動出現が起きる可能性がある。状況依存行動階層102において決定された状況依存行動は、リソース・マネージャにより反射行動部(ReflexiveSBL)103による反射的行動とのハードウェア・リソースの競合の調停を経て、機体動作(Motion Controller)に適用される。
【0109】
(2−3−3)Preemption:
1度実行に移されたスキーマであっても、それよりも重要な(優先度の高い)行動があれば、スキーマを中断してそちらに実行権を渡さなければならない。また、より重要な行動が終了(完結又は実行中止等)したら、元のスキーマを再開して実行を続けることも必要である。
【0110】
このような優先度に応じたタスクの実行は、コンピュータの世界におけるOS(オペレーティング・システム)のPreemptionと呼ばれる機能に類似している。OSでは、スケジュールを考慮するタイミングで優先度のより高いタスクを順に実行していくという方針である。
【0111】
これに対し、本実施の形態におけるロボット装置1の制御システム10は、複数のオブジェクトにまたがるため、オブジェクト間での調停が必要になる。例えば反射行動を制御するオブジェクトである反射行動部103は、上位の状況依存行動を制御するオブジェクトである状況依存行動階層102の行動評価を気にせずに物を避けたり、バランスをとったりする必要がある。これは、実際に実行権を奪い取り実行を行なう訳であるが、上位の行動記述モジュール(SBL)に、実行権利が奪い取られたことを通知して、上位はその処理を行なうことによってPreemptiveな能力を保持する。
【0112】
また、状況依存行動層102内において、外部刺激183と内部状態の変化184に基づくアクティベーションレベルの評価の結果、あるスキーマに実行許可がなされたとする。更に、その後の外部刺激183と内部状態の変化184に基づくアクティベーションレベルの評価により、別のスキーマの重要度の方がより高くなったとする。このような場合、実行中のスキーマのActions関数を利用してSleep状態にして中断することにより、Preemptiveな行動の切り替えを行なうことができる。
【0113】
実行中のスキーマのActions()の状態を保存して、異なるスキーマのActions()を実行する。また、異なるスキーマのActions()が終了した後、中断されたスキーマのActions()を再度実行することができる。
【0114】
また、実行中のスキーマのActions()を中断して、異なるスキーマに実行権が移動する前に、SleepActions()を実行する。例えば、ロボット装置1は、対話中にサッカーボールを見つけると、「ちょっと待ってね」と言って、サッカーすることができる。
【0115】
(2−3−4)Reentrant:
状況依存行動階層102を構成する各スキーマは、一種のサブルーチンである。スキーマは、複数の親からコールされた場合には、その内部状態を記憶するために、それぞれの親に対応した記憶空間を持つ必要がある。
【0116】
これは、コンピュータの世界では、OSが持つReentrant性に類似しており、本明細書ではスキーマのReentrant性と呼ぶ。図16に示したように、スキーマ132はクラス・オブジェクトで構成されており、クラス・オブジェクトのエンティティすなわちインスタンスをターゲット(Pronome)毎に生成することによりReentrant性が実現される。
【0117】
スキーマのReentrant性について、図17を参照しながらより具体的に説明する。Schema Handler212は、スキーマを管理するためのクラス・オブジェクトであり、SBL102を構成するスキーマのコンフィギュレーション情報をファイルとして保管している。システムの起動時に、Schema Handler212は、このコンフィギュレーション情報ファイルを読み込んで、SBL102内のスキーマ構成を構築する。図17に示す例では、Eat221やDialog222等の行動(動作)を規定するスキーマのエンティティがメモリ空間上にマッピングされているとする。
【0118】
ここで、外部刺激183と内部状態の変化184に基づくアクティベーションレベルの評価により、スキーマDialog222に対してAというターゲット(Pronome)が設定されて、Dialog222が人物Aとの対話を実行するようになったとする。
【0119】
そこに、人物Bがロボット装置1と人物Aとの対話に割り込み、その後、外部刺激183と内部状態の変化184に基づくアクティベーションレベルの評価を行なった結果、Bとの対話を行なうスキーマ223の方がより優先度が高くなったとする。
【0120】
このような場合、Schema Handler212は、Bとの対話を行なうためのクラス継承した別のDialogエンティティ(インスタンス)をメモリ空間上にマッピングする。別のDialogエンティティを使用して、先のDialogエンティティとは独立して、Bとの対話を行なうことから、Aとの対話内容は破壊されずに済む。従って、DialogAはデータの一貫性を保持することができ、Bとの対話が終了すると、Aとの対話を中断した時点から再開することができる。
【0121】
Readyリスト内のスキーマは、その対象物(外部刺激183)に応じて評価すなわちアクティベーションレベルの計算が行なわれ、実行権が引き渡される。その後、Readyリスト内に移動したスキーマのインスタンスを生成して、これ以外の対象物に対して評価を行なう。これにより、同一のスキーマをactive又はsleep状態にすることができる。
【0122】
(3)ロボット装置への本発明の適用
次に、上述のようなロボット装置に本発明を適用した例について詳細に説明する。本実施の形態におけるロボット装置は、ロボット装置自身の内部の情報を得る手段をもち、その内部情報と、ロボットの外部の情報から発現する動作を選択するロボット装置において、上述したように、内部状態をある範囲に保つための行動を行うものであり、動作を実行したときに、その動作によって満たすとされる内部状態が満たされない場合、即ち、所定時間経過しても、所定の目的を達成できない(終了条件を満たさない)場合は、その経過時間に応じて変化するフラストレーション値を算出し、このフラストレーション値に基づき発現する動作を変化させるものである。
【0123】
上述したように、本実施の形態におけるロボット装置は自身の内外の情報を考慮したうえで動作選択を行うアルゴリズムとしてSBLを有する。SBLは、スキーマツリーを有し、各スキーマは、外部刺激と内部状態に応じ、上述したように、各スキーマのやりたさ度合い(実行優先度)を示すアクティベーションレベルを算出する。
【0124】
ここで、各スキーマは、各種センサ等の外部入力装置(状態認識部)から入力された外部情報(外部刺激)と、ロボット装置の内部情報(自らの内部状態パラメータ及び感情パラメータの算出を行う感情・本能モデルから得られた内部状態パラメータ)、即ちロボットの一次情動(本能)の満足度、及びそれによって変化する二次情動(感情)の値との双方に応じて、アクティベーションレベルを算出する。
【0125】
アクティベーションレベルは、外部からの刺激、対象物があればその物理的な外部情報、現在の内部状態、及びロボット装置自身が有する記憶(過去の履歴)等を利用して算出されるもので、例えば、現在の状況においてロボット装置がその動作を発現することが可能か否か(やれることができるか否か)を示すReleaseValueと、ロボット装置自身がやりたいか否かを示すMotivationValueとに基づき算出することができる。
【0126】
ReleaseValueは、外部からの刺激、対象物があればその物理的な外部情報(対象物の有無、対象物との間の距離、対象物の色及び形状等)及び各記憶部からの記憶に基づく値が例えば加算される等して算出されるものであり、例えば、ボールを蹴る動作を発現するスキーマは、カメラ等によりボールを認識できない期間は自身の動作(ボールを蹴る動作)を発現できないと判定し、その値を小さくすることができる。
【0127】
また、MotivationValueは、ロボットの内部状態、即ち、上述した内部状態管理部における本能・感情モデルにおいて算出された本能(欲求)値及び感情(情動)値に基づき算出されるもので、例えば、ボールを蹴るスキーマは、バッテリの充電が充分であったり、好きな色のボールを発見した場合にボールを蹴りたいという欲求が大きくなり、その値が大きくなる。本実施の形態のロボット装置の感情モデルは、「喜び(Joy)」、「悲しみ(Sadness)」、「怒り(Anger)」、「驚き(Surprise)」、「嫌悪(Disgust)」及び「恐れ(Fear)」の合計6つの情動について、各情動毎にその情動の強さを表すパラメータを保持し、本能モデルは、「運動欲(exercise)」、「愛情欲(affection)」、「食欲(appetite)」及び「好奇心(curiosity)」の互いに独立した4つの欲求について、これら欲求毎にその欲求の強さを表すパラメータを保持しており、これらの各値に基づきMotivationValueを算出することができる。
【0128】
上述したように、ロボット装置は、このようにして算出されたアクティベーションレベルの大小で実行するスキーマ(行動)を選択するように構成することができる。選択されたスキーマは、自身に記述された行動(動作)を発現する。各スキーマは行動を発現すると、自身の目的を果たすまで、即ち、所定の終了条件又は次の動作へ移行するための移行条件(以下、単に終了又は移行条件という。)を満たすまで行動を継続して発現する。ここで、ロボット装置は、各スキーマが自身の動作が終了又は移行条件を満たすことで、内部状態のある種の欲求、例えば、上述した「喜び」等の情動値や、「運動欲」等の欲求値を変動させるように構成される。
【0129】
具体的には、例えば、機体動作として「ボールを探す」という動作が記述されている場合、カメラの画像等によって「ボールを発見する」という終了条件を有し、この終了条件を満たすまで、ボールを探し続ける。又は、所定の条件が次の動作に移行するための移行条件となっている場合、即ち「ボールを発見する」ことが、次の「ボールを蹴る」という動作に移行するための移行条件となっている場合があり、この場合も、この移行条件を満たすまで、次の動作に移行ぜずに動作を継続し続ける。そして終了又は移行条件を満たすことで、「喜び」等の感情値を上昇させたり、「運動欲」等の欲求値を満たしたりすることができる。
【0130】
ここで、発現した動作を途中で停止(中断)するためには、外部からの刺激等、何らかの条件により、発火中のスキーマより、発火していない他のスキーマのアクティベーションレベルを高くする必要があり、このような場合には、発火中のスキーマを中断して、アクティベーションレベルが高くなった方のスキーマを起動することができる。具体的には、ロボット装置がサッカーをするスキーマを起動させてサッカーをしている最中に、ユーザに話しかけられて、サッカーをするスキーマのアクティベーションレベルより、ユーザとの対話を行うスキーマのアクティベーションレベルが高くなる等である。
【0131】
このように、動作が終了又は途中で停止するためには、所定の終了又は移行条件を満たすか、又は外部からの刺激が必要である。しかしながら、この方法では「やりたい」と主張することはできるが、途中でその動作を止める等「やめたい」ことを主張することができない。
【0132】
ところで、外部状況の変化や自身の行動の制限等の様々な要因から、選択された動作の終了又は移行条件を満たすのが困難な場合が存在する。そこで、このような場合に、終了又は移行条件を満たしていなくてもその動作を途中で停止し、次の動作を発現するというストラテジーを取るために、本発明においては、フラストレーション値という値を導入する。このフラストレーション値により、動作中であっても外部状況の変化や内部状態の変化に応じて、発現中の動作を停止させる等、動作を変化させることができる。
【0133】
フラストレーションは、心理学で「欲求満足行動を何らかの事情で阻害された時の状態、欲求不満(フラストレーション)状態」と位置付けられており、その状態になった場合、攻撃、代償、迂回、逃避反応などの反応を示すとされている。本実施の形態においては、これらを参考に、ロボット装置におけるフラストレーション状態とその際の振る舞い(フラストレーション反応)を定めるものとする。
【0134】
次に、本実施の形態におけるフラストレーション値を有するスキーマの動作について詳細に説明する。先ず、ロボット装置の複数のスキーマの中で、アクティベーションレベルが例えば最も大きいスキーマAが選択されて実行される。このスキーマAに記述された動作が最後まで実行されると欲求αを満たすと予測されているが、なかなか欲求αを満たす方向に変化させることができない場合、経過時間に応じてそのスキーマAを実行することに対するフラストレーション値Fを増加させる。
【0135】
図18(a)及び図18(b)は、本実施の形態における行動制御を説明する図である。図18(a)に示すように、SBLは、動作が実行されると満たす欲求=αのスキーマA、Bを有するスキーマツリー310と、動作が実行されると満たす欲求=βのスキーマB、Cを有するスキーマツリー320とを有している。各スキーマA、B、C、Dには、自身の行動を終了するまでの許容時間t1が例えばt1=5〜30秒等として設定され、フラストレーション値Fの閾値が例えばFth=100〜200等として設定され、更に各スキーマが上記Fthを超えた場合に、行動を停止する動作停止時間t2が例えばt2=30〜120秒等として設定されているものとする。これらのフラストレーション値Fの閾値、許容時間t1及び停止時間t2は、各スキーマ毎に可変設定されるものとする。
【0136】
スキーマAのアクティベーションレベルが外部刺激又は内部状態に応じて上昇して選択されると、スキーマAは行動を発現する。ここで、行動を発現してから許容時間t1=30sを経過しても行動が達成できない場合、即ち、スキーマAによって満たされるはずである欲求αが得られない場合、スキーマAのフラストレーション値Fを増加させる。フラストレーション値は、例えばシグモイド関数等、経過時間に応じて増加する関数等を使用して、各スキーマ自身又はその他の制御手段において算出することができる。このフラストレーション値を算出するための所定の増加関数においても、各スキーマ毎に個別に異なる関数を設定したり、該関数に使用する各種パラメータをスキーマ毎に個別に設定したりすることができる。
【0137】
ここで、例えば、スキーマAのフラストレーション値Fは、選択される前までと選択されてから許容期間t1(=30s)の間とは、F=0とし、許容期間t1以降は、その経過時間に応じて増大させるように設定される。なお、選択された時刻を基準にその後の経過時間に応じて増大させるように設定してもよい。
【0138】
そして、スキーマAは、スキーマAのフラストレーション値Fが閾値Fthを超えた時刻から所定の動作停止時間t2(=120s)の間は、スキーマAに記述された動作を発現しないものとする。
【0139】
即ち、動作停止時間t2の間は、スキーマAのアクティベーションレベルに拘わらず、スキーマAの動作を発現することを停止し、スキーマAの選択を禁止するものとする。以下、このように、スキーマAの動作を制限することをスキーマAにペナルティを与えるともいう。
【0140】
SBLでは、スキーマツリー310,320のように、通常は、各スキーマが満たす、例えば「運動欲(exercise)」、「愛情欲(affection)」、「食欲(appetite)」又は「好奇心(curiosity)」等の欲求の種類毎に異なるスキーマツリーを有しており、スキーマAの選択が禁止された場合、この間は、スキーマAと同じ欲求αを満たすスキーマのうち、最もアクティベーションレベルが高いスキーマBが選択される。
【0141】
この際、スキーマAと同じ欲求αを有するスキーマが選択されるよう、欲求αを有するスキーマツリー310を構成する各スキーマ(図18(a)においては、スキーマBのみ図示)のアクティベーションレベルALを、スキーマAの期間t2の間のみ、例えば50等、上昇させる。このようにすることで、スキーマAと同じ欲求αを有するスキーマを選択されやすくすることができる。こうして、図18(b)においては、スキーマAと同じ欲求αを有するスキーマBが選択される。
【0142】
また、スキーマAと同じ欲求αのスキーマが存在しない場合、又は、スキーマAと同じ欲求αを有するスキーマのアクティベーションレベルを上昇させても、他の欲求βを有するスキーマのアクティベーションレベルの方が高い場合等においては、スキーマAとは異なる欲求を有するスキーマを選択するようにしてもよい。
【0143】
このように、スキーマは、その機体動作を発現した後、所定の時間t1を経過しても、所定の終了又は移行条件を満たさない場合、欲求を満たす方向に変化させることができないものとし、フラストレーション値を増加させることにより、このフラストレーション値に応じて発現する動作を変化させることができる。
【0144】
そして、フラストレーション値が所定の閾値を超えた場合には、スキーマAに一定期間、動作の発現を禁止してペナルティを与えるだけではなく、上述した攻撃、代償、迂回、逃避反応等のフラストレーション反応にあたる反応を表現するよう設定することができる。例えば、攻撃反応であれば対象物を攻撃する、代償反応であればスキーマA以外のスキーマで、スキーマAと同じ欲求Aを満たすと予測されるスキーマBを実行する等である。
【0145】
また、図18(a)に示すスキーマツリー310のように、スキーマツリー310に属するいずれかのスキーマが選択され、該スキーマのフラストレーション値Fが所定の閾値を超えた場合にのみ選択されて、フラストレーション反応を表現する動作が記述されスキーマEを設け、欲求αを有するスキーマのフラストレーション値Fが所定の閾値を超えた場合にこれを選択するようにしてもよい。このスキーマEは、例えば各スキーマツリー(各欲求)に対して1つずつ設けて、そのスキーマツリーにおけるスキーマが満たすとされる欲求が満たされなかった場合に選択されるようにしてもよいし、各スキーマ毎に個別に設けてもよい。
【0146】
更に、各スキーマに対して、本来の機体動作(第1の機体動作)と共に、このような場合にのみ発現するようフラストレーション反応を示す機体動作(第2の機体動作)を記述しておいてもよい。又は、スキーマAの下層に、スキーマAのフラストレーション反応を行う1以上のスキーマを用意し、フラストレーション値Fが閾値Fthを超えると、それらのフラストレーション反応用のスキーマをコールするようにしてもよい。
【0147】
更にまた、このフラストレーション値をロボット装置の内部状態に反映させることで、フラストレーション値に応じて様々な動作を発現させることができる。例えば、動作が終了した時点、即ち所定の終了又は移行条件を満たした時点でのフラストレーション値が0である場合、「満足」又は「うれしい」等の情動値を上昇させ、これを動作に反映させるようにしてもよい。
【0148】
(3−1)実施の形態の第1の具体例:ボールを蹴るスキーマを実行しているのにボールが蹴れない場合
ボールを蹴るスキーマS1が選択され、そのスキーマS1の動作終了又は移行条件がボールを蹴ることであったとする。しかし、スキーマS1の実行中に照明条件の変化等からボールが見えなくなってしまったり、ボールとの間の距離が測れなかったりした場合、ボールを蹴ることが困難になる。こうして、これだけ与えればボールを蹴れるであろうと予測されて設定された許容時間t1を超えた場合であってもボールが蹴れない場合、フラストレーション値Fを増加させる。そして、このフラストレーション値が上記閾値Fthを超えた場合、スキーマS1の動作、即ちボールを蹴る動作を停止させ、このスキーマS1を一定時間t2選択させないようにし、スキーマS1以外の他のスキーマを選択させたり、このような場合のために代償行動を表現する代償スキーマを用意しておき、これを起動させたり、例えば「怒る」、「悲しい」等の感情を表現するスキーマをコールして、このような感情を動作に反映させたりする。これにより、例えば「がんばったけどうまくできなかったから怒ってほかの事をする」ように見える。
【0149】
(3−2)実施の形態の第2の具体例:おしゃべりスキーマを実行しているのに返事をしてくれない場合
おしゃべりスキーマS2が選択され、そのスキーマS2の終了条件又は移行条件が「人が返事をする」ことであるとする。ロボット装置が一生懸命話し掛けても、ユーザが返事をしてくれない場合等には、この条件を満たすことができない。この場合においても、ロボット装置が返事を待つことができる許容時間t1を定めておき、その許容時間t1を超えた場合にフラストレーション値Fを増加させ、このフラストレーション値Fが閾値Fthを超えたときまでに返事をもらうことができなかった場合、スキーマS2を一定時間t2選択させないようにし、次の行動をスキーマS2以外のスキーマより選択させるようにする。これにより、この時間t2の間に、例えば、他のユーザから話かけられた場合においても、お話するスキーマS2は、起動が停止されているため、ロボット装置は、これを無視することで、例えば「怒っている」ように見える。また、フラストレーションを感情に反映させると共に、他のスキーマを選択したり、代償スキーマを起動したりすることで、例えば「がんばったけど返事してくれなかったから悲しくなって他のことをする」ように見える。
【0150】
本実施の形態においては、このようなフラストレーション値を算出し、更に、スキーマ毎に、異なるフラストレーション値の閾値や、許容時間t1及び動作停止時間t2等を設定することにより、例えばスキーマAのフラストレーション値が上昇した場合、スキーマAの動作を所定時間t2停止し、スキーマAと同じ欲求αを有する他のスキーマBを選択するようにすることができ、スキーマAが所定の終了又は移行条件を満たさない場合には、同じ動作をやり続けることを防止し、同じ欲求を満たす他のスキーマBを起動させる等してロボット装置が自分で行動を「止める」ことが可能となると共に、やめ方においても、多くのバリエーションを持たせることが可能となる。
【0151】
また、フラストレーション値Fの閾値Fthを超えた場合に行うフラストレーション反応を複数用意したり、このフラストレーション反応として表出する動作として、上述したように、他のスキーマの中から、アクティベーションレベルに基づいて選択したり、欲求の種類を考慮して選択したりすることで、より多くのフラストレーション反応を持たせることが可能となる。こうして、選択した行動ができなかったことによる感情変化の実現が可能となるため、ロボット装置がより知的に見える手助けとなる。
【0152】
更に、同様の環境・条件で同一の動作が繰り返し発現されることを防止することができので、ユーザのロボット装置に対する厭きを防止し、エンターテイメント性を更に向上することができる。
【0153】
【発明の効果】
以上詳細に説明したように本発明に係るロボット装置は、所定の終了条件又は次の動作に移行する移行条件を有する複数の動作から選択された動作を発現するロボット装置において、上記複数の動作から発現する動作を選択する選択手段と、上記選択手段に選択された後の経過時間に応じてフラストレーション値を算出するフラストレーション値算出手段と、上記フラストレーション値に応じて上記選択された動作を変化させる制御手段を有するので、選択された動作開始後の経過時間に応じて変動するフラストレーション値に応じて動作を変化させることができ、行動にバリエーションを持たせて更にエンターテイメント性を向上することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるロボット装置の外観を示す斜視図である。
【図2】本発明の実施の形態におけるロボット装置の機能構成を模式的に示すブロック図である。
【図3】本発明の実施の形態におけるロボット装置の制御ユニットの構成を更に詳細に示すブロック図である。
【図4】本発明の実施の形態におけるロボット装置の行動制御システムの機能構成を示す模式図である。
【図5】本発明の実施の形態における行動制御システムのオブジェクト構成を示す模式図である。
【図6】本発明の実施の形態における状況依存行動階層による状況依存行動制御の形態を示す模式図である。
【図7】状況依存行動階層による行動制御の基本的な動作例を示す模式図である。
【図8】状況依存行動階層により反射行動を行なう場合の動作例を示す模式図である。
【図9】状況依存行動階層により感情表現を行なう場合の動作例を示す模式図である。
【図10】状況依存行動階層が複数のスキーマによって構成されている様子を示す模式図である。
【図11】状況依存行動階層におけるスキーマのツリー構造を示す模式図である。
【図12】状況依存行動階層において通常の状況依存行動を制御するためのメカニズムを示す模式図である。
【図13】反射行動部におけるスキーマの構成を示す模式図である。
【図14】反射行動部により反射的行動を制御するためのメカニズムを示す模式図である。
【図15】状況依存行動階層において使用されるスキーマのクラス定義を示す模式図である。
【図16】状況依存行動階層内のクラスの機能的構成を示す模式図である。
【図17】スキーマのReentrant性を説明する図である。
【図18】(a)及(b)は、本発明の実施の形態における行動制御を説明する図である。
【符号の説明】
1 ロボット装置、10 行動制御システム、15 CCDカメラ、16 マイクロフォン、17 スピーカ、18 タッチ・センサ、19 LEDインジケータ、20 制御部、21 CPU、22 RAM、23 ROM、24 不揮発メモリ、25 インターフェース、26 無線通信インターフェース、27 ネットワーク・インターフェース・カード、28 バス、29 キーボード、40 入出力部、50 駆動部、51 モータ、52 エンコーダ、53 ドライバ、81 視覚認識機能部、82 聴覚認識機能部、83 接触認識機能部、91 内部状態管理部、92 短期記憶部(STM)、93 長期記憶部(LTM)、101 熟考行動階層、102 状況依存行動階層(SBL)、103 反射行動部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a robot device, a control method and a program thereof, and more particularly to a robot device having entertainment characteristics imitating a human or an animal, a control method and a program thereof.
[0002]
[Prior art]
A mechanical device that performs a motion similar to the motion of a human (living organism) using an electric or magnetic action is called a “robot device”. Robotic devices have begun to spread in Japan since the late 1960s, and most of them have been industrial robotic devices such as manipulators and transfer robotic devices for the purpose of automation and unmanned production work in factories. (Industrial Robot).
[0003]
Recently, practical robot devices have been developed to support life as a human partner, that is, to support human activities in various situations in a living environment and other daily lives. Unlike a practical robot device, such a practical robot device has the ability to individually learn a human having different personalities or a method of adapting to various environments in various aspects of a human living environment. I have. For example, a “pet-type” robot device that simulates the body mechanism and operation of a four-legged animal such as a dog or a cat, or a body mechanism and operation of a human or the like that walks upright on two legs as a model Robotic devices such as the "humanoid" or "humanoid" robotic devices (Humanoid Robot) are already being put to practical use.
[0004]
Since these robot devices can perform, for example, various operations with an emphasis on entertainment, as compared with industrial robot devices, they are sometimes referred to as entertainment robot devices. Some of such robot devices operate autonomously according to external information and internal conditions.
[0005]
By the way, in such a pet robot device, like a human or a real dog or cat, a function for performing an optimal next action and action according to the current situation, and a next action and action based on past experience are performed. If a function for changing the operation can be provided, the user can be provided with a further sense of intimacy and satisfaction, and the amusement of the pet robot device can be further improved. Therefore, a robot apparatus and a control method thereof for improving such amusement properties are described in Patent Document 1 below.
[0006]
The robot device described in Patent Literature 1 has a plurality of types of behavior models, and uses a behavior selection unit based on at least one of externally input information and its own behavior history and / or growth history. The configuration is such that the output of one behavior model is selected from the outputs of the respective behavior models, whereby the optimal next behavior according to the current situation can be continuously performed.
[0007]
[Patent Document 1]
JP 2001-157981 A
[0008]
[Problems to be solved by the invention]
By the way, in the conventional robot device described in Patent Document 1 and the like, an action output from a predetermined high-priority action model is selected, but the selected action is a predetermined action. The process is performed until the termination condition is satisfied. Alternatively, the same action is continued without shifting to the next action until a predetermined shift condition is satisfied. That is, the robot apparatus can select an action that the robot apparatus has determined to do, but in order to end the action, it is necessary to satisfy an end or transition condition of the selected action. Therefore, until the selected action ends or satisfies the transition condition, another action is not performed and the same action is continuously performed.
[0009]
However, if the behavior once selected and expressed is, for example, not as good as humans, if it has emotions such as discomfort and sadness, and if this can be reflected in the motion, it will not be good The behavior can be stopped on the way or communicated to the user, and more simulate the behavior of humans or animals such as dogs and cats, and give the user further intimacy and satisfaction. And the entertainment can be further improved.
[0010]
The present invention has been proposed in view of such a conventional situation. Even during the appearance of the behavior, the external environment and the internal state of the user can be considered, and this is reflected in the behavior and various actions are taken. It is an object of the present invention to provide a robot apparatus having a variety of functions and further improving entertainment properties, a control method thereof, and a program.
[0011]
[Means for Solving the Problems]
In order to achieve the above-described object, a robot device according to the present invention includes a robot device that expresses an operation selected from a plurality of operations having a predetermined end condition or a transition condition for shifting to a next operation, Selecting means for selecting an action that emerges from the action, frustration value calculating means for calculating a frustration value according to an elapsed time after being selected by the selecting means, and the frustration value selected according to the frustration value It is characterized by having control means for changing the operation.
[0012]
In the present invention, an operation having a predetermined end condition, that is, having a plurality of operations for achieving a predetermined object, calculating a frustration value that fluctuates according to an elapsed time after the start of the operation, and using this By doing so, it is possible to change the operation, for example, to stop the operation once selected in the middle, or to prohibit the selection of the operation for a predetermined period, and further, select a different action in such a case Can be created, or the emotion (internal state) can be changed according to the frustration value and reflected in the operation. For example, by prohibiting the selection of the operation for a predetermined period, It is possible to prevent the same operation from being repeatedly selected when the same situation and the same condition are reached again within the predetermined period.
[0013]
A method for controlling a robot apparatus according to the present invention is a method for controlling a robot apparatus that expresses an operation selected from a plurality of operations having a predetermined end condition or a transition condition for transition to a next operation, wherein A selecting step of selecting an operation to be performed, a frustration value calculating step of calculating a frustration value according to an elapsed time after the selection in the selecting step, and the selected operation according to the frustration value. It is characterized by having a control step of changing.
[0014]
A program according to the present invention causes a computer to execute the above-described control processing.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. In this embodiment, the present invention incorporates the idea of psychology in a robot device having means for obtaining the internal state of the robot device itself and selecting an action from the internal state and a situation outside the robot device. By using the value of frustration, the internal state during the action is reflected in the action, and for example, it is possible to end the selected action halfway, and the robot apparatus having various motion variations and the action This is applied to the control method.
[0016]
Here, first, a preferred configuration and a control system of such a robot device will be described, and then a robot device capable of calculating a frustration value in the present embodiment will be described in detail.
[0017]
(1) Robot device configuration
FIG. 1 is a perspective view illustrating an appearance of a robot device according to the present embodiment. As shown in FIG. 1, in the robot apparatus 1, a head unit 3 is connected to a predetermined position of a trunk unit 2, and two left and right arm units 4 R / L and two left and right leg units 5 R / L are connected to each other (however, each of R and L is a suffix indicating each of right and left).
[0018]
FIG. 2 is a block diagram schematically illustrating a functional configuration of the robot device 1 according to the present embodiment. As shown in FIG. 2, the robot device 1 includes a control unit 20 that performs overall control of the entire operation and other data processing, an input / output unit 40, a driving unit 50, and a power supply unit 60. . Hereinafter, each unit will be described.
[0019]
The input / output unit 40 corresponds to a human eye as an input unit, and is disposed in a CCD camera 15 for photographing an external situation, a microphone 16 corresponding to an ear, a head, a back, and the like, and presses a predetermined pressure. When this is received, it is electrically detected to provide a touch sensor 18 for sensing a user's contact, a distance sensor for measuring a distance to an object located ahead, various other sensors corresponding to the five senses, and the like. Including. As an output unit, a speaker 17 provided in the head unit 3 and corresponding to a human mouth, and an LED indicator (eye lamp) 19 provided at the position of a human eye and expressing an emotional expression or a visual recognition state are provided. These output units can express the user feedback from the robot apparatus 1 in a form other than the mechanical movement pattern by the legs or the like, such as voice or blinking of the LED indicator 19.
[0020]
For example, a plurality of touch sensors 18 are provided at predetermined locations on the top of the head of the head unit. It can detect strokes, taps, taps, and the like.For example, if it is detected that some of the pressure sensors have come into contact sequentially after a predetermined time, this is determined to be stroked. However, when a contact is detected within a short time, it is classified as "hitting" or the like, and the internal state changes accordingly, and the action is developed according to such a change in the internal state. be able to.
[0021]
The drive unit 50 is a functional block that implements a body operation of the robot device 1 according to a predetermined movement pattern commanded by the control unit 20, and is a control target by behavior control. The drive unit 50 is a functional module for realizing a degree of freedom at each joint of the robot apparatus 1, and includes a plurality of drive units 54 provided for each axis such as roll, pitch, and yaw at each joint. 1 ~ 54 n It consists of. Each drive unit 54 1 ~ 54 n Is a motor 51 that rotates around a predetermined axis. 1 ~ 51 n And the motor 51 1 ~ 51 n Encoder 52 for detecting the rotational position of the 1 ~ 52 n And the encoder 52 1 ~ 52 n Motor 51 based on the output of 1 ~ 51 n Driver 53 that adaptively controls the rotational position and rotational speed of the 1 ~ 53 n And a combination of
[0022]
Although the robot device 1 is a bipedal walking, the robotic device 1 may be configured as a legged mobile robot device such as a quadrupedal walking, depending on how the drive units are combined.
[0023]
The power supply unit 60 is a functional module that supplies power to each electric circuit and the like in the robot device 1 as the name implies. The robot apparatus 1 according to the present embodiment is of an autonomous driving type using a battery, and a power supply unit 60 includes a charge battery 61 and a charge / discharge control unit 62 that manages a charge / discharge state of the charge battery 61. You.
[0024]
The charging battery 61 is configured, for example, in the form of a “battery pack” in which a plurality of lithium ion secondary battery cells are packaged in a cartridge type.
[0025]
Further, the charge / discharge control section 62 grasps the remaining capacity of the battery 61 by measuring the terminal voltage and the charge / discharge current amount of the battery 61, the ambient temperature of the battery 61, and determines the start time and end time of charging. decide. The start and end timings of charging determined by the charge / discharge control unit 62 are notified to the control unit 20 and serve as triggers for the robot apparatus 1 to start and end charging operations.
[0026]
The control unit 20 corresponds to a “brain” of a human, and can be mounted on, for example, the body head or the body of the robot device 1.
[0027]
FIG. 3 is a block diagram showing the configuration of the control unit 20 in further detail. As shown in FIG. 3, the control unit 20 has a configuration in which a CPU (Central Processing Unit) 21 as a main controller is bus-connected to a memory and other circuit components and peripheral devices. The bus 28 is a common signal transmission path including a data bus, an address bus, a control bus, and the like. Each device on the bus 28 is assigned a unique address (memory address or I / O address). The CPU 21 can communicate with a specific device on the bus 28 by specifying an address.
[0028]
A RAM (Random Access Memory) 22 is a writable memory composed of a volatile memory such as a DRAM (Dynamic RAM), and loads a program code executed by the CPU 21 or temporarily stores work data by the execution program. Used to sneak.
[0029]
The ROM (Read Only Memory) 23 is a read-only memory that permanently stores programs and data. The program codes stored in the ROM 23 include a self-diagnosis test program to be executed when the power of the robot apparatus 1 is turned on, an operation control program for defining the operation of the robot apparatus 1, and the like.
[0030]
The control program of the robot apparatus 1 includes a “sensor input / recognition processing program” that processes sensor inputs from the camera 15 and the microphone 16 and recognizes the symbols as symbols, and performs storage operations (described later) such as short-term storage and long-term storage. An “action control program” that controls the action (action) of the robot apparatus 1 based on the sensor input and a predetermined action control model, and a “drive” that controls the drive of each joint motor and the audio output of the speaker 17 according to the action control model. Control program ".
[0031]
The non-volatile memory 24 is composed of a memory element that can be electrically erased and rewritten, such as an EEPROM (Electrically Erasable and Programmable ROM), and is used to hold data to be sequentially updated in a non-volatile manner. The data to be sequentially updated includes an encryption key and other security information, a device control program to be installed after shipment, and the like.
[0032]
The interface 25 is a device for interconnecting with devices outside the control unit 20 and enabling data exchange. The interface 25 performs data input / output with the camera 15, the microphone 16, the speaker 17, and the like, for example. The interface 25 is provided with each driver 53 in the drive unit 50. 1 ~ 53 n Input and output data and commands between
[0033]
The interface 25 includes a serial interface such as a RS (Recommended Standard) -232C, a parallel interface such as an IEEE (Institute of Electrical and Electronics Engineers) 1284, a USB interface (Universal Serial I / E), a serial interface, and a serial interface (USB). , A general-purpose interface for connecting peripheral devices of a computer, such as a SCSI (Small Computer System Interface) interface, a memory card interface (card slot) for receiving a PC card or a memory stick, and the like. Professional with external devices It may be carried out the movement of the ram and data.
[0034]
As another example of the interface 25, an infrared communication (IrDA) interface may be provided to perform wireless communication with an external device.
[0035]
Further, the control unit 20 includes a wireless communication interface 26, a network interface card (NIC) 27, and the like, and performs near field wireless data communication such as Bluetooth, a wireless network such as IEEE 802.11b, or a wide area such as the Internet. Data communication can be performed with various external host computers via the network.
[0036]
By such data communication between the robot device 1 and the host computer, complicated operation control of the robot device 1 can be calculated or remotely controlled using a remote computer resource.
[0037]
(2) Robot system control system
Next, a control system of the robot device will be described. FIG. 4 is a schematic diagram illustrating a functional configuration of the control system 10 of the robot device 1 according to the present embodiment. The robot apparatus 1 according to the present embodiment is capable of performing operation control in accordance with a recognition result of an external stimulus and a change in an internal state. In addition, by providing a long-term memory function and associatively storing a change in the internal state from the external stimulus, it is possible to perform operation control according to the recognition result of the external stimulus and a change in the internal state.
[0038]
Here, the external stimulus is perceptual information obtained by the robot apparatus 1 recognizing a sensor input, and is, for example, color information, shape information, face information processed for an image input from the camera 15. More specifically, it is composed of components such as color, shape, face, 3D general object, hand gesture, movement, voice, contact, smell, taste and the like.
[0039]
The internal state refers to, for example, emotions such as instinct and emotions based on the body of the robot device. Instinct factors include, for example, fatigue, heat or temperature, pain, appetite or hunger, third, affection, curiosity, excretion ( elimination or at least one of sexual desire. The emotional elements include happiness, sadness, anger, surprise, disgust, fear, frustration, boredom, and sleepiness. ), Sociability (gregalousness), patience, tension, relaxed, alertness, guilt, spite, loyalty, submissibility or It is at least one of jealousy.
[0040]
The illustrated control system 10 can be implemented using object-oriented programming. In this case, each software is handled in units of modules called "objects" in which data and a processing procedure for the data are integrated. Further, each object can perform data transfer and Invoke by message communication and an inter-object communication method using a shared memory.
[0041]
The control system 10 includes a state recognition unit 80, which is a functional module including a visual recognition function unit 81, a hearing recognition function unit 82, a contact recognition function unit 83, and the like, in order to recognize an external environment (Environments) 70. .
[0042]
The visual recognition function unit (Video) 81 performs image recognition such as face recognition or color recognition based on a captured image input via an image input device such as a CCD (Charge Coupled Device) camera. Perform processing and feature extraction. Further, the auditory recognition function unit (Audio) 82 performs voice recognition of voice data input via a voice input device such as a microphone, and performs feature extraction and word set (text) recognition. Further, the contact recognition function unit (Tactile) 83 recognizes a sensor signal from a contact sensor built in, for example, the head of the body, and recognizes an external stimulus such as “patched” or “hit”. .
[0043]
An internal status manager (ISM: Internal Status Manager) 91 manages several types of emotions, such as the instinct and emotions described above, by using mathematical models, and manages the above-described visual recognition function unit 81, auditory recognition function unit 82, and contact recognition. The internal state such as instinct and emotion of the robot apparatus 1 is managed in accordance with an external stimulus (ES: External Stimula) recognized by the functional unit 83.
[0044]
Such an emotion model and an instinct model each have a recognition result and an action (action) history as inputs, and manage an emotion value and an instinct value. The behavior model can refer to these emotion values and instinct values.
[0045]
In addition, in order to perform operation control in accordance with the recognition result of the external stimulus and the change in the internal state, the information is compared with a short-term memory (STM) 92 which stores a short-term memory which is lost over time. It has a long term memory (LTM: Long Term Memory) 93 for holding for a long period of time. The classification of short-term memory and long-term memory depends on neuropsychology.
[0046]
The short-term storage unit 92 is a functional module that holds a target or an event recognized from the external environment by the visual recognition function unit 81, the auditory recognition function unit 82, and the contact recognition function unit 83 for a short time. For example, the input image from the camera 15 shown in FIG. 2 is stored for a short period of about 15 seconds.
[0047]
The long-term storage unit 93 is used to hold information obtained by learning, such as the name of an object, for a long time. For example, the long-term storage unit 93 can associate and store a change in an internal state from an external stimulus in a certain behavior description module.
[0048]
The operation control of the robot apparatus 1 is performed by a “reflex behavior” realized by a reflexive behavior behavior layer (Reflexive Situated Behaviors Layer) 103 and a “situation-dependent behavior layer (SBL) realized by a Situation Behavior Layer (SBL) 102”. Behavior "and" contemplation behavior "realized by the Deliberative Layer 101.
[0049]
The reflex action unit 103 is a functional module that implements a reflexive body operation in response to an external stimulus recognized by the visual recognition function unit 81, the auditory recognition function unit 82, and the contact recognition function unit 83 described above. The reflex action is basically an action of directly receiving a recognition result of external information input from a sensor, classifying the result, and directly determining an output action (action). For example, it is preferable to implement a behavior such as chasing or nodding a human face as a reflex action.
[0050]
The situation-dependent behavior hierarchy 102 is based on the storage contents of the short-term storage unit 92 and the long-term storage unit 93 and the internal state managed by the internal state management unit 91, and the behavior corresponding to the situation where the robot apparatus 1 is currently placed. Control.
[0051]
The situation-dependent action hierarchy 102 has a plurality of action description modules (schema) in which actions (actions) according to purposes are described, and a state machine is prepared for each action (schema). The recognition result of the external information input from the sensor is classified depending on the situation, and the operation is expressed on the body. The situation-dependent behavior hierarchy 102 also implements an action for keeping the internal state within a certain range (also referred to as “homeostasis behavior”). When the internal state exceeds a specified range, the internal state is regarded as the relevant state. The action is activated so that the action for returning to the range easily appears (actually, the action (action) is selected in consideration of both the internal state and the external environment).
[0052]
Specifically, each schema calculates an activity level (activation level, hereinafter also referred to as AL) indicating the execution priority of the schema based on the change in the internal state and the external stimulus. At least one schema having a high activation level is selected, and the selected operation is expressed. That is, for example, a schema having the highest activation level can be selected, or two or more schemas having an activation level exceeding a predetermined threshold can be selected and executed in parallel (however, when executing in parallel). Assumes that there is no hardware resource conflict between each schema). This situation-dependent action has a slower reaction time than the reflex action.
[0053]
The reflection behavior hierarchy 101 performs a relatively long-term action plan of the robot apparatus 1 based on the storage contents of the short-term storage unit 92 and the long-term storage unit 93. Reflection behavior is behavior that is performed based on a given situation or a command from a human, based on reasoning and planning to realize it. For example, searching for a route from the position of the robot device and the position of the target is equivalent to deliberate behavior. Such inferences and plans may require more processing time and calculation load (that is, more processing time) than the reaction time for the robot apparatus 1 to maintain the interaction. Thought behaviors make inferences and plans while responding in real time.
[0054]
The reflection behavior hierarchy 101, the situation-dependent behavior hierarchy 102, and the reflex behavior unit 103 can be described as higher-level application programs independent of the hardware configuration of the robot device 1. On the other hand, the hardware dependent layer control unit (Configuration Dependent Actions And Reactions) 104 responds to commands from these higher-level applications, that is, the behavior description module (schema), and controls the hardware (such as the drive of the joint actuator) of the body. External environment) directly. With such a configuration, the robot device 1 can determine its own and surrounding conditions based on the control program, and can act autonomously according to instructions and actions from the user.
[0055]
Next, the behavior control system 10 will be described in more detail. FIG. 5 is a schematic diagram illustrating an object configuration of the behavior control system 10 according to the present embodiment.
[0056]
As shown in FIG. 5, the visual recognition function unit 81 is composed of three objects: a Face Detector 114, a Multi Color Tracker 113, and a Face Identify 115.
[0057]
The Face Detector 114 is an object that detects a face area from within an image frame, and outputs a detection result to a Face Identify 115. The Multi Color Tracker 113 is an object for performing color recognition, and outputs a recognition result to the Face Identify 115 and the Short Term Memory (STM) 92. Further, the Face Identify 115 identifies the person by searching the detected face image using a person dictionary held by the user, and outputs the ID information of the person together with the position and size information of the face image area to the STM 92.
[0058]
The auditory recognition function unit 82 is composed of two objects, Audio Recog 111 and Speech Recog 112. The Audio Recog 111 is an object that receives voice data from a voice input device such as a microphone and performs feature extraction and voice section detection, and outputs the feature amount and sound source direction of voice data in the voice section to the Speech Recog 112 and the STM 92. The Speech Recog 112 is an object that performs speech recognition using the speech feature amount received from the Audio Recog 111, the speech dictionary, and the syntax dictionary, and outputs a set of recognized words to the STM 92.
[0059]
The tactile recognition storage unit 83 is configured by an object called a Tactile Sensor 119 that recognizes a sensor input from a contact sensor, and outputs a recognition result to the STM 92 and an Internal State Model (ISM) 91 that is an object for managing an internal state.
[0060]
The STM 92 is an object constituting a short-term storage unit, and holds a target or an event recognized from an external environment by each of the above-described recognition system objects for a short period of time (for example, an input image from the camera 15 is stored for a short period of about 15 seconds). Only), and periodically notifies the SBL client 102 of the external stimulus (Notify).
[0061]
The LTM 93 is an object that forms a long-term storage unit, and is used to hold information obtained by learning, such as the name of an object, for a long time. The LTM 93 can, for example, associate and store a change in an internal state from an external stimulus in a certain behavior description module (schema).
[0062]
The ISM 91 is an object that constitutes an internal state management unit, manages several types of emotions such as instinct and emotions in a mathematical model, and manages external stimuli (ES: External Stimula) recognized by each of the above-described recognition system objects. The internal state such as the instinct and emotion of the robot apparatus 1 is managed according to.
[0063]
The SBL 102 is an object that forms a situation-dependent behavior hierarchy. The SBL 102 is an object serving as a client (STM client) of the STM 92. Upon receiving a notification (Notify) of information on an external stimulus (target or event) from the STM 92 periodically, a schema (Schema), that is, an action description to be executed Determine the module (described below).
[0064]
A Reflexive SBL (Suited Behaviors Layer) 103 is an object that constitutes a reflexive behavior unit, and executes reflexive and direct body motion in response to an external stimulus recognized by each of the above-described recognition system objects. For example, a behavior such as following a human face, nodding, or avoiding immediately by detecting an obstacle is performed.
[0065]
The SBL 102 selects an operation according to a situation such as an external stimulus or a change in the internal state. On the other hand, the Reflexive SBL 103 selects a reflexive operation in response to an external stimulus. Since the action selection by these two objects is performed independently, when the action description modules (schema) selected from each other are executed on the body, hardware resources of the robot apparatus 1 conflict with each other and cannot be realized. Sometimes. An object called an RM (Resource Manager) 116 arbitrates hardware conflicts between the SBL 102 and the Reflexive SBL 103 when selecting an action. Then, the body is driven by notifying each object that realizes the body operation based on the arbitration result.
[0066]
The Sound Performer 172, the Motion Controller 173, and the LED Controller 174 are objects that implement the body operation. The Sound Performer 172 is an object for performing voice output, performs voice synthesis according to a text command given from the SBL 102 via the RM 116, and performs voice output from a speaker on the body of the robot apparatus 1. The Motion Controller 173 is an object for performing an operation of each joint actuator on the body, and calculates a corresponding joint angle in response to receiving a command to move a hand, a leg, or the like from the SBL 102 via the RM 116. . The LED Controller 174 is an object for performing a blinking operation of the LED 19, and performs blinking driving of the LED 19 in response to receiving a command from the SBL 102 via the RM 116.
[0067]
(2-1) Situation-dependent behavior control
Next, the situation-dependent action hierarchy will be described in more detail. FIG. 6 schematically illustrates a form of situation-dependent behavior control using a situation-dependent behavior hierarchy (SBL) (including a reflex behavior unit). The recognition result (sensor information) 182 of the external environment 70 by the functional modules of the visual recognition function unit 81, the auditory recognition function unit 82, and the contact recognition function unit 83 of the recognition system is used as an external stimulus 183 as a situation-dependent behavior hierarchy (reflex behavior unit). 103a). The change 184 of the internal state according to the recognition result of the external environment 70 by the recognition system is also given to the situation-dependent action hierarchy 102a. In the situation-dependent behavior hierarchy 102a, the situation can be determined according to the external stimulus 183 or the change 184 in the internal state, and the behavior can be selected.
[0068]
FIG. 7 shows a basic operation example of behavior control by the situation-dependent behavior hierarchy (SBL) 102a including the reflex behavior unit 103 shown in FIG. As shown in the figure, in the situation-dependent behavior hierarchy 102a, the activation level of each behavior description module (schema) is calculated based on the external stimulus 183 and the change 184 of the internal state, and the schema is determined according to the degree of the activation level. Select and execute the action (action). In calculating the activation level, for example, by using the library 185, a unified calculation process can be performed for all schemas (hereinafter the same). For example, a schema having the highest activation level may be selected, or two or more schemas having an activation level exceeding a predetermined threshold may be selected and executed in parallel. Assumes that there is no hardware resource conflict between each schema).
[0069]
FIG. 8 shows an operation example when a reflex action is performed by the situation-dependent action hierarchy 102a shown in FIG. In this case, as shown in the figure, the reflexive action unit (ReflexiveSBL) 103 included in the context-dependent action hierarchy 102a calculates the activation level by directly using the external stimulus 183 recognized by each object of the recognition system. Then, an action is performed by selecting a schema according to the degree of the activation level. In this case, the change 184 of the internal state is not used for calculating the activation level.
[0070]
FIG. 9 shows an operation example when emotion expression is performed by the situation-dependent behavior hierarchy 102 shown in FIG. The internal state management unit 91 manages emotions such as instinct and emotion as a mathematical model. In response to the state value of the emotion parameter reaching a predetermined value, a change 184 of the internal state is added to the situation-dependent behavior hierarchy 102. Is notified (Notify). The situation-dependent behavior hierarchy 102 calculates an activation level by using the change 184 of the internal state as an input, selects a schema according to the degree of the activation level, and executes the behavior. In this case, the external stimulus 183 recognized by each object of the recognition system is used for managing and updating the internal state in the internal state management unit (ISM) 91, but is not used for calculating the activation level of the schema.
[0071]
(2-2) Schema
FIG. 10 schematically illustrates a situation in which the situation-dependent behavior hierarchy 102 is configured by a plurality of schemas 132. The situation-dependent action hierarchy 102 prepares a state machine for each action description module, that is, for each schema, and classifies recognition results of external information input from a sensor depending on actions (actions) and situations before that. , The action is expressed on the fuselage. The schema is described as a schema (Schema) 132 having a Monitor function for making a situation determination according to an external stimulus or an internal state, and an Action function for realizing a state transition (state machine) accompanying an action execution.
[0072]
The context-dependent behavior hierarchy 102b (more strictly, of the context-dependent behavior hierarchy 102, a hierarchy that controls normal context-dependent behavior) is configured as a tree structure in which a plurality of schemas 132 are hierarchically connected. In addition, the behavior control is performed by integrally determining a more optimal schema 132 according to the change of the internal state. The tree 300 includes a plurality of subtrees (or branches) such as a behavior model in which ethological situation-dependent behavior is formalized, a subtree for executing emotional expression, and the like.
[0073]
FIG. 11 schematically shows a tree structure of a schema in the context-dependent behavior hierarchy 102. As shown in the drawing, the context-dependent behavior hierarchy 102 receives a notification (Notify) of an external stimulus from the short-term storage unit 92 and a root schema 201. 1 , 202 1 , 203 1 , A schema is arranged for each hierarchy so as to go from an abstract action category to a specific action category. For example, in the hierarchy immediately below the root schema, the schema 201 of “Search (Investigate)”, “Eat (Ingestive)”, and “Play (Play)” 2 , 202 2 , 203 2 Is arranged. And the schema 201 2 A plurality of schemas 201 describing a more specific search action such as “Investigative Locomation” are provided below “Search” (Investigate). 3 Are arranged. Similarly, schema 202 2 A plurality of schemas 202 describing more specific eating and drinking behaviors such as “Eat” and “Drink” are provided below “Ingestive”. 3 Is provided and the schema 203 2 Below the “Play”, a plurality of schemas 203 that describe more specific playing actions such as “Play Bowing” and “Play Greeting” 3 Are arranged.
[0074]
As shown, each schema inputs an external stimulus 183 and an internal state (change) 184. Each schema includes at least a Monitor function, an Action, and a function.
[0075]
Here, the Monitor function is a function that calculates an activation level (Activation Level: AL value) of the schema according to the external stimulus 183 and the internal state 184. When a tree structure as shown in FIG. 11 is configured, the upper (parent) schema can call the Monitor function of the lower (child) schema with the external stimulus 183 and the internal state 184 as arguments, and the child schema is The activation level is returned. The schema can also call the Monitor function of the child's schema to calculate its activation level. Then, since the activation level from each subtree is returned to the root schema, it is possible to integrally determine the optimal schema, that is, the action according to the change of the external stimulus and the internal state.
[0076]
For example, a schema having the highest activation level may be selected, or two or more schemas whose activation levels exceed a predetermined threshold may be selected and executed in parallel (however, when executing in parallel, (Assuming that there is no hardware resource conflict between each schema).
[0077]
The Action function has a state machine that describes the behavior of the schema itself. When the tree structure shown in FIG. 11 is configured, the parent schema can call the Action function to start or interrupt the execution of the child schema. In this embodiment, the Action state machine is not initialized unless it becomes Ready. In other words, the state is not reset even if interrupted, and the schema saves the work data being executed, so that interrupted re-execution is possible.
[0078]
FIG. 12 schematically shows a mechanism for controlling normal context-dependent behavior in the context-dependent behavior hierarchy 102.
[0079]
As shown in the figure, an external stimulus 183 is input (Notify) from the short-term storage unit (STM) 92 to the context-dependent behavior hierarchy (SBL) 102, and a change 184 in the internal state is received from the internal state management unit 91. Is entered. The context-dependent behavior hierarchy 102 is composed of a plurality of sub-trees such as a behavior model in which an ethological (ethological) situation-dependent behavior is formalized and a sub-tree for executing emotional expression. In response to the notification (Notify) of the external stimulus 183, the Monitor function of each subtree is called, and by referring to the activation level (AL) value as a return value, an integrated action selection is performed, and Call the Action function for the subtree that implements the action. The context-dependent behavior determined in the context-dependent behavior hierarchy 102 is applied to the machine operation (Motion Controller) through arbitration of hardware resource competition with the reflex behavior by the reflex behavior unit 103 by the resource manager RM 116. Is done.
[0080]
In addition, in the context-dependent behavior layer 102, the reflex behavior section 103 responds to the external stimulus 183 recognized by each object of the above-described recognition system, for example, by rejecting the object immediately by detecting an obstacle. Perform direct airframe operations. Therefore, unlike the case of controlling the normal context-dependent behavior shown in FIG. 11, as shown in FIG. 10, a plurality of schemas 142 for directly inputting signals from the respective objects of the recognition system are not hierarchized. They are arranged in parallel.
[0081]
FIG. 13 schematically illustrates the configuration of the schema in the reflex action unit 103. As shown in the drawing, the reflex action unit 103 operates in response to the Aid Big Sound 204, the Face to Big Sound 205 and the Nodding Sound 209 as the schema that operates in response to the recognition result of the auditory system, and operates in response to the recognition result of the visual system. A Face to Moving Object 206 and an Avoid Moving Object 207 as schemas, and a hand-withdrawing 208 as a schema that operates in response to the recognition result of the haptic system are provided in an equivalent position (in parallel).
[0082]
As shown, each schema performing reflexive behavior has an external stimulus 183 as input. Each schema has at least a Monitor function and an Action function. The Monitor function calculates the activation level of the schema according to the external stimulus 183, and determines whether or not to exhibit the corresponding reflex behavior in accordance with the calculated activation level. The Action function includes a state machine (described later) that describes the reflexive behavior of the schema itself, and when called, expresses the relevant reflexive behavior and transitions the state of the Action.
[0083]
FIG. 14 schematically shows a mechanism for controlling the reflex behavior in the reflex behavior unit 103. As shown in FIG. 13, a schema describing a reaction behavior and a schema describing an immediate response behavior exist in parallel in the reflex behavior unit 103. When a recognition result is input from each object constituting the recognition-related function module 80, the corresponding reflex behavior schema calculates an activation level by an Aonitor function, and it is determined whether or not to orbit the Action according to the value. You. Then, the reflex action determined to be activated by the reflex action unit 103 is mediated by the resource manager RM 116 through the arbitration of hardware resource competition with the context-dependent behavior by the context-dependent behavior hierarchy 102, and then to the body operation (Motion Controller 173). Applied to
[0084]
The schema that configures the situation-dependent behavior hierarchy 102 and the reflex behavior unit 103 can be described as a “class object” described on a C ++ language basis, for example. FIG. 15 schematically shows a class definition of a schema used in the context-dependent behavior hierarchy 102. Each block shown in the figure corresponds to one class object.
[0085]
As illustrated, the context-dependent behavior hierarchy (SBL) 102 includes one or more schemas, an Event Data Handler (EDH) 211 that assigns IDs to input / output events of the SBL 102, and a Schema Handler (which manages schemas in the SBL 102). SH) 212, one or more Receive Data Handlers (RDH) 213 for receiving data from external objects (STM, LTM, resource manager, recognition-related objects, etc.), and one or more receive data handlers (RDH) 213 for transmitting data to external objects. And a Send Data Handler (SDH) 214.
[0086]
The Schema Handler 212 stores information such as schemas and tree structures (SBL configuration information) constituting the context-dependent behavior hierarchy (SBL) 102 and the reflex behavior unit 103 as a file. For example, when the system is started, the Schema Handler 212 reads this configuration information file, constructs (reproduces) the schema configuration of the situation-dependent behavior hierarchy 102 shown in FIG. 11, and stores each schema in the memory space. Map entity.
[0087]
Each schema has an OpenR_Guest 215 positioned as the base of the schema. The OpenR_Guest 215 includes one or more class objects Dsubject 216 for transmitting data to the outside of the schema and one or more class objects Dject217 for receiving data from the outside of the schema. For example, when the schema sends data to an external object (STM, LTM, each object of a recognition system, etc.) of the SBL 102, the Dsubject 216 writes the transmission data to the Send Data Handler 214. Further, the DOJECT 217 can read data received from the external object of the SBL 102 from the Receive Data Handler 213.
[0088]
Schema Manager 218 and Schema Base 219 are both class objects that inherit OpenR_Guest 215. The class inheritance is to inherit the definition of the original class. In this case, it means that a class object such as Dsubject 216 or DOobject 217 defined in OpenR_Guest 215 is also provided with Schema Manager Base 218 or Schema Base 219 (hereinafter, it is referred to as Schema Base 219). Similar). For example, when a plurality of schemas have a tree structure as shown in FIG. 11, the Schema Manager Base 218 has a class object Schema List 220 that manages a list of child schemas (has a pointer to the child schema), You can call functions in the child schema. The Schema Base 219 has a pointer to the parent schema and can return the return value of a function called from the parent schema.
[0089]
The Schema Base 219 has two class objects, State Machine 221 and Pronome 222. The state machine 221 manages a state machine for an action (action function) of the schema. The parent schema can switch (state transition) the state machine of the Action function of the child schema. Also, the target to which the schema executes or applies the action (Action function) is assigned to the Pronome 222. As will be described later, the schema is occupied by the target assigned to the Pronom 222, and the schema is not released until the action (operation) ends (complete, abnormal termination, etc.). To execute the same action for a new target, the same class definition schema is created in the memory space. As a result, the same schema can be executed independently for each target (the work data of each schema does not interfere with each other), and the Reentrance property of the behavior is secured (described later).
[0090]
The Parent Schema Base 223 is a class object that inherits the Schema Manager 218 and Schema Base 219 multiple times, and manages a parent schema and a child schema of the schema itself, that is, a parent-child relationship in the tree structure of the schema.
[0091]
The Intermediate Parent Schema Base 224 is a class object that inherits the Parent Schema Base 223, and implements interface conversion for each class. Further, the Intermediate Parent Schema Base 224 has a Schema Status Info 225. The Schema Status Info 225 is a class object that manages a state machine of the schema itself. The parent schema can switch the state of its state machine by calling the Action function of the child schema. In addition, a Monitor function of the child schema can be called to inquire about an activation level according to the normal state of the state machine. However, it should be noted that the state machine of the schema is different from the state machine of the Action function described above.
[0092]
The And Parent Schema 226, Num Or Parent Schema 227, and Or Parent Schema 228 are class objects that inherit from the Intermediate Parent Schema Base 224. The And Parent Schema 226 has pointers to a plurality of child schemas to be executed simultaneously. The Or Parent Schema 228 has pointers to a plurality of child schemas to be executed alternatively. The Num Or Parent Schema 227 has pointers to a plurality of child schemas that execute only a predetermined number at the same time.
[0093]
The Parent Schema 229 is a class object that inherits the And Parent Schema 226, Num Or Parent Schema 227, and Or Parent Schema 228 in multiples.
[0094]
FIG. 16 schematically shows a functional configuration of a class in the context-dependent behavior hierarchy (SBL) 102. The context-dependent behavior hierarchy (SBL) 102 transmits one or more Receive Data Handlers (RDH) 213 for receiving data from an external object such as an STM or LTM, a resource manager, or a recognition system object, and transmits data to the external object. And one or more Send Data Handlers (SDH) 214.
[0095]
An Event Data Handler (EDH) 211 is a class object for allocating an ID to an input / output event of the SBL 102, and receives a notification of the input / output event from the RDH 213 or the SDH 214.
[0096]
The Schema Handler 212 is a class object for managing the schema 132, and stores configuration information of the schema configuring the SBL 102 as a file. For example, when the system is started, the Schema Handler 212 reads the configuration information file and constructs a schema configuration in the SBL 102.
[0097]
Each schema is generated according to the class definition shown in FIG. 15, and entities are mapped on the memory space. Each schema has an OpenR_Guest 215 as a base class object, and includes class objects such as DObject 216 and DOObject 217 for externally accessing data.
[0098]
The functions and state machines that the schema 132 mainly has are described below. The following functions are described in Schema Base 219.
ActivationMonitor (): Evaluation function for making the schema Active when the schema is Ready
Actions (): Execution state machine at the time of Active
Goal (): a function that evaluates whether the schema has reached Goal during Active
Fail (): Function for determining whether the schema is in the Fail state during Active
SleepActions (): State machine executed before Sleep
SleepMonitor (): Evaluation function for resuming at the time of sleep
ResumeActions (): State machine for Resume before Resume
DestroyMonitor (): Evaluation function for determining whether the schema is in the fail state at the time of sleep
MakePronome (): a function that determines the target of the whole tree
[0099]
(2-3) Situation-dependent behavior hierarchy function
The situation-dependent behavior hierarchy (SBL) 102 is based on the storage contents of the short-term storage unit 92 and the long-term storage unit 93, and the internal state managed by the internal state management unit 91, to indicate the state where the robot apparatus 1 is currently placed. Control responsive actions.
[0100]
As described in the previous section, the situation-dependent behavior hierarchy 102 in the present embodiment is configured by a tree structure of a schema (see FIG. 11). Each schema keeps its independence, knowing its child and parent information. With such a schema configuration, the situation-dependent behavior hierarchy 102 has the main features of Concurrent evaluation, Concurrent execution, Preemption, and Reentrant. Hereinafter, these features will be described in detail.
[0101]
(2-3-1) Concurrent evaluation:
It has already been described that the schema as the action description module has a Monitor function for making a situation judgment according to an external stimulus or a change in the internal state. The Monitor function is implemented by the schema having a Monitor function in the class object Schema Base. The Monitor function is a function that calculates the activation level of the schema according to the external stimulus and the internal state.
[0102]
When the tree structure shown in FIG. 11 is configured, the upper (parent) schema can call the Monitor function of the lower (child) schema with the external stimulus 183 and the change 184 of the internal state as arguments. The schema returns the activation level as the return value. The schema can also call the Monitor function of the child's schema to calculate its activation level. And the root schema 201 1 ~ 203 1 , The activation level from each subtree is returned, so that an optimal schema, that is, an operation according to the external stimulus 183 and the change 184 of the internal state can be determined in an integrated manner.
[0103]
Because of the tree structure, the evaluation of each schema by the external stimulus 183 and the change 184 of the internal state is first performed on the current from the bottom of the tree structure to the top. That is, when the child schema exists in the schema, the Monitor function of the selected child is called, and then the Monitor function of the selected child is executed. Next, an execution permission as an evaluation result is passed from top to bottom of the tree structure. Evaluation and execution are performed while resolving contention for resources used by the operation.
[0104]
The situation-dependent behavior hierarchy 102 in the present embodiment can evaluate behavior in parallel using the tree structure of the schema, so that the situation such as the external stimulus 183 or the change 184 of the internal state can be evaluated. Be adaptive. In addition, at the time of evaluation, evaluation is performed for the entire tree, and the tree is changed according to the activation level (AL) value calculated at this time. Therefore, the schema, that is, the operation to be executed can be dynamically prioritized.
[0105]
(2-3-2) Concurrent execution:
Since the activation level from each subtree is returned to the root schema, the optimal schema, that is, the operation according to the external stimulus 183 and the change 184 of the internal state can be determined in an integrated manner. For example, a schema having the highest activation level may be selected, or two or more schemas whose activation levels exceed a predetermined threshold may be selected and executed in parallel (however, when executing in parallel, (Assuming that there is no hardware resource conflict between each schema).
[0106]
The schema for which permission has been granted is executed. That is, the schema actually observes the external stimulus 183 and internal state change 184 in more detail, and executes the command. Execution is performed sequentially from the top of the tree structure to the bottom, that is, Concurrent. That is, if the schema includes a child schema, the child's Actions function is executed.
[0107]
The Action function includes a state machine that describes an action (operation) of the schema itself. When the tree structure shown in FIG. 11 is configured, the parent schema can call the Action function to start or interrupt the execution of the child schema.
[0108]
The context-dependent behavior hierarchy (SBL) 102 according to the present embodiment can execute another schema using the surplus resources at the same time by using the tree structure of the schema when resources do not conflict. However, if there is no restriction on the resources used up to Goal, an unusual behavior may occur. The context-dependent behavior determined in the context-dependent behavior hierarchy 102 is applied to the body operation (Motion Controller) through arbitration of competition of hardware resources with the reflex behavior by the reflex behavior unit (Reflexive SBL) 103 by the resource manager. Is done.
[0109]
(2-3-3) Preemption:
Even if a schema has been executed once, if there is a more important (higher priority) action, the schema must be interrupted and the execution right must be given to it. In addition, when more important actions are completed (completed or stopped), it is necessary to resume the original schema and continue the execution.
[0110]
Executing a task according to such a priority is similar to a function called Preemption of an OS (Operating System) in the computer world. The OS has a policy of sequentially executing tasks with higher priorities at a timing when the schedule is considered.
[0111]
On the other hand, since the control system 10 of the robot apparatus 1 according to the present embodiment extends over a plurality of objects, arbitration between the objects is required. For example, the reflex action unit 103, which is an object for controlling reflex behavior, needs to avoid an object or balance without worrying about the behavior evaluation of the context-dependent behavior hierarchy 102, which is an object for controlling higher-level context-dependent behavior. is there. This means that the execution right is actually robbed and executed. However, the upper-level behavior description module (SBL) is notified that the execution right has been robbed, and the higher-level action description module (SBL) performs the processing to obtain a preemptive capability. Hold.
[0112]
Further, it is assumed that, as a result of the evaluation of the activation level based on the external stimulus 183 and the change 184 of the internal state in the context-dependent behavior layer 102, the execution permission is given to a certain schema. Further, it is assumed that the evaluation of the activation level based on the external stimulus 183 and the change 184 of the internal state thereafter has made the importance of another schema higher. In such a case, by switching to the sleep state using the Actions function of the schema being executed, the preemptive behavior can be switched.
[0113]
Save the state of Actions () of the running schema and execute Actions () of a different schema. Also, after Actions () of a different schema is completed, Actions () of the suspended schema can be executed again.
[0114]
Also, Actions () of the schema being executed is interrupted, and SleepActions () is executed before the execution right is transferred to a different schema. For example, if the robot apparatus 1 finds a soccer ball during a conversation, it can say, "Wait a moment" and play soccer.
[0115]
(2-3-4) Reentrant:
Each schema constituting the context-dependent behavior hierarchy 102 is a kind of subroutine. When a schema is called from a plurality of parents, it is necessary to have a storage space corresponding to each parent in order to store its internal state.
[0116]
This is similar to the reentrant property of the OS in the computer world, and is referred to as a schema reentrant property in this specification. As shown in FIG. 16, the schema 132 is composed of class objects, and the entity, that is, an instance of the class object is generated for each target (Pronome), thereby realizing the reentrant property.
[0117]
The reentrancy of the schema will be described more specifically with reference to FIG. The Schema Handler 212 is a class object for managing a schema, and stores configuration information of a schema configuring the SBL 102 as a file. When the system is started, the Schema Handler 212 reads this configuration information file and constructs a schema configuration in the SBL 102. In the example illustrated in FIG. 17, it is assumed that an entity of a schema that defines an action (operation) such as an Eat 221 or a Dialog 222 is mapped in a memory space.
[0118]
Here, by evaluating the activation level based on the external stimulus 183 and the change 184 of the internal state, a target (Pronome) A is set for the schema Dialog 222, and the Dialog 222 executes a dialogue with the person A. Suppose.
[0119]
Then, the person B interrupts the dialogue between the robot apparatus 1 and the person A, and then evaluates the activation level based on the external stimulus 183 and the change 184 in the internal state. Assume that the priority is higher.
[0120]
In such a case, the Schema Handler 212 maps another Dialog entity (instance) inheriting a class for interacting with B on the memory space. Since the conversation with B is performed using another Dialog entity independently of the previous Dialog entity, the contents of the conversation with A are not destroyed. Therefore, DialogA can maintain data consistency, and when the conversation with B ends, the dialogue with A can be resumed from the point of interruption.
[0121]
The schema in the Ready list is evaluated according to the object (external stimulus 183), that is, the activation level is calculated, and the execution right is delivered. After that, an instance of the schema moved in the Ready list is generated, and the other objects are evaluated. Thereby, the same schema can be set to the active or sleep state.
[0122]
(3) Application of the present invention to a robot device
Next, an example in which the present invention is applied to the above-described robot device will be described in detail. The robot apparatus according to the present embodiment has a means for obtaining information inside the robot apparatus itself, and in the robot apparatus for selecting an operation expressed from the internal information and information external to the robot, as described above, Is performed in order to keep the value within a certain range, and when the operation is performed, if the internal state assumed to be satisfied by the operation is not satisfied, that is, the predetermined object cannot be achieved even after the predetermined time has elapsed. In the case where the termination condition is not satisfied, a frustration value that changes according to the elapsed time is calculated, and the operation that appears based on this frustration value is changed.
[0123]
As described above, the robot apparatus according to the present embodiment has SBL as an algorithm for selecting an operation in consideration of information inside and outside the robot apparatus. The SBL has a schema tree, and each schema calculates an activation level indicating the degree of simplicity (execution priority) of each schema according to the external stimulus and the internal state, as described above.
[0124]
Here, each schema includes external information (external stimulus) input from an external input device (state recognition unit) such as various sensors, and internal information of the robot device (emotion for calculating its own internal state parameter and emotion parameter). The activation level is calculated according to both the internal state parameter obtained from the instinct model), that is, the satisfaction level of the primary emotion (instinct) of the robot and the value of the secondary emotion (emotion) that changes accordingly. .
[0125]
The activation level is calculated by using a stimulus from the outside, physical external information of an object (if any), a current internal state, a memory (past history) of the robot device itself, and the like. For example, it is calculated based on ReleaseValue indicating whether or not the robot device can perform the operation in the current situation (whether the robot device can perform the operation) and MotivationValue indicating whether the robot device itself wants to perform the operation. be able to.
[0126]
The ReleaseValue is based on external stimuli, physical external information (if there is an object, distance to the object, color and shape of the object, and the like) of the object, if any, and storage from each storage unit. The value is calculated by, for example, adding, for example. For example, a schema that expresses a ball kicking operation does not express its own operation (ball kicking operation) during a period when the ball cannot be recognized by a camera or the like. Judgment and its value can be reduced.
[0127]
Further, the MotivationValue is calculated based on the internal state of the robot, that is, the instinct (desire) value and the emotion (emotional) value calculated in the instinct / emotional model in the internal state management unit described above. In the kicking scheme, if the battery is sufficiently charged or a ball of a desired color is found, the desire to kick the ball increases, and the value increases. The emotion model of the robot apparatus according to the present embodiment includes “Joy”, “Sadness”, “Anger”, “Surprise”, “Disgust”, and “Disgust”. Fear), a parameter representing the intensity of the emotion is stored for each emotion, and the instinct model is “exercise”, “affection”, “appetite”. )) And "curiosity", each of which has a parameter indicating the strength of the desire for each of the desires, and the MotivationValue can be calculated based on each of these values. .
[0128]
As described above, the robot device can be configured to select a schema (action) to be executed depending on the activation level calculated in this way. The selected schema expresses the action (action) described therein. When each schema expresses an action, the action continues until it fulfills its purpose, that is, it satisfies a predetermined termination condition or a transition condition for transition to the next operation (hereinafter, simply referred to as termination or transition condition). Expressed. Here, when each schema satisfies the termination or transition condition of its own operation, the robot apparatus obtains a certain kind of desire in the internal state, for example, an emotion value such as the above-mentioned “joy” or a “motion desire” or the like. It is configured to vary the desire value.
[0129]
Specifically, for example, when an operation of “searching for a ball” is described as a body operation, the game has an end condition of “finding a ball” based on an image of a camera or the like. Keep looking. Alternatively, when the predetermined condition is a transition condition for transitioning to the next operation, that is, “finding the ball” is a transition condition for transitioning to the next operation of “kicking the ball”. In this case as well, the operation continues without shifting to the next operation until the transition condition is satisfied. By satisfying the termination or transition condition, it is possible to increase the emotion value such as “joy” or satisfy the desire value such as “exercise desire”.
[0130]
Here, in order to stop (interrupt) the expressed operation halfway, the activation level of the other schema that has not fired needs to be higher than that of the schema that is firing due to some condition such as an external stimulus. In such a case, the schema being fired can be interrupted and the schema with the higher activation level can be activated. Specifically, while the robot apparatus activates the schema for playing soccer and is playing soccer, the user speaks to the user and activates the schema for dialogue with the user based on the activation level of the schema for playing soccer. For example, the tivation level increases.
[0131]
As described above, in order to end or stop the operation halfway, it is necessary to satisfy a predetermined end or transition condition or to provide an external stimulus. However, in this method, it is possible to claim "I want to do", but it is not possible to claim "I want to stop", such as stopping the operation halfway.
[0132]
By the way, there are cases in which it is difficult to satisfy the termination or transition condition of the selected operation due to various factors such as a change in an external situation or a restriction on own behavior. Therefore, in such a case, in order to take a strategy of stopping the operation halfway even if the termination or transition condition is not satisfied and developing the next operation, in the present invention, a value called a frustration value is set. Introduce. With this frustration value, even during operation, the operation can be changed, such as stopping the developing operation, according to a change in the external situation or a change in the internal state.
[0133]
Frustration is positioned in psychology as "a state in which frustration-satisfying behavior is impeded for some reason, frustration", and when that state occurs, attacks, compensation, detours, and escapes It is said to show a reaction such as a reaction. In the present embodiment, the state of frustration in the robot apparatus and the behavior at that time (frustration reaction) are determined with reference to these.
[0134]
Next, the operation of the schema having a frustration value in the present embodiment will be described in detail. First, of the plurality of schemas of the robot device, the schema A having the highest activation level, for example, is selected and executed. When the operation described in the schema A is executed to the end, it is predicted that the desire α is satisfied. However, when it is difficult to change the direction to satisfy the desire α, the schema A is executed according to the elapsed time. Increase the frustration value F for doing
[0135]
FIG. 18A and FIG. 18B are diagrams illustrating the behavior control according to the present embodiment. As shown in FIG. 18A, the SBL includes a schema tree 310 having schemas A and B satisfying the need when the operation is executed = α, and schemas B and C satisfying the need = β when the operation is executed. And a schema tree 320 having In each of the schemas A, B, C, and D, the allowable time t1 until the end of the own action is set as, for example, t1 = 5 to 30 seconds, and the threshold value of the frustration value F is, for example, Fth = 100 to 200. It is assumed that the operation stop time t2 for stopping the action when each schema exceeds the Fth is set to, for example, t2 = 30 to 120 seconds. The threshold value of the frustration value F, the allowable time t1, and the stop time t2 are variably set for each schema.
[0136]
When the activation level of schema A is selected to increase in response to an external stimulus or internal state, schema A will exhibit behavior. Here, if the action cannot be achieved even after the allowable time t1 = 30 s has elapsed since the action was expressed, that is, if the desire α that should be satisfied by the schema A cannot be obtained, the frustration value F of the schema A Increase. The frustration value can be calculated by each schema itself or other control means using a function or the like that increases with the elapsed time, such as a sigmoid function. In the predetermined increasing function for calculating the frustration value, a different function can be individually set for each schema, and various parameters used for the function can be individually set for each schema.
[0137]
Here, for example, the frustration value F of the schema A is set to F = 0 before the selection and during the allowable period t1 (= 30 s) from the selection, and the elapsed time after the allowable period t1. Is set so as to increase according to. In addition, you may set so that it may increase according to the elapsed time after that based on the selected time.
[0138]
The schema A does not exhibit the operation described in the schema A for a predetermined operation stop time t2 (= 120 s) from the time when the frustration value F of the schema A exceeds the threshold Fth.
[0139]
That is, during the operation stop time t2, the operation of the schema A is stopped to be expressed and the selection of the schema A is prohibited regardless of the activation level of the schema A. Hereinafter, limiting the operation of schema A in this manner is also referred to as giving a penalty to schema A.
[0140]
In SBL, as in the schema trees 310 and 320, each schema typically satisfies, for example, “exercise”, “affection”, “appetite”, or “curiosity”. , Etc., the schema tree is different for each type of desire, and when the selection of the schema A is prohibited, during this time, the schema B having the highest activation level among the schemas satisfying the same desire α as the schema A Is selected.
[0141]
At this time, the activation level AL of each schema constituting the schema tree 310 having the desire α (only the schema B is shown in FIG. 18A) is selected so that the schema having the same desire α as the schema A is selected. , For example, only during the period t2 of the schema A, such as 50. By doing so, a schema having the same desire α as schema A can be easily selected. Thus, in FIG. 18B, the schema B having the same desire α as the schema A is selected.
[0142]
Further, when there is no schema having the same desire α as the schema A, or even if the activation level of the schema having the same desire α as the schema A is increased, the activation level of the schema having another desire β is higher. In a case where the price is high, a schema having a desire different from the schema A may be selected.
[0143]
In this way, the schema assumes that if the predetermined end or transition condition is not satisfied even after the predetermined time t1 has elapsed after the occurrence of the airframe operation, the schema cannot be changed in a direction that satisfies the desire. By increasing the ration value, it is possible to change the action that appears according to the frustration value.
[0144]
When the frustration value exceeds a predetermined threshold value, not only does the operation of the schema A be prohibited for a certain period of time to give a penalty, but also the frustration of the above-mentioned attack, compensation, detour, escape reaction, etc. It can be set to express the reaction that corresponds to the reaction. For example, in the case of an attack response, the target object is attacked. In the case of a compensation response, a schema other than the schema A is executed, and the schema B predicted to satisfy the same desire A as the schema A is executed.
[0145]
Also, as in a schema tree 310 shown in FIG. 18A, any one of the schemas belonging to the schema tree 310 is selected, and is selected only when the frustration value F of the schema exceeds a predetermined threshold. A schema E in which an operation expressing a frustration reaction is described may be provided, and this may be selected when the frustration value F of the schema having the desire α exceeds a predetermined threshold. The schema E may be provided, for example, one for each schema tree (each desire), and may be selected when the desire in the schema tree is not satisfied. It may be provided separately for each schema.
[0146]
Further, for each schema, the original body operation (first body operation) and the body operation (second body operation) showing a frustration reaction so as to appear only in such a case are described. Is also good. Alternatively, one or more schemas that perform the frustration reaction of the schema A are prepared below the schema A, and when the frustration value F exceeds the threshold value Fth, the schema for the frustration reaction is called. Good.
[0147]
Furthermore, by reflecting this frustration value in the internal state of the robot device, various operations can be developed according to the frustration value. For example, if the frustration value at the end of the operation, that is, at the time when the predetermined end or the transition condition is satisfied, is 0, the emotion value such as “satisfied” or “happy” is increased and reflected in the operation. You may make it do.
[0148]
(3-1) First Specific Example of Embodiment: When the ball is not kicked even though the ball kicking scheme is executed
It is assumed that the schema S1 for kicking the ball is selected, and the operation end or transition condition of the schema S1 is to kick the ball. However, if the ball becomes invisible due to a change in lighting conditions or the like during the execution of the schema S1, or if the distance from the ball cannot be measured, it becomes difficult to kick the ball. Thus, the frustration value F is increased if the ball is not kicked even if it exceeds the set permissible time t1, which is predicted that the ball will be kicked if given only. When the frustration value exceeds the threshold value Fth, the operation of the schema S1, that is, the operation of kicking the ball is stopped, the schema S1 is not selected for a certain time t2, and another schema other than the schema S1 is selected. In such a case, prepare a compensation schema that expresses the compensation action for such a case, activate it, or call a schema that expresses emotions such as “angry” or “sad”, and call this schema. Such emotions are reflected in movement. This looks like, for example, "I've been angry because I did my best but couldn't do it."
[0149]
(3-2) Second specific example of the embodiment: a case where no reply is made even though the chat schema is executed.
It is assumed that the chatting schema S2 is selected, and the end condition or the transition condition of the schema S2 is that "a person replies". This condition cannot be satisfied if the user does not reply even if the robot device speaks hard. Also in this case, an allowable time t1 during which the robot device can wait for a reply is determined, and when the allowable time t1 is exceeded, the frustration value F is increased, and the frustration value F exceeds the threshold value Fth. If a response cannot be received by that time, the schema S2 is not selected for a certain period of time t2, and the next action is selected from a schema other than the schema S2. As a result, even if, for example, another user speaks during this time t2, the starting of the schema S2 to be spoken has been suspended, and the robot apparatus ignores the schema S2. Looks "angry". In addition to reflecting frustration on emotions, by selecting another schema or activating a compensation schema, for example, "I did my best but did not reply and I feel sad and do other things" Looks like.
[0150]
In the present embodiment, such a frustration value is calculated, and further, a threshold value of a different frustration value, an allowable time t1, an operation stop time t2, and the like are set for each schema. When the frustration value rises, the operation of the schema A can be stopped for a predetermined time t2, and another schema B having the same desire α as the schema A can be selected. Is not satisfied, it is possible to prevent the robot apparatus from continuing to perform the same operation, to activate another schema B that satisfies the same desire, and to “stop” the action by itself, and to stop. , It is possible to have many variations.
[0151]
In addition, a plurality of frustration reactions to be performed when the value exceeds the threshold value Fth of the frustration value F is prepared, and as an operation expressed as this frustration reaction, as described above, the activation level is selected from among other schemas. Or based on the type of desire, it is possible to have more frustration reactions. In this way, it is possible to realize an emotional change due to the inability to perform the selected action, which helps the robot apparatus to look more intelligent.
[0152]
Furthermore, since it is possible to prevent the same operation from being repeatedly expressed under the same environment and conditions, it is possible to prevent the user from feeling uncomfortable with the robot apparatus, and to further improve the entertainment.
[0153]
【The invention's effect】
As described in detail above, the robot device according to the present invention is a robot device that expresses an operation selected from a plurality of operations having a predetermined termination condition or a transition condition for transition to the next operation, Selecting means for selecting an action to be expressed, frustration value calculating means for calculating a frustration value according to an elapsed time after being selected by the selecting means, and selecting the selected action according to the frustration value. With the control means for changing, it is possible to change the action according to the frustration value that changes according to the elapsed time after the start of the selected action, and to further enhance the entertainment property by giving a variation to the action. Can be.
[Brief description of the drawings]
FIG. 1 is a perspective view showing an appearance of a robot device according to an embodiment of the present invention.
FIG. 2 is a block diagram schematically showing a functional configuration of the robot device according to the embodiment of the present invention.
FIG. 3 is a block diagram showing the configuration of a control unit of the robot device in more detail in the embodiment of the present invention.
FIG. 4 is a schematic diagram showing a functional configuration of a behavior control system of the robot device according to the embodiment of the present invention.
FIG. 5 is a schematic diagram showing an object configuration of the behavior control system according to the embodiment of the present invention.
FIG. 6 is a schematic diagram showing a form of situation-dependent behavior control by a situation-dependent behavior hierarchy according to an embodiment of the present invention.
FIG. 7 is a schematic diagram illustrating a basic operation example of behavior control using a situation-dependent behavior hierarchy.
FIG. 8 is a schematic diagram showing an operation example when a reflex action is performed by a situation-dependent action hierarchy.
FIG. 9 is a schematic diagram showing an operation example when emotion expression is performed by a situation-dependent behavior hierarchy.
FIG. 10 is a schematic diagram showing a situation where a situation-dependent behavior hierarchy is composed of a plurality of schemas.
FIG. 11 is a schematic diagram showing a tree structure of a schema in a situation-dependent behavior hierarchy.
FIG. 12 is a schematic diagram showing a mechanism for controlling normal context-dependent behavior in a context-dependent behavior hierarchy.
FIG. 13 is a schematic diagram showing a configuration of a schema in a reflex action unit.
FIG. 14 is a schematic diagram showing a mechanism for controlling reflex behavior by a reflex behavior unit.
FIG. 15 is a schematic diagram showing a class definition of a schema used in a situation-dependent behavior hierarchy.
FIG. 16 is a schematic diagram showing a functional configuration of a class in a situation-dependent behavior hierarchy.
FIG. 17 is a diagram illustrating the reentrant property of a schema.
FIGS. 18A and 18B are diagrams illustrating behavior control according to the embodiment of the present invention.
[Explanation of symbols]
Reference Signs List 1 robot device, 10 behavior control system, 15 CCD camera, 16 microphone, 17 speaker, 18 touch sensor, 19 LED indicator, 20 control unit, 21 CPU, 22 RAM, 23 ROM, 24 nonvolatile memory, 25 interface, 26 wireless Communication interface, 27 network interface card, 28 bus, 29 keyboard, 40 input / output unit, 50 drive unit, 51 motor, 52 encoder, 53 driver, 81 visual recognition function unit, 82 auditory recognition function unit, 83 contact recognition function Unit, 91 internal state management unit, 92 short-term storage unit (STM), 93 long-term storage unit (LTM), 101 reflection behavior hierarchy, 102 context-dependent behavior hierarchy (SBL), 103 reflex behavior unit

Claims (23)

所定の終了条件又は次の動作に移行する移行条件を有する複数の動作から選択された動作を発現するロボット装置において、
上記複数の動作から発現する動作を選択する選択手段と、
上記選択手段により選択された後の経過時間に応じてフラストレーション値を算出するフラストレーション値算出手段と、
上記フラストレーション値に応じて上記選択された動作を変化させる制御手段とを有することを特徴とするロボット装置。
In a robot device that expresses an operation selected from a plurality of operations having a predetermined end condition or a transition condition to transition to a next operation,
Selecting means for selecting an operation to be expressed from the plurality of operations,
Frustration value calculation means for calculating a frustration value according to the elapsed time after being selected by the selection means,
Control means for changing the selected operation according to the frustration value.
上記フラストレーション値算出手段は、上記選択された動作が満たすとされる内部状態を満たさない場合、その経過時間に応じて上記フラストレーション値を算出することを特徴とする請求項1記載のロボット装置。2. The robot apparatus according to claim 1, wherein the frustration value calculating means calculates the frustration value according to an elapsed time when the selected operation does not satisfy an internal state assumed to be satisfied. . 上記制御手段は、上記選択された動作の上記フラストレーション値が所定の閾値を超えた場合、上記選択手段が当該動作を選択することを所定期間禁止することを特徴とする請求項2記載のロボット装置。3. The robot according to claim 2, wherein when the frustration value of the selected operation exceeds a predetermined threshold, the control unit prohibits the selection unit from selecting the operation for a predetermined period. apparatus. 上記制御手段は、上記選択された動作の上記フラストレーション値が所定の閾値を超えた場合、上記選択手段が当該動作とは異なる他の動作を選択するよう制御することを特徴とする請求項3記載のロボット装置。4. The control unit according to claim 3, wherein when the frustration value of the selected operation exceeds a predetermined threshold, the control unit controls the selection unit to select another operation different from the operation. The robot device as described. 上記フラストレーション値の閾値及び上記動作の選択が禁止される期間は、各動作毎に可変設定されるものであることを特徴とする請求項3記載のロボット装置。4. The robot apparatus according to claim 3, wherein the threshold value of the frustration value and the period during which the selection of the operation is prohibited are variably set for each operation. 上記選択された動作とは異なる他の動作は、上記選択された動作と同種の内部状態を満たすものであることを特徴とする請求項4記載のロボット装置。5. The robot apparatus according to claim 4, wherein the other operation different from the selected operation satisfies the same internal state as the selected operation. 外部刺激及び内部状態に基づき、各動作を発現する際の優先度を算出する優先度算出手段を有し、
上記選択手段は、上記優先度に基づき上記動作を選択することを特徴とする請求項1記載のロボット装置。
Based on the external stimulus and the internal state, has a priority calculation means to calculate the priority when expressing each operation,
2. The robot device according to claim 1, wherein the selection unit selects the operation based on the priority.
上記フラストレーション値に基づき内部状態を変化させることを特徴とする請求項1記載のロボット装置。The robot apparatus according to claim 1, wherein an internal state is changed based on the frustration value. 機体動作が記述され、外部刺激及び内部状態に基づき該機体動作を発現する優先度を示すアクティベーションレベルと、上記フラストレーション値とを算出する複数の行動記述モジュールを有することを特徴とする請求項1記載のロボット装置。The apparatus according to claim 1, further comprising: a plurality of action description modules that describe an aircraft operation and calculate an activation level indicating a priority of expressing the aircraft operation based on an external stimulus and an internal state, and the frustration value. The robot device according to 1. 上記内部状態は、複数の情動を示すパラメータを有し、
上記情動を示すパラメータは、上記動作が終了するか又は次の動作に移行された場合に変動することを特徴とする請求項9記載のロボット装置。
The internal state has parameters indicating a plurality of emotions,
The robot apparatus according to claim 9, wherein the parameter indicating the emotion changes when the operation ends or when the operation is shifted to the next operation.
上記行動記述モジュールは、自身のアクティベーションレベルに応じて選択されると発現する第1の機体動作と、自身のフラストレーション値が所定の閾値以上となった場合に、該第1の機体動作を停止して、代わりに発現する第2の機体動作とが記述されていることを特徴とする請求項10記載のロボット装置。The behavior description module performs a first body operation that appears when selected according to its own activation level, and the first body operation when its own frustration value is equal to or greater than a predetermined threshold. The robot apparatus according to claim 10, wherein a second body motion that stops and appears instead is described. 第1の機体動作及び該第1の機体動作が停止した場合に代わりに発現する第2の機体動作が記述された夫々第1の行動記述モジュール及び第2の行動記述モジュールを有し、
上記制御手段は、上記第1の行動記述モジュールのフラストレーション値が所定の閾値以上となった場合に、上記第1の機体動作を停止し、上記第2の行動記述モジュールを選択して上記第2の機体動作を発現させることを特徴とする請求項10記載のロボット装置。
A first behavior description module and a second behavior description module in which a first fuselage operation and a second fuselage movement that is expressed in place of the first body behavior stop are described, respectively.
When the frustration value of the first action description module is equal to or greater than a predetermined threshold, the control means stops the first body operation, selects the second action description module, and selects the second action description module. 11. The robot apparatus according to claim 10, wherein the robot apparatus exhibits the second body operation.
上記第2の行動記述モジュールは、上記アクティベーションレベルが上記第1の行動記述モジュールの次に高い値を有することを特徴とする請求項12記載のロボット装置。13. The robot apparatus according to claim 12, wherein the second behavior description module has the activation level having the next highest value after the first behavior description module. 所定の終了条件又は次の動作に移行する移行条件を有する複数の動作から選択された動作を発現するロボット装置の制御方法において、
上記複数の動作から発現する動作を選択する選択工程と、
上記選択工程にて選択された後の経過時間に応じてフラストレーション値を算出するフラストレーション値算出工程と、
上記フラストレーション値に応じて上記選択された動作を変化させる制御工程とを有することを特徴とするロボット装置の制御方法。
In a control method of a robot device that expresses an operation selected from a plurality of operations having a predetermined end condition or a transition condition for transition to a next operation,
A selecting step of selecting an operation that emerges from the plurality of operations,
A frustration value calculation step of calculating a frustration value according to the elapsed time after being selected in the selection step,
A control step of changing the selected operation in accordance with the frustration value.
上記フラストレーション値算出工程では、上記選択された動作が満たすとされる内部状態を満たさない場合、その経過時間に応じて上記フラストレーション値が算出されることを特徴とする請求項14記載のロボット装置の制御方法。15. The robot according to claim 14, wherein, in the frustration value calculating step, when the selected operation does not satisfy an internal state assumed to be satisfied, the frustration value is calculated according to an elapsed time. How to control the device. 上記制御工程では、上記選択された動作の上記フラストレーション値が所定の閾値を超えた場合、当該動作を選択することが所定期間禁止されることを特徴とする請求項15記載のロボット装置の制御方法。The control of the robot apparatus according to claim 15, wherein in the control step, when the frustration value of the selected operation exceeds a predetermined threshold, the selection of the operation is prohibited for a predetermined period. Method. 上記制御工程では、上記選択された動作の上記フラストレーション値が所定の閾値を超えた場合、当該動作とは異なる他の動作を選択するよう制御されることを特徴とする請求項16記載のロボット装置の制御方法。17. The robot according to claim 16, wherein in the control step, when the frustration value of the selected operation exceeds a predetermined threshold value, control is performed to select another operation different from the operation. How to control the device. 上記フラストレーション値の閾値及び上記動作の選択が禁止される期間は、各動作毎に可変設定されるものであることを特徴とする請求項16記載のロボット装置の制御方法。17. The method according to claim 16, wherein the threshold value of the frustration value and the period in which the selection of the operation is prohibited are variably set for each operation. 上記選択された動作とは異なる他の動作は、上記選択された動作と同種の内部状態を満たすものであることを特徴とする請求項17記載のロボット装置の制御方法。18. The method according to claim 17, wherein the other operation different from the selected operation satisfies the same internal state as the selected operation. 外部刺激及び内部状態に基づき、各動作を発現する際の優先度を算出する優先度算出工程を有し、
上記選択工程では、上記優先度に基づき上記動作が選択されることを特徴とする請求項14記載のロボット装置の制御方法。
Based on the external stimulus and the internal state, has a priority calculation step of calculating the priority when expressing each operation,
The method according to claim 14, wherein in the selecting step, the operation is selected based on the priority.
上記フラストレーション値に基づき内部状態を変化させることを特徴とする請求項14記載のロボット装置の制御方法。The method according to claim 14, wherein the internal state is changed based on the frustration value. 上記選択工程では、外部刺激及び内部状態に基づき、行動記述モジュールにより算出される上記機体動作を発現する優先度を示すアクティベーションレベルに応じて上記動作が選択され、
上記フラストレーション値算出工程では、上記行動記述モジュールにより上記フラストレーション値が算出される
ことを特徴とする請求項21記載のロボット装置の制御方法。
In the selection step, based on the external stimulus and the internal state, the operation is selected according to the activation level indicating the priority to express the body operation calculated by the action description module,
22. The control method according to claim 21, wherein in the frustration value calculating step, the frustration value is calculated by the behavior description module.
所定の終了条件又は次の動作に移行する移行条件を有する複数の動作から選択された動作を発現するような動作をコンピュータに実行させるためのプログラムにおいて、
上記複数の動作から発現する動作を選択する選択工程と、
上記選択工程にて選択された後の経過時間に応じてフラストレーション値を算出するフラストレーション値算出工程と、
上記フラストレーション値に応じて上記選択された動作を変化させる制御工程とを有することを特徴とするプログラム。
In a program for causing a computer to execute an operation that expresses an operation selected from a plurality of operations having a predetermined termination condition or a transition condition for transitioning to a next operation,
A selecting step of selecting an operation that emerges from the plurality of operations,
A frustration value calculation step of calculating a frustration value according to the elapsed time after being selected in the selection step,
A control step of changing the selected operation according to the frustration value.
JP2003079144A 2003-03-20 2003-03-20 Robot device, method of controlling the same, and program Withdrawn JP2004283957A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003079144A JP2004283957A (en) 2003-03-20 2003-03-20 Robot device, method of controlling the same, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003079144A JP2004283957A (en) 2003-03-20 2003-03-20 Robot device, method of controlling the same, and program

Publications (1)

Publication Number Publication Date
JP2004283957A true JP2004283957A (en) 2004-10-14

Family

ID=33293343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003079144A Withdrawn JP2004283957A (en) 2003-03-20 2003-03-20 Robot device, method of controlling the same, and program

Country Status (1)

Country Link
JP (1) JP2004283957A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101060155B1 (en) 2008-04-28 2011-08-29 한양대학교 산학협력단 Alternative Behavior Determination Method of Robot Using Weight-Based Behavior-Combined Semantic Technology
JP2014098962A (en) * 2012-11-13 2014-05-29 Sharp Corp Behavior control device, behavior control method, and control program
JP2020089929A (en) * 2018-12-04 2020-06-11 カシオ計算機株式会社 Robot, method for controlling robot, and program
CN111515970A (en) * 2020-04-27 2020-08-11 腾讯科技(深圳)有限公司 Interaction method, mimicry robot and related device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101060155B1 (en) 2008-04-28 2011-08-29 한양대학교 산학협력단 Alternative Behavior Determination Method of Robot Using Weight-Based Behavior-Combined Semantic Technology
JP2014098962A (en) * 2012-11-13 2014-05-29 Sharp Corp Behavior control device, behavior control method, and control program
JP2020089929A (en) * 2018-12-04 2020-06-11 カシオ計算機株式会社 Robot, method for controlling robot, and program
JP7247560B2 (en) 2018-12-04 2023-03-29 カシオ計算機株式会社 Robot, robot control method and program
CN111515970A (en) * 2020-04-27 2020-08-11 腾讯科技(深圳)有限公司 Interaction method, mimicry robot and related device

Similar Documents

Publication Publication Date Title
JP2004268235A (en) Robot device, its behavior control method and program
US7363108B2 (en) Robot and control method for controlling robot expressions
KR101137205B1 (en) Robot behavior control system, behavior control method, and robot device
JP4244812B2 (en) Action control system and action control method for robot apparatus
JP2005193331A (en) Robot device and its emotional expression method
US8321221B2 (en) Speech communication system and method, and robot apparatus
US8145492B2 (en) Robot behavior control system and method, and robot apparatus
EP1136194A1 (en) Robot, method of robot control, and program recording medium
JP2004283958A (en) Robot device, method of controlling its behavior and program thereof
JP3558222B2 (en) Robot behavior control system and behavior control method, and robot device
JP2006110707A (en) Robot device
JP2007125631A (en) Robot device and motion control method
JP2021153680A (en) Equipment control device, equipment, and equipment control method and program
JP2007125629A (en) Robot device and motion control method
JP2004283957A (en) Robot device, method of controlling the same, and program
JP4552465B2 (en) Information processing apparatus, action control method for robot apparatus, robot apparatus, and computer program
JP4147960B2 (en) Robot apparatus and operation control method of robot apparatus
JP2004283960A (en) Robot device, method of controlling behavior and program thereof
JP2005321954A (en) Robot device, information processing system, information processing method, and computer program
JP2004209599A (en) Robot device, action learning method for robot device and action preparation method for robot device
JP2001157980A (en) Robot device, and control method thereof
JP2005193330A (en) Robot device and its emotional expression method
JP2007125630A (en) Robot device and motion control method
JP2004291147A (en) Robot&#39;s behavior control system
JP4491951B2 (en) Action expression device and toy

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060606