(57)【要約】【課題】ロボットの３次元画像モデルの動画像を、必要に応じて柔軟な形態で表示できるロボットシミュレーション画像表示システムを提供する。【解決手段】ＱＲコード４にロボットの型番情報Ｔと３次元画像モデルＭを動作させるデモ用プログラムＳＰを記録し、パソコン２は、カメラ１が撮像したＱＲコード４の画像データ中の４点Ｑ１〜Ｑ４に対応するスクリーン上の４点Ｐ１〜Ｐ４から、基準点Ｃ０を３次元座標の原点とし、原点からＱ１，Ｑ２に沿う方向をＸ軸，Ｙ軸，ＸＹ平面上で原点に立つ法線をＺ軸として、ＱＲコード４の３次元空間における姿勢情報：回転行列Ｍｒを取得し、回転行列Ｍｒを３次元画像データＲに乗算して３次元画像モデルＭをディスプレイ５に表示させる。カメラ１により撮像されるＱＲコード４の位置・姿勢が変化すると３次元画像モデルＭの位置・姿勢も変化させ、デモ用プログラムＳＰに従い３次元空間表示で動作させる。【選択図】図１
2010179403.tif 000002
【特許請求の範囲】
【請求項１】
撮像した画像のデータを出力するカメラと、
複数のロボットの型番情報に対応した３次元画像モデルのデータが記憶されている画像データ記憶手段と、
前記カメラにより撮像された画像データが入力されると共に、前記画像データ記憶手段に記憶されている画像データを取得可能である画像表示装置とを備え、
前記画像表示装置は、画像を表示する表示手段と、明暗セルで表わされるデータ領域内において４点の位置が特定可能であると共に、それらの内１点は基準点として他の３点との識別が可能であり、且つそれら４点間の位置関係が特定されている２次元コードの画像データをデコードするデコード手段と、前記表示手段に表示させる画像のデータを画像処理する画像データ処理手段とを備え、
前記画像データ処理手段は、
前記カメラが、ロボットの型番情報及び前記ロボットの３次元画像モデルを動作させるデモ用プログラムが記録されている２次元コードを撮像した場合に、前記２次元コードの画像データに含まれている前記４点の位置から、前記２次元コードの３次元空間における位置・姿勢情報を取得する位置・姿勢情報取得手段を備え、
前記カメラが前記２次元コードを撮像した場合、前記デコード手段がデコードして得られた前記ロボットの型番情報に対応する３次元画像モデルのデータを前記画像データ記憶手段より読み出し、
前記位置・姿勢情報取得手段が、前記基準点を３次元座標の原点とし、前記４点のうち基準点の両隣にある２点の一方に沿う方向をＸ軸，他方に沿う方向をＹ軸，ＸＹ平面上において前記原点に立つ法線をＺ軸として定め、前記姿勢情報に対応する回転行列を求めると、前記回転行列を前記３次元画像モデルのデータに乗算して、前記Ｘ，Ｙ，Ｚの各軸に前記３次元画像モデルの対応する３軸を適応させて前記表示手段に表示させ、
前記カメラにより撮像される前記２次元コードの位置・姿勢が変化すると、その変化に合わせて前記表示手段に表示させる前記３次元画像モデルの位置・姿勢を変化させ、
前記２次元コードに記録されている前記ロボットのデモ用プログラムに従い、前記３次元画像モデルを３次元空間表示で動作させることを特徴とするロボットシミュレーション画像表示システム。
【請求項２】
ユーザにより自動モード，手動モードの何れかを設定させるモード設定手段を備え、
前記画像データ処理手段は、
前記カメラが、初期の撮像位置から移動されたことによる移動量を、当該カメラにより撮像された前記２次元コードの画像データのサイズ変化より算出する移動量算出手段を備え、
前記自動モードが設定されると、前記２次元コードに記録されている前記ロボットのデモ用プログラムに従い前記３次元画像モデルを動作させ、
前記手動モードが設定されると、前記２次元コードの位置・姿勢の変化に合わせて前記表示手段に表示させる前記３次元画像モデルの位置・姿勢を変化させる処理を禁止すると共に、前記移動量算出手段により算出された前記カメラの移動量に比例させて、前記３次元画像モデルの手先表示位置を移動させることを特徴とする請求項１記載のロボットシミュレーション画像表示システム。
【請求項３】
ユーザによる動作速度可変モードの設定が可能であるモード設定手段を備え、
前記画像データ処理手段は、
前記カメラにより撮像された前記２次元コードの画像サイズが変化した場合の変化量を検出する変化量検出手段を備え、
前記動作速度可変モードが設定されると、前記２次元コードの位置・姿勢の変化に合わせて前記表示手段に表示させる前記３次元画像モデルの位置・姿勢を変化させる処理を禁止すると共に、前記２次元コードの画像サイズの変化量に比例させて、前記３次元画像モデルが前記デモ用プログラムに応じて動作する速度を変化させることを特徴とする請求項１又は２記載のロボットシミュレーション画像表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの３次元画像モデルを表示させて、その動作をシミュレーションするための画像表示システムに関する。
【背景技術】
【０００２】
現在、産業用ロボットの売り込みを行う営業マンは、製品カタログに掲載されているロボットの写真を用いたり、パーソナルコンピュータのディスプレイにロボットの３次元画像モデルを表示させ、ロボットの動作を３次元的な動画像で表示させるようにしている。ところが、３次元画像モデルを表示させる操作は容易ではなく習熟度に個人差があり、人によっては製品説明を十分に行うことができないという問題がある。
【０００３】
例えば特許文献１には、識別可能な複数個の位置決めパターンが配置されている物体教示指標の画像をカメラにより撮像して得られるデータに基づいて、対応する物品の３次元画像モデルデータをハードディスクやネットワーク上のサーバなどから読み出して、実際の背景画像に重ねて表示させる技術が開示されている。また、特許文献２には、人型のロボットにより物体を把持させて移動させるため、前記物体に２次元コードを貼付し、カメラにより撮像した２次元コードの画像から、２次元コードの位置・姿勢を把握する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２５６８７６号公報
【特許文献２】特開２００７−０９０４４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、産業用ロボットの場合は、実際の動作がどのようになるかを動画で表示させた方が特徴を示し易く、特許文献１のように単に３次元画像モデルを表示させるだけではプレゼンテーションが不十分となってしまう。また、３次元画像モデルの表示形態を変更する、例えばある軸を中心に３次元画像モデルを回転させて表示させるには、やはりパソコンを操作する必要があり、取扱いが簡単になるとは言えない。また、特許文献２に開示されている技術は、人型のロボットにより搬送対象とする物体を把持させることを目的としたもので、３次元画像モデルをどのように表示させるか、という技術との関連性は低い。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的は、ロボットの３次元画像モデルの動画像を、必要に応じて柔軟な形態で表示できるロボットシミュレーション画像表示システムを提供することにある。
【課題を解決するための手段】
【０００７】
請求項１記載のロボットシミュレーション画像表示システムによれば、２次元コードにロボットの型番情報と、そのロボットの３次元画像モデルを動作させるデモ用プログラムとを記録しておく。また、前記２次元コードは、データ領域内に存在する４点の位置が特定可能であり、それらの内１点は基準点として他の３点との識別が可能で、且つそれら４点間の位置関係が特定されているものを使用する。
画像表示装置の画像データ処理手段は、カメラが撮像した２次元コードの画像データに含まれている前記４点の位置から、位置・姿勢情報取得手段が、基準点を３次元座標の原点とし、基準点の両隣にある２点の一方に沿う方向をＸ軸，他方に沿う方向をＹ軸，ＸＹ平面上において前記原点に立つ法線をＺ軸として定め、前記姿勢情報に対応する回転行列を求めると、その回転行列を３次元画像モデルのデータに乗算して、Ｘ，Ｙ，Ｚの各軸に３次元画像モデルの対応する３軸を適応させて表示手段に表示させる。
【０００８】
そして、カメラにより撮像される２次元コードの位置・姿勢が変化すると、その変化に合わせて表示させる３次元画像モデルの位置・姿勢も変化させ、２次元コードに記録されているデモ用プログラムに従い３次元画像モデルを３次元空間表示で動作させる。
斯様に構成すれば、ロボットの３次元画像モデルは、カメラの視点から見た２次元コードの位置・姿勢のまま立体画像として表示手段に表示され、デモ用プログラムに従って動く様子が動画表示される。そして、カメラの視点が移動すれば、それに伴って３次元画像モデルの表示形態：位置・姿勢も変化するので、例えばロボットの製品説明を行う場合など、顧客に対するデモンストレーションを視覚的に判り易く行うことができる。
【０００９】
請求項２記載のロボットシミュレーション画像表示システムによれば、画像データ処理手段が備える移動量算出手段は、カメラが初期の撮像位置から移動されたことによる移動量を、当該カメラにより撮像された２次元コードの画像データのサイズ変化より算出する。そして、自動モードが設定されると、請求項１と同様に２次元コードに記録されているデモ用プログラムに従い３次元画像モデルを動作させるが、手動モードが設定されると、２次元コードの位置・姿勢の変化に合わせて３次元画像モデルの位置・姿勢を変化させる処理を禁止すると共に、移動量算出手段により算出されたカメラの移動量に比例（正比例，反比例を含む）させて、３次元画像モデルの手先表示位置を移動させる。
すなわち、デモ用プログラムに従った動画表示だけでなく、カメラを移動させた状態に従ってロボットの手先表示位置を動かすことができるので、ロボットの動作状態をより多様に表示させることができる。
【００１０】
請求項３記載のロボットシミュレーション画像表示システムによれば、画像データ処理手段が備える変化量検出手段は、カメラにより撮像された２次元コードの画像サイズが変化した場合の変化量を検出し、動作速度可変モードが設定されると、２次元コードの位置・姿勢の変化に合わせて３次元画像モデルの位置・姿勢を変化させる処理を禁止すると共に、２次元コードの画像サイズの変化量に比例させて３次元画像モデルがデモ用プログラムに応じて動作する速度を変化させる。したがって、３次元画像モデルの動画速度をダイナミックに変化させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施例であり、ロボットシミュレーション画像表示システムの全体構成を示す図
【図２】ＱＲコードに記録されているデータを説明する図
【図３】ＱＲコードの座標と、ロボットの３次元画像モデルの座標とを一致させる処理を説明する図
【図４】カメラによる撮像位置が変化した場合の、３次元画像モデルの表示状態を示す図
【図５】スピード設定モードを説明する図
【図６】手動モードを説明する図
【図７】各モードの切替え設定を行うための処理を示すフローチャート
【図８】（ａ）は自動モードの処理内容を示すフローチャート、（ｂ）はステップＳ１３の処理を説明する図
【図９】回転行列Ｍｒを決定する処理を示すフローチャート
【図１０】動作スピード設定処理を示すフローチャート
【図１１】手動モードの処理内容を示すフローチャート
【図１２】ステップＳ１４，Ｓ１５の処理を説明する図（その１）
【図１３】ステップＳ１４，Ｓ１５の処理を説明する図（その２）
【図１４】ステップＳ１４，Ｓ１５の処理を説明する図（その３）
【図１５】ステップＳ１４，Ｓ１５の処理を説明する図（その４）
【図１６】本発明の第２実施例であり、本発明を適用できる２次元コードを例示した図
【図１７】そのままでは本発明を適用できない２次元コードを例示した図
【発明を実施するための形態】
【００１２】
（第１実施例）
以下、本発明の第１実施例について図１乃至図１５を参照して説明する。図１は、ロボットシミュレーション画像表示システムの全体構成を示す。このシステムは、ＣＣＤ（Charge Coupled Device）やＣＭＯＳイメージセンサなどを用いたカメラ１と、このカメラ１によって撮像された画像データが送信されて画像処理を行うパーソナルコンピュータ（パソコン，デコード手段，画像データ記憶手段，画像表示装置，画像データ処理手段，位置・姿勢情報取得手段，モード設定手段，移動量算出手段，変化量算出手段）２とで構成されている。
【００１３】
例えば複数の産業用ロボットが掲載されているカタログ３には、各ロボットの外観を映した写真と共にＱＲコード（登録商標，２次元コード）４が掲載されている。このＱＲコード４には、図２に示すように、各ロボットの型番（例えばＶＳ−６５７７Ｇ，ＨＳ−４５５３Ｇ）と、ロボットの３次元画像モデルＭをパソコン２のディスプレイ（表示手段）５に表示させた状態で、上記画像モデルを動作させるためのシミュレーション動作プログラムとが情報として記録されている。
【００１４】
上記動作プログラムは、図２（ａ）に一部を示すように、ロボットアームの手先を、座標点Ｐ１，Ｐ２，Ｐ１，Ｐ３，Ｐ４…等に順次移動させる命令（move P1など）を列記したものとなっている。パソコン２には、各ロボットに対応する３次元画像モデルの画像データや、画像データを処理して表示させるためのプログラム，ＱＲコード４に記録されている情報データをデコードするためのプログラム等がハードディスク等の記憶装置にインストールされている。
【００１５】
そして、カメラ１が、例えばテーブル上に載置されたカタログ３に印刷されているＱＲコード４の画像を撮像してパソコン４に送信すると、パソコン２は、ＱＲコード４に記録されているデータをデコードし、ロボットの型番に対応する３次元画像モデルＭのデータを読み出してディスプレイ５に表示させると共に、シミュレーションプログラムに応じて上記画像モデルの動作をアニメーションで表示させる。このようにして、例えば営業マンＳＨが客先に出向いた場合に、ロボットが実際にどのような動きをするのかを、パソコン２のディスプレイ５により顧客ＣＨに対して提示することができる。
またその際に、パソコン２は、カメラ１によって撮像されたＱＲコード４の画像が、カメラ１の視点から見て３次元的に傾いている状態に応じて、ロボットの画像モデルを実際の背景映像に合成し、図１や図４に示すように、カタログ３平面上のＱＲコード４の位置に合わせて傾いた状態で表示させる。
【００１６】
次に、パソコン２が上述した画像処理をどのようにして行うかを、図７乃至図１５も参照して説明する。図７は、パソコン２において、ユーザが３次元画像モデルをどのような形態で動作させるか、モードの切替え設定を行うための処理を示すフローチャートである。この処理は、ディスプレイ５にモード切替え設定用の画面を表示させ、ユーザが例えばマウスなどのポインティングデバイスを用いることで選択する。
【００１７】
パソコン２は、ユーザによるモード切替えをチェックし（ステップＳ１）、続くステップＳ２において、自動モードを選択したか（ＹＥＳ），手動モードを選択したか（ＮＯ）を判断する。そして、自動モード，手動モードに応じた動作（それぞれステップＳ３、Ｓ５）を行う。ステップＳ４では、当該アプリケーションプログラムの終了が選択されたか否かを判断する。ここで「自動モード」とは、ロボットの３次元画像モデルＭを、ＱＲコード４に記録されている動作プログラムに応じて動作させるモードであり、「手動モード」は上記動作プログラムを使用せず、画像モデルＭを、カメラ１の移動状態に応じて動作させるモードである（詳細については後述する）。
【００１８】
図８（ａ）は、自動モードの処理内容を示すフローチャートである。先ず、２次元コード（ここではＱＲコード４）のデータをデコードして、ロボットの型番情報Ｔと動作プログラムＳＰとを読み取ると（ステップＳ１１）、型番情報Ｔに対応したロボットの３次元画像データＲを記憶装置より読み込む（ステップＳ１２）。
次に、カメラ１により画像モデルＭを表示させるため、２次元コードの画像Ａを撮像すると（ステップＳ１３）、その画像Ａを、図８（ｂ）に示すようにピクセル単位でスキャンする。それにより、カメラ１の焦点（視点）Ｆを基準とする、画像Ａの３次元的な位置・姿勢を求めるために使用する４点：Ｐ１〜Ｐ４を特定する（ステップＳ１４）。それから、それら４点：Ｐ１〜Ｐ４を用いて、２次元コードの平面の位置Ｃ０と、回転行列Ｍｒとを求める（ステップＳ１５）。
【００１９】
ここで、ステップＳ１４，Ｓ１５の詳細を、図９及び図１２乃至図１５を参照して説明する。図１２に示すように、上記の４点：Ｐ１〜Ｐ４とは、画像Ａがパソコン４のディスプレイ５の平面（スクリーン平面と称す）に投影された場合に、２次元コードの四角の位置Ｑ１〜Ｑ４がスクリーン平面上の座標として特定される位置である。ＱＲコード４の場合、その四角のうち３個所には位置決めマーカ（切り出しシンボル）が配置されており、それらの角が例えばＱ１〜Ｑ３となる。位置決めマーカの角Ｑ１〜Ｑ３を特定できれば残る１つのＱ４はそれらに基づいて特定することができる。また、これら４点Ｑ１〜Ｑ３の内、基準となる１点（基準点）が上記「平面の位置Ｃ０」に対応するが（第２実施例の図１６（ａ）参照）、この場合、Ｑ１−Ｐ１が上記の位置ＣＯに対応する。そして、回転行列Ｍｒは、カメラ１によって２次元コードを撮像した場合に、スクリーン上に投影される２次元コードの画像の位置姿勢に対応して求められる。
【００２０】
図９は、ステップＳ１５において、回転行列Ｍｒを決定する処理を示すフローチャートである。また、図１３乃至図１５は、図９の処理に対応したイメージを示す。先ず、カメラ１の焦点Ｆと、スクリーン平面上の２点Ｐ１，Ｐ２を含む平面の法線ベクトルＶ１２を求める（ステップＳ３１）。ここで、スクリーン上の２点を通過する直線の一般式は、スクリーン座標を（ｘｃ，ｙｃ）とすると、
ａｘｃ＋ｂｙｃ＋ｃ＝０    …（１）
で表わされる。
【００２１】
また、カメラ座標を（Ｘｃ，Ｙｃ，Ｚｃ）とし、カメラ１内部のパラメータ行列をＫとすると、カメラ座標からスクリーン座標への変換式は（２）式となる。
【００２２】
【数１】
2010179403.tif 000003
尚、パラメータ行列Ｋは、カメラ１内部の撮像素子とレンズとの組み合わせによって決まるもので、行列の要素Ｐ１１，Ｐ１３，Ｐ２２，Ｐ２３は、焦点距離係数，画像の角度係数，レンズの歪み係数等である。
【００２３】
（２）式を展開した式より変数ｈを消去し、ｘｃ，ｙｃをＸｃ，Ｙｃ，Ｚｃで表わす式を求めて（１）式に代入すると、（３）式となる。
【００２４】
【数２】
2010179403.tif 000004
（３）式を整理すると、
ａＰ１１Ｘｃ＋ｂＰ２２Ｙｃ＋（ａＰ１３＋ｂＰ２３＋ｃ）Ｚｃ＝０    …（４）
となる。（４）式で表わされる平面の法線ベクトルは、
（ａＰ１１，ｂＰ２２，ａＰ１３＋ｂＰ２３＋ｃ）    …（５）
である。
【００２５】
また、スクリーン上の２点Ｐ１（ｘ１，ｙ１），Ｐ２（ｘ２，ｙ２）を通る直線の式は、
（ｘ２−ｘ１）（ｙ−ｙ１）＝（ｙ２−ｙ１）（ｘ−ｘ１）    …（６）
で表わすことができるから、（６）式を展開して（１）式と同様の形にすれば、（１）式における係数ａ，ｂ，ｃが以下のように決まる。
ａ＝（ｙ２−ｙ１），ｂ＝（ｘ１−ｘ２），ｃ＝−ａｘ１−ｂｙ１    …（７）
したがって、（７）式を（５）に代入すれば、スクリーン平面上の２点Ｐ１，Ｐ２を含む平面の法線ベクトルＶ１２が求められる。
【００２６】
続くステップＳ３２では、同様にして、カメラ１の焦点Ｆと、スクリーン平面上の２点Ｐ３，Ｐ４を含む平面の法線ベクトルＶ３４を求め、得られた２つの法線ベクトルＶ１２，Ｖ３４の外積より、２次元コードの点Ｑ１→点Ｑ２の方向ベクトルＶ３ａ（Ｘ軸方向単位ベクトル）が得られる（ステップＳ３３）。図１３は、ステップＳ３１〜Ｓ３３の処理に対応したイメージを示している。
【００２７】
続くステップＳ３４〜Ｓ３６では、ステップＳ３１〜Ｓ３３と同様にして、カメラ１の焦点Ｆと、スクリーン平面上の２点Ｐ１，Ｐ３を含む平面の法線ベクトルＶ１３を求め（ステップＳ３４）、焦点Ｆと、２点Ｐ２，Ｐ４を含む平面の法線ベクトルＶ２４を求め（ステップＳ３５）、２つの法線ベクトルＶ１３，Ｖ２４の外積より、２次元コードの点Ｑ１→点Ｑ３の方向ベクトルＶ３ｂ（Ｙ軸方向単位ベクトル）を得る（ステップＳ３６）。図１４は、ステップＳ３４〜Ｓ３６の処理に対応したイメージを示している。
【００２８】
更に、ステップＳ３３，Ｓ３６でそれぞれ得られた方向ベクトルＶ３ａ，Ｖ３ｂの外積から、方向ベクトルＶ３ａ，Ｖ３ｂの双方に直交する方向ベクトルＶ３ｃ（Ｚ軸方向単位ベクトル）が得られる（ステップＳ３７）。図１５は、この処理に対応したイメージを示している。そして、得られた３つの方向ベクトルＶ３ａ，Ｖ３ｂ，Ｖ３ｃを正規化して各成分を配置することで、回転行列Ｍｒが得られる（ステップＳ３８）。
回転行列Ｍｒは、カメラ１の視点からＱＲコード４の画像を捉えた場合に、カタログ３を平面とするＱＲコード４のＸ（Ｑ1→Ｑ２），Ｙ（Ｑ1→Ｑ３），Ｚ（Ｑ１に立つＸＹ平面の法線）の各軸が傾いている状態に対応しており、「平面の位置Ｃ０」が位置情報，回転行列Ｍｒが姿勢情報となる。
【００２９】
再び、図９を参照する。ステップＳ１５において回転行列Ｍｒを求めると、ステップＳ１２で読み込んだロボットの３次元画像データＲの原点を、２次元コードの平面の位置Ｃ０に移動させると、回転行列Ｍｒを適用（乗算）する（ステップＳ１６，図３参照）。これにより、３次元画像データＲは、カメラ１により撮像された２次元コードがスクリーン上に投影された場合の位置姿勢と同じ位置姿勢で表わされる画像データとなる。尚、３次元画像データＲの原点はＣ０に対応するシンボルの角に一致させるか、または図３に示すように、前記シンボルの中心に一致させても良い。
【００３０】
次に、ステップＳ１１で読み取った動作プログラムＳＰを解釈して、プログラムＳＰに対応したロボットの姿勢を求め、その姿勢を３次元画像データＲに適用すると（ステップＳ１７）、３次元画像データＲに基づいて、スクリーンに表示させるロボットの３次元画像Ｂを作成する（ステップＳ１８）。この時、ロボットの画像の背景は透明にする。それから、ステップＳ１３で得られた画像Ａにおいて、２次元コードの位置にロボットの３次元画像Ｂを合成して画像Ｃを作成すると（ステップＳ１９）、その画像Ｃをパソコン２のディスプレイ５（スクリーン）に表示させる（ステップＳ２０）。これにより、ロボットの３次元画像モデルＭ（最終的にディスプレイ５に表示されるロボットの画像）は、スクリーン上で２次元コードの位置姿勢と同じ位置姿勢の３次元画像となり、動作プログラムＳＰに応じた３Ｄアニメーションとして表示される。
【００３１】
以降は、ステップＳ２１において、ユーザの設定に応じて上記アニメーション画像の動作スピードを設定する処理を行う（詳細は後述）。そして、自動モードが継続される場合には（ステップＳ２２：ＮＯ）ステップＳ１３に戻る。この時点で、カメラ１による２次元コードの撮像位置が図４（ｂ）→（ｂ）に示すように変化すると、それに応じて回転行列Ｍｒが再計算され、３次元画像データＲに適用される。したがって、スクリーンに表示される３次元画像モデルＭの位置姿勢は、２次元コードの位置姿勢の変化に伴って変化する。
以上の処理により、パソコン２のディスプレイ５には、カタログ３上でＱＲコード４が配置されているポイント上に３次元画像モデルＭが合成された状態の画像が表示され、顧客ＣＨは、カタログ３に写真として掲載されているロボットが、実際には３次元的にどのような構造でどのような動きをするのかを視覚的に把握することができる。
【００３２】
図１０は、ステップＳ２１の動作スピード設定処理を示すフローチャートである。カメラ１により２次元コードの画像Ａが撮像されている状態で、例えばパソコン２のキーボードで「Ｓｈｉｆｔ」キーが押されている場合に（ステップＳ４１：ＹＥＳ）スピード設定モード（動作速度可変モード）に移行する。そして、ユーザ（営業マンＳＨなど）がカメラ１の位置を移動させた後、その時点でカメラ１により２次元コードの画像Ｄを撮像する（ステップＳ４２）。
この場合のイメージを図５に示す。図５（ａ）は、最初に２次元コードの画像Ａを撮像した位置からカメラ１を寄せて、画像Ｄのサイズをより大きく写し込んだ場合であり、図５（ｂ）は逆に、最初に画像Ａを撮像した位置からカメラ１を引いて、画像Ｄのサイズをより小さく写し込んだ場合である。
【００３３】
次のステップＳ４３では、画像Ａ，Ｄ間の移動量Ｌ（ｘ，ｙ，ｚ）を求める。移動量Ｌは、２次元コードの重心や特定の位置Ｐ等の変化量でｘ，ｙを求め、２次元コードの画像サイズの差からｚを求めて特定する（ここではｚのみ求めても良い）。そして、動作プログラムＳＰに基づいて動いている３次元画像Ｍの動作速度Ｖｍ（画像の変化速度）に、移動量Ｌのｚ分を加えて更新すると（ステップＳ４４）、更新した速度Ｖｍを３次元画像Ｍの動作に適用させる（ステップＳ４５）。
これにより、図５（ａ）に示すように画像Ｄのサイズが大きくなるように変化した場合は（移動量Ｌが減少する方向）３次元画像Ｍの動作速度が遅くなり（例えば１０％低下）、図５（ｂ）に示すように画像Ｄのサイズが小さくなるように変化した場合は３次元画像Ｍの動作速度が速くなる（例えば８０％上昇）。
【００３４】
図１１は、図７のステップＳ５における「手動モード」の処理を示すフローチャートである。また、図６は手動モードの場合の動作イメージを示す。ステップＳ５１〜Ｓ５６は、自動モードの場合とほぼ同様の処理であるが、ステップＳ５１ではロボットの型番情報Ｔのみを読み取り、動作プログラムＳＰは読み取らない。
そして、ユーザは、例えば図６に示すように、画像Ａを撮像した位置からカメラ１を移動させて２次元コードの画像Ｄを撮像し（ステップＳ５７）、スピード設定モードのステップＳ４３と同様にして画像Ａ，Ｄ間の移動量Ｌを求める（ステップＳ５８）。それから、移動量Ｌに応じて、ロボットの手先を移動させた姿勢Ｊを３次元データＲに適用すると（ステップＳ５９）、適用後の３次元データＲから３次元画像Ｂを作成する（ステップＳ６０）。以降は、ステップＳ１９，Ｓ２０，Ｓ２２と同様の処理になる（ステップＳ６１〜Ｓ６３）。
【００３５】
以上のように本実施例によれば、ＱＲコード４にロボットの型番情報Ｔと、そのロボットの３次元画像モデルＭを動作させるデモ用プログラムＳＰを記録しておき、パソコン２は、カメラ１が撮像したＱＲコード４の画像データに含まれている４点Ｑ１〜Ｑ４に対応するスクリーン上の４点Ｐ１〜Ｐ４の位置から、基準点Ｃ０（Ｐ１，Ｑ１）を３次元座標の原点とし、原点からＱ１に沿う方向をＸ軸，同Ｑ２に沿う方向をＹ軸，ＸＹ平面上で原点に立つ法線をＺ軸として定め、ＱＲコード４の３次元空間における姿勢情報である回転行列Ｍｒを取得し、その回転行列Ｍｒを３次元画像モデルＭのデータＲに乗算して、３次元画像モデルＭの対応する３軸を適応させてディスプレイ５に表示させる。
【００３６】
そして、カメラ１により撮像されるＱＲコード４の位置・姿勢が変化すると、その変化に合わせて表示させる３次元画像モデルＭの位置・姿勢も変化させ、デモ用プログラムＳＰに従い３次元画像モデルＭを３次元空間表示で動作させるようにした。したがって、ロボットの製品説明を行う場合などに、顧客に対するデモンストレーションを視覚的に判り易く行うことができる。例えば営業マンなどに２次元コードが印刷されたカタログを渡せば、その営業マンのパソコン２による３次元画像モデルＭの操作能力に関係なく、客先等の出先においてデモンストレーションを容易に行わせることができ、ロボットが具体的にどのような動きをするかを顧客に提示できる。
【００３７】
また、パソコン２は、カメラ１が、初期の撮像位置から移動されたことによる移動量Ｌを、当該カメラ１により撮像されたＱＲコード４の画像データのサイズ変化より算出し、自動モードが設定されると、デモ用プログラムＳＰに従い３次元画像モデルＭを動作させ、手動モードが設定されると、ＱＲコード４の位置・姿勢の変化に合わせて３次元画像モデルＭの位置・姿勢を変化させる処理を禁止して、算出されたカメラ１の移動量Ｌに比例させて、３次元画像モデルＭの手先表示位置を移動させるようにした。したがって、デモ用プログラムＳＰに従った動画表示だけでなく、カメラ１を移動させた状態に従ってロボットの手先表示位置を動かすことができ、ロボットの動作状態をより多様に表示させることができる。
【００３８】
更に、パソコン２は、カメラ１により撮像されたＱＲコード４の画像サイズが変化した場合の変化量Ｌを検出し、スピード設定モードが設定されると、ＱＲコード４の位置・姿勢の変化に合わせて３次元画像モデルＭの位置・姿勢を変化させる処理を行わず、ＱＲコード４の画像サイズの変化量Ｌに比例させて３次元画像モデルＭがデモ用プログラムＳＰに応じて動作する速度を変化させる。したがって、３次元画像モデルの動画速度をダイナミックに変化させることができる。
【００３９】
（第２実施例）
図１６及び図１７は本発明の第２実施例を示す。第２実施例は、２次元コードの一例としてＱＲコード４を用いたが、その他の２次元コードについても同様に適用できることを示す。本発明が適用できる２次元コードは、図１６（ａ）に示すように、コード領域内において４点Ｃ０，ＣＲ，ＣＬ，ＣＸ（第１実施例のＱ１〜Ｑ４に対応）を特定できることが必要である。更に、それらのうち１点例えばＣ０が、その他の点ＣＲ，ＣＬ，ＣＸと区別して特定できることと、Ｃ０を基準として、その他の点ＣＲ，ＣＬ，ＣＸの配置が相対的に固定であることも必要である。
【００４０】
上記の条件を満たす２次元コードとしては、図１６（ｂ）〜（ｆ）に示すマイクロＱＲコード（登録商標），Veri Code（登録商標），Data Matrix（登録商標），ＣＯＤＥ４９（登録商標），ＰＤＦ４１７（登録商標）などがある。図１６（ｂ）に示すマイクロＱＲコードは、切り出しシンボルが１個だけ配置されているが、その四角の位置で上記の４点を特定できる。同じくマトリックス型である、図１６（ｃ）に示すVeri Codeは、正方形状の４辺がラインで囲まれているので、その四角の位置で上記の４点を特定できる。
図１６（ｄ）に示すData Matrixは、正方形状の２辺をなすＬ字型のラインを備えているので、それらにより３点を特定でき、残りの１点も前記３点に基づいて特定できる。また、図１６（ｅ），（ｆ）に示すスタック型のＣＯＤＥ４９，ＰＤＦ４１７も、矩形をなす外形の四角の位置で上記の４点を特定できる。
【００４１】
また図１７には、そのままでは適用できない２次元コードとして、（ａ）MaxiCode（登録商標），（ｂ）AztecCode（登録商標）を示している。これらについては、中心に配置されるシンボルにより１点は特定できるが、コード領域の四角の内少なくとも３点にマーカ１０を張り付けるようにすれば、本発明を同様に適用できる。尚、マーカ１０の面積は、マーカ１０によって覆われたデータ領域が、これらのコードが備えている誤り訂正機能によって訂正可能な面積よりも小さく設定する必要がある。
【００４２】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
ロボットの型番や３次元画像モデルＭは、パソコン２に内蔵される記憶装置に記憶されるものに限らず、例えばパソコン２に接続されるＵＳＢ（Universal Serial Bus）メモリに記憶されているものや、或いはＬＡＮやインターネットなどの通信ネットワークを介して通信が可能なハードディスクドライブやサーバ上に記憶されているものを読み出すようにしても良い。
スピード設定モードにおける２次元コードのサイズと動作速度との対応関係は、逆にしても良い。
手動モードやスピード設定モードを実施するか否かは、必要に応じて適宜選択すれば良い。
【符号の説明】
【００４３】
図面中、１はカメラ、２はパーソナルコンピュータ（デコード手段，画像データ記憶手段，画像表示装置，画像データ処理手段，位置・姿勢情報取得手段，モード設定手段，移動量算出手段，変化量算出手段）、４はＱＲコード（２次元コード）、５はディスプレイ（表示手段）を示す。
【図１】
2010179403.tif 000005
【図２】
2010179403.tif 000006
【図３】
2010179403.tif 000007
【図４】
2010179403.tif 000008
【図５】
2010179403.tif 000009
【図６】
2010179403.tif 000010
【図７】
2010179403.tif 000011
【図８】
2010179403.tif 000012
【図９】
2010179403.tif 000013
【図１０】
2010179403.tif 000014
【図１１】
2010179403.tif 000015
【図１２】
2010179403.tif 000016
【図１３】
2010179403.tif 000017
【図１４】
2010179403.tif 000018
【図１５】
2010179403.tif 000019
【図１６】
2010179403.tif 000020
【図１７】
2010179403.tif 000021