Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4096826B2 - Robot motion program manufacturing method, motion control system, and robot control system - Google Patents
[go: Go Back, main page]

JP4096826B2 - Robot motion program manufacturing method, motion control system, and robot control system - Google Patents

Robot motion program manufacturing method, motion control system, and robot control system Download PDF

Info

Publication number
JP4096826B2
JP4096826B2 JP2003176205A JP2003176205A JP4096826B2 JP 4096826 B2 JP4096826 B2 JP 4096826B2 JP 2003176205 A JP2003176205 A JP 2003176205A JP 2003176205 A JP2003176205 A JP 2003176205A JP 4096826 B2 JP4096826 B2 JP 4096826B2
Authority
JP
Japan
Prior art keywords
robot
program
automatic generation
unit
control system
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 - Lifetime
Application number
JP2003176205A
Other languages
Japanese (ja)
Other versions
JP2004078905A (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.)
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 JP2003176205A priority Critical patent/JP4096826B2/en
Publication of JP2004078905A publication Critical patent/JP2004078905A/en
Application granted granted Critical
Publication of JP4096826B2 publication Critical patent/JP4096826B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Toys (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、動作命令にしたがって動作する装置の動作プログラム作成支援装置、動作プログラム製造方式、制御システム、動作プログラムの製造方法、およびコンピュータプログラムに関し、特に、家庭環境で使われるエンターテインメント志向のロボットに好適なロボットの動作プログラム作成支援装置、ロボット動作プログラム製造方式、動作制御システム、ロボット制御システム、ロボット動作プログラムの製造方法、およびコンピュータプログラムに関する。
【0002】
【従来の技術】
近年、家庭に浸透させることを目的とした、エンターテインメント志向のロボットが注目を集めており、特にペットロボットや玩具ロボットの分野では、様々な商品が開発され、大きな市場を形成しつつある。
【0003】
また、対話による人間とのコミュニケーションを重視したロボットも研究されており、例えば、NEC製「PaPeRo」としてショーなどで公開されている。このようなエンターテインメントロボットは、予めユーザまたは開発者が作成した動作プログラムに添って動くものであり、動作プログラムの作成は、重要視されている。
【0004】
このような状況の下で、ユーザを飽きさせないロボットを製造するには、膨大な量のロボットの動作プログラムを作成する必要がある。従来の技術では、その動作プログラムを作成するために、ユーザまたは開発者が、ロボット開発用の装置の画面上において、テキスト・エディタなどを用いて、スクリプト形式(例えば、C言語などの高級言語形式)で入力しながら動作制御プログラムを作成している。
【0005】
また、特開平7−200278号公報には、プログラム部品に対応した図形を画面上に表示し、その図形を用いて視覚的にプログラミングする方法が開示されている。
【0006】
【特許文献1】
特開平7−200278号公報
【特許文献2】
特開平9−91017号公報
【0007】
【発明が解決しようとする課題】
しかしながら、上記の従来の技術では、ユーザまたは開発者が、画面上でテキスト・エディタなどを用いて、人手により、スクリプト形式でロボットの動作プログラムを作成編集しなければならないため、ユーザを飽きさせないロボットを実現するためには、膨大な量のプログラムを人間が作成しなくてはならず、多大な時間と労力を要するという課題がある。
【0008】
また、特開平7−200278号公報においては、部品を選択して、編集をかけないで全ての部品によるプログラムの作成を行うと仮定したならば、あらゆるケースを想定した部品を準備しなければならず、結果的には、動作プログラムを作成するのと同じくらいの膨大なプログラムを人間が作成し、多大な時間と労力を要するということになり、部品を作成する意味がないという課題がある。
【0009】
本発明の目的は、上記の課題を解決するもので、視覚的なプログラム環境を提供することでプログラム作成者の負担を軽減することにある。
【0010】
また、本発明の他の目的は、上記問題点を鑑み、プログラムを自動的に生成する環境を提供することにある。
【0011】
また、本発明の他の目的は、上記問題点を鑑み、作成したプログラムを実行させるためのロボットの制御システムの環境を提供することにある。
【0012】
【課題を解決するための手段】
本発明のロボット動作プログラム製造方式は、ロボットが発すべき音声を入力として、その音声を演出するためのロボットの各動作部による動作の指定を行う動作プログラムを生成する自動生成手段を備えたことを特徴とする。
【0013】
自動生成手段は、ロボットに回線を介して接続される端末またはロボットまたはその両方に含まれることを特徴とする。また、自動生成手段は、ロボットの動作を画面上にタイムチャートとして表示し、タイムチャート上に動作命令を配置してロボットの動作プログラムの作成を行うことを特徴とする。
【0014】
自動生成手段は、ロボットの各動作部の動作の指定と動作に対応する音声とを含む複数の部品プログラムを格納した記憶部を備えたことを特徴とする。また、自動生成手段は、部品プログラムを参照し、ロボットが発すべき音声と部品プログラムに含まれる音声との比較結果に応じて、動作プログラムの部品として使用する部品プログラムを決定することを特徴とする
【0015】
自動生成手段は、参照する前記部品プログラムを、予め決められた乱数を用いて選択された部品プログラムに限定することを特徴とする。また、自動生成手段は、部品プログラムに含まれる1または複数の動作の各実行時間を、ロボットが発すべき音声の実行時間に合わせて伸縮して、動作プログラムを生成することを特徴とする。また、自動生成手段が、伸縮の対象となる動作の指定を、実動作を伴わない動作に限定することを特徴とする。
【0016】
本発明の動作制御システムは、動作プログラムにより動作を制御し、出力すべき音声あるいは音に基づいて動作プログラムを生成する自動生成手段と、自動生成手段で生成した動作プログラムを実行することで音声あるいは音の再生にあわせて生成された動作を実施する実行制御手段とを有することを特徴とする。
【0017】
本発明のロボット制御システムは、動作プログラムによりロボットの各動作部の動作を制御し、ロボットが発すべき音声を入力として、その音声を演出するためのロボットの各動作部による動作の指定を行う動作プログラムを生成する自動生成手段と、自動生成手段が生成した動作プログラムを実行することにより、音声の再生にあわせて生成された動作の指定をロボットの各動作部に送って動作を実施する実行制御手段とを有することを特徴とする。
【0019】
また、実行制御手段によるロボットの動作の完了後に各動作部を初期状態に戻す状態復帰手段をさらに有することを特徴とする。
【0020】
また、状態復帰手段が、人の顔を検出している時には頭部を初期状態に戻さず、頭部をその人の方に向けることを特徴とする。
【0047】
【発明の実施の形態】
以下、ロボットに適用する例で、図面を参照して本発明の実施形態を説明する。
【0048】
本発明の第1の実施形態を図面を参照して以下に記す。まず、図1は、本発明の第1の実施形態における構成を示した図である。図1を参照すると、本発明の第1の実施形態は、端末装置1と、端末記憶部2と、ロボット制御部3と、ロボット記憶部4と、ロボット動作部5からなる。なお、端末側は、端末装置1と端末記憶部2とを有し、ロボットは、ロボット制御部3と、ロボット記憶部4と、ロボット制御部3と、ロボット動作部5とを有し、端末側とロボット側とのデータのやり取りを行う図示していないインタフェース部をそれぞれに備えており、更に、それぞれのインタフェース部を図示していない通信回線網(例えば、無線)で接続されている。このとき、通信回路網の代わりに、半導体メモリカードなど記録媒体を用いてデータのやり取りを行ってもかまわない。
【0049】
端末装置1は、図示していないプロセッサ(CPU)によりプログラム制御で動作する動作プログラム作成手段11を備え、動作プログラム作成手段11は、手動作成手段111と、自動生成手段112とから成る。手動作成手段111は、ロボットの動作を視覚的なタイムチャ−トとして表現し、タイムチャ−ト上に動作命令を配置することで、ロボットの動作プログラムの作成を可能とする。自動生成手段112は、ロボットが発すべき音声あるいは音を入力として、その音声を演出するためのロボットのロボット動作部5による動作の指定を自動的に生成する。
【0050】
端末記憶部2は、読出し書込みのできる不揮発性の記録媒体装置(例えば、磁気ディスク)であって、動作プログラムの自動生成時に部品として使用される、複数の部品プログラム21を格納している。
【0051】
ロボット制御部3は、図示していないプロセッサ(CPU)によりプログラム制御で動作する、動作プログラム実行手段31と、頭部制御手段32と、脚部制御手段33と、手部制御手段34と、顔表情部制御手段35と、発声部制御手段36と、センサ監視手段37と、顔認識手段38とを備える。更に動作プログラム実行手段31は、実行制御手段311と、状態復帰手段312とから成る。またロボット制御部3は、通信回線6等を介して端末装置1と接続され、端末装置1からのプログラム送信を受け付ける。実行制御手段311は、ロボットの各可動部を同時並行で制御し、障害発生時に、その影響度に応じて各動作部の動作継続の是非を決定する。状態復帰手段312は、ロボットの動作の完了後、ロボット動作部5を初期状態に戻す。
【0052】
ロボット記憶部4は、読出し書込みのできる不揮発性の記録媒体装置(例えば、磁気ディスク)であって、端末装置1で作成され、ロボット側に送信されてきた複数の動作プログラム41を格納している。この場合の動作プログラム41は、ロボットの動作部51〜55(後述)の動作を制御するプログラムである。
【0053】
ロボット動作部5は、頭部アクチュエータ51と、脚部アクチュエータ52と、手部アクチュエータ53と、顔表情部LED54と、発声部55と、センサ部56と、カメラ57とを備える。顔表情部LED54はロボットの目の周辺や口・頬の位置に、カメラ57は目の位置に装着されている。以降の説明において、頭部アクチュエータ51と、脚部アクチュエータ52と、手部アクチュエータ53と、顔表情部LED54と、発生部55と、センサ部56と、カメラ57とを総称して、動作部(または可動部)と呼ぶ場合がある。
【0054】
また、ロボット動作部5の各動作部51〜57には、それぞれマイコンが装着されており、それぞれのマイコン制御により各動作部51〜57が動作する。なお、各動作部51〜57を1つのマイコンまたは複数のマイコンで制御を行うようにしても良い。従って、動作部51〜55は、ロボット制御部3から発生するコマンドによる動作指示に基づいて動作を行い、動作部56,57は、ロボット制御部3にコマンドを送信することにより、状況を通知する。
【0055】
端末装置1の動作プログラム作成手段11は、画面上に表示する内容に従ったユーザからの指示に従い、ユーザの手動操作または自動生成により動作プログラム41を作成する。手動作成が指示された場合は手動作成手段111を起動し、GUIツールを利用してユーザに動作プログラム41を作成させる。自動生成が指示された場合は自動生成手段112を起動し、記憶部2の部品プログラム21を利用しながら、ユーザが指定した基準音声あるいは音に合わせて動作プログラム41を自動的に生成する。
【0056】
ロボット制御部3の動作プログラム実行手段31は、端末装置1から送信された動作プログラム41に従って、ロボットの各動作部を制御する。すなわち、ロボット制御部3の動作プログラム実行手段31は、ロボット全体を制御するための司令塔となる。まずロボット制御部3は、ロボット実行制御手段311を起動し、動作プログラム41を解析して、その内容に従って頭部制御手段32、脚部制御手段33、手部制御手段34、顔表情部制御手段35、発生部制御手段36に動作指示を与える。頭部制御手段32、脚部制御手段33、手部制御手段34、顔表情部制御手段35、発生部制御手段36は、与えられた動作指示に従って、頭部アクチュエータ51、脚部アクチュエータ52、手部アクチュエータ53、顔表情部LED54、発生部55をそれぞれコマンドにより制御する。次にロボット制御部3は、状態復帰手段312を起動し、ロボットの各動作部を初期状態に戻す。
【0057】
センサ監視手段37は、センサ56が検出した障害物や階段などの段差等の画像情報や人間の会話などの音声情報などを監視し、それらの情報を実行制御手段311に供給する。また顔認識手段38は、カメラ57の画像情報を解析して人間の顔があるかどうかを判別し、その情報を同じく実行制御手段311に供給する。
【0058】
動作実行中に障害が発生した場合、実行制御手段311は、動作部51〜55ごとに障害の影響を判定し、影響があるならば該当する制御手段32〜36に動作の停止を指示する。
【0059】
次に、本発明の第1の実施形態の動作を図を参照して説明する。図2から図6は本発明の第1の実施形態の動作を示すフローチャートである。まず、図2を用いて本発明の第1の実施形態の動作を示す。説明を容易にするため、図2の全体像を示すフローチャートでは、端末側の処理を左側に、ロボット側の処理を右側に記載している。
【0060】
ユーザが動作プログラムの作成を要求した場合は、まず端末装置1がその要求を検出し(図2のステップA1)、ユーザが手動作成と自動生成のどちらを指示したかを判別する(ステップA2)。手動作成が指示された場合には、端末装置1は、動作プログラム作成手段11の手動作成手段111を起動し、GUIツールの支援のもとに、ユーザに動作プログラムを作成させる(ステップA3)。また自動生成が指示された場合には、端末装置1は、動作プログラム作成手段11の自動生成手段112を起動し、ユーザに基準となる音声データを指定させたのち、その音声データに合わせて各動作部のプログラムを自動的に生成する(ステップA4)。
【0061】
動作プログラムの作成が終わり、ユーザのプログラム送信要求を検出すると(ステップA5)、端末装置1は作成した動作プログラムを通信回線を介してロボット側に送信する(ステップA6)。
【0062】
ロボット側のロボット制御部3は、端末側からの送信プログラムの有無を監視し(ステップA7)、プログラムがあればそれを受信し、ロボット記憶部4に記憶したのち(ステップA8)、動作プログラム実行手段31の実行制御手段311を起動し、動作プログラムの内容に従って動作部51〜55を制御する(ステップA9)。また、ロボット制御部3は、動作が完了したら動作プログラム実行手段31の状態復帰手段312を起動し、動作部51〜55を初期状態に戻す(ステップA10)。
【0063】
図7は図2において示されるフローチャート中のステップA3で使用されるGUIツールの一例である。このツールは、本発明の手動作成手段111に対応する。
【0064】
図7を参照すると、端末装置1の画面に表示されたGUIツールの左側には、動作部51〜55に対応する動作命令ボタンの一覧F1があり、ここから図示していないマウスなどのポインティングデバイスを使って、動作命令ボタンF1を右側のタイムチャートF2にドラッグ&ドロップで配置する。またタイムチャートF2の上部には、時間の長さを表わすための目盛りF4がある。図7の例では、1目盛りの長さを0.1秒としている。
【0065】
図8はボタンの伸縮操作および表示方式を示す説明図であって、ユーザのボタン操作に従って、手動作成手段111が行う。例えば、図7のタイムチャートF2に沿って配置した動作命令ボタンF3をクリックすると、図8に示すようにボタンの左右に伸縮用の小さな矩形G1が表示され、この上にマウスカーソルを置いて左右にドラッグすると、動作命令ボタンが伸縮する。また配置した動作命令ボタンの中央をドラッグすると、ボタンが左右に移動する。更にボタン同志が重なり合っている場合は、図8のボタンG2のようにユーザに注意を促すためにハッチング表示を施す。
【0066】
更に、図7上の動作命令ボタンF3の1つをダブルクリックすると、図9に示すような動作設定用のダイアログが端末装置1の画面上に表示される。アクチュエータ(ロボットの行動)を伴う動作部51〜53のボタンの場合は、ダイアログ上で角度指定と速度指定のどちらか一方を指定することができる。例えば水平角度を「左20°」に、ボタンの横幅を「0.5秒」に設定した場合は「0.5秒掛けて左方向に20°向く」動作を意味し、同じ横幅で水平速度を「左20°/秒」に設定した場合は「0.5秒の間、20°/秒の速度で左方向に向き続ける」動作を意味する。設定内容によってはアクチュエータの性能限界を越えることがあるが、この時にはボタンを赤色表示するなどしてユーザに注意を促す。LEDを伴う顔表情部54のボタンの場合は、ダイアログ上で各LEDの発光色を指定する。発声部55のボタンの場合は、ダイアログ上で音声のファイル名(*.mp3, *.wav, etc.)または音声合成用のテキストを指定する。音声のファイルは動作プログラムの送信時に一緒に送信してロボット記憶部4に記憶するようにしても良いし、予め必要な全てのファイルをロボット記憶部4に記憶させても良い。設定が終了し、ダイアログを閉じると、ボタン上にその設定内容が図7のように端末装置1の画面に表示される。
【0067】
図7上の動作命令ボタンでの動作命令の表示では、動作の終了時の状態を示すモードがある。例えば、頭部の動作命令「左20°、右40°、左40°、右20°、左40°、右20°、左160°/秒、右160°/秒」がなされたあとの、頭部の状態はそれぞれ、「左20°、右20°、左20°、正面、左40°、左20°、真後ろ、左20°」である。したがって、動作命令ボタン上での動作命令の表示では、「左20°、右40°、左40°、右20°、左40°、右20°、左160°/秒、右160°/秒」の代わりに、「左20°、右20°、左20°、正面、左40°、左20°、真後ろ、左20°」と表示する。
【0068】
以上の操作を繰り返し、GUIツール上でのプログラミングが完了すると、手動作成手段111は、これをロボットが認識可能な動作プログラムに変換する。図10は図7の画面に対応する動作プログラムの一例である。図10を参照すると、動作プログラムは動作部51〜55に対応してプログラム区画I1〜I5に分かれており、動作プログラムの実行時には、区画I1〜I5のプログラムが同時並行で一斉に実行される。またプログラム中の動作命令I6は、図7の動作命令ボタンF3と1対1に対応する。ここで動作命令とは、ロボット制御部3の制御手段32〜36が実行可能な動作の基本単位を指す。図7と比較し易くするため、動作命令を表わす矩形の横幅はその実行時間に合わせてある。図7のタイムチャートに空白領域(ボタンの配置されていない領域)がある場合、図10では命令I7に示すようにそれらが「静止」「消灯」などの無動作の命令に変換される。
【0069】
このGUIツールにより、プログラミングの効率を大幅に向上させることができる。従来のロボットプログラミング環境では、動作命令を"LEFT=20 TIME=0.5"のようなスクリプト言語で記述しなくてはならなかったため、各動作部がどのように同期していくのかが把握できず、試しに実行しては微調整するという操作を繰り返す必要があった。上記のGUIツールを使えば、図10に示すように各動作部の同期の様子を視覚的に把握できるため、繰り返し操作の手間を省くことができる。
【0070】
図3は図2において示されるフローチャート中のステップA4の処理に対する詳細な処理を示すフローチャートである。このフローチャートは、自動生成手段112の処理に相当する。
【0071】
ユーザが基準となる音声データを指定すると(図3のステップB1)、自動生成手段112は、まずその基準音声の発声命令を図10のプログラム区画I5に持つ動作プログラムを生成する(ステップB2)。ここで、音声データとして音声合成用のテキストが指定された場合には、自動生成手段112は、その合成音を一旦録音し、その録音データをステップB3以降の基準音声とする。次に自動生成手段112は、動作部51〜55を識別するための識別子iを初期化したのち(ステップB3)、識別子iが発声部を指すかどうかを判定し(ステップB4)、発声部でなければiの指す動作部のプログラムを生成するかどうかをユーザに問い合わせる(ステップB5)。ここでユーザが省略を指定した場合には、自動生成手段112は次の動作部の処理に移り(ステップB10〜)、生成を指定した場合には、自動生成手段112は部品プログラムとの照合開始点を基準音声の先頭に設定したのち、部品プログラム1個分に相当するプログラム生成を行う(ステップB7)。そののち、自動生成手段112は、基準音声の照合開始点を未生成区間の先頭に移し(ステップB8)、基準音声の全域に渡る生成が完了するまでステップB7からの処理を繰り返す(ステップB9)。自動生成手段112は、現行の動作部のプログラム生成が完了したら、識別子iが次の動作部を指すよう更新し(ステップB10)、全動作部のプログラム生成が済むまでステップB4からの処理を繰り返す(ステップB11)。
【0072】
図11は部品プログラム21の設定情報の一例である。部品プログラムは、動作部51〜55に対応して「頭部用」「脚部用」などの専用の部品群が用意されており、1つの部品プログラムは、図11に示すように当該動作部に係わる1つまたは複数の動作命令J1と、基準音声との類似度を計算するための照合音声J2のペアから成る。部品プログラムは、動作命令J1と照合音声J2とを同時に実行した時に、ロボットが自然に振舞うよう予め調整されており、一般にはGUIツールで作成した動作プログラムの一部が用いられる。また動作命令J1の合計時間と、照合音声J2の発声時間とは一致するよう調整されている。動作命令J1は生成する動作プログラムの一部になるが、照合音声J2は類似度計算に使われるだけで、動作プログラムの一部にはならない。
【0073】
図4は図3において示されるフローチャート中のステップB7の処理に対する自動生成手段112の詳細な処理を示すフローチャートである。自動生成手段112は、識別子iの指す動作部と、基準音声上の照合開始点が確定すると、まず部品プログラムの中から乱数によりN個の候補を選択する(図4のステップC1)。ここで全ての部品プログラムを候補にしないのは、本発明が重視しているエンターテインメントロボットの世界では、動作にバリュエーションを持たせた方がユーザに飽きられないため、特定の基準音声の動作を一意に決めるよりも、毎回微妙に変えた方が好適なためである。
【0074】
候補が決定したら、自動生成手段112は、それらを識別するための識別子jと、採用部品の識別子kを初期化し(ステップC2)、最大類似度を0に初期化する(ステップC3)。次に自動生成手段112は、識別子jの指す部品プログラムから照合音声を取り出し(ステップC4)、それと同じ長さの音声データを基準音声の照合開始点から切り出して(ステップC5)、両者の類似度を計算する(ステップC6)。ここで照合音声が基準音声の残り区間よりも長い場合は、照合音声の余分な後半部を省き、それと基準音声から切り出した音声とで類似度を計算する。
【0075】
なおステップC6は類似度の計算法を特定するものではなく、音声スペクトルを用いても良いし、音声のベクトル量子化を利用しても良い。
【0076】
類似度が計算できたら、自動生成手段112は、それと過去の部品プログラムの最大類似度とを比較し(ステップC7)、上記類似度の方が勝っていれば、それを最大類似度として記憶すると共に、識別子kが現行の部品プログラムを指すよう更新する(ステップC8)。そののち、自動生成手段112は、識別子jが次の部品プログラムを指すよう更新し(ステップC9)、全部品プログラムのチェックが済むまでステップC4からの処理を繰り返す(ステップC10)。
【0077】
またチェックが完了したら、識別子kの指す部品の動作命令群を、当該動作部に係わるプログラム区画の末尾にコピーする。動作命令群の合計時間が基準音声の総時間に収まらない場合は、収まる分だけをコピーする。
【0078】
図12は、図3〜図4における自動生成手段112の自動生成処理の経過を示す説明図である。まず頭部用の部品プログラム群K0から乱数により1回目の候補が抽出され、その各々の照合音声が基準音声K5の照合開始点p1から始まる同一長の音声K5aと照合されたのち、最も類似度の高い部品K1が採用され、その動作命令群K1aが頭部のプログラム区画K4にコピーされる。次に照合開始点がp2に更新され、同様の手順で部品K2が採用されたのち、動作命令群K2aが区画K4にコピーされる。最後に照合開始点がp3に更新され、部品K3が採用されるが、この時にはK3の照合音声K3bの方が基準音声K5の残り区間K5cよりも長いため、照合音声K3bの前半区間K3cと基準音声の残り区間K5cの類似度が計算される。また動作命令群k3aの全てをコピーすると基準音声K5の終端を越えるため、基準音声の区間内に収まる最初の2つの命令のみがコピーされる。自動生成手段112は、このようにして頭部の動作生成が完了したら、同様の手順で脚部〜顔表情部の動作を生成する。
【0079】
この自動生成処理により、あらゆるケースを想定した部品プログラムを準備する必要はなく、部品プログラムの組み合わせに相当する大量の動作プログラムを生成できるため、プログラミング効率が更に向上する。
【0080】
図5は図2において示されるフローチャート中のステップA9の処理に対する詳細な処理を示すフローチャートである。このフローチャートは、実行制御手段311の処理に相当する。
【0081】
実行制御手段311は、まず動作部51〜54の実行前の初期状態を退避する(図5のステップD1)。ここで言う初期状態とは、例えば頭部なら水平および垂直方向の向き、手部なら関節の曲げ角度、発声部ならボリューム値などを指す。この初期状態は、後述の状態復帰手段312の処理において用いられる。
【0082】
次に実行制御手段311は、動作プログラムをプログラム区画I1〜I5(図10を参照)に相当する個別のプログラムに分解し(ステップD2)、動作部の識別子iを初期化したのち(ステップD3)、識別子iに対応する個別プログラムがあればその最初の動作命令を取り出し(ステップD4〜D5)、ロボット制御部3の制御手段32〜36の該当する手段に動作命令の実行を指示する(ステップD6)。そののち、実行制御手段311は、識別子iが次の動作部を指すよう更新し(ステップD7)、全動作部の処理が済むまでステップD4からの処理を繰り返す(ステップD8)。
【0083】
ここで制御手段32〜36は、指定された動作命令の完了を待たずに実行制御手段311に制御を戻す。このため、各動作部はほぼ一斉に動作を開始する。
【0084】
全動作部が動き始めたら、実行制御手段311は、制御手段32〜36からの完了通知および障害通知を監視し(ステップD9〜D10)、障害通知があればステップD16からの障害対策に移行する。また完了通知があれば、実行制御手段311は、それがどの動作部に対応する通知かを判別し(ステップD11)、当該動作部に動作命令が残っていれば次の命令を取り出したのち(ステップD12〜D13)、制御手段32〜36の該当する手段に動作命令の実行を指示する(ステップD14)。また当該動作部の全動作命令が完了済ならば、実行制御手段311は、他の動作部についても同様に完了済かどうかをチェックして(ステップD15)、完了済の場合は図2の処理に戻り、そうでなければステップD9からの処理を繰り返す。
【0085】
動作中に障害通知を検出した場合には、実行制御手段311は、それが致命的な障害(バッテリ不足など)かどうかを判定し(ステップD16)、致命的な場合には全動作を停止させて図2の処理に戻る(ステップD23)。またそうでなければ、実行制御手段311は、その障害がそれぞれの動作部に影響するかどうかを判定し、影響する動作部に対してのみ動作停止を指示する(ステップD18〜D22)。
【0086】
この方式により、障害発生時に無条件に全動作を止める代わりに、状況に応じて適切に対処することが可能になる。
【0087】
例えばセンサ56がロボットの進行方向に障害物を検出し、センサ監視手段がそれを障害通知として実行制御手段311に伝えた場合、それ以上進むと衝突してしまうため脚部の動作は止めるが、頭部や発声部には直接の影響はないため、それらは動作を継続する。
【0088】
なお、動作部51〜55が障害により停止させられた場合、その動作部に係わる完了通知は発行されないため、停止させた動作部が完了通知のせいで動作を再開するといった問題は生じない。
【0089】
図6は図2において示されるフローチャート中のステップA10の処理に対する詳細な処理を示すフローチャートである。このフローチャートは、状態復帰手段312の処理に相当する。
【0090】
動作プログラムの実行が完了したら、状態復帰手段312は、動作部の識別子iを初期化したのち(図6のステップE1)、識別子iが頭部を指すかどうかを判定し(ステップE2)、頭部を指すならばステップE7からの頭部専用の処理に移行する。またそうでなければ、状態復帰手段312は、図5のステップD1で退避させた初期状態の情報を取得し(ステップE3)、該当する制御手段に初期状態に戻すよう指示を与える。そののち、状態復帰手段312は、識別子iが次の動作部を指すよう更新し(ステップE5)、全動作部の処理が済むまでステップE2からの処理を繰り返す(ステップE6)。状態復帰手段312は、iが頭部を指す場合には、顔認識手段38を介してカメラ57に人間の顔が写っているかどうかを判別し(ステップE7)、写っている場合は、人間の顔に追従して頭部を動かすよう頭部制御手段32に指示する(ステップE8)。頭部制御手段32は、カメラ画像の中心と人間の顔の中心とのずれを計算し、そのずれを補正するように頭部を動かすという処理を繰り返す。また顔が写っていなければ、状態復帰手段312は、ステップE3の処理に移行し、他の動作部と同様に初期状態(頭部の場合は初期位置)への復帰処理を行う。
【0091】
この方式により、例えば頭部が後ろを向いたまま終わるような動作プログラムを実行した場合でも、動作完了後に適切な位置に復帰するため、次の動作プログラムを支障なく実行することができる。また人と対話中の場合は、動作完了後にその人の方を向くようになる。
【0092】
次に、本発明の第2の実施形態について、図面を参照して説明する。図1を参照すると、第1の実施形態で説明した自動生成手段112と第2の実施の形態における自動生成手段112とで相違する。相違する点に関しては、第2の実施の形態の動作で説明する。
【0093】
次に、本発明の第2の実施形態の動作を図を参照して説明する。
第1の実施形態では、図3のステップB7の部分プログラム生成処理において、自動生成手段112が動作プログラムの自動生成時に複数の部品プログラムを候補として抽出していたが、第2の実施形態における自動生成手段112は、唯一つの部品プログラムを乱数で抽出するか、またはユーザに指定させる。更に、唯一の部品プログラムを抽出した後、自動生成手段112は、照合音声は使用せず、部品プログラム中の動作命令の合計時間を基準音声の時間に合わせて伸縮させ、各動作部の動作時間が基準音声の時間と一致するようにする。
【0094】
図13は第2の実施形態における自動生成手段112の自動生成処理の経過を示す説明図である。ここでは、一例として、抽出された部品プログラムに含まれる動作命令の実行時間の比が1:2:3になっており、それをコピー&伸長させた動作プログラム上の実行時間の比も1:2:3になっている。このように、第2の実施形態では、元の部品プログラムの実行時間の配分を保つように伸縮が行われる。
【0095】
この方式は、音声と他の動作の終了タイミングを合わせると、ロボットの動作が自然に見えるという経験則に基づいている。
【0096】
次に、本発明の第3の実施形態について、図面を参照して説明する。図1を参照すると、第2の実施形態で説明した自動生成手段112と第3の実施の形態における自動生成手段112とで相違する。相違する点に関しては、第3の実施の形態の動作で説明する。
【0097】
次に、本発明の第3の実施形態の動作を図を参照して説明する。第2の実施形態では、図3のステップB7の部分プログラム生成処理において、部品プログラム中の全ての動作命令を伸縮の対象にしていたが、実施形態3では「静止」「消灯」などの無動作を表わす動作命令のみを伸縮の対象にする。
【0098】
図14は第3の実施形態の自動生成処理の経過を示す説明図である。ここでは、一例として、無動作に相当する命令のみが1:2の比を保ちながら伸長され、実動作を伴う命令の実行時間は変化しない。
【0099】
第2の実施形態の場合は、伸長の度合いが大きいと動きが間延びした感じになってしまうが、第3の実施形態では無動作区間のみを伸長させるため、メリハリを損なうことなく自然な動作を生成できる。
【0100】
なお、上記の無動作命令は、図7のタイムチャートの空白領域(ボタンの配置されていない領域)に対応する。
【0101】
次に、本発明の第4の実施形態について、図面を参照して説明する。図1を参照すると、第1、第2、または第3の実施形態で説明した自動生成手段で生成した動作プログラムを手動により微調整等の編集を行うために、画面上にタイムチャート上に表示させ、ユーザに編集させる機能を追加した点で相違する。相違する点に関しては、第4の実施の形態の動作で説明する。
【0102】
次に、本発明の第4の実施形態の動作を図を参照して説明する。実施形態4では、第1〜第3の実施形態に記載した動作の自動生成を、図7のタイムチャート上で視覚的に行う。すなわち、自動生成手段112は、作成した部品プログラムを図7で示されるように画面上に表示させる。画面上に表示された内容を変更するやり方は、第1の実施形態における手動作成手段111が行う動作と同じなので説明を省略する。この方式により、ユーザは自動的に生成された動作を手動で微調整できるため、より適切な動作へと仕上げることが可能になる。
【0103】
次に、本発明の第5の実施形態について、図面を参照して説明する。図1を参照すると、端末装置1の手動作成手段111をロボット制御部内に設けた点と端末記憶部2の部品プログラム21をロボット記憶部4に記憶されている点とで、第1の実施の形態と相違する。なお、この場合、ロボットから表示装置およびキーボードを接続するインタフェース回路を有しており、動作プログラムの生成を行う場合には、表示装置およびキーボードを接続する。相違する点に関しては、第5の実施の形態の動作で説明する。
【0104】
次に、本発明の第5の実施形態の動作を図を参照して説明する。第1の実施形態では、動作プログラムの自動生成を端末装置側で行っていたが、第5の実施形態ではこれをロボット側で行う。即ち、図1の手動作成手段111はロボット側の動作プログラム実行手段31の一部になり、ユーザが基準音声を指定して動作プログラムの生成および実行を指示すると、ロボット側では実行制御手段311の実行前に手動作成手段111が起動され、まず動作プログラムの自動生成が行われてからそれが実行される。手動作成手段111の動作については、第1の実施の形態と同じなので説明を省略する。この時に使用される部品プログラム21もロボット記憶部4側に記憶される。
【0105】
なお、これまでの説明ではロボットを例におこなったが、適用対象はいわゆるロボットに限定されず、動作命令にしたがって動作する装置一般に適用可能である。例えば、入出力が入力スイッチ、画面出力、音出力であるゲーム機は、図1のロボット動作部5の構成で顔表示部LED54が画面出力部、発声部55が音出力部、センサ56が入力スイッチに置き換わったものであると見なすことができる。頭部アクチュエータ51、脚部アクチュエータ52、手部アクチュエータ53、顔表情部LED54と、カメラ57は備えない。人が内部に着席し、可動する椅子と迫力ある映像と音響でヴァーチャルリアリティの世界を楽しませるエンターティメントスタジオ装置でもよい。この場合、脚部アクチュエータ52の代わりに人が着席した椅子全体を動作させるようにしても良い。また、手部アクチュエータ53,頭部アクチュエータ51の代わりに、水を散布する装置やドライアイス等を用いて霧を発生させる装置としてもよい。願表情部LED54の代わりにスクリーンに映像を表示させてもよい。
【0106】
また、図3,4,5,6の各ステップは、コンピュータの命令を並べた処理プログラムにより実現することができる。
【0107】
図15は、本発明の実施の形態の処理プログラムを記録した記録媒体91と、その記録媒体91から処理プログラムをロードして実行するコンピュータ92を示す図である。
【0108】
【発明の効果】
以上説明したように、本発明の第1の効果は、動作プログラムを手動で作成する時に、GUIツールにより動作部が同期する様子を視覚的に把握できるため、試し実行を繰り返すといった従来のプログラム手法の手間を省くことができ、作成効率が向上する。
【0109】
本発明の第2の効果は、ユーザが基準となる音声を指定するだけで、動作プログラムを自動生成できるため、大量のプログラムを効率的に作成することができ、エンターテインメントロボットの課題である、ユーザに飽きられないロボットを容易に実現できる。
【0110】
本発明の第3の効果は、動作プログラムの実行時に障害が発生した場合、その障害が影響するかどうかを動作部毎に判定するため、障害物を検出しても脚部は止めるがその他の動作は継続するといったように、状況に応じて最適な対応を行うことができる。
【0111】
本発明の第4の効果は、動作プログラムの実行後に初期状態への復帰処理を行うため、動作部が不適切な状態で終わるような動作プログラムを実行した場合でも、次の動作プログラムを支障なく実行することができる。また人と対話中の場合は、動作プログラムの実行後にその人の方を向くため、対話を違和感なく継続することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態における構成を示した図である。
【図2】本発明の第1の実施形態の動作を示すフローチャートである。
【図3】図1の自動生成手段が図2の自動プログラム生成の動作を示すフローチャートである。
【図4】図1の自動生成手段が図3の部分プログラム生成の動作を示すフローチャートである。
【図5】図1の実行制御手段が図2の動作プログラム実行の動作を示すフローチャートである。
【図6】図1の状態復帰手段が図2の初期状態復帰の動作を示すフローチャートである。
【図7】本発明の第1の実施形態におけるGUIツールの画面構成を示す図である。
【図8】本発明の第1の実施形態における動作命令ボタンの伸縮操作と表示方式を示す図である。
【図9】本発明の第1の実施形態における動作設定ダイアログを示す図である。
【図10】本発明の第1の実施形態における動作プログラムの構成を示す図である。
【図11】本発明の第1の実施形態における部品プログラムの構成を示す図である。
【図12】本発明の第1の実施形態における自動生成処理の経過を示す図である。
【図13】本発明の第2の実施形態における自動生成処理の経過を示す図である。
【図14】本発明の第3の実施形態における自動生成処理の経過を示す図である。
【図15】本発明の実施の形態のコンピュータのプログラムを記録した記録媒体と、その記録媒体からコンピュータプログラムをロードして実行するコンピュータを示す図である。
【符号の説明】
1 端末装置
11 動作プログラム作成手段
111 手動作成手段
112 自動生成手段
2 端末記憶部
21 部品プログラム
3 ロボット制御部
31 動作プログラム実行手段
311 実行制御手段
312 状態復帰手段
32 頭部制御手段
33 脚部制御手段
34 手部制御手段
35 顔表情部制御手段
36 発声部制御手段
37 センサ監視手段
38 顔認識手段
4 ロボット記憶部
41 動作プログラム
5 ロボット動作部
51 頭部アクチュエータ
52 脚部アクチュエータ
53 手部アクチュエータ
54 顔表情部LED
55 発声部
56 センサ
57 カメラ
6 通信回線
91 記録媒体
92 コンピュータ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an operation program creation support apparatus, an operation program manufacturing method, a control system, an operation program manufacturing method, and a computer program for an apparatus that operates according to an operation command, and is particularly suitable for an entertainment-oriented robot used in a home environment. The present invention relates to a robot motion program creation support apparatus, a robot motion program manufacturing method, a motion control system, a robot control system, a robot motion program manufacturing method, and a computer program.
[0002]
[Prior art]
In recent years, entertainment-oriented robots aimed at penetrating homes have attracted attention. Especially in the field of pet robots and toy robots, various products have been developed and are forming a large market.
[0003]
In addition, robots that place importance on communication with humans through dialogue have been studied. For example, NEC's “PaPeRo” has been published at shows and the like. Such an entertainment robot moves according to an operation program created in advance by a user or a developer, and the creation of the operation program is regarded as important.
[0004]
In order to manufacture a robot that does not bore users under such circumstances, it is necessary to create an enormous amount of robot operation programs. In the conventional technology, in order to create the operation program, the user or developer uses a text editor or the like on the screen of the robot development apparatus to use a script format (for example, a high-level language format such as C language). ) To create an operation control program.
[0005]
Japanese Laid-Open Patent Publication No. 7-200288 discloses a method of displaying a graphic corresponding to a program part on a screen and visually programming using the graphic.
[0006]
[Patent Document 1]
JP-A-7-200288
[Patent Document 2]
JP-A-9-91017
[0007]
[Problems to be solved by the invention]
However, in the above conventional technology, a user or developer must manually create and edit a robot operation program in a script format using a text editor or the like on the screen. In order to realize the above, there is a problem that a huge amount of programs must be created by humans, which requires a lot of time and labor.
[0008]
In Japanese Patent Laid-Open No. 7-200288, if it is assumed that a part is selected and a program is created with all the parts without editing, the parts assuming all cases must be prepared. As a result, there is a problem that it is meaningless to create a part because a human creates a vast program as much as an operation program and requires a lot of time and labor.
[0009]
SUMMARY OF THE INVENTION An object of the present invention is to solve the above-described problems, and to reduce a burden on a program creator by providing a visual program environment.
[0010]
Another object of the present invention is to provide an environment for automatically generating a program in view of the above problems.
[0011]
Another object of the present invention is to provide an environment of a robot control system for executing a created program in view of the above problems.
[0012]
[Means for Solving the Problems]
  The robot operation program manufacturing method of the present invention includes an automatic generation means for generating an operation program for designating an operation by each operation unit of the robot for producing the sound by using the sound to be emitted by the robot as an input. Features.
[0013]
  The automatic generation means is included in a terminal and / or robot connected to the robot via a line. The automatic generation means is characterized in that the robot operation is displayed as a time chart on the screen, and an operation command is arranged on the time chart to create a robot operation program.
[0014]
  The automatic generation means includes a storage unit that stores a plurality of component programs including designation of the operation of each operation unit of the robot and sound corresponding to the operation. Further, the automatic generation means refers to the part program, and determines a part program to be used as a part of the operation program according to a comparison result between the voice to be uttered by the robot and the voice included in the part program..
[0015]
  The automatic generation means limits the component program to be referred to to a component program selected using a predetermined random number. The automatic generation means generates the operation program by expanding or contracting each execution time of one or more operations included in the component program in accordance with the execution time of the voice to be uttered by the robot. In addition, the automatic generation means limits the designation of the operation to be expanded and contracted to an operation that does not involve an actual operation.
[0016]
  The operation control system of the present invention controls an operation by an operation program, generates an operation program based on the sound or sound to be output, and executes the operation program generated by the automatic generation unit to execute the sound or And execution control means for executing an operation generated in accordance with the reproduction of the sound.
[0017]
  The robot control system of the present invention controls the operation of each operation unit of the robot by an operation program, and performs an operation of designating the operation by each operation unit of the robot to produce the sound by inputting the sound to be generated by the robot Automatic generation means for generating a program, and execution control for executing an operation by sending a motion designation generated in accordance with the reproduction of sound to each motion part of the robot by executing an operation program generated by the automatic generation means Means.
[0019]
  Further, the present invention is further characterized by further having a state return means for returning each operation unit to an initial state after completion of the operation of the robot by the execution control means.
[0020]
  Also, when the status recovery means detects a person's face,Without returning to the initial state,It is directed to the person.
[0047]
DETAILED DESCRIPTION OF THE INVENTION
In the following, embodiments of the present invention will be described with reference to the drawings as examples applied to a robot.
[0048]
A first embodiment of the present invention will be described below with reference to the drawings. First, FIG. 1 is a diagram showing a configuration in the first embodiment of the present invention. Referring to FIG. 1, the first embodiment of the present invention includes a terminal device 1, a terminal storage unit 2, a robot control unit 3, a robot storage unit 4, and a robot operation unit 5. The terminal side includes a terminal device 1 and a terminal storage unit 2, and the robot includes a robot control unit 3, a robot storage unit 4, a robot control unit 3, and a robot operation unit 5. Each interface unit (not shown) for exchanging data between the robot side and the robot side is provided, and each interface unit is connected by a communication network (not shown) (not shown). At this time, data may be exchanged using a recording medium such as a semiconductor memory card instead of the communication circuit network.
[0049]
The terminal device 1 includes an operation program creation unit 11 that operates under program control by a processor (CPU) (not shown). The operation program creation unit 11 includes a manual creation unit 111 and an automatic generation unit 112. The manual creation means 111 expresses the motion of the robot as a visual time chart and arranges motion commands on the time chart, thereby enabling creation of a robot motion program. The automatic generation means 112 automatically generates a designation of an operation by the robot operation unit 5 of the robot for producing the sound by using the sound or sound to be generated by the robot as an input.
[0050]
The terminal storage unit 2 is a non-volatile recording medium device (for example, a magnetic disk) that can be read and written, and stores a plurality of component programs 21 that are used as components when an operation program is automatically generated.
[0051]
The robot control unit 3 includes an operation program execution unit 31, a head control unit 32, a leg control unit 33, a hand control unit 34, a face, A facial expression control unit 35, a utterance control unit 36, a sensor monitoring unit 37, and a face recognition unit 38 are provided. Further, the operation program execution unit 31 includes an execution control unit 311 and a state return unit 312. The robot control unit 3 is connected to the terminal device 1 via the communication line 6 or the like, and accepts program transmission from the terminal device 1. The execution control means 311 controls each movable part of the robot simultaneously in parallel, and determines whether to continue the operation of each operation part according to the degree of influence when a failure occurs. The state return means 312 returns the robot operation unit 5 to the initial state after the operation of the robot is completed.
[0052]
The robot storage unit 4 is a non-volatile recording medium device (for example, a magnetic disk) that can be read and written, and stores a plurality of operation programs 41 created by the terminal device 1 and transmitted to the robot side. . The operation program 41 in this case is a program that controls the operation of the operation units 51 to 55 (described later) of the robot.
[0053]
The robot operation unit 5 includes a head actuator 51, a leg actuator 52, a hand actuator 53, a facial expression LED 54, a utterance unit 55, a sensor unit 56, and a camera 57. The facial expression LED 54 is mounted around the eyes of the robot and the mouth / cheek positions, and the camera 57 is mounted at the positions of the eyes. In the following description, the head actuator 51, the leg actuator 52, the hand actuator 53, the facial expression LED 54, the generator 55, the sensor 56, and the camera 57 are collectively referred to as an operation unit ( Or it may be called a movable part).
[0054]
In addition, a microcomputer is attached to each of the operation units 51 to 57 of the robot operation unit 5, and each of the operation units 51 to 57 operates under the control of each microcomputer. In addition, you may make it control each operation | movement part 51-57 with one microcomputer or a some microcomputer. Therefore, the operation units 51 to 55 perform an operation based on an operation instruction based on a command generated from the robot control unit 3, and the operation units 56 and 57 notify the situation by transmitting the command to the robot control unit 3. .
[0055]
The operation program creating means 11 of the terminal device 1 creates the operation program 41 by a user's manual operation or automatic generation in accordance with an instruction from the user according to the content displayed on the screen. When manual creation is instructed, the manual creation unit 111 is activated, and the user is caused to create the operation program 41 using the GUI tool. When automatic generation is instructed, the automatic generation unit 112 is activated, and the operation program 41 is automatically generated in accordance with the reference voice or sound designated by the user while using the component program 21 of the storage unit 2.
[0056]
The operation program execution means 31 of the robot control unit 3 controls each operation unit of the robot according to the operation program 41 transmitted from the terminal device 1. That is, the operation program execution means 31 of the robot controller 3 serves as a control tower for controlling the entire robot. First, the robot control unit 3 activates the robot execution control unit 311, analyzes the operation program 41, and according to the contents, the head control unit 32, the leg control unit 33, the hand control unit 34, and the facial expression unit control unit. 35, an operation instruction is given to the generator control means 36. The head control means 32, the leg control means 33, the hand control means 34, the facial expression control means 35, and the generation control means 36 are a head actuator 51, a leg actuator 52, a hand according to a given operation instruction. The actuator 53, the facial expression LED 54, and the generator 55 are controlled by commands. Next, the robot control unit 3 activates the state return means 312 to return each operation unit of the robot to the initial state.
[0057]
The sensor monitoring means 37 monitors image information such as obstacles and steps such as stairs detected by the sensor 56, voice information such as human conversation, and supplies such information to the execution control means 311. Further, the face recognition unit 38 analyzes the image information of the camera 57 to determine whether there is a human face, and supplies the information to the execution control unit 311 as well.
[0058]
When a failure occurs during the execution of the operation, the execution control unit 311 determines the influence of the failure for each of the operation units 51 to 55, and if there is an influence, instructs the corresponding control unit 32 to 36 to stop the operation.
[0059]
Next, the operation of the first exemplary embodiment of the present invention will be described with reference to the drawings. 2 to 6 are flowcharts showing the operation of the first embodiment of the present invention. First, the operation of the first embodiment of the present invention will be described with reference to FIG. For ease of explanation, in the flowchart showing the overall image of FIG. 2, the processing on the terminal side is described on the left side, and the processing on the robot side is described on the right side.
[0060]
When the user requests creation of an operation program, the terminal device 1 first detects the request (step A1 in FIG. 2) and determines whether the user has instructed manual creation or automatic generation (step A2). . When manual creation is instructed, the terminal device 1 activates the manual creation unit 111 of the operation program creation unit 11 and causes the user to create an operation program with the support of the GUI tool (step A3). When the automatic generation is instructed, the terminal device 1 activates the automatic generation unit 112 of the operation program generation unit 11 and causes the user to specify the audio data used as a reference. A program for the operation unit is automatically generated (step A4).
[0061]
When the creation of the operation program ends and a user program transmission request is detected (step A5), the terminal device 1 transmits the created operation program to the robot side via the communication line (step A6).
[0062]
The robot control unit 3 on the robot side monitors the presence / absence of a transmission program from the terminal side (step A7), receives the program if it exists, stores it in the robot storage unit 4 (step A8), and executes the operation program The execution control means 311 of the means 31 is activated and the operation units 51 to 55 are controlled according to the contents of the operation program (step A9). When the operation is completed, the robot control unit 3 activates the state return unit 312 of the operation program execution unit 31 to return the operation units 51 to 55 to the initial state (step A10).
[0063]
FIG. 7 is an example of a GUI tool used in step A3 in the flowchart shown in FIG. This tool corresponds to the manual creation means 111 of the present invention.
[0064]
Referring to FIG. 7, on the left side of the GUI tool displayed on the screen of the terminal device 1, there is a list F <b> 1 of operation command buttons corresponding to the operation units 51 to 55, and a pointing device such as a mouse not illustrated from here. , The operation command button F1 is arranged on the right time chart F2 by drag and drop. A scale F4 for representing the length of time is provided at the top of the time chart F2. In the example of FIG. 7, the length of one scale is 0.1 seconds.
[0065]
FIG. 8 is an explanatory diagram showing the button expansion / contraction operation and display method, and is performed by the manual creation means 111 in accordance with the user's button operation. For example, when the operation command button F3 arranged along the time chart F2 in FIG. 7 is clicked, a small rectangle G1 for expansion and contraction is displayed on the left and right of the button as shown in FIG. When dragged to, the operation command button expands and contracts. When the center of the arranged operation command button is dragged, the button moves left and right. Further, when the buttons are overlapped with each other, hatching display is performed to call the user's attention as shown by the button G2 in FIG.
[0066]
Further, when one of the operation command buttons F3 on FIG. 7 is double-clicked, an operation setting dialog as shown in FIG. 9 is displayed on the screen of the terminal device 1. In the case of the buttons of the operation units 51 to 53 accompanied by an actuator (robot action), either an angle designation or a speed designation can be designated on the dialog. For example, if the horizontal angle is set to “20 ° to the left” and the horizontal width of the button is set to “0.5 seconds”, this means an operation of “turning to the left by 20 ° for 0.5 seconds”. Is set to “20 ° / second left”, it means an operation of “continuing to turn left at a speed of 20 ° / second for 0.5 seconds”. Depending on the settings, the performance limit of the actuator may be exceeded. At this time, the button is displayed in red to alert the user. In the case of the button of the facial expression part 54 with an LED, the light emission color of each LED is designated on the dialog. In the case of the button of the utterance unit 55, a voice file name (* .mp3, * .wav, etc.) or text for voice synthesis is designated on the dialog. The audio file may be transmitted together with the operation program when it is transmitted, and stored in the robot storage unit 4, or all necessary files may be stored in the robot storage unit 4 in advance. When the setting is completed and the dialog is closed, the setting contents are displayed on the button on the screen of the terminal device 1 as shown in FIG.
[0067]
In the display of the operation command with the operation command button in FIG. 7, there is a mode indicating the state at the end of the operation. For example, after the head operation command “Left 20 °, Right 40 °, Left 40 °, Right 20 °, Left 40 °, Right 20 °, Left 160 ° / sec, Right 160 ° / sec” The head states are “left 20 °, right 20 °, left 20 °, front, left 40 °, left 20 °, right behind, left 20 °”, respectively. Therefore, in the display of the operation command on the operation command button, “left 20 °, right 40 °, left 40 °, right 20 °, left 40 °, right 20 °, left 160 ° / sec, right 160 ° / sec. ”Is displayed instead of“ 20 ° left, 20 ° right, 20 ° left, front, 40 ° left, 20 ° left, right behind, 20 ° left ”.
[0068]
When the above operation is repeated and programming on the GUI tool is completed, the manual creation unit 111 converts this into an operation program that can be recognized by the robot. FIG. 10 is an example of an operation program corresponding to the screen of FIG. Referring to FIG. 10, the operation program is divided into program sections I1 to I5 corresponding to the operation units 51 to 55. When the operation program is executed, the programs in the sections I1 to I5 are simultaneously executed in parallel. The operation command I6 in the program corresponds to the operation command button F3 in FIG. 7 on a one-to-one basis. Here, the operation command refers to a basic unit of operation that can be executed by the control means 32 to 36 of the robot control unit 3. In order to facilitate comparison with FIG. 7, the width of the rectangle representing the operation command is matched with the execution time. When there are blank areas (areas where buttons are not arranged) in the time chart of FIG. 7, these are converted into non-operational instructions such as “still” and “off” as shown in the instruction I7 in FIG.
[0069]
This GUI tool can greatly improve the efficiency of programming. In the conventional robot programming environment, the operation instructions had to be written in a script language such as "LEFT = 20 TIME = 0.5", so it was impossible to grasp how each operation unit synchronized, It was necessary to repeat the operation of fine adjustment after executing the trial. If the above GUI tool is used, it is possible to visually grasp the state of synchronization of the respective operation units as shown in FIG.
[0070]
FIG. 3 is a flowchart showing detailed processing for step A4 in the flowchart shown in FIG. This flowchart corresponds to the process of the automatic generation unit 112.
[0071]
When the user designates reference voice data (step B1 in FIG. 3), the automatic generation means 112 first generates an operation program having a voice command for the reference voice in the program section I5 in FIG. 10 (step B2). Here, when a text for voice synthesis is designated as voice data, the automatic generation means 112 once records the synthesized voice and uses the recorded data as a reference voice after step B3. Next, the automatic generation means 112 initializes the identifier i for identifying the operation units 51 to 55 (step B3), determines whether the identifier i indicates the utterance unit (step B4), and the utterance unit If not, the user is inquired whether or not to generate a program for the operation unit pointed to by i (step B5). Here, when the user designates omission, the automatic generation means 112 moves to the processing of the next operation unit (step B10), and when the generation is designated, the automatic generation means 112 starts collation with the part program. After the point is set at the head of the reference voice, a program corresponding to one part program is generated (step B7). After that, the automatic generation means 112 moves the reference voice collation start point to the head of the ungenerated section (step B8), and repeats the processing from step B7 until the generation of the entire reference voice is completed (step B9). . When the program generation of the current operation unit is completed, the automatic generation unit 112 updates the identifier i to indicate the next operation unit (step B10), and repeats the processing from step B4 until the program generation of all operation units is completed. (Step B11).
[0072]
FIG. 11 is an example of setting information of the part program 21. In the component program, dedicated component groups such as “for the head” and “for the leg” are prepared corresponding to the operation units 51 to 55, and one component program includes the operation unit as shown in FIG. Is composed of a pair of one or a plurality of operation instructions J1 related to the above and a collation voice J2 for calculating the similarity between the reference voice and the reference voice. The part program is adjusted in advance so that the robot behaves naturally when the operation command J1 and the collation voice J2 are simultaneously executed. Generally, a part of the operation program created by the GUI tool is used. Further, the total time of the operation command J1 and the utterance time of the collation voice J2 are adjusted to coincide. The operation command J1 becomes a part of the generated operation program, but the collation voice J2 is only used for similarity calculation, and does not become a part of the operation program.
[0073]
FIG. 4 is a flowchart showing detailed processing of the automatic generation means 112 for the processing of step B7 in the flowchart shown in FIG. When the operation unit pointed to by the identifier i and the reference start point on the reference voice are determined, the automatic generation unit 112 first selects N candidates from the part program by random numbers (step C1 in FIG. 4). The reason why all parts programs are not candidates here is that in the world of entertainment robots, where the present invention is important, it is difficult for the user to get bored with the valuation of motion, so the motion of a specific reference voice is unique. This is because it is preferable to make a slight change each time, rather than to
[0074]
When the candidates are determined, the automatic generation means 112 initializes the identifier j for identifying them and the identifier k of the adopted part (step C2), and initializes the maximum similarity to 0 (step C3). Next, the automatic generation means 112 extracts the collation voice from the part program indicated by the identifier j (step C4), cuts out the voice data having the same length as the reference voice collation start point (step C5), and the degree of similarity between them. Is calculated (step C6). Here, when the collation voice is longer than the remaining interval of the reference voice, an extra second half of the collation voice is omitted, and the similarity is calculated from the voice extracted from the reference voice.
[0075]
Note that step C6 does not specify a method of calculating the similarity, and a speech spectrum may be used, or speech vector quantization may be used.
[0076]
When the similarity can be calculated, the automatic generation means 112 compares it with the maximum similarity of the past part program (step C7), and if the similarity is higher, stores it as the maximum similarity. At the same time, the identifier k is updated to indicate the current part program (step C8). After that, the automatic generation means 112 updates the identifier j to point to the next part program (step C9), and repeats the processing from step C4 until all the part programs are checked (step C10).
[0077]
When the check is completed, the operation instruction group of the component indicated by the identifier k is copied to the end of the program partition related to the operation unit. If the total time of the operation command group does not fit in the total time of the reference voice, only the amount that fits is copied.
[0078]
FIG. 12 is an explanatory diagram showing the progress of the automatic generation processing of the automatic generation means 112 in FIGS. First, the first candidate is extracted from the part program group K0 for the head using a random number, and each of the collation voices is collated with the voice K5a having the same length starting from the collation start point p1 of the reference voice K5, and then the most similar degree is obtained. The high-part K1 is employed, and the operation instruction group K1a is copied to the program partition K4 at the head. Next, the collation start point is updated to p2, and after the component K2 is adopted in the same procedure, the operation instruction group K2a is copied to the partition K4. Finally, the collation start point is updated to p3, and the component K3 is adopted. At this time, the collation voice K3b of K3 is longer than the remaining section K5c of the reference voice K5, and therefore, the reference voice K3b and the first half section K3c The similarity of the remaining voice segment K5c is calculated. When all of the operation command group k3a is copied, the end of the reference voice K5 is exceeded, so only the first two instructions that fall within the reference voice section are copied. When the movement generation of the head is completed in this way, the automatic generation means 112 generates the movement of the leg part to the facial expression part in the same procedure.
[0079]
With this automatic generation processing, it is not necessary to prepare a part program that assumes every case, and a large amount of operation programs corresponding to combinations of part programs can be generated, thereby further improving programming efficiency.
[0080]
FIG. 5 is a flowchart showing detailed processing for step A9 in the flowchart shown in FIG. This flowchart corresponds to the process of the execution control unit 311.
[0081]
The execution control means 311 first saves the initial state before execution of the operation units 51 to 54 (step D1 in FIG. 5). The initial state here refers to, for example, horizontal and vertical orientations for the head, bending angle of the joint for the hand, and volume value for the utterance. This initial state is used in the processing of the state return means 312 described later.
[0082]
Next, the execution control means 311 decomposes the operation program into individual programs corresponding to the program sections I1 to I5 (see FIG. 10) (step D2), and initializes the identifier i of the operation unit (step D3). If there is an individual program corresponding to the identifier i, the first operation command is taken out (steps D4 to D5), and the corresponding unit of the control units 32 to 36 of the robot control unit 3 is instructed to execute the operation command (step D6). ). After that, the execution control means 311 updates the identifier i to point to the next operation unit (step D7), and repeats the processing from step D4 until all the operation units are processed (step D8).
[0083]
Here, the control means 32 to 36 returns control to the execution control means 311 without waiting for completion of the designated operation command. For this reason, each operation | movement part starts operation | movement almost simultaneously.
[0084]
When all the operation units start to move, the execution control unit 311 monitors completion notifications and failure notifications from the control units 32 to 36 (steps D9 to D10). If there is a failure notification, the execution control unit 311 proceeds to failure countermeasures from step D16. . If there is a completion notification, the execution control means 311 determines which operation unit it corresponds to (step D11). If there is an operation command remaining in the operation unit, the execution control unit 311 extracts the next command ( Steps D12 to D13) and the corresponding means of the control means 32 to 36 are instructed to execute the operation command (Step D14). If all the operation commands of the operation unit have been completed, the execution control unit 311 checks whether the other operation units have been completed in the same manner (step D15). If not, the process from step D9 is repeated.
[0085]
If a failure notification is detected during operation, the execution control means 311 determines whether or not it is a fatal failure (eg battery shortage) (step D16), and if it is fatal, stops all operations. Then, the process returns to the process of FIG. 2 (step D23). Otherwise, the execution control unit 311 determines whether or not the failure affects each operation unit, and instructs only the affected operation unit to stop the operation (steps D18 to D22).
[0086]
This method makes it possible to appropriately cope with the situation instead of unconditionally stopping all operations when a failure occurs.
[0087]
For example, if the sensor 56 detects an obstacle in the direction of movement of the robot and the sensor monitoring means transmits it to the execution control means 311 as an obstacle notification, the movement of the leg stops because the collision occurs when the sensor advances further. Since there is no direct effect on the head or vocalization, they continue to operate.
[0088]
In addition, when the operation units 51 to 55 are stopped due to a failure, a completion notification related to the operation unit is not issued, and thus the problem that the stopped operation unit restarts operation due to the completion notification does not occur.
[0089]
FIG. 6 is a flowchart showing detailed processing for the processing of step A10 in the flowchart shown in FIG. This flowchart corresponds to the processing of the state return means 312.
[0090]
When the execution of the operation program is completed, the state returning means 312 initializes the identifier i of the operation unit (step E1 in FIG. 6), and then determines whether the identifier i indicates the head (step E2). If the part is indicated, the process proceeds to the head-only process from step E7. Otherwise, the state return means 312 acquires the information of the initial state saved at step D1 in FIG. 5 (step E3), and gives an instruction to return the initial state to the corresponding control means. After that, the state return means 312 updates the identifier i to point to the next operating unit (step E5), and repeats the processing from step E2 until the processing of all the operating units is completed (step E6). When i indicates the head, the state returning means 312 determines whether or not a human face is reflected on the camera 57 via the face recognition means 38 (step E7). The head control means 32 is instructed to move the head following the face (step E8). The head control means 32 repeats the process of calculating the deviation between the center of the camera image and the center of the human face and moving the head so as to correct the deviation. If the face is not shown, the state return means 312 proceeds to the process of step E3, and performs the return process to the initial state (initial position in the case of the head) in the same manner as the other operation units.
[0091]
With this method, for example, even when an operation program that ends with the head facing backward is executed, the operation program is returned to an appropriate position after the operation is completed, so that the next operation program can be executed without any problem. Also, if you are talking to a person, you will turn to that person after completing the action.
[0092]
Next, a second embodiment of the present invention will be described with reference to the drawings. Referring to FIG. 1, the automatic generation unit 112 described in the first embodiment is different from the automatic generation unit 112 in the second embodiment. Differences will be described in the operation of the second embodiment.
[0093]
Next, the operation of the second exemplary embodiment of the present invention will be described with reference to the drawings.
In the first embodiment, in the partial program generation process in step B7 of FIG. 3, the automatic generation unit 112 extracts a plurality of component programs as candidates when the operation program is automatically generated. The generation unit 112 extracts a single component program with a random number or allows the user to specify it. Further, after extracting only one part program, the automatic generation means 112 does not use the verification voice, expands and contracts the total time of the operation commands in the part program in accordance with the time of the reference voice, and operates the operation time of each operation unit. To match the time of the reference voice.
[0094]
FIG. 13 is an explanatory diagram showing the progress of the automatic generation processing of the automatic generation means 112 in the second embodiment. Here, as an example, the ratio of execution times of operation instructions included in the extracted component program is 1: 2: 3, and the ratio of execution times on the operation program obtained by copying and decompressing the operation instructions is also 1: 2. 2: 3. Thus, in the second embodiment, expansion and contraction is performed so as to keep the distribution of the execution time of the original part program.
[0095]
This method is based on an empirical rule that the movement of the robot looks natural when the end timing of the voice and other movements are matched.
[0096]
Next, a third embodiment of the present invention will be described with reference to the drawings. Referring to FIG. 1, the automatic generation unit 112 described in the second embodiment is different from the automatic generation unit 112 in the third embodiment. Differences will be described in the operation of the third embodiment.
[0097]
Next, the operation of the third exemplary embodiment of the present invention will be described with reference to the drawings. In the second embodiment, in the partial program generation process in step B7 in FIG. 3, all operation instructions in the part program are subject to expansion / contraction. In the third embodiment, no operation such as “still” or “off” is performed. Only the operation command representing is expanded or contracted.
[0098]
FIG. 14 is an explanatory diagram showing the progress of the automatic generation processing of the third embodiment. Here, as an example, only the instruction corresponding to no operation is expanded while maintaining the ratio of 1: 2, and the execution time of the instruction with the actual operation does not change.
[0099]
In the case of the second embodiment, if the degree of extension is large, it will feel that the movement is extended, but in the third embodiment, only the non-operation section is extended, so that natural operation is performed without impairing sharpness. Can be generated.
[0100]
The no-operation instruction corresponds to a blank area (an area where buttons are not arranged) in the time chart of FIG.
[0101]
Next, a fourth embodiment of the present invention will be described with reference to the drawings. Referring to FIG. 1, the operation program generated by the automatic generation means described in the first, second, or third embodiment is displayed on a time chart on a screen for manual editing such as fine adjustment. This is different in that a function for allowing the user to edit is added. Differences will be described in the operation of the fourth embodiment.
[0102]
Next, the operation of the fourth exemplary embodiment of the present invention will be described with reference to the drawings. In the fourth embodiment, the automatic generation of the operations described in the first to third embodiments is visually performed on the time chart of FIG. That is, the automatic generation unit 112 displays the created part program on the screen as shown in FIG. Since the method of changing the content displayed on the screen is the same as the operation performed by the manual creation unit 111 in the first embodiment, the description thereof is omitted. With this method, the user can manually fine-tune the automatically generated operation, so that it is possible to finish the operation more appropriately.
[0103]
Next, a fifth embodiment of the present invention will be described with reference to the drawings. Referring to FIG. 1, the first embodiment is based on the point that the manual creation unit 111 of the terminal device 1 is provided in the robot control unit and the part program 21 of the terminal storage unit 2 is stored in the robot storage unit 4. It differs from the form. In this case, an interface circuit for connecting the display device and the keyboard from the robot is provided, and when the operation program is generated, the display device and the keyboard are connected. Differences will be described in the operation of the fifth embodiment.
[0104]
Next, the operation of the fifth exemplary embodiment of the present invention will be described with reference to the drawings. In the first embodiment, the operation program is automatically generated on the terminal device side, but in the fifth embodiment, this is performed on the robot side. That is, the manual creation unit 111 in FIG. 1 becomes a part of the operation program execution unit 31 on the robot side. When the user designates the reference voice and instructs the generation and execution of the operation program, the robot side performs the execution control unit 311. Prior to execution, the manual creation unit 111 is activated, and an operation program is automatically generated and then executed. Since the operation of the manual creation unit 111 is the same as that of the first embodiment, description thereof is omitted. The part program 21 used at this time is also stored on the robot storage unit 4 side.
[0105]
In the above description, the robot is taken as an example. However, the application target is not limited to a so-called robot, and the present invention can be applied to a general apparatus that operates according to an operation command. For example, in a game machine in which input / output is an input switch, screen output, and sound output, the face display unit LED 54 is a screen output unit, the utterance unit 55 is a sound output unit, and a sensor 56 is input in the configuration of the robot operation unit 5 of FIG. It can be regarded as a switch. The head actuator 51, leg actuator 52, hand actuator 53, facial expression LED 54, and camera 57 are not provided. An entertainment studio device in which a person sits inside and enjoys the world of virtual reality with a movable chair and powerful images and sound. In this case, instead of the leg actuator 52, the entire chair on which a person is seated may be operated. Further, instead of the hand actuator 53 and the head actuator 51, a device for spraying water or a device for generating fog using dry ice or the like may be used. An image may be displayed on the screen instead of the desired expression section LED54.
[0106]
Each step of FIGS. 3, 4, 5 and 6 can be realized by a processing program in which instructions of a computer are arranged.
[0107]
FIG. 15 is a diagram showing a recording medium 91 in which the processing program according to the embodiment of the present invention is recorded, and a computer 92 that loads and executes the processing program from the recording medium 91.
[0108]
【The invention's effect】
As described above, the first effect of the present invention is that the conventional program method in which trial execution is repeated because the operation tool can be visually grasped by the GUI tool when the operation program is manually created. Can save time and improve production efficiency.
[0109]
The second effect of the present invention is that an operation program can be automatically generated simply by designating a reference voice by the user, so that a large amount of programs can be created efficiently, which is a problem of an entertainment robot, A robot that can't get bored of can be easily realized.
[0110]
The third effect of the present invention is that when a failure occurs during the execution of the operation program, it is determined for each operation unit whether the failure affects, so the leg is stopped even if an obstacle is detected. As the operation continues, an optimum response can be made according to the situation.
[0111]
According to the fourth effect of the present invention, since the return process to the initial state is performed after the execution of the operation program, even if the operation program is executed such that the operation unit ends in an inappropriate state, the next operation program can be performed without any problem. Can be executed. Further, when the user is in a conversation with the person, the person faces the person after the operation program is executed, so that the conversation can be continued without a sense of incongruity.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration in a first embodiment of the present invention.
FIG. 2 is a flowchart showing the operation of the first exemplary embodiment of the present invention.
3 is a flowchart showing the automatic program generation operation of FIG. 2 by the automatic generation means of FIG.
4 is a flowchart showing the operation of the partial program generation of FIG. 3 by the automatic generation means of FIG.
5 is a flowchart showing an operation program execution operation of FIG. 2 by the execution control means of FIG.
6 is a flowchart showing the operation of returning the initial state of FIG. 2 by the state returning means of FIG.
FIG. 7 is a diagram showing a screen configuration of a GUI tool according to the first embodiment of the present invention.
FIG. 8 is a diagram illustrating an extension / contraction operation and a display method of an operation command button according to the first embodiment of the present invention.
FIG. 9 is a diagram showing an operation setting dialog according to the first embodiment of the present invention.
FIG. 10 is a diagram showing a configuration of an operation program according to the first embodiment of the present invention.
FIG. 11 is a diagram showing a configuration of a part program according to the first embodiment of the present invention.
FIG. 12 is a diagram illustrating a process of automatic generation processing according to the first embodiment of the present invention.
FIG. 13 is a diagram illustrating a process of automatic generation processing according to the second embodiment of the present invention.
FIG. 14 is a diagram illustrating a process of automatic generation processing according to the third embodiment of the present invention.
FIG. 15 is a diagram illustrating a recording medium on which a computer program according to an embodiment of the present invention is recorded, and a computer that loads and executes the computer program from the recording medium.
[Explanation of symbols]
1 Terminal device
11 Operation program creation means
111 Manual creation means
112 Automatic generation means
2 Terminal storage
21 Parts program
3 Robot controller
31 Operation program execution means
311 Execution control means
312 State return means
32 Head control means
33 Leg control means
34 Hand control means
35 Facial expression control means
36 Voice control means
37 Sensor monitoring means
38 Face recognition means
4 Robot storage
41 Operation program
5 Robot movement part
51 Head actuator
52 Leg actuator
53 Hand actuator
54 Facial expression LED
55 Voice part
56 sensors
57 camera
6 Communication lines
91 Recording media
92 computers

Claims (19)

ロボットが発すべき音声を入力として、その音声を演出するための前記ロボットの各動作部による動作の指定を行う動作プログラムを生成する自動生成手段を備えたことを特徴とするロボット動作プログラム製造方式。  A robot operation program manufacturing method comprising: automatic generation means for generating an operation program for designating an operation by each operation unit of the robot for producing the sound by inputting an audio to be generated by the robot. 前記自動生成手段は、前記ロボットに回線を介して接続される端末または前記ロボットまたはその両方に含まれることを特徴とする請求項1記載のロボット動作プログラム製造方式。  The robot operation program manufacturing method according to claim 1, wherein the automatic generation means is included in a terminal connected to the robot via a line, the robot, or both. 前記自動生成手段は、前記ロボットの動作を画面上にタイムチャートとして表示し、前記タイムチャート上に動作命令を配置して前記ロボットの動作プログラムの作成を行うことを特徴とする請求項1または請求項2記載のロボット動作プログラム製造方式。  The automatic generation means displays the operation of the robot as a time chart on a screen, and arranges an operation command on the time chart to create an operation program for the robot. Item 3. The robot operation program manufacturing method according to Item 2. 前記自動生成手段は、ロボットの各動作部の動作の指定と動作に対応する音声とを含む複数の部品プログラムを格納した記憶部を備えたことを特徴とする請求項1乃至請求項3のいずれか1項記載のロボット動作プログラム製造方式。  4. The automatic generation unit includes a storage unit that stores a plurality of component programs including designation of movement of each movement unit of the robot and sound corresponding to the movement. The robot operation program manufacturing method according to claim 1. 前記自動生成手段は、前記部品プログラムを参照し、前記ロボットが発すべき音声と前記部品プログラムに含まれる音声との比較結果に応じて、動作プログラムの部品として使用する部品プログラムを決定することを特徴とする請求項4記載のロボット動作プログラム製造方式。  The automatic generation means refers to the part program and determines a part program to be used as a part of an operation program according to a comparison result between a voice to be uttered by the robot and a voice included in the part program. The robot operation program manufacturing method according to claim 4. 前記自動生成手段は、参照する前記部品プログラムを、予め決められた乱数を用いて選択された部品プログラムに限定することを特徴とする請求項5記載のロボット動作プログラム製造方式。  6. The robot operation program manufacturing method according to claim 5, wherein the automatic generation means limits the component program to be referred to to a component program selected using a predetermined random number. 前記自動生成手段は、前記部品プログラムに含まれる1または複数の動作の各実行時間を、前記ロボットが発すべき音声の実行時間に合わせて伸縮して、動作プログラムを生成することを特徴とする請求項4記載のロボット動作プログラム製造方式。  The automatic generation means generates an operation program by expanding or contracting each execution time of one or more operations included in the component program in accordance with an execution time of a voice to be uttered by the robot. Item 5. The robot operation program manufacturing method according to Item 4. 前記自動生成手段が、伸縮の対象となる動作の指定を、実動作を伴わない動作に限定することを特徴とする請求項7記載のロボット動作プログラム製造方式。  8. The robot motion program manufacturing method according to claim 7, wherein the automatic generation means limits the designation of the motion to be expanded and contracted to a motion not accompanied by an actual motion. 動作プログラムにより動作を制御する動作制御システムにおいて、
出力すべき音声あるいは音に基づいて動作プログラムを生成する自動生成手段と、
前記自動生成手段で生成した動作プログラムを実行することで音声あるいは音の再生にあわせて生成された動作を実施する実行制御手段とを有することを特徴とする動作制御システム。
In an operation control system that controls operation by an operation program,
Automatic generation means for generating an operation program based on voice or sound to be output;
An operation control system comprising: an execution control unit that executes an operation generated in accordance with reproduction of voice or sound by executing the operation program generated by the automatic generation unit.
動作プログラムによりロボットの各動作部の動作を制御するロボット制御システムにおいて、
前記ロボットが発すべき音声を入力として、その音声を演出するための前記ロボットの各動作部による動作の指定を行う動作プログラムを生成する自動生成手段と、
前記自動生成手段が生成した動作プログラムを実行することにより、前記音声の再生にあわせて生成された動作の指定を前記ロボットの各動作部に送って動作を実施する実行制御手段とを有することを特徴とするロボット制御システム。
In a robot control system that controls the motion of each motion part of a robot by an motion program,
Automatic generation means for generating an operation program for designating an operation by each operation unit of the robot for producing the sound, with the audio to be emitted by the robot as an input;
An execution control unit that executes an operation program generated by the automatic generation unit, and sends an operation designation generated in accordance with the reproduction of the sound to each operation unit of the robot to execute the operation. Characteristic robot control system.
前記自動生成手段は、前記ロボットに回線を介して接続される端末または前記ロボットまたはその両方に含まれることを特徴とする請求項10記載のロボット制御システム。  11. The robot control system according to claim 10, wherein the automatic generation unit is included in a terminal connected to the robot via a line, the robot, or both. 前記自動生成手段は、前記ロボットの動作を画面上にタイムチャ−トとして表示し、前記タイムチャ−ト上に動作命令を配置して前記ロボットの動作プログラムの作成を行うことを特徴とする請求項10または11記載のロボット制御システム。  11. The automatic generation means displays an operation of the robot as a time chart on a screen and arranges an operation command on the time chart to create an operation program for the robot. Or the robot control system of 11. 前記自動生成手段は、ロボットの各動作部の動作の指定と動作に対応する音声とを含む複数の部品プログラムを格納した記憶部を備えたことを特徴とする請求項10乃至請求項13のいずれか1項記載のロボット制御システム。  The said automatic generation means is provided with the memory | storage part which stored several component programs containing the designation | designated operation | movement of each operation | movement part of a robot, and the audio | voice corresponding to operation | movement. The robot control system according to claim 1. 前記自動生成手段は、前記部品プログラムを参照し、前記ロボットが発すべき音声と前記動作部品に含まれる音声との比較結果に応じて、動作プログラムの部品として使用する部品プログラムを決定することを特徴とする請求項13記載のロボット制御システム。  The automatic generation means refers to the component program, and determines a component program to be used as a component of the operation program according to a comparison result between a sound to be generated by the robot and a sound included in the operation component. The robot control system according to claim 13. 前記自動生成手段は、参照する前記部品プログラムを、予め決められた乱数を用いて選択された部品プログラムに限定することを特徴とする請求項14記載のロボット制御システム。  15. The robot control system according to claim 14, wherein the automatic generation means limits the component program to be referenced to a component program selected using a predetermined random number. 前記自動生成手段は、前記部品プログラムに含まれる1または複数の動作の各実行時間を、前記ロボットが発すべき音声の実行時間に合わせて伸縮して、動作プログラムを生成することを特徴とする請求項13記載のロボット制御システム。  The automatic generation means generates an operation program by expanding or contracting each execution time of one or more operations included in the component program in accordance with an execution time of a voice to be uttered by the robot. Item 14. The robot control system according to Item 13. 前記自動生成手段が、伸縮の対象となる動作の指定を、実動作を伴わない動作に限定することを特徴とする請求項16記載のロボット制御システム。  The robot control system according to claim 16, wherein the automatic generation unit limits the designation of an operation to be expanded and contracted to an operation not involving an actual operation. 前記実行制御手段によるロボットの動作の完了後に各動作部を初期状態に戻す状態復帰手段をさらに有することを特徴とする請求項10記載のロボット制御システム。  The robot control system according to claim 10, further comprising a state return unit that returns each operation unit to an initial state after completion of the operation of the robot by the execution control unit. 前記状態復帰手段が、人の顔を検出している時には頭部を初期状態に戻さず、頭部をその人の方に向けることを特徴とする請求項18記載のロボット制御システム。19. The robot control system according to claim 18 , wherein the state returning means does not return the head to the initial state when detecting a human face, but directs the head toward the person.
JP2003176205A 2002-06-21 2003-06-20 Robot motion program manufacturing method, motion control system, and robot control system Expired - Lifetime JP4096826B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003176205A JP4096826B2 (en) 2002-06-21 2003-06-20 Robot motion program manufacturing method, motion control system, and robot control system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002181392 2002-06-21
JP2003176205A JP4096826B2 (en) 2002-06-21 2003-06-20 Robot motion program manufacturing method, motion control system, and robot control system

Publications (2)

Publication Number Publication Date
JP2004078905A JP2004078905A (en) 2004-03-11
JP4096826B2 true JP4096826B2 (en) 2008-06-04

Family

ID=32032601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003176205A Expired - Lifetime JP4096826B2 (en) 2002-06-21 2003-06-20 Robot motion program manufacturing method, motion control system, and robot control system

Country Status (1)

Country Link
JP (1) JP4096826B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10878657B2 (en) 2018-07-25 2020-12-29 Konami Gaming, Inc. Casino management system with a patron facial recognition system and methods of operating same
US11521460B2 (en) 2018-07-25 2022-12-06 Konami Gaming, Inc. Casino management system with a patron facial recognition system and methods of operating same

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI373361B (en) 2008-10-09 2012-10-01 Univ Nat Chiao Tung Glove puppet manipulation system
TWI416289B (en) * 2010-05-28 2013-11-21 Compal Communications Inc Automatic machine and method for controlling the same
JP5834677B2 (en) * 2011-09-16 2015-12-24 富士通株式会社 Interaction system, interactive system and program
JP5877418B2 (en) * 2011-12-09 2016-03-08 株式会社国際電気通信基礎技術研究所 Scenario generation apparatus and scenario generation method
JP6598454B2 (en) * 2014-11-14 2019-10-30 株式会社クリエイティブマシン Teaching data creation method, creation device, and creation program
JP6583815B2 (en) * 2015-09-01 2019-10-02 株式会社国際電気通信基礎技術研究所 Android robot control system, apparatus, program and method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10878657B2 (en) 2018-07-25 2020-12-29 Konami Gaming, Inc. Casino management system with a patron facial recognition system and methods of operating same
US11455864B2 (en) 2018-07-25 2022-09-27 Konami Gaming, Inc. Casino management system with a patron facial recognition system and methods of operating same
US11521460B2 (en) 2018-07-25 2022-12-06 Konami Gaming, Inc. Casino management system with a patron facial recognition system and methods of operating same
US12087130B2 (en) 2018-07-25 2024-09-10 Konami Gaming, Inc. Casino management system with a patron facial recognition system and methods of operating same
US12106630B2 (en) 2018-07-25 2024-10-01 Konami Gaming, Inc. Casino management system with a patron facial recognition system and methods of operating same

Also Published As

Publication number Publication date
JP2004078905A (en) 2004-03-11

Similar Documents

Publication Publication Date Title
US9431027B2 (en) Synchronized gesture and speech production for humanoid robots using random numbers
US6384829B1 (en) Streamlined architecture for embodied conversational characters with reduced message traffic
JP4271193B2 (en) Communication robot control system
CN100423911C (en) Robotic device and its behavior control method
JP2021530031A (en) Face-based special effects generation methods, devices and electronics
JP4096826B2 (en) Robot motion program manufacturing method, motion control system, and robot control system
JP4032273B2 (en) Synchronization control apparatus and method, and recording medium
Zeglin et al. HERB's Sure Thing: A rapid drama system for rehearsing and performing live robot theater
US7738997B2 (en) Robotic system for synchronously reproducing facial expression and speech and related method thereof
JP2003200370A (en) Object growth control system and object growth control method
JP4543263B2 (en) Animation data creation device and animation data creation program
Altarawneh et al. Leveraging Cloud-based Tools to Talk with Robots.
JP5515173B2 (en) Head movement control information generator
De Melo et al. Multimodal expression in virtual humans
US12596349B2 (en) Computer-automated scripted electronic actor control
WO2023189407A1 (en) Tactile pattern providing system, tactile pattern providing program, and tactile pattern providing method
JP2001229398A (en) Method and device for acquiring performance animation gesture and reproducing the same on animation character
JP5055486B2 (en) Remote operation android utterance control system
KR20250135819A (en) Interactive interfaces for configuring implemented agents
Okwechime et al. Real-time motion control using pose space probability density estimation
KR20250132207A (en) Emotional expression voice generation apparatus and method capable of controlling emotional style and intensity using continuous emotional dimensions
KR20260050912A (en) Emotion-driven interactions with scene-aware mixed reality characters
WO2024127956A1 (en) Interaction system, control program and control method
Lu et al. A human-computer dialogue agent with body gestures, hand motion, and speech
Fu et al. Real-time humanoid avatar for multimodal human-machine interaction

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050314

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071002

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: 20080219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080303

R150 Certificate of patent or registration of utility model

Ref document number: 4096826

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110321

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110321

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120321

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120321

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140321

Year of fee payment: 6

EXPY Cancellation because of completion of term