JP5419007B2 - Communication robot development support device - Google Patents

Communication robot development support device Download PDF

Info

Publication number
JP5419007B2
JP5419007B2 JP2009102738A JP2009102738A JP5419007B2 JP 5419007 B2 JP5419007 B2 JP 5419007B2 JP 2009102738 A JP2009102738 A JP 2009102738A JP 2009102738 A JP2009102738 A JP 2009102738A JP 5419007 B2 JP5419007 B2 JP 5419007B2
Authority
JP
Japan
Prior art keywords
behavior
template
input
behavior module
module
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.)
Active
Application number
JP2009102738A
Other languages
Japanese (ja)
Other versions
JP2010253565A (en
Inventor
崇行 神田
昌裕 塩見
聡 佐竹
フェアチャイルド グラス ディラン
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 JP2009102738A priority Critical patent/JP5419007B2/en
Publication of JP2010253565A publication Critical patent/JP2010253565A/en
Application granted granted Critical
Publication of JP5419007B2 publication Critical patent/JP5419007B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、コミュニケーションロボット開発支援装置に関し、特にたとえば、一連の行動プログラムからなる行動モジュールを実行することによってコミュニケーション行動を取るコミュニケーションロボットを開発するためのコミュニケーションロボット開発支援装置に関する。   The present invention relates to a communication robot development support device, and more particularly to a communication robot development support device for developing a communication robot that takes communication behavior by executing a behavior module including a series of behavior programs.

本件出願人は、特許文献1において、コミュニケーションロボット開発支援装置を提案している。たとえば、特許文献1では、コミュニケーションロボットに備えられるコミュニケーション行動(ビヘイビア)を制御するための行動モジュール間の関係性を画面上に分かりやすく視覚化する技術が開示されている。特許文献1の技術では、行動モジュール間の関係を直感的に把握することができるので、たとえば自律的な行動のための規則の作成・編集等を適切に行えるようになっている。   The present applicant has proposed a communication robot development support apparatus in Patent Document 1. For example, Patent Literature 1 discloses a technique for easily visualizing the relationship between behavior modules for controlling communication behavior (behavior) included in a communication robot on a screen. In the technique of Patent Document 1, since the relationship between behavior modules can be intuitively grasped, for example, creation / editing of rules for autonomous behavior can be appropriately performed.

特開2006−88328号[G06F 9/06]Japanese Patent Laying-Open No. 2006-88328 [G06F 9/06]

しかしながら、特許文献1の技術では、行動モジュールに含まれる細かい動作を開発者が逐一指定する必要があった。すなわち、全ての行動モジュールに対して、その行動モジュールに含まれる細かい動作を実行するための個々の行動プログラムを開発者が作成する必要があり、開発に余計な手間がかかっていた。   However, in the technique of Patent Document 1, it is necessary for the developer to specify the detailed operations included in the behavior module one by one. That is, it is necessary for the developer to create individual action programs for executing the detailed operations included in the action module for all the action modules, which requires extra effort for development.

それゆえに、この発明の主たる目的は、新規な、コミュニケーションロボット開発支援装置を提供することである。   Therefore, a main object of the present invention is to provide a novel communication robot development support device.

この発明の他の目的は、簡単に行動モジュールを作成することができる、コミュニケーションロボット開発支援装置を提供することである。   Another object of the present invention is to provide a communication robot development support device that can easily create a behavior module.

本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明などは、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。   The present invention employs the following configuration in order to solve the above problems. Note that reference numerals in parentheses, supplementary explanations, and the like indicate correspondence relationships with embodiments described later to help understanding of the present invention, and do not limit the present invention in any way.

第1の発明は、行動モジュールを実行することによってコミュニケーション行動を取るコミュニケーションロボットを開発するためのコミュニケーションロボット開発支援装置であって、一連の行動プログラムからなる行動モジュールをコミュニケーション行動の種類ごとに分類しかつその実行情報以外をテンプレート化して格納するテンプレート記憶手段、テンプレート記憶手段から所望のコミュニケーション行動に対応する前記行動モジュールのテンプレートを読み出すテンプレート読み出し手段、テンプレート読み出し手段によって読み出されたテンプレートを視覚化して、行動モジュールの実行情報を入力するための引数入力領域を含む第1入力画面を表示する第1表示手段、およびテンプレート読み出し手段によって読み出されたテンプレートと、第1入力画面の引数入力領域に入力された実行情報とに基づいて、新規の行動モジュールを作成する行動モジュール作成手段を備える、コミュニケーションロボット開発支援装置である。 The first invention is a communication robot development tool for developing communication robot to take communication behavior by executing the behavior module, classifies the behavior module consisting of a series of behavioral program for each type of communication behavior In addition, a template storage means for storing a template other than the execution information as a template, a template reading means for reading the template of the behavior module corresponding to a desired communication action from the template storage means, and a template read by the template reading means are visualized Te, read by the first display means, and the template reading means for displaying a first input screen including an argument input region for inputting the execution information of the behavior module And Plates, based on the execution information input argument input region of the first input screen includes a behavior module creating means for creating a new behavior module, a communication robot development support system.

第1の発明では、コミュニケーションロボット開発支援装置(10)は、コミュニケーションロボット(12)の開発を支援するためのものであり、テンプレート記憶手段(30)を備えている。テンプレート記憶手段には、たとえば行動モジュールがコミュニケーション行動の種類ごとにテンプレート化されて、格納されている。テンプレート読み出し手段(S33)は、テンプレート記憶手段から所望のテンプレートを読み出す。第1表示手段(26,S35)は、テンプレート読み出し手段によって読み出されたテンプレートを視覚化して、入力画面(400,500)を表示装置(26)に表示する。入力画面は、引数入力領域(404,504)を含み、たとえば、コミュニケーションロボットの開発者等は、この引数入力領域に行動モジュールの実行に関する実行情報を入力する。行動モジュール作成手段(S37)は、テンプレート読み出し手段によって読み出されたテンプレートのデータに、入力画面の引数入力領域に入力された実行情報を取り込むことによって、新規の行動モジュールを作成する。   In the first invention, the communication robot development support device (10) is for supporting the development of the communication robot (12) and includes a template storage means (30). In the template storage means, for example, behavior modules are stored as templates for each type of communication behavior. The template reading unit (S33) reads a desired template from the template storage unit. The first display means (26, S35) visualizes the template read by the template reading means and displays the input screen (400, 500) on the display device (26). The input screen includes an argument input area (404, 504). For example, a developer of a communication robot or the like inputs execution information related to execution of the behavior module to the argument input area. The behavior module creating means (S37) creates a new behavior module by taking the execution information input in the argument input area of the input screen into the template data read by the template reading means.

第1の発明によれば、簡単に新規の行動モジュールを作成することができる。   According to the first invention, a new behavior module can be easily created.

第2の発明は、第1の発明に従属し、テンプレート読み出し手段によって読み出されたテンプレートと、第1入力画面の引数入力領域に入力された実行情報とを、行動モジュール作成手段によって作成された行動モジュールに関連付けて記憶する行動モジュール記憶手段、行動モジュール記憶手段から所望の行動モジュールを読み出す行動モジュール読み出し手段、行動モジュール読み出し手段によって読み出された行動モジュールに対応する、既に第1情報が入力されている引数入力領域を含む第2入力画面を表示する第2表示手段、および第2入力画面の引数入力領域に再入力された第2情報に基づいて、行動モジュール読み出し手段によって読み出された行動モジュールを更新する行動モジュール更新手段をさらに備える。   The second invention is dependent on the first invention and the template read by the template reading means and the execution information input to the argument input area of the first input screen are created by the behavior module creating means. The first information corresponding to the behavior module read by the behavior module reading means, the behavior module reading means for reading the desired behavior module from the behavior module storage means, and the behavior module reading means is already input. A second display means for displaying a second input screen including the argument input area, and an action read by the action module reading means based on the second information re-input in the argument input area of the second input screen Action module update means for updating the module is further provided.

第2の発明では、行動モジュール記憶手段(32)によって、テンプレート読み出し手段(S33)によって読み出されたテンプレートと、入力画面(400,500)の引数入力領域(404,504)に入力された実行情報とが、それらに基づいて作成された行動モジュールに関連付けて記憶される。行動モジュール読み出し手段(S43)は、所望の行動モジュールを行動モジュール記憶手段から読み出す。第2表示手段(26,S45)は、行動モジュール読み出し手段によって読み出された行動モジュールに対応する第2入力画面を表示装置(26)に表示する。第2入力画面の引数入力領域(404,504)には、この行動モジュールを作成したときの実行情報が既に入力されており、たとえば、コミュニケーションロボットの開発者等は、この引数入力領域に実行情報を再入力する。ビヘイビア更新手段(S49)は、引数領域に再入力された実行情報に基づいて、行動モジュールを更新する。   In the second invention, the action module storage means (32) executes the template read by the template reading means (S33) and the execution input inputted to the argument input area (404, 504) of the input screen (400, 500). Information is stored in association with a behavior module created based on the information. The behavior module reading means (S43) reads a desired behavior module from the behavior module storage means. The second display means (26, S45) displays a second input screen corresponding to the behavior module read by the behavior module reading means on the display device (26). In the argument input area (404, 504) of the second input screen, the execution information when the behavior module is created is already input. For example, the developer of the communication robot or the like can execute the execution information in the argument input area. Enter again. The behavior updating means (S49) updates the behavior module based on the execution information re-input to the argument area.

第2の発明によれば、たとえば実行情報を部分的に再入力するだけで、簡単に類似の行動モジュールを作成することができる。   According to the second invention, a similar behavior module can be easily created simply by partially re-entering execution information, for example.

この発明によれば、行動モジュールをコミュニケーション行動の種類ごとにテンプレート化して記憶しているため、所望のテンプレートを読み出して、そのテンプレートのデータに引数としての行動モジュールの実行に関する実行情報を取り込むことによって、簡単に新規の行動モジュールを作成することができる。   According to the present invention, since the behavior module is stored as a template for each type of communication behavior, a desired template is read out, and execution information relating to the execution of the behavior module as an argument is taken into the template data. You can easily create a new behavior module.

この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。   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.

この発明の一実施例の開発支援装置およびコミュニケーションロボットの一例を示す図解図である。It is an illustration figure which shows an example of 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 shown in FIG. 行動モジュールDBに記憶されるテーブルの一例を示す図解図である。It is an illustration figure which shows an example of the table memorize | stored in action module DB. 図1に示すコミュニケーションロボットの一例を示す外観図である。It is an external view which shows an example of the communication robot shown in FIG. コミュニケーションロボットの電気的な構成を示すブロック図である。It is a block diagram which shows the electrical structure of a communication robot. 開発支援装置で表示されるコンポーザ画面の一例を示す図解図である。It is an illustration figure which shows an example of the composer screen displayed with a development assistance apparatus. 開発支援装置で表示される入力画面の一例を示す図解図である。It is an illustration figure which shows an example of the input screen displayed with a development assistance apparatus. 開発支援装置で表示される入力画面の他の一例を示す図解図である。It is an illustration figure which shows another example of the input screen displayed with a development assistance apparatus. 開発支援装置の動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of a development assistance apparatus. 図9の行動モジュール作成・更新処理の動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of the action module creation / update process of FIG. コミュニケーションロボットの動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of a communication robot. 図11のテンプレートに属するビヘイビアの実行処理のうち「Talk(挨拶)」のテンプレートに属するビヘイビアの実行処理の場合の動作の一例を示すフロー図である。FIG. 12 is a flowchart showing an example of an operation in the case of a behavior execution process belonging to the “Talk (greeting)” template among the behavior execution processes belonging to the template of FIG. 11; 図11のテンプレートに属するビヘイビアの実行処理のうち「Guide(道案内)」のテンプレートに属するビヘイビアの実行処理の動作の一例を示すフロー図である。FIG. 12 is a flowchart showing an example of behavior execution processing belonging to the “Guide” template among the behavior execution processing belonging to the template of FIG. 11. 図11のテンプレートに属するビヘイビアの実行処理のうち「Navi(誘導)」のテンプレートに属するビヘイビアの実行処理の動作の一例を示すフロー図である。FIG. 12 is a flowchart showing an example of behavior execution processing belonging to a “Navi (guidance)” template among behavior execution processing belonging to the template of FIG. 11;

図1を参照して、この実施例のコミュニケーションロボット開発支援装置(以下、単に「開発支援装置」という。)10は、一連の行動プログラムからなる行動モジュールを実行することによってコミュニケーション行動を取るコミュニケーションロボット(以下、単に「ロボット」という。)12の開発を支援するためのものである。   Referring to FIG. 1, a communication robot development support apparatus (hereinafter simply referred to as “development support apparatus”) 10 of this embodiment is a communication robot that takes a communication action by executing an action module consisting of a series of action programs. (Hereinafter simply referred to as “robot”).

開発支援装置10は、パーソナルコンピュータ(PC)またはワークステーション等のコンピュータで構成されており、たとえば、図2に示すようにCPU20を含む。CPU20は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス22を介して、メモリ24、液晶ディスプレイまたはCRT等の表示装置26、ならびに、マウスおよびキーボード等の入力装置28に接続される。   The development support apparatus 10 is configured by a computer such as a personal computer (PC) or a workstation, and includes, for example, a CPU 20 as shown in FIG. The CPU 20 is also called a microcomputer or a processor, and is connected via a bus 22 to a memory 24, a display device 26 such as a liquid crystal display or CRT, and an input device 28 such as a mouse and a keyboard.

メモリ24は、図示は省略をするが、ROM、HDDおよびRAMを含む。ROMおよびHDDには、この開発支援装置10の動作を制御するためのプログラムが記憶されており、また、表示装置26に表示される画面データ等の各種データも記憶されている。さらに、ROMおよびHDDには、ロボット12のビヘイビアを制御するためのプログラムやデータが記憶されている。ここで、ビヘイビアとは、行動モジュールによって実現されるロボット12のコミュニケーション行動を示しており、ROMおよびHDDには、複数の行動モジュールが各ビヘイビアに対応付けて記憶されている。また、RAMは、ワークメモリやバッファメモリとして用いられる。   Although not shown, the memory 24 includes a ROM, an HDD, and a RAM. The ROM and HDD store a program for controlling the operation of the development support apparatus 10, and various data such as screen data displayed on the display device 26 is also stored. Furthermore, the ROM and the HDD store programs and data for controlling the behavior of the robot 12. Here, the behavior indicates the communication behavior of the robot 12 realized by the behavior module, and a plurality of behavior modules are stored in the ROM and HDD in association with each behavior. The RAM is used as a work memory or a buffer memory.

さらに、CPU20は、バス22を介して複数のデータベース(以下、DB)に接続される。具体的には、CPU20は、テンプレートDB30および行動モジュールDB32に接続される。   Further, the CPU 20 is connected to a plurality of databases (hereinafter referred to as DB) via the bus 22. Specifically, the CPU 20 is connected to the template DB 30 and the behavior module DB 32.

テンプレートDB30には、行動モジュールが、たとえば「Talk(挨拶)」、「Guide(道案内)」、「Navi(誘導)」といったビヘイビアの種類ごとにテンプレート化されて、予め記憶してある。後で詳細に説明するように、ロボット12の開発者等は、このテンプレートDB30に記憶されているテンプレートのデータ(テンプレートデータ)を読み出して、そのテンプレートデータに行動モジュールの実行に関する情報(実行情報)を与えることによって、新規の行動モジュールを作成することができる。   In the template DB 30, behavior modules are templated for each type of behavior such as “Talk (greeting)”, “Guide (direction guidance)”, and “Navi (guidance)”, and stored in advance. As will be described in detail later, the developer of the robot 12 reads the template data (template data) stored in the template DB 30 and stores information (execution information) related to the execution of the behavior module in the template data. A new behavior module can be created.

行動モジュールDB32には、テンプレートと実行情報とに基づいて作成された行動モジュールが記憶されている。一例を挙げると、図3に示すように、ロボット12のビヘイビア(Bi)に関連付けて、テンプレート(Tj)の種類、ならびに、当該テンプレートに引数として与えられた実行情報(arg1,arg2,arg3,…,argN)がテーブルとして記憶される。   The behavior module DB 32 stores behavior modules created based on templates and execution information. As an example, as shown in FIG. 3, in association with the behavior (Bi) of the robot 12, the type of the template (Tj) and the execution information (arg1, arg2, arg3,...) Given as an argument to the template. , ArgN) is stored as a table.

ただし、図3に示すテーブルの構成はあくまで一例であり、テーブルの構成は、本発明の技術的思想を実現できる構成であればどのようなものでもかまわない。   However, the configuration of the table shown in FIG. 3 is merely an example, and the configuration of the table may be any configuration as long as it can realize the technical idea of the present invention.

さらに、CPU20は、バス22を介して通信LANボード34に接続される。通信LANボード34は、たとえばDSPで構成され、CPU20から与えられた送信データを無線通信装置36に与え、無線通信装置36は送信データを、ネットワーク200を介してロボット12に送信する。また、通信LANボード34は、無線通信装置36を介してデータを受信し、受信したデータをCPU20に与える。   Further, the CPU 20 is connected to the communication LAN board 34 via the bus 22. The communication LAN board 34 is constituted by a DSP, for example, and provides transmission data given from the CPU 20 to the wireless communication device 36, and the wireless communication device 36 transmits the transmission data to the robot 12 via the network 200. The communication LAN board 34 receives data via the wireless communication device 36 and provides the received data to the CPU 20.

ここで、この開発支援装置10によって開発を支援するロボット12について説明する。ロボット12は、各種センサを有するヒューマノイド型で自律移動型のものであり、身振りおよび音声の少なくとも一方を用いて、コミュニケーション行動を取ることができる。このようなロボット12のコミュニケーション行動(ビヘイビア)を実現するためのプログラムは、上述したように、モジュール化された「行動モジュール」として実行される。また、後で詳細に説明するように、行動モジュールの実行順序は、「行動モジュールの状態遷移」として設定され、長期的に首尾一貫した前後関係または調和した状況を維持しているコミュニケーション行動が実現される。「行動モジュールの状態遷移」は、行動モジュールの短期的な遷移ないし推移を示すものであり、たとえば、数個程度の行動モジュールの繋がりないし順序付けであり得るが、長期(たとえば一日中)やすべての行動モジュールの遷移を定めたものではない。すなわち、ロボット12は、「行動モジュール」を順次実行し、その行動モジュールの実行順序は、「行動モジュールの状態遷移」によって導かれる。   Here, the robot 12 that supports development by the development support apparatus 10 will be described. The robot 12 is a humanoid type and autonomously moving type having various sensors, and can take a communication action using at least one of gesture and voice. As described above, the program for realizing the communication behavior (behavior) of the robot 12 is executed as a modularized “behavior module”. In addition, as will be described in detail later, the execution order of behavior modules is set as “state transition of behavior modules”, and communication behavior that maintains a consistent context or a harmonious situation in the long term is realized. Is done. “Behavior module state transition” indicates a short-term transition or transition of the behavior module. For example, it may be a connection or ordering of several behavior modules, but a long-term (for example, all day) or all behaviors. It does not define the transition of modules. That is, the robot 12 sequentially executes the “behavior modules”, and the execution order of the behavior modules is guided by “state transition of the behavior modules”.

ただし、行動モジュールの実行順序に関する規則として「エピソード・ルール」を適用することもできる。この「エピソード・ルール」については、本件出願人が先に出願し、既に出願公開された特開2004−114242号公報に開示されている。   However, the “episode rule” can also be applied as a rule regarding the execution order of the behavior modules. This “episode rule” is disclosed in Japanese Patent Application Laid-Open No. 2004-114242 filed by the applicant in advance and already published.

図4を参照して、ロボット12のハードウェア面の構成を詳細に説明する。図4に示すように、ロボット12は台車50を含み、台車50の下面にはロボット12を自律移動させる2つの車輪52および1つの従輪54が設けられる。2つの車輪52は車輪モータ76(図5参照)によってそれぞれ独立に駆動され、台車50すなわちロボット12を前後左右の任意方向に動かすことができる。また、従輪54は車輪52を補助する補助輪である。したがって、ロボット12は、配置された空間内を自律制御によって移動可能である。ただし、ロボット12は、或る場所に固定的に配置されても構わない。   The hardware configuration of the robot 12 will be described in detail with reference to FIG. As shown in FIG. 4, the robot 12 includes a carriage 50, and two wheels 52 and one slave wheel 54 that autonomously move the robot 12 are provided on the lower surface of the carriage 50. The two wheels 52 are independently driven by a wheel motor 76 (see FIG. 5), and the carriage 50, that is, the robot 12 can be moved in any direction, front, back, left, and right. The slave wheel 54 is an auxiliary wheel that assists the wheel 52. Therefore, the robot 12 can move in the arranged space by autonomous control. However, the robot 12 may be fixedly arranged at a certain place.

台車50の上には、円柱形のセンサ取り付けパネル58が設けられ、このセンサ取り付けパネル58には、多数の赤外線距離センサ60が取り付けられる。これらの赤外線距離センサ60は、センサ取り付けパネル58すなわちロボット12の周囲の物体(人間や障害物など)との距離を測定するものである。   A cylindrical sensor mounting panel 58 is provided on the carriage 50, and a large number of infrared distance sensors 60 are mounted on the sensor mounting panel 58. These infrared distance sensors 60 measure the distance to the sensor mounting panel 58, that is, the object (such as a human being or an obstacle) around the robot 12.

なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、超音波距離センサやミリ波レーダなどを用いることもできる。   In this embodiment, an infrared distance sensor is used as the distance sensor, but an ultrasonic distance sensor, a millimeter wave radar, or the like can be used instead of the infrared distance sensor.

センサ取り付けパネル58の上には、胴体62が直立するように設けられる。また、胴体62の前方中央上部(人の胸に相当する位置)には、上述した赤外線距離センサ60がさらに設けられ、ロボット12の前方の主として人間との距離を計測する。また、胴体62には、その側面側の上端部のほぼ中央から伸びる支柱64が設けられ、支柱64の上には、全方位カメラ66が設けられる。全方位カメラ66は、ロボット12の周囲を撮影するものであり、後述する眼カメラ90とは区別される。この全方位カメラ66としては、たとえばCCDやCMOSのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ60および全方位カメラ66の設置位置は、当該部位に限定されず適宜変更され得る。   A body 62 is provided on the sensor mounting panel 58 so as to stand upright. Further, the above-described infrared distance sensor 60 is further provided at the front upper center of the body 62 (a position corresponding to a person's chest), and measures the distance mainly to a person in front of the robot 12. Further, the body 62 is provided with a support column 64 extending from substantially the center of the upper end on the side surface side, and an omnidirectional camera 66 is provided on the support column 64. The omnidirectional camera 66 captures the surroundings of the robot 12 and is distinguished from an eye camera 90 described later. As the omnidirectional camera 66, for example, a camera using a solid-state imaging device such as a CCD or a CMOS can be adopted. In addition, the installation positions of the infrared distance sensor 60 and the omnidirectional camera 66 are not limited to the portions, and can be changed as appropriate.

胴体62の両側面上端部(人の肩に相当する位置)には、それぞれ、肩関節68Rおよび肩関節68Lによって、上腕70Rおよび上腕70Lが設けられる。図示は省略するが、肩関節68Rおよび肩関節68Lは、それぞれ、直交する3軸の自由度を有する。すなわち、肩関節68Rは、直交する3軸のそれぞれの軸廻りにおいて上腕70Rの角度を制御できる。肩関節68Rの或る軸(ヨー軸)は、上腕70Rの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節68Lは、直交する3軸のそれぞれの軸廻りにおいて上腕70Lの角度を制御できる。肩関節68Lの或る軸(ヨー軸)は、上腕70Lの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。   An upper arm 70R and an upper arm 70L are provided at upper end portions on both sides of the body 62 (a position corresponding to a human shoulder) by a shoulder joint 68R and a shoulder joint 68L, respectively. Although illustration is omitted, each of the shoulder joint 68R and the shoulder joint 68L has three orthogonal degrees of freedom. That is, the shoulder joint 68R can control the angle of the upper arm 70R around each of three orthogonal axes. A certain axis (yaw axis) of the shoulder joint 68R is an axis parallel to the longitudinal direction (or axis) of the upper arm 70R, and the other two axes (pitch axis and roll axis) are orthogonal to the axes from different directions. It is an axis to do. Similarly, the shoulder joint 68L can control the angle of the upper arm 70L around each of three orthogonal axes. A certain axis (yaw axis) of the shoulder joint 68L is an axis parallel to the longitudinal direction (or axis) of the upper arm 70L, and the other two axes (pitch axis and roll axis) are orthogonal to the axis from different directions. It is an axis to do.

また、上腕70Rおよび上腕70Lのそれぞれの先端には、肘関節72Rおよび肘関節72Lが設けられる。図示は省略するが、肘関節72Rおよび肘関節72Lは、それぞれ1軸の自由度を有し、この軸(ピッチ軸)の軸回りにおいて前腕74Rおよび前腕74Lの角度を制御できる。   In addition, an elbow joint 72R and an elbow joint 72L are provided at the tips of the upper arm 70R and the upper arm 70L, respectively. Although illustration is omitted, each of the elbow joint 72R and the elbow joint 72L has one degree of freedom, and the angles of the forearm 74R and the forearm 74L can be controlled around the axis (pitch axis).

前腕74Rおよび前腕74Lのそれぞれの先端には、人の手に相当する球体76Rおよび球体76Lがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人間の手の形をした「手」を用いることも可能である。また、図示は省略するが、台車50の前面、肩関節68Rと肩関節68Lとを含む肩に相当する部位、上腕70R、上腕70L、前腕74R、前腕74L、球体76Rおよび球体76Lには、それぞれ、接触センサ78(図5で包括的に示す)が設けられる。台車50の前面の接触センサ78は、台車50への人間や他の障害物の接触を検知する。したがって、ロボット12は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪52の駆動を停止してロボット12の移動を急停止させることができる。また、その他の接触センサ78は、当該各部位に触れたかどうかを検知する。なお、接触センサ78の設置位置は、当該部位に限定されず、適宜な位置(人の胸、腹、脇、背中および腰に相当する位置)に設けられてもよい。   A sphere 76R and a sphere 76L corresponding to a human hand are fixedly provided at the tips of the forearm 74R and the forearm 74L, respectively. However, when a finger or palm function is required, a “hand” in the shape of a human hand can be used. Although not shown, the front surface of the carriage 50, the portion corresponding to the shoulder including the shoulder joint 68R and the shoulder joint 68L, the upper arm 70R, the upper arm 70L, the forearm 74R, the forearm 74L, the sphere 76R, and the sphere 76L, , A contact sensor 78 (shown generically in FIG. 5) is provided. A contact sensor 78 on the front surface of the carriage 50 detects contact of a person or other obstacle with the carriage 50. Therefore, when the robot 12 is in contact with an obstacle during its movement, the robot 12 can detect the contact and immediately stop the driving of the wheel 52 to suddenly stop the movement of the robot 12. Further, the other contact sensors 78 detect whether or not the respective parts are touched. In addition, the installation position of the contact sensor 78 is not limited to the said site | part, and may be provided in an appropriate position (position corresponding to a person's chest, abdomen, side, back, and waist).

胴体62の中央上部(人の首に相当する位置)には首関節80が設けられ、さらにその上には頭部82が設けられる。図示は省略するが、首関節80は、3軸の自由度を有し、3軸の各軸廻りに角度制御可能である。或る軸(ヨー軸)はロボット12の真上(鉛直上向き)に向かう軸であり、他の2軸(ピッチ軸、ロール軸)は、それぞれ、それと異なる方向で直交する軸である。   A neck joint 80 is provided at the upper center of the body 62 (a position corresponding to a person's neck), and a head 82 is further provided thereon. Although illustration is omitted, the neck joint 80 has a degree of freedom of three axes, and the angle can be controlled around each of the three axes. A certain axis (yaw axis) is an axis directed directly above (vertically upward) of the robot 12, and the other two axes (pitch axis and roll axis) are axes orthogonal to each other in different directions.

頭部82には、人の口に相当する位置に、スピーカ84が設けられる。スピーカ84は、ロボット12が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク86Rおよびマイク86Lが設けられる。以下、右のマイク86Rと左のマイク86Lとをまとめてマイク86ということがある。マイク86は、周囲の音、とりわけコミュニケーションを実行する対象である人間の音声を取り込む。さらに、人の目に相当する位置には、眼球部88Rおよび眼球部88Lが設けられる。眼球部88Rおよび眼球部88Lは、それぞれ眼カメラ90Rおよび眼カメラ90Lを含む。以下、右の眼球部88Rと左の眼球部88Lとをまとめて眼球部88ということがある。また、右の眼カメラ90Rと左の眼カメラ90Lとをまとめて眼カメラ90ということがある。   The head 82 is provided with a speaker 84 at a position corresponding to a human mouth. The speaker 84 is used for the robot 12 to communicate with a person around it by voice or sound. A microphone 86R and a microphone 86L are provided at a position corresponding to a human ear. Hereinafter, the right microphone 86R and the left microphone 86L may be collectively referred to as a microphone 86. The microphone 86 captures ambient sounds, in particular, the voices of humans who are subjects of communication. Furthermore, an eyeball part 88R and an eyeball part 88L are provided at positions corresponding to human eyes. The eyeball part 88R and the eyeball part 88L include an eye camera 90R and an eye camera 90L, respectively. Hereinafter, the right eyeball part 88R and the left eyeball part 88L may be collectively referred to as the eyeball part 88. Further, the right eye camera 90R and the left eye camera 90L may be collectively referred to as an eye camera 90.

眼カメラ90は、ロボット12に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。また、眼カメラ90は、上述した全方位カメラ66と同様のカメラを用いることができる。たとえば、眼カメラ90は、眼球部88内に固定され、眼球部88は、眼球支持部(図示せず)を介して頭部82内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、2軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この2軸の一方は、頭部82の上に向かう方向の軸(ヨー軸)であり、他方は、一方の軸に直交しかつ頭部82の正面側(顔)が向く方向に直行する方向の軸(ピッチ軸)である。眼球支持部がこの2軸の各軸廻りに回転されることによって、眼球部88ないし眼カメラ90の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ84、マイク86および眼カメラ90の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。   The eye camera 90 captures a human face approaching the robot 12, other parts or objects, and captures a corresponding video signal. The eye camera 90 can be the same camera as the omnidirectional camera 66 described above. For example, the eye camera 90 is fixed in the eyeball unit 88, and the eyeball unit 88 is attached to a predetermined position in the head 82 via an eyeball support unit (not shown). Although illustration is omitted, the eyeball support portion has two degrees of freedom, and the angle can be controlled around each of these axes. For example, one of the two axes is an axis (yaw axis) in a direction toward the top of the head 82, and the other is orthogonal to the one axis and goes straight in a direction in which the front side (face) of the head 82 faces. It is an axis (pitch axis) in the direction to be performed. By rotating the eyeball support portion around each of the two axes, the tip (front) side of the eyeball portion 88 or the eye camera 90 is displaced, and the camera axis, that is, the line-of-sight direction is moved. In addition, the installation positions of the above-described speaker 84, microphone 86, and eye camera 90 are not limited to the portions, and may be provided at appropriate positions.

このように、この実施例のロボット12は、車輪52の独立2軸駆動、肩関節68の3自由度(左右で6自由度)、肘関節72の1自由度(左右で2自由度)、首関節80の3自由度および眼球支持部の2自由度(左右で4自由度)の合計17自由度を有する。   As described above, the robot 12 of this embodiment includes independent two-axis driving of the wheels 52, three degrees of freedom of the shoulder joint 68 (6 degrees of freedom on the left and right), one degree of freedom of the elbow joint 72 (2 degrees of freedom on the left and right), It has a total of 17 degrees of freedom: 3 degrees of freedom for the neck joint 80 and 2 degrees of freedom for the eyeball support (4 degrees of freedom on the left and right).

図5はロボット12の電気的な構成を示すブロック図である。この図5を参照して、ロボット12は、CPU100を含む。CPU100は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス102を介して、メモリ104、モータ制御ボード106、センサ入力/出力ボード108および音声入力/出力ボード110に接続される。   FIG. 5 is a block diagram showing an electrical configuration of the robot 12. Referring to FIG. 5, the robot 12 includes a CPU 100. The CPU 100 is also called a microcomputer or a processor, and is connected to the memory 104, the motor control board 106, the sensor input / output board 108, and the audio input / output board 110 via the bus 102.

メモリ104は、図示は省略をするが、ROM、HDDおよびRAMを含む。ROMおよびHDDには、開発支援装置10のメモリ24に記憶されているものと同じ、このロボット12のビヘイビアを制御するためのプログラム(行動モジュール)が各ビヘイビアに対応付けて記憶されている。さらに、ROMおよびHDDには、テンプレートDB30に記憶されているものと同じ、「Talk(挨拶)」、「Guide(道案内)」、「Navi(誘導)」といった、ビヘイビアの種類ごとにテンプレート化された行動モジュールが記憶されている。また、RAMは、ワークメモリやバッファメモリとして用いられる。   Although not shown, the memory 104 includes a ROM, an HDD, and a RAM. In the ROM and the HDD, the same program (behavior module) for controlling the behavior of the robot 12 as that stored in the memory 24 of the development support apparatus 10 is stored in association with each behavior. Furthermore, the same ROM and HDD as those stored in the template DB 30 are templated for each type of behavior such as “Talk (greeting)”, “Guide”, “Navi (guidance)”. The action module is stored. The RAM is used as a work memory or a buffer memory.

モータ制御ボード106は、たとえばDSPで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード106は、CPU100からの制御データを受け、右眼球部88Rの2軸のそれぞれの角度を制御する2つのモータ(図5では、まとめて「右眼球モータ112」と示す)の回転角度を制御する。同様にして、モータ制御ボード106は、CPU100からの制御データを受け、左眼球部88Lの2軸のそれぞれの角度を制御する2つのモータ(図5では、まとめて「左眼球モータ114」と示す)の回転角度を制御する。   The motor control board 106 is configured by, for example, a DSP, and controls driving of motors of axes such as arms, neck joints, and eyeballs. That is, the motor control board 106 receives control data from the CPU 100 and controls two motors (in FIG. 5, collectively referred to as “right eyeball motor 112”) that control the angles of the two axes of the right eyeball portion 88R. Control the rotation angle. Similarly, the motor control board 106 receives the control data from the CPU 100, and shows two motors for controlling the respective angles of the two axes of the left eyeball portion 88L (in FIG. 5, collectively referred to as “left eyeball motor 114”). ) To control the rotation angle.

また、モータ制御ボード106は、CPU100からの制御データを受け、肩関節68Rの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節72Rの角度を制御する1つのモータとの計4つのモータ(図5では、まとめて「右腕モータ116」と示す)の回転角度を制御する。同様にして、モータ制御ボード106は、CPU100からの制御データを受け、肩関節68Lの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節72Lの角度を制御する1つのモータとの計4つのモータ(図5では、まとめて「左腕モータ118」と示す)の回転角度を制御する。   The motor control board 106 receives control data from the CPU 100, and includes a total of four motors including three motors for controlling the angles of the three orthogonal axes of the shoulder joint 68R and one motor for controlling the angle of the elbow joint 72R. The rotation angle of two motors (collectively indicated as “right arm motor 116” in FIG. 5) is controlled. Similarly, the motor control board 106 receives control data from the CPU 100, and includes three motors for controlling the angles of the three orthogonal axes of the shoulder joint 68L and one motor for controlling the angle of the elbow joint 72L. The rotation angles of a total of four motors (collectively indicated as “left arm motor 118” in FIG. 5) are controlled.

さらに、モータ制御ボード106は、CPU100からの制御データを受け、首関節80の直交する3軸のそれぞれの角度を制御する3つのモータ(図5では、まとめて「頭部モータ130」と示す)の回転角度を制御する。そして、モータ制御ボード106は、CPU100からの制御データを受け、車輪52を駆動する2つのモータ(図5では、まとめて「車輪モータ76」と示す)の回転角度を制御する。なお、この実施例では、車輪モータ76を除くモータは、制御を簡素化するためにステッピングモータ(すなわち、パルスモータ)を用いる。ただし、車輪モータ76と同様に直流モータを用いるようにしてもよい。また、ロボット12の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更されてもよい。たとえば、他の実施例では、エアアクチュエータなどが適用されてもよい。   Further, the motor control board 106 receives control data from the CPU 100, and controls three motors for controlling the angles of the three orthogonal axes of the neck joint 80 (in FIG. 5, collectively indicated as “head motor 130”). Control the rotation angle. The motor control board 106 receives control data from the CPU 100 and controls the rotation angles of two motors (collectively referred to as “wheel motors 76” in FIG. 5) that drive the wheels 52. In this embodiment, a motor other than the wheel motor 76 uses a stepping motor (that is, a pulse motor) in order to simplify the control. However, a DC motor may be used similarly to the wheel motor 76. The actuator that drives the body part of the robot 12 is not limited to a motor that uses a current as a power source, and may be changed as appropriate. For example, in another embodiment, an air actuator or the like may be applied.

センサ入力/出力ボード108は、モータ制御ボード106と同様に、DSPで構成され、各センサからの信号を取り込んでCPU100に与える。すなわち、赤外線距離センサ60のそれぞれからの反射時間に関するデータがこのセンサ入力/出力ボード108を通じてCPU100に入力される。また、全方位カメラ66からの映像信号が、必要に応じてセンサ入力/出力ボード108で所定の処理を施してからCPU100に入力される。眼カメラ90からの映像信号も、同様にして、CPU100に入力される。また、上述した複数の接触センサ78(図5では、まとめて「接触センサ78」と示す)からの信号がセンサ入力/出力ボード108を介してCPU100に与えられる。音声入力/出力ボード110もまた、同様に、DSPで構成され、CPU100から与えられる音声合成データに従った音声または声がスピーカ84から出力される。また、マイク86からの音声入力が、音声入力/出力ボード110を介してCPU100に与えられる。   Similar to the motor control board 106, the sensor input / output board 108 is configured by a DSP and takes in signals from each sensor and gives them to the CPU 100. That is, data relating to the reflection time from each of the infrared distance sensors 60 is input to the CPU 100 through the sensor input / output board 108. Further, the video signal from the omnidirectional camera 66 is input to the CPU 100 after being subjected to predetermined processing by the sensor input / output board 108 as necessary. Similarly, the video signal from the eye camera 90 is also input to the CPU 100. Further, signals from the plurality of contact sensors 78 described above (collectively referred to as “contact sensors 78” in FIG. 5) are given to the CPU 100 via the sensor input / output board 108. Similarly, the voice input / output board 110 is also configured by a DSP, and voice or voice in accordance with voice synthesis data provided from the CPU 100 is output from the speaker 84. Also, voice input from the microphone 86 is given to the CPU 100 via the voice input / output board 110.

また、CPU100は、バス102を介して通信LANボード132に接続される。通信LANボード132は、たとえばDSPで構成され、CPU100から与えられた送信データを無線通信装置134に与え、無線通信装置134は送信データを、ネットワーク200を介して開発支援装置10に送信する。また、通信LANボード132は、無線通信装置124を介してデータを受信し、受信したデータをCPU100に与える。   The CPU 100 is connected to the communication LAN board 132 via the bus 102. The communication LAN board 132 is configured by a DSP, for example, and sends transmission data given from the CPU 100 to the wireless communication device 134, and the wireless communication device 134 sends the transmission data to the development support device 10 via the network 200. The communication LAN board 132 receives data via the wireless communication device 124 and gives the received data to the CPU 100.

開発支援装置10は、上述のようなロボット12の開発に役立つものである。具体的には、開発支援装置10は、テンプレートと当該テンプレートに引数として与えられる実行情報とに基づいて、新規の行動モジュールを作成する機能を有しており、たとえば、この開発支援装置10を用いて行動モジュールを逐次的に追加していくことによって、大規模な行動パターンを備えたロボット12を実現することができる。   The development support apparatus 10 is useful for the development of the robot 12 as described above. Specifically, the development support apparatus 10 has a function of creating a new behavior module based on a template and execution information given as an argument to the template. For example, the development support apparatus 10 is used. By sequentially adding action modules, the robot 12 having a large-scale action pattern can be realized.

開発支援装置10では、開発支援処理が開始されると、たとえば図6に示すようなコンポーザ画面300が表示装置26に表示される。ただし、この実施例で示す各画面は一例であって適宜変更可能である。   In the development support device 10, when the development support process is started, a composer screen 300 as shown in FIG. 6 is displayed on the display device 26, for example. However, each screen shown in this embodiment is an example and can be changed as appropriate.

このコンポーザ画面300では、ロボット12の開発者等は、行動モジュールの状態遷移を設定することができる。コンポーザ画面300は、視覚化画面302を含み、この視覚化画面302には、行動モジュールの状態遷移が図式的に視覚化されて表示される。具体的には、視覚化画面302では、行動モジュールに対応するビヘイビアが矩形状のアイコン(ビヘイビアアイコン)で表示され、このビヘイビアアイコンの下部には、当該ビヘイビアの名称がテキスト(文字)で表示される。また、詳細な説明は省略するが、視覚化画面302では、行動モジュールの遷移を示す矢印線(遷移線)、スタートアイコン、エンドアイコン等が表示されており、このような視覚化によって行動モジュールの遷移ないし推移が容易に把握され得る。   On this composer screen 300, the developer of the robot 12 can set the state transition of the behavior module. The composer screen 300 includes a visualization screen 302, and the state transition of the behavior module is graphically visualized and displayed on the visualization screen 302. Specifically, on the visualization screen 302, the behavior corresponding to the behavior module is displayed as a rectangular icon (behavior icon), and the name of the behavior is displayed in text (character) below the behavior icon. The Although detailed explanation is omitted, on the visualization screen 302, an arrow line (transition line) indicating a transition of the behavior module, a start icon, an end icon, and the like are displayed. Transitions or transitions can be easily grasped.

また、図6の視覚化画面302右側には、リスト画面304が設けられる。リスト画面304は、領域306、および領域308を含み、このリスト画面304には、ビヘイビアの名称のリストがマウスなどの入力装置28によるドラッグ・アンド・ドロップ操作の対象オブジェクト(ビヘイビアオブジェクト)として表示される。具体的には、ロボット12の開発者等がマウスなどの入力装置28を操作して、リスト画面304のビヘイビアオブジェクトをドラッグし、そして視覚化画面302でこれをドロップすると、そのビヘイビアに対応するビヘイビアアイコンが視覚化画面302に描画されることとなる。   A list screen 304 is provided on the right side of the visualization screen 302 in FIG. The list screen 304 includes an area 306 and an area 308. On the list screen 304, a list of behavior names is displayed as a target object (behavior object) of a drag and drop operation by the input device 28 such as a mouse. The Specifically, when the developer of the robot 12 operates the input device 28 such as a mouse and drags a behavior object on the list screen 304 and drops it on the visualization screen 302, the behavior corresponding to the behavior is displayed. An icon is drawn on the visualization screen 302.

たとえば、領域306には、「Akushu(握手)」、「Hug(抱き合う)」や「Jyan(じゃんけん)」などの、テンプレート化されていない行動モジュール、すなわちテンプレートに基づいた作成・更新処理を行うことのできない行動モジュールに対応するビヘイビアオブジェクトが表示される。   For example, in the area 306, action modules that are not templated, such as “Akushu (handshake)”, “Hug”, “Jyan”, and the like, that is, creation / update processing based on a template are performed. Behavior objects corresponding to behavior modules that cannot be displayed are displayed.

領域308には、「Talk(挨拶)」、「Guide(道案内)」、「Navi(誘導)」などの、テンプレート化されている行動モジュール、すなわちテンプレートに基づいた作成・更新処理を行うことのできる行動モジュールに対応するビヘイビアオブジェクトが当該ビヘイビアが属するテンプレートごとに分類されて表示される。   In the area 308, a behavior module that is made into a template such as “Talk (greeting)”, “Guide”, “Navi (guidance)”, that is, creation / update processing based on the template is performed. The behavior objects corresponding to the possible behavior modules are classified and displayed for each template to which the behavior belongs.

また、各テンプレートの下部には、“追加”ボタンが設けられており、この“追加”ボタンをマウスなどの入力装置28で選択することによって、このテンプレートに対応する入力画面400,500を表示することができる。   Further, an “add” button is provided at the bottom of each template, and the input screens 400 and 500 corresponding to the template are displayed by selecting the “add” button with the input device 28 such as a mouse. be able to.

図7および図8に示す入力画面400,500は、テンプレートを視覚化して表示したものであり、上述したように、リスト画面304に表示されている“追加”ボタンをマウスなどの入力装置28で選択することによって、コンポーザ画面300とは別ウィンドウで表示される。   The input screens 400 and 500 shown in FIGS. 7 and 8 are obtained by visualizing the templates. As described above, the “add” button displayed on the list screen 304 can be displayed using the input device 28 such as a mouse. By selecting, it is displayed in a separate window from the composer screen 300.

この入力画面400,500では、ロボット12の開発者等は、行動モジュールの実行に関する情報(実行情報)を引数として入力することによって、テンプレートと実行情報とに基づいた新規の行動モジュールを作成することができる。たとえば、図7は、「Talk(挨拶)」のテンプレートを視覚化した入力画面400であり、図8は、「Guide(道案内)」のテンプレートを視覚化した入力画面500である。   In the input screens 400 and 500, the developer of the robot 12 creates a new behavior module based on the template and the execution information by inputting information (execution information) related to the execution of the behavior module as an argument. Can do. For example, FIG. 7 shows an input screen 400 visualizing a “Talk” template, and FIG. 8 shows an input screen 500 visualizing a “Guide” template.

先ず、図7を参照して、「Talk(挨拶)」の入力画面400について説明する。   First, the “Talk (greeting)” input screen 400 will be described with reference to FIG. 7.

図7に示す入力画面400は、領域402a、領域402b、領域402c(引数入力領域404)、ならびに領域402dを含み、この領域402a―402dの下部には、“了解”ボタン406、“キャンセル”ボタン408、ならびに“クリア”ボタン410が設けられる。   The input screen 400 shown in FIG. 7 includes an area 402a, an area 402b, an area 402c (argument input area 404), and an area 402d. Below the areas 402a to 402d, an “OK” button 406 and a “CANCEL” button are displayed. 408, as well as a “Clear” button 410 are provided.

領域402aには、テンプレートの名称が表示される。図7に示す例では、このビヘイビアが「Talk(挨拶)」のテンプレートに属していることが示される。   The name of the template is displayed in the area 402a. The example shown in FIG. 7 indicates that this behavior belongs to the “Talk (greeting)” template.

領域402bには、ビヘイビアの名称が表示される。図7に示す例では、このビヘイビアの名称が「こんにちは」であることが示される。   The name of the behavior is displayed in the area 402b. In the example shown in FIG. 7, that the name of this behavior is "Hello" is shown.

領域402cには、この「Talk(挨拶)」のテンプレートに引数として入力された実行情報が表示される。すなわち、領域402cは、引数入力領域404として機能する。たとえば、実行情報は、ロボットの発話内容に対応するテキスト(文字)データであり、ロボット12の開発者等がキーボードなどの入力装置28を用いて直接手入力する方法等が考えられる。図7に示す例では、ロボット12が「こんにちは。ようこそ。」と発話することが示される。   In the area 402c, execution information input as an argument to this “Talk (greeting)” template is displayed. That is, the area 402 c functions as the argument input area 404. For example, the execution information is text (character) data corresponding to the utterance content of the robot, and a method in which the developer of the robot 12 directly inputs manually using the input device 28 such as a keyboard can be considered. In the example shown in FIG. 7, indicated that the robot 12 utters "Hello. Welcome.".

領域402dには、ビヘイビアの説明等が表示される。たとえば、領域402dには、「頭部を対話相手の顔位置に向け、“こんにちは。ようこそ。”と発話しながら、腕を適宜振る」といった、ビヘイビアの解説(説明文)が表示される。   A description of the behavior and the like are displayed in the area 402d. For example, in the area 402d, toward the "head in the face position of the dialogue partner," Hello. Welcome. A commentary (description) of the behavior, such as “shake the arm as appropriate while speaking” is displayed.

また、次に、図8を参照して、「Guide(道案内)」のテンプレートの入力画面500について説明する。   Next, a template input screen 500 for “Guide” will be described with reference to FIG.

図8に示すエディット画面500は、領域502a、領域502b、領域502c(引数入力領域504a)、領域502d(引数入力領域504b)、領域502e(引数入力領域504c)、領域502f(引数入力領域504d)、領域502g(引数入力領域504e)、ならびに領域502hを含み、この領域502a―502hの下部には、“了解”ボタン506、“キャンセル”ボタン508、ならびに“クリア”ボタン510が設けられる。   The edit screen 500 shown in FIG. 8 includes an area 502a, an area 502b, an area 502c (argument input area 504a), an area 502d (argument input area 504b), an area 502e (argument input area 504c), and an area 502f (argument input area 504d). , An area 502g (argument input area 504e) and an area 502h, and an “OK” button 506, a “Cancel” button 508, and a “Clear” button 510 are provided below the areas 502a to 502h.

領域502aには、テンプレートの名称が表示される。図8に示す例では、このビヘイビアが「Guide(道案内)」のテンプレートに属していることが示される。   The name of the template is displayed in the area 502a. The example shown in FIG. 8 indicates that this behavior belongs to the “Guide” template.

領域502bには、ビヘイビアの名称が表示される。図8に示す例では、このビヘイビアの名称が「マイルズへ」であることが示される。   The name of the behavior is displayed in the area 502b. In the example illustrated in FIG. 8, the behavior name is “To Miles”.

領域502cには、この「Guide(道案内)」のテンプレートに引数として与えられた実行情報が表示される。すなわち、領域502cは、引数入力領域504aとして機能する。たとえば、実行情報は、ロボットの発話内容に対応するテキストデータであり、ロボット12の開発者等がキーボードなどの入力装置28を用いて直接手入力する方法等が考えられる。図8に示す例では、ロボット12は、「○○(案内地点名)は」と発話することが示される。   In the area 502c, execution information given as an argument to the “Guide” template is displayed. That is, the area 502c functions as an argument input area 504a. For example, the execution information is text data corresponding to the utterance content of the robot, and a method in which the developer of the robot 12 directly inputs manually using the input device 28 such as a keyboard is conceivable. In the example shown in FIG. 8, it is shown that the robot 12 speaks “XX (guide point name)”.

領域502dには、この「Guide(道案内)」のテンプレートに引数として与えられた実行情報が表示される。すなわち、領域502dは、引数入力領域504bとして機能する。たとえば、実行情報は、中継地点の位置情報であり、ロボット12の開発者等がキーボードなどの入力装置28を用いて中継地点の座標を直接手入力する方法や、予め設定しておいた地名をマウスなどの入力装置28でいわゆるプルダウンメニュー方式で選択する方法、入力画面500とは別ウィンドウで地図画面(図示せず)を表示して、その地図上で任意の場所を選択する方法等が考えられる。図8に示す例では、中継地点が「オリエンタル・ダイナー」であることが示される。   In the area 502d, execution information given as an argument to the “Guide” template is displayed. That is, the area 502d functions as an argument input area 504b. For example, the execution information is the location information of the relay point, and the developer of the robot 12 or the like directly inputs the coordinates of the relay point manually using the input device 28 such as a keyboard, or a preset place name. A method of selecting by a so-called pull-down menu method using an input device 28 such as a mouse, a method of displaying a map screen (not shown) in a window different from the input screen 500, and selecting an arbitrary place on the map, etc. It is done. In the example shown in FIG. 8, the relay point is “Oriental Diner”.

領域502eには、この「Guide(道案内)」のテンプレートに引数として与えられた実行情報が表示される。すなわち、領域502eは、引数入力領域504cとして機能する。たとえば、実行情報は、ロボットの発話内容に対応するテキストデータであり、ロボット12の開発者等がキーボードなどの入力装置28を用いて直接手入力する方法等が考えられる。図8に示す例では、ロボット12は、「そっちの道の、突き当たりにある、○○(中継地点名)の」と発話することが示される。   In the area 502e, execution information given as an argument to the “Guide” template is displayed. That is, the area 502e functions as an argument input area 504c. For example, the execution information is text data corresponding to the utterance content of the robot, and a method in which the developer of the robot 12 directly inputs manually using the input device 28 such as a keyboard is conceivable. In the example shown in FIG. 8, it is shown that the robot 12 utters “Oh (the name of the relay point) at the end of that road”.

領域502fには、この「Guide(道案内)」のテンプレートに引数として与えられた実行情報が表示される。すなわち、領域502fは、引数入力領域504dとして機能する。たとえば、実行情報は、案内地点の位置情報であり、ロボット12の開発者等がキーボードなどの入力装置28を用いて案内地点の座標を直接手入力する方法や、予め設定しておいた地名をマウスなどの入力装置28でいわゆるプルダウンメニュー方式で選択する方法、入力画面500とは別ウィンドウで地図画面(図示せず)を表示して、その地図上で任意の場所を選択する方法等が考えられる。図8に示す例では、案内地点が、「マイルズ」であることが示される。   In the area 502f, execution information given as an argument to the “Guide” template is displayed. That is, the area 502f functions as an argument input area 504d. For example, the execution information is the position information of the guide point, and the developer of the robot 12 or the like directly inputs the coordinates of the guide point manually using the input device 28 such as a keyboard, or a preset place name. A method of selecting by a so-called pull-down menu method using an input device 28 such as a mouse, a method of displaying a map screen (not shown) in a window different from the input screen 500, and selecting an arbitrary place on the map, etc. It is done. In the example illustrated in FIG. 8, it is indicated that the guide point is “Miles”.

領域502gには、この「Guide(道案内)」のテンプレートに引数として与えられた実行情報が表示される。すなわち、領域502gは、引数入力領域504eとして機能する。たとえば、実行情報は、ロボットの発話内容に対応するテキストデータであり、ロボット12の開発者等がキーボードなどの入力装置28を用いて直接手入力する方法等が考えられる。図8に示す例では、ロボット12は、「あっちの方にある、出口から、出たとこにあるよ」と発話することが示される。   In the area 502g, execution information given as an argument to the “Guide” template is displayed. That is, the area 502g functions as an argument input area 504e. For example, the execution information is text data corresponding to the utterance content of the robot, and a method in which the developer of the robot 12 directly inputs manually using the input device 28 such as a keyboard is conceivable. In the example shown in FIG. 8, it is shown that the robot 12 speaks “I'm over there, I'm out of the exit”.

領域502hには、ロボット12の発話内容が表示される。具体的には、領域502c、領域502e、ならびに領域502gに表示されているロボット12の発話内容をまとめた文章が表示される。   The content of the utterance of the robot 12 is displayed in the area 502h. Specifically, a sentence that summarizes the utterance contents of the robot 12 displayed in the area 502c, the area 502e, and the area 502g is displayed.

このような入力画面400,500では、ロボット12の開発者等は、引数入力領域404,504に実行情報を入力した後、マウスなどの入力装置28で“了解”ボタン406,506を選択することによって、そのテンプレートに基づいた新規の行動モジュールを作成することができる。また、ロボット12の開発者等は、“キャンセル”ボタン408,508を選択することによって、入力画面400,500を閉じることができる。さらに、ロボット12の開発者等は、“クリア”ボタン410,510を選択することによって、引数入力領域に入力した実行情報を初期化することができる。   In such input screens 400 and 500, the developer of the robot 12 or the like inputs execution information in the argument input areas 404 and 504, and then selects “OK” buttons 406 and 506 with the input device 28 such as a mouse. Can create a new behavior module based on the template. Further, the developer or the like of the robot 12 can close the input screens 400 and 500 by selecting the “cancel” buttons 408 and 508. Furthermore, the developer or the like of the robot 12 can initialize the execution information input in the argument input area by selecting the “clear” buttons 410 and 510.

また、入力画面400,500は、リスト画面302に表示されているビヘイビアオブジェクトをマウスなどの入力装置28で選択し、または視覚化画面302に表示されているビヘイビアアイコンをマウスなどの入力装置28でたとえばダブルクリック等で選択することによっても表示される。この場合には、ロボット12の開発者等は、既に引数入力領域404,504に入力されている実行情報を再入力することによって、既存の行動モジュールを更新することができる。   The input screens 400 and 500 select the behavior object displayed on the list screen 302 with the input device 28 such as a mouse, or select the behavior icon displayed on the visualization screen 302 with the input device 28 such as a mouse. For example, it can be displayed by selecting by double-clicking. In this case, the developer or the like of the robot 12 can update the existing behavior module by re-inputting the execution information already input in the argument input areas 404 and 504.

具体的には、開発支援装置10のCPU20は、図9に示すフロー図に従って開発支援処理を実行する。   Specifically, the CPU 20 of the development support apparatus 10 executes the development support process according to the flowchart shown in FIG.

処理が開始されると、CPU20は、まず、ステップS1で、メモリ24から画面データを読み出し、たとえば図6に示すようなコンポーザ画面300を表示装置26に表示する。   When the process is started, the CPU 20 first reads screen data from the memory 24 in step S1, and displays a composer screen 300 as shown in FIG.

次に、ステップS3では、停止命令があるか否かを判断する。たとえば、ロボット12の開発者等によって、コンポーザ画面300の図示しない終了メニューが選択された場合には“YES”と判断し、続くステップS5で終了処理を実行して、開発支援処理を終了する。一方、ステップS3でNOであれば、つまり停止命令が無ければ、ステップS7で、後述する行動モジュールの作成・更新処理(図10参照)を実行して、ステップS9に進む。   Next, in step S3, it is determined whether there is a stop command. For example, if a developer or the like of the robot 12 selects an end menu (not shown) on the composer screen 300, “YES” is determined, and in the subsequent step S5, an end process is executed to end the development support process. On the other hand, if “NO” in the step S3, that is, if there is no stop instruction, a behavior module creation / update process (see FIG. 10) described later is executed in a step S7, and the process proceeds to the step S9.

ステップS9では、行動モジュールの状態遷移が設定されたか否かを判断する。具体的には、コンポーザ画面300の視覚化画面302において、行動モジュールの状態遷移が設定された後、コンポーザ画面300の図示しない決定メニューが選択されたか否かを判断する。行動モジュールの状態遷移が設定された場合には“YES”と判断し、続くステップS5で、行動モジュールの状態遷移に関する情報(遷移情報)をロボット12に送信して、ステップS3に戻る。なお、この遷移情報には、テンプレートに引数として入力された実行情報も含まれており、後で詳細に説明するように、開発支援装置10からの遷移情報を受信したロボット12は、指定された行動モジュールに対応するテンプレートのデータをメモリ104から読み出し、そのテンプレートデータに遷移情報から参照した引数としての実行情報を与えることによって、行動モジュールに規定される行動を行う。   In step S9, it is determined whether or not state transition of the behavior module is set. Specifically, after the state transition of the behavior module is set on the visualization screen 302 of the composer screen 300, it is determined whether or not a decision menu (not shown) on the composer screen 300 is selected. If the behavior module state transition is set, “YES” is determined, and in step S5, information (transition information) regarding the behavior module state transition is transmitted to the robot 12, and the process returns to step S3. The transition information also includes execution information input as an argument in the template. As will be described in detail later, the robot 12 that has received the transition information from the development support apparatus 10 is designated. Data of the template corresponding to the behavior module is read from the memory 104, and the behavior specified in the behavior module is performed by giving execution information as an argument referred to from the transition information to the template data.

一方、ステップS9でNOであれば、つまり行動モジュールの状態遷移が設定されないのであれば、そのままステップS3に戻る。   On the other hand, if “NO” in the step S9, that is, if the behavior module state transition is not set, the process returns to the step S3 as it is.

図10は、図9に示したステップS7の行動モジュールの作成・更新処理のフロー図である。図10に示すように、開発支援装置10のCPU20は、行動モジュールの作成・更新処理を開始すると、ステップS31で、新規の行動モジュールを作成するか否かを判断する。たとえば、ロボット12の開発者等によって、リスト画面304に表示された“追加”ボタンがマウスなどの入力装置28で選択されたとき等は、ステップS31で“YES”と判断し、次のステップS33で、その“追加”ボタンに対応するテンプレートのデータをテンプレートDB30から読み出す。   FIG. 10 is a flowchart of the action module creation / update process of step S7 shown in FIG. As illustrated in FIG. 10, when the CPU 20 of the development support apparatus 10 starts the behavior module creation / update process, in step S31, the CPU 20 determines whether to create a new behavior module. For example, when the “add” button displayed on the list screen 304 is selected by the developer of the robot 12 using the input device 28 such as a mouse, “YES” is determined in the step S31, and the next step S33. Thus, the template data corresponding to the “add” button is read from the template DB 30.

続いて、ステップS35では、ステップS33でテンプレートDB30から読み出したテンプレートを視覚化して、図7に示すような入力画面400(または、図8に示すような入力画面500)を、コンポーザ画面300とは別ウィンドウで表示装置26に表示する。   Subsequently, in step S35, the template read from the template DB 30 in step S33 is visualized, and the input screen 400 as shown in FIG. 7 (or the input screen 500 as shown in FIG. 8) is displayed as the composer screen 300. The data is displayed on the display device 26 in a separate window.

ステップS37では、行動モジュールの作成処理を実行する。具体的には、テンプレートDB30から読み出したテンプレートのデータに、この入力画面400の引数入力領域404に入力した実行情報を取り込むことによって、新規の行動モジュールを作成する。ここでは、ロボット12の開発者等は、入力画面400の引数領域404に実行情報を入力し、その後、入力画面400の“了解”ボタン406を選択する。   In step S37, action module creation processing is executed. Specifically, a new behavior module is created by taking execution information input in the argument input area 404 of the input screen 400 into template data read from the template DB 30. Here, the developer or the like of the robot 12 inputs execution information into the argument area 404 of the input screen 400, and then selects an “OK” button 406 on the input screen 400.

次に、ステップS39では、作成した新規の行動モジュールを行動モジュールDB32に保存する。すると、この作成した行動モジュールに対応するビヘイビアの名称(ビヘイビアオブジェクト)がリスト画面304に新しく追加される。   Next, in step S39, the created new behavior module is stored in the behavior module DB 32. Then, a behavior name (behavior object) corresponding to the created behavior module is newly added to the list screen 304.

ステップS39を終了すると、ステップS31へ戻って、繰り返し、新規の行動モジュールを作成するか否かの判断を行う。そして、ステップS31で“NO”であれば、つまり新規の行動モジュールを作成しないのであれば、そのままステップS41に進む。   When step S39 ends, the process returns to step S31, and it is repeatedly determined whether or not a new behavior module is to be created. If “NO” in the step S31, that is, if a new behavior module is not created, the process proceeds to a step S41 as it is.

ステップS41では、既存の行動モジュールを更新するか否かを判断する。たとえば、ロボット12の開発者等によって、リスト画面304に表示されたビヘイビアオブジェクトが選択されたとき等は、ステップS41で“YES”と判断し、次のステップS43で、そのビヘイビアオブジェクトに対応する行動モジュールのデータを行動モジュールDB32から読み出す。   In step S41, it is determined whether to update an existing behavior module. For example, when the behavior object displayed on the list screen 304 is selected by the developer of the robot 12 or the like, “YES” is determined in step S41, and the action corresponding to the behavior object is determined in the next step S43. Module data is read from the behavior module DB 32.

続いて、ステップS45では、図7に示すような入力画面400(または、図8に示すような入力画面500)を、コンポーザ画面300とは別ウィンドウで表示装置26に表示する。   Subsequently, in step S45, the input screen 400 as shown in FIG. 7 (or the input screen 500 as shown in FIG. 8) is displayed on the display device 26 as a separate window from the composer screen 300.

ステップS47では、既存の行動モジュールの更新処理を実行する。ここでは、たとえば、ロボット12の開発者等が、入力画面400の引数領域404に既に入力されている実行情報を修正する。その後、入力画面400の“了解”ボタン406を選択することによって、引数領域404に再入力された引数としての実行情報に基づいて、行動モジュールが更新される。   In step S47, an existing behavior module update process is executed. Here, for example, the developer of the robot 12 corrects the execution information already input in the argument area 404 of the input screen 400. Thereafter, by selecting the “OK” button 406 on the input screen 400, the behavior module is updated based on the execution information as the argument re-input in the argument area 404.

次に、ステップS49では、更新した行動モジュールを行動モジュールDB32に保存する。ここでは、更新した行動モジュールが、既存の行動モジュールと置き換えて行動モジュールDB32に記憶される。ステップS49を終了すると、ステップS31へ戻って、繰り返し、新規の行動モジュールを作成するか否かの判断を行う。   Next, in step S49, the updated behavior module is stored in the behavior module DB 32. Here, the updated behavior module is stored in the behavior module DB 32 in place of the existing behavior module. When step S49 is completed, the process returns to step S31 to repeatedly determine whether or not to create a new behavior module.

また、ステップS41で“NO”であれば、つまり既存の行動モジュールを更新しないのであれば、そのままステップS51に進み、ステップS51で行動モジュールの作成・更新処理を終了するか否かの判断を行う。ステップS51で“YES”であれば、行動モジュールの作成・更新処理を終了して、ステップS9(図9参照)に進む。   If “NO” in the step S41, that is, if the existing behavior module is not updated, the process proceeds to a step S51 as it is, and it is determined whether or not the behavior module creating / updating process is terminated in a step S51. . If “YES” in the step S51, the behavior module creating / updating process is ended, and the process proceeds to a step S9 (see FIG. 9).

図11は、ロボット12のCPU100の全体処理を示すフロー図である。図11に示すように、ロボット12のCPU100は、全体処理を実行すると、ステップS71で、最初に行う所定のビヘイビアを実行する。つまり、メモリ104から最初に行う所定のビヘイビアに対応する行動モジュールを読み出して、その行動モジュールに規定される行動を行う。なお、最初に実行するビヘイビアには、たとえば「EXPLORE(周囲環境を巡回して調査)」のように周囲環境を調査するもの等が設定され得る。   FIG. 11 is a flowchart showing the overall processing of the CPU 100 of the robot 12. As shown in FIG. 11, when the CPU 100 of the robot 12 executes the entire process, in step S71, the CPU 100 executes a predetermined behavior to be performed first. That is, an action module corresponding to a predetermined behavior to be performed first is read from the memory 104, and an action defined by the action module is performed. In addition, the behavior to be executed first may be set to investigate the surrounding environment such as “EXPLORE (surrounding the surrounding environment)”.

続いて、ステップS73で、停止命令があるか否かを判断する。ここでは、たとえば、開発中であれば開発支援装置10から終了指示があったか、あるいは、ロボット12を停止させるための終了ボタンが押されたかどうか等を判断する。ステップS73で“YES”であれば、続くステップS75で終了処理を実行して、ロボット12の動作処理を終了する。この終了処理では、ロボット12の体の各部位をそれぞれのホームポジションに戻すようにしてもよい。   Subsequently, in step S73, it is determined whether or not there is a stop command. Here, for example, if development is in progress, it is determined whether or not there has been an end instruction from the development support apparatus 10 or whether or not an end button for stopping the robot 12 has been pressed. If “YES” in the step S73, an end process is executed in a subsequent step S75, and the operation process of the robot 12 is ended. In this end process, each part of the body of the robot 12 may be returned to the home position.

一方、ステップS73で“NO”であれば、つまり停止命令がなければ、ステップS77で、開発支援装置10から行動モジュールの状態遷移についての遷移情報がネットワーク200を介して送信されてきたか否かを判断する。ステップS77で“YES”であれば、続くステップS79で遷移情報を受信してメモリ104に書き込む。   On the other hand, if “NO” in the step S73, that is, if there is no stop command, it is determined whether or not transition information regarding the state transition of the behavior module is transmitted from the development support apparatus 10 via the network 200 in a step S77. to decide. If “YES” in the step S 77, the transition information is received and written in the memory 104 in a succeeding step S 79.

続いて、ステップS81で、遷移情報において指定されている最初のビヘイビアを選択し、ステップS83で、そのビヘイビアがテンプレートに属するものであるか否かを判断する。具体的には、そのビヘイビアに対応する行動モジュールが、入力画面400,500の引数入力領域404,504に入力した実行情報をテンプレートデータに取り込むことによって作成された行動モジュールであるか否かを判断する。   Subsequently, in step S81, the first behavior specified in the transition information is selected, and in step S83, it is determined whether or not the behavior belongs to the template. Specifically, it is determined whether or not the behavior module corresponding to the behavior is a behavior module created by taking execution information input in the argument input areas 404 and 504 of the input screens 400 and 500 into template data. To do.

ステップS83で“YES”であれば、つまりビヘイビアがテンプレートに属するものであれば、ステップS85で、テンプレートに属するビヘイビアの実行処理(図12―14参照)を開始して、ステップS89に進む。   If “YES” in the step S83, that is, if the behavior belongs to the template, an execution process of the behavior belonging to the template (see FIG. 12-14) is started in a step S85, and the process proceeds to the step S89.

一方、ステップS83で“NO”であれば、つまりビヘイビアがテンプレートに属するものでなければ、ステップS87で、テンプレートに属さないビヘイビアの実行処理を開始する。つまり、そのビヘイビアに対応する行動モジュールをメモリ104から読み出して、その行動モジュールに規定される行動を行い、ステップS89に進む。   On the other hand, if “NO” in the step S83, that is, if the behavior does not belong to the template, the execution process of the behavior not belonging to the template is started in a step S87. That is, the behavior module corresponding to the behavior is read from the memory 104, the behavior prescribed in the behavior module is performed, and the process proceeds to step S89.

続くステップS89では、遷移情報によって指定されている全てのビヘイビアの実行が完了したか否かを判断する。ステップS89で“YES”であれば、つまり遷移情報によって指定されている全てのビヘイビアの実行が完了していれば、ステップS73へ戻って、処理が繰り返される。   In a succeeding step S89, it is determined whether or not execution of all the behaviors specified by the transition information is completed. If “YES” in the step S89, that is, if execution of all the behaviors specified by the transition information is completed, the process returns to the step S73 and the process is repeated.

一方、ステップS89で“NO”であれば、つまり、まだ全てのビヘイビアの実行が完了していなければ、ステップS91で、遷移情報によって指定されている次のビヘイビアを選択する。ステップS91の処理を終了すると、ステップS83に戻って、繰り返しそのビヘイビアがテンプレートに属するものであるか否かを判断する。   On the other hand, if “NO” in the step S89, that is, if the execution of all the behaviors is not yet completed, the next behavior specified by the transition information is selected in a step S91. When the process of step S91 is completed, the process returns to step S83, and it is repeatedly determined whether or not the behavior belongs to the template.

図12―14は、図11に示したステップS85のテンプレートに基づいたビヘイビアの実行処理のフロー図である。ロボット12のCPU100は、テンプレートに基づいたビヘイビアの実行処理を開始すると、ビヘイビアに対応するテンプレートのデータをメモリ104から読み出し、そのテンプレートデータに遷移情報から参照した引数としての実行情報を与えることによって、行動モジュールに規定される行動を行う。   12-14 is a flowchart of behavior execution processing based on the template in step S85 shown in FIG. When the CPU 100 of the robot 12 starts the behavior execution process based on the template, the CPU 100 reads the template data corresponding to the behavior from the memory 104 and gives execution information as an argument referred to from the transition information to the template data. Perform the actions specified in the Action Module.

図12には、ビヘイビアが「Talk(挨拶)」のテンプレートに属する場合のビヘイビアの実行処理の動作の一例が示される。   FIG. 12 shows an example of behavior execution processing when the behavior belongs to the “Talk (greeting)” template.

ステップS111では、ロボット12のCPU100は、眼カメラ90からの映像信号をセンサ入力/出力ボード108に取り込み、映像信号処理することによって、対話相手の顔の位置の座標(x,y,z)を算出する。   In step S111, the CPU 100 of the robot 12 takes the video signal from the eye camera 90 into the sensor input / output board 108 and processes the video signal, thereby obtaining the coordinates (x, y, z) of the face of the conversation partner. calculate.

続くステップS113では、算出された座標のデータをモータ制御ボード106に与えて、ロボット12の身体方向を対話相手の方向(x,y)に向けるとともに、ロボット12の頭部82の顔や眼球部88を人の顔の位置(x,y,z)に向ける。   In the following step S113, the calculated coordinate data is given to the motor control board 106 so that the body direction of the robot 12 is directed to the direction (x, y) of the conversation partner, and the face and eyeball part of the head 82 of the robot 12 Point 88 to the position (x, y, z) of the person's face.

次に、ステップS115では、遷移情報からこのテンプレートに引数arg1として与えられる実行情報を参照し、その実行情報を音声入力/出力ボード110に送信して、音声または声がスピーカ84から出力されるように制御する。なお、引数arg1として与えられる実行情報は、たとえば、図7に示す「Talk(挨拶)」の入力画面400の引数入力領域404にテキスト(文字)で入力されたテキストデータであり、ロボット12は、そのテキストデータの内容どおり発話する。   Next, in step S115, the execution information given to the template as the argument arg1 is referred to from the transition information, and the execution information is transmitted to the voice input / output board 110 so that the voice or voice is output from the speaker 84. To control. The execution information given as the argument arg1 is, for example, text data entered as text (characters) in the argument input area 404 of the “Talk (greeting)” input screen 400 shown in FIG. Speaks according to the contents of the text data.

ステップS117では、ステップS115の発話が終了するまで、腕を振るなどの身体動作(ジャスチャ)を並行的に実行する。ステップS115の処理を終了すると、テンプレートに基づいたビヘイビアの実行処理を終了して、ステップS89(図11参照)に進む。   In step S117, physical movements (justures) such as shaking arms are executed in parallel until the utterance in step S115 is completed. When the process of step S115 is terminated, the behavior execution process based on the template is terminated, and the process proceeds to step S89 (see FIG. 11).

図13には、ビヘイビアが「Guide(道案内)」のテンプレートに属する場合のビヘイビアの実行処理の動作の一例が示される。   FIG. 13 shows an example of behavior execution processing when the behavior belongs to the “Guide (direction guide)” template.

図13に示すように、ステップS121では、遷移情報からこのテンプレートに引数arg1として与えられる実行情報を参照し、その実行情報を音声入力/出力ボード110に送信して、音声または声がスピーカ84から出力されるように制御する。なお、引数arg1として与えられる実行情報は、たとえば、図8に示す「Guide(道案内)」の入力画面500の引数入力領域504aにテキスト(文字)で入力されたテキストデータであり、ロボット12は、そのテキストデータの内容どおり発話して、今から案内する案内地点の地名を提示する。   As shown in FIG. 13, in step S 121, the execution information given as the argument arg 1 to the template is referred to from the transition information, the execution information is transmitted to the voice input / output board 110, and the voice or voice is sent from the speaker 84. Control to output. The execution information given as the argument arg1 is, for example, text data inputted as text (characters) in the argument input area 504a of the “Guide” input screen 500 shown in FIG. , Speak as the contents of the text data, and present the place name of the guidance point to be guided from now.

次に、ステップS123で、遷移情報からこのテンプレートに引数arg2として与えられる実行情報を参照し、その実行情報から中継地点の座標(x,y)を算出する。なお、引数arg2として与えられる実行情報は、たとえば、図8に示す「Guide(道案内)」の入力画面500の引数入力領域504bに入力された位置情報である。そして、ステップS125で、中継地点の座標(x,y)をモータ制御ボード106に与えて、指差し動作などで中継地点を指し示す。   Next, in step S123, the execution information given as the argument arg2 to this template is referred to from the transition information, and the relay point coordinates (x, y) are calculated from the execution information. The execution information given as the argument arg2 is, for example, the position information input in the argument input area 504b of the “Guide” input screen 500 shown in FIG. In step S125, the coordinates (x, y) of the relay point are given to the motor control board 106, and the relay point is indicated by a pointing operation or the like.

続くステップS127では、遷移情報からこのテンプレートに引数arg3として与えられる実行情報を参照し、その実行情報を音声入力/出力ボード110に送信して、音声または声がスピーカ84から出力されるように制御する。なお、引数arg3として与えられる実行情報は、たとえば、図8に示す「Guide(道案内)」の入力画面500の引数入力領域504cにテキスト(文字)で入力されたテキストデータであり、ロボット12は、そのテキストデータの内容どおり発話して、中継地点までの経路を説明する。   In subsequent step S127, the execution information given as the argument arg3 to the template is referred to from the transition information, and the execution information is transmitted to the voice input / output board 110 so that the voice or voice is output from the speaker 84. To do. The execution information given as the argument arg3 is, for example, text data inputted as text (characters) in the argument input area 504c of the “Guide” input screen 500 shown in FIG. Speak the content of the text data and explain the route to the relay point.

次に、ステップS129で、遷移情報からこのテンプレートに引数arg4として与えられる実行情報を参照し、その実行情報から案内地点の座標(x,y)を算出する。なお、引数arg4として与えられる実行情報は、たとえば、図8に示す「Guide(道案内)」の入力画面500の引数入力領域504dに入力された位置情報である。そして、ステップS131で、案内地点の座標(x,y)をモータ制御ボード106に与えて、指差し動作などで案内地点を指し示す。   Next, in step S129, the execution information given as the argument arg4 to this template is referred to from the transition information, and the coordinates (x, y) of the guide point are calculated from the execution information. The execution information given as the argument arg4 is, for example, the position information input in the argument input area 504d of the “Guide” input screen 500 shown in FIG. In step S131, the coordinates (x, y) of the guide point are given to the motor control board 106, and the guide point is indicated by a pointing operation or the like.

続くステップS133では、遷移情報からこのテンプレートに引数arg5として与えられる実行情報を参照し、その実行情報を音声入力/出力ボード110に与えて、その実行情報に従った音声または声がスピーカ84から出力されるように制御する。なお、引数arg5として与えられる実行情報は、たとえば、図8に示す「Guide(道案内)」の入力画面500の引数入力領域504eにテキスト(文字)で入力されたテキストデータであり、ロボット12は、そのテキストデータの内容どおり発話して、中継地点から案内地点までの経路を説明する。   In the subsequent step S133, the execution information given to the template as the argument arg5 is referred to from the transition information, the execution information is given to the voice input / output board 110, and the voice or voice according to the execution information is output from the speaker 84. To be controlled. The execution information given as the argument arg5 is, for example, text data input as text (characters) in the argument input area 504e of the “Guide” input screen 500 shown in FIG. Speak the content of the text data and explain the route from the relay point to the guide point.

ステップS133の処理を終了すると、テンプレートに基づいたビヘイビアの実行処理を終了して、ステップS89(図11参照)に進む。   When the process of step S133 is terminated, the behavior execution process based on the template is terminated, and the process proceeds to step S89 (see FIG. 11).

図14には、ビヘイビアが「Navi(誘導)」のテンプレートに属する場合のビヘイビアの実行処理の動作の一例が示される。   FIG. 14 shows an example of behavior execution processing when the behavior belongs to the “Navi (guidance)” template.

図14に示すように、ステップS141では、遷移情報からこのテンプレートに引数arg1として与えられる実行情報を参照し、その実行情報を音声入力/出力ボード110に与えて、その実行情報に従った音声または声がスピーカ84から出力されるように制御する。なお、引数arg1として与えられる実行情報は、たとえば、目的地の名称が含まれたテキストデータであり、ロボット12は、そのテキストデータの内容どおり発話して、目的地を提示する。   As shown in FIG. 14, in step S141, referring to the execution information given as the argument arg1 to this template from the transition information, the execution information is given to the voice input / output board 110, and the voice or Control is performed so that the voice is output from the speaker 84. The execution information given as the argument arg1 is, for example, text data including the name of the destination, and the robot 12 speaks according to the contents of the text data and presents the destination.

次に、ステップS143では、遷移情報からこのテンプレートに引数arg2として与えられる実行情報を参照し、その実行情報から目的地の座標(x,y)を算出する。そして、ステップS145で、目的地の座標(x,y)をモータ制御ボード106に与えて、目的地まで人間を連れて移動する(誘導する)。   Next, in step S143, the execution information given as the argument arg2 to this template is referred to from the transition information, and the coordinates (x, y) of the destination are calculated from the execution information. In step S145, the coordinates (x, y) of the destination are given to the motor control board 106, and the person is moved (guided) to the destination.

ステップS145を終了すると、すなわち、目的地に到着すると、ステップS147で、たとえば「つきましたよ」と発話し、テンプレートに基づいたビヘイビアの実行処理を終了して、ステップS89(図11参照)に進む。   When step S145 is completed, that is, when the vehicle arrives at the destination, in step S147, for example, “I got it” is spoken, the behavior execution processing based on the template is terminated, and the process proceeds to step S89 (see FIG. 11). .

このように、この実施例では、行動モジュールがビヘイビアの種類ごとにテンプレート化されてテンプレートDB30に格納されており、テンプレートDB30から所望のテンプレートのデータを読み出して、このテンプレートを視覚化した入力画面400,500を表示することができる。そして、この入力画面400,500の引数入力領域404,504に入力した実行情報をテンプレートのデータに取り込むことによって、新規の行動モジュールを作成することができる。したがって、この実施例によれば、簡単に新規のビヘイビアを作成することができる。   Thus, in this embodiment, the behavior module is templated for each type of behavior and stored in the template DB 30, and the input screen 400 that visualizes the template by reading the data of the desired template from the template DB 30. , 500 can be displayed. A new behavior module can be created by taking the execution information input in the argument input areas 404 and 504 of the input screens 400 and 500 into the template data. Therefore, according to this embodiment, a new behavior can be easily created.

また、この実施例では、テンプレートと実行情報とに基づいて作成された行動モジュールが、ロボット12のビヘイビアに対応付けて行動モジュールDB32に記憶されており、この行動モジュールDB32から所望のビヘイビアを読み出して、入力画面400,500を表示することができる。そして、この入力画面400,500の引数入力領域404,504に既に入力されている実行情報を再入力することによって、引数領域404,504に再入力された実行情報に基づいて、行動モジュールを更新することができる。したがって、この実施例によれば、たとえば実行情報を部分的に再入力するだけで、簡単に類似のビヘイビアを作成することができる。   Further, in this embodiment, the behavior module created based on the template and the execution information is stored in the behavior module DB 32 in association with the behavior of the robot 12, and a desired behavior is read from the behavior module DB 32. The input screens 400 and 500 can be displayed. The action module is updated based on the execution information re-entered in the argument areas 404 and 504 by re-inputting the execution information already input in the argument input areas 404 and 504 of the input screens 400 and 500. can do. Therefore, according to this embodiment, a similar behavior can be easily created simply by partially re-entering execution information, for example.

10 …開発支援装置
12 …コミュニケーションロボット
20 …CPU
22 …バス
24 …メモリ
26 …表示装置
28 …入力装置
30 …テンプレートDB
32 …行動モジュールDB
60 …赤外線距離センサ
66 …全方位カメラ
78 …接触センサ
84 …スピーカ
86 …マイク
90 …眼カメラ
100 …CPU
102 …バス
104 …メモリ
106 …モータ制御ボード
108 …センサ入力/出力ボード
110 …音声入力/出力ボード
200 …ネットワーク
300 …コンポーザ画面
400、500 …入力画面
404、504 …引数入力領域
10 ... Development support device 12 ... Communication robot 20 ... CPU
22 ... Bus 24 ... Memory 26 ... Display device 28 ... Input device 30 ... Template DB
32 ... Behavior module DB
60 ... Infrared distance sensor 66 ... Omnidirectional camera 78 ... Contact sensor 84 ... Speaker 86 ... Microphone 90 ... Eye camera 100 ... CPU
DESCRIPTION OF SYMBOLS 102 ... Bus 104 ... Memory 106 ... Motor control board 108 ... Sensor input / output board 110 ... Voice input / output board 200 ... Network 300 ... Composer screen 400, 500 ... Input screen 404, 504 ... Argument input area

Claims (2)

行動モジュールを実行することによってコミュニケーション行動を取るコミュニケーションロボットを開発するためのコミュニケーションロボット開発支援装置であって、
一連の行動プログラムからなる前記行動モジュールをコミュニケーション行動の種類ごとに分類しかつその実行情報以外をテンプレート化して格納するテンプレート記憶手段、
前記テンプレート記憶手段から所望のコミュニケーション行動に対応する前記行動モジュールのテンプレートを読み出すテンプレート読み出し手段、
前記テンプレート読み出し手段によって読み出されたテンプレートを視覚化して、前記行動モジュールの前記実行情報を入力するための引数入力領域を含む第1入力画面を表示する第1表示手段、および
前記テンプレート読み出し手段によって読み出されたテンプレートと、前記第1入力画面の前記引数入力領域に入力された実行情報とに基づいて、新規の行動モジュールを作成する行動モジュール作成手段を備える、コミュニケーションロボット開発支援装置。
A communication robot development support device for developing a communication robot that takes a communication action by executing an action module,
A template storage means for classifying and storing the behavior module consisting of a series of behavior programs for each type of communication behavior and making a template other than the execution information ;
Template reading means for reading a template of the behavior module corresponding to a desired communication behavior from the template storage means;
Visualizing the template read by the template reading means, a first display means for displaying a first input screen including an argument input area for inputting the execution information of the behavior module , and the template reading means A communication robot development support apparatus comprising behavior module creation means for creating a new behavior module based on the read template and the execution information input to the argument input area of the first input screen.
前記テンプレート読み出し手段によって読み出されたテンプレートと、前記第1入力画面の前記引数入力領域に入力された実行情報とを、前記行動モジュール作成手段によって作成された行動モジュールに関連付けて記憶する行動モジュール記憶手段、
前記行動モジュール記憶手段から所望の行動モジュールを読み出す行動モジュール読み出し手段、
前記行動モジュール読み出し手段によって読み出された行動モジュールに対応する、既に実行情報が入力されている引数入力領域を含む第2入力画面を表示する第2表示手段、および
前記第2入力画面の前記引数入力領域に再入力された実行情報に基づいて、前記行動モジュール読み出し手段によって読み出された行動モジュールを更新する行動モジュール更新手段をさらに備える、請求項1記載のコミュニケーションロボット開発支援装置。
A behavior module storage that stores the template read by the template reading unit and the execution information input to the argument input area of the first input screen in association with the behavior module created by the behavior module creation unit. means,
Behavior module reading means for reading a desired behavior module from the behavior module storage means;
Second display means for displaying a second input screen corresponding to the behavior module read by the behavior module reading means and including an argument input area in which execution information has already been input; and the argument of the second input screen The communication robot development support apparatus according to claim 1, further comprising behavior module updating means for updating the behavior module read by the behavior module reading means based on execution information re-input to the input area.
JP2009102738A 2009-04-21 2009-04-21 Communication robot development support device Active JP5419007B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009102738A JP5419007B2 (en) 2009-04-21 2009-04-21 Communication robot development support device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009102738A JP5419007B2 (en) 2009-04-21 2009-04-21 Communication robot development support device

Publications (2)

Publication Number Publication Date
JP2010253565A JP2010253565A (en) 2010-11-11
JP5419007B2 true JP5419007B2 (en) 2014-02-19

Family

ID=43315096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009102738A Active JP5419007B2 (en) 2009-04-21 2009-04-21 Communication robot development support device

Country Status (1)

Country Link
JP (1) JP5419007B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013246742A (en) * 2012-05-29 2013-12-09 Azone Co Ltd Passive output device and output data generation system
JP5939213B2 (en) * 2013-08-09 2016-06-22 株式会社安川電機 Robot control apparatus and robot control method
EP3613548A4 (en) * 2017-04-19 2021-05-19 Kabushiki Kaisha Yaskawa Denki Programming assistance apparatus, robot system, programming assistance method and program-generating method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001353678A (en) * 2000-06-12 2001-12-25 Sony Corp Authoring system and method and storage medium
JP2006338078A (en) * 2005-05-31 2006-12-14 Sakurai:Kk Nc working device

Also Published As

Publication number Publication date
JP2010253565A (en) 2010-11-11

Similar Documents

Publication Publication Date Title
JP5429462B2 (en) Communication robot
EP1669172B1 (en) Communication robot control system
KR101169674B1 (en) Telepresence robot, telepresence system comprising the same and method for controlling the same
JP4822319B2 (en) Communication robot and attention control system using the same
JP2009241166A (en) Robot remote operation system
JP4386367B2 (en) Communication robot improvement system
JP2007260822A (en) Guide robot
JP5318623B2 (en) Remote control device and remote control program
JP6809705B2 (en) Simulation system
JP4962940B2 (en) Route guidance system
JP2017170584A (en) Robot action simulation device
JP5419007B2 (en) Communication robot development support device
JP2007160427A (en) Robot control system
JP4798581B2 (en) Robot system
JP4059742B2 (en) Communication robot
JP5429461B2 (en) Communication robot development support device
JP7335084B2 (en) Simulation device and program
WO2023162248A1 (en) Teaching operation panel and robot control system
JP2010188429A (en) Guidance robot
CN111195902B (en) Main control unit based on modular robot and modular robot
JP5115886B2 (en) Road guidance robot
US11534909B2 (en) Displaying method of robot simulator
JP2006123153A (en) Development support device and development support program for communication robot
JP2006272537A (en) Robot simulator and simulation program
JP2008009568A (en) Description display device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130709

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131111

R150 Certificate of patent or registration of utility model

Ref document number: 5419007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250