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
JP4028192B2 - Operation input method, apparatus, program, and recording medium - Google Patents
[go: Go Back, main page]

JP4028192B2 - Operation input method, apparatus, program, and recording medium - Google Patents

Operation input method, apparatus, program, and recording medium Download PDF

Info

Publication number
JP4028192B2
JP4028192B2 JP2001234628A JP2001234628A JP4028192B2 JP 4028192 B2 JP4028192 B2 JP 4028192B2 JP 2001234628 A JP2001234628 A JP 2001234628A JP 2001234628 A JP2001234628 A JP 2001234628A JP 4028192 B2 JP4028192 B2 JP 4028192B2
Authority
JP
Japan
Prior art keywords
image
simulated
control data
real object
guidance information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001234628A
Other languages
Japanese (ja)
Other versions
JP2003039358A (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2001234628A priority Critical patent/JP4028192B2/en
Publication of JP2003039358A publication Critical patent/JP2003039358A/en
Application granted granted Critical
Publication of JP4028192B2 publication Critical patent/JP4028192B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Toys (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ロボット等の物体の動作を制御するためのデータを、入力および再生する際に用いて好適な動作入力方法、装置、プログラム及び記録媒体に関する。
【0002】
【従来の技術】
従来、ロボットの動作を教示する教示装置を構成する際には、各ロボット特有の自由度構成や動作特性、インターフェースに合わせたGUI(グラフィカルユーザインターフェース)や動作コマンド、ドライバの設計および制御が必要であった。この場合、教示装置とは、コンピュータやその周辺装置と、コンピュータによって実行されるプログラムとを主要な要素として構成されるものであって、操作者の操作に応じてリアルタイムに入力されるデータや、あらかじめ記録しておいたデータに基づいて、ロボット等の物体に対して所望の動作を行わせるための制御信号を出力するものである。
【0003】
次に上記のような従来の技術の一例を具体的に説明する。この例では、操作者の操作に応じてロボット等の物体に所望の動作をさせるための制御データ(駆動データ)を生成する際に、まず、物体をCG(コンピュータグラフィクス)モデル化する。さらに物体の駆動範囲およびその条件に基づいて物体の動作を求め、コンピュータ内で物体の動作をCGモデルとしてシミュレートして表示できるようにする。そして、モデル化の後、ポインティングデバイス等の操作量に応じて物体モデルを座標変換しながら動かし、動作中の座標データの変化を記録して、それに対して所定の演算処理を行うことで、その動作に必要な制御データを求めるようにしている。すなわち、CGモデル化された物体に対してなされたポインティングデバイスの操作量に応じて物体の制御データ(駆動データ)が生成されることになる。このような場合には、ポインティングデバイスの操作が複雑になることが多く、操作者が簡易に操作できるものではなかった。
【0004】
また、ロボット動作を音や画像と同期を取って再生する際には、タイマーカウントなど複雑な処理が必要となっていた。
【0005】
【発明が解決しようとする課題】
本発明は上記の問題点を鑑み、ロボット等の物体の動作に係るデータを入力したり、再生したりする際に、操作を簡易にすることができる動作入力方法、装置、プログラム及び記録媒体を提供することを目的とする。本発明は、また、直感的な操作で簡易にロボットの動作を入力・記録・再生することを可能とする動作入力方法、装置、プログラム及び記録媒体を提供することを目的とする。
【0006】
さらに、本発明は、簡易な操作で、動作と音や画像の同期を取りつつそれらを再生することを可能とする動作入力方法、装置、プログラム及び記録媒体を提供することを目的とする。すなわち、音、画像等のコンテンツとロボットの動作とを同期再生する際のデータを入力するのに適した動作入力方法、装置、プログラム及び記録媒体を提供することを目的とする。具体的に説明すれば、例えば、ジェスチャ等の動作総体に意味を持つ物体の動作では、厳密な速度・位置制御は犠牲にしても、入力に対して追従性の良い動作が求められる場合がある。つまり、頻度、精度を犠牲にしてでもCGの再生や、ロボットの動作レスポンスを確保することが望まれる。そこで、本発明は、簡易な操作で、その操作に対して追従性の良い入力や、同期再生をすることができる動作入力方法、装置、プログラム及び記録媒体を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記課題を解決するため、本発明の第1の態様は、制御データが入力されることで前記制御データに対応する動作を行う実物体に対し、当該実物体の動作を所定の操作子を用いて教示する方法であって、前記制御データを順次送ることにより当該実物体の動きを撮影し、撮影画像において実物体の動作の変化が所定の大きさを超えるときに、当該画像フレームに対する模擬画像を作成し、作成した複数の前記模擬画像の動領域を定め、当該動領域の代表点の動きの軌跡を求め、求めた軌跡を拡張した表示情報となるように変換して案内情報を作成し、各模擬画像に対して、案内情報の操作対象空間における座標範囲を対応付け、各模擬画像に対して、前記実物体を動作させるための制御データをマッピングし、前記模擬画像のいずれか1つ前記案内情報とともに表示し、前記所定の操作子によって指定された座標が、前記案内情報の操作対象空間における座標範囲内にある場合は、その座標範囲に対応する模擬画像を表示するとともに、当該模擬画像にマッピングされた制御データを取得し、取得した制御データを前記動作物体に出力する、あるいは取得した制御データを時系列情報として記録することを特徴とする。
【0008】
また、本発明は、上記に記載の発明において、前記模擬画像は、撮像画像のCG化処理を行って求められたものであることを特徴とする。
【0010】
【発明の実施の形態】
以下、図面を参照して本発明による動作入力方法、装置、プログラム及び記録媒体の実施の形態について説明する。図1は、ロボットシステムの全体構成を示す図であり、パーソナルコンピュータ1と、ロボット(例えば、ねずみなどの動物の形態をしたロボット)2が、オーディオライン3によって接続されている。パーソナルコンピュータ1は、本体装置10と表示装置11とから構成されていて、ロボット2のほかに、マウス等のポインティングデバイス(操作子)4と、画像入力装置5とが接続されている。
【0011】
ロボット2は内蔵されたサーボモータによって、頭部20を左右方向に首振り駆動することが可能であるとともに、右前脚部21および左前脚部22が上下に上げ下げできるようになっている。
また、ロボット2は、内蔵されたスピーカから音を空中に放射することができるようになっている。このロボットシステムにおいては、オーディオライン3を介して、合成音声信号と駆動データとが合成された信号(周波数多重等された信号)が、パーソナルコンピュータ1からロボット2へ伝送される。このうち合成音声信号は、例えば、言葉や単語、あるいは歌唱の音声を示す音声情報などをなす可聴周波数帯の信号であり、ロボット2に内蔵されたスピーカから出力される。他方の駆動データは、可聴周波数帯以上の周波数の信号(例えば18kHzを越える信号)であり、サーボモータに対する制御指令信号として用いられる。すなわち、オーディオライン3によって同時に送られてくる情報によって音声の発生と、駆動部位の制御とが実行可能である。
【0012】
図2は、図1に示す各構成の接続と信号の流れを説明するためのシステムブロック図である。図2に示すように、図1に示すパーソナルコンピュータ1は、その本体装置10内に本発明の主要な特徴部分である入力・記録・再生・表示制御装置100を備えている。入力・記録・再生・表示制御装置100は、図示していない記憶装置(メモリやハードディスク)や、入出インターフェース回路を用いて、所定のオペレーティングシステム上で動作するアプリケーションプログラムとして構成されている。
入力・記録・再生・表示制御装置100は、ポインティングデバイス4から送られてくるその操作状態を示す信号を入力するとともに、画像入力装置5によって撮影された動画像(映像)または静止画像を取り込んで(キャプチャして)記録する。ここで、本実施の形態では画像入力装置5は、ロボット2の動作を撮影するために使用される。入力・記録・再生・表示制御装置100は、また、表示装置11へ表示制御用の信号を出力するとともに、ロボット2へはオーディオライン3を介して合成音声信号と駆動データとを出力する。
【0013】
次に、図3を参照して図2に示す入力・記録・再生・表示制御装置100を構成する各機能ブロックについて説明する。ただし、ここでは、理解をしやすくするため、まず、各ブロックのうち、駆動データ再生部110についての説明を行い、続いて、模擬画像データ・制御データ記憶部104についての説明を行い、その後、他の機能ブロックについての説明を行うこととする。
【0014】
まず、図3と、図5〜図7を参照して、駆動データ再生部110およびロボット2の機能詳細について説明する。ここで、図5はロボット2の内部構成を示すブロック図である。また図6はロボット2に対する各駆動データを発生するための制御データファイルと、それによる制御内容との対応の一例を示す図である。そして、図7はロボット2と各駆動データ波形との関係を示す説明図である。
【0015】
図3の駆動データ再生部110は、既存のwave(ウェーブ)形式やmidi(ミディ)形式、au(エーユー)形式などの音ファイルの再生を行うソフトウェアプレーヤおよびサウンドデバイスから構成されていて、記憶データ再生部107で呼び出された制御データファイルを受け取って、それに基づいて駆動データを再生して出力する。再生された駆動データは、オーディオライン3を通り、本ライン3を介して接続されたロボット2のオーディオ入力部201(図5参照)へ送られる。そして、入力された駆動データは図5の制御信号生成部202に送られる。制御信号生成部202は、ここにおいて駆動データに含まれる所定の各周波数成分のレベルを検知する。そして、所定の周波数成分に合致した信号が検知された場合には、それに基づいて、ロボット駆動部203内に設けられたモータを駆動させるための制御信号を生成する。
【0016】
図6は、図3の記憶データ再生部107で呼び出されて、駆動データ再生部110へ送られる制御データファイルの名称と、図5のロボット駆動部203によって行われる制御の内容との関係を示している。例えば、制御データファイル名Sound1が駆動データ再生部110へ送られた場合には、ロボット駆動部203では首振り−30度(この例では右方向(図に向かって左方向)への首振り30度)の制御が行われる。また、制御データファイル名Sound2,3,4,…によっては、それぞれ同じ方向の首振り20度、10度、5度、…の制御が行われることを示している。この場合、制御データファイルSound1,2,3,4,…によって再生される駆動データは、それぞれ異なる周波数からなる信号あるいは複数の異なる周波数成分の合成信号である。
【0017】
図7は、駆動データ再生部110で再生される駆動データの波形と、ロボット2の動作との対応を示していて、この例では、波形Wa、Wb、Wcの駆動データが発生されたときに、ロボット2の頭部20が、右方向(ロボット2a)、垂直方向(ロボット2b)、および左方向(ロボット2c)に首振り制御されることを示している。この場合、波形Wa,Wb,Wcの駆動データは互いに異なる周波数の信号(あるいは異なる周波数成分からなる信号)であって、そのうち波形Waは図6を参照して説明した制御データファイル名Sound1のデータの再生波形に対応している。
【0018】
次に、図8〜図16を参照して、図3に示す模擬画像データ・制御データ記憶部104について詳細に説明する。図8は模擬画像データ・制御データ記憶部104を構成を示すブロック図であり、図9は動作を説明するためのフローチャートである。図10は図8の画像・制御データマッピング部1042による模擬画像の自動生成機能を説明するための図である。そして、図11〜図16は、模擬画像データ・制御データ記憶部104の動作の具体例を説明するときに利用する各データや各画像を示す図である。
【0019】
図8に示すように、擬画像データ・制御データ記憶部104は、画像入力装置5から入力される画像データの取り込みを行う画像情報入力部1040と、画像情報入力部1040によって取り込んだ複数枚の画像データを入力して画像情報の処理演算を行う画像情報演算部1041と、演算結果に基づいて画像データと制御データファイルとの対応付けを行う画像・制御データマッピング部1042とから構成されている。
【0020】
以上の構成によって擬画像データ・制御データ記憶部104は、画像情報入力部1040によって、画像入力装置5から入力されるロボット2の動作を表す複数フレームからなる実体画像を画像データ(動画像データ)としてキャプチャし、所定の記憶手段に記憶する(図9のステップSA1)。
次に、画像情報演算部1041によって、図11に示すようなロボット模擬画像124(124a〜124c)のデータ作成を行う(ステップSA2)。図11に示す模擬画像124a,…,124b,…,124cは、図7に示すようにロボット2を、波形Wa,…,Wb,…,Wcの駆動データに基づいて駆動制御したときに撮影されるロボット2の実体画像(図7のロボット2a,…,2b,…,2c)に基づいて、それをCG化処理で単純化することで求めた画像である。
【0021】
ロボット2の動作の撮影は、図3において、模擬画像データ・制御データ記憶部104からの指示によって、画像入力装置5に撮影を開始させるとともに、記憶データ呼び出し部103において図6に示すような制御データファイルSound1,2,3,4,…を所定の時間間隔で順次呼び出すことで開始される。記憶データ呼び出し部103によって呼び出された制御データファイルは、記憶データ再生部107へ送られて再生処理され、駆動データ再生部110で図7の波形Wa,Wb,Wcのようなアナログの駆動データ信号に変換されて出力される。ここで、図7の頭部20を右側に最も傾けた状態のロボット2aから、中立の状態のロボット2bを経て、頭部20を左側に最も傾けた状態のロボット2cに至るまでの間に、画像入力装置5は、例えば、数十〜百数十フレーム程度の画像データを出力するものとする。
【0022】
このようにして画像情報入力部1040によって入力された各フレームの画像は、一旦所定の記憶手段に記憶される。画像情報演算部1041は、この記憶した画像データに基づいて、図11のようなロボット模擬画像124a〜124cを作成する。このとき、画像情報演算部1041は、各画像フレーム対応で、全フレームに対応する数のロボット模擬画像124を作成するのではなく、開始点や終了点のほか、動作の変化が所定の大きさを越えるたびに新たなロボット模擬画像124の作成を行うようにしている。これは、ほとんど動きの変化がない同様の画像を複数作成・記憶することを防止したり、データ容量の増加や、処理時間の増大を防ぐいだりするための処理である。図10を参照して、本実施形態におけるロボット模擬画像の生成処理の基本的な考え方について説明する。
【0023】
図10は、時刻tから時刻t+3k(kは定数(ms))に至るまでの時間に、ロボット2の実体動作がこの図のように発生したときに、どの時点の画像がロボット模擬画像として保持されるのかを説明するための図である。ここで、時刻t,t+k,t+2k,およびt+3kにおける実体の動作は、それぞれ、頭部20が垂直方向で、かつ右左の前脚部21,22が下を向いている状態、頭部20がやや右に傾いた状態で右左の前脚部21,22が下を向いている状態、頭部20がさらに右に傾いた状態で右左の前脚部21,22が下を向いている状態、および頭部20が同様に右に傾いた状態で右前脚部21が下を、左前脚部22が上を向いている状態となっている。
【0024】
この例では、フレーム毎に背景差分法によって動領域を抽出し、抽出された領域についてフレーム間で差分を求め、その大きさの時間変化に対して所定の評価関数を用いた判定を行うことによって、ロボット模擬画像を抽出する処理を行っている。評価関数としては、画像特徴量(動領域のが素数)を表す変数ΔD=D(t+mk)−D(t+nk)を用いている。そして、ΔD>Lの時、D(t+mk)をロボット模擬画像として保持するようにしている。ここで、ΔDは動領域の画素数、D(t+mk)は時刻(t+mk)におけるロボット画像データ、D(t+nk)は近傍でロボット模擬画像として保持されたロボット画像データである。また、m=0,1,2,3,…であり、n=0,1,2,3,…(k>n)であり、kは定数(msec)であり、そして、Lは動領域の画素数についての判定におけるしきい値を表す定数である。
【0025】
図10に示す例では、時刻t以降において、時刻tのロボット画像データD(t)を基準に画像特徴量ΔDを求めると、時刻t+2kの時、画像特徴量ΔDがしきい値Lを越えているので、その時のロボット画像データD(t+2k)がロボット模擬画像として保持されている。そして、時刻t+2kのロボット画像データD(t+2k)を基準に画像特徴量ΔDを求めると、時刻t+3kの時、再び画像特徴量ΔDがしきい値Lを越えているので、その時のロボット画像データD(t+3k)が次のロボット模擬画像として保持されている。
以上のようにして、図8の画像情報演算部1041は、複数のロボット模擬画像のデータを作成するとともに、その際の駆動データとの関係を記憶する。
【0026】
次に、図9のステップSA2で上記のようにしてロボット模擬画像124が作成されると(この場合、ロボット模擬画像124として、図11のロボット模擬画像124a〜124cが作成されたとすると)、図8の画像情報演算部1041では、図12に示すように一連の動作に対する複数のロボット模擬画像124a〜124cに対して共通のガイド情報125を付与する処理が行われる(図9のステップSA3)。
ガイド情報125は、実体の駆動部位の変化、すなわち動きの軌跡に対応する表示情報(画像情報)である。このガイド情報125は、ロボット2の動作を入力する際に、ポインティングデバイス4の操作位置、操作方向、操作量等のめやすとなる案内情報として用いられる。なお、本実施の形態では、ロボット模擬画像124とガイド情報125とを組み合わせたものを模擬画像123と呼ぶことにする。
【0027】
ガイド情報125は、例えば、ロボット模擬画像124から背景差分法によって抽出された動領域に対して関心領域を設定し、その関心領域の重心の軌跡を求めることで決定される。図12の例では、まず、頭部20を関心領域に設定し、その重心の変化の軌跡を求める。そして、ガイド情報125を模擬画像123に付与する際には、ガイド情報125と動領域(頭部20)との見やすさや、後で述べるポインティングデバイス4での操作性を考慮して、その軌跡を、模擬画像123の中心方向へと下に向かって移動させるとともに、左右および上下方向に拡張した表示情報となるように変換することでガイド情報125を作成している。
【0028】
ガイド情報125の付与のための処理(図9のステップSA3)が終わると、次に、図8の画像・制御データマッピング部1042によって、ガイド情報に対する模擬画像のマッピング処理が行われる(図9のステップSA4)。ガイド情報に対する模擬画像のマッピング処理とは、各模擬画像123に対してガイド情報125に対応する操作対象空間における座標点(座標範囲)を対応付ける処理である。
ここで、ステップSA4の処理について、図13および図14を参照して説明する。図13は、図11のロボット模擬画像124a〜124cにガイド情報125を付与することで得られる模擬画像123a〜123cを示す図であり、図14は、マッピング処理の結果得られるテーブルを示す図である。
【0029】
たとえば、図13に示す模擬画像123aでは、頭部20が最も右側(図に向かって左側)に傾斜した状態である。そこで模擬画像123aに対しては、ガイド情報における向かって左側に位置する場所に、インジケータ127aを設定するとともに、そのインジケータ127aをポインティングデバイス4で選択する際の矩形の座標範囲128a(破線で示す範囲)を設定する。このインジケータ127とは、ポインティングデバイス4を用いたデータ入力の際に入力点の位置の目安を示す入力操作のインターフェースとして用いられる表示情報である。
この場合、ガイド情報125とインジケータ127aとが、それぞれ、コンピュータアプリケーションで通常用いられるスライダコントロール(あるいはトラックコントロール)のバー(範囲を定義するもの)と、インジケータ(現在の値をしめすもの)に相当するものとしてとらえることができる。そして、座標範囲128aは、インジケータ127aを当該位置に設定(あるいは模擬画像123aを選択)する際に、ポインティングデバイス4で指定すべき範囲となる。
【0030】
図13においては、同様に、頭部20が真上方向を向いている模擬画像123bには、その中心位置付近にインジケータ127bと座標範囲128bを設定し、頭部20が最も左側(図に向かって右側)に傾斜している模擬画像123cには、その右側の位置にインジケータ127cと座標範囲128cが設定されている。
これらの設定情報は、図14に示すように、座標範囲128a,…,128b,…,128cを示すX座標値(模擬画像123上で垂直方向の位置を示す値)およびY座標値(模擬画像123上で水平方向の位置を示す値)の範囲を用いて設定される。すなわち、ここでは、図14に示すように、各座標範囲を、ポインティングデバイス4による操作対象空間における座標範囲を示す値に写像したものと、各模擬画像123a,…,123b,…123cの画像データを示すファイル名(Fig1,Fig2,Fig3,Fig4,…)とを対応付けるテーブルが構成される。
【0031】
なお、本実施の形態では、座標範囲128a〜128cを一定の大きさに設定するのではなく、ガイド情報125とほぼ垂直の方向、すなわち模擬画像123の上下方向の長さの範囲が漸増または漸減するように設定している。つまり、水平方向に延びた円弧状のガイド情報125に対して、座標範囲128a〜128cは、それを上下に囲む範囲となる。さらに、ガイド情報125の中心近辺に位置する座標範囲128bの上下方向の長さは、周辺近辺に位置する座標範囲128aあるいは128cの上下方向の長さよりも大きくなるように設定されている。これによれば、例えば、インジケータを水平方向に移動させる場合には、必ずしもポインティングデバイス4のポインタをガイド情報125に沿って下向きに開いた円弧状に移動させる必要はなく、直線上あるいは逆に上向きに開いた円弧状となるように移動させてもよいことになる。つまり、図13で鎖線で示す範囲内でポインタを移動させることで、インジケータを移動させることができる。
【0032】
図14に示すようにガイド情報に対する模擬画像のマッピング処理の結果が得られたとすると、図8の画像・制御データマッピング部1042は、次に、模擬画像に対する制御データのマッピング処理を行う(図9のステップSA5)。これは、各模擬画像123a〜123cに対して、図7のロボット2a〜2cのように実体を動作させるために必要な制御データをマッピングするための処理である。すなわち、ここでは、図15に示すように、画像データファイル名(Fig1,Fig2,Fig3,Fig4,…)に対して、図6等を参照して説明した制御データファイル名(Sound1,Sound2,Sound3,Sound4,…)を対応付けるようにテーブルのデータが設定される。この場合、画像データファイル名Fig1は、模擬画像123aに対応するものである。
【0033】
以上のようにして図8の模擬画像データ・制御データ記憶部104では、図16に示すような、これら、ガイド情報の操作対象空間内における座標データと、模擬画像データを示す画像データファイル名、および制御データを示す制御データファイル名との対応関係を示すテーブルが作成され、これが記憶、保持される。
【0034】
以上で、図3の動作入力・記録・再生・表示制御装置100における、駆動データ再生部110と、模擬画像データ・制御データ記憶部104のそれぞれの機能についての説明を終了する。次に、図3の他の機能ブロックを含めた全体の動作について、図17〜図20を参照して説明する。
【0035】
まず、図17を参照して、図4に示す表示装置11に表示された模擬画像123に対するデータ入力の操作と同時に、ロボット2に対してその操作に応じた駆動データを再生する場合の動作について説明する。
【0036】
なお、図4は、図1および図2に示す表示装置11における表示画面121の一例を示す図である。表示画面121には、入力・記録・再生・表示制御装置100に対応するアプリケーションによって作成されるウィンドウ122が表示され、そのウィンドウ122内には模擬画像123が表示されている。この場合、模擬画像123には、ポインティングデバイス4の操作による指示位置を示すポインタ126が表示されている。ただし、ここではポインタ126の位置が図4に実線で示す位置にある場合を参照符号126aを用いて示している。ポインティングデバイス4の操作に応じて、このポインタ126aは、例えばポインタ126bに移動したり、ポインタ126bに移動したりする。
【0037】
なお、図4に示す例では、模擬画像123として、ロボット模擬画像124aを含む模擬画像123aの場合を用いている。また、ポインタ126aに対応する座標は、図13の座標範囲128a内の値であるとする。さらに、ポインタ126bおよび126cは、図13の座標範囲128bおよび128c内の値を指示するものであるとする。
【0038】
図17において、図3のポインティングデバイスイベント入力部101は、図4のガイド情報125を付した模擬画像123に対して操作者が操作したときに、ポインティングデバイス4のイベント情報を取得し、このイベント情報をポインティングデバイスイベント判別部102へ送出する(ステップS1)。ここで、イベント情報は、操作対象空間(模擬画像123内の範囲)におけるポインタ126の座標情報と、イベント発生時間とから構成されている。
【0039】
ポインティングデバイスイベント判別部102は、逐次、ポインティングされたか否かを判定しながら、送られてくるイベント情報に、条件に合致した操作対象となる模擬画像データが存在するか否かの判別を行う(ステップS1〜S3)。すなわち、ポインタ126によって指示されている座標が、図16に示すテーブルに含まれている画像データファイル名のいずれかに対応付けて記憶されているガイド情報の範囲(X座標値およびY座標値で指定される範囲)のいずれかに対応するかどうかを判別する。例えば、X座標が10〜30の範囲内で、Y座標が32〜48の範囲内である場合には、模擬画像123aに対応する画像データファイル名Fig1が存在しているので、存在するとの判別結果が得られる(ステップS3で「Yes」)。
【0040】
データ有りと判別された場合、記憶データ呼び出し部103は、ポインティングデバイスのイベント情報に対応付けられた模擬画像データ123(123a)および画像データファイル名(Fig1)に対応付けられた制御データファイル名(Sound1)を、模擬画像データ・制御データ記憶部104から取得し、画像データファイルの表示(ステップS4)および制御データファイルの再生(ステップS5)を行う。模擬画像123aに対応する画像データファイル名Fig1と、制御データファイル名Sound1が呼び出されると、これらが、記憶データ再生部107によって再生される。そして、表示装置11とのインターフェースとなる模擬画像表示部11によって、再生された画像データファイル名Fig1に対応する模擬画像123aが表示装置11で表示されるとともに(図4)、駆動データ再生部110によって制御データファイル名Sound1に応じた駆動データ(波形Wa)が出力されて、ロボット2が図7のロボット2aにように駆動させ制御される。
【0041】
同様に、図4において、ポインタ126がポインタ126bやポインタ126cのように移動した場合には、表示装置11では模擬画像123として、図13に示す模擬画像123bや模擬画像123cが表示されるとともに、ロボット2の動作は図7のロボット2bやロボット2cのように駆動制御される。
【0042】
次に、図18〜図19を参照して、図4に示す表示装置11に表示された模擬画像123に対するデータ入力の操作と同時に、ロボット2に対してその操作に応じた駆動データを再生するとともに、その操作履歴を記録する場合の動作について説明する。
【0043】
図18は、この動作における各処理の流れを示すフローチャートであり、図18のステップT1〜T5は図17のステップS1〜S5の処理に対応するものである。この場合、図18のステップT1〜T5では、図17のステップS1〜S5の処理に対応する処理が実行される。そして、ステップT6ではステップT1で取得されたイベント情報が、図3のポインティングデバイスイベント記録部105へ送られる。ポインティングデバイスイベント記録部105は、入力されたイベント情報に合致する模擬画像データファイル名に関連付けられた制御データファイル名を、模擬画像データ・駆動データ記録部104から取得し、図19の如くイベント番号に対応付けて各イベントの時間とともに時系列情報として記録する。
【0044】
なお、図18のステップT6の処理は、ステップT3とステップT4の処理の間に設けるようにしてもよい。また、ステップT5の処理を省略してロボット2の駆動制御を省略するようにすることもできる。
【0045】
次に、図20を参照して、図19に示すように記録された時系列情報に基づいて、時系列に表示装置11にその情報に対応する模擬画像123を表示すると同時に、ロボット2に対してその情報に対応する駆動データを再生する場合の動作について説明する。なお、図20おいて、ステップR2およびステップR3は、図19のステップT4およびステップT5の処理にそれぞれ対応している。
【0046】
この場合、図20のステップR1では、図3の記録データ呼び出し部106によって、ポインティングデバイスイベント記録部105に記録されている図19に示すような時系列情報の呼び出しが行われ、これが記録データ再生部108によって再生される。記録データ再生部108によって再生されたデータは、記憶データ再生部109による場合と同様にして、模擬画像表示部109と駆動データ再生部110で再生される。そして、表示装置11で対応する模擬画像123が表示されるとともに、ロボット2の動作が制御される(ステップR2〜R3)。
【0047】
なお、図20においては、ステップR2の処理またはステップR3の処理のいずれかを省略するようにしてもよい。
【0048】
次に、図21および図22を参照して、図3のポインティングデバイスイベント判別部102の変形例について説明する。図21は、本例におけるポインティングデバイスイベント判別部102aの構成を示すブロック図である。図22は、本例において表示装置11において模擬画像123上に表示されるガイド情報125a等の一例を示す図である。
【0049】
図21に示すように、ポインティングデバイスイベント判別部102aは、座標入力部1021と、写像部1022と、ガイド情報選択部1023と、ガイド情報表示部1024と、イベント判定部1025とから構成されている。この場合、座標入力部1021は、図3のポインティングデバイス入力部101によって入力された座標情報を入力する機能を有する。
イベント判定部1025は、図3のポインティングデバイスイベント判別部102の全体による機能と同様の機能を有するものである。ただし、判定対象となる座標情報が、ポインティングデバイスイベント判別部102ではポインティングデバイスイベント入力部101から送られてきた座標情報そのものであるのに対して、イベント判定部1025ではポインティングデバイスイベント入力部101から送られてきた座標情報を写像部1022で例えばガイド情報1025a上の座標情報に写像変換した後のものである点が異なっている。
【0050】
ガイド情報選択部1023は、同一の模擬画像123上に複数のガイド情報を表示する場合に、いずれのガイド情報を選択するかを決定する機能を有する。図22は、図1の頭部20の動きに対応するガイド情報125aと、左前脚部22の動きに対応するガイド情報125bの2つを同時に表示する場合を示している。この場合、ガイド情報選択部1023は、ポインタ126に近い方のガイド情報125aを選択し、写像部1022やイベント判定部1025に通知するものとする。
【0051】
写像部1022は、ポインタ126によって指示される座標を、ガイド情報選択部1023によって選択されたガイド情報125a上の座標情報に変換する機能を有している。例えば、ポインタ126が点Eの座標を指示しているときには、その座標をガイド情報125a上の点Gの座標に変換する。また、ポインタ126が点Eから点Fに移動した場合には、ガイド情報125a上の点G〜点B〜点Hに対応する座標を変換結果として得る。つまり、この例において写像部1022は、次のようにして座標の変換(写像)を行う。
まず、ガイド情報125aを構成する折れ線ABCから、ポインタ126の座標点(例えば点E)へと垂線を引き、その垂線の足の座標(点G)を、ガイド情報上の座標点とする変換を行う。ただし、垂線を引くことができない範囲(領域(a)、(b)、および(c))にポインタ126が位置するときには、それぞれ、変換先として、点A、点B、および点Cの座標を選択する。これによって、ポインタ126の指示する座標が、ガイド情報125a上の座標情報に置き換えられる。
【0052】
ガイド情報表示部1024は、写像部1022で得られた変換後の座標情報に対応するように、ガイド情報選択部1023で選択されたガイド情報(この例ではガイド情報125a)上にインジケータ129を表示する。また、ガイド情報表示部1024は、インジケータ129を移動させた場合に、移動後のガイド情報125aの再描画処理等を行う。
【0053】
イベント判定部1025は、上述したように、ガイド情報表示部1024を介して写像部1022から送られてくる変換後の座標情報と、ガイド情報選択部1023によるガイド情報の選択結果に基づいて、それに対応する画像データファイルと制御データファイルが存在するか否かの判定を行う。その判定結果は、図3のポインティングデバイスイベント判別部102と同様に、記憶データ呼び出し部103やポインティングデバイスイベント記録部105へと出力される。
【0054】
本変形例によれば、ポインティングデバイス4によって入力された座標情報を、一旦、ガイド情報125aやガイド情報125b上の座標情報に変換した後、イベント情報に対する判定を行うので、例えばガイド情報の形状が複雑である場合等において、より直感的な操作を行えるといった効果が期待できる。
【0055】
なお、本例では、説明を簡単にするためガイド情報を3点をむすんだ2本の線分からなる折れ線としているが、折れ線であってもさらに複数の線分から構成したり、あるいは曲線状にする等の変更が可能である。
【0056】
以上説明したように、本発明の実施の形態によれば、例えば、視聴者に対して興趣を起こさせるロボット等の物体の動作の入力を支援する装置において、ロボット等の物体の動作を簡単に、入力したり、コーディングしたりすることが可能となる。その際、本実施形態では、表示装置に物体の動作の軌跡を示す情報を案内情報として表示するとともに、動作入力を行うポインティングデバイス4の操作に応じて、それによって駆動制御が行われたときに得られる物体の動作と同じ模擬画像を逐次更新しながら表示するようにしたので、ポインティングデバイス4の操作(移動の向きや量)とそれに対応する実物体の動き変化とを容易に、かつ直感的に把握することができる。
【0057】
また、ポインティングデバイスで与えられた座標から、動作の指示の位相(方向と大きさ)を、ガイド情報に対応させて求めるようにしたので、ポインティングデバイスの操作の自由度を適切に低減し、また、再生にかかる演算量を減らしてレスポンスをよくすることができる。
【0058】
なお、本発明の実施の形態は、コンピュータと、そのハードウェア資源を利用して実行されるプログラムとから構成され、そのプログラムは、コンピュータ読み取り可能な記録媒体もしくは通信回線経由で、配布することが可能である。また、プログラム実行時に確保されるデータ領域は、メモリ等の記録媒体を用いて確保される。
【0059】
なお、上記実施の形態では、頭部20を動作させる場合を中心にして説明したがさらに他の部位の動作を対象に加える場合等にも対応可能である。例えば、ロボット2の左右両前脚について、右脚を上・中・下、左脚を上・中・下に動かす動作パターンを考えると、3の2乗で9通りの動きがあることになるが、このような場合にはこれらの全ての組み合わせについて摸擬画像を準備しておいて、あらかじめ保持しておくようにする。その際の摸擬画像の生成方法としては、背景抽出法(正確には背景差分法とフレーム間差分法)を用いることが考えられる。
ここで、フレーム間差分法とは周期的に取り込む入力画像から前回取り込んだ画像を差し引き、差分値の絶対値が大きい領域を動領域として抽出する方法である。また、背景差分法とは、あらかじめ作成した背景画像を入力画像から差し引いて絶対値が大きな領域を駆動対象物体の領域として抽出する方法である。
【0060】
また、本発明によれば、実ロボットの各パーツ毎のコマ送り画像があれは、容易にロボットの動作を入力、および操作することが可能となる。
【0061】
【発明の効果】
以上の手段により、本発明によれば、ロボットの動作を入力・記録・再生可能なロボット動作教示アプリケーションを作成する際に(ロボット動作教示用のデータを入力際に)、簡易にアプリケーションの作成(データ入力)を支援することを可能となり、また作成されたアプリケーション(データ)を用いることによって、直感的な操作で簡易にロボットの動作を記録・再生することができる。
また、駆動指示と、それと同時に発生すべき音声情報とを含む合成信号を利用して、ロボットを制御することで、動作と音と画像を同期を取りつつ再生することを可能とすることができる。
【0062】
また、ロボットの動作を入力・記録・再生・表示する際に、操作対象画面上のロボットを示す模擬画像とともに表示されたガイド情報に沿って、操作者が操作することによって、イベントドリブン的にガイド情報に対応付けられたロボットの模擬画像を変化させると同時に、操作データを入力および記録することができるので、例えば操作データに合致したロボット駆動データを、直感的な操作で簡単にロボット動作を入力・記録・再生することが可能となり、且つ容易に動作を音や画像と同期を取りつつ再生することを可能となる。
【図面の簡単な説明】
【図1】 本発明の実施の形態の構成を示す外観図である。
【図2】 図1に示す実施の形態の構成を示すブロック図である。
【図3】 図2に示す入力・記録・再生・表示制御装置100の機能構成を示すブロック図である。
【図4】 図1に示す表示装置11における表示例を示す図である。
【図5】 図1のロボット2の構成を示すブロック図である。
【図6】 図3の入力・記録・再生・表示制御装置100から出力される駆動データを発生するための制御データファイルとロボット2における制御内容との関係の一例を説明するための図である。
【図7】 図1のロボット2の動作と、図3の駆動データ再生部110で再生される駆動データの波形との関係を示す図である。
【図8】 図3の模擬画像データ・制御データ記憶部104の構成を示すブロック図である。
【図9】 図8の模擬画像データ・制御データ記憶部104の動作を示すフローチャートである。
【図10】 図8の画像情報演算部1041において模擬画像を作成するための基本的な動作を説明するための説明図である。
【図11】 図8の画像情報演算部1041で作成されるロボット模擬画像の例を示す図である。
【図12】 図8の画像情報演算部1041でロボット模擬画像に付与されるガイド情報125の例を示す図である。
【図13】 図8の画像情報演算部1041でガイド情報125が付与された模擬画像の例を示す図である。
【図14】 図8の画像・制御データマッピング部1042におけるガイド情報と画像データファイルとの対応付けを示すテーブルを示す図である。
【図15】 図8の画像・制御データマッピング部1042における画像データファイルと制御データファイルとの対応付けを示すテーブルを示す図である。
【図16】 図3の模擬画像データ・制御データ記憶部104に記憶されるテーブルの一例を示す図である。
【図17】 図3の入力・記録・再生・表示制御装置100による動作入力と再生を同時に行う場合の動作を示すフローチャートである。
【図18】 図3の入力・記録・再生・表示制御装置100による動作入力と記録・再生を同時に行う場合の動作を示すフローチャートである。
【図19】 図18に示す動作入力と記録・再生時に記録されるデータの一例を示す図である。
【図20】 図3の入力・記録・再生・表示制御装置100による記録データの再生時の動作を示すフローチャートである。
【図21】 図3のポインティングデバイスイベント判別部102の変形例を示すブロック図である。
【図22】 図21のポインティングデバイスイベント判別部102aの機能を説明するための説明図である。
【符号の説明】
1 パーソナルコンピュータ
2 ロボット
3 オーディオライン
4 ポインティングデバイス
5 画像入力装置
10 本体装置
11 表示装置
100 入力・記録・再生・表示制御装置
101 ポインティングデバイスイベント入力部
102,102a ポインティングデバイスイベント判別部
104 模擬画像データ・制御データ記憶部
105 ポインティングデバイスイベント記録部
109 模擬画像表示部
110 駆動データ再生部
123 模擬画像
124 ロボット模擬画像
125 ガイド情報
1040 画像情報入力部
1041 画像情報演算部
1042 画像・制御データマッピング部
[0001]
BACKGROUND OF THE INVENTION
  The present invention is suitable for use in inputting and reproducing data for controlling the operation of an object such as a robot.Operation input method, apparatus, program, and recording mediumAbout.
[0002]
[Prior art]
Conventionally, when constructing a teaching device that teaches robot operation, it is necessary to design and control a GUI (graphical user interface) and operation commands that match the interface, operation commands, and driver. there were. In this case, the teaching device is composed mainly of a computer and its peripheral devices and a program executed by the computer, and data input in real time according to the operation of the operator, A control signal for causing a desired operation to be performed on an object such as a robot is output based on data recorded in advance.
[0003]
Next, an example of the conventional technique as described above will be specifically described. In this example, when generating control data (driving data) for causing an object such as a robot to perform a desired motion in accordance with an operation by an operator, the object is first modeled as a CG (computer graphics). Furthermore, the motion of the object is obtained based on the driving range of the object and its conditions, and the motion of the object can be simulated and displayed as a CG model in the computer. Then, after modeling, move the object model while converting the coordinates according to the operation amount of the pointing device, etc., record the change of the coordinate data during operation, and perform predetermined arithmetic processing on it, The control data required for operation is obtained. That is, control data (driving data) of the object is generated according to the amount of operation of the pointing device performed on the CG modeled object. In such a case, the operation of the pointing device is often complicated, and the operator cannot easily operate.
[0004]
Further, when the robot operation is reproduced in synchronism with sound or image, complicated processing such as timer counting is required.
[0005]
[Problems to be solved by the invention]
  In view of the above problems, the present invention can simplify the operation when inputting or reproducing data related to the motion of an object such as a robot.Operation input method, apparatus, program, and recording mediumThe purpose is to provide. The present invention also makes it possible to easily input, record, and play back robot movements with intuitive operations.Operation input method, apparatus, program, and recording mediumThe purpose is to provide.
[0006]
  Furthermore, the present invention makes it possible to reproduce the operation and the sound and the image while synchronizing them with a simple operation.Operation input method, apparatus, program, and recording mediumThe purpose is to provide. In other words, it is suitable for inputting data for synchronous playback of content such as sound and images and robot motion.Operation input method, apparatus, program, and recording mediumThe purpose is to provide. Specifically, for example, in the movement of an object having a meaning in the whole movement such as a gesture, there may be a case where a movement with good followability to the input is required at the expense of strict speed / position control. . In other words, it is desirable to ensure CG reproduction and robot motion response at the expense of frequency and accuracy. Therefore, the present invention can perform input with good follow-up and synchronized playback with a simple operation.Operation input method, apparatus, program, and recording mediumThe purpose is to provide.
[0007]
[Means for Solving the Problems]
  In order to solve the above problems, the first aspect of the present invention is:A method for teaching a real object performing an operation corresponding to the control data by inputting control data using a predetermined operator, and sequentially transmitting the control data. The real objectShooting the movement ofWhen a change in motion of a real object exceeds a predetermined magnitude in a captured image, a simulated image for the image frame is created, a moving area of the created simulated images is defined, and a representative point of the moving area is moved The guidance information is created by converting the obtained locus into display information obtained by expanding the obtained locus, the coordinate range in the operation target space of the guidance information is associated with each simulated image, and each simulated image is associated with each simulated image. On the other hand, mapping control data for operating the real object,Simulated imageAny one ofTheSaidDisplay with guidance information,When the coordinates specified by the predetermined operator are within the coordinate range in the operation target space of the guidance information, a simulated image corresponding to the coordinate range is displayed and control data mapped to the simulated image is displayed. And the acquired control data is output to the moving object, or the acquired control data is recorded as time-series information.
[0008]
  In the invention described above, the present invention is characterized in that the simulated image is obtained by performing CG processing on a captured image.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
  DETAILED DESCRIPTION OF THE INVENTIONOperation input method, apparatus, program, and recording mediumThe embodiment will be described. FIG. 1 is a diagram showing the overall configuration of a robot system. A personal computer 1 and a robot (for example, a robot in the form of an animal such as a mouse) 2 are connected by an audio line 3. The personal computer 1 includes a main body device 10 and a display device 11. In addition to the robot 2, a pointing device (operator) 4 such as a mouse and an image input device 5 are connected.
[0011]
The robot 2 can swing the head 20 in the left-right direction by a built-in servo motor, and the right front leg 21 and the left front leg 22 can be moved up and down.
The robot 2 can emit sound from the built-in speaker into the air. In this robot system, a signal (frequency-multiplexed signal) obtained by synthesizing a synthesized voice signal and drive data is transmitted from the personal computer 1 to the robot 2 via the audio line 3. Among these, the synthesized voice signal is an audible frequency band signal that forms voice information indicating, for example, words, words, or singing voice, and is output from a speaker built in the robot 2. The other drive data is a signal having a frequency equal to or higher than the audible frequency band (for example, a signal exceeding 18 kHz), and is used as a control command signal for the servo motor. That is, generation of sound and control of the drive part can be performed by information simultaneously sent by the audio line 3.
[0012]
FIG. 2 is a system block diagram for explaining the connections and signal flows of the components shown in FIG. As shown in FIG. 2, the personal computer 1 shown in FIG. 1 includes an input / recording / playback / display control device 100, which is a main characteristic part of the present invention, in the main body device 10. The input / recording / playback / display control device 100 is configured as an application program that operates on a predetermined operating system using a storage device (memory or hard disk) (not shown) or an input / output interface circuit.
The input / recording / playback / display control apparatus 100 inputs a signal indicating the operation state sent from the pointing device 4 and captures a moving image (video) or a still image captured by the image input apparatus 5. Record (capture). Here, in the present embodiment, the image input device 5 is used for photographing the operation of the robot 2. The input / recording / playback / display control device 100 also outputs a display control signal to the display device 11 and outputs a synthesized voice signal and drive data to the robot 2 via the audio line 3.
[0013]
Next, functional blocks constituting the input / recording / playback / display control apparatus 100 shown in FIG. 2 will be described with reference to FIG. However, here, in order to facilitate understanding, first, the drive data reproduction unit 110 in each block will be described, and then the simulated image data / control data storage unit 104 will be described. Other functional blocks will be described.
[0014]
First, with reference to FIG. 3 and FIG. 5 to FIG. 7, functional details of the drive data reproducing unit 110 and the robot 2 will be described. Here, FIG. 5 is a block diagram showing an internal configuration of the robot 2. FIG. 6 is a diagram showing an example of the correspondence between the control data file for generating each drive data for the robot 2 and the control contents thereby. FIG. 7 is an explanatory diagram showing the relationship between the robot 2 and each drive data waveform.
[0015]
The drive data reproducing unit 110 in FIG. 3 is composed of a software player and a sound device for reproducing sound files in the existing wave format, midi format, au format, etc., and stored data The control data file called by the reproduction unit 107 is received, and the drive data is reproduced and output based on the control data file. The reproduced drive data passes through the audio line 3 and is sent to the audio input unit 201 (see FIG. 5) of the robot 2 connected via the main line 3. The input drive data is sent to the control signal generation unit 202 in FIG. Here, the control signal generation unit 202 detects the level of each predetermined frequency component included in the drive data. When a signal matching a predetermined frequency component is detected, a control signal for driving a motor provided in the robot drive unit 203 is generated based on the detected signal.
[0016]
6 shows the relationship between the name of the control data file that is called by the stored data reproducing unit 107 in FIG. 3 and sent to the drive data reproducing unit 110, and the contents of the control performed by the robot driving unit 203 in FIG. ing. For example, when the control data file name Sound1 is sent to the drive data reproduction unit 110, the robot drive unit 203 swings −30 degrees (in this example, the head swings 30 in the right direction (leftward in the figure)). Degree) is controlled. Also, depending on the control data file names Sound 2, 3, 4,..., The control of swinging in the same direction of 20 degrees, 10 degrees, 5 degrees,. In this case, the drive data reproduced by the control data files Sound1, 2, 3, 4,... Is a signal having a different frequency or a composite signal of a plurality of different frequency components.
[0017]
FIG. 7 shows the correspondence between the waveform of the drive data reproduced by the drive data reproducing unit 110 and the operation of the robot 2. In this example, when the drive data of the waveforms Wa, Wb, Wc is generated. The head 20 of the robot 2 is controlled to swing in the right direction (robot 2a), the vertical direction (robot 2b), and the left direction (robot 2c). In this case, the drive data of the waveforms Wa, Wb, and Wc are signals having different frequencies (or signals having different frequency components), and the waveform Wa is data of the control data file name Sound1 described with reference to FIG. It corresponds to the playback waveform.
[0018]
Next, the simulated image data / control data storage unit 104 shown in FIG. 3 will be described in detail with reference to FIGS. FIG. 8 is a block diagram showing the configuration of the simulated image data / control data storage unit 104, and FIG. 9 is a flowchart for explaining the operation. FIG. 10 is a diagram for explaining an automatic simulation image generation function by the image / control data mapping unit 1042 of FIG. FIGS. 11 to 16 are diagrams showing each data and each image used when a specific example of the operation of the simulated image data / control data storage unit 104 is described.
[0019]
As illustrated in FIG. 8, the pseudo image data / control data storage unit 104 includes an image information input unit 1040 that captures image data input from the image input device 5, and a plurality of images captured by the image information input unit 1040. The image information calculation unit 1041 inputs image data and performs image information processing calculation, and the image / control data mapping unit 1042 associates image data with a control data file based on the calculation result. .
[0020]
With the above configuration, the pseudo image data / control data storage unit 104 converts the substantial image including the plurality of frames representing the operation of the robot 2 input from the image input device 5 by the image information input unit 1040 into image data (moving image data). And is stored in a predetermined storage means (step SA1 in FIG. 9).
Next, the image information calculation unit 1041 creates data of the simulated robot image 124 (124a to 124c) as shown in FIG. 11 (step SA2). Simulated images 124a,..., 124b,..., 124c shown in FIG. 11 are taken when the robot 2 is driven and controlled based on the drive data of the waveforms Wa,..., Wb,. , 2b,..., 2c in FIG. 7 is obtained by simplifying the image by CG processing.
[0021]
Imaging of the operation of the robot 2 is performed by causing the image input device 5 to start imaging in accordance with an instruction from the simulated image data / control data storage unit 104 in FIG. This is started by sequentially calling the data files Sound 1, 2, 3, 4,... At a predetermined time interval. The control data file called by the stored data calling unit 103 is sent to the stored data reproducing unit 107 for reproduction processing, and an analog driving data signal such as waveforms Wa, Wb, Wc in FIG. Is converted to output. Here, from the robot 2a having the head 20 most inclined to the right in FIG. 7 to the robot 2c having the head 20 most inclined to the left via the neutral robot 2b, For example, the image input device 5 outputs image data of about several tens to hundreds of frames.
[0022]
Thus, the image of each frame input by the image information input unit 1040 is temporarily stored in a predetermined storage unit. The image information calculation unit 1041 creates robot simulation images 124a to 124c as shown in FIG. 11 based on the stored image data. At this time, the image information calculation unit 1041 does not create the number of simulated robot images 124 corresponding to each image frame but corresponds to all the frames, and in addition to the start point and the end point, the change in operation has a predetermined magnitude. A new robot simulation image 124 is created every time the number of times is exceeded. This is a process for preventing the creation and storage of a plurality of similar images with almost no change in motion, and preventing an increase in data capacity and an increase in processing time. With reference to FIG. 10, the basic concept of the generation process of the simulated robot image in this embodiment will be described.
[0023]
FIG. 10 shows an image at which time point is retained as a simulated robot image when the actual motion of the robot 2 occurs as shown in this figure from time t to time t + 3k (k is a constant (ms)). It is a figure for demonstrating what is done. Here, the actual actions at times t, t + k, t + 2k, and t + 3k are as follows: the head 20 is in the vertical direction and the right and left front legs 21 and 22 are facing downward; The right and left front legs 21 and 22 are directed downward, the head 20 is further inclined to the right and the right and left front legs 21 and 22 are directed downward, and the head 20 In the same manner, the right front leg portion 21 is directed downward and the left front leg portion 22 is directed upward.
[0024]
In this example, a moving region is extracted for each frame by the background difference method, a difference between frames is obtained for the extracted region, and a determination using a predetermined evaluation function is performed with respect to a temporal change in the size. The process of extracting the simulated robot image is performed. As the evaluation function, a variable ΔD = D (t + mk) −D (t + nk) representing an image feature amount (a prime number of the moving region) is used. When ΔD> L, D (t + mk) is held as a robot simulation image. Here, ΔD is the number of pixels in the moving region, D (t + mk) is the robot image data at time (t + mk), and D (t + nk) is the robot image data held as a robot simulated image in the vicinity. Further, m = 0, 1, 2, 3,..., N = 0, 1, 2, 3,... (K> n), k is a constant (msec), and L is a moving region. It is a constant showing the threshold value in determination about the number of pixels.
[0025]
In the example shown in FIG. 10, when the image feature amount ΔD is obtained based on the robot image data D (t) at time t after time t, the image feature amount ΔD exceeds the threshold value L at time t + 2k. Therefore, the robot image data D (t + 2k) at that time is held as a robot simulation image. Then, when the image feature amount ΔD is obtained with reference to the robot image data D (t + 2k) at time t + 2k, the image feature amount ΔD again exceeds the threshold value L at time t + 3k. (T + 3k) is held as the next robot simulation image.
As described above, the image information calculation unit 1041 in FIG. 8 creates data of a plurality of robot simulation images and stores the relationship with the drive data at that time.
[0026]
Next, when the robot simulation image 124 is created as described above in step SA2 of FIG. 9 (in this case, assuming that the robot simulation images 124a to 124c of FIG. 11 are created as the robot simulation image 124), FIG. The image information calculation unit 1041 in FIG. 8 performs processing for assigning common guide information 125 to the plurality of simulated robot images 124a to 124c for a series of operations as shown in FIG. 12 (step SA3 in FIG. 9).
The guide information 125 is display information (image information) corresponding to a change in an actual driving part, that is, a movement locus. The guide information 125 is used as guide information for easily indicating the operation position, operation direction, operation amount, and the like of the pointing device 4 when inputting the operation of the robot 2. In the present embodiment, a combination of the simulated robot image 124 and the guide information 125 is referred to as a simulated image 123.
[0027]
The guide information 125 is determined, for example, by setting a region of interest for a moving region extracted from the robot simulated image 124 by the background subtraction method and obtaining a locus of the center of gravity of the region of interest. In the example of FIG. 12, first, the head 20 is set as a region of interest, and the locus of change in the center of gravity is obtained. Then, when the guide information 125 is added to the simulated image 123, the trajectory is determined in consideration of the ease of viewing the guide information 125 and the moving area (head 20) and the operability with the pointing device 4 described later. The guide information 125 is created by moving the simulated image 123 downward in the center direction and converting it to display information expanded in the horizontal and vertical directions.
[0028]
When the process for giving the guide information 125 (step SA3 in FIG. 9) is finished, the image / control data mapping unit 1042 in FIG. 8 performs a mapping process of the simulated image to the guide information (in FIG. 9). Step SA4). The simulated image mapping process for the guide information is a process for associating each simulated image 123 with a coordinate point (coordinate range) in the operation target space corresponding to the guide information 125.
Here, the process of step SA4 will be described with reference to FIGS. 13 is a diagram illustrating simulated images 123a to 123c obtained by adding the guide information 125 to the robot simulated images 124a to 124c of FIG. 11, and FIG. 14 is a diagram illustrating a table obtained as a result of the mapping process. is there.
[0029]
For example, in the simulated image 123a shown in FIG. 13, the head 20 is inclined to the rightmost side (left side in the figure). Therefore, for the simulated image 123a, an indicator 127a is set at a position located on the left side in the guide information, and a rectangular coordinate range 128a (range indicated by a broken line) when the indicator 127a is selected by the pointing device 4 is set. ) Is set. The indicator 127 is display information used as an interface for an input operation that indicates an approximate position of an input point when data is input using the pointing device 4.
In this case, the guide information 125 and the indicator 127a respectively correspond to a slider control (or track control) bar (which defines a range) and an indicator (which indicates the current value) that are normally used in a computer application. Can be seen as a thing. The coordinate range 128a is a range to be specified by the pointing device 4 when setting the indicator 127a at the position (or selecting the simulated image 123a).
[0030]
In FIG. 13, similarly, an indicator 127b and a coordinate range 128b are set near the center position of the simulated image 123b in which the head 20 is facing directly upward, and the head 20 is located on the leftmost side (toward the drawing). In the simulated image 123c inclined rightward), an indicator 127c and a coordinate range 128c are set at the right position.
As shown in FIG. 14, the setting information includes an X coordinate value (value indicating a position in the vertical direction on the simulated image 123) and a Y coordinate value (simulated image) indicating the coordinate range 128a,..., 128b,. 123, a value indicating a position in the horizontal direction). That is, here, as shown in FIG. 14, each coordinate range is mapped to a value indicating the coordinate range in the space to be operated by the pointing device 4, and image data of each simulated image 123a, ..., 123b, ... 123c. A table for associating file names (FIG. 1, FIG. 2, FIG. 3, FIG. 4,.
[0031]
In the present embodiment, the coordinate ranges 128a to 128c are not set to a constant size, but the range of the length in the direction substantially perpendicular to the guide information 125, that is, the vertical direction of the simulated image 123 is gradually increased or decreased. It is set to do. That is, with respect to the arc-shaped guide information 125 extending in the horizontal direction, the coordinate ranges 128a to 128c are ranges that surround the upper and lower sides. Further, the vertical length of the coordinate range 128b located near the center of the guide information 125 is set to be larger than the vertical length of the coordinate range 128a or 128c located near the periphery. According to this, for example, when the indicator is moved in the horizontal direction, it is not always necessary to move the pointer of the pointing device 4 in an arc shape opened downward along the guide information 125; It may be moved so as to have an arcuate shape that is open. That is, the indicator can be moved by moving the pointer within the range indicated by the chain line in FIG.
[0032]
Assuming that the result of the simulated image mapping process for the guide information is obtained as shown in FIG. 14, the image / control data mapping unit 1042 in FIG. 8 next performs the control data mapping process for the simulated image (FIG. 9). Step SA5). This is a process for mapping the control data necessary for operating the entities like the robots 2a to 2c in FIG. 7 to the simulated images 123a to 123c. That is, here, as shown in FIG. 15, the control data file names (Sound1, Sound2, Sound3) described with reference to FIG. 6 and the like with respect to the image data file names (FIG1, FIG2, FIG3, FIG4,...). , Sound4,...) Is associated with the table data. In this case, the image data file name Fig1 corresponds to the simulated image 123a.
[0033]
As described above, in the simulated image data / control data storage unit 104 in FIG. 8, the coordinate data in the operation target space of the guide information and the image data file name indicating the simulated image data as shown in FIG. And a table showing the correspondence with the control data file name indicating the control data is created, and this is stored and held.
[0034]
The description of the functions of the drive data reproduction unit 110 and the simulated image data / control data storage unit 104 in the operation input / recording / reproduction / display control apparatus 100 in FIG. Next, the entire operation including other functional blocks in FIG. 3 will be described with reference to FIGS.
[0035]
First, referring to FIG. 17, at the same time as the data input operation for the simulated image 123 displayed on the display device 11 shown in FIG. 4, the operation for reproducing the drive data corresponding to the operation to the robot 2 will be described. explain.
[0036]
FIG. 4 is a diagram illustrating an example of the display screen 121 in the display device 11 illustrated in FIGS. 1 and 2. A window 122 created by an application corresponding to the input / recording / playback / display control apparatus 100 is displayed on the display screen 121, and a simulated image 123 is displayed in the window 122. In this case, the simulated image 123 displays a pointer 126 that indicates the position indicated by the operation of the pointing device 4. However, here, the case where the position of the pointer 126 is at the position indicated by the solid line in FIG. 4 is indicated by reference numeral 126a. In response to the operation of the pointing device 4, the pointer 126a moves to, for example, the pointer 126b or moves to the pointer 126b.
[0037]
In the example illustrated in FIG. 4, the simulated image 123 is a simulated image 123 a including the robot simulated image 124 a. Also, the coordinates corresponding to the pointer 126a are values within the coordinate range 128a of FIG. Furthermore, it is assumed that the pointers 126b and 126c indicate values in the coordinate ranges 128b and 128c in FIG.
[0038]
17, the pointing device event input unit 101 in FIG. 3 acquires event information of the pointing device 4 when the operator operates the simulated image 123 with the guide information 125 in FIG. Information is sent to the pointing device event determination unit 102 (step S1). Here, the event information includes coordinate information of the pointer 126 in the operation target space (range in the simulated image 123) and an event occurrence time.
[0039]
The pointing device event discriminating unit 102 discriminates whether or not the simulated image data that is the operation target that matches the condition exists in the event information that is sent while sequentially judging whether or not the pointing has been performed ( Steps S1-S3). In other words, the coordinates indicated by the pointer 126 are stored in association with any one of the image data file names included in the table shown in FIG. 16 (the X coordinate value and the Y coordinate value). Whether it corresponds to one of the specified range). For example, when the X coordinate is in the range of 10 to 30 and the Y coordinate is in the range of 32 to 48, the image data file name FIG1 corresponding to the simulated image 123a exists, so it is determined that it exists. A result is obtained (“Yes” in step S3).
[0040]
If it is determined that there is data, the stored data calling unit 103 displays the simulated image data 123 (123a) associated with the event information of the pointing device and the control data file name (FIG. 1) associated with the image data file name (FIG. 1). Sound1) is acquired from the simulated image data / control data storage unit 104, and the image data file is displayed (step S4) and the control data file is reproduced (step S5). When the image data file name Fig1 corresponding to the simulated image 123a and the control data file name Sound1 are called, they are reproduced by the stored data reproduction unit 107. Then, the simulated image display unit 11 serving as an interface with the display device 11 displays the simulated image 123a corresponding to the reproduced image data file name Fig1 on the display device 11 (FIG. 4), and the drive data reproducing unit 110. As a result, drive data (waveform Wa) corresponding to the control data file name Sound1 is output, and the robot 2 is driven and controlled as in the robot 2a of FIG.
[0041]
Similarly, in FIG. 4, when the pointer 126 moves like the pointer 126b and the pointer 126c, the display device 11 displays the simulated image 123b and the simulated image 123c shown in FIG. The operation of the robot 2 is driven and controlled like the robot 2b and the robot 2c in FIG.
[0042]
Next, referring to FIGS. 18 to 19, simultaneously with the data input operation for the simulated image 123 displayed on the display device 11 shown in FIG. 4, the drive data corresponding to the operation is reproduced for the robot 2. At the same time, the operation for recording the operation history will be described.
[0043]
FIG. 18 is a flowchart showing the flow of each process in this operation, and steps T1 to T5 in FIG. 18 correspond to the processes in steps S1 to S5 in FIG. In this case, in steps T1 to T5 in FIG. 18, processing corresponding to the processing in steps S1 to S5 in FIG. 17 is executed. In step T6, the event information acquired in step T1 is sent to the pointing device event recording unit 105 in FIG. The pointing device event recording unit 105 acquires the control data file name associated with the simulated image data file name that matches the input event information from the simulated image data / drive data recording unit 104, and the event number as shown in FIG. Are recorded as time series information together with the time of each event.
[0044]
Note that the process of step T6 in FIG. 18 may be provided between the processes of step T3 and step T4. Further, the process of step T5 can be omitted and the drive control of the robot 2 can be omitted.
[0045]
Next, referring to FIG. 20, based on the time series information recorded as shown in FIG. 19, the simulated image 123 corresponding to the information is displayed on the display device 11 in time series, and at the same time, The operation when reproducing the drive data corresponding to the information will be described. In FIG. 20, step R2 and step R3 correspond to the processing of step T4 and step T5 in FIG. 19, respectively.
[0046]
In this case, at step R1 in FIG. 20, the recording data calling unit 106 in FIG. 3 calls the time series information as shown in FIG. 19 recorded in the pointing device event recording unit 105, and this is the recording data reproduction. It is reproduced by the unit 108. The data reproduced by the recorded data reproducing unit 108 is reproduced by the simulated image display unit 109 and the drive data reproducing unit 110 in the same manner as the case of the stored data reproducing unit 109. Then, the corresponding simulated image 123 is displayed on the display device 11 and the operation of the robot 2 is controlled (steps R2 to R3).
[0047]
In FIG. 20, either step R2 or step R3 may be omitted.
[0048]
Next, a modified example of the pointing device event determination unit 102 in FIG. 3 will be described with reference to FIGS. 21 and 22. FIG. 21 is a block diagram illustrating a configuration of the pointing device event determination unit 102a in the present example. FIG. 22 is a diagram illustrating an example of guide information 125a and the like displayed on the simulated image 123 in the display device 11 in this example.
[0049]
As shown in FIG. 21, the pointing device event determination unit 102a includes a coordinate input unit 1021, a mapping unit 1022, a guide information selection unit 1023, a guide information display unit 1024, and an event determination unit 1025. . In this case, the coordinate input unit 1021 has a function of inputting the coordinate information input by the pointing device input unit 101 in FIG.
The event determination unit 1025 has the same function as the function of the entire pointing device event determination unit 102 of FIG. However, the coordinate information to be determined is the coordinate information itself sent from the pointing device event input unit 101 in the pointing device event determination unit 102, whereas the coordinate information to be determined is from the pointing device event input unit 101 in the event determination unit 1025. The difference is that the coordinate information sent is converted by the mapping unit 1022 into coordinate information on the guide information 1025a, for example.
[0050]
The guide information selection unit 1023 has a function of determining which guide information to select when a plurality of guide information is displayed on the same simulated image 123. FIG. 22 shows a case where two pieces of guide information 125a corresponding to the movement of the head 20 in FIG. 1 and guide information 125b corresponding to the movement of the left front leg portion 22 are displayed simultaneously. In this case, the guide information selection unit 1023 selects the guide information 125a closer to the pointer 126 and notifies the mapping unit 1022 and the event determination unit 1025.
[0051]
The mapping unit 1022 has a function of converting the coordinates indicated by the pointer 126 into coordinate information on the guide information 125a selected by the guide information selection unit 1023. For example, when the pointer 126 indicates the coordinates of the point E, the coordinates are converted into the coordinates of the point G on the guide information 125a. When the pointer 126 moves from the point E to the point F, the coordinates corresponding to the points G to B to H on the guide information 125a are obtained as a conversion result. That is, in this example, the mapping unit 1022 performs coordinate conversion (mapping) as follows.
First, a perpendicular line is drawn from the polygonal line ABC constituting the guide information 125a to the coordinate point of the pointer 126 (for example, point E), and the coordinates of the foot of the perpendicular line (point G) are converted into coordinate points on the guide information. Do. However, when the pointer 126 is located in a range where the perpendicular cannot be drawn (regions (a), (b), and (c)), the coordinates of the point A, the point B, and the point C are used as conversion destinations, respectively. select. As a result, the coordinates indicated by the pointer 126 are replaced with the coordinate information on the guide information 125a.
[0052]
The guide information display unit 1024 displays an indicator 129 on the guide information (guide information 125a in this example) selected by the guide information selection unit 1023 so as to correspond to the coordinate information after conversion obtained by the mapping unit 1022. To do. In addition, when the indicator 129 is moved, the guide information display unit 1024 performs a redrawing process or the like of the guide information 125a after the movement.
[0053]
As described above, the event determination unit 1025 is based on the converted coordinate information sent from the mapping unit 1022 via the guide information display unit 1024 and the guide information selection result by the guide information selection unit 1023. It is determined whether or not the corresponding image data file and control data file exist. The determination result is output to the stored data calling unit 103 and the pointing device event recording unit 105 in the same manner as the pointing device event determining unit 102 in FIG.
[0054]
According to the present modification, the coordinate information input by the pointing device 4 is once converted into the coordinate information on the guide information 125a and the guide information 125b, and then the event information is determined. In the case of a complicated case, an effect that a more intuitive operation can be expected.
[0055]
In this example, in order to simplify the explanation, the guide information is a polygonal line composed of two line segments connecting three points. However, even if it is a polygonal line, the guide information is composed of a plurality of line segments or has a curved shape. Etc. can be changed.
[0056]
As described above, according to the embodiment of the present invention, for example, in an apparatus that supports input of the motion of an object such as a robot that is interesting for the viewer, the motion of the object such as a robot can be simplified. , Can be entered and coded. At this time, in the present embodiment, information indicating the locus of movement of the object is displayed as guidance information on the display device, and when drive control is performed in accordance with the operation of the pointing device 4 that performs movement input. Since the same simulated image as the motion of the obtained object is displayed while being sequentially updated, the operation (direction and amount of movement) of the pointing device 4 and the corresponding movement change of the actual object can be easily and intuitively performed. Can grasp.
[0057]
In addition, since the phase (direction and size) of the operation instruction is obtained from the coordinates given by the pointing device in accordance with the guide information, the degree of freedom of operation of the pointing device is appropriately reduced, and , It is possible to improve the response by reducing the amount of calculation required for reproduction.
[0058]
The embodiment of the present invention includes a computer and a program executed using the hardware resources, and the program can be distributed via a computer-readable recording medium or a communication line. Is possible. In addition, the data area secured when the program is executed is secured using a recording medium such as a memory.
[0059]
In the above-described embodiment, the case where the head 20 is moved has been mainly described. However, it is possible to deal with the case where the movement of another part is added to the target. For example, regarding the left and right front legs of the robot 2, when considering the movement pattern of moving the right leg up / middle / bottom and the left leg up / middle / bottom, there are nine movements with the square of 3. In such a case, pseudo images are prepared for all of these combinations and are held in advance. As a method for generating a simulated image at that time, it is conceivable to use a background extraction method (more precisely, a background difference method and an interframe difference method).
Here, the inter-frame difference method is a method of subtracting the previously captured image from the periodically captured input image and extracting a region having a large difference value as a moving region. The background subtraction method is a method of subtracting a background image created in advance from an input image and extracting a region having a large absolute value as a region of the drive target object.
[0060]
Further, according to the present invention, if there is a frame advance image for each part of the real robot, it becomes possible to easily input and operate the operation of the robot.
[0061]
【The invention's effect】
By the above means, according to the present invention, when creating a robot motion teaching application capable of inputting / recording / reproducing a robot motion (when inputting robot motion teaching data), the application can be easily created ( (Data input) can be supported, and by using the created application (data), the operation of the robot can be easily recorded and reproduced by an intuitive operation.
Further, by controlling the robot using a synthesized signal including a drive instruction and audio information that should be generated at the same time, it is possible to reproduce the motion, sound, and image while synchronizing them. .
[0062]
Also, when inputting / recording / reproducing / displaying the robot motion, the operator operates the guide along the guide information displayed together with the simulated image showing the robot on the operation target screen, thereby providing an event-driven guide. Since the simulated image of the robot associated with the information can be changed and operation data can be input and recorded at the same time, for example, robot operation data that matches the operation data can be easily input by intuitive operation. It is possible to record / reproduce, and to easily reproduce the operation while synchronizing with the sound and the image.
[Brief description of the drawings]
FIG. 1 is an external view showing a configuration of an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of the embodiment shown in FIG.
3 is a block diagram showing a functional configuration of the input / recording / playback / display control apparatus 100 shown in FIG. 2; FIG.
4 is a diagram showing a display example on the display device 11 shown in FIG. 1. FIG.
FIG. 5 is a block diagram showing a configuration of the robot 2 in FIG. 1;
6 is a diagram for explaining an example of a relationship between a control data file for generating drive data output from the input / recording / playback / display control apparatus 100 of FIG. 3 and control contents in the robot 2. FIG. .
7 is a diagram showing the relationship between the operation of the robot 2 in FIG. 1 and the waveform of the drive data reproduced by the drive data reproducing unit 110 in FIG. 3;
8 is a block diagram showing a configuration of a simulated image data / control data storage unit 104 in FIG. 3. FIG.
9 is a flowchart showing the operation of the simulated image data / control data storage unit 104 of FIG.
10 is an explanatory diagram for explaining a basic operation for creating a simulated image in the image information calculation unit 1041 of FIG. 8. FIG.
11 is a diagram showing an example of a robot simulation image created by the image information calculation unit 1041 in FIG.
12 is a diagram showing an example of guide information 125 given to a robot simulated image by the image information calculation unit 1041 in FIG. 8. FIG.
13 is a diagram showing an example of a simulated image to which guide information 125 is given by the image information calculation unit 1041 in FIG.
14 is a diagram showing a table showing correspondence between guide information and image data files in the image / control data mapping unit 1042 of FIG. 8. FIG.
15 is a diagram showing a table showing the correspondence between image data files and control data files in the image / control data mapping unit 1042 of FIG. 8. FIG.
16 is a diagram illustrating an example of a table stored in the simulated image data / control data storage unit 104 of FIG. 3;
17 is a flowchart showing an operation in the case where an operation input and reproduction by the input / recording / reproduction / display control apparatus 100 of FIG. 3 are performed simultaneously.
18 is a flowchart showing an operation in the case where an operation input and recording / reproduction by the input / recording / reproduction / display control apparatus 100 of FIG. 3 are simultaneously performed.
FIG. 19 is a diagram showing an example of data recorded during operation input and recording / reproduction shown in FIG. 18;
20 is a flowchart showing an operation at the time of reproduction of recorded data by the input / recording / reproduction / display control apparatus 100 of FIG. 3;
21 is a block diagram illustrating a modification of the pointing device event determination unit 102 of FIG. 3;
22 is an explanatory diagram for describing a function of a pointing device event determination unit 102a in FIG. 21;
[Explanation of symbols]
1 Personal computer
2 Robot
3 audio lines
4 pointing devices
5 Image input device
10 Main unit
11 Display device
100 Input / Recording / Playback / Display Control Device
101 Pointing device event input section
102, 102a Pointing device event discriminating unit
104 Simulated image data / control data storage unit
105 Pointing device event recording unit
109 Simulated image display
110 Drive data reproduction unit
123 Simulated image
124 Robot simulation image
125 Guide information
1040 Image information input unit
1041 Image information calculation unit
1042 Image / control data mapping unit

Claims (7)

制御データが入力されることで前記制御データに対応する動作を行う実物体に対し、当該実物体の動作を所定の操作子を用いて教示する方法であって、
前記所定の操作子による操作のめやすとなる案内情報の準備段階として、
前記制御データを順次送ることにより当該実物体の動きを撮影し、
撮影画像において実物体の動作の変化が所定の大きさを超えるときに、当該画像フレームに対する複数の模擬画像を作成し、
作成した前記模擬画像ごとの動領域を背景差分法により定め、前記模擬画像ごとに定めた動領域中の前記所定の操作子により指定される所定領域の重心を求め、求めた複数の重心の動きの軌跡を求め、求めた軌跡を左右上下方向に拡張して画像情報に変換した案内情報を作成し、
前記案内情報に幾つかのインジケータを設け、前記インジケータごとに前記所定の操作子で選択する際の領域となる座標範囲を設定し、
前記インジケータごとに、前記案内情報の当該インジケータの位置に基づいて前記模擬画像を対応付け、
前記模擬画像ごとに、前記実物体に該模擬画像に対応する動作をさせるための制御データを対応付け、
前記案内情報を用いた前記実物体の操作段階として、
前記模擬画像のいずれか1つを前記案内情報とともに表示し、
前記所定の操作子によって指定された座標が、前記案内情報における前記座標範囲内にある場合は、その座標範囲に対応する前記インジケータに対応付けられた模擬画像を表示するとともに、当該模擬画像に対応付けられた制御データを取得し、
前記模擬画像に対応付けられ取得された制御データを前記実物体に出力する
ことを特徴とする動作入力方法。
A method for teaching an operation of a real object that performs an operation corresponding to the control data by inputting control data using a predetermined operator,
As a preparation stage of guidance information that is easy to operate with the predetermined operator,
Shooting the movement of the real object by sequentially sending the control data,
When the change in the action of the real object in the captured image exceeds a predetermined size, create a plurality of simulated images for the image frame,
A moving region for each of the simulated images created is determined by a background difference method, a center of gravity of a predetermined region specified by the predetermined operator in the moving region determined for each of the simulated images is determined, and a plurality of determined center of gravity motions are obtained The guide information is created by expanding the obtained trajectory in the horizontal and vertical directions and converting it into image information.
Several indicators are provided in the guidance information, and a coordinate range that is an area for selection with the predetermined operation element is set for each indicator.
For each indicator, associate the simulated image based on the position of the indicator in the guidance information,
For each simulated image, control data for causing the real object to perform an operation corresponding to the simulated image is associated,
As an operation stage of the real object using the guidance information,
Displaying any one of the simulated images together with the guidance information;
When the coordinates designated by the predetermined operator are within the coordinate range in the guidance information, the simulated image associated with the indicator corresponding to the coordinate range is displayed and the simulated image is supported. Get the attached control data,
An operation input method comprising: outputting control data associated with the simulated image to the real object .
前記模擬画像は、撮像画像のCG化処理を行って求められたものであることを特徴とする請求項1に記載の動作入力方法。The motion input method according to claim 1, wherein the simulated image is obtained by performing CG processing of a captured image. 制御データが入力されることで前記制御データに対応する動作を行う実物体に対し、当該実物体の動作を所定の操作子を用いて教示する装置であって、
前記所定の操作子による操作のめやすとなる案内情報の準備段階の手段として、
前記制御データを順次送ることにより当該実物体の動きを撮影する手段と、
撮影画像において実物体の動作の変化が所定の大きさを超えるときに、当該画像フレームに対する複数の模擬画像を作成する手段と、
作成した前記模擬画像ごとの動領域を背景差分法により定め、前記模擬画像ごとに定めた動領域中の前記所定の操作子により指定される所定領域の重心を求め、求めた複数の重心の動きの軌跡を求め、求めた軌跡を左右上下方向に拡張して画像情報に変換した案内情報を作成する手段と、
前記案内情報に幾つかのインジケータを設け、前記インジケータごとに前記所定の操作子で選択する際の領域となる座標範囲を設定する手段と、
前記インジケータごとに、前記案内情報の当該インジケータの位置に基づいて前記模擬画像を対応付ける手段と、
前記模擬画像ごとに、前記実物体に該模擬画像に対応する動作をさせるための制御データを対応付ける手段と、
前記案内情報を用いた前記実物体の操作段階の手段として、
前記模擬画像のいずれか1つを前記案内情報とともに表示する手段と、
前記所定の操作子によって指定された座標が、前記案内情報における前記座標範囲内にある場合は、その座標範囲に対応する前記インジケータに対応付けられた模擬画像を表示するとともに、当該模擬画像に対応付けられた制御データを取得する手段と、
前記模擬画像に対応付けられ取得された制御データを前記実物体に出力する手段と、
を備えることを特徴とする動作入力装置。
An apparatus that teaches the operation of a real object using a predetermined operator with respect to a real object that performs an operation corresponding to the control data when the control data is input.
As a means for preparing guidance information that is easy to operate with the predetermined operator,
Means for photographing the movement of the real object by sequentially sending the control data;
Means for creating a plurality of simulated images for the image frame when a change in the action of the real object exceeds a predetermined size in the captured image;
A moving region for each of the simulated images created is determined by a background difference method, a center of gravity of a predetermined region specified by the predetermined operator in the moving region determined for each of the simulated images is determined, and a plurality of determined center of gravity motions are obtained Means for creating a guide information obtained by expanding the obtained trajectory in the horizontal and vertical directions and converting it into image information;
Means for providing several indicators in the guidance information, and setting a coordinate range as an area when selecting with the predetermined operator for each indicator;
Means for associating the simulated image for each indicator based on the position of the indicator in the guidance information;
Means for associating control data for causing the real object to perform an operation corresponding to the simulated image for each simulated image;
As means for operating the real object using the guidance information,
Means for displaying any one of the simulated images together with the guidance information;
When the coordinates designated by the predetermined operator are within the coordinate range in the guidance information, the simulated image associated with the indicator corresponding to the coordinate range is displayed and the simulated image is supported. Means for acquiring attached control data;
Means for outputting control data associated with the simulated image to the real object ;
An operation input device comprising:
前記模擬画像は、撮像画像のCG化処理を行って求められたものであることを特徴とする請求項3に記載の動作入力装置。The motion input device according to claim 3, wherein the simulated image is obtained by performing CG processing of a captured image. 制御データが入力されることで前記制御データに対応する動作を行う実物体に対し、当該実物体の動作を所定の操作子を用いて教示する装置を制御する制御コンピュータに、
前記所定の操作子による操作のめやすとなる案内情報の準備段階のステップとして、
前記制御データを順次送ることにより当該実物体の動きを撮影するステップと、
撮影画像において実物体の動作の変化が所定の大きさを超えるときに、当該画像フレームに対する複数の模擬画像を作成するステップと、
作成した前記模擬画像ごとの動領域を背景差分法により定め、前記模擬画像ごとに定めた動領域中の前記所定の操作子により指定される所定領域の重心を求め、求めた複数の重心の動きの軌跡を求め、求めた軌跡を左右上下方向に拡張して画像情報に変換した案内情報を作成するステップと、
前記案内情報に幾つかのインジケータを設け、前記インジケータごとに前記所定の操作子で選択する際の領域となる座標範囲を設定するステップと、
前記インジケータごとに、前記案内情報の当該インジケータの位置に基づいて前記模擬画像を対応付けるステップと、
前記模擬画像ごとに、前記実物体に該模擬画像に対応する動作をさせるための制御データを対応付けるステップと、
前記案内情報を用いた前記実物体の操作段階のステップとして、
前記模擬画像のいずれか1つを前記案内情報とともに表示するステップと、
前記所定の操作子によって指定された座標が、前記案内情報における前記座標範囲内にある場合は、その座標範囲に対応する前記インジケータに対応付けられた模擬画像を表示するとともに、当該模擬画像に対応付けられた制御データを取得するステップと、
前記模擬画像に対応付けられ取得された制御データを前記実物体に出力するステップと、
を実行させるためのプログラム。
To a control computer that controls a device that teaches the operation of the real object using a predetermined operator with respect to a real object that performs an operation corresponding to the control data when the control data is input.
As a step of the preparation stage of guidance information that is easy to operate with the predetermined operator,
Photographing the movement of the real object by sequentially sending the control data;
Creating a plurality of simulated images for the image frame when a change in motion of the real object exceeds a predetermined magnitude in the captured image;
A moving area for each of the created simulated images is determined by a background difference method, a center of gravity of a predetermined area specified by the predetermined operator in the moving area determined for each of the simulated images is obtained, and movements of the obtained plurality of center of gravity are obtained. Creating a guide information obtained by expanding the obtained trajectory in the horizontal and vertical directions and converting it into image information;
Providing a number of indicators in the guidance information, and setting a coordinate range to be an area when selecting with the predetermined operator for each indicator;
For each indicator, associating the simulated image based on the position of the indicator in the guidance information;
Associating control data for causing the real object to perform an operation corresponding to the simulated image for each simulated image;
As a step of the operation stage of the real object using the guidance information,
Displaying any one of the simulated images together with the guidance information;
When the coordinates specified by the predetermined operator are within the coordinate range in the guidance information, the simulated image associated with the indicator corresponding to the coordinate range is displayed and the simulated image is supported. Obtaining attached control data;
Outputting control data associated with the simulated image and acquired to the real object ;
A program for running
前記模擬画像は、撮像画像のCG化処理を行って求められたものであることを特徴とする請求項5に記載のプログラム。The program according to claim 5, wherein the simulated image is obtained by performing CG processing of a captured image. 請求項5又は6記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium on which the program according to claim 5 or 6 is recorded.
JP2001234628A 2001-08-02 2001-08-02 Operation input method, apparatus, program, and recording medium Expired - Fee Related JP4028192B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001234628A JP4028192B2 (en) 2001-08-02 2001-08-02 Operation input method, apparatus, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001234628A JP4028192B2 (en) 2001-08-02 2001-08-02 Operation input method, apparatus, program, and recording medium

Publications (2)

Publication Number Publication Date
JP2003039358A JP2003039358A (en) 2003-02-13
JP4028192B2 true JP4028192B2 (en) 2007-12-26

Family

ID=19066207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001234628A Expired - Fee Related JP4028192B2 (en) 2001-08-02 2001-08-02 Operation input method, apparatus, program, and recording medium

Country Status (1)

Country Link
JP (1) JP4028192B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2424723B (en) * 2003-11-13 2007-09-19 Japan Science & Tech Agency Method for driving robot
JP4621641B2 (en) * 2006-07-26 2011-01-26 本田技研工業株式会社 Robot teaching CAD apparatus and robot teaching method

Also Published As

Publication number Publication date
JP2003039358A (en) 2003-02-13

Similar Documents

Publication Publication Date Title
JP7095722B2 (en) Information processing equipment and programs
CN113439255B (en) Information processing device, information processing method and program
CA2838878C (en) Method and apparatus for controlling contents in electronic device
JP5274187B2 (en) Image processing program, information processing apparatus, image processing method, and image processing system
JP5434965B2 (en) Movie generation method, movie generation device, and program
JP2008254074A (en) Robot motion editing apparatus and program thereof
JP2005286903A (en) Device, system and method for reproducing sound, control program, and information recording medium with the program recorded thereon
JP6225989B2 (en) Vibration data generation program and vibration data generation device
JP5454604B2 (en) Video playback method, video playback device, and program
JP6165815B2 (en) Learning system, learning method, program, recording medium
JP2995745B2 (en) Motion information extraction device
CN1808566B (en) Playback apparatus and method
JP2018148272A (en) Imaging apparatus, image processing apparatus, imaging method, and program
JPWO2017029849A1 (en) Image processing method, image processing apparatus, and program
JP5375897B2 (en) Image generation method, image generation apparatus, and program
JP4028192B2 (en) Operation input method, apparatus, program, and recording medium
JP2015114694A (en) Image processing device, image processing method, and program
TWI624782B (en) Method and system for editing hyperlink in a three-dimensional scene
JP6028489B2 (en) Video playback device, video playback method, and program
JP2753324B2 (en) Information processing system
JP2005249872A (en) Device and method for setting music reproduction parameter
JP2006203444A (en) Background image generation apparatus and background image generation program
JP2006064973A (en) Control system
JP4967983B2 (en) Information recording apparatus and program
JP2001118084A (en) Object display control system and recording medium

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060627

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070413

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071011

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

Free format text: PAYMENT UNTIL: 20101019

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101019

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101019

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111019

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111019

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121019

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121019

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131019

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees