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 PDFInfo
- 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
Links
- 230000033001 locomotion Effects 0.000 title claims description 37
- 238000003860 storage Methods 0.000 claims description 18
- 210000003128 head Anatomy 0.000 description 29
- 238000000034 method Methods 0.000 description 27
- 238000012545 processing Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 230000008921 facial expression Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000008602 contraction Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- CURLTUGMZLYLDI-UHFFFAOYSA-N Carbon dioxide Chemical compound O=C=O CURLTUGMZLYLDI-UHFFFAOYSA-N 0.000 description 1
- 101100460719 Mus musculus Noto gene Proteins 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 235000011089 carbon dioxide Nutrition 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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
[0049]
The
[0050]
The
[0051]
The
[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
[0053]
The robot operation unit 5 includes a head actuator 51, a
[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
[0055]
The operation program creating means 11 of the
[0056]
The operation program execution means 31 of the
[0057]
The sensor monitoring means 37 monitors image information such as obstacles and steps such as stairs detected by the
[0058]
When a failure occurs during the execution of the operation, the
[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
[0061]
When the creation of the operation program ends and a user program transmission request is detected (step A5), the
[0062]
The
[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
[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
[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 °,
[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
[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
[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
[0072]
FIG. 11 is an example of setting information of the
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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)
出力すべき音声あるいは音に基づいて動作プログラムを生成する自動生成手段と、
前記自動生成手段で生成した動作プログラムを実行することで音声あるいは音の再生にあわせて生成された動作を実施する実行制御手段とを有することを特徴とする動作制御システム。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.
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)
| 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)
| 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 |
-
2003
- 2003-06-20 JP JP2003176205A patent/JP4096826B2/en not_active Expired - Lifetime
Cited By (5)
| 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 |