


















本発明は、外部刺激や自己の内部状態に応じて自律的に行動可能なロボット装置及びその行動制御方法に関する。 The present invention relates to a robot apparatus that can act autonomously in response to an external stimulus or its internal state, and a behavior control method thereof.
電気的又は磁気的な作用を用いて人間(生物)の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータや搬送ロボット等の産業用ロボット(Industrial Robot)であった。 A mechanical device that performs an action similar to that of a human (living body) using an electrical or magnetic action is called a “robot”. Robots have begun to spread in Japan since the late 1960s, but many of them are industrial robots such as manipulators and transfer robots for the purpose of automating and unmanned production work in factories. Met.
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように4足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット、或いは、2足直立歩行を行う人間等の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット(Humanoid Robot)等のロボット装置は、既に実用化されつつある。 Recently, practical robots that support life as a human partner, that is, support human activities in various situations in daily life such as the living environment, have been developed. Unlike industrial robots, such practical robots have the ability to learn how to adapt themselves to humans with different personalities or to various environments in various aspects of the human living environment. For example, it was designed based on the body mechanism and motion of a “pet-type” robot that imitates the body mechanism and movement of a quadruped animal such as a dog or cat, or a human who walks upright on two legs. Robotic devices such as “humanoid” or “humanoid” robots are already in practical use.
これらのロボット装置は、産業用ロボットと比較して、エンターテインメント性を重視した様々な動作を行うことができるため、エンターテインメントロボットと称される場合もある。また、そのようなロボット装置には、外部刺激や自己の内部状態に応じて自律的に行動可能なものがある。 Since these robot devices can perform various operations with an emphasis on entertainment performance as compared with industrial robots, they may be referred to as entertainment robots. In addition, there are robots that can act autonomously according to external stimuli or their internal state.
また近年では、本能や感情といった情動をモデル化した情動モデルを有するロボット装置が提案されている。これらのロボット装置は、人間を含む環境とのインタラクションからその情動を変化させ、その情動を表出することができるため、よりエンターテインメント性の高いものとなっている。 In recent years, a robot apparatus having an emotion model that models emotions such as instinct and emotion has been proposed. Since these robot devices can change their emotions by interacting with the environment including human beings and express their emotions, they are more entertaining.
ところで、このような情動モデルを有するロボット装置の情動をユーザが認識するためには、ロボット装置がどのように情動を表出するかが重要となる。従来、ロボット装置がユーザに対して情動を表出する方法としては、以下のようなものが提案されている。 By the way, in order for the user to recognize the emotion of the robot apparatus having such an emotion model, it is important how the robot apparatus expresses the emotion. Conventionally, the following methods have been proposed as a method for the robot apparatus to express emotions to the user.
(1)情動表出専用の身体リソース(デバイス)を持つ。
(1−1)LED(Light Emission Diode)の色で情動表出を行う。
例えば「赤」により「怒り」の情動を表し、「青」により「悲しみ」の情動を表す。
(1−2)犬や猫などを模した「尻尾」により情動を表す。
例えば「尻尾を上げる」ことにより「怒り」の情動を表し、「尻尾を下げる」ことにより「悲しみ」の情動を表す。
(1−3)人の顔を模した「眉毛」により情動を表す。
例えば「眉尻を上げる」ことにより「怒り」の情動を表し、「眉尻を下げる」ことにより「悲しみ」の情動を表す。
(2)情動により音声にモジュレーションをかける。
例えば「音声の高さ、速さ、大きさを大きくする」ことにより「怒り」の情動を表し、「音声の高さ、速さ、大きさを小さくする」ことにより「悲しみ」の情動を表す。(1) Have physical resources (devices) dedicated to emotional expression.
(1-1) Emotion expression is performed with the color of LED (Light Emission Diode).
For example, “red” represents an emotion of “anger”, and “blue” represents an emotion of “sadness”.
(1-2) The emotion is expressed by a “tail” that imitates a dog or cat.
For example, the emotion of “anger” is expressed by “raising the tail”, and the emotion of “sadness” is expressed by “lowering the tail”.
(1-3) The emotion is expressed by “eyebrows” imitating a human face.
For example, “raising the eyebrows” represents an emotion of “anger”, and “lowering the eyebrows” represents an emotion of “sadness”.
(2) Modulate sound by emotion.
For example, “increase the height, speed, and size of the voice” expresses the emotion of “anger”, and “decrease the height, speed, and size of the speech” expresses the emotion of “sadness” .
これらの情動表出方法は、情動表出に用いる身体リソースがその他の身体リソース(生物を模したロボット装置の場合には手、足、頭、腰など)と切り離されているため、全体的に制御が容易であるという利点がある反面、情動表出に用いることができる身体リソースが限られてしまうため、情動表現力に欠けるという欠点がある。 Since these emotional expression methods separate the body resources used for emotional expression from other physical resources (such as hands, feet, heads, and hips in the case of robot devices that mimic living things), While there is an advantage that it is easy to control, there is a drawback in that it lacks emotional expression because it limits the body resources that can be used for emotional expression.
ここで、上述した情動表出方法に代えて、或いは上述した情動表出方法に加えて、身体リソースを使ったモーションによる情動表出が可能になれば、さらに豊かな情動表出が可能となり、ロボット装置のエンターテインメント性をより高めることができると考えられる。従来、身体リソースを使ったモーションにより情動を表出する方法としては、以下のようなものが提案されている。なお、(3−2)の方法は、下記特許文献1に記載されている。 Here, instead of the emotional expression method described above or in addition to the emotional expression method described above, if emotional expression using motion using physical resources becomes possible, a richer emotional expression becomes possible, It is considered that the entertainment characteristics of the robot apparatus can be further improved. Conventionally, the following methods have been proposed as methods for expressing emotions by motion using physical resources. The method (3-2) is described in
(3)情動表出に身体リソースを使ったモーションを使う。
(3−1)各情動に対応したモーションを作成する。
例えば「お辞儀をする」、「キックする」といったモーションに対し、情動を付加したバリエーションを作成する。
(3−2)モーションを実行する際に、情動に応じたモジュレーションをかける。
例えば「お辞儀をする」、「キックする」といったモーションを再生する際に、適当な身体リソースに適当な周波数を重ね合わせることで、情動を付加したモーションをリアルタイムに生成する。(3) Use motions that use physical resources to express emotions.
(3-1) Create a motion corresponding to each emotion.
For example, a variation in which emotions are added to motions such as “bow” and “kick” is created.
(3-2) When executing a motion, a modulation corresponding to the emotion is applied.
For example, when a motion such as “bowing” or “kicking” is reproduced, a motion with added emotion is generated in real time by superimposing an appropriate frequency on an appropriate body resource.
また、特許文献2には、現在の感情の状態に応じて行動のパラメータを変化させ、変化させたパラメータに基づいてロボット装置に行動を発現させるようにしたロボット装置及びその制御方法が記載されている。
ところで、これまで、人とロボット装置のインタラクションにおいては、そのやりとりの中身が重視されてきたが、言葉によらないノンバーバルコミュニケーションをインタラクション自体をスムーズに行うために用いる研究は少なかった。数少ない研究例として、対話の際にうなずきをいれる技術や、表情をとりいれるというものはあったが、それらは自分の状態を実際に動きまわることができるロボット装置と人との間の言葉によらないノンバーバルコミュニケーションを実現するものではなく、それを保つために積極的に自らのジェスチャなどを利用するというものではない。 By the way, in the interaction between humans and robotic devices, the content of the interaction has been emphasized so far, but there are few studies that use nonverbal communication that does not depend on words to make the interaction itself smooth. As a few research examples, there were technologies that nodded during conversations and those that could incorporate facial expressions, but they did not depend on words between robot devices and people who can actually move around their state It does not realize non-verbal communication and does not actively use its own gestures to maintain it.
本発明は、このような従来の実情に鑑みて提案されたものであり、言葉によらないノンバーバルコミュニケーションのインタラクション自体をスムーズに行うことを実現可能とするロボット装置及びその行動制御方法を提供することを目的とする。 The present invention has been proposed in view of such a conventional situation, and provides a robot apparatus and a behavior control method thereof capable of realizing smooth nonverbal communication interaction itself regardless of words. With the goal.
上述した目的を達成するために、本発明は、自己の内部状態及び外部刺激に応じて自律的に行動可能な自律ロボット装置において、人との関係性を記憶する関係性記憶手段を有し、上記関係性記憶手段からの関係性と、自己の内部状態及び外部刺激とに応じて、動作又は姿勢を含む出力形態の一部又は全部を変更する行動オーバーレイを行うことを特徴とする。 In order to achieve the above-described object, the present invention has a relationship storage means for storing a relationship with a person in an autonomous robot device capable of acting autonomously according to its own internal state and external stimulus, In accordance with the relationship from the relationship storage means and the internal state and external stimulus of the self, action overlay is performed to change a part or all of the output form including motion or posture.
上記特徴を有するロボット装置は、それぞれ所定の行動が記述された行動記述モジュールを自己の内部状態及び外部刺激に応じて選択して選択された行動記述モジュールに記述されたコマンドを出力する行動制御部と、上記行動制御部からのコマンドに応じた行動を発現させるハードウェア依存行動制御部と、上記行動制御部と上記ハードウェア依存行動制御部との間に配置され、上記行動制御部からのコマンドに対して上記行動オーバーレイを行って上記ハードウェア依存行動制御部に送るオーバーレイ制御部とを有することが好ましい。 The robot apparatus having the above-described features includes a behavior control unit that outputs a command described in the selected behavior description module by selecting a behavior description module in which a predetermined behavior is described according to its own internal state and external stimulus And a hardware-dependent behavior control unit that expresses behavior according to a command from the behavior control unit, and a command from the behavior control unit that is arranged between the behavior control unit and the hardware-dependent behavior control unit. It is preferable to have an overlay control unit that performs the behavior overlay on the hardware and sends it to the hardware-dependent behavior control unit.
上記行動制御部は、上記行動オーバーレイに応じた空行動記述モジュールを有し、上記オーバーレイ制御部は、上記行動制御部からの上記空行動記述モジュールからの空コマンドに基づき、上記関係性記憶手段からの関係性と、自己の内部状態及び外部刺激とに応じて上記行動オーバーレイを行って上記ハードウェア依存行動制御部に送ることが挙げられる。また、上記行動制御部は、上記行動オーバーレイに使用される行動記述モジュールを、システム起動時に上記オーバーレイ制御部に登録し、上記オーバーレイ制御部は、上記登録された行動記述モジュールを用いて上記行動オーバーレイを行うことが挙げられる。 The behavior control unit has a blank behavior description module corresponding to the behavior overlay, and the overlay control unit is based on the blank command from the blank behavior description module from the behavior control unit, from the relationship storage unit. The behavioral overlay is performed in accordance with the relationship between the internal state and the external stimulus, and sent to the hardware-dependent behavior control unit. The behavior control unit registers a behavior description module used for the behavior overlay in the overlay control unit at the time of system startup, and the overlay control unit uses the registered behavior description module to perform the behavior overlay. Can be mentioned.
本発明に係るロボット装置及びその行動制御方法によれば、言葉によらないノンバーバルコミュニケーションを行動オーバーレイにより実現することにより、行動オーバーレイは、行動スキーマ(行動記述モジュール)にとってあたかも存在していないかのようにふるまい、かつ、主要行動を邪魔しないで遂行でき、簡単な構造により、新しい行動を足したり学習したりすることが容易に行える。また、一貫性をもって、ノンバーバルコミュニケーションを重ねる(オーバーレイする)ことができ、人にとって理解や推測がしやすい形で表出することができる。 According to the robot apparatus and the behavior control method thereof according to the present invention, by realizing nonverbal communication that does not depend on words by the behavior overlay, the behavior overlay is as if it does not exist in the behavior schema (behavior description module). It can be performed without disturbing the main actions, and it is easy to add and learn new actions with a simple structure. In addition, nonverbal communication can be overlaid with consistency, and can be expressed in a form that is easy for humans to understand and guess.
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。 Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings.
本発明の実施の形態は、自律ロボットにおいて、言葉によらないノンバーバルコミュニケーションを円滑に行うために、人との関係性を記憶する部分と、自分の内部状態・感情を管理する部分を持ち、それらと環境からの情報によって、動作や姿勢を一括してオーバーレイする(一部または全部変更する)ような機構を有するものである。この実施の形態となるロボット装置のソフトウェア構成としては、自律行動ロボットが、行動生成部(後述する状況依存行動階層や反射行動部等)を持ち、コマンドを運動生成部(後述するハードウェア依存行動制御部)に送っており、内部状態エンジンとセンサ情報をプールする短期記憶を有するものであって、上記行動生成部と、運動生成部の間に、新たに行動オーバーレイ部をつくり、接続している。行動オーバーレイ部は、内部状態エンジンと短期記憶とも接続され、これらの情報と後述の内部に持つデータベースを用いて、行動をどのように変更するかを決定する。行動オーバーレイ部は、実際のオーバーレイの内容、例えば個人間距離や姿勢あるいはジェスチャ等を決めるために、個人データベースと現在状態管理部を持ち、これらの情報を使って、相手との個人間距離や姿勢あるいはジェスチャ等のオーバーレイの内容を決める。 The embodiment of the present invention has a part for storing relationships with people and a part for managing one's internal state / emotion in order to smoothly perform nonverbal communication that does not depend on words in an autonomous robot. And a mechanism for overlaying (changing a part or all of) a motion and a posture in accordance with information from the environment. As a software configuration of the robot apparatus according to this embodiment, the autonomous behavior robot has an action generation unit (a situation-dependent action hierarchy or a reflex action part described later), and commands are generated by a motion generation unit (a hardware-dependent action described later). Control unit) and has a short-term memory to pool the internal state engine and sensor information, and create and connect a new behavior overlay unit between the behavior generation unit and the motion generation unit Yes. The action overlay unit is also connected to the internal state engine and the short-term memory, and determines how to change the action by using such information and a database that will be described later. The action overlay section has a personal database and current state management section to determine the actual overlay content, such as distance between individuals, posture, and gestures. Using this information, the distance and posture between individuals Alternatively, the content of the overlay such as a gesture is determined.
このような本発明の実施の形態におけるノンバーバル(言葉によらない)コミュニケーションについての具体的な説明に先立って、本発明の実施の形態が適用されるロボット装置の構成について説明し、次にロボット装置の行動制御システムについて説明し、最後にロボット装置のノンバーバルコミュニケーションのための構成や行動制御に関する具体的な例について説明する。以下の本発明の実施の形態においては、主として人間を模した外観形状とされ外部刺激や自己の内部状態に応じて自律的に行動可能なロボット装置、いわゆる人型ロボットの例について説明するが、本発明は、人型ロボットのみに限定されるものではなく、ペット型ロボット等の種々のロボット装置に適用可能である。 Prior to specific description of such non-verbal (non-verbal) communication in the embodiment of the present invention, the configuration of the robot apparatus to which the embodiment of the present invention is applied will be described. Next, the robot apparatus The behavior control system will be described, and finally, a specific example of the configuration and behavior control for non-verbal communication of the robot apparatus will be described. In the following embodiments of the present invention, an example of a so-called humanoid robot will be described, which is a robot apparatus that is mainly an external shape imitating a human being and can act autonomously according to external stimuli and the internal state of the self, The present invention is not limited to a humanoid robot, but can be applied to various robot apparatuses such as a pet robot.
(1)ロボット装置の構成
先ず、本実施の形態におけるロボット装置の外観構成を図1に示す。図1に示すように、ロボット装置1は、体幹部ユニット2の所定の位置に頭部ユニット3が連結されると共に、左右2つの腕部ユニット4R/Lと、左右2つの脚部ユニット5R/Lとが連結されて構成されている。但し、R及びLの各々は、右及び左の各々を示す接尾辞である。(1) Configuration of Robot Device First, the external configuration of the robot device according to the present embodiment is shown in FIG. As shown in FIG. 1, the
このロボット装置1の機能構成を図2に模式的に示す。図2に示すように、ロボット装置1は、全体の動作の統括的制御及びその他のデータ処理を行う制御ユニット20と、入出力部40と、駆動部50と、電源部60とで構成される。 A functional configuration of the
入出力部40は、入力部として、人間の「目」に相当し外部の状況を撮影するCCD(Charge Coupled Device)カメラ41、人間の「耳」に相当するマイクロフォン42や、頭部や背中等の部位に配設され、所定の押圧を受けるとこれを電気的に検出することでユーザの接触を感知するタッチセンサ44、前方に位置する物体までの距離を測定するための距離センサ、五感に相当するその他の各種センサを装備している。また、入出力部40は、出力部として、頭部ユニット3に備えられ、人間の「口」に相当するスピーカ43、人間の目の位置に設けられ、視覚認識状態等を表現するLED(Light Emission Diode)45等を装備している。これらの出力部は、音声やLED45の点滅など、腕部ユニット4R/Lや脚部ユニット5R/L等を用いたモーション以外の形式によっても、ロボット装置1からのユーザ・フィードバックを実現することができる。 The input /
例えば、頭部ユニット3の頭頂部の所定箇所に複数のタッチセンサ44を設け、各タッチセンサ44における接触検出を複合的に活用することで、例えばロボット装置1の頭部を「撫でる」、「叩く」、「軽く叩く」等のユーザからの働きかけを検出することができる。具体的には、例えばタッチセンサ44のうちの幾つかが所定時間をおいて順次接触したことを検出した場合、これを「撫でられた」と判別し、短時間のうちに接触を検出した場合、これを「叩かれた」と判別するなど場合分けすることができる。ロボット装置1は、この検出結果に応じて内部状態を変化させ、この内部状態の変化を上述の出力部等により表現することができる。 For example, by providing a plurality of
駆動部50は、制御ユニット20が指令する所定の運動パターンに従ってロボット装置1の機体動作を実現する機能ブロックであり、行動制御による制御対象である。駆動部50は、ロボット装置1の各関節における自由度を実現するための機能モジュールであり、それぞれの関節におけるロール軸、ピッチ軸、ヨー軸等の各軸毎に設けられた複数の駆動ユニット541〜54nで構成される。各駆動ユニット541〜54nは、所定軸回りの回転動作を行うモータ511〜51nと、モータ511〜51nの回転位置を検出するエンコーダ521〜52nと、エンコーダ521〜52nの出力に基づいてモータ511〜51nの回転位置や回転速度を適応的に制御するドライバ531〜53nとの組み合わせで構成される。The
電源部60は、その字義通り、ロボット装置1内の各電気回路等に対して給電を行う機能モジュールである。本実施の形態におけるロボット装置1は、バッテリを用いた自律駆動式であり、電源部60は、充電バッテリ61と、充電バッテリ61の充放電状態を管理する充放電制御部62とで構成される。 The
充電バッテリ61は、例えば、複数本のリチウムイオン2次電池セルをカートリッジ式にパッケージ化した「バッテリ・パック」の形態で構成される。 The
また、充放電制御部62は、充電バッテリ61の端子電圧や充電/放電電流量、充電バッテリ61の周囲温度等を測定することで充電バッテリ61の残存容量を把握し、充電の開始時期や終了時期等を決定する。充放電制御部62が決定する充電の開始及び終了時期は制御ユニット20に通知され、ロボット装置1が充電オペレーションを開始及び終了するためのトリガとなる。 Further, the charge /
制御ユニット20は、人間の「頭脳」に相当し、例えばロボット装置1の頭部ユニット3或いは体幹部ユニット2に搭載されている。 The
この制御ユニット20の内部構成を図3に示す。図3に示すように、制御ユニット20は、メイン・コントローラとしてのCPU(Central Processing Unit)21が、メモリ及びその他の各回路コンポーネントや周辺機器とバス接続された構成となっている。バス28は、データ・バス、アドレス・バス、コントロール・バス等を含む共通信号伝送路である。バス28上の各装置にはそれぞれに固有のアドレス(メモリ・アドレス又はI/Oアドレス)が割り当てられている。CPU21は、アドレスを指定することによってバス28上の特定の装置と通信することができる。 The internal configuration of the
RAM(Random Access Memory)22は、DRAM(Dynamic RAM)等の揮発性メモリで構成された書き込み可能なメモリであり、CPU21が実行するプログラム・コードをロードしたり、実行プログラムによる作業データの一時的に保存したりするために使用される。 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
ROM(Read Only Memory)23は、プログラムやデータを恒久的に格納する読み出し専用メモリである。ROM23に格納されるプログラム・コードとしては、ロボット装置1の電源投入時に実行する自己診断テスト・プログラムや、ロボット装置1の動作を規定する動作制御プログラム等が挙げられる。なお、ロボット装置1の制御プログラムには、CCDカメラ41やマイクロフォン42等のセンサ入力を処理してシンボルとして認識する「センサ入力・認識処理プログラム」、短期記憶や長期記憶等の記憶動作(後述)を司りながらセンサ入力と所定の行動制御モデルとに基づいてロボット装置1の行動を制御する「行動制御プログラム」、行動制御モデルに従って各関節モータの駆動やスピーカ43の音声出力等を制御する「駆動制御プログラム」等が含まれる。 A ROM (Read Only Memory) 23 is a read only memory for permanently storing programs and data. Examples of the program code stored in the
不揮発性メモリ24は、例えばEEPROM(Electrically Erasable and Programmable ROM)のように電気的に消去再書き込みが可能なメモリ素子で構成され、逐次更新すべきデータを不揮発的に保持するために使用される。逐次更新すべきデータとしては、暗号鍵やその他のセキュリティ情報、出荷後にインストールすべき装置制御プログラム等が挙げられる。 The
インターフェース25は、制御ユニット20の外部の機器と相互接続し、データ交換を可能にするための装置である。インターフェース25は、例えば、CCDカメラ41、マイクロフォン42、又はスピーカ43等との間でデータ入出力を行う。また、インターフェース25は、駆動部50内の各ドライバ531〜53nとの間でデータやコマンドの入出力を行う。The
また、インターフェース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カードやメモリカードを受容するメモリカード・インターフェース(カード・スロット)等のような、コンピュータの周辺機器接続用の汎用インターフェースを備え、ローカル接続された外部機器との間でプログラムやデータの移動を行うようにしてもよい。 The
また、インターフェース25の他の例として、赤外線通信(IrDA)インターフェースを備え、外部機器と無線通信を行うようにしてもよい。 As another example of the
さらに、制御ユニット20は、無線通信インターフェース26やネットワーク・インターフェース・カード(NIC)27等を含み、Bluetooth(登録商標)のような近接無線データ通信や、IEEE 802.11bのような無線ネットワーク、或いはインターネット等の広域ネットワークを経由して、外部の様々なホスト・コンピュータとデータ通信を行うことができる。 Further, the
このようなロボット装置1とホスト・コンピュータとの間におけるデータ通信により、遠隔のコンピュータ資源を用いて、ロボット装置1の複雑な動作制御を演算したり、遠隔操作したりすることも可能とされる。 By such data communication between the
(2)ロボット装置の行動制御システム
次に、上述したロボット装置1の行動制御システム(EGOアーキテクチャともいう)について詳細に説明する。ここで、上述したロボット装置1は、自己及び周囲の状況や、ユーザからの指示及び働きかけに応じて自律的に行動し得るようになされている。すなわち、ロボット装置1は、外部刺激及び内部状態に応じて自律的に行動を発現することができる。詳細は後述するが、ロボット装置1は、自身の各要素行動が記述された行動記述モジュール(スキーマ)毎に実行優先度を表す行動価値(Activation Level;AL)を外部刺激及び内部状態に基づいて計算し、その行動価値の大きさに基づいて一又は複数のスキーマを選択して行動を発現する。(2) Robot Device Behavior Control System Next, the behavior control system (also referred to as EGO architecture) of the
ロボット装置1の行動制御システム10の機能構成を図4に模式的に示す。この行動制御システム10は、EGOアーキテクチャとも称され、オブジェクト指向プログラミングを採り入れて実装することができる。この場合、各ソフトウェアは、データとそのデータに対する処理手続きとを一体化させた「オブジェクト」というモジュール単位で扱われる。また、各オブジェクトは、メッセージ通信と共有メモリを使ったオブジェクト間通信方法によりデータの受け渡しとInvokeとを行うことができる。 The functional configuration of the
行動制御システム10は、外部環境70を認識するために、視覚認識機能部81、聴覚認識機能部82、及び接触認識機能部83等からなる機能モジュールである外部刺激認識部80を備えている。 In order to recognize the
視覚認識機能部81は、例えば図2のCCDカメラ41のような画像入力装置を介して入力された撮影画像を基に、顔認識や色認識等の画像認識処理や特徴抽出を行う。 The visual
また、聴覚認識機能部82は、図2のマイクロフォン42等の音声入力装置を介して入力される音声データを音声認識して、特徴抽出したり、単語セット(テキスト)認識を行ったりする。 In addition, the auditory
さらに、接触認識機能部83は、例えば図1の機体の頭部ユニット3等に内蔵された図2のタッチセンサ44によるセンサ信号を認識して、「撫でられた」とか「叩かれた」という外部刺激を認識する。 Further, the contact
内部状態管理部91は、本能や感情といった数種類の情動を数式モデル化して管理する感情・本能モデルを有しており、上述の視覚認識機能部81、聴覚認識機能部82、及び接触認識機能部83によって認識された外部刺激に応じてロボット装置1の本能や感情といった内部状態を管理する。この感情・本能モデルは、それぞれ認識結果と行動履歴とを入力に持ち、それぞれ感情値と本能値とを管理している。行動モデルは、これらの感情値や本能値を参照することができる。 The internal
情動管理部92は、内部状態に基づいてロボット装置1の情動を例えば、喜び(JOY)、悲しみ(SADNESS)、怒り(ANGER)、驚き(SURPRISE)、嫌悪(DISGUST)、恐れ(FEAR)、中立(NEUTRAL)等に分類し、管理する。 The
また、行動制御システム10は、外部刺激の認識結果や内部状態の変化に応じて行動制御を行うために、時間経過に従って失われる短期的な記憶を行う短期記憶部93と、情報を比較的長期間保持するための長期記憶部94とを備えている。短期記憶及び長期記憶という記憶メカニズムの分類は神経心理学に依拠する。 In addition, the
短期記憶部93は、上述の視覚認識機能部81、聴覚認識機能部82、及び接触認識機能部83によって外部環境から認識されたターゲットやイベントを短期間保持する機能モジュールである。例えば、図2に示すCCDカメラ41からの入力画像を約15秒程度の短い期間だけ記憶する。 The short-
長期記憶部94は、物の名前など学習により得られた情報を長期間保持するために使用される。長期記憶部94は、例えばあるスキーマにおいて外部刺激から内部状態の変化を連想記憶することができる。 The long-
また、ロボット装置1の行動制御は、反射行動部103によって実現される「反射行動」と、状況依存行動階層102によって実現される「状況依存行動」と、熟考行動階層101によって実現される「熟考行動」とに大別される。 Further, the behavior control of the
反射行動部103は、上述の視覚認識機能部81、聴覚認識機能部82、及び接触認識機能部83によって認識された外部刺激に応じて反射的な機体動作を実現する機能モジュールである。反射行動とは、基本的に、センサ入力された外部情報の認識結果を直接受けて、これを分類して、出力行動を直接決定する行動のことである。例えば、人間の顔を追いかけたり、頷いたりといった振る舞いは反射行動として実装することが好ましい。 The
状況依存行動階層102は、上述の短期記憶部93及び長期記憶部94の記憶内容や、内部状態管理部91によって管理されるロボット装置1の内部状態を基に、ロボット装置1が現在置かれている状況に即応した行動を制御する。 The situation-
この状況依存行動階層102は、要素行動毎にステートマシンを用意しており、それ以前の行動や状況に依存して、センサ入力された外部情報の認識結果を分類して、行動を機体上で発現する。また、状況依存行動階層102は、内部状態をある範囲に保つためのホメオスタシス行動も実現し、内部状態が指定した範囲内を越えた場合には、その内部状態を当該範囲内に戻すための行動が出現し易くなるようにその行動を活性化させる(実際には、内部状態と外部環境の両方を考慮した形で行動が選択される)。状況依存行動は、反射行動に比し、反応時間が遅い。 This situation-
熟考行動階層101は、上述の短期記憶部93及び長期記憶部94の記憶内容に基づいて、ロボット装置1の比較的長期に亘る行動計画等を行う。熟考行動とは、与えられた状況或いは人間からの命令により、推論やそれを実現するための計画を立てて行われる行動のことである。例えば、ロボット装置1の現在位置と目標位置とから経路を探索することは熟考行動に相当する。このような推論や計画は、ロボット装置1がインタラクションを保つための反応時間よりも処理時間や計算負荷を要する(すなわち処理時間がかかる)可能性があるため、上述の反射行動部103や状況依存行動階層102がリアルタイムで反応を返しながら、熟考行動階層101は推論や計画を行う。 The
熟考行動階層101、状況依存行動階層102、及び反射行動部103は、ロボット装置1のハードウェア構成に非依存の上位のアプリケーション・プログラムとして記述することができる。これに対し、ハードウェア依存行動制御部104は、これら上位アプリケーションからの命令に応じて、関節アクチュエータの駆動等の機体のハードウェア(外部環境)を直接操作する。このような構成により、ロボット装置1は、制御プログラムに基づいて自己及び周囲の状況を判断し、ユーザからの指示及び働きかけに応じて自律的に行動できる。 The
以下、行動制御システム(EGOアーキテクチャ)10についてさらに説明する。図5は、行動制御システム10のオブジェクト構成を示す模式図である。 Hereinafter, the behavior control system (EGO architecture) 10 will be further described. FIG. 5 is a schematic diagram illustrating an object configuration of the
図5に示すように、視覚認識機能部81は、Face Detector114、Multi Color Tracker113、Face Identify115という3つのオブジェクトで構成される。 As shown in FIG. 5, the visual
Face Detector114は、画像フレーム中から顔領域を検出するオブジェクトであり、検出結果をFace Identify115に出力する。Multi Color Tracker113は、色認識を行うオブジェクトであり、認識結果をFace Identify115及びShort Term Memory(STM)93に出力する。また、Face Identify115は、検出された顔画像を手持ちの人物辞書で検索する等して人物の識別を行い、顔画像領域の位置、大きさ情報と共に人物のID情報をShort Term Memory93に出力する。また、Face Identify115は、人物識別の確信度を情動を管理するEmotion Manager92に出力する。 The
聴覚認識機能部82は、Audio Recog111とSpeech Recog112という2つのオブジェクトで構成される。Audio Recog111は、マイクロフォン16等の音声入力装置からの音声データを受け取って、特徴抽出と音声区間検出を行うオブジェクトであり、音声区間の音声データの特徴量及び音源方向をSpeech Recog112やShort Term Memory93に出力する。Speech Recog112は、Audio Recog111から受け取った音声特徴量と音声辞書及び構文辞書を使って音声認識を行うオブジェクトであり、認識された単語のセットをShort Term Memory93に出力する。また、Speech Recog112は、音声認識の確信度をEmotion Manager92に出力する。 The auditory
触覚認識記憶部83は、タッチセンサ18からのセンサ入力を認識するTactile Sensor119というオブジェクトで構成され、認識結果はShort Term Memory93や内部状態を管理するオブジェクトであるInternal Status Manager(ISM)91に出力する。 The tactile sensation
Short Term Memory93は、短期記憶部を構成するオブジェクトであり、上述の認識系の各オブジェクトによって外部環境から認識されたターゲットやイベントを短期間保持(例えばCCDカメラ15からの入力画像を約15秒程度の短い期間だけ記憶する)する機能モジュールであり、Short Term Memory93のクライアント(STMクライアント)であるSituated Behaviors Layer(SBL)102に対して外部刺激の通知(Notify)を定期的に行う。 The
Long Term Memory(LTM)94は、長期記憶部を構成するオブジェクトであり、物の名前など学習により得られた情報を長期間保持するために使用される。Long Term Memory94は、例えばある行動記述モジュール(スキーマ)において外部刺激から内部状態の変化を連想記憶することができる。 The Long Term Memory (LTM) 94 is an object that constitutes a long-term storage unit, and is used to hold information obtained by learning such as the name of an object for a long period. The
Internal Status Manager91は、内部状態管理部を構成するオブジェクトであり、本能や感情といった数種類の情動を数式モデル化して管理しており、上述の認識系の各オブジェクトによって認識された外部刺激(ES:External Stimula)に応じてロボット装置1の本能や感情といった内部状態を管理する。 The
Emotion Manager92は、情動管理部を構成するオブジェクトであり、Internal Status Manager91によって管理されている内部状態や上述の認識系の各オブジェクトによって認識された外部刺激等に基づいて、ロボット装置1の情動を管理する。 The
Situated Behaviors Layer102は、状況依存行動階層を構成するオブジェクトである。Situated Behaviors Layer102は、STMクライアントとなるオブジェクトであり、Short Term Memory93からは定期的に外部刺激(ターゲットやイベント)に関する情報の通知を受け取ると、スキーマすなわち実行すべき行動記述モジュールを決定する(後述)。
ReflexiveSBL103は、反射行動部を構成するオブジェクトであり、上述した認識系の各オブジェクトによって認識された外部刺激に応じて反射的・直接的な機体動作を実行する。例えば、人間の顔を追いかけたり、頷く、障害物の検出により咄嗟に避けるといった振る舞いを行う。 The
Situated Behaviors Layer102は、外部刺激や内部状態の変化等の状況に応じた動作を選択する。これに対し、ReflexiveSBL103は、外部刺激に応じて反射的な動作を選択する。これら2つのオブジェクトによる行動選択は独立して行われるため、互いに選択された行動記述モジュール(スキーマ)を機体上で実行する場合に、ロボット装置1のハードウェア・リソースが競合して実現不可能なこともある。Resource Manager(RM)116というオブジェクトは、Situated Behaviors Layer102とReflexiveSBL103とによる行動選択時のハードウェアの競合を調停する。そして、調停結果に基づいて機体動作を実現する各オブジェクトに通知することにより機体が駆動する。
Sound Performer172、Motion Controller173、LED Controller174は、機体動作を実現するオブジェクトである。Sound Performer172は、音声出力を行うためのオブジェクトであり、Resource Manager116経由でSituated Behaviors Layer102から与えられたテキスト・コマンドに応じて音声合成を行い、ロボット装置1の機体上のスピーカ17から音声出力を行う。また、Motion Controller173は、機体上の各関節アクチュエータの動作を行うためのオブジェクトであり、Resource Manager116経由でSituated Behaviors Layer102から手や脚等を動かすコマンドを受けたことに応答して、該当する関節角を計算する。また、LED Controller174は、LED19の点滅動作を行うためのオブジェクトであり、Resource Manager116経由でSituated Behaviors Layer102からコマンドを受けたことに応答してLED19の点滅駆動を行う。 The
以上、行動制御システム10の機能構成及びオブジェクト構成について説明したが、以下では、先ず現在置かれている状況に即応した行動を行う状況依存行動について説明し、次にあるプランに基づいた行動を行う熟考行動と、熟考行動により繰り返し発現した一連の行動をルーチンワークとして獲得する方法とについて説明する。 In the above, the functional configuration and the object configuration of the
(2−1)状況依存行動
次に、上記行動価値ALを算出し、発現する行動を選択する状況依存行動について、さらに詳細に説明する。図6には、上記状況依存行動階層(通常状況依存行動階層:NSBL)102及び反射行動部(反射状況依存行動階層:RSBL)103を含む行動制御部100aによる行動制御の形態を模式的に示している。(2-1) Situation Dependent Action Next, the situation dependent action for calculating the action value AL and selecting the appearing action will be described in more detail. FIG. 6 schematically shows a form of behavior control by the
視覚認識機能部81、聴覚認識機能部82、及び接触認識機能部83からなる外部刺激認識部80における外部環境70の認識結果(センサ情報)182は、外部刺激183として行動制御部100a(内の反射行動部)に与えられる。また、外部刺激認識部80による外部環境70の認識結果に応じた内部状態の変化184も行動制御部100a(内の状況依存行動階層)に与えられる。そして、行動制御部100aでは、外部刺激183や内部状態の変化184に応じて状況を判断して、行動選択を実現することができる。行動制御部100aでは、外部刺激183や内部状態の変化184によって、要素行動131が記述された行動記述モジュール(スキーマ)の行動価値ALを算出して、行動価値ALの大きさに応じてスキーマを選択して行動(動作)を実行する。行動価値ALの算出には、例えばライブラリを利用することにより、全てのスキーマについて統一的な計算処理を行うことができる。ライブラリには、内部状態ベクトルから欲求値ベクトルを算出する関数、内部状態ベクトルから満足度ベクトルを算出する関数、及び外部刺激から予想内部状態変化ベクトルを予想するための行動評価データベース等が保存されている。 The recognition result (sensor information) 182 of the
(2−2)スキーマ
図7には、状況依存行動階層102及び反射行動部103が、複数のスキーマ(要素行動)131,132によって構成されている様子を模式的に示している。状況依存行動階層102及び反射行動部103は、上述した要素行動131として、行動記述モジュールを有し、各行動記述モジュール毎にステートマシンを用意しており、それ以前の行動(動作)や状況に依存して、センサ入力された外部情報の認識結果を分類し、動作を機体上で発現する。要素行動131となる行動記述モジュールは、外部刺激や内部状態に応じた状況判断を行うMonitor機能と、行動実行に伴う状態遷移(ステートマシン)を実現するAction機能とを備えたスキーマとして記述される。(2-2) Schema FIG. 7 schematically shows that the situation-
状況依存行動階層102は、複数のスキーマ131,132が階層的に連結されたツリー構造として構成され、外部刺激や内部状態の変化に応じてより最適なスキーマ131,132を統合的に判断して行動制御を行うようになっている。このツリー133は、例えば動物行動学的(Ethological)な状況依存行動を数式化した行動モデルや、感情表現を実行するためのサブツリー等、複数のサブツリー(又は枝)を含んでいる。 The situation-
図8には、状況依存行動階層102におけるスキーマのツリー構造を模式的に示している。この図8に示すように、状況依存行動階層102は、短期記憶部93からの外部刺激の通知を受けるルート・スキーマ2011を先頭に、抽象的な行動カテゴリから具体的な行動カテゴリに向かうように、各階層毎にスキーマが配設されている。例えば、ルート・スキーマ2011の直近下位の階層では、「サッカーをする(Soccer)」、「会話をする(Dialogue)」というスキーマ2022,2032が配設される。そして、スキーマ2022「サッカーをする(Soccer)」の下位には、「Soccer Search」、「Soccer Approach」、「Shot」という具体的なサッカーに関連する行動を記述した複数のスキーマ2023が配設されている。さらに、スキーマ2023「Shot」の下位には、「Left Kick」、「Right Kick」というより具体的なボールを蹴る行動に関連する行動を記述した複数のスキーマ2024が配設されている。同様に、スキーマ2032「会話をする(Dialogue)」の下位には、「Dialogue Search」、「Dialogue Approach」、「Chat」というより具体的な会話に関連する行動を記述した複数のスキーマ2033が配設されている。FIG. 8 schematically shows a schema tree structure in the situation-
これらの各スキーマは、上述した要素行動131に対応するものであり、外部刺激や内部状態に応じた状況判断を行うMonitor機能と、行動実行に伴う状態遷移(ステートマシン)を実現するAction機能とを備えている。 Each of these schemas corresponds to the
ここで、Monitor関数とは、外部刺激と内部状態とに応じて当該スキーマの行動価値ALを算出する関数であり、各スキーマは、このような行動価値算出手段としてのMonitor機能を有する。図8に示すようなツリー構造を構成する場合、上位(親)のスキーマは外部刺激及び内部状態を引数として下位(子供)のスキーマのMonitor関数をコールすることができ、子供のスキーマは行動価値ALを返り値とする。また、スキーマは自分の行動価値ALを算出するために、さらに子供のスキーマのMonitor関数をコールすることができる。そして、ルート・スキーマには各サブツリーからの行動価値ALが返されるので、外部刺激及び内部状態の変化に応じた最適なスキーマ、すなわち行動を統合的に判断することができる。ここで、ルート・スキーマを上述の行動選択部130とし、これにより、スキーマを選択するようにしてもよい。なお、例えば後述するリソース・マネージャRM116や、別に設けた行動選択部により、各スキーマの行動価値ALを観察し、各行動価値ALの値に基づき行動を選択してもよいことは勿論である。 Here, the Monitor function is a function for calculating the action value AL of the schema according to the external stimulus and the internal state, and each schema has a Monitor function as such action value calculation means. When the tree structure as shown in FIG. 8 is configured, the upper (parent) schema can call the Monitor function of the lower (child) schema with the external stimulus and the internal state as arguments, and the child schema is an action value. AL is the return value. In addition, the schema can further call the Monitor function of the child's schema in order to calculate its own action value AL. Since the action value AL from each sub-tree is returned to the root schema, the optimum schema corresponding to the external stimulus and the change in the internal state, that is, the action can be determined in an integrated manner. Here, the root schema may be the above-described action selection unit 130, and the schema may be selected thereby. Of course, the action value AL of each schema may be observed by the
行動選択部130では、上述したように、例えば行動価値ALが最も高いスキーマを選択したり、行動価値ALが所定の閾値を越えた2以上のスキーマを選択して並列的に行動実行するようにしてもよい。但し、並列実行するときは各スキーマ同士でハードウェア・リソースの競合がないことを前提とする。 As described above, the action selection unit 130 selects, for example, a schema having the highest action value AL, or selects two or more schemas having an action value AL exceeding a predetermined threshold value and executes actions in parallel. May be. However, when executing in parallel, it is assumed that there is no hardware resource conflict between schemas.
また、Action関数は、スキーマ自身が持つ行動を記述したステートマシンを備えている。図8に示すようなツリー構造を構成する場合、親スキーマは、Action関数をコールして、子供スキーマの実行を開始したり中断させたりすることができる。本具体例では、ActionのステートマシンはReadyにならないと初期化されない。言い換えれば、中断しても状態はリセットされず、スキーマが実行中の作業データを保存することから、中断再実行が可能である。 The Action function also includes a state machine that describes the behavior of the schema itself. When the tree structure shown in FIG. 8 is configured, the parent schema can call the Action function to start or interrupt the execution of the child schema. In this specific example, the action state machine is not initialized unless it becomes Ready. In other words, even if it is interrupted, the state is not reset, and the work data being executed by the schema is saved, so that the interrupt can be reexecuted.
(3)ノンバーバルコミュニケーションのための行動オーバーレイ
ところで、これまで、人とロボットのインタラクションにおいては、そのやりとりの中身が重視されてきたが、インタラクション自体をスムーズに行うためには、言葉によらないノンバーバルコミュニケーションも重要であると考えられる。このノンバーバル(言葉によらない)コミュニケーションは、相手との関係やその場の状況によってインタラクションを促進したり、逆にとめたりするために使われるもので、このコミュニケーションチャンネルが、スムーズなインタラクションを続けるためには不可欠なものとなっている。具体的には、自律的に行動可能なロボットにおいて、個人間距離というものに着目し、さらに、それを保つために積極的に自らのジェスチャなどを利用することが考えられるが、そのような行動を出すためには、例えば各部がモジュールに分かれた構造を有するものの場合、各モジュールごとに設計して実装していることが多く、モジュール間で一貫性を出すのが難しかった。本発明の実施の形態は、このようなノンバーバルコミュニケーションを容易に実現可能なロボット装置及びその制御方法を提供するものである。なお、この場合のロボット装置としては、人型(人間型あるいは人間形)ロボットに限定されず、ペット型ロボット等の種々のロボット装置にも適用されるものである。(3) Action overlay for non-verbal communication By the way, until now, the interaction between humans and robots has been emphasized, but in order to make the interaction itself smooth, non-verbal communication without words. Is also considered important. This non-verbal (non-verbal) communication is used to facilitate or reverse the interaction depending on the relationship with the other party and the situation at hand, so that this communication channel continues to interact smoothly. It has become indispensable. Specifically, in robots that can act autonomously, it is possible to focus on the distance between individuals, and to actively use their own gestures to maintain it. For example, in the case where each part has a structure divided into modules, it is often designed and implemented for each module, and it is difficult to achieve consistency between modules. The embodiment of the present invention provides a robot apparatus and a control method thereof that can easily realize such non-verbal communication. Note that the robot apparatus in this case is not limited to a human type (human type or human type) robot, but can be applied to various robot apparatuses such as a pet type robot.
(3−1)行動オーバーレイの概要
本発明の実施の形態においては、ロボット装置の行動について、動作や姿勢の一部又は全部を変更するような行動オーバーレイという手法を用いて、ノンバーバルコミュニケーションを実現している。(3-1) Outline of Action Overlay In the embodiment of the present invention, non-verbal communication is realized by using a technique called action overlay that changes part or all of the movement and posture of the action of the robot apparatus. ing.
ロボットの行動のオーバーレイのコンセプトは、ある出力形態(動き、姿勢、あるいはその組み合わせとして)の見え方を部分的に変更するモータレベルの変更として説明できる。このノンバーバルコミュニケーションの場合、ロボットの主要行動を変更しないように注意してモータシステムを変更しながら、情報を並列して提供することを意図している。ロボットの行動レパートリーを形成している行動スキーマ(行動記述モジュール)はお互いの存在や処理の仕方を知る必要がないので、行動オーバーレイは、行動スキーマにとってあたかも存在していないかのようにふるまい、かつ、主要行動を邪魔しないで遂行できるようにしなくてはならない。このような独立性を保つことは、新しい行動を足したり学習したりしやすくする。 The concept of robot behavior overlay can be described as a motor level change that partially changes the appearance of a certain output form (movement, posture, or a combination thereof). This non-verbal communication is intended to provide information in parallel while changing the motor system with care not to change the main behavior of the robot. Since the behavioral schema (behavior description module) that forms the robot's behavioral repertoire does not need to know each other's existence and processing method, the behavioral overlay behaves as if it does not exist in the behavioral schema, and , You must be able to carry out the main actions without disturbing them. Maintaining such independence makes it easier to add and learn new behaviors.
簡単な例として、シンプルな2自由度の出力をもつシステムを考える。例えば、水平方向と垂直方向の2つの自由度もつような、犬型ロボットの尻尾を考える。犬は尻尾をノンバーバルコミュニケーションのために使い、特に尻尾の振り方についてバリエーションを利用している。 As a simple example, consider a system with a simple 2-DOF output. For example, consider the tail of a dog-shaped robot that has two degrees of freedom in the horizontal and vertical directions. Dogs use their tails for nonverbal communication, especially using variations on how to swing their tails.
ここで、本実施の形態の犬型ロボットのモータプリミティブデザインから、尻尾を使ったコミュニケーションの例として、次の4つを挙げる。
a.友好的に尻尾を振る:尻尾の振り幅は大きく、尻尾の高さは低く、振るスピードは基本的にはゆっくりだが感情の強さに依存する。
b.尻尾を防御するように振る:振り幅は小さく、尻尾の高さは高く、振るスピードは基本的には速いが、感情の強さに依存する。
c.従順な姿勢:もしロボット側が優勢ではなく従順の場合、尻尾の高さはとても弱く足の間に垂れ下がり、尻尾を振ったりしない。
d.威張った歩き:もしロボット側が支配権をにぎり従順性が低い場合、歩くのと同時に起こる。尻尾の振りは小さいが、尻尾の位置は高く、振りの速さは速い。Here, from the motor primitive design of the dog-shaped robot of the present embodiment, the following four are given as examples of communication using the tail.
a. Shake the tail friendly: The tail swing is large, the tail height is low, and the swing speed is basically slow but depends on the strength of the emotion.
b. Shake to protect the tail: The swing width is small, the tail height is high, and the shaking speed is basically fast, but it depends on the strength of the emotion.
c. Obedient posture: If the robot side is not dominant and obedient, the tail height is very weak and hangs between the legs and does not shake the tail.
d. Intimidating walking: If the robot is in control and less compliant, it happens at the same time as walking. The tail swing is small, but the tail position is high and the swing speed is fast.
このようなコミュニケーションのモードを実装する1つの方法は、これらの行動についての行動スキーマ(行動記述モジュール)をそれぞれ設計することであり、直接関係する情動や内部状態モデルに対応づけて複雑度を増すように設計してそれぞれの行動スキーマに入れることである。もう1つの方法としては、上述したような行動オーバーレイが挙げられ、この行動オーバーレイは、表出される行動を作りだすために外部で変更をかけるため、根底にある行動を簡単にすることができる。 One way to implement such a communication mode is to design a behavioral schema (behavior description module) for each of these behaviors, increasing the complexity associated with the directly related emotions and internal state models. Is to design and put it into each behavioral schema. Another method is a behavioral overlay as described above, which can be modified externally to create the exposed behavior, thus simplifying the underlying behavior.
ここで、犬型ロボットの場合の、尻尾のモータの状態を表す式MT(t)について説明する。b0を情動にはよらない基本的な歩く行動とする。自然に左右にふっているときに、犬が尻尾をφ0の高さ、歩くときのデフォルトの値から±θ0の振幅にω0の周期であるとする。尻尾のモータの状態MTは、このような条件によって、次の式(数1)のように決まる。Here, an expression MT (t) representing the state of the tail motor in the case of a dog-type robot will be described. b0 is a basic walking action that does not depend on emotion. Assume that the dog has a tail of φ0 at the height of φ0 and a period of ω0 with an amplitude of ± θ0 from the default value when walking, when swung naturally from side to side. State MT tail of the motor, such a condition is determined as in the following equation (1).
次に、尻尾の行動オーバーレイのベクトルo0を考える。以下の数2式に示すオーバーレイされた尻尾のモータ状態MT+を作り出すための複数次元のオーバーレイ関数ΩTに従って計算される。Next, consider the vector o0 of the tail action overlay. Calculated according to a multi-dimensional overlay function ΩT to produce the overlaid tail motor state MT+ shown in
行動オーバーレイのベクトルo0を正しく作るために、オーバーレイシステムは、もともとの基本的な歩く行動を書き換えることなく、威張った歩きや、特別に予め用意していない他のコミュニケーション情報を含んだ歩き方も生成できる。さらに、基本的な行動のパラメータを内部状態に従って連続的に変更することができる。In order to correctly create the action overlay vector o0 , the overlay system does not rewrite the original basic walking action, but also makes a brilliant walk or a walk that includes other communication information that is not prepared in advance. Can be generated. Furthermore, the basic behavior parameters can be continuously changed according to the internal state.
しかし、犬型ロボットの例では、今のところ、オーバーレイシステムは、すでにある行動(この場合は歩き)に対して尻尾を使った犬とのコミュニケーションを実現しているに過ぎない。モータ入力に対してオーバーレイシステムを使い続けるための特別なタイプの行動を足す必要がある。このタイプの行動は2つの特長で区別できる。普通の行動とは異なる起動のされ方をし、違うものとして扱われる。このような行動の行動記述モジュールを「空スキーマ(idle schema)」と称する。 However, in the example of a dog-type robot, the overlay system currently only allows communication with the dog using the tail for an existing action (in this case, walking). It is necessary to add a special type of action to continue using the overlay system for motor input. This type of behavior can be distinguished by two features. It is activated differently from normal behavior and is treated differently. Such a behavior description module of behavior is referred to as an “idle schema”.
この場合、空スキーマによる次の数3式に示す行動b1が、オーバーレイシステムに尻尾を振る入力を供給する。すなわち、尻尾というリソースを使うことを供給する。In this case, the action b1 shown in the following equation (3) based on the empty schema supplies a tail input to the overlay system. That is, it provides the use of a resource called the tail.
この行動は普通の環境に基づく行動と、行動選択で競合し、アクティブになるとΩTによってオーバーレイされる。ある非常に基本的な行動を追加したオーバーレイシステムは、先ほどあげた4つの尻尾によるコミュニケーション情報の呈示を行うことができるようになる。それには、角度や組み合わせに関してバリエーションをもち、内部状態に基づいてオーバーレイコンポーネントが正しく選択される。アクティブな行動をBi、オーバーレイをojとすると、オーバーレイされた尻尾のモータ状態MT+の行動は、次の数4式のように表される。And this action is based on the normal environmental action, competing in the action selection, it is overlaid by and becomes active ΩT. An overlay system to which a very basic action is added can present communication information by the four tails mentioned above. For this, there are variations in angle and combination, and the overlay component is correctly selected based on the internal state. If the active behavior is Bi and the overlay is oj , the behavior of the overlaid tail motor state MT+ is expressed by the following equation (4).
しかし、特別な「空スキーマ」行動によって、ロボットの表出行動に、さらにバリエーションを増す機会が与えられる。これらの行動はオーバーレイシステムがうまく利用できるように作られている。例えば、象徴的なジェスチャを起こすトリガを送ることができるようになっていたりする。もしロボットの普通の行動が刺激ベクトル[S]によって起こるとすると、空スキーマ行動はそれを拡張したベクトル[S,ψ]で活性化する。ψはオーバーレイシステムからくる刺激である。例えば、オーバーレイシステムからの刺激によって活性化した犬型ロボットの尻尾の空スキーマ行動は、事前に定義された形Pを再生する行動を中断する可能性がある。 However, the special “empty schema” behavior provides an opportunity for additional variations in the robot's expression behavior. These actions are designed to make good use of the overlay system. For example, you can send a trigger that causes a symbolic gesture. If the normal behavior of the robot is caused by the stimulus vector [S], the empty schema behavior is activated by the extended vector [S, ψ]. ψ is a stimulus coming from the overlay system. For example, an empty schema action at the tail of a dog-shaped robot activated by a stimulus from an overlay system may interrupt the action of playing a predefined shape P.
一般的に、アクティブな環境に依存する行動群をB、空スキーマ行動をI、オーバーレイベクトルをO、オーバーレイされた後のモータ状態をM+とすると、M+は、次の数6式のようになる。In general, if B is an action group depending on an active environment, I is an empty schema action, O is an overlay vector, and M+ is a motor state after overlay, M+ is expressed by the following equation (6). become.
このような行動オーバーレイのモデルを図9に示す。この図9において、アクティブな環境に依存する行動b1,...,bnを含む行動群Bの行動は刺激ベクトルSによって起こり、空スキーマ行動i1,...,imを含む行動群Iの行動は刺激ベクトルSとオーバーレイ関数Ωのシステムからの刺激ψとによって起こる。オーバーレイ関数Ωのシステムには、オーバーレイベクトルOが与えられ、オーバーレイされた出力(モータ状態)M+が得られる。Such a behavior overlay model is shown in FIG. In FIG. 9, action b1 which depends on the activeenvironment, ..., behavioral actions group B comprising bn is caused by stimulus vector S, empty schema behaviors i1, ..., behaviors including im Group I behavior is caused by the stimulus vector S and the stimulus ψ from the system of overlay functions Ω. The system of overlay function Ω is given an overlay vector O to obtain an overlaid output (motor state) M+ .
理想的なモジュール化された状態で、環境によって起こる行動は、行動オーバーレイシステムと通信することもなく、その存在を知る必要もない。ただし、実用的な問題として、環境依存行動からオーバーレイシステムへのあるレベルの影響は必要とされている。その理由は、事前にどの行動には影響を与えてよくて、どれには与えてはいけないかを決定しておくことはできないからである。このレベルの影響は、この例のモデルで考慮されており、BとIのΩに対する入力に対してモータコマンド自体に必要なやりとりが組み込まれている。 In an ideally modular state, the action caused by the environment does not communicate with the action overlay system and does not need to know its presence. However, as a practical issue, some level of impact from the environment-dependent behavior on the overlay system is needed. The reason is that it is not possible to decide in advance which actions may be affected and which should not be given. The effect of this level is taken into account in the model of this example, which incorporates the necessary interaction in the motor command itself with respect to the inputs for B and I Ω.
今回実装したオーバーレイシステムは、行動モジュールがモジュレーションを受けないようにするための機能や、潜在的なオーバーレイの範囲を設定することでオーバーレイシステムを助けるような機能が入っている。例えば、インタラクションを行う際の典型的な距離の情報等である。しかしながら、一般的に、オーバーレイシステムに関する情報やオーバーレイシステムとの通信を行わなくても行動を起こすことができる。 The overlay system implemented this time includes a function that prevents the behavior module from being modulated, and a function that helps the overlay system by setting the range of potential overlays. For example, typical distance information when performing an interaction. However, in general, it is possible to take action without performing information on the overlay system or communication with the overlay system.
(3−2)関係性(Relationship)と態度(Attitude)
ロボット装置、例えば人型ロボットが知っているそれぞれの人は、それぞれの関係性モデルのデータで表されている。この変数群は一般的に実際に、ノンバーバルコミュニケーション(NVC)において使いやすいものが選ばれている。(3-2) Relationship and Attitude
Each person known to a robot apparatus, for example, a humanoid robot, is represented by data of each relationship model. In general, those variables that are easy to use in non-verbal communication (NVC) are generally selected.
このような人とロボット装置との間の関係性(Relationship)モデルの一例を図10に示す。この図10の関係性モデルは、ロボット装置が知っている各個人毎の個人データベースとしてロボット装置内部に保持されている。 An example of such a relationship model between the person and the robot apparatus is shown in FIG. The relationship model shown in FIG. 10 is held inside the robot apparatus as a personal database for each individual known by the robot apparatus.
この図10において、離散的な値を持つ「タイプ(TYPE)」の項目は、人型ロボットと相手の関係性の基本となる性質を表している。それが全体的なコンテキストを表し、他の変数群が局所的に変化する。このモデルデータは、個人間距離を決めるのに主に使われる。この「タイプ」の項目において、「親密(INTIMATE)」な関係は、本当に極めて親しいか家族のようなつながりをもつ相手である。「個人的(PERSONAL)」な関係は、ほとんどの友人である。「社会的(SOCIAL)」な関係は、知っていて社会的につながりがある相手(職場の同僚など)を表している。「公共的(PUBLIC)」な関係は、人型ロボットが知ってはいるが特に社会的なつながりをもたない相手である。この関係性タイプは頻繁には変わらないが、時間をかけて学んだり変化したりする。例えば、公共的な関係が、何度か会合をもつことにより、社会的な関係に発展したりする。 In FIG. 10, an item of “TYPE” having discrete values represents a basic property of the relationship between the humanoid robot and the opponent. That represents the overall context, and other variables vary locally. This model data is mainly used to determine the distance between individuals. In this "type" item, the "INTIMATE" relationship is a partner who is really very close or has a family connection. “Personal” relationships are most friends. A “SOCIAL” relationship represents someone who knows and has social connections (such as a colleague at work). A “public” relationship is a partner that a humanoid robot knows but has no particular social connection. This relationship type doesn't change often, but it learns and changes over time. For example, a public relationship develops into a social relationship by having several meetings.
他の(上記タイプ以外の)関係性の変数は、連続的な値をとっている。それぞれの性質に結び付けられていて、正規化されており、必要なときには負の値をとることもできる。「親密さ(Closeness)」は、情動的な距離の近さを表しており、親しさの度合いや信頼の一種である。「魅力(Attraction)」は、人型ロボットが相手に対してどれぐらい親しくなりたいかの欲求を表している。「愛情(Attachment)」は、直接距離の近さを決める変数で、人型ロボットがその人にどれぐらい愛情をもっているかを表す。「地位(Status)」は、人型ロボットと相手の相対的な上下関係を表している。この値で、礼儀正しい階層的な関係なのか、打ち解けた友人関係なのかも示している。「確信度(confidence)」は、上に挙げたデータがどれぐらい実際の関係に沿っているのかを表す値である。この値によって、人型ロボットが相手をよく知れば知るほど、反応を出す量を変化させていくことができる。 Other relational variables (other than the above) take continuous values. It is associated with each property, is normalized, and can take negative values when needed. “Closeness” represents the closeness of emotional distance, and is a kind of degree of familiarity and trust. “Attraction” expresses the desire for how close a humanoid robot is to a partner. “Attachment” is a variable that directly determines the closeness of the distance, and represents how much the humanoid robot has love for the person. “Status” represents the relative vertical relationship between the humanoid robot and the opponent. This value also indicates whether it is a polite hierarchical relationship or a friendly friendship. “Confidence” is a value that represents how much the data listed above is in line with the actual relationship. With this value, the more the humanoid robot knows the opponent, the more it can react.
次に、ロボット装置の個人的な特性や個性に関連した内容を表す「態度(Attitude)」の例について、図11を参照しながら説明する。 Next, an example of “Attitude” representing contents related to the personal characteristics and individuality of the robot apparatus will be described with reference to FIG.
人型ロボットの個人的なノンバーバル行動を出すために、人型ロボットの内部状態を解釈したりフィルタリングをするシステムが必要である。今のところ、この実施の形態のシステムでは、個人間距離とボディランゲージオーバーレイに関係するものを特にとりあげており、個性全てをカバーするものではない。この個人的な特性を表す構造体のことを「態度(Attitude)」と呼び、一例を図11に示す。この図11に示す「態度」構造体は、人との関係性等に基づく現在状態を管理する現在状態管理部でもある。 In order to perform personal non-verbal behavior of a humanoid robot, a system that interprets and filters the internal state of the humanoid robot is required. For the time being, the system of this embodiment has been particularly concerned with interpersonal distance and body language overlay, and does not cover all individualities. A structure representing this personal characteristic is called “attitude”, and an example is shown in FIG. The “attitude” structure shown in FIG. 11 is also a current state management unit that manages a current state based on a relationship with a person or the like.
それぞれの人型ロボットは各々、1つの「態度」構造体を持つ。長期〜中期的な効果を持ち、最初からデータがセットされて変わらないのではなく、長期的なインタラクションによって少しずつ変化するようにしている。態度や関係性が時間的に変わっていくことによって、行動が少しずつ変わっていったりするので、人型ロボットのエンタテイメント性が「行動する」という点で高くなる。 Each humanoid robot has one “attitude” structure. It has a long- to medium-term effect, and is not changed when data is set from the beginning, but changes little by little over long-term interactions. As the attitude and relationship change with time, the behavior changes little by little, so the entertainment characteristics of the humanoid robot become higher in terms of “acting”.
図11に示す「態度」構造体の一例においては、3種類の対になる値を持っている。それぞれの値は正規化されている。この対になる値は、片方の値からもう一方の値を直接計算することができる。計算上は3つの変数があれば十分であることになるが、プログラマや行動デザイナーにとってこの6つの値があることが直感的に分かりやすいことから、6つの値を持っている。 The example of the “attitude” structure shown in FIG. 11 has three types of values. Each value is normalized. This pair of values can be calculated directly from one value to the other. Three variables are sufficient for calculation, but it has six values because it is intuitively easy for programmers and behavior designers to understand that these six values are present.
「社交的(Extroversion)」と「内向的(Introversion)」については、人の性格を表すモデルの一つであるファイブファクターモデル(McCrae, R.R. and Costa, P.T. Toward a newgeneration of personality theories: Theoreticalcontexts for the five-factor model. In Wiggins, J.S., editor, Five-Factor Model of Personality, pages 51-87. Guilford, New York, 1996)の外向性次元を使っている。犬型ロボットの実験でも用いられ成功しているモデルである。人型ロボットの場合、これらの値は、ボディランゲージでどれぐらい表現したいかに作用し、内部状態の欲求から計算される。「社交的」が高い値をとると、よりボディランゲージを使うようになる。もし「内向的」が高くなるとあまり身体を使った表現は出さなくなる。「社交的」な場合、ISM(内部状態管理部)のINTERACTIONの値を上げ、とINFORMATIONの値を下げる。「内向的」な場合は、ISMのINTERACTIONの値を上げ、とINFORMATIONの値を下げる。 As for “Extroversion” and “Introversion”, a five-factor model (McCrae, RR and Costa, PT Toward a new generation of personality theories: Theoreticalcontexts for the Five-factor model. In Wiggins, JS, editor, Five-Factor Model of Personality, pages 51-87. Guilford, New York, 1996). This model has been used successfully in dog-type robot experiments. In the case of a humanoid robot, these values depend on how much you want to express in the body language and are calculated from the desire for the internal state. When “social” is high, the body language is used more. If “introvert” becomes high, expressions using the body will not be given much. In the case of “social”, increase the INTERACTION value of the ISM (Internal State Management Department) and decrease the INFORMATION value. If it is introverted, increase the ISM INTERACTION value and decrease the INFORMATION value.
「攻撃的(Aggressiveness)」か「臆病(Timidity)」かは上記ファイブファクターモデルの快さと気付きをあわせたようなものと一緒というところからヒントを得て、ノンバーバルコミュニケーションに合う形で適用した。「攻撃的」は情動モデルのANGERの値を増やし、FEARの値を減らす。一方で、「臆病」はANGERを減らしFEARを増やす。「臆病」の値が高いと従属的な姿勢をとりやすくなり、攻撃性が高いと威圧的な姿勢をとりやすくなる。これらの値は、関係性の中の「地位」に影響される。 “Aggressiveness” or “Timidity” was inspired by the combination of the above-mentioned five factor model with the pleasure and awareness, and was applied in a form suitable for nonverbal communication. “Aggressive” increases the value of the emotion model ANGER and decreases the value of FEAR. On the other hand, “gonorrhea” reduces ANGER and increases FEAR. If the value of “timidity” is high, it becomes easy to take a subordinate posture, and if it is highly aggressive, it becomes easy to take an intimidating posture. These values are influenced by the “position” in the relationship.
最後の「愛着(Attachment)」と「独立性(Independence)」は、上記ファイブファクターモデルではなくボウルビィの理論(Bowlby, J. Attachment & Loss Volume 1: Attachment. Basic Books, 1969)に基づいている。この値によって相手との(物理的な)距離が変化し、関係性の「愛情」の値から計算される。人はみな、ロボットに対する愛情を示すことができるが、ロボットはそれとは違う方法でそういう関係に答えることを期待されている。「愛情」という関係性はロボットが離れたいと思っている人との間の距離を縮めようとする。ロボット自身の「独立性」や「愛着」によってこの(近付いたり離れたりの)レンジの最大値を変化させたり、愛情を抱く対象から離れる行動を変化させたりする。 The last "Attachment" and "Independence" are based on Bowlby's theory (Bowlby, J. Attachment & Loss Volume 1: Attachment. Basic Books, 1969) rather than the above five factor model. This value changes the (physical) distance to the other party, and is calculated from the relationship's “love” value. Everyone can show love for robots, but robots are expected to respond to such relationships in a different way. The relationship “loving” tends to reduce the distance between the person the robot wants to leave. Depending on the robot's own "independence" and "attachment", the maximum value of this range (approaching and moving away) is changed, and the behavior of moving away from the loving object is changed.
(3−3)行動オーバーレイシステムのアーキテクチャと実装
ノンバーバル(言葉によらない)コミュニケーションのための行動オーバーレイは、全ての行動モジュールに適用されなくてはならないと共に、行動モジュール同士は最小限のデータしか共有しないようにする(独立性を保つため)ため、行動制御部(上記図4の状況依存行動階層102及び反射行動部103)そのものに実装するのは好ましくない。そこで、行動オーバーレイオブジェクト、この場合の例ではノンバーバルコミュニケーション(NVC)オブジェクトを、独立したオブジェクトとして、上記図4に示す行動制御システム(EGOアーキテクチャ)10に加えた。この行動オーバーレイオブジェクト(NVCオブジェクト)に対応するオーバーレイ制御部を含めた行動制御システムの構成例を図12に示す。なお、本発明の実施の形態のオーバーレイ制御部を含めた行動制御システムについても、上記図4に示した行動制御システム10と同様に、オブジェクト指向プログラミングを採り入れて実装しており、各ソフトウェアは、データとそのデータに対する処理手続きとを一体化させた「オブジェクト」というモジュール単位で扱われる。(3-3) Architecture and implementation of behavioral overlay system Behavioral overlay for non-verbal communication must be applied to all behavioral modules, and behavioral modules share minimal data In order to avoid such a situation (in order to maintain independence), it is not preferable to implement the behavior control unit (the situation-
この図12において、行動オーバーレイオブジェクト(NVCオブジェクト)に対応するオーバーレイ制御部120は、複数の他の上記行動制御システム(EGOアーキテクチャ)のオブジェクトと接続し、データのやりとりを行っている。すなわち、この図12に示す行動制御システム(EGOアーキテクチャ)は、上記図4に示す行動制御システム10と同様に、外部環境70を認識するための視覚認識機能部81、聴覚認識機能部82及び接触認識機能部83等からなる機能モジュールである外部刺激認識部80と、内部状態管理部(ISM)91及び情動管理部(EM)92を有する内部モデル部(IM)90aと、短期記憶部(STM)93及び長期記憶部(LTM)94を有する記憶部90bと、状況依存行動階層(NSBL)102及び反射行動部(RSBL)103を有する行動制御部(SBL)100aと、ハードウェア依存行動制御部104とを備えると共に、本発明の実施の形態の要部となる、ノンバーバルコミュニケーション(NVC)のためのオーバーレイ制御部120を備えて構成され、このオーバーレイ制御部120は、行動制御部(SBL)100aと、ハードウェア依存行動制御部104との間に挿入されている。 In FIG. 12, an
なお、この図12の行動制御システム(EGOアーキテクチャ)における、オーバーレイ制御部120以外の部分は、上記図4の行動制御システム10の各部と同様であるため説明を省略するが、ハードウェア依存行動制御部104内には、ロボット装置の各部モータ等を駆動制御するためのモーション制御(MC)部105が設けられている。 In the behavior control system of FIG. 12 (EGO architecture), the parts other than the
オーバーレイ制御部120は、オーバーレイ部(NVCモジュール)121と、関係性及び態度モデル部122とを有している。状況依存行動階層(NSBL)102及び反射行動部(RSBL)103を有する行動制御部(SBL)100aからの出力は、オーバーレイ制御部120に供給され、オーバーレイ制御部120からの出力が、モーション制御(MC)部105を有するハードウェア依存行動制御部104に送られる。オーバーレイ制御部120には、内部状態管理部(ISM)91及び情動管理部(EM)92を有する内部モデル部(IM)90aからの出力と、短期記憶部(STM)93及び長期記憶部(LTM)94を有する記憶部90bからの出力が供給されている。また、オーバーレイ部(NVCモジュール)121からの出力は、行動制御部(SBL)100a内の状況依存行動階層(NSBL)102及び反射行動部(RSBL)103に送られている。 The
このオーバーレイ制御部120のオーバーレイ部(NVCモジュール)121のオブジェクト(行動オーバーレイオブジェクト、以下NVCオブジェクトともいう。)の一例を図13に示す。この図13に示すオーバーレイ部121のオブジェクト(NVCオブジェクト)において、一番中心となっているのは、上記状況依存行動階層(NSBL)102及び反射行動部(RSBL)103を有する行動制御部(SBL)100aからのモータコマンド(モーション制御コマンド)を途中で変更し、モーション制御(MC)オブジェクト(ハードウェア依存行動制御部104内のモーション制御(MC)部105のオブジェクト)に送るという機能である。さらに、NVCオブジェクトは複数のSBLオブジェクト(行動制御部(SBL)100aのオブジェクト)からの出力を受け取り、モーション制御(MC)オブジェクトへ送りなおしている。このような機能は、主としてオーバーレイ処理部123及びオーバーレイ管理部124により実現される。モーション制御(MC)オブジェクトからの返答はNVCオブジェクトを通してSBLオブジェクトに戻している。モータ出力コネクションに加えて、NVCオブジェクトは上記内部モデル(IM)からの出力及びSTM(短期記憶部93)からのターゲット更新情報を、外部環境情報を知るために、受け取っている(オーバーレイ管理部124及びオーバーレイ計算部126)。また、NSBL(状態依存行動制御階層102)とRSBL(反射行動制御部103)との間にもメッセージをやりとりする通信を行っている(スキーマ管理部125)。この通信を使って、インタラクションの情報を得たり、ジェスチャや姿勢に関するトリガを送ったりしている。オーバーレイ管理部124は、オーバーレイ処理部123、スキーマ管理部125、オーバーレイ計算部126、及び後述するジェスチャ選択のためのジェスチャ選択部127と接続され、オーバーレイ処理部123とスキーマ管理部125との間も接続されている。オーバーレイ計算部126及びジェスチャ選択部127には、上記関係性及び態度モデル部122からの関係性データ128a及び態度データ128bや、これらのデータに基づく近接学(proxemics:人間と文化的空間の関係を研究する学問)モデル128cからのデータが送られている。 An example of an object (behavior overlay object, hereinafter also referred to as NVC object) of the overlay unit (NVC module) 121 of the
(3−4)行動オーバーレイのリソース及びタイミング
行動オーバーレイを行うためのデータ形式は、非常に基本的だがフレキシブルであり、主要なリソースである、頭、腕、腰、足等に分かれている。それぞれの関節(あるいは、足の場合の歩くときのパラメータの値)毎に、行動オーバーレイは値とフラグを調節している。絶対的な値(ある姿勢をとるため)での変更や相対的なゲイン(モーションをより正確にしたりゆるくしたりするため)などによって計算されている。さらに、それぞれのオーバーレイカテゴリーは、バイアスやゲインとしてフラグ管理されている、そのリソースのモーションのスピードを変更するための時間パラメータをもっている。また、足部のオーバーレイは、自分中心の座標系での位置パラメータも持っており、ロボットの歩く方向を変更するために使われる。(3-4) Resource and timing of action overlay The data format for action overlay is very basic but flexible, and is divided into main resources such as the head, arms, waist, and legs. For each joint (or the value of the walking parameter for the foot), the behavior overlay adjusts the value and flag. It is calculated by changing the absolute value (to take a certain posture) or relative gain (to make the motion more accurate or loose). Furthermore, each overlay category has a time parameter for changing the motion speed of the resource, which is flag-managed as a bias or gain. The foot overlay also has a position parameter in its own coordinate system and is used to change the walking direction of the robot.
オーバーレイ部(NVCモジュール)121のオブジェクトであるNVCオブジェクト(行動オーバーレイオブジェクト)を経由するモーションコマンド(モータコマンド)は、2つの部分にわかれている。コマンド本体とオプションパラメータセットである。パラメータを持つモーションはNVCオブジェクトが持つ現在のオーバーレイの値に従ってNVCオブジェクトで直接的に変更される。そのようなタイプのモーションには、頭の位置を直接決めるものや、腰や腕の関節角度を直接指定するようなコマンドがある。共通のモーションは再利用されることを考えられてデザインされている。例えば、うなずき動作のようなものである。(パラメータはうなずきの深さである)また、トラッキングのように、視覚と動きの間で早いフィードバックが必要なコマンドもある。残念ながら、パラメータ化されていないコマンドは、MC(モーション制御)システムに到達するまで細かいパラメータを変更することはできないが、無視したり、同じリソースを使う他のパラメータ化されたコマンドやパラメータ化されてないコマンドに置き換えることができる。 A motion command (motor command) that passes through an NVC object (behavior overlay object) that is an object of the overlay unit (NVC module) 121 is divided into two parts. Command body and optional parameter set. Motion with parameters is changed directly in the NVC object according to the current overlay value of the NVC object. Such types of motion include commands that directly determine the position of the head and commands that directly specify the hip and arm joint angles. The common motion is designed to be reused. For example, a nod operation. (The parameter is the depth of the nod.) There are also commands that require fast feedback between vision and movement, such as tracking. Unfortunately, unparameterized commands cannot be changed finely until they reach the MC (motion control) system, but they can be ignored or parameterized with other parameterized commands that use the same resources. It can be replaced with a command that is not.
図12の行動制御システム(EGOアーキテクチャ)におけるリソース管理は、疎で固定されて(coarse grained and fixed)いる。モーションコマンド(モータコマンド)のリソース競合を使って、SBL(行動制御部100a)の中での行動モジュールの活性化を管理するのに使われている。リソースのカテゴリーは、頭、腰、右腕、左腕、そして足である。腰の友好的、あるいは拒絶をしている姿勢の軸を調整するのに使うボディランゲージモーションコマンドは、一つの軸を使えば十分なのだが、腰全体を使わざるを得なくなっている。そのために他の行動をブロックしてしまう可能性がある。コマンドをうまく変更できるように、NVCオブジェクト(行動オーバーレイオブジェクト)では、リソースを各ジョイントごとに管理しているかのようにもっと細かくリソースを管理するように実装した。 Resource management in the behavior control system (EGO architecture) of FIG. 12 is coarse grained and fixed. It is used to manage the activation of the behavior module in the SBL (
しかし、これだけでは、ボディランゲージのオーバーレイをかけたいときに、環境による行動がコマンドを送るまでの間に時間的なギャップが生まれてしまう。このような状況はよくある。NVCオブジェクト(行動オーバーレイオブジェクト)は、すぐに動くことができる空スキーマ(idle schema)をNSBL(状況依存行動階層102)の中に置くことで解決した。それぞれの空スキーマは、1つのMCリソースを持っている。毎ステップごとに、もし、メインの行動を起こすスキーマがそのリソースを必要としなかったら、対応する空スキーマがNVCオブジェクトにオーバーレイを起こさせるために空コマンドを送る。もし、オーバーレイが必要だった場合、その空コマンドは、中身のあるアクションに変更され、MCに送られる。そうでなければ、捨てられる。空か他の特別なオーバーレイと関係するスキーマから送られたコマンドはNVCオブジェクトの中では他のコマンドとは違う方法で扱われるため、NVCオブジェクトは、どのスキーマが関係があって、どれがそうではないのかを追い続けなくてはならない。これは、起動時に起こるハンドシェイク処理で解決しており、その一例を図14に示す。起動時以外の通常時の処理については、図15にその一例を示している。 However, this alone creates a time gap before the action by the environment sends a command when you want to overlay the body language. This situation is common. The NVC object (behavior overlay object) was solved by placing an empty schema (idle schema) in NSBL (situation dependent behavior hierarchy 102) that can be moved immediately. Each empty schema has one MC resource. At every step, if the schema that causes the main action does not require that resource, the corresponding empty schema sends an empty command to cause the NVC object to overlay. If an overlay is needed, the empty command is changed to a solid action and sent to the MC. Otherwise it is thrown away. Commands sent from a schema associated with an empty or other special overlay are handled differently in the NVC object than other commands, so an NVC object is associated with which schema and which is not. I have to keep chasing it. This is solved by handshake processing that occurs at the time of activation, and an example is shown in FIG. An example of normal processing other than startup is shown in FIG.
行動制御システム(EGOアーキテクチャ)の中で実際的に考えると、ノンバーバルコミュニケーションに含まれるアクションは、2つの軸によって、4つのカテゴリーに分かれる。1つめの軸は、アクションのタイミングである。いくつかのアクション、例えば姿勢の変化は正確にタイミングで実行される必要はなく、NSBL(状況依存行動階層102)の2Hzという更新速度で十分である。しかし、例えば会話中のうなずきのように同時性が大事なものはRSBL(反射行動部103)のように反射的に早く反応できるレイヤにいるべきである。2つめの軸は、アクションに使われるリソースである。明らかな姿勢などのいくつかのアクションはリソースの部分的な制御だけが必要だが、他のアクションでは全体的に制御する必要があるものもある。部分的なリソースの管理はすでに述べたが、RSBL(反射行動部103)で作られたり、同時に発生したりしたコマンドについても同様である。一方で、全てのリソースを使うようなノンバーバルコミュニケーション行動、例えば象徴的なジェスチャなどもあり、それらは特別にトリガを受け取るスキーマとして実装されている。NSBL(状況依存行動階層102)のレベルではこれらのスキーマはジェスチャスキーマ(gesture schema)と称され、RSBL(反射行動部103)レベルでは対話反射スキーマ(dialog reflex schema)と称されている。 When actually considered in the behavior control system (EGO architecture), actions included in nonverbal communication are divided into four categories by two axes. The first axis is the action timing. Some actions, such as posture changes, do not need to be performed exactly at the timing, and an update rate of 2 Hz in NSBL (situation dependent behavior hierarchy 102) is sufficient. However, for example, those in which simultaneity is important, such as a nod during conversation, should be in a layer that can react quickly and reflexively like RSBL (reflective action unit 103). The second axis is a resource used for actions. Some actions, such as obvious attitudes, require only partial control of resources, while others require overall control. The partial resource management has already been described, but the same applies to commands generated by the RSBL (reflective action unit 103) or generated simultaneously. On the other hand, there are also non-verbal communication behaviors that use all resources, such as symbolic gestures, which are specially implemented as triggering schemas. At the level of NSBL (situation-dependent behavior hierarchy 102), these schemas are referred to as gesture schemas, and at the level of RSBL (reflection behavior unit 103), they are referred to as dialog reflex schemas.
図14の例において、行動オーバーレイのための特別なスキーマが上記オーバーレイ部121のオブジェクトであるNVCオブジェクト(行動オーバーレイオブジェクト)にハンドシェイク方式で登録される。SBL(行動制御部100a)はNVCオブジェクトがいつメッセージを受け取り可能となるかを知らないため、NVCからの承認(acknowledgement)が必要とされる。そこで、各スキーマは登録が成功するまで登録コマンドを送る。NSBL(状況依存行動階層102)の中では、空スキーマ(idle schema)とジェスチャスキーマ(gesture schema)とがNVC(オーバーレイ部121)に登録される。RSBL(反射行動部103)の中ではサブツリーの親スキーマが個々のスキーマのかわりに登録を行っている。これはもともとの対話での反射行動をうまく活かすためである。この登録に関しては、いつでも変更することができ、実際に起動が終わって動いている最中でも変更が可能である。 In the example of FIG. 14, a special schema for action overlay is registered in the NVC object (behavior overlay object) that is an object of the
図15は、反射行動やジェスチャが動いていない状態での、普通の空スキーマ(idle schema)が動いている様子の例を示している。NSBL(状況依存行動階層102)の空スキーマ(idle schema)やジェスチャスキーマ(gesture schema)は、リソースさえ空いていればアクティブになることができる。アクティブになっている空スキーマはNVC(オーバーレイ部121)に毎回、空コマンドを送る。対話の反射行動のサブツリーの親スキーマはいつもアクティブだが、その下のレベルの子スキーマはアクティブではない。 FIG. 15 shows an example of a state in which an ordinary idle schema is moving in a state where the reflex behavior and the gesture are not moving. NSBL (situation-dependent behavior hierarchy 102) empty schemas and gesture schemas can become active as long as resources are available. The empty schema that is active sends an empty command to the NVC (overlay unit 121) every time. The parent schema of the conversation reflex behavior subtree is always active, but the child schema below it is not active.
次に、ジェスチャのトリガについて、図16を参照しながら説明する。 Next, the gesture trigger will be described with reference to FIG.
図16に示すように、ジェスチャスキーマ(gesture schema)はNSBL(状況依存行動階層102)の中で空スキーマ(idle schema)と同じサブツリーに存在している。しかし、空スキーマと違って、主要な行動が出ていないときには、アクティブになろうとはしない。そのかわり、ジェスチャスキーマは、ジェスチャトリガメッセージがオーバーレイ部121のオブジェクトであるNVCオブジェクト(行動オーバーレイオブジェクト)から来るのを待つ。NVC(オーバーレイ部121)オブジェクトは直接モーションコマンドを作り出すことはなく、あくまでも出てきたコマンドを変更するだけなので、このようにジェスチャスキーマに対してトリガを送ることで、コマンドを作り出している。そのようなメッセージを受け取るとジェスチャスキーマは要求されたジェスチャを実行することを決める。その場合、ジェスチャスキーマはアクティベーションレベルALを増加させ、モーションコマンド(モータコマンド)を送り、アクティベーションレベルALを下げる。予めセットされているパラメータ化されていないモーションのジェスチャがMC(モーション制御)オブジェクトによって普通のコマンドと同じように実行される。 As shown in FIG. 16, the gesture schema exists in the same subtree as the empty schema in the NSBL (situation-dependent action hierarchy 102). However, unlike the empty schema, it does not try to be active when no major action is taking place. Instead, the gesture schema waits for a gesture trigger message to come from an NVC object (action overlay object) that is an object of the
すなわち、図16の例において、ジェスチャのトリガは、NVC(オーバーレイ部121)がトリガメッセージを登録されたNSBL(状況依存行動階層102)のスキーマに送ることで起こる。空スキーマも姿勢の変更のようなジェスチャと同様な反応を返すことがあることから、空スキーマとジェスチャスキーマも同じように送られる。それぞれのアクティブなスキーマはトリガメッセージを解読し、モータコマンド(モーションコマンド)を送るべきかどうかを判断する。この図16の例では、1つのジェスチャスキーマ(図中の太線)がコマンドを送る場面を示している。 That is, in the example of FIG. 16, the gesture trigger occurs when the NVC (overlay unit 121) sends the trigger message to the registered NSBL (situation-dependent action hierarchy 102) schema. Empty schemas and gesture schemas are sent in the same way because empty schemas may return a similar response to gestures such as posture changes. Each active schema interprets the trigger message and determines whether to send a motor command (motion command). The example of FIG. 16 shows a scene in which one gesture schema (thick line in the figure) sends a command.
対話反射スキーマも同じように扱われるが、少し違う方法になっている。既に、ある人型ロボットでの研究において、対話を行うインタラクションでの反射行動が、会話中のうなずきや相槌をいれることでうまく機能している。もちろん、NVCシステムは既存のシステムの利用できるところがあれば利用するほうが望ましい。そのシステムは、RSBL(反射行動部103)の中にある対話反射行動のアクティベーションレベル(AL)をいいタイミングで変更するために「インテンション」メカニズムを使っている。NVC(オーバーレイ部121)オブジェクトもこれらの反射を同じ方法でコントロールする。その一例を図17に示す。 The dialogue reflection scheme is handled the same way, but in a slightly different way. Already, in research on a humanoid robot, reflex behaviors in interactive interactions are functioning well by putting nods and companions in conversation. Of course, it is desirable to use the NVC system if there is a place where the existing system can be used. The system uses an “intention” mechanism to change the activation level (AL) of dialogue reflection behavior in RSBL (reflection behavior unit 103) at a good timing. The NVC (overlay part 121) object also controls these reflections in the same way. An example is shown in FIG.
対話反射行動は、リソースを持たずにいつでもアクティブになれる親スキーマの下にまとまってつながっている。NVCオブジェクトからコントロールするメッセージを受け取ると、親スキーマは子供のモニター関数を動かし、アクティベーションレベルALの値を上げさせ、反射行動を起こし、再びアクティベーションレベルALを下げる。もともとあったメカニズムとの実際の違いは、全てをトリガするのではなく、反射行動スキーマが自分たちでアクティベーションレベルALの値をコントロールしているところである。さらに、既にあるうなずき(Nod)反射行動に、さらに2つめの対話反射スキーマを新たに足した。それは、図17の例に示すような、上体姿勢調整(Lean)スキーマであり、話している人に対する上半身の向きをコントロールするものである。 Dialog reflex behavior is grouped under a parent schema that can be active at any time without resources. Upon receiving a control message from the NVC object, the parent schema moves the child's monitor function, raises the activation level AL, takes a reflex action, and lowers the activation level AL again. The actual difference from the original mechanism is that the reflex behavior schema controls the value of the activation level AL on its own rather than triggering everything. In addition, a second dialog reflex scheme was added to the existing nod reflex behavior. It is a body posture adjustment (Lean) schema as shown in the example of FIG. 17, and controls the orientation of the upper body relative to the person who is speaking.
図17の例について説明すると、対話反射のトリガがNVC(オーバーレイ部121)から反射行動ツリーの親に送られてきて、子スキーマ群の評価関数がアクティブになる。子スキーマは自分たちでアクティブになると判断すると、自分たちのアクティベーションレベルを大きくし、必要ならば、モータコマンド(モーションコマンド)を送る。対話反射行動システムは、NVCオブジェクトから抑制のメッセージが送られるまでアクティブなまま、時々、自己評価を行い、同期性や反応が高まる。 Referring to the example of FIG. 17, a trigger for interactive reflection is sent from the NVC (overlay unit 121) to the parent of the reflection behavior tree, and the evaluation function of the child schema group becomes active. If it decides that the child schema will become active by itself, it will increase its activation level and send motor commands (motion commands) if necessary. The dialogue reflex behavior system remains active until a suppression message is sent from the NVC object, and from time to time self-evaluates to increase synchrony and response.
(3−5)行動オーバーレイの実行フロー
オーバーレイ部121のオブジェクトであるNVCオブジェクト(行動オーバーレイオブジェクト)の行動オーバーレイシステムの実行フローの一例を図18に示す。(3-5) Behavior Overflow Execution Flow An example of an execution flow of the behavior overlay system for the NVC object (behavior overlay object) that is the object of the
この図18において、システムが起動するとき(S1)、空スキーマとジェスチャスキーマはNVCオブジェクトに登録し(S2)、リソースの分配と通信を行えるようにする。これらのスキーマは自分たちのアクティベーションレベルALを高くセットし、必ずこのメッセージが送れるようにする。NVC(オーバーレイ部121)から返答を受け取ったら、メインの行動の邪魔にならないようにアクティベーションレベルALを下げる。これは、上記図14にも示している。また、図14にも示すように、システムが起動するとき、対話反射スキーマの親スキーマがNVCオブジェクトに登録し、この対話に関する反射行動のトリガをどこに送ればいいのかを知らせる。 In FIG. 18, when the system is activated (S1), the empty schema and the gesture schema are registered in the NVC object (S2), so that resource distribution and communication can be performed. These schemas set their activation level AL high to ensure that this message can be sent. When a response is received from the NVC (overlay unit 121), the activation level AL is lowered so as not to disturb the main action. This is also shown in FIG. Further, as shown in FIG. 14, when the system is started, the parent schema of the dialog reflection schema is registered in the NVC object, and it is notified where the trigger of the reflection action related to this dialog should be sent.
NSBL(状況依存行動階層102)のスキーマがNVCオブジェクトに適用すべきインタラクションが始まったことを知らせ、距離に関する行動や、ボディランゲージの行動を起こす。これを受け取るまで、NVC(オーバーレイ部121)は全てのメイン行動のコマンドを変更することなくMC(モーション制御部105)に通し、空スキーマからのコマンドを破棄あるいは無視する(S3)。NSBL(状況依存行動階層102)の対話行動は相手のIDも渡し、NVC(オーバーレイ部121)はそれを使って関係性を調べる。 The NSBL (Situation Dependent Action Hierarchy 102) schema informs that an interaction to be applied to the NVC object has started, and causes a distance-related action and a body language action. Until this is received, the NVC (overlay unit 121) passes all the main action commands to the MC (motion control unit 105) without changing them, and discards or ignores the commands from the empty schema (S3). NSBL (situation-dependent action hierarchy 102) also passes the partner's ID, and NVC (overlay unit 121) uses it to check the relationship.
NVCオブジェクトは、ロボットの内部状態や相手への「態度」やインタラクションにおける距離のヒントを使ってオーバーレイする値を計算する(S4)。このオーバーレイ生成フェイズはロボットの理想的な距離も作り出し、必要ならば歩くコマンドをオーバーレイする。 The NVC object calculates a value to be overlaid using the hint of the internal state of the robot, the “attitude” to the opponent, and the distance in the interaction (S4). This overlay generation phase also creates an ideal distance for the robot and overlays walking commands if necessary.
空コマンドがオーバーレイの値に従って変更される(S5)。このコマンドは、中断されなければ、1度だけ実行され、NVCオブジェクトは2段になっているリソース管理部を使って管理される。この空コマンドは行動コマンドが終わるまでリソースを確保し続け、行動コマンドが終わったらすぐにリソースを解放する。 The empty command is changed according to the overlay value (S5). This command is executed only once unless it is interrupted, and the NVC object is managed using a resource management unit having two levels. This empty command keeps resources until the action command ends, and releases the resource as soon as the action command ends.
ロボットをもっと生きているように柔軟に見せるために、内部状態モデル(ISM:内部状態管理部91)の更新を上半身のオーバーレイの再評価のトリガとした。もし、再評価が起こったら、空コマンドによって確保されているリソースは解放され、次にくる空コマンドが新しいオーバーレイをするのに使われる。 In order to make the robot appear more alive and flexible, the update of the internal state model (ISM: internal state management unit 91) was used as a trigger for reevaluation of the upper body overlay. If a reevaluation occurs, the resources reserved by the empty command are released and the next empty command is used to make a new overlay.
STM(短期記憶部93)の更新は相手が動くことで起こる距離の変化を調べるために使われ、必要ならば更新された状況に合うように反応を再生成する。これは、ロボットが自分で歩いて距離を調整するよりも、距離が変わったときに人を動かすためのロボットの象徴的なジェスチャを起こす機会にもなっている。確率関数がロボットの内部モデル(IM)や態度、そのジェスチャに対する反応などに応じて実行され、結果に応じて、自然でせきたてるようなジェスチャ(例えば、こっちに来いと腕を動かしたり、あっちに行けと手を振ったりするようなジェスチャ)が起こされる。トリガメッセージが全ての登録された空スキーマおよびジェスチャスキーマに送られそれぞれが発火すべきかどうかを判定する(図16)。 The update of the STM (short-term memory unit 93) is used to examine the change in distance caused by the movement of the opponent, and if necessary, the reaction is regenerated to suit the updated situation. This is also an opportunity for the robot to make symbolic gestures to move people when the distance changes, rather than walking and adjusting the distance. Probability functions are executed according to the robot's internal model (IM), attitude, reaction to the gesture, etc., and depending on the result, gestures that appear natural (such as moving your arm when you come over here, Gestures like waving and shaking hands). A trigger message is sent to all registered empty schemas and gesture schemas to determine if each should fire (FIG. 16).
対話の印(マーカ)があるか、あるいは一般的な反射行動が必要とされていると分かると、NVCオブジェクトからアクティベーションメッセージが、対話反射行動スキーマに送られる(図17)。 If there is a sign of interaction (marker) or if it is found that general reflex behavior is required, an activation message is sent from the NVC object to the interaction reflex behavior schema (FIG. 17).
(3−6)行動オーバーレイのボディランゲージ
本発明の実施の形態において用意されているボディランゲージとしては、
a.歩くスピードも含めた、相手との距離の調節、
b.上記aを助けるための手や腕のジェスチャ、
c.対話をしたいかどうかを示すための、対話中の上半身の向きの変化あるいは回転(例えば、まっすぐ向いているときは対話したい状態、斜めをむいているときはそうではない状態)、
d.腕の姿勢(手を腰にあてる、腕を身を守るように上げる、上腕の向きなど)と離散的な姿勢(腕組み)、
e.アイコンタクトのための頭の向き、
f.うなずきや体の傾きなど、状態を表すジェスチャ、
が挙げられる。(3-6) Body language of action overlay As a body language prepared in the embodiment of the present invention,
a. Adjusting the distance to the opponent, including walking speed,
b. Hand and arm gestures to help a
c. Changing or rotating the orientation of the upper body during the conversation to indicate whether you want to interact (for example, you want to interact when you are facing straight, or not when you are facing diagonally),
d. Arm postures (hands on hips, arms raised to protect themselves, upper arm orientation, etc.) and discrete postures (arms folded),
e. Head orientation for eye contact,
f. Gestures that express the state, such as nodding and body tilt,
Is mentioned.
本発明の実施の形態においては、上に挙げたボディランゲージの表現は全て実装している。このオーバーレイシステムがあるかないかによって、人型ロボットのインタラクションがどのように変わるかを説明する。 In the embodiment of the present invention, all the expressions of the body language listed above are implemented. We will explain how the interaction of the humanoid robot changes depending on whether this overlay system exists.
人型ロボットが、部屋に人がいることに気が付いて、その人と会話をしようとするという社会的なインタラクションを考えてみる。もともとの人型ロボットは、基本的な情動や欲求の内部状態モデルをもち、人の顔をトラッキングするような行動スキーマツリーがあると同時に会話を増やすためのうなずき動作や姿勢を変えることを行う能力があり、会話そのものを行うことができる。行動オーバーレイができる人型ロボットは、これらと同じものに加えて、上述したようなオーバーレイシステムを用いている。 Consider a social interaction where a humanoid robot notices that there is a person in the room and tries to talk to that person. The original humanoid robot has an internal state model of basic emotions and desires, has an action schema tree that tracks the face of a person, and at the same time the ability to change the nodding behavior and posture to increase conversation There is a conversation. In addition to these same types of humanoid robots capable of action overlay, the overlay system as described above is used.
もともとの人型ロボットが人に焦点を当てているときに、インタラクションによる十分な内部欲求をもてば会話行動を始める。その場合、人型ロボットは人の顔をトラッキングし始めて人の頭の動きに反応し、頭を動かしてうまくアイコンタクト(視線を合わせること。目で相手の目を見ること。)しようとする。人が話をしたら、人型ロボットはうなずくような反射行動を行い、人は人型ロボットがものわかりがよく反応しやすいとわかる。しかし、ロボットと人との距離は人が選ぶことになる。もし、人が部屋の反対側からロボットに近付いてきたら、あるいは、相手の顔が人型ロボットに近付いてきたとしても、人型ロボットは同じように会話を続ける。同じように、人は、インタラクションに対する人型ロボットの欲求が高くなってるから会話をしている、ということはわからない。また自分たちとの関係性に対する人型ロボットの知識に関する情報は会話に出てこない限りまったくない。 When the original humanoid robot is focused on people, it starts conversational behavior if it has enough internal desire for interaction. In that case, the humanoid robot starts tracking the person's face, reacts to the movement of the person's head, and moves the head to try to make good eye contact (match the line of sight. When a person talks, the humanoid robot performs a nodding reflex behavior, and the person understands that the humanoid robot understands and responds easily. However, the distance between the robot and the person is chosen by the person. If a person approaches the robot from the other side of the room, or even if the other person's face approaches the humanoid robot, the humanoid robot continues the conversation in the same way. In the same way, I don't know that people are having a conversation because the desire of humanoid robots for interaction is high. Also, there is no information about the humanoid robot's knowledge of the relationship with them unless it comes out in a conversation.
このシナリオを、行動オーバーレイ機能をもつ人型ロボットの場合と比べてみる。この人型ロボットが人を発見して、会話行動が始まると、人型ロボットはすぐに自分の内部状態と相手と共有している相手との関係性についての情報を表に出し始める。人型ロボットはインタラクション欲求と相手との相対的な地位とからある姿勢をとる。いくつかの姿勢については図19に示している。もし、人が近すぎたり遠すぎたりしたら、人型ロボットは歩いて距離を保とうとする。あるいは、人型ロボットは人が近くにやってくるようにあるいは遠くにいくように合図することもある。そして、人型ロボットが自分で動くよりも前に、相手が動くチャンスを作る。このようなことはインタラクション最中にいつでも起こりうる。例えば、近くにきすぎた場合、人型ロボットは後ろにあとずさり、不快感をジェスチャーで示すこともある。人型ロボットのジェスチャが無視され続けると、相手に対する信頼度が減る。 Compare this scenario with a humanoid robot with a behavioral overlay function. As soon as this humanoid robot discovers a person and conversational behavior begins, the humanoid robot immediately begins to display information about the relationship between its internal state and the other party sharing with the other party. The humanoid robot takes a certain posture based on the desire for interaction and the relative position of the opponent. Some postures are shown in FIG. If a person is too close or too far away, the humanoid robot will try to keep a distance by walking. Or a humanoid robot may signal a person to come closer or farther away. And before the humanoid robot moves by itself, it creates a chance for the opponent to move. This can happen at any time during the interaction. For example, if you get too close, the humanoid robot may move backwards and show discomfort with gestures. If humanoid robot gestures continue to be ignored, confidence in the opponent decreases.
図19の例では、(A)普通の立ち姿勢、(B)話をしたくない姿勢、(C)腕を前にもってきた防御姿勢、(D)従属的な立ち姿勢、(E)開放的で社交的な姿勢、(F)腕をあげた攻撃的な姿勢、をそれぞれ示している。 In the example of FIG. 19, (A) a normal standing posture, (B) a posture that does not want to talk, (C) a defensive posture that brings the arm forward, (D) a dependent standing posture, and (E) an open type And (F) show an aggressive posture with arms raised.
行動オーバーレイ人型ロボットは、人のスピーチに対してうなずきなどの反応をするだけでなく、人型ロボットの動きはもっとコミュニケーションがとりやすくなっている。もしこの人型ロボットがインタラクションを望んでいて、相手とは良い関係だとしたら、うなずき方や体の姿勢はもっとはっきりとしたものになる。逆に、相手に興味がなかったり、離れたかったりしているときは、このような行動は控えめになったり、抑えられてしまう。頭のトラッキングのパラメータを調節することで、オーバーレイシステムは人型ロボットのアイコンタクトの反応性をもっとよくする。動きのスピードも変更される。怒っていたりこわがっている人型ロボットはもっと早く動くし、インタラクションへの興味がうすい人型ロボットはもっとゆっくり動く。ここにあげてきた全ての内部情報が人型ロボットの相手に対する態度、例えば社交的か内向的か、によって変更される。人は、そのようなシグナルになれているので、人型ロボットや人型ロボットと自分の関係に対する自分のメンタルモデルを更新することができる。 The behavioral overlay humanoid robot not only responds to human speech with a nod, but also makes it easier to communicate the movement of the humanoid robot. If this humanoid robot wants to interact and has a good relationship with the opponent, the nod and body posture will be clearer. On the other hand, when you are not interested in the other party or you want to leave, this behavior becomes modest or suppressed. By adjusting the parameters of the head tracking, the overlay system makes the eye contact of humanoid robots more responsive. The speed of movement is also changed. Angry and scared humanoid robots move faster, and humanoid robots that are less interested in interaction move more slowly. All the internal information listed here is changed according to the attitude of the humanoid robot, for example, social or introverted. Because people are familiar with such signals, they can update their mental models for humanoid robots and their relationships with humanoid robots.
このように、行動オーバーレイ人型ロボットのインタラクションの方が、豊かでバリエーションが多いことは明らかである。 Thus, it is clear that the behavioral overlay human interaction is richer and more varied.
ほとんどの場所で、この実装で作り出されるオーバーレイは、内部状態の値から関係性を表す情報への連続的な値のマッピング機能を使うことできるようになっている。例えば、連続的な要素、例えば、腰の向きなどはインタラクション欲求でから簡単にマッピングすることができる。しかし、人型ロボットのモーションアーキテクチャは離散的な状態出力を選ぶようになっている。いくつかの姿勢、例えば腕を組んで守っている姿勢は離散的である。これらの場合、確率を用いた離散的な決定機能が使われていて、連続的な姿勢のオーバーレイを引き起こし、直接値をオーバーレイしたりする。さらに、運動制御部の性質から、離散的な腕の姿勢について、代表的な姿勢をあらかじめモーションエディタなどで作成しておく必要がある。作られたジェスチャは距離を保つ行動をサポートするものである。例えば、片腕または両腕、指などの組み合わせで作られている。同じような確率を用い離散的な決定機能がどのジェスチャを選んで連続的なポジションオーバーレイに上書きするかを決めるのに使われている。 In most places, the overlays created by this implementation can use a continuous value mapping function from internal state values to information representing relationships. For example, continuous elements, such as the hip orientation, can be easily mapped from the desire for interaction. However, the motion architecture of humanoid robots chooses discrete state outputs. Some postures, for example, postures defending with arms crossed, are discrete. In these cases, a discrete decision function using probabilities is used, causing continuous posture overlay and overlaying values directly. Furthermore, due to the nature of the motion control unit, it is necessary to create a representative posture in advance with a motion editor or the like for discrete arm postures. The gestures made support the action of keeping distance. For example, it is made of a combination of one arm or both arms and fingers. A discrete decision function with similar probabilities is used to decide which gestures to choose and overwrite the continuous position overlay.
(3−7)行動オーバーレイの具体例
次に、ロボット装置(例えば人型ロボット)の行動オーバーレイの具体例として、相手が親しい友人だった場合(ケース1)、自分の機嫌が悪いとき(ケース2)、相手がとても偉い人だった場合(ケース3)、の3種類についてどのような行動になるかについて説明する。いずれの場合も話しの内容自体は全部同じであるが、話している最中の人型ロボットの行動が変化する。(3-7) Specific Example of Behavior Overlay Next, as a specific example of behavior overlay of a robot apparatus (for example, a humanoid robot), when the other party is a close friend (case 1), when his / her mood is bad (case 2) ) Explain what action will be taken when the opponent is a very great person (Case 3). In either case, the content of the talk is the same, but the behavior of the humanoid robot during the talk changes.
先ずケース1の場合:相手をみつけると近付き、親密な距離まで近付く。姿勢はまっすぐで、手を開き気味の開放的で社交的な姿勢をとり、相手の話に対してうなずいたり、アイコンタクトをとったりする。相手が近くによりすぎるとちょっと後ろにさがったり、離れると前に近付いたりする。 First, in case 1: When approaching the opponent, approach and approach a close distance. The posture is straight, open hands and take an open and sociable posture, nodding and taking eye contact with the other person's story. If the other party is too close, you can go back a little, and if you leave, you get closer to the front.
ケース2の場合:相手との距離は同じであるが、アイコンタクトをとらない(トラッキングがオーバーレイされる)ようにして、そっぽを向いたり、斜めの姿勢をとったり、腕を前で組んでいやがるジェスチャをしたりする。 Case 2: Gesture with the same distance from the opponent, but without eye contact (tracking is overlaid), facing away, taking a slanted posture, and struggling with arms in front Or do.
ケース3の場合:従属的な立ち姿勢(腰を落とした姿勢)で非常に大きな距離をとる。自分の気分に関係なく、まっすぐとした姿勢を保つ。 Case 3: A very large distance is taken with a subordinate standing posture (a posture in which the hips are dropped). Maintain a straight attitude regardless of your mood.
以上説明したような本発明の実施の形態は、図12に示すように、自律ロボット装置において、人との関係性を記憶する部分としての関係性及び態度モデル部122と、自分の内部状態・感情を管理する部分としての内部状態管理部91及び情動管理部92を有し、それらと外部環境70からの情報によって、動作や姿勢を一括して一部または全部変更する行動オーバーレイを行うためのオーバーレイ部(NVCモジュール)121を有している。すなわち、行動記述モジュールを自己の内部状態及び外部刺激に応じて選択して選択された行動記述モジュールに記述されたコマンドを出力する行動制御部100aと、行動制御部100aからのコマンドに応じた行動を発現させるハードウェア依存行動制御部104と、行動制御部100aとハードウェア依存行動制御部104との間に配置されたオーバーレイ制御部120とを有し、オーバーレイ制御部120のオーバーレイ部(NVCオブジェクト)121は、行動制御部100aからのコマンドに対して、関係性及び態度モデル部122からの関係性データ及び態度データと、自己の内部状態及び外部刺激とに応じて、動作又は姿勢を含む出力形態の一部又は全部を変更する行動オーバーレイを行ってハードウェア依存行動制御部104のモーション制御部105に送る。 As shown in FIG. 12, the embodiment of the present invention as described above includes a relationship and
このような構成を有して人とインタラクションを行うロボット装置において、人との関係性や現在の自分の状態から適切な個人間距離を算出し、それをインタラクションをスムーズに行うために使うことができる。上記距離を調節するために、自分で歩くことで距離を調節でき、また、相手に対して適切なジェスチャを出すことができる。さらに、このような人とインタラクションを行うロボット装置において、人との関係性や現在の自分の状態から自分の上半身の姿勢を変更することができる。 In a robot device that interacts with a person having such a configuration, an appropriate distance between individuals can be calculated from the relationship with the person and the current state of the person, and this can be used to smoothly perform the interaction. it can. In order to adjust the distance, the distance can be adjusted by walking on its own, and an appropriate gesture can be given to the opponent. Furthermore, in such a robot apparatus that interacts with a person, the posture of the upper body can be changed from the relationship with the person and the current state of the person.
従って、本発明の実施の形態によれば、人にもわかりやすい形での表出により、ロボット装置がどのような状態にあるか人もわかり、インタラクションを進めるのかやめるのかを決めるのに役に立つ。また、ロボットが動くだけでなく、ロボット装置がジェスチャを出すことによって、人の方も距離に関するフィードバックをすることができる。そのフィードバックによって個人間距離がちょうどよくなると同時に、人側もロボットの状態をわかることができる。さらに、姿勢によっても、ロボット装置の状態を知ることができ、人が適切にインタラクションをするべきかどうかを見分けることができる。さらに、一括したオブジェクトで姿勢に関するモジュレーションを行うために、一貫性をもって、ノンバーバルコミュニケーションを重ねる(オーバーレイする)ことができる。これにより、人にとって理解や推測がしやすい形で表出することができる。さらに、そのような重ねあわせをする、しない、どこにしてもいいか、ということに関しても、リソースやモジュールなども考慮した重ね合わせを行うことができる。 Therefore, according to the embodiment of the present invention, the expression in a form that is easy for humans to understand can also be used to determine the state of the robot apparatus and to decide whether or not to proceed with the interaction. Moreover, not only the robot moves, but also the person can give feedback regarding the distance by the robot device issuing a gesture. The feedback improves the distance between individuals, and at the same time, the human side can understand the state of the robot. Furthermore, it is possible to know the state of the robot apparatus by the posture, and to determine whether or not a person should interact appropriately. Furthermore, in order to modulate the posture with a batch of objects, nonverbal communication can be overlaid (overlaid) with consistency. As a result, it can be expressed in a form that is easy for humans to understand and guess. Furthermore, with regard to whether or not to perform such superposition, it is possible to perform superposition in consideration of resources and modules.
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。 It should be noted that the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the present invention.
1 ロボット装置、 10 行動制御システム、 20 制御部、 40 入出力部、 50 駆動部、 80 外部刺激認識部、 90a 内部モデル部(IM)、 91 内部状態管理部(ISM)、 92 情動管理部(EM)、 93 短期記憶部(STM)、 94 長期記憶部(LTM)、 100a 行動制御部(SBL)、 102 状況依存行動階層(NSBL)、 103 反射行動部(RSBL)、 104 ハードウェア依存行動制御部、 105 モーション制御部、 120 オーバーレイ制御部、 121 オーバーレイ部(NVC)、 122 関連性及び態度モデル部 DESCRIPTION OF
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005318850AJP2007125629A (en) | 2005-11-01 | 2005-11-01 | Robot device and motion control method |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005318850AJP2007125629A (en) | 2005-11-01 | 2005-11-01 | Robot device and motion control method |
| Publication Number | Publication Date |
|---|---|
| JP2007125629Atrue JP2007125629A (en) | 2007-05-24 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005318850AWithdrawnJP2007125629A (en) | 2005-11-01 | 2005-11-01 | Robot device and motion control method |
| Country | Link |
|---|---|
| JP (1) | JP2007125629A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101273300B1 (en) | 2011-06-08 | 2013-06-11 | 한국과학기술연구원 | Robot control system and robot control method using a cognitive architecture |
| JP2015036915A (en)* | 2013-08-14 | 2015-02-23 | 富士通株式会社 | INTERACTION DEVICE, INTERACTION PROGRAM, AND INTERACTION METHOD |
| EP3538329A4 (en)* | 2016-11-10 | 2020-08-19 | Warner Bros. Entertainment Inc. | SOCIAL ROBOT WITH ENVIRONMENTAL CONTROL FUNCTION |
| US11331808B2 (en) | 2016-04-28 | 2022-05-17 | Fujitsu Limited | Robot |
| WO2023159571A1 (en)* | 2022-02-28 | 2023-08-31 | 西门子(中国)有限公司 | Workflow creation method and apparatus, and platform and computer-readable medium |
| WO2023164841A1 (en)* | 2022-03-02 | 2023-09-07 | 西门子股份公司 | Workflow execution method and apparatus, and storage medium and program product |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101273300B1 (en) | 2011-06-08 | 2013-06-11 | 한국과학기술연구원 | Robot control system and robot control method using a cognitive architecture |
| JP2015036915A (en)* | 2013-08-14 | 2015-02-23 | 富士通株式会社 | INTERACTION DEVICE, INTERACTION PROGRAM, AND INTERACTION METHOD |
| US11331808B2 (en) | 2016-04-28 | 2022-05-17 | Fujitsu Limited | Robot |
| EP3538329A4 (en)* | 2016-11-10 | 2020-08-19 | Warner Bros. Entertainment Inc. | SOCIAL ROBOT WITH ENVIRONMENTAL CONTROL FUNCTION |
| WO2023159571A1 (en)* | 2022-02-28 | 2023-08-31 | 西门子(中国)有限公司 | Workflow creation method and apparatus, and platform and computer-readable medium |
| WO2023164841A1 (en)* | 2022-03-02 | 2023-09-07 | 西门子股份公司 | Workflow execution method and apparatus, and storage medium and program product |
| Publication | Publication Date | Title |
|---|---|---|
| US7515992B2 (en) | Robot apparatus and emotion representing method therefor | |
| US7363108B2 (en) | Robot and control method for controlling robot expressions | |
| US8145492B2 (en) | Robot behavior control system and method, and robot apparatus | |
| JP4244812B2 (en) | Action control system and action control method for robot apparatus | |
| US7853357B2 (en) | Robot behavior control based on current and predictive internal, external condition and states with levels of activations | |
| KR101137205B1 (en) | Robot behavior control system, behavior control method, and robot device | |
| EP3456487A2 (en) | Robot, method of controlling the same, and program | |
| JP7626179B2 (en) | Information processing device and information processing method | |
| JP3558222B2 (en) | Robot behavior control system and behavior control method, and robot device | |
| JP2004283958A (en) | Robot device, method of controlling its behavior and program thereof | |
| JP4296736B2 (en) | Robot device | |
| JP2007125629A (en) | Robot device and motion control method | |
| JP2003111981A (en) | Robot apparatus and control method thereof, information providing system and information providing method for robot, and storage medium | |
| JP2006110707A (en) | Robot device | |
| JP2007125631A (en) | Robot device and motion control method | |
| JP2004114285A (en) | Robotic device and its behavior control method | |
| US20240367065A1 (en) | Autonomous mobile body, information processing method, and program | |
| JP2002205289A (en) | Action control method for robot device, program, recording medium and robot device | |
| 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 | |
| JP2005193330A (en) | Robot device and its emotional expression method | |
| JP2004283957A (en) | Robot device, method of controlling the same, and program | |
| JP2004209599A (en) | Robot device, action learning method for robot device and action preparation method for robot device | |
| US20240367066A1 (en) | Autonomous mobile body, information processing method, and program | |
| WO2025037529A1 (en) | Control device and control method |
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination | Free format text:JAPANESE INTERMEDIATE CODE: A300 Effective date:20090106 |