JP2006088328A - Communication robot and its development supporting device - Google Patents

Communication robot and its development supporting device Download PDF

Info

Publication number
JP2006088328A
JP2006088328A JP2005286752A JP2005286752A JP2006088328A JP 2006088328 A JP2006088328 A JP 2006088328A JP 2005286752 A JP2005286752 A JP 2005286752A JP 2005286752 A JP2005286752 A JP 2005286752A JP 2006088328 A JP2006088328 A JP 2006088328A
Authority
JP
Japan
Prior art keywords
behavior
module
robot
action
rule
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.)
Pending
Application number
JP2005286752A
Other languages
Japanese (ja)
Inventor
Takayuki Kanda
崇行 神田
Hiroshi Ishiguro
浩 石黒
Tomohiro Imai
倫太 今井
Tetsuo Ono
哲雄 小野
Kenji Mase
健二 間瀬
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.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
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 ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2005286752A priority Critical patent/JP2006088328A/en
Publication of JP2006088328A publication Critical patent/JP2006088328A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a communication robot capable of taking communicating action not monotonous and with no contradiction and to provide a development supporting device of the communication robot capable of easily grasping a relation among a large number of modules. <P>SOLUTION: The communication robot 10 is furnished with a plurality of the modularized action modules and a plurality of rules specifying fundamental execution order of the action modules. The action module to be executed next is selected and executed in accordance with execution hysteresis of the actual action module, that is, hysteresis of communication action of the robot 10 and a human on the robot 10. A visualized screen on which each of the action modules is expressed in an icon image is displayed on a display device 22 of the development supporting device 12 of such the robot 10. Each of icons is arranged in accordance with strength of a relation between each of the action modules, and its display form is discriminated in accordance with a retrieval result. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

この発明はコミュニケーションロボットおよびその開発支援装置に関し、特にたとえば、特定状況における行動をモジュール化した行動モジュールを複数規定し、その行動モジュールの基本的な実行順序に関する規則を複数規定し、その複数の規則に基づいて複数の行動モジュールを実行することによって、コミュニケーション行動を取るコミュニケーションロボットおよびそのようなコミュニケーションロボットを開発するための開発支援装置に関する。   The present invention relates to a communication robot and its development support device, and in particular, for example, defines a plurality of behavior modules obtained by modularizing behavior in a specific situation, defines a plurality of rules regarding the basic execution order of the behavior modules, and the plurality of rules. The present invention relates to a communication robot that takes a communication action by executing a plurality of action modules based on the above and a development support apparatus for developing such a communication robot.

従来、ロボットの行動をソフトウェアモジュール化し、これを実行する技術は存在している(たとえば非特許文献1参照)。
石黒,小野,今井,前田,神田,中津,「ロボビー:インタラクティブ・ヒューマノイド・ロボット(Robovie: an interactive humanoid robot)」, インダストリアル・ロボティクス(Int. J. Industrial Robotics),2001年,第28巻,第6号,p.498−503
Conventionally, there is a technique for converting a robot action into a software module and executing the software module (see, for example, Non-Patent Document 1).
Ishiguro, Ono, Imai, Maeda, Kanda, Nakatsu, “Robovie: an interactive humanoid robot”, Int. J. Industrial Robotics, 2001, Vol. 28, Vol. 6, p. 498-503

従来のロボットでは、単調でない行動を実現するためには、ランダムな要素に基づいて行動モジュールを実行する必要があったので、そのロボット自身が過去に取って来た行動と矛盾する行動が生じてしまうおそれがあった。一方、矛盾がないように行動モジュールを起動することは、逆に行動の単調さを招くこととなってしまう。たとえば、実行する行動モジュールを予めすべて決めてしまうと、状況に拘らず決まりきった単調な行動となってしまう。このような行動の有り様は、一定範囲の環境内で予め定められた動作をする産業用ロボットとしては適当であるが、人間と多様なコミュニケーションを取るコミュニケーションロボットとしては適しているとは言い難い。   In order to realize a non-monotonous behavior in a conventional robot, it was necessary to execute a behavior module based on a random element, so that behavior that contradicts the behavior that the robot itself has taken in the past has occurred. There was a risk of it. On the other hand, starting the behavior module so that there is no contradiction results in a monotonous behavior. For example, if all the action modules to be executed are determined in advance, it becomes a monotonous action that is determined regardless of the situation. Such behavior is suitable as an industrial robot that performs a predetermined operation within a certain range of environment, but is not suitable as a communication robot that performs various communications with humans.

また、多数のモジュールが存在するロボットを開発する際に、既存のモジュール間の関係性を表現するような手段は無く、その関係を把握することは困難であった。したがって、既に実装したモジュールが有している関係を把握することなく、新たなモジュールの関係を考案して入力したり、既存の関係を変更したりせねばならず、開発が困難であった。なお、単にプログラム入力手段のみを視覚化したグラフィカルなプログラム手法は一般的にあるが、このようなグラフィカルプログラム手法においても多数のモジュール間の関係は把握できない。   Further, when developing a robot having a large number of modules, there is no means for expressing the relationship between existing modules, and it is difficult to grasp the relationship. Therefore, it is difficult to develop a new module relationship without having to grasp the relationship that the already installed module has, and to change the existing relationship. In general, there is a graphical program method in which only the program input means is visualized, but even in such a graphical program method, the relationship between a large number of modules cannot be grasped.

それゆえに、この発明の主たる目的は、単調でなくかつ矛盾の無いコミュニケーション行動を取ることができる、コミュニケーションロボットを提供することである。   Therefore, a main object of the present invention is to provide a communication robot that can take communication actions that are not monotonous and consistent.

この発明の他の目的は、多数のモジュール間の関係を簡単に把握できる、コミュニケーションロボットの開発支援装置を提供することである。   Another object of the present invention is to provide a communication robot development support device that can easily grasp the relationship between a large number of modules.

第1の発明は、特定状況における行動をモジュール化した複数の行動モジュールおよび行動モジュールの基本的な実行順序を規定した複数の規則を備え、複数の規則に基づいて複数の行動モジュールを実行することによってコミュニケーション行動を取るコミュニケーションロボットであって、複数の行動モジュールを格納する行動モジュール記憶手段、複数の規則を格納する規則記憶手段、行動モジュールの実行履歴と複数の規則とを比較して、実行履歴に該当する規則および次に実行可能な行動モジュールの候補を選出する候補選出手段、候補選出手段によって選出された候補から、次に実行する行動モジュールを選択する次行動選択手段、および次行動選択手段によって選択された行動モジュールを実行する行動モジュール実行手段を備える、コミュニケーションロボットである。   A first invention includes a plurality of behavior modules obtained by modularizing behavior in a specific situation, and a plurality of rules that define a basic execution order of the behavior modules, and the plurality of behavior modules are executed based on the plurality of rules. A communication robot that takes communication action by an action module storage means for storing a plurality of action modules, a rule storage means for storing a plurality of rules, and comparing an execution history of the action modules with a plurality of rules. Candidate selecting means for selecting a candidate corresponding to a rule corresponding to the above and a next executable action module, a next action selecting means for selecting an action module to be executed next from candidates selected by the candidate selecting means, and a next action selecting means Action module execution means for executing the action module selected by Obtain, it is a communication robot.

第2の発明は、特定状況における行動をモジュール化した複数の行動モジュールおよび複数の行動モジュールの基本的な実行順序を規定した複数の規則を備え、複数の規則に基づいて複数の行動モジュールを実行することによってコミュニケーション行動を取るコミュニケーションロボットを開発するためのコミュニケーションロボット開発支援装置であって、複数の行動モジュール間の関係を視覚化する視覚化画面を表示する画面表示手段、複数の行動モジュールをそれぞれ表わす画像の視覚化画面上における配置を、複数の行動モジュール間の関係の強さに基づいて算出する配置算出手段、指定される検索状況と複数の規則とを比較して、検索状況に該当する規則を選出する検索手段、複数の行動モジュールをの画像の表示形態を、検索状況および検索手段の処理による検索結果に基づいて、区別して設定する表示形態設定手段、および算出された配置および設定された表示形態に基づいて、複数の行動モジュールの画像を視覚化画面上に表示する行動モジュール表示手段を備える、コミュニケーションロボット開発支援装置である。   The second invention includes a plurality of behavior modules obtained by modularizing behavior in a specific situation, and a plurality of rules that define a basic execution order of the plurality of behavior modules, and the plurality of behavior modules are executed based on the plurality of rules. A communication robot development support device for developing a communication robot that takes communication action by performing screen display means for visualizing a relationship between a plurality of action modules, and a plurality of action modules respectively An arrangement calculating means for calculating the arrangement of the image to be displayed on the visualization screen based on the strength of the relationship between the plurality of behavior modules, and comparing the specified search situation with a plurality of rules, and corresponding to the search situation Search means for selecting rules, search for image display form of multiple behavior modules Display mode setting means for setting differently based on the situation and the search result by the processing of the search means, and displaying images of a plurality of behavior modules on the visualization screen based on the calculated arrangement and the set display form It is a communication robot development support apparatus provided with the action module display means to do.

第1の発明のコミュニケーションロボットは、複数の行動モジュールおよび行動モジュールの基本的な実行順序に関する複数の規則を備えている。行動モジュールは、たとえば、この行動モジュールを実行する前提条件,ロボットの行動を提示する指示部およびロボットの行動に対する人間の反応を認識する認識部を備えていて、前提条件を満足する場合のみ指示部が実行されて、その後認識部が実行される。このロボットでは、ロボットが現在まで行ってきたコミュニケーション行動の履歴に基づいて、次に実行する行動モジュールが選択されて実行される。つまり、候補選択手段によって、行動モジュールの実行履歴と格納されている複数の規則とが比較され、実行履歴に該当する規則が選出される。また、規則には、基本的に、特定の状況において次に行う行動モジュールが規定されており、この規定された行動モジュールが、次に実行可能な行動モジュールの候補として選出される。そして、次行動選択手段によって、選出された候補から次に実行する行動モジュールが選択される。たとえば、実行中であった行動モジュールの結果に適合する行動モジュールが選出され、かつ、行動モジュールに規定されている前提条件を満足するものが選出される。このようにして、実行履歴に基づいて選択された行動モジュールが行動モジュール実行手段によって実行される。   The communication robot of the first invention includes a plurality of behavior modules and a plurality of rules concerning the basic execution order of the behavior modules. The behavior module includes, for example, a precondition for executing this behavior module, an instruction unit for presenting the robot behavior, and a recognition unit for recognizing a human reaction to the robot behavior, and only when the precondition is satisfied Is executed, and then the recognition unit is executed. In this robot, an action module to be executed next is selected and executed based on a history of communication actions that the robot has performed so far. That is, the candidate selecting means compares the execution history of the behavior module with a plurality of stored rules, and selects a rule corresponding to the execution history. The rule basically defines the action module to be performed next in a specific situation, and the specified action module is selected as a candidate of the next executable action module. Then, the next action selection means selects the action module to be executed next from the selected candidates. For example, a behavior module that matches the result of the behavior module that was being executed is selected, and one that satisfies the preconditions defined in the behavior module is selected. In this way, the behavior module selected based on the execution history is executed by the behavior module execution means.

また、規則には優先順位がそれぞれ設定されていてもよい。この場合には、複数の規則が競合するときに、この優先順位に従って、適用する規則を選択することができる。   Moreover, the priority may be set to each rule. In this case, when a plurality of rules conflict, the rule to be applied can be selected according to this priority.

第2の発明の開発支援装置では、画面表示手段によって、ロボットに実装される複数の行動モジュール間の関係を視覚化する視覚化画面が表示される。この視覚化画面には、複数の行動モジュールをそれぞれ表わす画像(アイコン)が表示される。視覚化にあたっては、配置算出手段によって、行動モジュール間の関係の強さに基づいて、各行動モジュールの画像の配置が算出される。これによって、たとえば行動モジュールどうしを結び付ける規則が多く規定されているほど、関係が強くなり、視覚化画面では近くに配置される。また、表示形態設定手段によって、各行動モジュールの画像の表示形態が区別して設定される。この表示形態を区別にあたっては、指定される検索状況および検索手段による検索結果に基づいた設定がなされる。この検索手段によって、開発者であるユーザによって指定された状況に該当する規則が選出される。たとえば、この装置では、3つの検索モードを有していて、現在検索モードを選択することによって現在の状態を指定状況とした検索を行うことができ、また過去検索モードを選択することによって履歴における過去の時点の状態を指定状況とした検索を行うことができ、また、文字検索モードを選択することによって、任意の状況を入力して指定することができる。検索手段では、各検索モードでの指定状況に該当する規則が選出されることによって、その状況の次に実行可能な行動モジュールの候補が選出される。この検索手段によって、各行動モジュールが、検索モードごとの着目時点の行動モジュールに対してどのような関係性にあるか、つまり、過去に実行したものに相当するか、あるいは、次に実行するものに相当するかが明らかになる。各行動モジュールはこのような各検索モードの検索結果に基づく関係、つまり、検索モードごとの着目時点の行動モジュールに対する各行動モジュールの関係に従って区別される。たとえば、着目時点の行動モジュールには赤色で矩形状の現在アイコンが設定され、着目時点よりも過去の行動モジュールには青色で矩形状の過去アイコンが設定され、着目時点の次に実行可能な行動モジュールには緑色で矩形状の次アイコンが設定され、また、着目時点の行動モジュールに関係のない行動モジュールには灰色で小さい正方形の無関係アイコンが設定される。このようにして、行動モジュール表示手段によって、各行動モジュールの画像が算出された配置および設定された表示形態を有するようにして、視覚化画面上に表示され、各行動モジュールの関係が視覚化される。   In the development support device of the second invention, the screen display means displays a visualization screen for visualizing the relationship between the plurality of behavior modules mounted on the robot. Images (icons) representing a plurality of behavior modules are displayed on this visualization screen. In visualization, the arrangement of the image of each behavior module is calculated by the arrangement calculation means based on the strength of the relationship between the behavior modules. As a result, for example, the more rules that connect the behavior modules, the stronger the relationship and the closer they are arranged on the visualization screen. Further, the display form setting unit distinguishes and sets the display form of the image of each behavior module. In distinguishing the display forms, settings are made based on the designated search situation and the search result by the search means. By this search means, a rule corresponding to the situation designated by the user who is the developer is selected. For example, this apparatus has three search modes. By selecting the current search mode, a search can be performed with the current state as the designated status, and in the history by selecting the past search mode. A search can be performed with the state at a past point in time as a specified status, and an arbitrary status can be input and specified by selecting a character search mode. In the search means, a rule corresponding to a specified situation in each search mode is selected, and a candidate of an action module that can be executed next to the situation is selected. By this search means, each behavior module has a relationship with the behavior module at the time of interest in each search mode, that is, corresponds to what has been executed in the past, or what is executed next It becomes clear whether it corresponds to. Each behavior module is distinguished according to the relationship based on the search result of each search mode, that is, the relationship of each behavior module to the behavior module at the time of interest for each search mode. For example, a red and rectangular current icon is set for the action module at the point of interest, and a blue and rectangular past icon is set for the action module past the point of interest. A green and rectangular next icon is set for the module, and a gray and small square irrelevant icon is set for the action module not related to the action module at the time of interest. In this manner, the behavior module display means displays the behavior module images on the visualization screen so as to have the calculated arrangement and the set display form, and the relationship between the behavior modules is visualized. The

また、検索結果表示手段によって、検索手段によって選出された検索結果、すなわち、指定状況に該当する規則をたとえば検索画面等に表示するようにしてもよい。この場合、開発者は規則の内容も画面で確認できる。   Further, the search result display means may display the search result selected by the search means, that is, the rule corresponding to the specified situation, for example, on a search screen. In this case, the developer can also check the contents of the rules on the screen.

また、実行情報受信手段によって、ロボットにおける行動モジュールの実行に関する情報を受信するようにしてもよい。つまり、現在検索モードおよび過去検索モードでの視覚化にあたって必要となる情報(ロボットの実行履歴情報ならびに履歴に基づいて選出された規則および次に実行可能な行動モジュール)がロボットにおける行動の選択処理において得られるので、この情報をロボットから送信させるようにして、開発支援装置では検索処理を省略するようにする。   Further, the execution information receiving means may receive information related to the execution of the behavior module in the robot. In other words, the information necessary for visualization in the current search mode and the past search mode (robot execution history information, rules selected based on the history and the next executable action module) are used in the action selection process in the robot. Since this information is obtained, this information is transmitted from the robot so that the development support apparatus omits the search process.

また、規則を編集(新規作成、修正または削除等)する入力手段を備える場合には、開発者は、視覚化画面を参照して行動モジュールの関係を把握しながら編集作業を行うことができる。この入力手段で編集した規則を登録することによって、規則を更新することができる。開発支援装置では、編集後の規則に基づいた各行動モジュールの関係を視覚化することができる。   In addition, when an input means for editing a rule (new creation, correction, deletion, etc.) is provided, the developer can perform an editing operation while grasping the relationship of the behavior modules with reference to the visualization screen. The rule can be updated by registering the rule edited by this input means. The development support apparatus can visualize the relationship between the behavior modules based on the edited rules.

また、入力手段よって編集した規則に関する編集情報を編集情報送信手段によって、ロボットへ送信するようにしてもよい。この場合には、ロボットでは、編集情報に従って規則が更新され、以後の行動選択処理が編集後の規則に基づいて選択されることとなる。   Further, editing information relating to the rules edited by the input means may be transmitted to the robot by the editing information transmitting means. In this case, in the robot, the rule is updated according to the editing information, and the subsequent action selection process is selected based on the edited rule.

第1の発明によれば、実際の行動モジュールの実行履歴、すなわち、ロボットと人間とのコミュニケーション活動の履歴に基づいて、次に実行可能な行動モジュールが選択されて実行される。したがって、単調でなく、しかも、矛盾の無いコミュニケーション行動を取ることができる。   According to the first invention, the next executable action module is selected and executed based on the actual action module execution history, that is, the history of communication activities between the robot and the human. Therefore, it is possible to take communication actions that are not monotonous and consistent.

第2の発明によれば、モジュール間の関係を視覚化によって直感的に把握することができる。したがって、これら複数の行動モジュール間の関係を把握しながら、たとえば状況に矛盾がなく調和したコミュニケーション行動を実現するように、既存の規則を修正または削除したり、新たな規則を作成したりすることができる。   According to the second invention, the relationship between modules can be intuitively grasped by visualization. Therefore, while grasping the relationship between these multiple action modules, for example, modify or delete existing rules or create new rules so as to realize harmonized communication behavior without any contradiction in the situation. Can do.

この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。   The above object, other objects, features and advantages of the present invention will become more apparent from the following detailed description of embodiments with reference to the drawings.

図1を参照して、この実施例のコミュニケーションロボット(以下、単に「ロボット」ということがある。)10は、人間とコミュニケーションすることを目的とした相互作用指向のコミュニケーションロボットである。コミュニケーションロボット開発支援装置(以下、単に「開発支援装置」ということがある。)12は、このようなコミュニケーションロボット10を開発するためのものである。   Referring to FIG. 1, a communication robot (hereinafter, simply referred to as “robot”) 10 of this embodiment is an interaction-oriented communication robot for the purpose of communicating with a human. A communication robot development support device (hereinafter, simply referred to as “development support device”) 12 is for developing such a communication robot 10.

開発支援装置12は、たとえばパーソナルコンピュータ(PC)またはワークステーション等のコンピュータで構成されており、たとえば図2に示すようにCPU14を含む。CPU14にはバス16を介してメモリ18,ハードディスク装置(HDD)20,液晶ディスプレイまたはCRT等の表示装置22,マウスおよびキーボード等の入力装置24および通信回路26が接続されている。主記憶装置としてのHDD20には、この開発支援処理を実行するためのプログラムが格納されており、また、表示装置22に表示される画面データ等の各種データも記憶されている。また、HDD20には、ロボット10に格納されているものと同じ後述の行動モジュールおよびエピソード・ルールのデータが格納される。メモリ18はたとえばRAM等であって、ワーキングメモリやバッファメモリとして使用される。ユーザである開発者は入力装置24を操作することによって、画面上の各種ボタンないし設定を選択ないし入力する。通信回路26は通信インタフェースであって、これによって開発支援装置12はネットワークを介してまたは直接にロボット10との間でデータ通信可能にされる。なお、開発支援装置12とロボット10とは有線で接続されてもよいが、ロボット10の行動を阻害しないように無線LAN等で無線通信するのが望ましい。無線LANの種類およびモード等は種々のものが適用可能であり、たとえば電波方式,IrDA赤外線方式,Bluetooth方式等であってよく、またアドホックモードまたはインフラストラクチャモードを問わない。   The development support apparatus 12 is configured by a computer such as a personal computer (PC) or a workstation, for example, and includes a CPU 14 as shown in FIG. A memory 18, a hard disk device (HDD) 20, a display device 22 such as a liquid crystal display or a CRT, an input device 24 such as a mouse and a keyboard, and a communication circuit 26 are connected to the CPU 14 via a bus 16. The HDD 20 as the main storage device stores a program for executing this development support process, and also stores various data such as screen data displayed on the display device 22. Also, the HDD 20 stores the same action module and episode rule data described later as those stored in the robot 10. The memory 18 is, for example, a RAM and is used as a working memory or a buffer memory. A developer as a user operates the input device 24 to select or input various buttons or settings on the screen. The communication circuit 26 is a communication interface, which enables the development support apparatus 12 to communicate data with the robot 10 via a network or directly. The development support apparatus 12 and the robot 10 may be connected by wire, but it is desirable to perform wireless communication using a wireless LAN or the like so as not to hinder the action of the robot 10. Various types, modes, and the like of the wireless LAN can be applied. For example, a radio system, an IrDA infrared system, a Bluetooth system, and the like may be used, and an ad hoc mode or an infrastructure mode may be used.

ここで、まず、この開発するロボット10について説明する。コミュニケーションロボット10は、文字通り、人間とコミュニケーションすることを目的とした相互作用指向のロボットであり、特定タスクを制限されたエリアで実行する産業用ロボットのようなタスク指向のロボットとは異なる。このようなロボット10は人間と多様なコミュニケーション行動を取るために、様々な状況における多数の相互作用的な行動を備えるようにされる。このような行動はモジュール化され、「行動モジュール」として実行される。また、各行動の実行順序が規則(「エピソード・ルール」と呼ぶ。)として多数規定され、長期的に首尾一貫した前後関係または調和した状況を維持しているコミュニケーション行動が実現される。つまり、ロボット10は行動モジュールを順次実行し、行動モジュールの実行順序はエピソード・ルールによって導かれる。   Here, first, the robot 10 to be developed will be described. The communication robot 10 is literally an interaction-oriented robot for the purpose of communicating with humans, and is different from a task-oriented robot such as an industrial robot that executes a specific task in a restricted area. Such a robot 10 is provided with a large number of interactive actions in various situations in order to take various communication actions with humans. Such an action is modularized and executed as an “action module”. In addition, the execution order of each action is defined as a rule (referred to as “episode rule”), and a communication action that maintains a consistent context or a harmonious situation in the long term is realized. That is, the robot 10 sequentially executes the behavior modules, and the execution order of the behavior modules is guided by the episode rule.

さらに行動モジュールおよびエピソード・ルールについて詳しく説明する。行動モジュールは、図3に示すように、前提条件部,指示部および認識部を含む。行動モジュールを実行する際には、まず、前提条件部が実行されることによって、ロボット10は、その行動モジュールが実行可能な状況であるかどうかを確認する。たとえば、天気情報をインタネットから検索することによって天気についての行動を取ることを実現する行動モジュールは、ロボット10がインタネット接続可能でない場合には、実行可能ではなく、前提条件を満足しない。前提条件を満足する場合には、次に指示部を実行する。これにより、ロボット10は人間と相互作用する行動を取り、具体的には発声および身ぶり等を用いて所定の行動を人間に提示する。人間はこのようなロボット10の行動に対して何らかの反応をするであろう。たとえば、握手の行動モジュールでは、ロボット10は「握手しよう」と言ってその手を差し出す。この場合、その人がロボット10の行為に反応するときはその人は自分の手をロボット10の手の周囲に伸ばすであろう。したがって、認識部は、ロボット10の提示した行動に対して取ると予想される幾つかの人間の反応を認識するように設定される。このように、行動モジュールは特定の状況を生み出し、その後その特定状況下における人間の行動を認識することができる。行動モジュールは特定状況における対話的かつ反応的な行動としての作用−反作用ペアを実現する。   In addition, the behavior module and episode rules will be described in detail. The behavior module includes a precondition section, an instruction section, and a recognition section, as shown in FIG. When executing an action module, first, the precondition section is executed, so that the robot 10 confirms whether or not the action module is in an executable state. For example, an action module that implements an action about the weather by retrieving weather information from the Internet is not executable and does not satisfy the preconditions when the robot 10 is not connectable to the Internet. If the precondition is satisfied, the instruction unit is executed next. As a result, the robot 10 takes an action that interacts with a human, and specifically presents a predetermined action to the human using utterances and gestures. A human will have some reaction to the behavior of the robot 10. For example, in the handshake action module, the robot 10 says "Let's shake hands" and presents its hand. In this case, when the person reacts to the action of the robot 10, the person will extend his hand around the hand of the robot 10. Therefore, the recognition unit is set to recognize several human reactions that are expected to be taken with respect to the action presented by the robot 10. In this way, the behavior module can create a specific situation and then recognize human behavior under that particular situation. The action module realizes action-reaction pairs as interactive and reactive actions in specific situations.

この実施例のロボット10では、たとえば100を超える行動モジュールが設定され、たとえば「HELLO」(こんにちはの挨拶をして、返答を認識する),「AKUSHU」(「握手しよう」と言って手を差し出して、握手されたか認識する),「ZYAN」(「じゃんけんしよう」と言って手を出して、その周囲を凝視して人が手を出したかを認識する),「HUG」(だっこする),「FROM」(「何処から来たの」と聞いて、場所の名前を認識する)「BYE」(バイバイと言う),「TURN」(肩を叩かれたときに肩を叩いた人の方を向く),「PATROL」(パトロールといって歩き回る)等のフレンドリな行動や、「P_EYE」(目を擦るポーズ(まね)をする),「P_HEAD」(頭を掻くポーズをする)等の人間に似た特に何もしないでいる行動や、「EXPLORE」(周囲を巡回して調査する)等の日常的な仕事のような行動等を含む。   In the robot 10 of this embodiment, the action module is set, for example, more than 100, for example, "HELLO" (with the greeting of Hello, recognize the reply), held out his hand to say "AKUSHU" ( "Let's shake hands." "ZYAN" (let's say "Janken", put your hand out and stare at the surroundings to see if someone put your hand), "HUG" “FROM” (recognizes where you came from and recognizes the name of the place) “BYE” (says bye-bye), “TURN” (the person who struck the shoulder when it was struck To humans such as “P_EYE” (pauses to rub eyes), “P_HEAD” (pauses to crawl the head), etc. Similar actions that do nothing and “EXPLORE” To) including the day-to-day activities such as work such as.

行動モジュールの推移ないし遷移は、図4に示すように、順次的な遷移および反応的な遷移を含み、また、反応的モジュールが稼動される場合もある。ロボット10は現在の行動モジュールの指示部を実行した後、認識部を実行することによって人間の反応を認識する。その後、ロボット10は、現在の行動モジュールの実行を終了し、認識結果に相当する結果値を記録して、次の実行可能な行動モジュールに推移する(図4(A))。次の実行可能な行動モジュールは、現在の行動モジュールの結果値および行動モジュール実行の履歴によって決定される。この順次的な遷移はエピソード・ルールによって導かれる。また、コミュニケーションにはこのような順次的な遷移によっては解決されない問題すなわち妨害や逸脱がある。たとえば、ある人たちが話をしていて電話が鳴ったときには彼らは会話を止めて電話に応えるであろう。このような妨害および逸脱は反応的遷移および反応的モジュールによって取り扱われる。反応的遷移が現在の状況に対して決められていてかつ対応する次の行動モジュールの前提条件を満足する場合、ロボット10は現在の行動モジュールの実行を止めてすぐに次の行動モジュールに遷移する(図4(B))。この反応的な遷移もエピソード・ルールによって導かれる。一方、反応的モジュールが稼動されるときには、ロボット10は現在の行動モジュールの実行を止めず、これと並行して反応的モジュールを実行する(図4(C))。たとえば、ロボット10が人と話をしていて人がロボット10の腕に触れたとき、ロボット10は反応的モジュールを実行することによって触れられた部分を凝視して(眼球部ないし頭部を触れられた部分に向けて)、そのことに気付いていることを知らせる。   The transition or transition of the behavior module includes a sequential transition and a reactive transition, as shown in FIG. 4, and the reactive module may be activated. The robot 10 recognizes a human reaction by executing the recognition unit after executing the instruction unit of the current behavior module. Thereafter, the robot 10 ends the execution of the current behavior module, records a result value corresponding to the recognition result, and transitions to the next executable behavior module (FIG. 4A). The next executable behavior module is determined by the result value of the current behavior module and the history of behavior module execution. This sequential transition is guided by episode rules. Communication also has problems that cannot be solved by such sequential transitions, ie obstructions and deviations. For example, when some people are talking and the phone rings, they will stop talking and answer the phone. Such disturbances and deviations are handled by reactive transitions and reactive modules. If the reactive transition is determined for the current situation and satisfies the preconditions of the corresponding next behavior module, the robot 10 stops executing the current behavior module and immediately transitions to the next behavior module. (FIG. 4B). This reactive transition is also guided by episode rules. On the other hand, when the reactive module is activated, the robot 10 does not stop the execution of the current behavior module, and executes the reactive module in parallel with this (FIG. 4C). For example, when the robot 10 is talking to a person and the person touches the arm of the robot 10, the robot 10 stares at the touched part by executing a reactive module (touches the eyeball or head). Let them know that they are aware of it.

エピソード・ルールは、行動モジュールの基本的な実行順序に関する規則である。基本的な実行順序とは短期的な行動の遷移ないし推移であることを意味し、たとえば数個程度の行動モジュールの繋がりないし関係であり得るが、長期(たとえば一日中)やすべての行動の推移を定めたものではない。つまり、人間の行動について、たとえば挨拶したら握手するなど、ある程度の行動の短い繋がりあるいは順序付けを定めることが可能であるが、まる一日中の行動のすべてを予め定めることは不可能であり、エピソード・ルールとしてはこのような短い繋がりないし順序付けを規定する。エピソード・ルールは、基本的には、有る状況(履歴)において次に実行する行動モジュールが規定される。また、エピソード・ルールは、次の行動モジュールの実行を抑制するための否定の規則を含む。たとえば、ロボット10が人に何処から来たのか尋ねてその数分後にその人に同じ質問をしてしまう場合等は、状況が調和しておらず矛盾していて不適切であるので、このような不適切な行動の推移はエピソード・ルールによって抑制される。   Episodic rules are rules related to the basic execution order of behavior modules. The basic execution order means a short-term behavior transition or transition, which may be, for example, a connection or relationship of several behavior modules, but a long-term (for example all day) or transition of all behaviors. It is not defined. In other words, it is possible to determine a short connection or ordering of a certain amount of behavior, such as shaking hands when greeting, but it is impossible to predetermine all the behaviors of the whole day, and episode rules As such, this short connection or ordering is prescribed. The episode rule basically defines an action module to be executed next in a certain situation (history). The episode rule includes a negative rule for suppressing execution of the next behavior module. For example, if the robot 10 asks the person where it came from and asks the same question a few minutes later, the situation is inconsistent and contradictory and inappropriate. Inappropriate behavioral transitions are suppressed by episode rules.

エピソード・ルールは、次に示すような所定の文法に従って記述される。なお、各行動モジュールはモジュールID(Module ID)と呼ばれる独自の識別子を有している。まず、「<ModuleID=result value>」は行動モジュールの実行履歴と結果値を参照するための規則である。「<ModuleID1=result value 1><ModuleID2=result value 2>…」は前に実行された行動モジュールの順序を参照する規則を意味している。「<…>|<…>」は実行された行動モジュールの選択的グループ(“OR”)を意味している。「(…)」は行動モジュール,行動モジュールの順序または行動モジュールの選択的グループからなるブロックを意味する。「(…){n,m}」はn回以上m回以下のブロックの繰返しを意味し、同様に「(…)*」は0回以上の繰返し、「(…)+」は1回以上の繰返しを意味する。また、「!」によって全エピソード・ルールの否定が指定される。たとえば「!<…>…<…>NextModuleID」は、このエピソード・ルールが「<…>…<…>」によって指定される現在の状況に調和するときNextModuleIDが実行されないことを意味する。また、モジュールIDおよび結果値の否定は「^」によって指定される。   Episodic rules are described according to a predetermined grammar as shown below. Each behavior module has a unique identifier called a module ID. First, “<ModuleID = result value>” is a rule for referring to the execution history and result value of the behavior module. “<ModuleID1 = result value 1> <ModuleID2 = result value 2>...” ”Means a rule that refers to the order of action modules executed previously. "<...> | <...>" means a selective group ("OR") of executed behavior modules. "(...)" means a block composed of a behavior module, a sequence of behavior modules, or a selective group of behavior modules. "(...) {n, m}" means repeating the block n times or more and m times or less. Similarly, "(...) *" is repeated 0 times or more, and "(...) +" is 1 or more times. Means repetition. Also, denial of all episode rules is specified by “!”. For example, "! <...> ... <...> NextModuleID" means that NextModuleID is not executed when this episode rule matches the current situation specified by "<...> ... <...>". The negation of the module ID and the result value is designated by “^”.

この実施例では、たとえば880を超えるエピソード・ルールが設定されていて、たとえば「<HELLO>AKUSHU」(挨拶をしたら、握手する),「<TURN>AKUSHU」(肩を叩かれたら、握手する)「<AKUSHU=成功>ZYAN」(握手してもらえたら、じゃんけんする),「<AKUSHU=失敗>BYE」(握手してもらえなかったら、バイバイという),「<TURN><AKUSHU=成功>HUG」(肩を叩かれた後に、握手してもらえたら、だっこする),「!<TURN><AKUSHU=失敗>HELLO」(肩を叩かれた後に、握手してもらえなかったとき、あいさつをしない),「<^HELLO><AKUSHU=失敗><HELLO>ZYAN」(あいさつ以外の行動モジュールをして、握手してもらえなかった後に、あいさつしたら、じゃんけんする),「!<FROM>(<^BYE>)+FROM」(何処から来たのか聞いて、バイバイ以外の行動モジュールを1回以上繰り返しているとき、何処から来たのとは聞かない)等を含む。なお、上記エピソード・ルールの例では結果値を「成功」または「失敗」と記述しているが、これらは実際には所定の数値に置き換えて記述される。   In this embodiment, for example, more than 880 episode rules are set, for example, “<HELLO> AKUSHU” (shake a handshake when greeting), “<TURN> AKUSHU” (shake a handshake when you hit the shoulder) “<AKUSHU = Success> ZYAN” (If you get a handshake, you'll be Janken), “<AKUSHU = Failure> BYE” (If you don't get a handshake, it ’s called Bye Bye), “<TURN> <AKUSHU = Success> HUG” (If you get a handshake after being hit by the shoulder, I will do it), “! <TURN> <AKUSHU = failure> HELLO” (If you do not get a handshake after being hit by your shoulder, do not greet) , “<^ HELLO> <AKUSHU = failure> <HELLO> ZYAN” (Because you don't have a handshake after doing an action module other than the greeting, if you say hello, you'll be confused), “! <FROM> (<^ BYE >) + FROM ”(Listing where you came from and repeating the action module other than bye-bye more than once When, including asked not), etc. and came from where. In the example of the episode rule, the result value is described as “success” or “failure”, but these are actually described by being replaced with predetermined numerical values.

エピソード・ルールは、行動モジュール間の遷移を制御することによって、ロボット10を人間との相互作用の新たなエピソードに導く。ロボット10では、どの行動モジュールを次に実行すべきか決定するために、すべてのエピソード・ルールが行動モジュールの実行履歴と比較される。ロボット10は、現在の行動モジュールの実行中に比較を実行して、次に実行可能な行動モジュールのリストを作成する。現在の行動モジュールの実行の後、ロボット10はリスト中の各行動モジュールの前提条件を確認する。前提条件が満足される場合、その行動モジュールに推移する。エピソード・ルールは優先順位を有していて、幾つかのエピソード・ルールが競合する場合には、より高い優先順位を有するエピソード・ルールが適用される。   Episodic rules guide robot 10 to a new episode of human interaction by controlling transitions between behavioral modules. In the robot 10, all episode rules are compared to the behavior module execution history to determine which behavior module to execute next. The robot 10 performs the comparison during the execution of the current behavior module and creates a list of behavior modules that can be executed next. After execution of the current behavior module, the robot 10 checks the preconditions for each behavior module in the list. If the precondition is satisfied, the action module is entered. Episodic rules have a priority, and if several episode rules conflict, the episode rule with the higher priority is applied.

図5は行動モジュールの推移の一例を示している。初期状態として、ロボット10は「EXPLORE」によって環境を調査している。このとき、人間がロボットの肩に触れると、この状況に一致するエピソード・ルール1が適用されて、このエピソード・ルール1に従った反応的遷移が生じる。このエピソード・ルール1は、「EXPLOREが妨害されたとき、TURNを実行する」ことを規定している。ロボット10は「TURN」を実行することによって、その人の方を向く。この指示部の行為の結果が成功、つまりたとえばその人を認識できたとき、この状況に一致するエピソード・ルール2が適用される。このエピソード・ルール2は、「TURNが成功したら、GREETを実行する」ことを規定している。ロボット10は「GREET」を実行することによって、その人に挨拶し始める。そして、図5では、「GREET」の次に実行する行動モジュールを決定する際に、複数のエピソード・ルールが競合する一例が示される。つまり、行動モジュールの実行履歴と全エピソード・ルールとが比較される。行動モジュールの実行履歴とは、過去に実行した行動モジュールとその結果値,および現在実行中の行動モジュールのことであり、この比較によって、現在の状況に適合するエピソード・ルール3,4および5が選出される。ここで、エピソード・ルール3は「GREETが反応なしの結果に終わるとき、BYEを実行する」ことを規定し、エピソード・ルール4は「TURNが成功した後、GREETを実行したら(その結果がいずれであっても)、AKUSHUを実行する」ことを規定し、エピソード・ルール5は「EXPLOREが妨害された後、AKUSHU以外の行動モジュールを1回以上5回以下繰返しているとき、BYEを実行しない」ことを規定している。つまり、「BYE」がエピソード・ルール3によって選択される次に実行可能なモジュールの候補であり、「AKUSHU」がエピソード・ルール4によって選択される次実行可能モジュールの候補であり、エピソード・ルール5は「BYE」への遷移を抑制する。この場合、競合する各エピソード・ルールの優先順位に従って、適用するエピソード・ルールが決定されて、次に実行する行動モジュールが決定される。たとえばエピソード・ルール5の優先順位がエピソード・ルール3のそれよりも高い場合には、「BYE」は次に実行される行動モジュールではなくなる。なお、さらに優先順位が同一となるときは、次実行モジュールはたとえばランダムで決定する。   FIG. 5 shows an example of behavior module transition. As an initial state, the robot 10 investigates the environment by “EXPLORE”. At this time, when a human touches the shoulder of the robot, the episode rule 1 corresponding to this situation is applied, and a reactive transition according to the episode rule 1 occurs. This episode rule 1 stipulates that “Turn is performed when EXPLORE is interrupted”. The robot 10 turns to the person by executing “TURN”. When the result of the action of the instruction unit is successful, that is, for example, the person can be recognized, the episode rule 2 corresponding to this situation is applied. This episode rule 2 stipulates that “If the TURN is successful, execute GREET”. The robot 10 starts to greet the person by executing “GREET”. FIG. 5 shows an example in which a plurality of episode rules compete when determining a behavior module to be executed next to “GREET”. That is, the action module execution history and all episode rules are compared. The execution history of the action module is an action module executed in the past, a result value thereof, and an action module currently being executed. By this comparison, episode rules 3, 4 and 5 suitable for the current situation are obtained. Elected. Here, Episode Rule 3 stipulates that BYE is executed when GREET ends with an unresponsive result, and Episode Rule 4 states that if TURN succeeds and GREET is executed (the result is (Even if) Executes AKUSHU ”, and Episode Rule 5 does not execute BYE when an action module other than AKUSHU is repeated one to five times after EXPLORE is interrupted " That is, “BYE” is a candidate for the next executable module selected by the episode rule 3, “AKUSHU” is a candidate for the next executable module selected by the episode rule 4, and the episode rule 5 Suppresses the transition to “BYE”. In this case, the episode rule to be applied is determined according to the priority order of the competing episode rules, and the action module to be executed next is determined. For example, if the priority of episode rule 5 is higher than that of episode rule 3, “BYE” is not the next action module to be executed. If the priorities are further the same, the next execution module is determined at random, for example.

このロボット10の多様なコミュニケーション行動を行うためのソフトウェア面の構成の説明をしたが、以下には、ロボット10のハードウェア面の構成を説明する。   Although the configuration of the software surface for performing various communication actions of the robot 10 has been described, the configuration of the hardware surface of the robot 10 will be described below.

図6を参照して、ロボット10は、台車28を含み、この台車28の下面には、このロボット10を自律移動させる車輪30が設けられる。この車輪30は、車輪モータ(図7において参照番号「86」で示す。)によって駆動され、台車28すなわちロボット10を前後左右任意の方向に動かすことができる。なお、図示しないが、この台車28の前面には、衝突センサ(図7において、参照番号「94」で示す。)が取り付けられ、この衝突センサは、台車28への人や他の障害物の接触を検知する。そして、ロボット10の移動中に障害物との接触を検知すると、直ちに車輪30の駆動を停止してロボット10の移動を急停止させて衝突を未然に防ぐ。   With reference to FIG. 6, the robot 10 includes a carriage 28, and wheels 30 for autonomously moving the robot 10 are provided on the lower surface of the carriage 28. The wheel 30 is driven by a wheel motor (indicated by reference numeral “86” in FIG. 7), and the carriage 28, that is, the robot 10 can be moved in any direction. Although not shown, a collision sensor (indicated by reference numeral “94” in FIG. 7) is attached to the front surface of the carriage 28, and this collision sensor is used for a person or other obstacle to the carriage 28. Detect contact. When contact with an obstacle is detected during the movement of the robot 10, the driving of the wheels 30 is immediately stopped to suddenly stop the movement of the robot 10 to prevent a collision.

なお、ロボット10の背の高さは、この実施例では、人、特に子供に威圧感をあたえることがないように、100cm程度とされている。ただし、この背の高さは任意に変更可能である。   In this embodiment, the height of the robot 10 is set to about 100 cm so as not to intimidate people, particularly children. However, this height can be arbitrarily changed.

台車28の上には、多角形柱のセンサ取付パネル32が設けられ、このセンサ取付パネル32の各面には、超音波距離センサ34が取り付けられる。この超音波距離センサ34は、取付パネル32すなわちロボット10の周囲の主として人との間の距離を計測するものである。   A polygonal column sensor mounting panel 32 is provided on the carriage 28, and an ultrasonic distance sensor 34 is mounted on each surface of the sensor mounting panel 32. The ultrasonic distance sensor 34 measures the distance between the mounting panel 32, that is, the person around the robot 10 mainly.

台車28の上には、さらに、下部が上述の取付パネル32に囲まれて、ロボット10の胴体が直立するように取り付けられる。この胴体は下部胴体36と上部胴体38とから構成され、これら下部胴体36および上部胴体38は、連結部40によって、連結される。連結部40には、図示しないが、昇降機構が内蔵されていて、この昇降機構を用いることによって、上部胴体38の高さすなわちロボット10の高さを変化させることができる。昇降機構は、後述のように、腰モータ(図7において参照番号「84」で示す。)によって駆動される。上で述べたロボット10の身長100cmは、上部胴体38をそれの最下位置にしたときの値である。したがって、ロボット10の身長は100cm以上にすることができる。   On the carriage 28, the lower part is surrounded by the above-described mounting panel 32, and the body of the robot 10 is attached so as to stand upright. The body includes a lower body 36 and an upper body 38, and the lower body 36 and the upper body 38 are connected by a connecting portion 40. Although not shown, the connecting portion 40 has a built-in lifting mechanism. By using this lifting mechanism, the height of the upper body 38, that is, the height of the robot 10 can be changed. As will be described later, the elevating mechanism is driven by a waist motor (indicated by reference numeral “84” in FIG. 7). The height 100 cm of the robot 10 described above is a value when the upper body 38 is at its lowest position. Therefore, the height of the robot 10 can be 100 cm or more.

上部胴体38のほぼ中央には、1つの全方位カメラ42と、1つのマイク44とが設けられる。全方位カメラ42は、ロボット10の周囲を撮影するもので、後述の眼カメラ64と区別される。マイク44は、周囲の音、とりわけ人の声を取り込む。   One omnidirectional camera 42 and one microphone 44 are provided in the approximate center of the upper body 38. The omnidirectional camera 42 photographs the surroundings of the robot 10 and is distinguished from an eye camera 64 described later. The microphone 44 captures ambient sounds, particularly human voice.

上部胴体38の両肩には、それぞれ、肩関節46Rおよび46Lによって、上腕48Rおよび48Lが取り付けられる。肩関節46Rおよび46Lは、それぞれ3軸の自由度を有する。すなわち、肩関節46Rは、X軸,Y軸およびZ軸のそれぞれの軸廻りにおいて上腕48Rの角度を制御できる。Y軸は、上腕48Rの長手方向(または軸)に並行な軸であり、X軸およびZ軸は、そのY軸に、それぞれ異なる方向から直交する軸である。肩関節46Lは、A軸,B軸およびC軸のそれぞれの軸廻りにおいて上腕48Lの角度を制御できる。B軸は、上腕48Lの長手方向(または軸)に並行な軸であり、A軸およびC軸は、そのB軸に、それぞれ異なる方向から直交する軸である。   Upper arms 48R and 48L are attached to both shoulders of upper body 38 by shoulder joints 46R and 46L, respectively. The shoulder joints 46R and 46L each have three axes of freedom. That is, the shoulder joint 46R can control the angle of the upper arm 48R around each of the X axis, the Y axis, and the Z axis. The Y axis is an axis parallel to the longitudinal direction (or axis) of the upper arm 48R, and the X axis and the Z axis are axes orthogonal to the Y axis from different directions. The shoulder joint 46L can control the angle of the upper arm 48L around each of the A, B, and C axes. The B axis is an axis parallel to the longitudinal direction (or axis) of the upper arm 48L, and the A axis and the C axis are axes orthogonal to the B axis from different directions.

上腕48Rおよび48Lのそれぞれの先端には、肘関節50Rおよび50Lを介して、前腕52Rおよび52Lが取り付けられる。肘関節50Rおよび50Lは、それぞれ、W軸およびD軸の軸廻りにおいて、前腕52Rおよび52Lの角度を制御できる。   Forearms 52R and 52L are attached to the tips of upper arms 48R and 48L via elbow joints 50R and 50L, respectively. The elbow joints 50R and 50L can control the angles of the forearms 52R and 52L around the axes of the W axis and the D axis, respectively.

なお、上腕48Rおよび48Lならびに前腕52Rおよび52L(いずれも図6)の変位を制御するX,Y,X,W軸およびA,B,C,D軸では、「0度」がホームポジションであり、このホームポジションでは、上腕48Rおよび48Lならびに前腕52Rおよび52Lは下方向に向けられる。   In the X, Y, X, W axes and the A, B, C, D axes that control the displacement of the upper arms 48R and 48L and the forearms 52R and 52L (FIG. 6), “0 degree” is the home position. In this home position, the upper arms 48R and 48L and the forearms 52R and 52L are directed downward.

また、図示しないが、上部胴体38の肩関節46Rおよび46Lを含む肩の部分や上述の上腕48Rおよび48Lならびに前腕52Rおよび52Lには、それぞれ、タッチセンサが設けられていて、これらのタッチセンサは、人がロボット10のこれらの部位に接触したかどうかを検知する。これらのタッチセンサも図7において参照番号92で包括的に示す。   Although not shown, touch sensors are provided on the shoulder portion of the upper body 38 including the shoulder joints 46R and 46L, the upper arms 48R and 48L, and the forearms 52R and 52L, respectively. , It detects whether a person has touched these parts of the robot 10. These touch sensors are also generally indicated by reference numeral 92 in FIG.

前腕52Rおよび52Lのそれぞれの先端には、手に相当する球体54Rおよび54Lがそれぞれ固定的に取り付けられる。なお、この球体54Rおよび54Lに代えて、この実施例のロボット10と異なり指の機能が必要な場合には、人の手の形をした「手」を用いることも可能である。   Spheres 54R and 54L corresponding to hands are fixedly attached to the tips of the forearms 52R and 52L, respectively. In place of the spheres 54R and 54L, a “hand” in the shape of a human hand can be used when a finger function is required unlike the robot 10 of this embodiment.

なお、ロボット10の形状・寸法等は適宜に設定されるが、他の実施例では、たとえば、上部胴体38は、前面,背面,右側面,左側面,上面および底面を含み、右側面および左側面は表面が斜め前方に向くように形成してもよい。つまり、前面の横幅が背面の横幅よりも短く、上部胴体38を上から見た形状が台形になるように形成されてもよい。このような場合、肩関節46Rおよび46Lは、右側面および左側面に、その表面が左右両側面とそれぞれ平行である左右の支持部を介して取り付けられる。そして、上腕48Rおよび上腕48Lの回動範囲は、これら左右側面または支持部の表面(取り付け面)によって規制され、上腕48Rおよび48Lは取り付け面を超えて回動することはない。しかし、左右側面の傾斜角,B軸とY軸との間隔,上腕48Rおよび48Lの長さ,ならびに前腕52Rおよび52Lの長さ等を適宜に設定すれば、上腕48Rおよび48Lは前方を越えてより内側まで回動できるので、たとえW軸およびD軸による腕の自由度がなくてもロボット10の腕は前方で交差できる。したがって、腕の自由度が少ない場合でも正面に位置する人と抱き合うなどの密接なコミュニケーション(たとえば「HUG」の行動モジュール等)を図ることができる。   Although the shape, dimensions, etc. of the robot 10 are set as appropriate, in other embodiments, for example, the upper body 38 includes a front surface, a back surface, a right side surface, a left side surface, a top surface, and a bottom surface. The surface may be formed so that the surface faces obliquely forward. In other words, the width of the front surface may be shorter than the width of the back surface, and the shape of the upper body 38 viewed from above may be a trapezoid. In such a case, the shoulder joints 46R and 46L are attached to the right side surface and the left side surface via left and right support portions whose surfaces are parallel to the left and right side surfaces, respectively. The rotation ranges of the upper arm 48R and the upper arm 48L are restricted by the left and right side surfaces or the surface (attachment surface) of the support portion, and the upper arms 48R and 48L do not rotate beyond the attachment surface. However, if the inclination angle of the left and right side surfaces, the distance between the B axis and the Y axis, the lengths of the upper arms 48R and 48L, the lengths of the forearms 52R and 52L, etc. are appropriately set, the upper arms 48R and 48L will exceed the front. Since it can rotate to the inner side, the arms of the robot 10 can cross forward even if there is no degree of freedom of the arms by the W axis and D axis. Therefore, even when the degree of freedom of the arm is small, close communication such as embracing with a person located in front can be achieved (for example, an action module of “HUG”).

上部胴体38の中央上方には、首関節56を介して、頭部58が取り付けられる。この首関節56は、3つの自由度を有し、S軸,T軸およびU軸の各軸廻りに角度制御可能である。S軸は首から真上に向かう軸であり、T軸およびU軸は、それぞれ、このS軸に対して異なる方向で直交する軸である。頭部58には、人の口に相当する位置に、スピーカ60が設けられる。スピーカ60は、ロボット10が、それの周囲の人に対して音声または声によってコミュニケーションを図るために用いられる。ただし、スピーカ60は、ロボット10の他の部位たとえば胴体に設けられてもよい。   A head 58 is attached to an upper center of the upper body 38 via a neck joint 56. The neck joint 56 has three degrees of freedom and can be angle-controlled around each of the S, T, and U axes. The S-axis is an axis that goes directly from the neck, and the T-axis and the U-axis are axes that are orthogonal to the S-axis in different directions. The head 58 is provided with a speaker 60 at a position corresponding to a human mouth. The speaker 60 is used for the robot 10 to communicate with the people around it by voice or voice. However, the speaker 60 may be provided in another part of the robot 10, for example, the body.

また、頭部58には、目に相当する位置に眼球部62Rおよび62Lが設けられる。眼球部62Rおよび62Lは、それぞれ眼カメラ64Rおよび64Lを含む。なお、右の眼球部62Rおよび左の眼球部62Lをまとめて眼球部62といい、右の眼カメラ64Rおよび左の眼カメラ64Lをまとめて眼カメラ64ということもある。眼カメラ64は、ロボット10に接近した人の顔や他の部分ないし物体等を撮影してその映像信号を取り込む。   The head portion 58 is provided with eyeball portions 62R and 62L at positions corresponding to the eyes. Eyeball portions 62R and 62L include eye cameras 64R and 64L, respectively. The right eyeball part 62R and the left eyeball part 62L may be collectively referred to as the eyeball part 62, and the right eye camera 64R and the left eye camera 64L may be collectively referred to as the eye camera 64. The eye camera 64 captures the video signal by photographing the face of the person approaching the robot 10 and other parts or objects.

なお、上述の全方位カメラ42および眼カメラ64のいずれも、たとえばCCDやCMOSのように個体撮像素子を用いるカメラであってよい。   Note that each of the omnidirectional camera 42 and the eye camera 64 described above may be a camera using a solid-state image sensor such as a CCD or a CMOS.

たとえば、眼カメラ64は眼球部62内に固定され、眼球部62は眼球支持部(図示せず)を介して頭部58内の所定位置に取り付けられる。眼球支持部は、2軸の自由度を有し、α軸およびβ軸の各軸廻りに角度制御可能である。α軸およびβ軸は頭部58に対して設定される軸であり、α軸は頭部58の上へ向かう方向の軸であり、β軸はα軸に直交しかつ頭部58の正面側(顔)が向く方向に直交する方向の軸である。この実施例では、頭部58がホームポジションにあるとき、α軸はS軸に平行し、β軸はU軸に平行するように設定されている。このような頭部58において、眼球支持部がα軸およびβ軸の各軸廻りに回転されることによって、眼球部62ないし眼カメラ64の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。   For example, the eye camera 64 is fixed in the eyeball unit 62, and the eyeball unit 62 is attached to a predetermined position in the head 58 via an eyeball support unit (not shown). The eyeball support unit has two degrees of freedom and can be controlled in angle around each of the α axis and the β axis. The α axis and the β axis are axes set with respect to the head 58, the α axis is an axis in a direction toward the top of the head 58, the β axis is orthogonal to the α axis and the front side of the head 58 It is an axis in a direction orthogonal to the direction in which (face) faces. In this embodiment, when the head 58 is at the home position, the α axis is set to be parallel to the S axis and the β axis is set to be parallel to the U axis. In such a head 58, the tip (front) side of the eyeball unit 62 or the eye camera 64 is displaced by rotating the eyeball support portion around each of the α axis and β axis, and the camera axis, that is, the line-of-sight direction is changed. Moved.

なお、眼カメラ64の変位を制御するα軸およびβ軸では、「0度」がホームポジションであり、このホームポジションでは、図6に示すように、眼カメラ64のカメラ軸は頭部58の正面側(顔)が向く方向に向けられ、視線は正視状態となる。   In the α axis and β axis that control the displacement of the eye camera 64, “0 degree” is the home position. At this home position, the camera axis of the eye camera 64 is the head 58 as shown in FIG. The direction of the front side (face) is directed, and the line of sight is in the normal viewing state.

図6に示すロボット10の制御系の構成が図7のブロック図に示される。図7に示すように、このロボット10は、全体の制御のためにマイクロコンピュータまたはCPU66を含み、このCPU66には、バス68を通して、メモリ70,モータ制御ボード72,センサ入力/出力ボード74および音声入力/出力ボード76が接続される。   The configuration of the control system of the robot 10 shown in FIG. 6 is shown in the block diagram of FIG. As shown in FIG. 7, the robot 10 includes a microcomputer or CPU 66 for overall control. The CPU 66 is connected to a memory 70, a motor control board 72, a sensor input / output board 74, and a voice through a bus 68. An input / output board 76 is connected.

メモリ70は、図示しないが、ROMやRAMを含み、ROMにはこのロボット10の制御プログラムが予め書き込まれているとともに、複数の行動モジュールのデータ,複数のエピソード・ルールのデータや、各行動モジュールの実行の際にスピーカ60から発生すべき音声または声の音声データ,所定の身ぶりを示すための角度データ等が格納されている。RAMは、一時記憶メモリとして用いられるとともに、ワーキングメモリとして利用され得る。   The memory 70 includes a ROM and a RAM (not shown), and the ROM 10 is pre-stored with a control program for the robot 10, and includes data for a plurality of behavior modules, data for a plurality of episodes and rules, and each behavior module. The voice or voice data to be generated from the speaker 60 when performing the above, angle data for indicating a predetermined gesture, and the like are stored. The RAM is used as a temporary storage memory and can be used as a working memory.

モータ制御ボード72は、たとえばDSP(Digital Signal Processor)で構成され、各腕や頭部および眼球部等の各軸モータを制御する。すなわち、モータ制御ボード72は、CPU66からの制御データを受け、右肩関節46RのX,YおよびZ軸のそれぞれの角度を制御する3つのモータと右肘関節50Rの軸Wの角度を制御する1つのモータとの計4つのモータ(図7ではまとめて、「右腕モータ」として示す。)78の回転角度を調節する。また、モータ制御ボード72は、左肩関節46LのA,BおよびC軸のそれぞれの角度を制御する3つのモータと左肘関節50LのD軸の角度を制御する1つのモータとの計4つのモータ(図4ではまとめて、「左腕モータ」として示す。)80の回転角度を調節する。モータ制御ボード72は、また、頭部58のS,TおよびU軸のそれぞれの角度を制御する3つのモータ(図4ではまとめて、「頭部モータ」として示す。)82の回転角度を調節する。モータ制御ボード72は、また、腰モータ84、および車輪30を駆動する2つのモータ(図4ではまとめて、「車輪モータ」として示す。)86を制御する。   The motor control board 72 is configured by a DSP (Digital Signal Processor), for example, and controls each axis motor such as each arm, head, and eyeball. That is, the motor control board 72 receives the control data from the CPU 66 and controls the angles of the three motors for controlling the X, Y, and Z axes of the right shoulder joint 46R and the axis W of the right elbow joint 50R. The rotation angles of a total of four motors, one motor, (collectively shown as “right arm motor” in FIG. 7) 78 are adjusted. Further, the motor control board 72 has a total of four motors including three motors for controlling the angles of the A, B and C axes of the left shoulder joint 46L and one motor for controlling the angle of the D axis of the left elbow joint 50L. (In FIG. 4, collectively shown as “left arm motor”.) The rotation angle of 80 is adjusted. The motor control board 72 also adjusts the rotation angle of three motors 82 (collectively shown as “head motors” in FIG. 4) that control the angles of the S, T, and U axes of the head 58. To do. The motor control board 72 also controls a waist motor 84 and two motors 86 (hereinafter collectively referred to as “wheel motors”) 86 that drive the wheels 30.

さらに、モータ制御ボード72は、右眼球部62Rのα軸およびβ軸のそれぞれの角度を制御する2つのモータ(図7ではまとめて、「右眼球モータ」として示す。)88の回転角度を調節し、また、左眼球部62Lのα軸およびβ軸のそれぞれの角度を制御する2つのモータ(図4ではまとめて、「左眼球モータ」として示す。)90の回転角度を調節する。   Furthermore, the motor control board 72 adjusts the rotation angles of two motors 88 (collectively shown as “right eyeball motor” in FIG. 7) that control the angles of the α axis and β axis of the right eyeball portion 62R. In addition, the rotation angles of two motors 90 that collectively control the angles of the α axis and the β axis of the left eyeball portion 62L (collectively shown as “left eyeball motor” in FIG. 4) 90 are adjusted.

なお、この実施例の上述のモータは、車輪モータ86を除いて、制御を簡単化するためにそれぞれステッピングモータまたはパルスモータであるが、車輪モータ86と同様に、直流モータであってよい。   The above-described motors of this embodiment are stepping motors or pulse motors for simplifying the control except for the wheel motors 86, but may be direct current motors similarly to the wheel motors 86.

センサ入力/出力ボード74も、同様に、DSPで構成され、各センサやカメラからの信号を取り込んでCPU66に与える。すなわち、超音波距離センサ34の各々からの反射時間に関するデータがこのセンサ入力/出力ボード74を通して、CPU66に入力される。また、全方位カメラ42からの映像信号が、必要に応じてこのセンサ入力/出力ボード74で所定の処理が施された後、CPU66に入力される。眼カメラ64からの映像信号も、同様にして、CPU66に与えられる。なお、この図7では、図6で説明したタッチセンサは、まとめて「タッチセンサ92」として表され、それらのタッチセンサ92からの信号がセンサ入力/出力ボード74を介して、CPU66に与えられる。   Similarly, the sensor input / output board 74 is also constituted by a DSP, and takes in signals from each sensor and camera and gives them to the CPU 66. That is, data relating to the reflection time from each of the ultrasonic distance sensors 34 is input to the CPU 66 through the sensor input / output board 74. Further, a video signal from the omnidirectional camera 42 is input to the CPU 66 after being subjected to predetermined processing by the sensor input / output board 74 as required. Similarly, the video signal from the eye camera 64 is also supplied to the CPU 66. In FIG. 7, the touch sensors described in FIG. 6 are collectively represented as “touch sensors 92”, and signals from the touch sensors 92 are given to the CPU 66 via the sensor input / output board 74. .

スピーカ60には音声入力/出力ボード76を介して、CPU66から、合成音声データが与えられ、それに応じて、スピーカ60からはそのデータに従った音声または声が出力される。そして、マイク44からの音声入力が、音声入力/出力ボード76を介して、CPU66に取り込まれる。   The synthesized sound data is given to the speaker 60 from the CPU 66 via the sound input / output board 76, and the sound or voice according to the data is outputted from the speaker 60 accordingly. Then, the voice input from the microphone 44 is taken into the CPU 66 via the voice input / output board 76.

通信LANボード96も、同様に、DSPで構成され、CPU66から送られた送信データを無線装置98に与え、無線装置98から送信データを送信させる。また、通信LANボード96は無線装置98を介してデータを受信し、受信データをCPU66に与える。この通信LANボード96および無線装置98によって、ロボット10はこの開発支援装置12または有線LANのアクセスポイント等と無線通信を行うことができ、また完成後には他のロボット10等とも無線通信を行うことができる。   Similarly, the communication LAN board 96 is constituted by a DSP, and sends transmission data sent from the CPU 66 to the wireless device 98 and causes the wireless device 98 to transmit the transmission data. The communication LAN board 96 receives data via the wireless device 98 and supplies the received data to the CPU 66. The communication LAN board 96 and the wireless device 98 allow the robot 10 to perform wireless communication with the development support device 12 or a wired LAN access point, and perform wireless communication with other robots 10 after completion. Can do.

ロボット10は、左右の腕部分,頭部58および眼球部62等の動きを制御することによって所定の身ぶりを示し、またスピーカ60から音声を出力することによって発声して、行動モジュールの指示部を実行する。そして、ロボット10は、カメラ42,眼カメラ64,マイク44およびタッチセンサ92等を用いて、行動モジュールの認識部の実行、すなわち人の反応の認識を行う。   The robot 10 shows a predetermined gesture by controlling the movement of the left and right arm portions, the head 58, the eyeball unit 62, and the like, and utters by outputting a sound from the speaker 60, and displays the instruction unit of the action module. Execute. Then, the robot 10 uses the camera 42, the eye camera 64, the microphone 44, the touch sensor 92, and the like to execute the action module recognition unit, that is, to recognize a human reaction.

開発支援装置12(図1)は、上述のような行動モジュールおよびエピソード・ルールを基本的構成とするロボット10の開発に役立つものである。開発支援装置12は、行動モジュールの視覚化機能,エピソード・ルールの検索機能,およびエピソード・ルールの入力機能を主に備えている。   The development support apparatus 12 (FIG. 1) is useful for developing the robot 10 having the above-described behavior modules and episode rules as basic configurations. The development support apparatus 12 mainly includes a behavior module visualization function, an episode rule search function, and an episode rule input function.

すなわち、開発支援装置12は、多数の行動モジュールの実行およびこれら行動モジュール間の複雑な関係を視覚化する機能を有しており、この視覚化機能によって、多数のモジュール間の関係を大局的にかつ簡単に把握することが可能となる。また、開発支援装置12は、実装されたエピソード・ルールを検索する機能を有し、検索条件に基づいて、該当するエピソード・ルールおよび次に実行可能な行動モジュールの候補が選出される。また、開発支援装置12は、エピソード・ルールを入力する機能、つまり、既存のエピソード・ルールを修正し、また、新たなエピソード・ルールを作成する機能を有し、この入力機能によって、開発者はロボット10の行動を制御するエピソード・ルールの開発を行うことができる。具体的には、既存のエピソード・ルールを部分修正したり、否定のエピソード・ルールを作成したりすることで、ロボット12の行動を完成させる場合に特に役立つであろう。   That is, the development support apparatus 12 has a function of visualizing the execution of a large number of behavior modules and a complex relationship between the behavior modules. And it becomes possible to grasp easily. Further, the development support apparatus 12 has a function of searching for the mounted episode / rule, and based on the search condition, the corresponding episode / rule and the next executable module candidate are selected. Further, the development support apparatus 12 has a function of inputting an episode rule, that is, a function of correcting an existing episode rule and creating a new episode rule. With this input function, the developer can An episode rule that controls the behavior of the robot 10 can be developed. Specifically, it will be particularly useful when completing the action of the robot 12 by partially modifying an existing episode rule or creating a negative episode rule.

開発支援装置12では、開発支援処理が開始されると、たとえば図12に示すようなメイン画面が表示装置22に表示される。このメイン画面は、行動モジュールの関係が表示される視覚化画面100を備える。図12の視覚化画面100には初期状態が示されており、行動モジュールの矩形状のアイコン画像が整列して表示されている。   In the development support apparatus 12, when the development support process is started, for example, a main screen as shown in FIG. The main screen includes a visualization screen 100 on which the behavior module relationship is displayed. The visualization screen 100 in FIG. 12 shows an initial state, and rectangular icon images of behavior modules are displayed in an aligned manner.

また、図12の画面右側には、実装されている行動モジュールのリストや内容説明等が表示されるモジュール画面等が、境界部分の切換ボタンによって表示/非表示の切換可能に設けられる。   In addition, on the right side of the screen in FIG. 12, a module screen or the like on which a list of installed behavior modules, a description of contents, and the like are displayed can be switched between display and non-display by a boundary switching button.

さらに、メイン画面は、たとえば図13に示すように、検索結果が表示される検索画面102を備える。なお、検索画面102も境界部分の切換ボタンによって表示/非表示の切換可能であり、図12では検索画面102は非表示状態である。   Furthermore, the main screen includes a search screen 102 on which search results are displayed, for example, as shown in FIG. Note that the search screen 102 can also be switched between display and non-display by a boundary switching button, and the search screen 102 is in a non-display state in FIG.

検索画面102には、検索結果に従って、すなわち検索条件に該当するエピソード・ルールの文が該当数とともに表示される。検索モードとしては現在検索,過去検索および文字検索の3つのタイプを備えている。検索タイプは、検索画面102上部に設けられた現在検索ボタン104,過去検索ボタン106および文字検索ボタン108によって選択できる。なお、通常は現在検索が選択されている。   On the search screen 102, the sentence of the episode rule corresponding to the search condition is displayed together with the number of hits according to the search result. There are three types of search modes: current search, past search, and character search. The search type can be selected by a current search button 104, a past search button 106, and a character search button 108 provided at the top of the search screen 102. Normally, search is currently selected.

視覚化画面100には、各検索タイプに応じた検索結果に基づいて、各行動モジュールの関係が図式的に視覚化されて表示される。つまり、各行動モジュールはアイコン化され、行動モジュールのアイコン画像が視覚化画面100に表示される。各アイコンの配置は全行動モジュールの関係性を考慮して設定される。また、各アイコンの表示形態は、検索モードごとの着目時点に対する各行動モジュールの関係に従って区別して設定される。   On the visualization screen 100, the relationship between the behavior modules is graphically visualized and displayed based on a search result corresponding to each search type. That is, each behavior module is iconified, and an icon image of the behavior module is displayed on the visualization screen 100. The arrangement of each icon is set in consideration of the relationship between all action modules. In addition, the display form of each icon is set in accordance with the relationship of each action module with respect to the time of interest for each search mode.

図13の視覚化画面100では、現在検索モードにおける一例が示されている。行動モジュールのアイコンは、各行動モジュール間の関係の力に基づいて配置される。行動モジュール間の関係の強さは、行動モジュールどうしを結び付ける関係(エピソード・ルール)が多く規定されているほど強くなり、視覚化画面100において互いに接近して現れることとなる。2つの行動モジュール間の関係の力は、ばねモデル方式として知られる次の式(数1)によって算出される。   The visualization screen 100 in FIG. 13 shows an example in the current search mode. The behavior module icons are arranged based on the power of the relationship between the behavior modules. The strength of the relationship between the behavior modules becomes stronger as more relationships (episode rules) linking the behavior modules are defined, and appear closer to each other on the visualization screen 100. The force of the relationship between the two behavior modules is calculated by the following equation (Equation 1) known as the spring model method.

[数1]
ij=Kij・Dij−R・Dij -7
ここで、iとjはそれぞれ1つの行動モジュールであり、Fij,DijおよびKijはそれぞれ行動モジュールiとjとの間に働く力,距離およびばね定数である。また、Rは反発力のための定数である。
[Equation 1]
F ij = K ij · D ij -R · D ij -7
Here, i and j are each one behavior module, and F ij , D ij and K ij are the force, distance and spring constant acting between the behavior modules i and j, respectively. R is a constant for repulsive force.

そして、各行動モジュールの位置は、すべての行動モジュールにおいてFijが釣り合うように収束計算することによって算出される。 The position of each behavior module is calculated by performing convergence calculation so that F ij is balanced in all behavior modules.

また、各行動モジュールのアイコンの表示形態は、たとえば色,形状および大きさ等を検索モードごとの着目時点に対する関係性に従って異ならせて設定される。   In addition, the display form of the icon of each behavior module is set, for example, by changing the color, shape, size, and the like according to the relationship to the point of interest for each search mode.

現在検索は現在の状態を調査するものであるから、その着目時点は現在である。したがって、現在検索では、現在実行中の行動モジュールに対する関係性によって表示形態が区別される。現在実行中の行動モジュールのアイコンには、「現在アイコン」が使用される。たとえば、現在アイコンは赤色に彩色され、矩形状で、かつ、大きく設定される。また、現在の行動モジュールよりも過去に実行した行動モジュールのアイコンには、「過去アイコン」が使用される。たとえば、過去アイコンは青色に彩色され、矩形状で、かつ、現在アイコンよりも小さい中程度の大きさに設定される。さらに、過去アイコンと現在アイコンとは、実行順序に従って、たとえば黄色い連結線で連結される。また、検索の結果得られる次に実行可能な行動モジュールの候補のアイコンには、「次アイコン」が使用される。たとえば、次アイコンは緑色に彩色され、矩形状で、かつ、現在アイコンと同程度に大きく設定される。なお、この例では、これら過去,現在および次アイコン枠内には行動モジュールのID(ModuleID)が表示されている。また、着目時点である現在の行動モジュールとは直接の関係のない残りの行動モジュールのアイコンには、「無関係アイコン」が使用される。無関係アイコンは灰色に彩色され、正方形で、かつ、非常に小さく設定される。   Since the current search is to investigate the current state, the point of interest is now. Therefore, in the current search, the display form is distinguished by the relationship with the currently executing action module. The “current icon” is used as the icon of the action module currently being executed. For example, the current icon is colored red, rectangular, and large. Also, “past icon” is used as the icon of the action module executed in the past than the current action module. For example, the past icon is colored blue, is rectangular, and is set to a medium size that is smaller than the current icon. Further, the past icon and the current icon are connected by, for example, a yellow connecting line according to the execution order. Further, “next icon” is used as an icon of a candidate for a next executable action module obtained as a result of the search. For example, the next icon is colored green, is rectangular, and is set as large as the current icon. In this example, the behavior module ID (ModuleID) is displayed in the past, present, and next icon frames. In addition, an “irrelevant icon” is used for the icons of the remaining behavior modules that are not directly related to the current behavior module at the time of interest. Irrelevant icons are colored gray, square, and very small.

なお、図13,14および15の視覚化画面100では、現在アイコンには参照符号Gを、過去アイコンには参照符号Kを付している。また、参照符号を付してない矩形状のアイコンは、次アイコンである。   In addition, in the visualization screen 100 of FIG.13, 14 and 15, the reference symbol G is attached | subjected to the present icon and the reference symbol K is attached | subjected to the past icon. A rectangular icon without a reference sign is the next icon.

現在検索処理は、ロボット10で行われる次実行モジュールの決定処理と同様のものであるため、この実施例では、ロボット10から行動モジュールの実行履歴,該当エピソード・ルールおよび次実行可能モジュールのデータを現状情報として受信するようにしている。行動モジュールの実行履歴データは、過去に実行した行動モジュールとそれらの結果値、および現在実行中の行動モジュールを含む。具体的には、この処理では、行動モジュールの実行履歴と全エピソード・ルールとが比較されて、該当するエピソード・ルールが選出されるとともに、選出されたエピソード・ルールに基づいて、次に実行可能な行動モジュールの候補が選出される。このようにして取得した検索結果すなわち現状情報に従って、各行動モジュールの表示形態が設定されて、アイコンが視覚化画面100に表示され、また、検索画面102にも、検索結果に従った該当エピソード・ルールが表示される。   Since the current search process is the same as the process for determining the next execution module performed by the robot 10, in this embodiment, the execution history of the action module, the corresponding episode / rule, and the data of the next executable module are obtained from the robot 10. It is received as current status information. The action module execution history data includes action modules that have been executed in the past, their result values, and action modules that are currently being executed. Specifically, in this process, the execution history of the behavior module is compared with all episode rules, and the corresponding episode rule is selected, and the next execution is possible based on the selected episode rule. Candidate for a behavioral module is selected. The display form of each behavior module is set according to the search result obtained in this way, that is, the current status information, icons are displayed on the visualization screen 100, and the search screen 102 also includes the corresponding episode / The rules are displayed.

図14は、図13の状態からロボット10が次の行動に移った後の状態を示している。つまり、図14では、図13の次実行可能モジュール候補の中から1つの次実行モジュールが選択され実行された後の現在検索の結果が示される。具体的には、図13で現在の行動モジュールとして現在アイコン(参照符号G)で表示されていた行動モジュール(「ASOBO」)が、図14では過去の行動モジュールの1つとして過去アイコン(参照符号K)で表示され、図13で次実行可能モジュールの1つとして次アイコンで表示されていた行動モジュール(「T_TSU」)が、図14では現在の行動モジュールとして現在アイコン(参照符号G)で表示されるとともに、これら変更のあった現在アイコンと過去アイコン(「ASOBO」と「T_TSU」)とが図14では新たに連結線で連結される。また、この状態における新たな次実行可能モジュールの候補が次アイコンで表示される。また、検索画面102も更新され、新たな該当エピソード・ルールが表示される。   FIG. 14 shows a state after the robot 10 moves to the next action from the state of FIG. That is, FIG. 14 shows the result of the current search after one next execution module is selected from the next executable module candidates in FIG. 13 and executed. Specifically, the behavior module ("ASOBO") displayed as the current behavior module (reference symbol G) as the current behavior module in FIG. 13 is replaced with the past icon (reference symbol) as one of the past behavior modules in FIG. K), and the behavior module ("T_TSU") displayed as the next executable module in FIG. 13 with the next icon is displayed as the current behavior module with the current icon (reference symbol G) in FIG. In addition, the current icon and the past icon (“ASOBO” and “T_TSU”) that have been changed are newly connected by a connecting line in FIG. Also, a new next executable module candidate in this state is displayed with the next icon. In addition, the search screen 102 is also updated, and a new applicable episode / rule is displayed.

過去検索は、現在までの実行履歴における過去のある時点の状態を検索するものである。過去検索では、過去の行動モジュールが指定される。つまり、たとえば、過去側に移動させる“<”ボタン(戻ボタン)110および現在側に移動させる“>”ボタン(進ボタン)112をクリックし、または検索ナンバ入力欄114に過去をたどる数を直接入力することによって、どれだけ過去にたどるかを指定することができる。そして、過去の時点における現状情報が既に現在検索処理において取得(この実施例ではロボット10から受信)されているので、過去検索処理としては、指定された過去の時点の現状情報を参照すればよい。これによって表示に必要なデータを取得できる。   The past search is a search for a state at a certain point in the past in the execution history up to now. In the past search, a past action module is specified. That is, for example, the “<” button (return button) 110 to be moved to the past side and the “>” button (decimal button) 112 to be moved to the current side are clicked, or the number of the past is directly entered in the search number input field 114. By inputting, it is possible to specify how far in the past. Since the current status information at the past time point has already been acquired in the current search process (received from the robot 10 in this embodiment), the current status information at the specified past time point may be referred to as the past search process. . As a result, data necessary for display can be acquired.

過去検索は履歴中のある過去の状態を調査するものであるから、その着目時点は指定される過去の時点である。したがって、過去検索では、指定される過去の行動モジュールに対する関係性によって表示形態が区別される。つまり、たとえば、指定された過去の行動モジュールは、過去検索における言わば「現在の行動モジュール」に相当し、その指定された過去の行動モジュールよりも前に実行した行動モジュールは、言わば「過去に実行した行動モジュール」に相当する。したがって、過去検索の視覚化においては、指定した過去の行動モジュールが現在アイコンに設定され、その指定過去モジュールよりも前に実行した行動モジュールが過去アイコンに設定され、検索の結果得られる次に実行可能な行動モジュールの候補が次アイコンに設定され、残りの行動モジュールが無関係アイコンに設定されて、それぞれ視覚化画面102に表示されることとなる。検索画面102には、同様に該当エピソード・ルールが表示される。   Since the past search is for investigating a past state in the history, the time point of interest is the designated past time point. Therefore, in the past search, the display form is distinguished by the relationship with the specified past action module. That is, for example, the specified past action module corresponds to the “current action module” in the past search, and the action module executed before the specified past action module is, for example, “executed in the past”. Corresponding to the “action module”. Therefore, in past search visualization, the specified past action module is set as the current icon, the action module executed before the specified past module is set as the past icon, and the next execution obtained as a result of the search is executed. The possible behavior module candidates are set as the next icon, and the remaining behavior modules are set as the irrelevant icons, and each is displayed on the visualization screen 102. Similarly, the search screen 102 displays the corresponding episode / rule.

文字検索は、任意の状況におけるロボット10の状態を調査するものである。文字検索では、図15に示すように、状況入力欄116に直接入力することによって、状況を指定できる。そして、指定状況を検索条件とした検索が行われる。つまり、文字検索処理では、入力した状況と実装されている全エピソード・ルールとが比較され、該当するエピソード・ルールが選出されるとともに、該当エピソード・ルールに基づいて次実行可能モジュールの候補が選出される。なお、図15では、指定状況として、「<TURN=1><AKUSHU=1>」が入力欄116に入力されている。   The character search is to investigate the state of the robot 10 in an arbitrary situation. In the character search, as shown in FIG. 15, the situation can be designated by directly inputting it into the situation input field 116. Then, a search is performed using the specified status as a search condition. In other words, in the character search process, the input situation is compared with all implemented episode rules, and the corresponding episode rule is selected, and the next executable module candidate is selected based on the corresponding episode rule. Is done. In FIG. 15, “<TURN = 1> <AKUSHU = 1>” is entered in the input field 116 as the designation status.

文字検索モードでは、指定状況の次に実行可能な行動モジュールの候補が選出されるので、その注目時点は指定された状況における最後の行動モジュールの時点である。したがって、文字検索では、指定状況の最後の行動モジュールに対する関係性によって表示形態が区別される。つまり、たとえば、指定状況のうち最後の行動モジュールは、言わば「現在の行動モジュール」に相当し、入力状況のうち最後の行動モジュール以前の行動モジュールは、言わば「過去に実行した行動モジュール」に相当する。したがって、文字検索の視覚化においては、入力状況のうちの最後の行動モジュール(この例では「AKUSHU」)が現在アイコン(参照符号G)に設定され、入力状況のうちの最後以外の行動モジュール(この例では「TURN」)が過去アイコン(参照符号K)に設定され、検索の結果得られた次実行可能モジュールの候補が次アイコンに設定され、残りの行動モジュールが無関係アイコンに設定されて、それぞれ視覚化画面100に表示される。また、検索画面102には、同様に該当エピソード・ルールが表示される。   In the character search mode, action module candidates that can be executed next to the designated situation are selected, and the attention time point is the time of the last action module in the designated situation. Therefore, in the character search, the display form is distinguished by the relationship with the last action module in the specified situation. In other words, for example, the last action module in the specified situation is equivalent to the “current action module”, and the action module before the last action module in the input situation is equivalent to the “action module executed in the past”. To do. Therefore, in the visualization of the character search, the last action module (in this example, “AKUSHU”) in the input situation is set to the current icon (reference symbol G), and the action module other than the last in the input situation ( In this example, “TURN”) is set as the past icon (reference symbol K), the next executable module candidate obtained as a result of the search is set as the next icon, and the remaining behavior modules are set as the irrelevant icons. Each is displayed on the visualization screen 100. Similarly, the corresponding episode / rule is displayed on the search screen 102.

なお、図15の画面右側には、コントロール画面が表示されている。このコントロール画面では各種の視覚化に関する設定を行えるようになっている。たとえば、行動モジュールのIDのアイコンへの表示、拡大表示、位置計算および検索エピソード・ルールの表示条件等の設定を行える。   A control screen is displayed on the right side of the screen in FIG. In this control screen, various settings related to visualization can be made. For example, display of behavior module IDs on icons, enlarged display, position calculation, search episode / rule display conditions, and the like can be set.

このように、開発者は、現在検索モードによって、実際にロボット10に行動を取らせながらそのコミュニケーションの状態および推移等をリアルタイムで視覚的に把握することができる。また、過去検索モードによって、ロボット10が現在までに行った行動を振り返って確認することができる。また、文字検索モードによって、全エピソード・ルールの中から調査したい状況に該当するエピソード・ルールを確認できる。このような視覚化の結果を利用して、開発者はロボット10の行動の推移にたとえば矛盾や不調和があって修正や変更等の必要性を感じた場合等には、入力画面を開いて、既に登録されているエピソード・ルールを修正したり、あるいは新たなエピソード・ルールを作成したりすることによって、全体的に調和した行動をとるロボット10に仕上げていくことができる。   In this way, the developer can visually grasp the communication state and transition in real time while actually causing the robot 10 to take action in the current search mode. Further, the past search mode allows the robot 10 to look back and confirm the actions that have been performed so far. In addition, by using the character search mode, it is possible to check the episode / rule corresponding to the situation to be investigated from all the episode / rules. Using such visualization results, the developer opens the input screen when he / she feels the necessity for correction or change due to, for example, inconsistencies or inconsistencies in the transition of the behavior of the robot 10. By correcting the already-registered episode rule or creating a new episode rule, the robot 10 can be finished as a whole in a harmonious manner.

入力画面は、検索画面102に表示されたエピソード・ルールをたとえばダブルクリック等で選択し、または検索画面102に設けられた“エピソード作成”ボタン118を選択すること等によって、メイン画面とは別ウィンドウで表示される。この入力画面によって、ユーザは、エピソード・ルールの編集作業(修正、新規作成、削除等)を行うことができる。   The input screen is a window that is different from the main screen by selecting the episode / rule displayed on the search screen 102 by, for example, double-clicking, or selecting the “Create Episode” button 118 provided on the search screen 102. Is displayed. With this input screen, the user can perform episode / rule editing work (correction, new creation, deletion, etc.).

入力画面は、たとえば図16に示すように、エピソード・ルール文表示欄120,編集画面122および操作画面124を備える。エピソード・ルール文表示欄120は、登録欄120aおよび編集欄120bを含み、登録欄120aには編集のために選択された既に登録されているエピソード・ルール文が表示され、編集欄120bには編集中の状態のエピソード・ルール文が表示される。編集画面122には、編集中のエピソード・ルールが図式的に表示される。   The input screen includes, for example, an episode / rule sentence display field 120, an editing screen 122, and an operation screen 124 as shown in FIG. The episode / rule sentence display field 120 includes a registration field 120a and an edit field 120b. The registration field 120a displays an already registered episode / rule sentence selected for editing, and the edit field 120b The episode / rule sentence in the middle state is displayed. The editing screen 122 graphically displays the episode / rule being edited.

図16では、IDナンバが451の「<MANUAL=255>CHARGE1」というエピソード・ルールが選択された場合の入力画面の一例が示されている。編集欄120bからわかるように、「<MANUAL=255>」と「CHARGE1」との間に行動モジュール枠を追加しようとしている。編集画面122では、行動モジュールまたはそのブロックは四角形のアイコンで表示され、それらは矢印のアイコンで繋げられており、このような視覚化によってエピソード・ルールの構造が容易に把握され得る。   FIG. 16 shows an example of the input screen when the episode rule “<MANUAL = 255> CHARGE1” with the ID number 451 is selected. As can be seen from the edit column 120b, an action module frame is added between “<MANUAL = 255>” and “CHARGE1”. On the editing screen 122, the action module or its block is displayed as a square icon, which is connected by an arrow icon, and the structure of the episode rule can be easily grasped by such visualization.

操作画面124には、エピソード・ルールの編集のための各種操作ボタン等が設けられる。たとえば、過去挿入ボタン126によれば、選択されている行動モジュールの過去側に行動モジュール枠(「<>」)を追加挿入でき、また、次挿入ボタン128によれば、選択されている行動モジュールに対して次の行動モジュール枠を追加挿入できる。また、展開ボタン130によれば、編集画面122で選択されているアイコンがブロックであるとき、このブロック内の構成を一列下側に展開表示することができる(図17)。図17に示すように、展開されているブロックは元の列では開かれた本のアイコンで表示される。また、削除ボタン132では、選択されている行動モジュールを削除できる。また、ブロック化ボタン134では、選択されている行動モジュールをブロック化(「(…)」)できる。   The operation screen 124 is provided with various operation buttons for editing episodes and rules. For example, the past insertion button 126 can additionally insert a behavior module frame (“<>”) on the past side of the selected behavior module, and the next insertion button 128 can select the selected behavior module. The following action module frame can be additionally inserted for. Further, according to the expansion button 130, when the icon selected on the editing screen 122 is a block, the configuration in the block can be expanded and displayed in a row below (FIG. 17). As shown in FIG. 17, the expanded block is displayed as an open book icon in the original column. The delete button 132 can delete the selected action module. The block button 134 can block the selected action module ("(...)").

さらに、操作画面124には、実装されている行動モジュールのIDおよびその結果値のリストがそれらの内容説明とともに表示される参照/説明欄が設けられる。また、ブロックおよび結果値の否定(「^」)やブロックの繰返し等の編集設定欄も設けられる。この編集設定欄において、行動モジュール,結果値,ブロックおよび結果値の否定,ブロックの繰返し等を適宜指定することによって、編集画面122で選択されている行動モジュール枠にその指定した内容を入力することができる。また、既に行動モジュールおよび結果値等が入力されている行動モジュール枠ないしブロックが選択された場合には、それらのIDや内容等が設定欄に表示される。また、操作画面124では、図示は省略されるが、否定(「!」)のエピソード・ルールの指定,および優先順位の設定等も行うことができる。   Further, the operation screen 124 is provided with a reference / explanation column in which a list of IDs of the installed behavior modules and the result values thereof are displayed together with their contents explanation. Also, editing setting fields such as block and negation of the result value ("^") and block repetition are provided. In this edit setting field, the designated contents are entered in the action module frame selected on the edit screen 122 by appropriately specifying the action module, result value, block and result value negation, block repetition, etc. Can do. In addition, when an action module frame or block for which an action module and a result value have already been input is selected, their IDs and contents are displayed in the setting column. Although not shown in the operation screen 124, negative ("!") Episode rules can be specified, and priorities can be set.

このような操作画面124を操作して、編集したエピソード・ルール文は編集欄120bに表示される。新規登録ボタン136を選択することによって、作成したエピソード・ルールを新規に登録することができる。また、修正登録ボタン138によれば、編集したエピソード・ルールを既存のエピソード・ルールと置き換えて登録することができる。また、登録削除ボタン140によれば、登録欄120aに表示されている選択したエピソード・ルールの登録を削除することができる。この実施例では、エピソード・ルールの新規登録,修正登録または登録削除等の編集に関するデータは編集情報(入力情報)として作成されてロボット10へ送信される。そして、ロボット10では入力情報に従ってエピソード・ルールが処理され、格納される。また、終了ボタン142によってこの入力画面を閉じることができる。   By operating such an operation screen 124, the edited episode / rule sentence is displayed in the edit column 120b. By selecting the new registration button 136, the created episode rule can be newly registered. The correction registration button 138 allows the edited episode / rule to be registered by replacing the existing episode / rule. In addition, the registration deletion button 140 can delete the registration of the selected episode / rule displayed in the registration field 120a. In this embodiment, data relating to editing such as new episode / rule registration, modification registration or registration deletion is created as editing information (input information) and transmitted to the robot 10. Then, the robot 10 processes and stores the episode rule according to the input information. The input screen can be closed by the end button 142.

具体的には、開発支援装置12のCPU14は、図8および図9に示すフロー図に従って開発支援処理を実行する。   Specifically, the CPU 14 of the development support apparatus 12 executes development support processing according to the flowcharts shown in FIGS.

処理が開始されると、CPU14は、まず、ステップS1で、HDD20から起動指示データを読み出して通信回路26に与える。これによって、ロボット10に起動指示データが送信される。開発中のロボット10はこの指示データに応じて起動され活動を開始する。ロボット10はたとえば図10および図11に示すフロー図に従って動作する。このロボット10の動作については後述する。   When the process is started, the CPU 14 first reads the activation instruction data from the HDD 20 and supplies it to the communication circuit 26 in step S1. As a result, the activation instruction data is transmitted to the robot 10. The robot 10 under development is activated according to the instruction data and starts its activity. The robot 10 operates according to the flowcharts shown in FIGS. 10 and 11, for example. The operation of the robot 10 will be described later.

次に、ステップS3では、CPU14はHDD20からメイン画面データおよび行動モジュールのデータ等を読み出して表示装置22にたとえば図12に示すようなメイン画面を表示する。図12の視覚化画面100では、初期状態として、全行動モジュールがそれらの関係の強さに関係なく縦横に整列させて配置される。   Next, in step S <b> 3, the CPU 14 reads main screen data, behavior module data, and the like from the HDD 20 and displays a main screen as shown in FIG. 12 on the display device 22, for example. In the visualization screen 100 of FIG. 12, as an initial state, all the behavior modules are arranged vertically and horizontally regardless of the strength of the relationship.

続くステップS5,S7およびS9で、検索モードの種類が判断される。初期状態では現在検索モードが選択されている。検索モードは、図13に示すように、それぞれの検索ボタン104,106および108で選択可能である。なお、ステップS5〜S9で“NO”のとき、つまり、他のボタンが選択されたとき等には、図9のステップS29へ進む。   In subsequent steps S5, S7 and S9, the type of search mode is determined. In the initial state, the search mode is currently selected. The search mode can be selected by each search button 104, 106 and 108 as shown in FIG. If “NO” in steps S5 to S9, that is, if another button is selected, the process proceeds to step S29 in FIG.

現在検索ボタン104が選択されている場合には、ステップS5で“YES”と判断して、ステップS11でロボット10から現状情報データが送信されてきたかどうかを判断する。現在検索処理は、ロボット10において実行される次行動モジュールの選択処理(図10のステップS75およびS77)と同様な処理であるため、この実施例では、ロボット10側の処理で得られるモジュールの実行履歴,該当エピソード・ルールおよび次実行可能モジュールの候補を現状情報としてロボット10から送信させ、開発支援装置12では現在検索処理を省略している。ステップS11で“NO”であれば、ステップS5に戻る。ステップS11で“YES”であれば、続くステップS13で、受信した現状情報をHDD20に格納する。ステップS13の処理を終了すると、ステップS19へ進む。   If the current search button 104 is selected, “YES” is determined in the step S5, and it is determined whether or not the current state information data is transmitted from the robot 10 in a step S11. Since the current search process is the same as the next action module selection process (steps S75 and S77 in FIG. 10) executed in the robot 10, in this embodiment, the module obtained by the process on the robot 10 side is executed. The history, the corresponding episode / rule, and the candidate for the next executable module are transmitted from the robot 10 as current information, and the development support apparatus 12 omits the current search process. If “NO” in the step S11, the process returns to the step S5. If “YES” in the step S11, the received current status information is stored in the HDD 20 in a succeeding step S13. When the process of step S13 is completed, the process proceeds to step S19.

一方、過去検索ボタン106が選択された場合には、ステップS7で“YES”と判断し、続くステップS15で過去検索処理を実行する。具体的には、過去検索では、たとえば、戻りボタン110または進みボタン112、あるいは検索ナンバ入力欄114に入力された数によって過去の時点が指定されるので、この指定された過去における現状情報を、HDD20に格納されている現状情報から取得する。なお、過去検索は、ロボット10が行ってきた行動を振り返って調査・確認するためのものであるので、指定される時点の現状情報が無い場合等にはたとえばエラー表示等を行うようにする。ステップS15の処理を終了すると、ステップS19へ進む。   On the other hand, if the past search button 106 is selected, “YES” is determined in the step S7, and the past search process is executed in a subsequent step S15. Specifically, in the past search, for example, the past time point is specified by the number input in the return button 110, the advance button 112, or the search number input field 114. Obtained from the current status information stored in the HDD 20. Note that the past search is for examining and confirming the actions performed by the robot 10, and therefore, when there is no current information at the specified time, for example, an error display is performed. When the process of step S15 is completed, the process proceeds to step S19.

他方、文字検索ボタン108が選択された場合には、ステップS9で“YES”と判断し、続くステップS17で文字検索処理を実行する。具体的には、文字検索では、状況入力欄116に調査したい状況が指定されるので、この指定された状況を検索条件とした検索処理が実行される。すなわち、指定状況とエピソード・ルールとを比較して、該当するエピソード・ルールを選出するとともに、選出されたエピソード・ルールに規定される次の行動モジュールを、入力された状況の次に実行可能な行動モジュール候補として選出する。ステップS17の処理を終了すると、ステップS19へ進む。   On the other hand, if the character search button 108 is selected, “YES” is determined in the step S9, and the character search process is executed in a subsequent step S17. Specifically, in the character search, since a situation to be investigated is designated in the situation input field 116, a retrieval process using the designated situation as a search condition is executed. That is, the specified situation and the episode rule are compared to select the corresponding episode rule, and the next action module specified in the selected episode rule can be executed next to the input situation. Selected as an action module candidate. When the process of step S17 is completed, the process proceeds to step S19.

そして、ステップS13,S15またはS17の処理を終了すると、続くステップS19で、各行動モジュールのアイコンの表示形態の設定を処理する。   When the process of step S13, S15 or S17 is completed, the setting of the icon display form of each behavior module is processed in the subsequent step S19.

ここで、現在検索モードの場合には、ステップS13で格納した現状情報を参照してこれに基づいて表示形態の設定を行い、過去検索モードの場合には、ステップS15で取得した指定時点の現状情報を参照してこれに基づいて設定を行う。また、文字検索モードの場合には、表示形態の設定前に、指定状況のうちの最後の行動モジュールを「現在の行動モジュール」として設定し、指定状況のうち最後の行動モジュール以外の行動モジュールを「過去の行動モジュール」として設定しておく。そして、表示形態設定では、現在の行動モジュールに現在アイコンを設定し、過去の行動モジュールに過去アイコンを設定し、次実行可能モジュールの候補に次アイコンを設定する。また、残りの行動モジュールに無関係アイコンを設定する。さらに、実行順序に従って過去アイコン間および過去アイコンと現在アイコンとの間に連結線を設定する。   Here, in the case of the current search mode, the current state information stored in step S13 is referred to, and the display form is set based on the current state information. In the case of the past search mode, the current state at the specified time acquired in step S15. Refer to the information and make settings based on this. In the character search mode, before setting the display mode, the last action module in the specified situation is set as the “current action module”, and the action modules other than the last action module in the specified situation are set. Set as “Past Action Module”. In the display mode setting, the current icon is set for the current action module, the past icon is set for the past action module, and the next icon is set for the next executable module candidate. In addition, irrelevant icons are set for the remaining behavior modules. Further, connection lines are set between past icons and between past icons and current icons according to the execution order.

続いて、ステップS21で、行動モジュールの配置算出処理が必要であるかどうかを判断する。配置算出が必要となるのは、最初の表示の場合およびエピソード・ルールの更新(新規登録,修正登録または削除)があった後の最初の表示の場合である。つまり、エピソード・ルールの更新があったときは各行動モジュールの関係性が変わってしまうので配置が変わるおそれがある。したがって、これらの場合にはステップS21で“YES”と判断し、ステップS23で配置算出を処理してからステップS25へ進む。   Subsequently, in step S21, it is determined whether or not an action module arrangement calculation process is necessary. Arrangement calculation is required for the first display and for the first display after episode rule update (new registration, modification registration or deletion). That is, when the episode / rule is updated, the relationship between the behavior modules is changed, so that the arrangement may be changed. Therefore, in these cases, “YES” is determined in the step S21, the arrangement calculation is processed in a step S23, and then the process proceeds to the step S25.

ステップS23では、実装されている全行動モジュールの間の関係の強さに基づいて、各行動モジュールの配置が算出し、配置データをHDD20に格納する。上述のように、各行動モジュールの位置は、すべての行動モジュールにおいて数1で示されたFijが釣り合うように収束計算することによって算出される。 In step S <b> 23, the placement of each behavior module is calculated based on the strength of the relationship between all the behavior modules installed, and the placement data is stored in the HDD 20. As described above, the position of each behavior module is calculated by performing convergence calculation so that F ij represented by Equation 1 is balanced in all behavior modules.

一方、ステップS21で“NO”であれば、つまり、配置算出が必要ない場合には、既に算出された配置データ利用すればよいのでそのままステップS25へ進む。   On the other hand, if “NO” in the step S21, that is, if the arrangement calculation is not necessary, the arrangement data already calculated may be used, and the process proceeds to the step S25 as it is.

続いて、ステップS25で、検索の結果得られた該当エピソード・ルールのデータの文および該当数等を検索画面102に表示する。また、ステップS27で、ステップS23で算出した配置およびステップS19で設定した表示形態に従って、各行動モジュールのアイコンを視覚化画面100に表示する。これらの処理によって、それぞれの検索モードでの検索結果がメイン画面の検索画面102および視覚化画面100に表示される。   Subsequently, in step S25, the sentence of the corresponding episode / rule data obtained as a result of the search, the number of hits, and the like are displayed on the search screen 102. In step S27, the icons of the behavior modules are displayed on the visualization screen 100 according to the arrangement calculated in step S23 and the display form set in step S19. Through these processes, the search results in the respective search modes are displayed on the search screen 102 and the visualization screen 100 of the main screen.

たとえば、現在検索においては、図13に示すようなロボット10の現在の状態が示される。そして、ロボット10において、現在実行中の行動モジュールの実行が終了して、次実行可能モジュールの候補から次に実行する行動モジュールが選択され、その実行が開始されると、ロボット10から新たな現状情報が送信されてくる。開発支援装置12では、ステップS11からの視覚化処理が繰返され、たとえば図14に示すような次の現状情報に基づく視覚化がなされることとなる。このように、現在検索では、ロボット10のコミュニケーション行動、つまり、現在までの行動履歴,現在の行動および次に実行する行動モジュールの候補や現在の状態に該当するエピソード・ルール等をリアルタイムで逐一把握することができる。したがって、現在検索では、実際のロボット10の行動を直接および画面を通して観察することができ、ロボット10の行動の一貫性や調和性などを総合的に判断することができる。   For example, in the current search, the current state of the robot 10 as shown in FIG. 13 is shown. Then, in the robot 10, the execution of the currently executing action module is finished, the action module to be executed next is selected from the candidates for the next executable module, and when the execution is started, a new current state is obtained from the robot 10. Information is sent. In the development support apparatus 12, the visualization process from step S11 is repeated, and for example, visualization based on the following current status information as shown in FIG. 14 is performed. As described above, in the current search, the communication behavior of the robot 10, that is, the behavior history up to now, the current behavior, the candidate for the next behavior module to be executed, the episode / rule corresponding to the current state, etc. are grasped in real time. can do. Therefore, in the current search, the actual behavior of the robot 10 can be observed directly and through the screen, and the consistency and harmony of the behavior of the robot 10 can be comprehensively determined.

また、過去検索では、現在までに実行されたロボット10の行動の詳細を事後的に確認することができる。つまり、過去の行動モジュールないし時点ごとに、その時点までの履歴,その時点の実行中の行動モジュールおよびその次に実行可能な行動モジュール候補やその時点の状態に該当するエピソード・ルールを振り返って視覚的に把握することができる。   In the past search, details of the action of the robot 10 executed so far can be confirmed afterwards. That is, for each past action module or time point, the history up to that point, the action module currently being executed, the action module candidate that can be executed next, and the episode rule that corresponds to the state at that time are visually reviewed. Can be grasped.

また、文字検索では、入力指定された状況ごとにその検索条件に適合する検索結果が視覚化される(図15)。したがって、開発中のロボット10のエピソード・ルールの実装状態、すなわち、開発中のロボット10が指定される特定の状況に対してどのような状態であるかを確認することができる。   In the character search, a search result that matches the search condition is visualized for each input specified situation (FIG. 15). Therefore, it is possible to check the episode rule implementation state of the robot 10 under development, that is, what state the robot 10 under development is in for a specific situation designated.

このようにして、開発者は、たとえば開発中のロボット10に実装しているエピソード・ルールの編集の必要性を判断することができる。たとえば、視覚化画面100では各行動モジュールの配置が関係の強さに基づいて算出されるので、過去の行動モジュール,現在の行動モジュールおよび次の行動モジュール間の距離や方向等を基に、その状況におけるロボット10の行動の適合性を判断してもよい。   In this way, the developer can determine the necessity of editing the episode rule implemented in the robot 10 under development, for example. For example, since the arrangement of each behavior module is calculated on the visualization screen 100 based on the strength of the relationship, based on the distance and direction between the past behavior module, the current behavior module, and the next behavior module, etc. The suitability of the action of the robot 10 in the situation may be determined.

ステップS27の処理を終了し、または、ステップS5,S7およびS9で“NO”の場合には、図9のステップS29へ進む。   If the process of step S27 is completed or if “NO” in steps S5, S7, and S9, the process proceeds to step S29 of FIG.

ステップS29では、エピソード・ルールの入力(編集)が選択されたかどうかを判断する。つまり、たとえば、検索画面102のエピソード・ルール文が選択されたとき、またはエピソード・ルール作成ボタン118が選択されたとき等は、ステップS29で“YES”と判断し、次のステップS31で、入力画面(図16)のデータをHDD20から読み出して表示装置22に表示する。これにより、入力画面はメイン画面上に別ウィンドウで表示され、開発者は視覚化画面100を参照しながらエピソード・ルールの編集作業を行うことができる。   In step S29, it is determined whether episode rule input (edit) has been selected. That is, for example, when an episode / rule sentence on the search screen 102 is selected or when the episode / rule creation button 118 is selected, “YES” is determined in the step S29, and the input is performed in the next step S31. Data on the screen (FIG. 16) is read from the HDD 20 and displayed on the display device 22. As a result, the input screen is displayed as a separate window on the main screen, and the developer can edit episodes and rules while referring to the visualization screen 100.

この入力画面では、上述のように、開発者は、エピソード・ルールの編集作業をすることができる。つまり、たとえば行動モジュールの枠を適宜挿入したり、ブロック化したり、行動モジュール,結果値,否定,繰り返し等を設定したりして、エピソード・ルールの新規作成,修正または削除等の編集をすることができる。このようなエピソード・ルール入力があったときは、続くステップS33以降の処理を実行する。ステップS33では開発者の入力画面に設けられた各種操作ボタン126〜134および設定等に対する操作に応じてそれぞれのエピソード・ルールの編集処理を実行する。   On this input screen, as described above, the developer can edit episodes and rules. In other words, for example, the action module frame is inserted or blocked as appropriate, and the action module, result value, negation, repetition, etc. are set, and new episode rules are created, modified, or deleted. Can do. When there is such an episode / rule input, the subsequent processing from step S33 is executed. In step S33, each episode / rule editing process is executed in accordance with various operation buttons 126 to 134 provided on the developer's input screen and operations on settings and the like.

続いて、編集の登録があった場合には、つまり、新規登録ボタン136,修正登録ボタン138および登録削除ボタン140が選択された場合には、ステップS35で“YES”と判断して、ステップS37へ進む。一方、登録が無い場合には、ステップS35で“NO”と判断して、図8のステップS5へ戻って処理を繰返す。   Subsequently, when editing is registered, that is, when the new registration button 136, the correction registration button 138, and the registration deletion button 140 are selected, “YES” is determined in the step S35, and a step S37. Proceed to On the other hand, if there is no registration, “NO” is determined in the step S35, and the process returns to the step S5 in FIG. 8 to repeat the process.

ステップS37では、編集されたエピソード・ルールの情報に従って、記憶されているエピソード・ルールのデータを更新する。新規登録の場合には作成されたエピソード・ルールのデータを新たに追加する。修正登録の場合には元のエピソード・ルールを修正されたエピソード・ルールのデータに置き換え、また、登録削除の場合にはそのエピソード・ルールのデータを削除する。そして、ステップS39で、編集情報データを通信回路26に与えてロボット10に送信する。編集情報は、たとえば、新規,修正または削除に関する情報およびエピソード・ルールの識別子を備えていて、さらに、新規および修正の場合には作成されたエピソード・ルールを備えている。ロボット10ではこの編集情報を受信して、これに応じてその記憶装置に格納されているエピソード・ルールのデータを更新する。したがって、これ以降は、ロボット10では、編集されたエピソード・ルールに基づいて処理が行われることとなる。   In step S37, the stored episode rule data is updated according to the edited episode rule information. In the case of new registration, newly created episode rule data is added. In the case of correction registration, the original episode rule is replaced with the corrected episode rule data, and in the case of registration deletion, the episode rule data is deleted. In step S39, the editing information data is provided to the communication circuit 26 and transmitted to the robot 10. The editing information includes, for example, information on new, correction or deletion, and an identifier of an episode rule, and further includes an episode rule created in the case of new and correction. The robot 10 receives this editing information and updates the data of the episode rule stored in the storage device accordingly. Therefore, after that, the robot 10 performs processing based on the edited episode rule.

また、ステップS29で“NO”であれば、ステップS41で終了であるかどうかを判断する。つまり、メイン画面の図示しない終了メニューが選択された場合には“YES”と判断し、続くステップS43で終了処理を実行して、この開発支援処理を終了する。なお、この終了処理でロボット10に終了指示データを送信して、ロボット10の動作を終了させるようにしてもよい。   If “NO” in the step S29, it is determined whether or not the process is ended in a step S41. That is, if an end menu (not shown) on the main screen is selected, it is determined to be “YES”, an end process is executed in the subsequent step S43, and this development support process is ended. In this end process, the end instruction data may be transmitted to the robot 10 to end the operation of the robot 10.

この開発支援装置12によれば、多数のモジュール間の関係を視覚的に把握することができる。したがって、たとえば状況に矛盾がなく調和したコミュニケーション行動を実現するように、既存のエピソード・ルールを修正または削除したり、新たなエピソード・ルールを作成したりすることができる。   According to the development support apparatus 12, it is possible to visually grasp the relationship between a large number of modules. Therefore, for example, an existing episode rule can be corrected or deleted, or a new episode rule can be created so as to realize a harmonized communication behavior with no contradiction in the situation.

なお、上述の実施例では、現在検索処理がロボット10において実行される次行動モジュールの選択処理(図10のステップS75およびS77)と同様な処理であるため、この処理で得られるデータを利用すべく、必要データを現状情報としてロボット10から送信させるようにしているが、現在検索処理をこの開発支援装置12側で行うようにしてもよいのはもちろんである。   In the above-described embodiment, the current search process is the same process as the next action module selection process (steps S75 and S77 in FIG. 10) executed in the robot 10, and therefore the data obtained by this process is used. Therefore, the necessary data is transmitted from the robot 10 as the current status information, but it is needless to say that the current search process may be performed on the development support apparatus 12 side.

また、上述の実施例で示された各画面は一例であって適宜変更可能であるのは言うまでもない。   Needless to say, each screen shown in the above-described embodiment is an example and can be changed as appropriate.

このようにして開発されるロボット10は、複数の行動モジュールおよび複数のエピソード・ルールを有していて、実際に取って来た行動すなわち行動モジュールの実行履歴と、実装されているエピソード・ルールとを比較することによって、次に実行する行動モジュールを選択するようにしている。また、開発中のロボット10は、開発支援装置12から送信されるエピソード・ルールの編集情報を受信して、この編集情報に従って、実装しているエピソード・ルールのデータを更新することができる。また、開発支援装置12における現在検索および過去検索のための現状情報、すなわち、行動モジュールの実行履歴,現在状態に該当するエピソード・ルールおよび次に実行可能な行動モジュールの候補に関するデータを開発支援装置12へ送信することができる。   The robot 10 developed in this way has a plurality of behavior modules and a plurality of episode rules, and the actual action taken, that is, the execution history of the behavior module, the implemented episode rules, and By comparing these, the action module to be executed next is selected. In addition, the robot 10 under development can receive the episode / rule editing information transmitted from the development support apparatus 12 and update the mounted episode / rule data according to the editing information. The development support apparatus 12 also stores current status information for the current search and past search in the development support apparatus 12, that is, data related to action module execution history, episode rules corresponding to the current state, and action module candidates that can be executed next. 12 can be transmitted.

具体的には、ロボット10はたとえば図10および図11に示すフロー図に従って処理を実行する。ロボット10が起動されると、まず、ステップS61で、メモリ70から最初に行う所定の行動モジュールを読み出して選択する。この最初の行動モジュールは、たとえば上述した「EXPLORE」のように周囲環境を調査するもの等が設定され得る。   Specifically, the robot 10 executes processing according to flowcharts shown in FIGS. 10 and 11, for example. When the robot 10 is activated, first, in step S61, a predetermined behavior module to be performed first is read from the memory 70 and selected. As this first action module, for example, a module that investigates the surrounding environment such as “EXPLORE” described above may be set.

次に、ステップS63では、選択された行動モジュールの実行を開始する。つまり、メモリ70から選択された行動モジュールのデータを読み出して、まず、その指示部(図3)に規定される行動を行う。たとえば、発声を伴う行動モジュールであれば、音声データを音声入出力ボード76に与える。また、身振りを伴う行動モジュールであれば、その行動を行うためのモータ制御データをモータ制御ボード72に与える。これによって、スピーカ60からその音声が出力され、また、各モータが駆動されてその行動(ジェスチャ)が行われる。そして、次に、行動モジュールの認識部を実行して、ロボット10の行動に対する人間の反応を認識し、または、人間と交流するものでない自己完結的な行動の場合はその所定の行動の達成を認識するようにしている。つまり、各センサまたはマイク44あるいは図示しないタイマ等から得られる情報を解析して、認識部に規定された予想結果値に一致する結果を認識したかどうかを判断する。また、反応的モジュール(図4(C))の稼動に合う中断ないし逸脱を認識した場合には、反応的モジュールの実行をする。   Next, in step S63, execution of the selected behavior module is started. That is, the data of the selected action module is read from the memory 70, and first, the action specified by the instruction unit (FIG. 3) is performed. For example, in the case of an action module accompanied by utterance, audio data is given to the audio input / output board 76. In the case of an action module with gesture, motor control data for performing the action is given to the motor control board 72. As a result, the sound is output from the speaker 60, and each motor is driven to perform its action (gesture). Then, the recognition unit of the action module is executed to recognize a human reaction to the action of the robot 10 or to achieve the predetermined action in the case of a self-contained action that does not interact with a human being. I try to recognize it. That is, information obtained from each sensor or microphone 44 or a timer (not shown) or the like is analyzed to determine whether or not a result matching the expected result value defined in the recognition unit has been recognized. In addition, when an interruption or deviation that matches the operation of the reactive module (FIG. 4C) is recognized, the reactive module is executed.

なお、ロボット10は認識部に規定された予想結果を認識したときにその実行中の行動モジュールから次の行動モジュールに移行することとなるが、これらの処理はステップS81以降で処理している。この実施例のロボット10では、ステップS63で行動モジュールの実行を開始するとともに、ステップS65からステップS81の処理を並行して処理している
つまり、ステップS65では、終了であるかどうかを判断する。たとえば、開発中であれば開発支援装置12から終了指示があったか、あるいは、ロボット10を停止させるための終了ボタンが押されたかどうか等を判断する。ステップS65で“YES”であれば、続くステップS67で終了処理を実行して、ロボット10の動作処理を終了する。この終了処理ではロボット12の体の各部位をそれぞれのホームポジションに戻すようにしてもよい。
Note that when the robot 10 recognizes the predicted result defined in the recognition unit, the robot 10 moves from the action module being executed to the next action module, and these processes are performed in step S81 and subsequent steps. In the robot 10 of this embodiment, the execution of the behavior module is started in step S63, and the processing from step S65 to step S81 is performed in parallel. That is, in step S65, it is determined whether or not the processing is finished. For example, if development is in progress, it is determined whether or not there has been an end instruction from the development support apparatus 12 or whether or not an end button for stopping the robot 10 has been pressed. If “YES” in the step S65, an end process is executed in a subsequent step S67, and the operation process of the robot 10 is ended. In this end process, each part of the body of the robot 12 may be returned to the home position.

ステップS65で“NO”であれば、ステップS69で、開発支援装置12からの編集情報が無線LAN等を通して送信されてきたかどうかを判断する。上述したように、開発支援装置12ではエピソード・ルールの編集を入力画面で行うことができ、この編集されたエピソード・ルールのデータが送信される。ステップS69で“YES”であれば、続くステップS71でこの編集情報を受信してメモリ70に書き込み、ステップS73では、この編集情報に従って、メモリ70に格納されているエピソード・ルールのデータを更新する。つまり、新規登録データの場合にはそのエピソード・ルールをメモリ70に格納されているエピソード・ルールのデータに新たに追加する。修正登録データの場合にはメモリ70に格納されているエピソード・ルールのうちの該当するエピソード・ルールを受信した修正エピソード・ルールのデータに置き換える。また、登録削除データの場合にはメモリ70に格納されているエピソード・ルールのデータから削除対象のエピソード・ルールを削除する。このステップS69からS73の処理によって、ロボット10では、編集されたエピソード・ルールのデータが実装(格納)されることとなり、これ以降は編集後のエピソード・ルールに基づいて処理が実行される。   If “NO” in the step S65, it is determined whether or not the editing information from the development support apparatus 12 is transmitted through the wireless LAN or the like in a step S69. As described above, the development support apparatus 12 can edit an episode / rule on the input screen, and the edited episode / rule data is transmitted. If “YES” in the step S69, the editing information is received and written in the memory 70 in a succeeding step S71, and the data of the episode rule stored in the memory 70 is updated in accordance with the editing information in a step S73. . That is, in the case of newly registered data, the episode rule is newly added to the episode rule data stored in the memory 70. In the case of the correction registration data, the corresponding episode rule among the episode rules stored in the memory 70 is replaced with the received data of the corrected episode rule. In the case of registered deletion data, the deletion target episode / rule is deleted from the episode / rule data stored in the memory 70. Through the processing of steps S69 to S73, the robot 10 implements (stores) the edited episode / rule data, and thereafter, the processing is executed based on the edited episode / rule.

ステップS69で“NO”であれば、ステップS75およびS77で、次に実行可能な行動モジュール候補の選出処理を実行する。具体的には、ステップS75で、これまでの行動モジュールの実行履歴をエピソードとしてメモリ70に記憶する。エピソードすなわち行動モジュールの実行履歴のデータは、過去に実行してきた行動モジュールおよびそれらの結果値のデータならびに現在実行中の行動モジュールのデータを含む。そして、続くステップS77では、記憶したエピソードと、メモリ70に実装されている全エピソード・ルールとを比較して、このエピソードに該当するエピソード・ルールを選出するとともに、選出された該当エピソード・ルールに規定されている行動モジュールを次に実行可能な行動モジュールの候補として選出する。このようにして、現在の行動モジュールの実行中に、次に実行可能な行動モジュールの候補が選出される。   If “NO” in the step S69, a next executable action module candidate selection process is executed in the steps S75 and S77. Specifically, in step S75, the execution history of the behavior module so far is stored in the memory 70 as an episode. The data of the execution history of the episode, that is, the behavior module includes the behavior module that has been executed in the past, the data of the result values thereof, and the data of the behavior module that is currently being executed. In the subsequent step S77, the stored episode is compared with all episode rules implemented in the memory 70, and an episode rule corresponding to this episode is selected, and the selected episode rule is selected. The specified action module is selected as a candidate of the next executable action module. In this manner, the next possible behavior module candidate is selected during the execution of the current behavior module.

続くステップS79で、開発中の視覚化のための現状情報データを通信LANボード96に与えて無線装置98を通して開発支援装置12へ送信する。この処理は、上述のように、ロボット10の次行動の選出のための処理で得られるデータを開発支援装置12の視覚化に利用するためのものである。この実施例では、現状情報は、行動モジュールの実行履歴,選出された該当エピソード・ルールおよび次実行可能行動モジュールの候補のデータを含む。開発支援装置12では、この現状情報を受信して、上述したような各検索モードでの視覚化が行われることとなる。   In subsequent step S79, the current status information data for visualization under development is given to the communication LAN board 96 and transmitted to the development support apparatus 12 through the wireless apparatus 98. As described above, this process is for using the data obtained by the process for selecting the next action of the robot 10 for visualization of the development support apparatus 12. In this embodiment, the current status information includes the action module execution history, the selected episode / rule, and the next executable action module candidate data. The development support apparatus 12 receives the current status information and performs visualization in each search mode as described above.

そして、ステップS81では、行動モジュールの実行を終了するかどうかを判断する。つまり、行動モジュールの認識部に規定された予想結果値に一致する結果を、各種センサおよびスピーカ60等で認識したかどうかを判断する。ステップS81で“YES”であれば、図11のステップS83へ進んで、次に実行する行動モジュールを選択する処理を実行する。   In step S81, it is determined whether to end the execution of the behavior module. That is, it is determined whether or not a result that matches the expected result value defined in the recognition unit of the behavior module is recognized by various sensors and the speaker 60 or the like. If “YES” in the step S81, the process proceeds to a step S83 in FIG. 11 to execute a process of selecting a behavior module to be executed next.

ステップS83では、認識した結果値をメモリ70に記憶する。この結果値は、行動モジュールの実行履歴データに使用される。   In step S83, the recognized result value is stored in the memory 70. This result value is used for the execution history data of the behavior module.

続くステップS85では、ステップS77で選出されたエピソード・ルールおよび次実行可能行動モジュール候補の中から、認識された結果値を満足するエピソード・ルールを選出するとともに、前提条件が満足されている行動モジュールを選出する。エピソード・ルールは、現在実行中の行動モジュールが所定の結果値(図5のエピソード・ルール2では「成功」のみ)で終了したときに実行する行動モジュールが基本的に規定されているので、認識した結果値に基づいて、選出されているエピソード・ルールの適正を判断する必要がある。また、前提条件には、上述したようなインタネット接続可能であるかどうか等があるので、このような設備面での条件が整っているかも判断される。また、たとえば図5の行動モジュール「TURN」では、人が肩に触れることが前提条件であるので、認識した結果値からも前提条件が判断される。   In the subsequent step S85, the episode module that satisfies the recognized result value is selected from the episode rule and the next executable action module candidate selected in step S77, and the behavior module that satisfies the preconditions is selected. Is elected. The episode rule is basically defined as the action module to be executed when the currently executing action module ends with a predetermined result value (only “success” in episode rule 2 in FIG. 5). It is necessary to determine the appropriateness of the selected episode rule based on the result value. In addition, since the precondition includes whether or not the Internet connection as described above is possible, it is also determined whether or not such a condition on the equipment is satisfied. Further, for example, in the behavior module “TURN” of FIG. 5, it is a precondition that a person touches the shoulder, so the precondition is also determined from the recognized result value.

そして、ステップS87では、結果値および前提条件を満足するエピソード・ルールおよび行動モジュールの候補が無いかどうかが判断される。ステップS87で“YES”であれば、続くステップS89で、所定の行動モジュールをメモリ70から読み出して選出する。つまり、ロボット10は、行動モジュールの実行履歴との比較から選出される次実行可能な行動モジュールの候補中に、結果値または前提条件を満足する行動モジュールが全く無い場合に実行するための行動モジュールを有している。このような行動モジュールには、たとえば「停止状態」を実現するような特定の行動モジュールが設定される。ステップS89の処理を終了すると、ステップS95へ進む。   In step S87, it is determined whether there are any episode rule and behavior module candidates that satisfy the result value and the precondition. If “YES” in the step S87, a predetermined behavior module is read from the memory 70 and selected in a succeeding step S89. That is, the robot 10 is an action module that is executed when there is no action module that satisfies the result value or the precondition among the candidates for the next executable action module selected from the comparison with the execution history of the action module. have. In such a behavior module, for example, a specific behavior module that realizes a “stop state” is set. When the process of step S89 ends, the process proceeds to step S95.

また、ステップS87で“NO”であれば、つまり、満足する行動モジュールがある場合には、続くステップS91で、複数のエピソード・ルールが競合するかどうかを判断する。つまり、適用されるエピソード・ルールが複数存在するかを判断する。ステップS91で“YES”であれば、ステップS93で、エピソード・ルールの優先順位に基づいて、適用するエピソード・ルールを選出し、この優先順位の高いエピソード・ルールに基づいて、次に実行する行動モジュールを選出する。なお、競合するエピソード・ルールの優先順位が同じ場合には、適用するエピソード・ルールをたとえばランダムに選出するようにする。また、優先順位の高いエピソード・ルールが否定のエピソード・ルールであり、かつ、競合するエピソード・ルールの次行動モジュールの実行を否定するものである場合には、ステップS87と同様に、選出する行動モジュールが無い場合に相当するので、ステップS89と同様にして、このような場合に実行するための所定の行動モジュールを選出するようにする。   If “NO” in the step S87, that is, if there is a satisfactory behavior module, it is determined whether or not a plurality of episode rules conflict in a succeeding step S91. That is, it is determined whether there are a plurality of applied episode rules. If “YES” in the step S91, an episode rule to be applied is selected based on the priority order of the episode rules in a step S93, and an action to be executed next based on the episode rule having the higher priority order. Select a module. When the priority order of competing episode rules is the same, the episode rules to be applied are selected at random, for example. If the high priority episode rule is a negative episode rule and the execution of the next action module of the competing episode rule is denied, the action to be selected is the same as in step S87. Since this corresponds to the case where there is no module, a predetermined behavior module to be executed in such a case is selected in the same manner as in step S89.

そして、ステップS91で“NO”であれば、つまり、エピソード・ルールが競合しない場合であれば、あるいは、ステップS89またはS93の処理を終了すると、続くステップS95で、選出した行動モジュールを次に実行する行動モジュールとして選択(決定)する。ステップS95の処理を終了すると、図10のステップS63に戻り、処理が繰返される。したがって、ロボット10では、ステップS95で選択された次の行動モジュールの実行が開始される。このようにして、ロボット10は、実行履歴と矛盾しない行動モジュールを順次実行して、人間とコミュニケーションを取ることができる。   If “NO” in the step S91, that is, if the episode rule does not conflict, or if the process of the step S89 or S93 is finished, the selected action module is executed next in the step S95. Select (determine) as the action module to perform. When the process of step S95 is completed, the process returns to step S63 of FIG. 10, and the process is repeated. Therefore, in the robot 10, the execution of the next behavior module selected in step S95 is started. In this way, the robot 10 can communicate with humans by sequentially executing action modules that are consistent with the execution history.

この実施例のロボット10によれば、実際の行動モジュールの実行履歴すなわちロボット10と人間とのコミュニケーションの履歴に基づいて、次に実行する行動モジュールが選択されて実行される。したがって、決まりきった単調な行動になるようなことはなく、ロボット10の現状と調和した矛盾の無いコミュニケーション行動を取ることができる。   According to the robot 10 of this embodiment, the action module to be executed next is selected and executed based on the actual action module execution history, that is, the communication history between the robot 10 and the human. Therefore, it does not become a regular monotonous action, and it is possible to take a consistent communication action in harmony with the current state of the robot 10.

また、新たな行動モジュールおよびエピソード・ルールを、たとえば開発支援装置12を用いて、逐次的に追加していくことによって、大規模な行動パターンを備えたコミュニケーションロボット10を実現することができる。   Further, the communication robot 10 having a large-scale behavior pattern can be realized by sequentially adding new behavior modules and episode rules using, for example, the development support device 12.

なお、図10では、開発中の処理を含んだフロー図を示しているが、この開発支援装置12を用いて開発した後の完成されたロボット10では、たとえば開発時にのみ必要な処理(ステップS69からS73およびステップS79等)を処理しないまたは備えないようにしてもよい。   FIG. 10 shows a flowchart including the process under development. However, in the completed robot 10 developed using this development support apparatus 12, for example, a process necessary only during development (step S69). To S73 and S79) may not be processed or provided.

この発明の一実施例の開発支援装置およびコミュニケーションロボットを示す図解図である。It is an illustration figure which shows the development assistance apparatus and communication robot of one Example of this invention. 図1実施例の開発支援装置の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the development assistance apparatus of FIG. 1 Example. 図1実施例のロボットの備える行動モジュールの構成を示す図解図である。It is an illustration figure which shows the structure of the action module with which the robot of FIG. 1 Example is provided. 図1実施例の行動モジュールの遷移パターンを示す図解図である。It is an illustration figure which shows the transition pattern of the action module of FIG. 1 Example. 図1実施例のロボットの行動モジュールの遷移および適用されるエピソード・ルールの一例を示す図解図である。It is an illustration figure which shows an example of the transition of the action module of the robot of FIG. 1 embodiment, and an applied episode rule. 図1実施例のロボットの外観を示す図解図(正面図)である。It is an illustration figure (front view) which shows the external appearance of the robot of FIG. 1 Example. 図1実施例のロボットの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the robot of FIG. 1 Example. 図1実施例の開発支援装置の動作の一部を示すフロー図である。It is a flowchart which shows a part of operation | movement of the development assistance apparatus of FIG. 1 Example. 図1実施例の開発支援装置の動作の他の一部を示すフロー図である。It is a flowchart which shows a part of other operation | movement of the development assistance apparatus of FIG. 1 Example. 図1実施例のロボットの動作の一部を示すフロー図である。It is a flowchart which shows a part of operation | movement of the robot of FIG. 1 Example. 図1実施例のロボットの動作の他の一部を示すフロー図である。It is a flowchart which shows a part of other operation | movement of the robot of FIG. 1 Example. 図1実施例の開発支援装置の表示装置に表示されるメイン画面の初期画面の一例を示す図解図である。It is an illustration figure which shows an example of the initial screen of the main screen displayed on the display apparatus of the development assistance apparatus of FIG. 1 Example. 図12実施例のメイン画面の現在検索モードにおける画面の一例を示す図解図である。FIG. 13 is an illustrative view showing one example of a screen in a current search mode of the main screen of FIG. 12 embodiment; 図13実施例のメイン画面から次の行動モジュールに移行した後の画面の一例を示す図解図である。FIG. 14 is an illustrative view showing one example of a screen after shifting from the main screen to the next behavior module in the embodiment in FIG. 13; 図12実施例のメイン画面の文字検索モードにおける画面の一例を示す図解図である。It is an illustration figure which shows an example of the screen in the character search mode of the main screen of FIG. 12 Example. 図1実施例の開発支援装置の表示装置に表示される入力画面の一例を示す図解図である。It is an illustration figure which shows an example of the input screen displayed on the display apparatus of the development assistance apparatus of FIG. 1 Example. 図16実施例の入力画面の他の一例を示す図解図である。FIG. 17 is an illustrative view showing another example of the input screen of the embodiment in FIG. 16;

符号の説明Explanation of symbols

10 …コミュニケーションロボット
12 …コミュニケーションロボット開発支援装置
14 …CPU
18 …メモリ
20 …HDD
22 …表示装置
24 …入力装置
26 …通信回路
66 …CPU
70 …メモリ
72 …モータ制御ボード
74 …センサ入出力ボード
76 …音声入出力ボード
10 ... Communication robot 12 ... Communication robot development support device 14 ... CPU
18 ... Memory 20 ... HDD
22 ... Display device 24 ... Input device 26 ... Communication circuit 66 ... CPU
70 ... Memory 72 ... Motor control board 74 ... Sensor I / O board 76 ... Voice I / O board

Claims (7)

特定状況における行動をモジュール化した複数の行動モジュールおよび前記行動モジュールの基本的な実行順序を規定した複数の規則を備え、前記複数の規則に基づいて前記複数の行動モジュールを実行することによってコミュニケーション行動を取るコミュニケーションロボットであって、
前記複数の行動モジュールを格納する行動モジュール記憶手段、
前記複数の規則を格納する規則記憶手段、
前記行動モジュールの実行履歴と前記複数の規則とを比較して、前記実行履歴に該当する前記規則および次に実行可能な前記行動モジュールの候補を選出する候補選出手段、
前記候補選出手段によって選出された前記候補から、次に実行する前記行動モジュールを選択する次行動選択手段、および
前記次行動選択手段によって選択された前記行動モジュールを実行する行動モジュール実行手段を備える、コミュニケーションロボット。
A plurality of behavior modules that modularize the behavior in a specific situation, and a plurality of rules that define a basic execution order of the behavior modules, and the communication behavior by executing the plurality of behavior modules based on the plurality of rules A communication robot that takes
Behavior module storage means for storing the plurality of behavior modules;
Rule storage means for storing the plurality of rules;
Candidate selection means for comparing the execution history of the behavior module and the plurality of rules to select the rule corresponding to the execution history and the candidate of the next executable behavior module;
A next action selecting means for selecting the next action module to be executed next from the candidates selected by the candidate selecting means; and an action module executing means for executing the action module selected by the next action selecting means, Communication robot.
前記複数の規則にはそれぞれ優先順位が設定されていて、
前記次行動選択手段は、適用可能な前記規則が複数競合するときにそれぞれの前記優先順位に基づいて適用する前記規則を選択する優先選択手段を含む、請求項1記載のコミュニケーションロボット。
Each of the plurality of rules has a priority order,
The communication robot according to claim 1, wherein the next action selection unit includes a priority selection unit that selects the rule to be applied based on each priority when the plurality of applicable rules conflict.
特定状況における行動をモジュール化した複数の行動モジュールおよび前記複数の行動モジュールの基本的な実行順序を規定した複数の規則を備え、前記複数の規則に基づいて前記複数の行動モジュールを実行することによってコミュニケーション行動を取るコミュニケーションロボットを開発するためのコミュニケーションロボット開発支援装置であって、
前記複数の行動モジュール間の関係を視覚化する視覚化画面を表示する画面表示手段、
前記複数の行動モジュールをそれぞれ表わす画像の前記視覚化画面上における配置を、前記複数の行動モジュール間の関係の強さに基づいて算出する配置算出手段、
指定される検索状況と前記複数の規則とを比較して、前記検索状況に該当する前記規則を選出する検索手段、
前記複数の行動モジュールの前記画像の表示形態を、前記検索状況および前記検索手段の処理による検索結果に基づいて、区別して設定する表示形態設定手段、および
算出された前記配置および設定された前記表示形態に基づいて、前記複数の行動モジュールの前記画像を前記視覚化画面上に表示する行動モジュール表示手段を備える、コミュニケーションロボット開発支援装置。
A plurality of behavior modules obtained by modularizing behavior in a specific situation, and a plurality of rules that define a basic execution order of the plurality of behavior modules, and executing the plurality of behavior modules based on the plurality of rules. A communication robot development support device for developing a communication robot that takes communication action,
Screen display means for displaying a visualization screen for visualizing relationships between the plurality of behavior modules;
An arrangement calculating means for calculating the arrangement of the images representing the plurality of behavior modules on the visualization screen based on the strength of the relationship between the plurality of behavior modules;
A search means for comparing the specified search situation with the plurality of rules and selecting the rule corresponding to the search situation;
Display mode setting means for distinguishing and setting the display mode of the images of the plurality of behavior modules based on the search status and a search result by the processing of the search means, and the calculated arrangement and the set display A communication robot development support device comprising behavior module display means for displaying the images of the plurality of behavior modules on the visualization screen based on a form.
前記検索手段によって選出された前記規則を表示する検索結果表示手段をさらに備える、請求項3記載のコミュニケーションロボット開発支援装置。   The communication robot development support device according to claim 3, further comprising search result display means for displaying the rule selected by the search means. 前記コミュニケーションロボットにおける前記行動モジュールの実行に関する情報を受信する実行情報受信手段をさらに備える、請求項3または4記載のコミュニケーションロボット開発支援装置。   The communication robot development support apparatus according to claim 3, further comprising execution information receiving means for receiving information related to execution of the behavior module in the communication robot. 前記規則を編集するための入力手段をさらに備える、請求項3ないし5のいずれかに記載のコミュニケーションロボット開発支援装置。   The communication robot development support apparatus according to claim 3, further comprising an input unit for editing the rule. 前記入力手段によって作成した前記規則の編集情報を前記コミュニケーションロボットへ送信する編集情報送信手段をさらに備える、請求項6記載のコミュニケーションロボット開発支援装置。   The communication robot development support device according to claim 6, further comprising edit information transmission means for transmitting the rule edit information created by the input means to the communication robot.
JP2005286752A 2005-09-30 2005-09-30 Communication robot and its development supporting device Pending JP2006088328A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005286752A JP2006088328A (en) 2005-09-30 2005-09-30 Communication robot and its development supporting device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005286752A JP2006088328A (en) 2005-09-30 2005-09-30 Communication robot and its development supporting device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002281625A Division JP4059742B2 (en) 2002-09-26 2002-09-26 Communication robot

Publications (1)

Publication Number Publication Date
JP2006088328A true JP2006088328A (en) 2006-04-06

Family

ID=36229773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005286752A Pending JP2006088328A (en) 2005-09-30 2005-09-30 Communication robot and its development supporting device

Country Status (1)

Country Link
JP (1) JP2006088328A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010110864A (en) * 2008-11-06 2010-05-20 Nec Corp Robot system and method and program for activating communication

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010110864A (en) * 2008-11-06 2010-05-20 Nec Corp Robot system and method and program for activating communication

Similar Documents

Publication Publication Date Title
JP4271193B2 (en) Communication robot control system
KR101106002B1 (en) Apparatus and method for generating behaviour in an object
Bhuiyan et al. A gesture controlled user interface for inclusive design and evaluative study of its usability
Breazeal et al. Teaching and working with robots as a collaboration
KR101169674B1 (en) Telepresence robot, telepresence system comprising the same and method for controlling the same
JP4639343B2 (en) Robot remote control system
JP6361213B2 (en) Robot control apparatus, robot, robot system, teaching method, and program
JP5070441B2 (en) Robot remote control system
JP4059742B2 (en) Communication robot
US20100169797A1 (en) User Interface for Orienting New Users to a Three Dimensional Computer-Generated Virtual Environment
Rea et al. Still not solved: A call for renewed focus on user-centered teleoperation interfaces
CN107798733A (en) Display system, mobile information apparatus, wearable type terminal and method for information display
WO2022134702A1 (en) Action learning method and apparatus, storage medium, and electronic device
JP5181541B2 (en) Robot system, editor terminal, and editor program
JP2007160427A (en) Robot control system
JP2018144228A (en) Robot control apparatus, robot, robot system, teaching method, and program
Mahadevan et al. Generative expressive robot behaviors using large language models
JP2006088328A (en) Communication robot and its development supporting device
JP5429461B2 (en) Communication robot development support device
JP5419007B2 (en) Communication robot development support device
Alves-Oliveira et al. Flex-SDK: An open-source software development kit for creating Social Robots
Rea Now you’re teleoperating with power: learning from video games to improve teleoperation interfaces
JP2006123153A (en) Development support device and development support program for communication robot
Brageul et al. An intuitive interface for a cognitive programming by demonstration system
JP2021064299A (en) Control system, terminal device, control method, and computer program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090428

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090616

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091118