JP4108342B2 - ロボット、ロボット制御システム、およびそのプログラム - Google Patents

ロボット、ロボット制御システム、およびそのプログラム Download PDF

Info

Publication number
JP4108342B2
JP4108342B2 JP2002017725A JP2002017725A JP4108342B2 JP 4108342 B2 JP4108342 B2 JP 4108342B2 JP 2002017725 A JP2002017725 A JP 2002017725A JP 2002017725 A JP2002017725 A JP 2002017725A JP 4108342 B2 JP4108342 B2 JP 4108342B2
Authority
JP
Japan
Prior art keywords
scenario
file
robot
scenario set
execution
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.)
Expired - Fee Related
Application number
JP2002017725A
Other languages
English (en)
Other versions
JP2002301675A (ja
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2002017725A priority Critical patent/JP4108342B2/ja
Priority to US10/059,018 priority patent/US6799086B2/en
Publication of JP2002301675A publication Critical patent/JP2002301675A/ja
Application granted granted Critical
Publication of JP4108342B2 publication Critical patent/JP4108342B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39377Task level supervisor and planner, organizer and execution and path tracking
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40452Evaluation function derived from skilled, experimented operator data

Description

【0001】
【発明の属する技術分野】
本発明は、ロボット、ロボット制御システム、およびそのプログラムに関し、特に、ロボットに接続されたネットワークを介して新たな制御プログラムモジュールを受信し、追加・実行することを特徴としたロボット、ロボット制御システム、およびそのプログラムに関する。
【0002】
【従来の技術】
従来、この種のロボットは画像入力装置、人物検出装置、音声入力装置、音声認識装置、音声出力装置、脚部モータ、頭部モータ、行動制御装置などから構成されており、ロボットの動作は行動制御装置に実装される制御プログラムで制御される。
【0003】
図26にこの種のロボットの構成例を示す。図26を参照すると、このロボットはマイクなどの音声入力装置900と、音声入力装置900から入力された音声による単語を認識し、その単語の読みの文字列に変換する音声認識装置901と、音声ファイルをスピーカーなどから出力する音声出力装置902と、障害物までの距離を計測する超音波センサ903と、ロボット本体を移動させる脚部モータ904と、ロボットの頭部を回転させる頭部モータ905と、プログラム制御により動作するデータ処理装置906とから構成されている。
【0004】
図27にこのロボットの制御プログラムのフローチャートを示す。
まず、音声入力装置900からの入力の有無を調べる(ステップS10)。音声入力がなければ(ステップS10/NO)、「うろつく」を呼び出す(ステップS11)。音声入力があれば(ステップS10/YES)、「対話」を呼び出す(ステップS12)。
【0005】
図28はうろつく処理のフローチャートである。このプログラムは複数の種類の移動プログラムモジュールと障害物回避プログラムモジュールを持ち、乱数により実行するプログラムモジュールを選択して多様な移動パターンを実現している。
【0006】
まず0から2までの乱数を発生し(ステップT10)、乱数の値によって3つの基本移動プログラムモジュールの一つを選択する(ステップT11、T12、T31、T32、T33)。なお、本明細書ではこのようなロボットの基本動作プログラムモジュールを「シナリオ」と呼ぶ。すなわち、このロボットは3つの移動シナリオを持っており、乱数で一つが選ばれ実行される。各移動シナリオは「前に10cm進む」、「大きく右に旋回」、「大きく左に旋回」がある。
次に超音波センサ903からの入力を調べ、前方に障害物があるかどうかを調べる(ステップT16)。障害物が無ければ(ステップT16/NO)、終了する。障害物があれば(ステップT16/YES)、0から2までの乱数を発生し、3つの障害物回避シナリオの一つを選ぶ(ステップT17、T18、T19、T41、T42)。各障害物回避シナリオは「右45度を向く」、「左45度を向く」、「ランダムな方向を向く」である。
【0007】
図29は対話処理のフローチャートである。このプログラムは認識語に応じた応答プログラムを持ち、ユーザーの発話に応じた対話を行う。
まず音声認識装置901から認識した単語の読みの文字列を受け取る(ステップU10)。次に各認識語彙に応じた対話シナリオを呼び出す(ステップU11からU16)。対応する対話シナリオが存在しない認識語の場合には誤認識応答シナリオを呼び出す(ステップU17)。
各シナリオはデータ処理装置906で実行可能なプログラムであり、C言語などで記述し、データ処理装置が直接実行する場合と、ロボット専用の高級言語で記述し、データ処理装置が持つインタープリタで解釈実行される場合がある。
【0008】
従来のロボットの一例が、特開2000−326274号公報に記載されている。
この公報に記載されたロボット制御プログラムは移動制御処理部、人物探索処理部、対話処理部、制御切替部、入力情報記憶部からなる。例えば対話処理部は入力情報が音声認識装置の出力の場合には、認識した単語に応じた音声を音声出力装置から出力する。またこの処理部は識別している人物の好感度を参照して好感度に応じた応答をする。
【0009】
また特開平11−327872号公報には、ネットワークに接続された動物型ロボットにおいて、ネットワークから受信した電子メールを解析し、電子メールの内容に含まれる特定の記号列に基づいて、解析された電子メールの内容を読み上げると共に、効果音を出力し、ロボットの筐体全体または部分の動作を制御する技術が記載されている。
【0010】
また特開2000−75907号公報には、電子メールで操作指示を受信する工業用ロボットに関する技術が記載されている。この技術では製品エージェントはメール手段と実行手段を有し、実行手段はメール手段により受信した電子メールに基づいた操作動作の実行を行う。
【0011】
【発明が解決しようとする課題】
しかしながら上記従来技術では、新たな機能をネットワークから受信してロボット制御プログラムに追加できないという問題点が指摘される。
その理由は、従来のロボット制御プログラムは新たな機能をネットワークから受信して追加することについて何ら考慮されていないためである。
【0012】
また、特開平11−327872号公報に記載の従来の技術では、ネットワークから受信した電子メールを解析した結果行われる動作は、予めこのロボットに組み込まれているものに限定されており、新たな動作を追加することはできないという問題点が指摘される。
【0013】
また、特開2000−75907号公報に記載の従来の技術では、電子メールで受信できるのは予め製品エージェントに組み込まれている実行手段に対する操作指示であり、新たな実行手段を電子メールで追加することはできないという問題点が指摘される。
【0014】
本発明は、上記問題点に鑑みなされたものであり、ロボットの制御プログラムに新たな機能をネットワークから受信して追加し、実行することができるロボット、ロボット制御システム、およびそのプログラムを提供することを目的とする。
【0015】
【課題を解決するための手段】
かかる目的を達成するため、本発明は、シナリオファイルを実行することにより動作するロボットであって、音声入力を受け付ける音声入力手段と、音声認識辞書を参照し、前記音声入力手段で入力された音声の認識処理を行う音声認識手段と、ロボットの環境を検知するセンサ手段と、少なくとも、前記シナリオファイルと、前記シナリオファイルのカテゴリを保持したシナリオカテゴリ定義部と、前記シナリオファイルの呼び出し語を保持した呼び出し語定義部と、から構成されるシナリオセットを回線から受信する受信手段と、前記受信手段が受信したシナリオセットを前記ロボットに登録する登録手段と、前記ロボットが既に持っているシナリオセットと前記受信手段が受信したシナリオセットの中から、音声入力がある場合は、前記入力された音声の音声認識結果に対応した呼び出し語を有するシナリオセットを選択し、音声入力がない場合は、前記センサ手段の検知結果に応じて特定されるカテゴリを有するシナリオセット群から、乱数によってシナリオセットを選択する選択手段と、前記選択されたシナリオセットに含まれるシナリオファイルを実行する実行手段と、を有することを特徴とする。
【0036】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明の実施の形態は、モデムなどのデータ通信装置1と、マイクなどの音声入力装置2と、前面の障害物を検出するための超音波センサ3と、スピーカーなどの音声出力装置4と、ロボットの頭部を回転させる頭部モータ5と、ロボットの胴体を移動させる脚部モータ6と、プログラム制御により動作するデータ処理装置7と、ディスクなどの記憶装置8とから構成されている。
【0037】
データ処理装置7は行動制御部71と、音声認識語彙追加手段72と、シナリオ登録手段73とを含み、行動制御部71はシナリオ受信手段74と、シナリオ選択手段75と、シナリオ実行手段76と、音声認識手段78とを含む。
また、記憶装置8は音声認識辞書81と、シナリオ管理テーブル82と、システムシナリオ記憶部83と、拡張シナリオ記憶部84と、メール記憶部85と、レコード番号記憶部90とを含む。メール記憶部85はシナリオカテゴリ記憶部86と、呼び出し語記憶部87と、シナリオファイル名記憶部88と、ファイル記憶部89とを含む。
【0038】
図2を参照すると、シナリオをロボットに登録するためにシナリオ受信手段が受信する情報(以降はこの情報をシナリオセットと呼ぶ)はシナリオ制御ファイル102と、シナリオファイル(実行ファイル)103と、を含む。また、シナリオセットは、1個以上のデータファイル(群)104を含んでもよい。
【0039】
シナリオファイル103はシナリオのプログラム本体であり、データ処理装置7が直接実行できるバイナリー形式またはインタープリタで実行される中間言語形式で記述されている。
【0040】
データファイル群104はシナリオファイル103が利用する音声ファイルなどのデータファイルである。
【0041】
シナリオ制御ファイル102はシナリオカテゴリ定義部201、呼び出し語定義部202、シナリオファイル名定義部203とから構成されている。
【0042】
シナリオカテゴリ定義部201にはそのシナリオの種類(カテゴリ)を表す値が記述されている。この実施の形態では一例としてうろつくシナリオのカテゴリを0、障害物回避シナリオのカテゴリを1、対話シナリオのカテゴリを2としている。
【0043】
呼び出し語定義部202には、そのシナリオセットに格納されているシナリオを呼び出すための語彙(呼び出し語)が記述されている。そのシナリオが音声で呼び出されない場合には呼び出し語定義部202には空の文字列が格納されている。
【0044】
シナリオファイル名定義部203にはそのシナリオセットに格納されているシナリオファイル名、すなわちシナリオファイル103のファイル名が記述されている。
【0045】
図3を参照するとシナリオ管理テーブル82は一つのシナリオに対して1レコードからなり、各レコードはシナリオカテゴリフィールド301、呼び出し語フィールド302、シナリオファイル名フィールド303の3つのフィールドから構成される。
【0046】
シナリオ受信手段74はデータ通信装置1によりインターネット、デジタル放送などのネットワーク(回線)からシナリオセットを受信しメール記憶部85に記憶する。
【0047】
音声認識語彙追加手段72は呼び出し語記憶部87に記憶されている語彙を音声認識辞書81に登録する。
【0048】
シナリオ登録手段73は、シナリオ管理テーブル82の空きレコードを検索し、そのレコードのシナリオカテゴリフィールド301にシナリオカテゴリ記憶部86に記憶されているシナリオカテゴリ値を格納し、そのレコードの呼び出し語フィールド302に呼び出し語記憶部87に記憶されている呼び出し語を格納し、そのシナリオファイル名フィールド303にシナリオファイル名記憶部88に記憶されているシナリオの実行ファイル名を格納する。次にファイル記憶部89に記憶されているシナリオファイル103と、データファイル群104とを、拡張シナリオ記憶部84に格納する。
【0049】
音声認識手段78は音声入力装置2に入力された音声(認識語彙)を音声認識辞書81の各語彙と比較し、一致する語彙を検索する。
【0050】
シナリオ選択手段75はシナリオ管理テーブル82から、与えられたシナリオカテゴリまたは認識語彙と一致するレコードを検索し、そのレコード番号をレコード番号記憶部90に格納する。
【0051】
シナリオ実行手段76は、シナリオ管理テーブル82の、レコード番号記憶部90で指定されるレコードの、シナリオファイル名フィールド303で指定されたファイル名のシナリオを、システムシナリオ記憶部83または拡張シナリオ記憶部84から検索して実行する。
【0052】
次に、図4のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
図4によると、シナリオ受信手段74はデータ通信装置1によりネットワークに接続し、この受信すべきシナリオセットがあるかどうかを調べる(ステップA1)。シナリオセットが存在すれば(ステップA1/YES)、シナリオ受信手段74によりシナリオセットを受信する(ステップA2)。
【0053】
シナリオ受信手段74は、例えば電子メールを使ってシナリオセットをネットワークから受信する。この場合には、シナリオ受信手段74はインターネット上のメールサーバーに接続し、そのロボット宛の電子メールを受信する。この動作は通常のインターネットメールの受信処理と同じであるので詳細は省略する。また別の例として、シナリオ受信手段74がデータ放送を使ってシナリオセットをネットワーク(デジタル放送)から受信する実施例も考えられる。この例でのシナリオ受信手段74の動作は通常のデジタル放送受信機のデータ放送受信の動作と同じであるため、詳細は省略する。また、シナリオ受信手段74は、アナログ放送によるデータ通信路を用いてシナリオセットを受信してもよい。シナリオ受信手段74は、アナログセット放送を用いて受信する場合、アナログ放送におけるVBI期間を利用するとしてよく、この場合のシナリオ受信手段74の動作は、通常のVBI期間を利用した受信処理と同様であるので詳細は省略する。さらに別の例としては、シナリオ受信手段74がインターネット上のftpサーバーからシナリオセットを受信する実施例もある。この場合のシナリオ受信手段74の動作は通常のftp受信処理と同じであるので詳細は省略する。また、シナリオ受信手段74は、httpに従ってシナリオセットを受信するとしてもよく、この場合のシナリオ受信手段74の動作は、通常のhttp受信処理と同様であるので詳細は省略する。
【0054】
次にこのシナリオセットにシナリオ制御ファイル102が含まれているかを調べる(ステップA3)。含まれていれば(ステップA3/YES)、受信した情報はシナリオセットであり、シナリオ制御ファイル102のシナリオカテゴリ定義部201に記述されているシナリオカテゴリ値をシナリオカテゴリ記憶部86に格納し、呼び出し語定義部202に記述されている呼び出し語を呼び出し語記憶部87に格納し、シナリオファイル名定義部203に記述されているシナリオの実行ファイル名をシナリオファイル名記憶部88に格納する(ステップA5)。次にこのシナリオセットに含まれている、シナリオの実行ファイルであるシナリオファイル103と、データファイル群104とをファイル記憶部89に格納する(ステップA6)。次にシナリオ登録手段73を呼び出す(ステップA7)。次に音声認識語彙追加手段72を呼び出す(ステップA12)。次にファイル記憶部89の内容を消去する(ステップA13)。
【0055】
シナリオ制御ファイルが含まれていなければ(ステップA3/NO)、受信した情報はシナリオセットではないので、その情報に応じた処理を行う(ステップA8)。例えば、シナリオセットを電子メールで受信する実施例においては、そのメールが通常の電子メールであった場合にこのステップが実行され、例えばそのメールを音声合成などにより音声出力装置4に出力する。
【0056】
受信すべきシナリオセットがない場合には(ステップA1/NO)、音声入力装置2からの音声入力があるかを調べ(ステップA9)、音声入力が無ければ(ステップA9/NO)、うろつく処理を呼び出す(ステップA10)。音声入力があれば(ステップA9/YES)、対話処理を呼び出す(ステップA11)。
【0057】
次にシナリオ登録手段73の動作を図5のフローチャートを参照して説明する。
図5によると、シナリオ登録手段73はシナリオ管理テーブル82から空きレコードを検索し(ステップB4)、そのレコード番号をレコード番号記憶部90に格納し(ステップB5)、そのレコードのシナリオカテゴリフィールドにシナリオカテゴリ記憶部86に記憶されているシナリオカテゴリ値を格納する(ステップB6)。
さらにシナリオ登録手段は、シナリオ管理テーブル82の、レコード番号記憶部90で指示されるレコード番号のレコードの、呼び出し語フィールド302に呼び出し語記憶部87に記憶されている呼び出し語を格納し、シナリオファイル名フィールド303にシナリオファイル名記憶部88に記憶されているシナリオの実行ファイル名を格納する(ステップB7)。次にファイル記憶部89に記憶されている、シナリオファイル103とデータファイル群104とを拡張シナリオ記憶部84に格納する(ステップB8)。
【0058】
次に音声認識語彙追加手段72の動作を図10のフローチャートを参照して説明する。
図10によると、音声認識語彙追加手段72は呼び出し語記憶部87に記憶された呼び出し語が空文字列かどうかを調べ、空文字列であれば(ステップG1/YES)、処理を終了する。空文字列でない場合には(ステップG1/NO)、音声認識辞書81にすでに呼び出し語記憶部87に記憶された呼び出し語が登録されているかどうかを検索する(ステップG2)。すでに登録されている場合には(ステップG3/YES)、処理を終える。未登録の場合には(ステップG3/NO)、その呼び出し語を音声認識辞書81に追加する(ステップG4)。
【0059】
次にうろつく処理の動作を図6のフローチャートを参照して説明する。
図6によると、検索カテゴリの値をうろつくシナリオを意味する0に設定する(ステップC1)。次にシナリオ選択手段75を呼び出す(ステップC2)。
次にシナリオ実行手段76を呼び出す(ステップC3)。次に超音波センサ3を用いて前方に障害物があるかを調べる(ステップC4)。障害物が無い場合には(ステップC4/NO)、うろつく処理を終了する。障害物がある場合には(ステップC4/YES)、検索カテゴリ値を障害物回避シナリオを意味する1に設定する(ステップC5)。次にシナリオ選択手段75を呼び出す(ステップC6)。次にシナリオ実行手段76を呼び出す(ステップC7)。そして再び超音波センサ3を用いて前方に障害物があるかを調べる処理に戻る(ステップC4)。
【0060】
次に対話処理の動作を図7のフローチャートを参照して説明する。
図7によると、音声認識手段78は音声入力装置2から入力された音声を音声認識辞書81の各語彙と比較し、一致する語彙を検索する(ステップD1)。一致する語彙が無い場合には(ステップD2/NO)、「そんな言葉は知らないよ」等の音声応答を行う(ステップD3)。
一致する語彙が存在する場合には(ステップD2/YES)、その語彙を認識結果記憶部91に記憶し(ステップD4)、検索カテゴリの値を−1に設定して(ステップD5)、シナリオ選択手段75を呼び出す(ステップD6)。次にシナリオ実行手段76を呼び出す(ステップD7)。
【0061】
次にシナリオ選択手段75の動作を図8のフローチャートを参照して説明する。
図8によると、シナリオ選択手段75は与えられた検索カテゴリの値が−1かどうかを調べる(ステップE1)。検索カテゴリの値が−1ではない場合には(ステップE1/NO)、シナリオ管理テーブル82の、シナリオカテゴリフィールド301の値が指定された検索カテゴリと一致するレコード群から一つのレコードを選択し(ステップE2)、選択したレコード番号をレコード番号記憶部90に記憶する(ステップE4)。与えられた検索カテゴリの値が−1の場合には(ステップE1/YES)、シナリオ管理テーブル82の、呼び出し語フィールド302の値が記憶された認識語と一致するレコード群から一つのレコードを選択し(ステップE3)、選択したレコード番号をレコード番号記憶部90に記憶する(ステップE4)。
【0062】
なお、対話シナリオ処理では検索カテゴリの値を−1としてシナリオ選択手段75を呼ぶため、全てのカテゴリのシナリオが検索対象となる。対話シナリオから実行する必要が無いシナリオでは、シナリオ制御ファイルの呼び出し語定義部に空文字列を設定しておくことで、そのシナリオは対話シナリオからは実行されないように出来る。逆に同一のシナリオをうろつく処理でも対話処理でも使えるようにするためには、そのシナリオの制御ファイルのシナリオカテゴリ定義部に0を設定し、かつ呼び出し語定義部に呼び出し語を設定しておく。
【0063】
次にシナリオ実行手段76の図9のフローチャートを参照して説明する。
図9によると、シナリオ実行手段は、シナリオ管理テーブル82の、レコード番号記憶部90で指示されるレコードのシナリオファイル名フィールド303に格納されているシナリオファイル名を取り出す(ステップF1)。次に拡張シナリオ記憶部84からこのファイル名のファイルを検索する(ステップF2)。ファイルが存在する場合には(ステップF3/YES)、そのファイルを実行する(ステップF5)。存在しない場合には(ステップF3/NO)、システムシナリオ記憶部83からそのファイル名のファイルを検索し(ステップF4)、それを実行する(ステップF5)。
【0064】
次に、具体的な実施例を用いて本実施の形態の動作を説明する。
図11に示すように、この実施例のロボットの音声認識辞書81には予め「おはよう」、「TVつけて」、「今何時」の3単語が登録されている。システムシナリオ記憶部83には予め「挨拶」、「TV制御」、「時計」、「直進する」、「蛇行しながら前進」、「右に回転する」、「左に回転する」というファイル名のシナリオ(プログラム)が格納されている。シナリオ管理テーブル82にはこれらのシナリオが予め登録されている。拡張シナリオ記憶部84は空である。
「挨拶」というファイル名のシナリオは操作者に挨拶する音声応答を行うプログラムであり、「TV制御」はTVに向かって赤外線発光部(図示せず)からTVの電源をONにするリモコンコードを送信するプログラムであり、「時計」はタイマー装置(図示せず)から現在の時刻を取得し、その時刻を音声で発話するプログラムである。「直進する」、「蛇行しながら前進」は、それぞれ脚部モータ6を用いて、ロボットを一定距離直進させるプログラムと、ロボットを蛇行させながら一定距離直進させるプログラムである。「右に回転する」、「左に回転する」は、それぞれ脚部モータ6を用いて、ロボットの方向を右に回転させるプログラムと、左に回転させるプログラムである。
【0065】
まず、受信すべきシナリオセットがない状態でロボットを操作したときの動作を説明する。なお、この例ではシナリオ受信手段としてインターネットメールを使ったときの動作を説明する。
ステップA1では受信メールの有無を確認する。メールは無いのでステップA9に進む。
音声入力装置2に「おはよう」という語彙を与えると対話処理が呼び出され(ステップA9、A11)、対話処理では音声認識手段78がこの語彙を音声認識辞書81から検索する(ステップD1)。この語彙は音声認識辞書81に登録されているので検索は成功し(ステップD2)、この語彙が記憶され(ステップD4)、検索カテゴリを−1としてシナリオ選択手段75が呼び出される(ステップD5、D6)。シナリオ選択手段75は検索カテゴリが−1であるのでこの認識語と一致する呼び出し語を持ったレコードをシナリオ管理テーブル82から検索する。この例では一致するものはレコード5だけなので、それがレコード番号記憶部90に記憶される(ステップE1、E3、E4)。次にシナリオ実行手段76が呼び出され(ステップD7)、シナリオ管理テーブル82からレコード番号5のレコードのシナリオファイル名フィールド303に格納されたファイル名「挨拶」を取り出す(ステップF1)。このファイル名のファイルがシステムシナリオ記憶部83に存在するのでそのファイルが実行される(ステップF2、F3、F4)。この結果、操作者に対する挨拶が行われる。
【0066】
音声入力装置2からの入力がないとうろつく処理が呼び出され(A9、A10)、うろつく処理では、検索カテゴリを0、すなわちうろつくシナリオのカテゴリを指定してシナリオ選択手段75が呼び出される(ステップC1、C2)。シナリオ選択手段75は検索カテゴリが−1ではないので与えられた検索カテゴリと一致するシナリオカテゴリを持ったレコードをシナリオ管理テーブル82から検索し、この具体例ではレコード番号1と2のレコードが一致するのでどちらかを乱数で選ぶ。例えば2が選ばれたとする。これがレコード番号記憶部90に記憶する(ステップE1、E2、E4)。次にシナリオ実行手段76が呼び出される(ステップD7)、シナリオ実行手段76はシナリオ管理テーブル82からレコード番号2のレコードの、シナリオファイル名フィールド303に格納されたファイル名「蛇行しながら直進」を取り出す(ステップF1)。このファイル名のファイルはシステムシナリオ記憶部83に存在するのでそのファイルが実行される(ステップF2、F3、F4、F5)。この結果、ロボットは蛇行しながら前進する。障害物があれば、同様に「右に回転する」シナリオ、「左に回転する」シナリオのいずれかが検索され実行される。うろつくシナリオが何度も呼ばれると、乱数で「直進する」シナリオと「蛇行しながら前進」シナリオがランダムに選ばれるので、ロボットは蛇行したり直進したりしながら移動動作を行うことになる。同様に障害物があったときには乱数で「右に回転する」シナリオ、「左に回転する」シナリオのいずれかが選ばれ、障害物からの脱出を試みる。
【0067】
また、音声入力装置2に「ダンスして」という語彙を与えた場合には、同様に対話処理が呼び出され(ステップA1、A9、A11)、対話処理では音声認識手段78がこの語彙を音声認識辞書81から検索する(ステップD1)。この語彙は音声認識辞書81には登録されていないので検索は失敗し(ステップD2)、「そんな言葉は知らないよ」というエラー応答を行われる(ステップD3)。
さて、例えばダンスをするシナリオがインターネットからこのロボットに電子メールで送信されたとする。このシナリオセットは図12に示すように空のメール本文と、シナリオ制御ファイルと、「ダンス実行」という名称のシナリオファイルと、「ダンス伴奏」の楽曲ファイルから構成されている。シナリオ制御ファイルのシナリオカテゴリ定義部201には対話シナリオを意味する値2が、呼び出し語定義部202にはこのシナリオを呼び出す認識語としてこのシナリオ作成者が選んだ「ダンスして」という文字列が、シナリオファイル名定義部203には「ダンス実行」という文字列が格納されている。「ダンス実行」というファイル名のファイルは、頭部モータ5と脚部モータ6を用いて、ロボットの頭や足を動かし、同時に「ダンス伴奏」というファイルを用いて音声出力装置4から楽曲を出力してダンスを踊るプログラムである。
【0068】
図4のフローチャートを参照すると、このシナリオセットがメールとしてメールサーバーに対して送信されると、シナリオ受信手段によりシナリオセットが受信される(ステップA1、A2)。このシナリオセットにはシナリオ制御ファイル102が含まれているのでシナリオ制御ファイル102のシナリオカテゴリ定義部201に記述されているシナリオカテゴリ値である2がシナリオカテゴリ記憶部86に格納され、呼び出し語定義部202に記述されている呼び出し語である「ダンスして」が呼び出し語記憶部87に格納され、シナリオファイル名定義部203に記述されているシナリオの実行ファイル名である「ダンス実行」がシナリオファイル名記憶部88に格納される(ステップA5)。次にこのシナリオセットに含まれているシナリオファイル103とデータファイル群104、すなわち「ダンス実行」ファイルと「ダンス伴奏」ファイルがファイル記憶部89に格納される(ステップA6)。次にシナリオ登録手段73を呼び出される(ステップA7)。
【0069】
図5によると、シナリオ登録手段73はシナリオ管理テーブル82から空きレコードを検索し(ステップB4)、そのレコード番号、すなわち8をレコード番号記憶部90に格納し(ステップB5)、そのレコードのシナリオカテゴリフィールドにシナリオカテゴリ記憶部86に記憶されているシナリオカテゴリ値である2を格納する(ステップB6)。さらにシナリオ登録手段73は、シナリオ管理テーブル82のレコード8の呼び出し語フィールド302に呼び出し語記憶部87に記憶されている呼び出し語「ダンスして」を格納し、シナリオファイル名フィールド303にシナリオファイル名記憶部88に記憶されているシナリオの実行ファイル名「ダンス実行」を格納する(ステップB7)。さらにファイル記憶部89に記憶されている「ダンス実行」ファイルと「ダンス伴奏」ファイルを拡張シナリオ記憶部84に格納する(ステップB8)。
【0070】
再び図4を参照すると、音声認識語彙追加手段72が呼び出され(ステップA12)、音声認識語彙追加手段72は呼び出し語記憶部87に記憶された呼び出し語「ダンスして」は空文字列ではないので音声認識辞書81にすでにこの呼び出し語が登録されているかどうかを検索する(ステップG1、G2)。この呼び出し語はまだ登録されていないので、音声認識辞書81に追加する(ステップG3、G4)。
【0071】
この結果、図13に示すように、音声認識辞書81には「ダンスして」の語彙が追加され、シナリオ管理テーブル82にはメールで受信した「ダンス実行」シナリオの情報が追加され、拡張シナリオ記憶部84には「ダンス実行シナリオ」と、このシナリオが利用する「ダンス伴奏」ファイルが追加される。
ここで再び音声入力装置2に「おはよう」という語彙を与えるとこの語彙に対応するシナリオは追加されていないので再び「挨拶シナリオ」が実行される。
一方、ここで音声入力装置2に「ダンスして」という語彙を与えると、今度はこの語彙が音声認識辞書81に登録されているので検索は成功し(ステップD2)、以下ステップD4、D5を経てシナリオ選択手段75が呼び出される。シナリオ選択手段75は「ダンスして」という呼び出し語と一致する呼び出し語を持ったレコードをシナリオ管理テーブル82から検索するが、この呼び出し語はレコード8に追加されているので、シナリオ実行手段76はこのレコードからシナリオファイル名「ダンス実行」を取り出す。このファイル名のファイルが拡張シナリオ記憶部84に存在するので「ダンス実行」ファイルが取り出され実行される。この結果、新たにメールで受信、追加された「ダンス実行」が実行され、従来は実行できなかったダンスの動作が可能になる。
【0072】
ここで、さらに電子メールで、図14のメールが受信されたとする。このメールは「おはよう」という呼び出し語を持ち、「挨拶2」シナリオを持っている。このシナリオは前記「挨拶」シナリオとは異なる応答をするシナリオである。
この結果、図15に示すように、シナリオ管理テーブル82には「挨拶2」シナリオの情報が追加され、拡張シナリオ記憶部84には「挨拶2」シナリオが追加される。「おはよう」という認識語はすでに音声認識辞書81に登録されているので音声認識辞書81の内容は変わらない。
【0073】
ここで再び「おはよう」と言うと、シナリオ選択手段75はシナリオ管理テーブル82には呼び出し語フィールド302の値が「おはよう」のレコードが2つあるので、どちらかを選択する。この実施例では乱数で選択が行われる。この結果、2つのシナリオ、すなわち「挨拶」シナリオと「挨拶2」シナリオのどちらかが乱数で選択され、それがシナリオ実行手段により実行されるようになる。
【0074】
同様に、さらに電子メールで、シナリオカテゴリが0、シナリオファイル名が「後退する」というシナリオセットが送られ組み込まれたとする。このシナリオファイルはロボットの向きを後ろ向きに変えて一定距離進むシナリオとする。この結果、うろつく処理から乱数で従来の「直進する」シナリオと「蛇行しながら前進」シナリオに加えて「後退する」シナリオも選択されるようになるので、ロボットの移動動作は従来の蛇行したり直進したりするだけでなく、時々後退する動作も含まれるようになる。
【0075】
次に、本実施の形態の効果について説明する。本実施の形態では、ネットワークからシナリオを受信し、そのシナリオを追加できるように構成されているため、ロボットに新たなシナリオを簡単に追加することができる。
【0076】
また、本実施の形態では、さらに、ネットワークから受信した新たなシナリオを新たな認識語で呼び出すように構成されているため、追加したシナリオの呼び出しを柔軟に設定することができる。
【0077】
また、本実施の形態では、さらに同一のカテゴリのシナリオに新たなシナリオを追加することができるように構成されているため、予めロボットが具備している動作のバリエーションを増やすことができる。
【0078】
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
図16を参照すると、本発明の第2の実施の形態は、図1に示された第1の実施の形態におけるデータ処理装置の構成に対して、シナリオ登録手段73とシナリオ選択手段75がシナリオ登録手段(2)405とシナリオ選択手段(2)401に置き換わり、新たに初期化シナリオ実行手段402と、タイマー設定手段403と、タイマー参照手段404とが追加されている点が異なる。さらに図1に示された第1の実施の形態における記憶装置の構成に対して、シナリオ管理テーブル82がシナリオ管理テーブル(2)501に置き換わり、さらにメール記憶部に初期化ファイル名記憶部502が追加されている点が異なる。
【0079】
図17を参照すると、本発明の第2の実施の形態におけるシナリオセットの構成は図2に示された第1の実施の形態におけるシナリオセットの構成に対して、さらに初期化ファイル105を持つことと、シナリオ制御ファイルに初期化ファイル名定義部204とを持つ点で異なる。
【0080】
図18を参照すると、本発明の第2の実施の形態におけるシナリオ管理テーブル(2)501の構成は、図3に示された第1の実施の形態におけるシナリオ管理テーブル82に対して、さらに実行時刻フィールド304を持つ点で異なる。
【0081】
初期化ファイル実行手段402は初期化ファイル名記憶部502に格納されているファイル名の初期化ファイルをファイル記憶部89から取り出して実行する。
【0082】
タイマー設定手段403はシナリオファイル、初期化ファイルから呼び出すことができるライブラリの形を取っており、指定された時刻をシナリオ管理テーブル(2)501の、レコード番号記憶部90で指示されるレコードの実行時刻フィールド304に格納する。
【0083】
タイマー参照手段404はシナリオ管理テーブル(2)501の各レコードの実行時刻フィールド304に記憶されている実行時刻と現在の時刻を比較し、同一のものがあればそのレコード番号をレコード番号記憶部90に記憶し、同一のものがなければレコード番号記憶部90に−1を記憶する。
【0084】
シナリオ登録手段(2)405は、シナリオ管理テーブル(2)501の空きレコードを検索し、そのレコードのシナリオカテゴリフィールドにシナリオカテゴリ記憶部86に記憶されているシナリオカテゴリ値を格納し、そのレコードの呼び出し語フィールド302に呼び出し語記憶部87に記憶されている呼び出し語を格納し、そのシナリオファイル名フィールド303にシナリオファイル名記憶部88に記憶されているシナリオの実行ファイル名を格納する。このレコードの実行時刻フィールド304には「未設定」を表す値(例えば−1)を登録する。ファイル記憶部89に記憶されているシナリオファイル103と、データファイル群104とを拡張シナリオ記憶部84に格納する。
【0085】
シナリオ選択手段(2)401はシナリオ管理テーブル(2)501から、与えられたシナリオカテゴリまたは認識語彙と対応するシナリオファイルを検索し、そのレコード番号をレコード番号記憶部90に格納する。シナリオ選択手段(2)401の動作はシナリオ管理テーブル82ではなくシナリオ管理テーブル(2)501が使われる点以外は図8に示した第1の実施の形態のシナリオ選択手段と同じである。
【0086】
次に、図19のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
図19によると、シナリオ受信手段74はデータ通信装置1によりネットワークに接続し、このロボット宛のシナリオセットが存在するかを調べる(ステップH1)。受信すべきシナリオセットがあれば(ステップH1/YES)、それを受信する(ステップH2)。次にこのシナリオセットにシナリオ制御ファイル106が含まれているかを調べる(ステップH3)。含まれていれば(ステップH3/YES)、シナリオ制御ファイル106のシナリオカテゴリ定義部201に記述されているシナリオカテゴリ値をシナリオカテゴリ記憶部86に格納し、呼び出し語定義部202に記述されている呼び出し語を呼び出し語記憶部87に格納し、初期化ファイル名定義部204に記述されているシナリオの初期化ファイル名を初期化ファイル名記憶部502に格納し、シナリオファイル名定義部203に記述されているシナリオの実行ファイル名をシナリオファイル名記憶部88に格納する(ステップH5)。次にこのシナリオセットに含まれているシナリオファイル103と、初期化ファイル105と、データファイル群104とをファイル記憶部89に格納する(ステップH6)。次にシナリオ登録手段(2)405を呼び出す(ステップH7)。次に音声認識語彙追加手段72を呼び出す(ステップH12)。次に初期化ファイル実行手段402を呼び出す(ステップH23)。次にファイル記憶部89の内容を消去する(ステップH13)。
【0087】
シナリオ制御ファイルが含まれていなければ(ステップH3/NO)、受信した情報はシナリオセットではないので、その情報に応じた処理を行う(ステップH8)。
受信すべきシナリオセットがない場合には(ステップH1/NO)、音声入力装置2からの音声入力があるかを調べ(ステップH9)、音声入力が無ければ(ステップH9/NO)、タイマー参照手段404を呼び出す(ステップH20)。レコード番号記憶部90の値が−1でなければ(ステップH21/NO)、シナリオ実行手段76を呼び出す(ステップH22)。−1であれば(ステップH21/YES)、うろつく処理を呼び出す(ステップH10)。音声入力があれば(ステップH9/YES)、対話処理を呼び出す(ステップH11)。
【0088】
次に、シナリオ登録手段(2)405の動作を図20のフローチャートを参照して説明する。
図20によると、シナリオ登録手段(2)405はシナリオ管理テーブル(2)501から空きレコードを検索し(ステップJ4)、そのレコード番号をレコード番号記憶部90に格納し(ステップJ5)、そのレコードのシナリオカテゴリフィールドにシナリオカテゴリ記憶部86に記憶されているシナリオカテゴリ値を格納する(ステップJ6)。
さらに、シナリオ登録手段(2)405は、シナリオ管理テーブル(2)501の、レコード番号記憶部90で指示されるレコード番号のレコードの呼び出し語フィールド302に呼び出し語記憶部87に記憶されている呼び出し語を格納し、シナリオファイル名フィールド303にシナリオファイル名記憶部88に記憶されているシナリオの実行ファイル名を格納する(ステップJ7)。次に、ファイル記憶部89に記憶されているシナリオファイル103と、データファイル群104とを拡張シナリオ記憶部84に格納する(ステップJ8)。実行時刻フィールド304には「未設定」を表す値(例えば−1)を格納する(ステップJ9)。
【0089】
次に、初期化ファイル実行手段402の動作を図21のフローチャートを参照して説明する。
図21によると、初期化ファイル実行手段402は初期化ファイル名記憶部502に記憶されているファイル名のファイルをファイル記憶部89から取り出し実行する(ステップK1)。
初期化ファイルの内容はデータ処理装置7により実行可能な任意のプログラムである。通常このプログラムはそれを含むシナリオセットの実行ファイルをどの時刻に実行するかをユーザーと音声認識などを用いて対話して決定する処理を含んでいる。決定した時刻はその時刻を引数としてタイマー設定手段403を呼び出すことで登録する(ステップK2)。
【0090】
図22を参照すると、タイマー設定手段403は引数として渡された時刻をシナリオ管理テーブル(2)501の、レコード番号記憶部90で指示されるレコードの実行時刻フィールド304に格納する(ステップL1)。
なお、初期化ファイルと同様に、実行ファイルにも、ユーザとの対話などにより実行ファイルの実行時刻を決定するプログラムが含まれているとしてもよい。実行ファイルに上記のプログラムが含まれているとした場合、タイマー設定手段403は初期化ファイルだけでなく、実行ファイルからも呼び出すことが出来る。
すなわち、実行ファイルの実行中に再度ユーザーと音声認識などを用いた対話により次の実行時刻を決定し、その時刻を引数としてタイマー設定手段403を呼び出すことにより、次回のそのシナリオの実行時刻を変えることができる。
【0091】
次に、タイマー参照手段404の動作を図23のフローチャートを参照して説明する。
図23によると、タイマー参照手段404はシナリオ管理テーブル(2)501から、実行時刻フィールドの値が現在の時刻と一致するレコードを検索する(ステップM1)。一致するレコードがあれば(ステップM2/YES)、そのレコード番号をレコード番号記憶部90に格納する(ステップM3)。一致するレコードが存在しない場合には(ステップM2/NO)、レコード番号記憶部90に−1を記憶する(ステップM4)。
なお、特定の時刻に自動的に実行する必要がないシナリオでは、初期化ファイルがタイマー設定手段を呼び出さないように作成する。この場合にはシナリオ管理テーブル(2)501の、そのシナリオに対応するレコードの実行時刻フィールドはシナリオ登録手段(2)405により−1に設定されたままになり、現在時刻と決して一致しないため、タイマー参照手段404がそのレコード番号を現在レコード記憶部に設定することは起こらず、そのシナリオが特定の時刻に自動的に実行されることはなくなる。
【0092】
本実施の形態におけるうろつく処理と、対話処理とは、第1の実施の形態の動作と同じである(図6、図7)。
また 本実施の形態における他の手段は、第1の実施の形態ではシナリオ管理テーブル82を使うのに対して、シナリオ管理テーブル(2)501を使う点が異なるだけである。
【0093】
次に、本実施の形態の効果について説明する。
本実施の形態では、第1の実施例の効果に加えて、ユーザーと対話などを行って実行時刻を設定し、その時刻になったときに自動的に実行される新たなシナリオを追加できるように構成されているため、ある時刻になったときに自動的に実行を開始することが必要な新機能を簡単に追加することができる。
【0094】
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
図24を参照すると、本発明の第3の実施の形態は、図1に示された第1の実施の形態におけるデータ処理装置の構成に対して、シナリオ登録手段73がシナリオ登録手段(3)601に置き換わっている点が異なる。
第3の実施の形態におけるシナリオ制御ファイルの構造そのものは図2に示される第1の実施の形態と同じであるが、第3の実施の形態においてはさらにシナリオカテゴリ定義部201に0、1、2に加えて3を記述することができる。
シナリオカテゴリが3の場合、そのシナリオはシナリオ管理テーブル82と拡張シナリオ記憶部84に登録されずに、そのシナリオセットの受信時に一度だけ実行され、実行後は破棄される。
【0095】
この処理はシナリオ登録手段(3)601で実現されており、以下に図25を参照してシナリオ登録手段(3)601の動作を説明する。
図25を参照すると、シナリオ登録手段(3)601はシナリオカテゴリ記憶部86に記憶されているシナリオカテゴリが3であるかどうかを調べる(ステップN1)。
シナリオカテゴリが3以外であれば(ステップN1/NO)、ステップB4に移る。ステップB4以降の動作は第1の実施の形態と同じであるので説明は省略する。
シナリオカテゴリが3の場合(ステップN1/YES)、シナリオファイル名記憶部88に記憶されているシナリオファイル名のシナリオファイル103をファイル記憶部89から取り出し実行する(ステップN2)。
【0096】
このように、第3の実施の形態では、第1の実施の形態の動作に加え、シナリオ受信時に自動的に実行され、実行後はどこにも登録されないシナリオの受信と実行を実現できるように構成されているため、記憶領域を有効に活用することが可能になる。
さらに、第3の実施の形態ではシナリオセットの受信後、即時にそのシナリオを実行できるように構成されているため、ユーザーからの発話なしに確実に実行できるシナリオをロボットに送信することが可能になる。特に、ロボットに広告に係るシナリオなどを実行させる場合、ユーザの発話を必要とせずにユーザに広告内容を通知し、広告効果を向上させることが可能となる。
【0097】
【発明の効果】
第1の効果はロボットに新たな機能を追加し、実行できることである。その理由はネットワークから新たなシナリオを受信し、そのシナリオをロボット制御プログラムに追加し、それを実行できるためである。
【0098】
第2の効果は新たな認識語に応答できるようになることである。その理由はネットワークから、新たなシナリオとそれを呼び出す認識語を受信し、その認識語を音声認識辞書に追加すると同時にそのシナリオをその認識語で実行するように登録できるためである。
【0099】
第3の効果はひとつの認識語に対する応答のバリエーションを増やすことができることである。その理由は一つの認識語に対する応答として、最初からロボット制御プログラムに組み込まれているその認識語で呼び出されるシナリオと、新たにネットワークから受信したその認識語によって実行されるシナリオの両方から、その認識語によって実行されるシナリオを選択できるためである。
【0100】
第4の効果はうろつくなどのロボットの自律行動のパターンのバリエーションを増やすことができることである。
その理由は自律行動の基本パターンを実装しているシナリオとして、最初からロボット制御プログラムに組み込まれているシナリオと、新たにネットワークから受信したシナリオの両方から、実行するシナリオを選択できるためである。
【0101】
第5の効果は、ユーザーが望む時刻に自動的に実行される新たな機能を追加できることである。
その理由は、ネットワークから新たなシナリオを受信したときに、そのシナリオに含まれている初期化ファイルを実行し、その初期化ファイルがユーザーと対話などを行って実行時刻を設定し、その時刻になったときにそのシナリオを呼び出すためである。
【0102】
第6の効果は、ネットワークから受信時に一回だけ実行されるシナリオに必要な記憶領域を減らすことができることである。
その理由は、シナリオ受信時に自動的に実行され、実行後はどこにも登録されずに削除されるシナリオの受信と実行を実現できるように構成されているため、記憶領域を有効に活用することが可能になる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の構成を示すブロック図である。
【図2】本発明の第1の実施の形態のシナリオセットとシナリオ制御ファイルである。
【図3】本発明の第1の実施の形態のシナリオ管理テーブルである。
【図4】本発明の第1の実施の形態の全体の動作を示す流れ図である。
【図5】本発明の第1の実施の形態のシナリオ登録手段の動作を示す流れ図である。
【図6】本発明の第1の実施の形態のうろつく処理の動作を示す流れ図である。
【図7】本発明の第1の実施の形態の対話処理の動作を示す流れ図である。
【図8】本発明の第1の実施の形態のシナリオ選択手段の動作を示す流れ図である。
【図9】本発明の第1の実施の形態のシナリオ実行手段の動作を示す流れ図である。
【図10】本発明の第1の実施の形態の音声認識語彙追加手段の動作を示す流れ図である。
【図11】本発明の第1の実施の形態の動作の具体的な実施例の音声認識辞書、シナリオ管理テーブル、システムシナリオ記憶部、拡張シナリオ記憶部の内容である。
【図12】本発明の第1の実施の形態のシナリオセットとシナリオ制御ファイルの内容である。
【図13】本発明の第1の実施の形態における、シナリオ登録後の音声認識辞書、シナリオ管理テーブル、拡張シナリオ記憶部の内容である。
【図14】本発明の第1の実施の形態のシナリオセットとシナリオ制御ファイルの内容である。
【図15】本発明の第1の実施の形態のシナリオ登録後の音声認識辞書、シナリオ管理テーブル、拡張シナリオ記憶部の内容である。
【図16】本発明の第2の実施の形態の構成を示すブロック図である。
【図17】本発明の第2の実施の形態のシナリオセットとシナリオ制御ファイルである。
【図18】本発明の第2の実施の形態のシナリオ管理テーブルである。
【図19】本発明の第2の実施の形態の全体の動作を示す流れ図である。
【図20】本発明の第2の実施の形態のシナリオ登録手段の動作を示す流れ図である。
【図21】本発明の第2の実施の形態の初期化ファイル実行手段の動作を示す流れ図である。
【図22】本発明の第2の実施の形態のタイマー設定手段の動作を示す流れ図である。
【図23】本発明の第2の実施の形態のタイマー参照手段の動作を示す流れ図である。
【図24】本発明の第3の実施の形態の構成を示すブロック図である。
【図25】本発明の第3の実施の形態のシナリオ登録手段の動作を示す流れ図である。
【図26】従来例の構成を示すブロック図である。
【図27】従来例の動作を示す流れ図である。
【図28】従来例の動作を示す流れ図である。
【図29】従来例の動作を示す流れ図である。
【符号の説明】
1 データ通信装置
2 音声入力装置
3 超音波センサ
4 音声出力装置
5 頭部モータ
6 脚部モータ
7、60 データ処理装置
71 行動制御部
72 音声認識語彙追加手段
73 シナリオ登録手段
74 シナリオ受信手段
75 シナリオ選択手段
76 シナリオ実行手段
78 音声認識手段
8 記憶装置
81 音声認識辞書
82 シナリオ管理テーブル
83 システムシナリオ記憶部
84 拡張シナリオ記憶部
85 メール記憶部
86 シナリオカテゴリ記憶部
87 呼び出し語記憶部
88 シナリオファイル名記憶部
89 ファイル記憶部
90 レコード番号記憶部
91 認識結果記憶部
102、106 シナリオ制御ファイル
103 シナリオファイル
104 データファイル(群)
105 初期化ファイル
201 シナリオカテゴリ定義部
202 呼び出し語定義部
203 シナリオファイル名定義部
301 シナリオカテゴリフィールド
302 呼び出し語フィールド
303 シナリオファイル名フィールド
304 実行時刻フィールド
40 データ処理装置
401 シナリオ選択手段(2)
402 初期化ファイル実行手段
403 タイマー設定手段
404 タイマー参照手段
405 シナリオ登録手段(2)
50 記憶装置
501 シナリオ管理テーブル(2)
502 初期化ファイル名記憶部
601 シナリオ登録手段(3)

Claims (15)

  1. シナリオファイルを実行することにより動作するロボットであって、
    音声入力を受け付ける音声入力手段と、
    音声認識辞書を参照し、前記音声入力手段で入力された音声の認識処理を行う音声認識手段と、
    ロボットの環境を検知するセンサ手段と、
    少なくとも、前記シナリオファイルと、
    前記シナリオファイルのカテゴリを保持したシナリオカテゴリ定義部と、
    前記シナリオファイルの呼び出し語を保持した呼び出し語定義部と、
    から構成されるシナリオセットを回線から受信する受信手段と、
    前記受信手段が受信したシナリオセットを前記ロボットに登録する登録手段と、
    前記ロボットが既に持っているシナリオセットと前記受信手段が受信したシナリオセットの中から、
    音声入力がある場合は、前記入力された音声の音声認識結果に対応した呼び出し語を有するシナリオセットを選択し、
    音声入力がない場合は、前記センサ手段の検知結果に応じて特定されるカテゴリを有するシナリオセット群から、乱数によってシナリオセットを選択する選択手段と、
    前記選択されたシナリオセットに含まれるシナリオファイルを実行する実行手段と、
    を有することを特徴とするロボット。
  2. 前記選択手段は、前記入力された音声の音声認識結果に対応した呼び出し語を有するシナリオセットが複数ある場合には、前記複数のシナリオセットの中から、乱数によってシナリオセットを選択すること
    を特徴とする請求項1記載のロボット。
  3. 前記受信手段が受信したシナリオセットにおける呼び出し語を、前記音声認識辞書に追加する音声認識語彙追加手段を有すること
    を特徴とする請求項1又は2記載のロボット。
  4. シナリオファイルが実行される時刻を示す実行時刻を登録する手段を有し、
    前記受信手段は、シナリオファイルが実行される実行時刻を決定するための実行ファイルも受信し、
    前記実行時刻を登録する手段は、前記実行ファイルを実行して実行時刻を決定し、前記受信手段が受信したシナリオセットと対応させて前記ロボットに登録し、
    前記選択手段は、現在時刻と一致する実行時刻を有するシナリオセットが存在するかを判定し、存在する場合は前記シナリオセットを選択すること
    を特徴とする請求項1乃至3記載のロボット。
  5. 前記受信手段が受信したシナリオセットにおけるカテゴリが所定の値であった場合には、
    前記登録手段は、前記シナリオセットを登録せず、前記シナリオセットに含まれるシナリオファイルを実行すること
    を特徴とする請求項1乃至4記載のロボット。
  6. シナリオファイルを実行することにより動作するロボットを制御するロボット制御方法であって、
    音声入力を受け付ける音声入力ステップと、
    音声認識辞書を参照し、前記音声入力ステップで入力された音声の認識処理を行う音声認識ステップと、
    ロボットの環境を検知するセンサステップと、
    少なくとも、前記シナリオファイルと、
    前記シナリオファイルのカテゴリを保持したシナリオカテゴリ定義部と、
    前記シナリオファイルの呼び出し語を保持した呼び出し語定義部と、
    から構成されるシナリオセットを回線から受信する受信ステップと、
    前記受信ステップが受信したシナリオセットを前記ロボットに登録する登録ステップと、
    前記ロボットが既に持っているシナリオセットと前記受信ステップが受信したシナリオセットの中から、
    音声入力がある場合は、前記入力された音声の音声認識結果に対応した呼び出し語を有するシナリオセットを選択し、
    音声入力がない場合は、前記センサステップの検知結果に応じて特定されるカテゴリを有するシナリオセット群から、乱数によってシナリオセットを選択する選択ステップと、
    前記選択されたシナリオセットに含まれるシナリオファイルを実行する実行ステップと、
    を有することを特徴とするロボット制御方法。
  7. 前記選択ステップは、前記入力された音声の音声認識結果に対応した呼び出し語を有するシナリオセットが複数ある場合には、前記複数のシナリオセットの中から、乱数によってシナリオセットを選択すること
    を特徴とする請求項6記載のロボット制御方法。
  8. 前記受信ステップが受信したシナリオセットにおける呼び出し語を、前記音声認識辞書に追加する音声認識語彙追加ステップを有すること
    を特徴とする請求項6又は7記載のロボット制御方法。
  9. シナリオファイルが実行される時刻を示す実行時刻を登録するステップを有し、
    前記受信ステップは、シナリオファイルが実行される実行時刻を決定するための実行ファイルも受信し、
    前記実行時刻を登録するステップは、前記実行ファイルを実行して実行時刻を決定し、前記受信ステップが受信したシナリオセットと対応させて前記ロボットに登録し、
    前記選択ステップは、現在時刻と一致する実行時刻を有するシナリオセットが存在するかを判定し、存在する場合は前記シナリオセットを選択すること
    を特徴とする請求項6乃至8記載のロボット制御方法。
  10. 前記受信ステップが受信したシナリオセットにおけるカテゴリが所定の値であった場合には、
    前記登録ステップは、前記シナリオセットを登録せず、前記シナリオセットに含まれるシナリオファイルを実行すること
    を特徴とする請求項6乃至9記載のロボット制御方法。
  11. シナリオファイルを実行することにより動作するロボットを制御する処理をコンピュータに実行させるためのロボット制御プログラムであって、
    音声入力を受け付ける音声入力ステップと、
    音声認識辞書を参照し、前記音声入力ステップで入力された音声の認識処理を行う音声認識ステップと、
    ロボットの環境を検知するセンサステップと、
    少なくとも、前記シナリオファイルと、
    前記シナリオファイルのカテゴリを保持したシナリオカテゴリ定義部と、
    前記シナリオファイルの呼び出し語を保持した呼び出し語定義部と、
    から構成されるシナリオセットを回線から受信する受信ステップと、
    前記受信ステップが受信したシナリオセットを前記ロボットに登録する登録ステップと、
    前記ロボットが既に持っているシナリオセットと前記受信ステップが受信したシナリオセットの中から、
    音声入力がある場合は、前記入力された音声の音声認識結果に対応した呼び出し語を有するシナリオセットを選択し、
    音声入力がない場合は、前記センサステップの検知結果に応じて特定されるカテゴリを有するシナリオセット群から、乱数によってシナリオセットを選択する選択ステップと、
    前記選択されたシナリオセットに含まれるシナリオファイルを実行する実行ステップと、
    をコンピュータに実行させることを特徴とするロボット制御プログラム。
  12. 前記選択ステップは、前記入力された音声の音声認識結果に対応した呼び出し語を有するシナリオセットが複数ある場合には、前記複数のシナリオセットの中から、乱数によってシナリオセットを選択すること
    を特徴とする請求項11記載のロボット制御プログラム。
  13. 前記受信ステップが受信したシナリオセットにおける呼び出し語を、前記音声認識辞書に追加する音声認識語彙追加ステップを有すること
    を特徴とする請求項11又は12記載のロボット制御プログラム。
  14. シナリオファイルが実行される時刻を示す実行時刻を登録するステップを有し、
    前記受信ステップは、シナリオファイルが実行される実行時刻を決定するための実行ファイルも受信し、
    前記実行時刻を登録するステップは、前記実行ファイルを実行して実行時刻を決定し、前記受信ステップが受信したシナリオセットと対応させて前記ロボットに登録し、
    前記選択ステップは、現在時刻と一致する実行時刻を有するシナリオセットが存在するかを判定し、存在する場合は前記シナリオセットを選択すること
    を特徴とする請求項11乃至13記載のロボット制御プログラム。
  15. 前記受信ステップが受信したシナリオセットにおけるカテゴリが所定の値であった場合には、
    前記登録ステップは、前記シナリオセットを登録せず、前記シナリオセットに含まれるシナリオファイルを実行すること
    を特徴とする請求項11乃至14記載のロボット制御プログラム。
JP2002017725A 2001-01-30 2002-01-25 ロボット、ロボット制御システム、およびそのプログラム Expired - Fee Related JP4108342B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002017725A JP4108342B2 (ja) 2001-01-30 2002-01-25 ロボット、ロボット制御システム、およびそのプログラム
US10/059,018 US6799086B2 (en) 2001-01-30 2002-01-30 Robot, robot control system, and program for the same

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001022320 2001-01-30
JP2001-22320 2001-01-30
JP2002017725A JP4108342B2 (ja) 2001-01-30 2002-01-25 ロボット、ロボット制御システム、およびそのプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006242829A Division JP2006334780A (ja) 2001-01-30 2006-09-07 ロボット、ロボット制御システム、およびそのプログラム

Publications (2)

Publication Number Publication Date
JP2002301675A JP2002301675A (ja) 2002-10-15
JP4108342B2 true JP4108342B2 (ja) 2008-06-25

Family

ID=26608566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002017725A Expired - Fee Related JP4108342B2 (ja) 2001-01-30 2002-01-25 ロボット、ロボット制御システム、およびそのプログラム

Country Status (2)

Country Link
US (1) US6799086B2 (ja)
JP (1) JP4108342B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3529049B2 (ja) * 2002-03-06 2004-05-24 ソニー株式会社 学習装置及び学習方法並びにロボット装置
KR20040044316A (ko) * 2002-11-21 2004-05-28 삼성전자주식회사 가정용 로봇을 이용한 애완동물 로봇의 제공 장치 및 그방법
US20060277249A1 (en) * 2002-12-16 2006-12-07 Koninklijke Philips Electronics N.V. Robotic web browser
JP4048492B2 (ja) * 2003-07-03 2008-02-20 ソニー株式会社 音声対話装置及び方法並びにロボット装置
JP4588359B2 (ja) * 2004-05-07 2010-12-01 富士通株式会社 ネットワークロボットの機能提供システム及び機能提供方法
US8000837B2 (en) 2004-10-05 2011-08-16 J&L Group International, Llc Programmable load forming system, components thereof, and methods of use
US7937923B2 (en) * 2007-10-25 2011-05-10 Deere & Company Tractor and round baler combination with automatic baling and automatic rear door opening
KR101119030B1 (ko) * 2010-05-12 2012-03-13 (주) 퓨처로봇 지능형 로봇 장치의 서비스 시나리오 편집 방법, 그 방법을 실행하기 위한 프로그램을 기록한 컴퓨터 판독가능한 기록매체, 지능형 로봇 장치 및 지능형 로봇의 서비스 방법
US8621993B1 (en) * 2011-02-21 2014-01-07 Tiedemann Globe Incorporated System and method for a baling machine safety actuator
KR101842460B1 (ko) * 2011-04-12 2018-03-27 엘지전자 주식회사 로봇 청소기, 이의 원격 감시 시스템 및 방법
JP5834677B2 (ja) * 2011-09-16 2015-12-24 富士通株式会社 インタラクションシステム、インタラクティブシステム及びプログラム
JP5978027B2 (ja) * 2012-06-28 2016-08-24 本田技研工業株式会社 移動ロボットの制御装置
CN103862473A (zh) * 2014-03-04 2014-06-18 南昌大学 基于从端本地数据的波变量位移跟踪控制方法
ES2703338T3 (es) * 2014-04-17 2019-03-08 Softbank Robotics Europe Ejecución de aplicaciones de software en un robot
WO2016206645A1 (zh) * 2015-06-26 2016-12-29 北京贝虎机器人技术有限公司 为机器装置加载控制数据的方法及装置
JP7065175B2 (ja) * 2018-03-09 2022-05-11 株式会社Fuji 自動作業機
DE102018214417B3 (de) * 2018-08-27 2019-07-25 Volkswagen Aktiengesellschaft Verfahren zur Programmierung eines Roboters sowie Recheneinrichtung und Computerprogramm

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ZA838150B (en) * 1982-11-01 1984-06-27 Nat Res Dev Automatic welding
US4663726A (en) * 1985-04-15 1987-05-05 General Electric Co. Robot control utilizing cubic spline interpolation
US4835730A (en) * 1987-02-27 1989-05-30 Adept Technology, Inc. Database driven robot programming system and method
US4855923A (en) * 1988-01-06 1989-08-08 Xerox Corporation Parts assembly using signature analysis
JP2686351B2 (ja) * 1990-07-19 1997-12-08 ファナック株式会社 視覚センサのキャリブレーション方法
JP3446256B2 (ja) * 1993-09-03 2003-09-16 株式会社日立製作所 Faシステムの制御方法及び装置
US5798627A (en) * 1995-01-04 1998-08-25 Gilliland; Malcolm T. Method for simultaneous operation of robot welders
DE19821873C2 (de) * 1998-05-15 2000-07-13 Inst Werkzeugmaschinen Und Bet Verfahren zum Verringern des Einflusses von Temperaturänderungen auf Industrieroboter
JPH11327872A (ja) 1998-05-18 1999-11-30 Nippon Telegr & Teleph Corp <Ntt> 電子メール提示方法及び電子メール端末及び電子メール提示プログラムを格納した記憶媒体
JP2000075907A (ja) 1998-09-01 2000-03-14 Yokogawa Electric Corp 生産システム
JP2000326274A (ja) 1999-05-24 2000-11-28 Nec Corp 自律行動ロボット
JP2001236244A (ja) * 2000-02-23 2001-08-31 Mitsubishi Electric Corp ロボットプログラムのデバッグシステム

Also Published As

Publication number Publication date
US20020123826A1 (en) 2002-09-05
JP2002301675A (ja) 2002-10-15
US6799086B2 (en) 2004-09-28

Similar Documents

Publication Publication Date Title
JP4108342B2 (ja) ロボット、ロボット制御システム、およびそのプログラム
CN100578614C (zh) 用语音应用语言标记执行的语义对象同步理解
KR101066741B1 (ko) 컴퓨터 시스템과 동적으로 상호작용하기 위한 컴퓨터 구현 방법, 시스템, 및 컴퓨터 판독가능 기록 매체
US9263039B2 (en) Systems and methods for responding to natural language speech utterance
US9626959B2 (en) System and method of supporting adaptive misrecognition in conversational speech
US8731929B2 (en) Agent architecture for determining meanings of natural language utterances
US6182038B1 (en) Context dependent phoneme networks for encoding speech information
US6801897B2 (en) Method of providing concise forms of natural commands
CN110046227B (zh) 对话系统的配置方法、交互方法、装置、设备和存储介质
CN109326284A (zh) 语音搜索的方法、装置和存储介质
JP2006334780A (ja) ロボット、ロボット制御システム、およびそのプログラム
CN110660393B (zh) 语音交互方法、装置、设备及存储介质
Oyucu Integration of cloud-based speech recognition system to the Internet of Things based smart home automation
Milhorat An open-source framework for supporting the design and implementation of natural-language spoken dialog systems
Sunkari InfoKiosk: An information kiosk with text-free user interface
WO2023146743A1 (en) Computer-automated scripted electronic actor control
Li VoiceLink: a speech interface fore responsive media
WO2002061729A1 (fr) Procede et systeme pour l&#39;interaction vocale personne/ordinateur
JP2005099435A (ja) 音声入力装置及び音声入力処理プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060220

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060711

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060907

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060915

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20061102

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080402

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110411

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120411

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120411

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130411

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130411

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140411

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees