JP5419007B2 - Communication robot development support device - Google Patents
Communication robot development support device Download PDFInfo
- 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
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
しかしながら、特許文献1の技術では、行動モジュールに含まれる細かい動作を開発者が逐一指定する必要があった。すなわち、全ての行動モジュールに対して、その行動モジュールに含まれる細かい動作を実行するための個々の行動プログラムを開発者が作成する必要があり、開発に余計な手間がかかっていた。
However, in the technique of
それゆえに、この発明の主たる目的は、新規な、コミュニケーションロボット開発支援装置を提供することである。 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.
図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
メモリ24は、図示は省略をするが、ROM、HDDおよびRAMを含む。ROMおよびHDDには、この開発支援装置10の動作を制御するためのプログラムが記憶されており、また、表示装置26に表示される画面データ等の各種データも記憶されている。さらに、ROMおよびHDDには、ロボット12のビヘイビアを制御するためのプログラムやデータが記憶されている。ここで、ビヘイビアとは、行動モジュールによって実現されるロボット12のコミュニケーション行動を示しており、ROMおよびHDDには、複数の行動モジュールが各ビヘイビアに対応付けて記憶されている。また、RAMは、ワークメモリやバッファメモリとして用いられる。
Although not shown, the
さらに、CPU20は、バス22を介して複数のデータベース(以下、DB)に接続される。具体的には、CPU20は、テンプレートDB30および行動モジュールDB32に接続される。
Further, the
テンプレートDB30には、行動モジュールが、たとえば「Talk(挨拶)」、「Guide(道案内)」、「Navi(誘導)」といったビヘイビアの種類ごとにテンプレート化されて、予め記憶してある。後で詳細に説明するように、ロボット12の開発者等は、このテンプレートDB30に記憶されているテンプレートのデータ(テンプレートデータ)を読み出して、そのテンプレートデータに行動モジュールの実行に関する情報(実行情報)を与えることによって、新規の行動モジュールを作成することができる。
In the
行動モジュールDB32には、テンプレートと実行情報とに基づいて作成された行動モジュールが記憶されている。一例を挙げると、図3に示すように、ロボット12のビヘイビア(Bi)に関連付けて、テンプレート(Tj)の種類、ならびに、当該テンプレートに引数として与えられた実行情報(arg1,arg2,arg3,…,argN)がテーブルとして記憶される。
The
ただし、図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
ここで、この開発支援装置10によって開発を支援するロボット12について説明する。ロボット12は、各種センサを有するヒューマノイド型で自律移動型のものであり、身振りおよび音声の少なくとも一方を用いて、コミュニケーション行動を取ることができる。このようなロボット12のコミュニケーション行動(ビヘイビア)を実現するためのプログラムは、上述したように、モジュール化された「行動モジュール」として実行される。また、後で詳細に説明するように、行動モジュールの実行順序は、「行動モジュールの状態遷移」として設定され、長期的に首尾一貫した前後関係または調和した状況を維持しているコミュニケーション行動が実現される。「行動モジュールの状態遷移」は、行動モジュールの短期的な遷移ないし推移を示すものであり、たとえば、数個程度の行動モジュールの繋がりないし順序付けであり得るが、長期(たとえば一日中)やすべての行動モジュールの遷移を定めたものではない。すなわち、ロボット12は、「行動モジュール」を順次実行し、その行動モジュールの実行順序は、「行動モジュールの状態遷移」によって導かれる。
Here, the
ただし、行動モジュールの実行順序に関する規則として「エピソード・ルール」を適用することもできる。この「エピソード・ルール」については、本件出願人が先に出願し、既に出願公開された特開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
台車50の上には、円柱形のセンサ取り付けパネル58が設けられ、このセンサ取り付けパネル58には、多数の赤外線距離センサ60が取り付けられる。これらの赤外線距離センサ60は、センサ取り付けパネル58すなわちロボット12の周囲の物体(人間や障害物など)との距離を測定するものである。
A cylindrical
なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、超音波距離センサやミリ波レーダなどを用いることもできる。 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
胴体62の両側面上端部(人の肩に相当する位置)には、それぞれ、肩関節68Rおよび肩関節68Lによって、上腕70Rおよび上腕70Lが設けられる。図示は省略するが、肩関節68Rおよび肩関節68Lは、それぞれ、直交する3軸の自由度を有する。すなわち、肩関節68Rは、直交する3軸のそれぞれの軸廻りにおいて上腕70Rの角度を制御できる。肩関節68Rの或る軸(ヨー軸)は、上腕70Rの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節68Lは、直交する3軸のそれぞれの軸廻りにおいて上腕70Lの角度を制御できる。肩関節68Lの或る軸(ヨー軸)は、上腕70Lの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。
An
また、上腕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
前腕74Rおよび前腕74Lのそれぞれの先端には、人の手に相当する球体76Rおよび球体76Lがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人間の手の形をした「手」を用いることも可能である。また、図示は省略するが、台車50の前面、肩関節68Rと肩関節68Lとを含む肩に相当する部位、上腕70R、上腕70L、前腕74R、前腕74L、球体76Rおよび球体76Lには、それぞれ、接触センサ78(図5で包括的に示す)が設けられる。台車50の前面の接触センサ78は、台車50への人間や他の障害物の接触を検知する。したがって、ロボット12は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪52の駆動を停止してロボット12の移動を急停止させることができる。また、その他の接触センサ78は、当該各部位に触れたかどうかを検知する。なお、接触センサ78の設置位置は、当該部位に限定されず、適宜な位置(人の胸、腹、脇、背中および腰に相当する位置)に設けられてもよい。
A
胴体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
頭部82には、人の口に相当する位置に、スピーカ84が設けられる。スピーカ84は、ロボット12が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク86Rおよびマイク86Lが設けられる。以下、右のマイク86Rと左のマイク86Lとをまとめてマイク86ということがある。マイク86は、周囲の音、とりわけコミュニケーションを実行する対象である人間の音声を取り込む。さらに、人の目に相当する位置には、眼球部88Rおよび眼球部88Lが設けられる。眼球部88Rおよび眼球部88Lは、それぞれ眼カメラ90Rおよび眼カメラ90Lを含む。以下、右の眼球部88Rと左の眼球部88Lとをまとめて眼球部88ということがある。また、右の眼カメラ90Rと左の眼カメラ90Lとをまとめて眼カメラ90ということがある。
The
眼カメラ90は、ロボット12に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。また、眼カメラ90は、上述した全方位カメラ66と同様のカメラを用いることができる。たとえば、眼カメラ90は、眼球部88内に固定され、眼球部88は、眼球支持部(図示せず)を介して頭部82内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、2軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この2軸の一方は、頭部82の上に向かう方向の軸(ヨー軸)であり、他方は、一方の軸に直交しかつ頭部82の正面側(顔)が向く方向に直行する方向の軸(ピッチ軸)である。眼球支持部がこの2軸の各軸廻りに回転されることによって、眼球部88ないし眼カメラ90の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ84、マイク86および眼カメラ90の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
The
このように、この実施例のロボット12は、車輪52の独立2軸駆動、肩関節68の3自由度(左右で6自由度)、肘関節72の1自由度(左右で2自由度)、首関節80の3自由度および眼球支持部の2自由度(左右で4自由度)の合計17自由度を有する。
As described above, the
図5はロボット12の電気的な構成を示すブロック図である。この図5を参照して、ロボット12は、CPU100を含む。CPU100は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス102を介して、メモリ104、モータ制御ボード106、センサ入力/出力ボード108および音声入力/出力ボード110に接続される。
FIG. 5 is a block diagram showing an electrical configuration of the
メモリ104は、図示は省略をするが、ROM、HDDおよびRAMを含む。ROMおよびHDDには、開発支援装置10のメモリ24に記憶されているものと同じ、このロボット12のビヘイビアを制御するためのプログラム(行動モジュール)が各ビヘイビアに対応付けて記憶されている。さらに、ROMおよびHDDには、テンプレートDB30に記憶されているものと同じ、「Talk(挨拶)」、「Guide(道案内)」、「Navi(誘導)」といった、ビヘイビアの種類ごとにテンプレート化された行動モジュールが記憶されている。また、RAMは、ワークメモリやバッファメモリとして用いられる。
Although not shown, the
モータ制御ボード106は、たとえばDSPで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード106は、CPU100からの制御データを受け、右眼球部88Rの2軸のそれぞれの角度を制御する2つのモータ(図5では、まとめて「右眼球モータ112」と示す)の回転角度を制御する。同様にして、モータ制御ボード106は、CPU100からの制御データを受け、左眼球部88Lの2軸のそれぞれの角度を制御する2つのモータ(図5では、まとめて「左眼球モータ114」と示す)の回転角度を制御する。
The
また、モータ制御ボード106は、CPU100からの制御データを受け、肩関節68Rの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節72Rの角度を制御する1つのモータとの計4つのモータ(図5では、まとめて「右腕モータ116」と示す)の回転角度を制御する。同様にして、モータ制御ボード106は、CPU100からの制御データを受け、肩関節68Lの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節72Lの角度を制御する1つのモータとの計4つのモータ(図5では、まとめて「左腕モータ118」と示す)の回転角度を制御する。
The
さらに、モータ制御ボード106は、CPU100からの制御データを受け、首関節80の直交する3軸のそれぞれの角度を制御する3つのモータ(図5では、まとめて「頭部モータ130」と示す)の回転角度を制御する。そして、モータ制御ボード106は、CPU100からの制御データを受け、車輪52を駆動する2つのモータ(図5では、まとめて「車輪モータ76」と示す)の回転角度を制御する。なお、この実施例では、車輪モータ76を除くモータは、制御を簡素化するためにステッピングモータ(すなわち、パルスモータ)を用いる。ただし、車輪モータ76と同様に直流モータを用いるようにしてもよい。また、ロボット12の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更されてもよい。たとえば、他の実施例では、エアアクチュエータなどが適用されてもよい。
Further, the
センサ入力/出力ボード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
また、CPU100は、バス102を介して通信LANボード132に接続される。通信LANボード132は、たとえばDSPで構成され、CPU100から与えられた送信データを無線通信装置134に与え、無線通信装置134は送信データを、ネットワーク200を介して開発支援装置10に送信する。また、通信LANボード132は、無線通信装置124を介してデータを受信し、受信したデータをCPU100に与える。
The
開発支援装置10は、上述のようなロボット12の開発に役立つものである。具体的には、開発支援装置10は、テンプレートと当該テンプレートに引数として与えられる実行情報とに基づいて、新規の行動モジュールを作成する機能を有しており、たとえば、この開発支援装置10を用いて行動モジュールを逐次的に追加していくことによって、大規模な行動パターンを備えたロボット12を実現することができる。
The
開発支援装置10では、開発支援処理が開始されると、たとえば図6に示すようなコンポーザ画面300が表示装置26に表示される。ただし、この実施例で示す各画面は一例であって適宜変更可能である。
In the
このコンポーザ画面300では、ロボット12の開発者等は、行動モジュールの状態遷移を設定することができる。コンポーザ画面300は、視覚化画面302を含み、この視覚化画面302には、行動モジュールの状態遷移が図式的に視覚化されて表示される。具体的には、視覚化画面302では、行動モジュールに対応するビヘイビアが矩形状のアイコン(ビヘイビアアイコン)で表示され、このビヘイビアアイコンの下部には、当該ビヘイビアの名称がテキスト(文字)で表示される。また、詳細な説明は省略するが、視覚化画面302では、行動モジュールの遷移を示す矢印線(遷移線)、スタートアイコン、エンドアイコン等が表示されており、このような視覚化によって行動モジュールの遷移ないし推移が容易に把握され得る。
On this composer screen 300, the developer of the
また、図6の視覚化画面302右側には、リスト画面304が設けられる。リスト画面304は、領域306、および領域308を含み、このリスト画面304には、ビヘイビアの名称のリストがマウスなどの入力装置28によるドラッグ・アンド・ドロップ操作の対象オブジェクト(ビヘイビアオブジェクト)として表示される。具体的には、ロボット12の開発者等がマウスなどの入力装置28を操作して、リスト画面304のビヘイビアオブジェクトをドラッグし、そして視覚化画面302でこれをドロップすると、そのビヘイビアに対応するビヘイビアアイコンが視覚化画面302に描画されることとなる。
A
たとえば、領域306には、「Akushu(握手)」、「Hug(抱き合う)」や「Jyan(じゃんけん)」などの、テンプレート化されていない行動モジュール、すなわちテンプレートに基づいた作成・更新処理を行うことのできない行動モジュールに対応するビヘイビアオブジェクトが表示される。
For example, in the
領域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
図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
この入力画面400,500では、ロボット12の開発者等は、行動モジュールの実行に関する情報(実行情報)を引数として入力することによって、テンプレートと実行情報とに基づいた新規の行動モジュールを作成することができる。たとえば、図7は、「Talk(挨拶)」のテンプレートを視覚化した入力画面400であり、図8は、「Guide(道案内)」のテンプレートを視覚化した入力画面500である。
In the input screens 400 and 500, the developer of the
先ず、図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
領域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
領域402cには、この「Talk(挨拶)」のテンプレートに引数として入力された実行情報が表示される。すなわち、領域402cは、引数入力領域404として機能する。たとえば、実行情報は、ロボットの発話内容に対応するテキスト(文字)データであり、ロボット12の開発者等がキーボードなどの入力装置28を用いて直接手入力する方法等が考えられる。図7に示す例では、ロボット12が「こんにちは。ようこそ。」と発話することが示される。
In the
領域402dには、ビヘイビアの説明等が表示される。たとえば、領域402dには、「頭部を対話相手の顔位置に向け、“こんにちは。ようこそ。”と発話しながら、腕を適宜振る」といった、ビヘイビアの解説(説明文)が表示される。
A description of the behavior and the like are displayed in the
また、次に、図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
領域502aには、テンプレートの名称が表示される。図8に示す例では、このビヘイビアが「Guide(道案内)」のテンプレートに属していることが示される。
The name of the template is displayed in the
領域502bには、ビヘイビアの名称が表示される。図8に示す例では、このビヘイビアの名称が「マイルズへ」であることが示される。
The name of the behavior is displayed in the
領域502cには、この「Guide(道案内)」のテンプレートに引数として与えられた実行情報が表示される。すなわち、領域502cは、引数入力領域504aとして機能する。たとえば、実行情報は、ロボットの発話内容に対応するテキストデータであり、ロボット12の開発者等がキーボードなどの入力装置28を用いて直接手入力する方法等が考えられる。図8に示す例では、ロボット12は、「○○(案内地点名)は」と発話することが示される。
In the
領域502dには、この「Guide(道案内)」のテンプレートに引数として与えられた実行情報が表示される。すなわち、領域502dは、引数入力領域504bとして機能する。たとえば、実行情報は、中継地点の位置情報であり、ロボット12の開発者等がキーボードなどの入力装置28を用いて中継地点の座標を直接手入力する方法や、予め設定しておいた地名をマウスなどの入力装置28でいわゆるプルダウンメニュー方式で選択する方法、入力画面500とは別ウィンドウで地図画面(図示せず)を表示して、その地図上で任意の場所を選択する方法等が考えられる。図8に示す例では、中継地点が「オリエンタル・ダイナー」であることが示される。
In the
領域502eには、この「Guide(道案内)」のテンプレートに引数として与えられた実行情報が表示される。すなわち、領域502eは、引数入力領域504cとして機能する。たとえば、実行情報は、ロボットの発話内容に対応するテキストデータであり、ロボット12の開発者等がキーボードなどの入力装置28を用いて直接手入力する方法等が考えられる。図8に示す例では、ロボット12は、「そっちの道の、突き当たりにある、○○(中継地点名)の」と発話することが示される。
In the
領域502fには、この「Guide(道案内)」のテンプレートに引数として与えられた実行情報が表示される。すなわち、領域502fは、引数入力領域504dとして機能する。たとえば、実行情報は、案内地点の位置情報であり、ロボット12の開発者等がキーボードなどの入力装置28を用いて案内地点の座標を直接手入力する方法や、予め設定しておいた地名をマウスなどの入力装置28でいわゆるプルダウンメニュー方式で選択する方法、入力画面500とは別ウィンドウで地図画面(図示せず)を表示して、その地図上で任意の場所を選択する方法等が考えられる。図8に示す例では、案内地点が、「マイルズ」であることが示される。
In the
領域502gには、この「Guide(道案内)」のテンプレートに引数として与えられた実行情報が表示される。すなわち、領域502gは、引数入力領域504eとして機能する。たとえば、実行情報は、ロボットの発話内容に対応するテキストデータであり、ロボット12の開発者等がキーボードなどの入力装置28を用いて直接手入力する方法等が考えられる。図8に示す例では、ロボット12は、「あっちの方にある、出口から、出たとこにあるよ」と発話することが示される。
In the
領域502hには、ロボット12の発話内容が表示される。具体的には、領域502c、領域502e、ならびに領域502gに表示されているロボット12の発話内容をまとめた文章が表示される。
The content of the utterance of the
このような入力画面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
また、入力画面400,500は、リスト画面302に表示されているビヘイビアオブジェクトをマウスなどの入力装置28で選択し、または視覚化画面302に表示されているビヘイビアアイコンをマウスなどの入力装置28でたとえばダブルクリック等で選択することによっても表示される。この場合には、ロボット12の開発者等は、既に引数入力領域404,504に入力されている実行情報を再入力することによって、既存の行動モジュールを更新することができる。
The input screens 400 and 500 select the behavior object displayed on the
具体的には、開発支援装置10のCPU20は、図9に示すフロー図に従って開発支援処理を実行する。
Specifically, the
処理が開始されると、CPU20は、まず、ステップS1で、メモリ24から画面データを読み出し、たとえば図6に示すようなコンポーザ画面300を表示装置26に表示する。
When the process is started, the
次に、ステップ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
ステップ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
一方、ステップ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
続いて、ステップS35では、ステップS33でテンプレートDB30から読み出したテンプレートを視覚化して、図7に示すような入力画面400(または、図8に示すような入力画面500)を、コンポーザ画面300とは別ウィンドウで表示装置26に表示する。
Subsequently, in step S35, the template read from the
ステップ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
次に、ステップS39では、作成した新規の行動モジュールを行動モジュールDB32に保存する。すると、この作成した行動モジュールに対応するビヘイビアの名称(ビヘイビアオブジェクト)がリスト画面304に新しく追加される。
Next, in step S39, the created new behavior module is stored in the
ステップ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
続いて、ステップ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
ステップ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
次に、ステップS49では、更新した行動モジュールを行動モジュールDB32に保存する。ここでは、更新した行動モジュールが、既存の行動モジュールと置き換えて行動モジュールDB32に記憶される。ステップS49を終了すると、ステップS31へ戻って、繰り返し、新規の行動モジュールを作成するか否かの判断を行う。
Next, in step S49, the updated behavior module is stored in the
また、ステップ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
続いて、ステップ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
一方、ステップ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
続いて、ステップ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
ステップ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
続くステップ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
図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
続くステップS113では、算出された座標のデータをモータ制御ボード106に与えて、ロボット12の身体方向を対話相手の方向(x,y)に向けるとともに、ロボット12の頭部82の顔や眼球部88を人の顔の位置(x,y,z)に向ける。
In the following step S113, the calculated coordinate data is given to the
次に、ステップ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 /
ステップ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
次に、ステップ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
続くステップ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 /
次に、ステップ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
続くステップ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 /
ステップ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 /
次に、ステップ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
ステップ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
また、この実施例では、テンプレートと実行情報とに基づいて作成された行動モジュールが、ロボット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
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 ...
22 ...
32 ... Behavior module DB
60 ...
DESCRIPTION OF
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.
前記行動モジュール記憶手段から所望の行動モジュールを読み出す行動モジュール読み出し手段、
前記行動モジュール読み出し手段によって読み出された行動モジュールに対応する、既に実行情報が入力されている引数入力領域を含む第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.
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)
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)
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 |
-
2009
- 2009-04-21 JP JP2009102738A patent/JP5419007B2/en active Active
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 |