以下、本発明の実施形態を図面に基づいて説明する。なお、以下の説明では、同一の部材には同一の符号を付し、一度説明した部材については適宜その説明を省略する。
(第1実施形態)
図1(a)および(b)は、第1実施形態に係る測定システムを例示する構成図である。
本実施形態に係る測定システム1Aは、コンピュータ100と、コンピュータ100によって制御される測定機Mおよび3Dセンサ(3次元センサ)SRを備える。コンピュータ100は、CPU(Central Processing Unit)10、記憶部20、演算部30、測定機制御部40、表示制御部50、3Dセンサ入力部70および位置・距離・姿勢認識部75を有する。さらに、コンピュータ100にはプロジェクタPRが接続されていてもよい。この場合、コンピュータ100は、投影図形生成部80およびプロジェクタ出力部85を有する。
測定機Mは、測定対象物の3次元座標や所定位置の長さ等を測定する装置である。測定機Mとしては、例えば3次元位置測定機や画像測定機が挙げられる。CPU10は所定のプログラムの実行によって各部の制御や所定の演算を行う。記憶部20は、主記憶部および副記憶部を含む。演算部30は所定の演算を行う演算回路を備える。
測定機制御部40は、ユーザによる指示に基づき測定機Mを制御する。表示制御部50は、ディスプレイDに所定の情報を表示する制御を行う。入出力制御部60は、キーボードKやマウスMS等の入力デバイスを制御したり、図示しないタッチパネルを制御したりする。
3Dセンサ入力部70は、3DセンサSRによって取得した情報をコンピュータ100に取り込むインタフェース部分である。ここで、3DセンサSRは、実3次元空間での所定の対象物の3次元座標を検出するセンサである。位置・距離・姿勢認識部75は、3DセンサSRで取得した情報に基づいて、対象物の位置(3次元座標)、3DセンサSRから対象物までの距離、対象物の姿勢を認識する処理を行う。
投影図形生成部80は、プロジェクタPRによって投影するための図形を生成する処理を行う。プロジェクタ出力部85は、投影図形生成部80で生成された図形をプロジェクタPRに送るインタフェース部分である。
測定システム1Aは、さらにCPU10で実行されるプログラムとして、コマンド設定部101と、動体検出部102と、コマンド実行部103とを備える。コマンド設定部101は、実3次元空間におけるボタン設定領域と、ボタン設定領域とコマンドとの対応付けを設定する処理を行う。ボタン設定領域とは、実3次元空間における任意の位置を指定した領域である。例えば、実3次元空間の所定の矩形領域であったり、所定の立体領域であったり、所定の対象物の領域であったりする。
コマンド設定部101は、このようなボタン設定領域を表すための3次元座標情報を設定する処理を行う。また、コマンド設定部101は、ボタン設定領域とコマンドとの対応付けも行う。コマンドは、ボタン設定領域の3次元座標情報と対応付けされ、例えばテーブルデータとして記憶部20に記憶される。
動体検出部102は、3DセンサSRによって検出した対象物の3次元座標から動体を検出する処理を行う。具体的には、位置・距離・姿勢認識部75で認識した物体の位置を追跡して、移動している物体(動体)を検出する。これにより、3DセンサSRで検出可能な実3次元空間において動体を検出し、動体の位置を追尾することができる。
コマンド実行部103は、動体検出部102で検出した動体の3次元座標がボタン設定領域内に位置した際にボタン設定領域と対応付けされたコマンドを実行する処理を行う。動体検出部102では、実3次元空間内で移動する物体の位置(動体の3次元座標)を追跡することができる。コマンド実行部103は、動体検出部102から動体の3次元座標の情報を取得する。
そして、コマンド実行部103は、動体の3次元座標がボタン設定領域内に位置した際に、そのボタン設定領域に対応付けされたコマンドを実行する処理を行う。これにより、動体の動作から実3次元空間内のボタン設定領域が選択されたことを検出して、そのボタン設定領域に対応付けされたコマンドを実行することができる。
図2は、動作例を示す模式図である。
3DセンサSRは、実3次元空間の物体の位置を検出する。図2に示す例では、例えば、測定機M、測定機Mのユーザ800、プロジェクタPRから投射された像を映し出すスクリーンSL、ホワイトボードWBなどが実3次元空間に配置される。3DセンサSRは、これらの位置を検出する。
また、図2に示す例では、ホワイトボードWBにボタン設定領域B1〜B4が設けられる。ホワイトボードWB上のボタン設定領域B1〜B4の位置(3次元座標)は、予めコマンド設定部101によって設定されている。ボタン設定領域B1〜B4のそれぞれにはコマンドが対応付けられる。例えば、ボタン設定領域B1には「起動」コマンド、ボタン設定領域B2には「終了」コマンド、ボタン設定領域B3には「保存」コマンド、ボタン設定領域B4には「印刷」コマンドが対応付けられる。
測定機Mのユーザ800は、例えば測定機Mの測定ヘッド501を用いて測定対象物の測定を行う。測定ヘッド501にプロジェクタPRが設けられている場合、このプロジェクタPRからスクリーンSLに測定対象物の設計図など、各種の情報に基づく画像を表示することができる。
ユーザ800の動きは3DセンサSRによって取得した情報に基づき動体検出部102によって検出される。位置・距離・姿勢認識部75は、例えばユーザ800の手801の動きを認識する。そして、ユーザ800の手801がボタン設定領域B1〜B4のいずれかに位置した際、コマンド実行部103は手801の位置のボタン設定領域B1〜B4に対応付けされたコマンドを実行する。
例えば、ユーザ800の手801がホワイトボードWB上のボタン設定領域B1に触れた場合、ボタン設定領域B1に対応付けされた「起動」コマンドが実行される。同様に、ユーザ800の手8001がボタン設定領域B2に触れた場合、ボタン設定領域B2に対応付けされた「終了」コマンドが実行される。このように、ユーザ800は、自らの手801の位置によって所望のコマンドを実行できるようになる。
図3(a)および(b)は、ボタン設定領域について例示する模式図である。
図3(a)には、ホワイトボードWBに設定されたボタン設定領域B1〜B4が表される。ボタン設定領域B1〜B4は、ホワイトボードWBの面に適宜書き込まれている。ここでは、ホワイトボードWBの面に4つの矩形が書き込まれている。
コマンド設定部101は、各矩形の偶部の3次元座標を登録することでボタン設定領域B1〜B4の位置を設定する。例えば、ボタン設定領域B1は、4つの偶部P1〜P4の3次元座標によって設定される。偶部P1〜P4の3次元座標は、3DセンサSRによって取り込むことができる。また、測定ヘッド501を用いて偶部P1〜P4の3次元座標を取り込んでもよい。
図3(b)には、立体的なボタン設定領域B5が表される。ボタン設定領域B5は、例えば立方体の領域である。立体体の領域は、実3次元空間内の4つの点P17、P18、P19、P20によって決定される。コマンド設定部101は、4つの点P17、P18、P19、P20の3次元座標を登録することでボタン設定領域B5の位置を設定する。
コマンド設定部101は、このようなボタン設定領域B1〜B5のそれぞれにコマンドを対応付けする。ボタン設定領域B1〜B5は、実3次元空間のどのような場所であっても設定可能である。コマンド設定部101は、例えば、ホワイトボードWBのように何らかの物体のある位置にボタン設定領域B1〜B4を設定しても、また実3次元空間内の物体の無い領域にボタン設定領域B5を設定してもよい。
図4および図5は、他のボタン設定領域について例示する模式図である。
図4に示す例では、プロジェクタPRによって映し出された画像をボタン設定領域B6としている。例えば、測定ヘッド501にプロジェクタPRが設けられている場合、測定ヘッド501をスクリーンSLとは異なる方向に向ける。これにより、プロジェクタPRからボタン設定領域B6の画像が出力される。図4に示す例では、プロジェクタPRから出力されたボタン設定領域B6の画像が床FLに映し出されている。
プロジェクタPRでボタン設定領域B6の画像を映し出す場合、ボタン設定領域B6の投映位置を3DセンサSRで検出し、位置・距離・姿勢認識部75で認識する。位置・距離・姿勢認識部75は、ボタン設定領域B6の特徴を予め登録しておくことで、3DセンサSRで検出した情報からボタン設定領域B6の位置を認識することができる。また、ボタン設定領域B6の投映位置が動いても、動体検出部102によって追尾可能である。
床FLにボタン設定領域B6が投映された場合、ユーザ800は、例えば自らの足802によってボタン設定領域B6を選択することができる。ユーザ800の足802の位置は3DセンサSRによって検出され、足802の動きは動体検出部102によって追尾される。これにより、ユーザ800の足802がボタン設定領域B6の位置にあることを検出し、ボタン設定領域B6に対応付けされたコマンドをコマンド実行部103によって実行することができる。
測定ヘッド501を手で持って測定作業を行うユーザ800にとっては、手でコマンドを指示することが困難な場合もある。床FLに映し出されたボタン設定領域B6を足802で選択できることで、ユーザ800は測定ヘッド501を手で持ったまま所望のコマンドを足802で指定して実行できることになる。
図5に示す例では、スクリーンSL上にボタン設定領域B7の画像が投映されている。プロジェクタPRは、例えば測定対象物の設計情報などをスクリーンSLに映し出すとともに、ボタン設定領域B7の画像を映し出す。図4に示す例と同様に、ボタン設定領域B7の位置は3DセンサSRで検出され、動体検出部102によって追尾される。
ユーザ800は、例えば自らの手801によってスクリーンSL上に投映されたボタン設定領域B7を選択することができる。ユーザ800の手801がボタン設定領域B7の位置にあることを検出した際、コマンド実行部103はボタン設定領域B7に対応付けされたコマンドを実行する。
また、コマンド実行部103は、ユーザ800の手801や足802の動作に応じてコマンドを切り替えるようにしてもよい。例えば、ユーザ800の手801がボタン設定領域B1に一定時間止まっている場合(タッチ動作)には第1コマンドを実行し、手801がボタン設定領域B1内に沿って移動している場合(スライド動作)には第2コマンドを実行する。すなわち、手801によってボタン設定領域B1をタッチするか、スライドさせるかによってコマンドを切り替えてもよい。
第1実施形態に係る測定システム1Aによれば、実3次元空間内の所望の位置にボタン設定領域B1〜B7を設定することができる。また、ユーザ800は、自らの手801や足802でボタン設定領域B1〜B7を選択することで、所望のコマンドを実行することができる。したがって、ユーザ800は、測定機Mによる測定作業を行いながら、所望のコマンドを簡単に実行できるようになる。例えば、測定機Mから離れた位置にコンピュータ100がある場合であっても、ユーザ800は測定機Mの位置から離れることなく、コンピュータ100に所望のコマンドを送ることが可能になる。
また、ユーザ800は、好みの位置にボタン設定領域B1〜B7を設定することができる。これにより、ユーザ800にとって効率よく作業できる位置にボタン設定領域B1〜B7を配置することができ、測定作業の効率化を図ることができる。
(第2実施形態)
図6は、第2実施形態に係る測定システムを例示する構成図である。
本実施形態に係る測定システム1Bは、コンピュータ100と、コンピュータ100によって制御される測定機Mおよび3DセンサSRを備える。コンピュータ100は、CPU10、記憶部20、演算部30、測定機制御部40、表示制御部50、3Dセンサ入力部70および位置・距離・姿勢認識部75を有する。さらに、コンピュータ100は、3D映像入出力部51、3Dカメラ制御部52、立体映像生成部53、ヘッドマウントディスプレイ出力部54、コントロール生成部55、ヘッドホンマイク入出力部61、音声入出力部62、操作盤入出力部65およびコントロール入力認識部76を有する。コンピュータ100には、操作盤CT、ヘッドホンマイクHPM、ヘッドマウントディスプレイHDおよび3DカメラCMが接続される。
以下、第1実施形態に係る測定システム1Aとは異なる構成について説明する。
操作盤入出力部65は、操作盤CTに対する情報の入出力を行うインタフェース部分である。ユーザ800は操作盤CTを用いて測定機Mをコントロールすることができる。
3DカメラCMは、実3次元空間における3次元映像を取得する3次元撮像部である。ヘッドマウントディスプレイHDは、3DカメラCMで取得した3次元映像を表示するディスプレイである。ここで、実施形態において、「映像」は、3DカメラCM等の撮像装置で取り込んだ像の情報のことを意味し、「画像」は、CAD等の設計データから生成されたグラフィックや予め用意されたグラフィックなどの情報のことを意味する。
図7は、ヘッドマウントディスプレイを例示する斜視図である。
ヘッドマウントディスプレイHDは、ユーザ800の頭部に装着される。ユーザ800は、ヘッドマウントディスプレイHDに映し出される3次元映像を参照することができる。このヘッドマウントディスプレイHDには3DカメラCMが取り付けられる。すなわち、ヘッドマウントディスプレイHDは、3DカメラCMと一体に設けられる。
3Dカメラ制御部52は、3DカメラCMを制御する部分である。3D映像入出力部51は、3DカメラCMで取得した3D映像をコンピュータ100に取り込むインタフェース部分である。ヘッドマウントディスプレイ出力部54は、ヘッドマウントディスプレイHDに映像の信号を送信するインタフェース部分である。立体映像生成部53は、ヘッドマウントディスプレイHDに映し出す3D映像を生成する部分である。立体映像生成部53は、撮影映像合成部531を含む。
撮影映像合成部531は、3DカメラCMで取得した3D映像と、ボタン設定領域に対応した画像とを合成してヘッドマウントディスプレイHDに表示させる処理を行う。
コントロール生成部55は、ユーザ800の所定の動作とコマンドとの対応付けを行う部分である。ユーザ800の所定の動作とコマンドとの対応付けは、記憶部20に例えばテーブルデータとして記憶される。
ヘッドホンマイクHPMは、ヘッドホンとマイクとを一体にしたもので、ユーザ800の頭部に装着される。ヘッドホンマイク入出力部61は、ヘッドホンマイクHPMに対する情報の入出力を行うインタフェース部分である。音声入出力部62は、ヘッドホンマイクHPMに送る音声を生成したり、ヘッドホンマイクHPMから取り込まれた音声の情報を処理したりする部分である。なお、本実施形態においてヘッドホンマイクHPMは必要に応じて設けられていればよい。
コントロール入力認識部76は、ユーザ800の所定の動作を認識する部分である。コントロール入力認識部76は、位置・距離・姿勢認識部75から送られる情報に基づいて、ユーザ800の所定の動作を認識する処理を行う。このような測定システム1Bにおいては、ヘッドマウントディスプレイHDに実3次元空間の映像の表示が行われるとともに、この映像にボタン設定領域の画像を合成して表示することができる。
図8〜図11は、動作例を示す模式図である。
図8に示すように、ユーザ800はヘッドマウントディスプレイHDを装着する。また、3DセンサSRは、実3次元空間のユーザ800や測定機Mなどの物体の位置を検出する。ヘッドマウントディスプレイHDに設けられた3DカメラCMは、実3次元空間の3D映像を取得する。
ユーザ800は、ヘッドマウントディスプレイHDによって3DカメラCMで取得した3D映像を参照することができる。また、ヘッドマウントディスプレイHDには、3D映像の実3次元空間に合わせてボタン設定領域の画像(ボタン画像BG)が表示される。すなわち、撮影映像合成部531によって、3Dカメラで取得した3D映像にボタン画像BGが合成される。ボタン画像BGは、予め登録されたボタン設定領域の実3次元空間での3次元座標に基づき、ヘッドマウントディスプレイHDの表示における3次元座標と合わせて表示される。これにより、3DカメラCMの画角が変わっても、ボタン画像BGの3D映像上の合成位置は変わらない。
ユーザ800の動きは3DセンサSRによって取得した情報に基づき動体検出部102によって検出される。位置・距離・姿勢認識部75は、例えばユーザ800の手801や足802の動きを認識する。そして、ユーザ800の手801や足802がボタン画像BGに対応したボタン設定領域に位置した際、コマンド実行部103は手801や足802の位置のボタン設定領域に対応付けされたコマンドを実行する。これにより、ユーザ800は、自らの手801や足802の位置によって所望のコマンドを実行できるようになる。
ボタン画像BGは、ヘッドマウントディスプレイHDで表示される3D映像上の任意の位置に表示可能である。例えば、D映像が表示される実3次元空間の物体の存在しない位置(空中)にボタン画像BGを表示させたり、床FLの上に配置されているかのように床FLの3D映像の上にボタン画像BGを表示させたりすることができる。
図9には、床FLの3D映像上にボタン画像BGを合成した例が示される。ユーザ800は、測定機Mの測定ヘッド501を手801で持って、測定対象物であるワークWの測定を行う。ユーザ800は、ヘッドマウントディスプレイHDに表示される測定機MやワークWの3D映像を参照しながら測定ヘッド501を操作して測定を行う。
また、ヘッドマウントディスプレイHDには、床FLの3D映像にボタン画像BGが合成された状態で表示される。実際の床FLの上にはボタンは配置されていないが、ヘッドマウントディスプレイHDの表示ではボタン画像BGが表示される。これにより、ユーザ800は、まるで床FLの上にボタンが配置されているかのようにボタン画像BGを参照することができる。ユーザ800は、床FLの上のボタン画像BGを足802で選択する。これにより、選択したボタン画像BGに対応したボタン設定領域のコマンドが実行される。
図10には、3D映像に計算機の画像CALを合成した例が示される。この例では、ヘッドマウントディスプレイHDに表示されるワークWの3D映像の近傍に計算機の画像CALが合成されている。ユーザ800は、例えば手801によって計算機の画像CALを操作する。この手801の動作を動体検出部102で追尾して、計算機の画像CALのどのキーの領域に手801が位置するかを判断する。これにより、コマンド実行部103は計算機の画像CALのキーに対応したコマンドを実行する。ユーザ800は、ヘッドマウントディスプレイHDに表示された仮想の計算機の画像CALを参照して、まるで実際の計算機を操作しているかのように計算を行うことができる。
コマンド実行部103は、動体検出部102で検出したユーザ800の手801の形に応じて複数のコマンドのうちいずれかを選択して実行するようにしてもよい。図11には、手801の形に応じてコマンドを切り替える例が示される。
一例として、特定の方向に向けて手801を開いた状態で一定時間が経過すると(H1)、ホームボタン(複数のボタン画像BGが集合した画像)を表示するコマンドが実行される。また、ヘッドマウントディスプレイHDの表示においてホームボタンが手801の届かない位置に表示されている場合、手801を握る動作をすると(H2)、遠くのホームボタンを近くに表示するコマンドが実行される。また、ホームボタンを手801で摘まんで移動するような動作をすると(H3)、ホームボタンの表示位置を移動するコマンドが実行される。
また、手801の人差し指を特定方向に向ける動作をすると(H4)、ホームボタンを非表示にするコマンドが実行される。手801を壁に向かって押し付けるような動作をすると(H5)、ホームボタンを壁に貼り付けるように移動させるコマンドが実行される。手801のひらを上に向ける動作をすると(H6)、手801のひらの上にホームボタンを移動させるコマンドが実行される。手801を床に向かって押し付けるような動作をすると(H7)、ホームボタンを床の上に貼り付けるように移動させるコマンドが実行される。なお、これらの手801の形および動作とコマンドとの対応付けは一例であり、これに限定されない。
このように、手801の形に応じてコマンドの切り替えを行うようにすると、キーボードKやマウスMSなどの入力デバイスを用いることなく、手801を使ったジェスチャーだけで所望のコマンドを実行できるようになる。
上記の例において、ユーザ800は手801や足802によってボタン画像BGを選択することでコマンドを実行したが、測定ヘッド501によってボタン画像BGを選択してコマンドを実行するようにしてもよい。
また、本実施形態に係る測定システム1Bのうち、コンピュータ100、3DセンサSRおよび3DカメラCMによってユーザインタフェース装置を構成してもよい。このユーザインタフェース装置によれば、ユーザ800の手801の形に応じてボタン画像BGの表示/非表示を切り替えたり、ボタン画像BGに対応したコマンドを実行したりすることができる。
(第3実施形態)
図12(a)および(b)は、第3実施形態に係る測定システムを例示する構成図である。
本実施形態に係る測定システム1Cは、コンピュータ100と、コンピュータ100によって制御される測定機M、3DセンサSRおよびヘッドマウントディスプレイHDを備える。コンピュータ100は、CPU10、記憶部20、演算部30、測定機制御部40、表示制御部50、3Dセンサ入力部70および位置・距離・姿勢認識部75を有する。さらに、コンピュータ100は、立体映像生成部53、ヘッドマウントディスプレイ出力部54、ヘッドホンマイク入出力部61、音声入出力部62および操作盤入出力部65を有する。コンピュータ100には、操作盤CTおよびヘッドホンマイクHPMが接続される。
このような測定システム1Cにおいては、ヘッドマウントディスプレイHDの仮想3次元空間内に測定機Mの画像が表示される。測定機Mの画像としては、例えばCAD画像が用いられる。CAD画像は記憶部20に記憶される。また、ユーザの動作を動作検出部で検出して、この仮想3次元空間内の測定機Mの画像をユーザ800の動作に合わせて移動させることができる。
本実施形態に係る測定システム1Cは、特に自動測定機能の豊富な測定機Mへの適用が好適である。例えば、CNC(Computerized Numerically Controlled)測定機では、予め設定されたプログラム(例えば、パートプログラム)に従って自動的な測定を行うことができるため、高精度かつ効率的な測定を行うことができる。しかし、CNC測定機を扱うには操作方法やプログラムの作成・修正など専門的な技術や知識が必要になる。本実施形態に係る測定システム1Cでは、このような機能の豊富な測定機Mについてユーザインタフェースの向上を図ることができる。
図13〜図17は、動作例を示す模式図である。
図13に示すように、ユーザ800は、ヘッドマウントディスプレイHDおよびヘッドホンマイクHPMを装着する。3DセンサSRは、実3次元空間のユーザ800や測定機Mなどの物体の位置を検出する。
ヘッドマウントディスプレイHDには、仮想3次元空間内に測定機Mの画像(測定機画像MG)が表示される。ユーザ800は、ヘッドマウントディスプレイHDに表示される仮想3次元空間内の測定機画像MGを参照して、仮想3次元空間内で測定機画像MGを動かすことができる。
すなわち、3DセンサSRによってユーザ800の例えば手801の位置を検出し、動体検出部102によって手801の動きを追尾する。手801の位置および動きは仮想3次元空間内に表示される測定機画像MGの動作に反映される。例えば、ユーザ800が仮想3次元空間内の測定ヘッド501の画像(測定ヘッド画像501G)の位置まで手801を延ばすと、仮想3次元空間内の測定ヘッド画像501Gを移動させることができる。
立体映像生成部53は、仮想3次元空間内の測定機画像MGの表示位置を、動体検出部102で検出したユーザ800の手801の動作に合わせて移動させるよう画像を生成する。これにより、ユーザ800は、ヘッドマウントディスプレイHDに表示される仮想3次元空間内で自由に測定機画像MGを操作することができる。
本実施形態に係る測定システム1Cにおいて、CPU10で実行されるプログラムとして測定動作記憶部104を備えていても良い。測定動作記憶部104は、ヘッドマウントディスプレイHDに表示される仮想3次元空間内でユーザ800によって移動された測定機画像MGの表示位置に沿って測定動作を記録する処理を行う。
そして、測定機制御部40は、測定動作記憶部104で記憶した測定動作に従って実際の測定機Mを用いてワークWの測定を行う。これにより、ユーザ800は、仮想3次元空間内において測定機画像MGの例えば測定ヘッド画像501Gを移動させることで、実際の測定手順を記録することができる。
この際、実際のワークWの位置を3DセンサSRで検出して、仮想3次元空間内の測定機画像MGの位置に合わせてワーク画像WGを合成しておく。ユーザ800は、測定ヘッド画像501Gを移動する際、ワーク画像WGと測定ヘッド画像501Gとの干渉を確認しながら測定手順を記録することができる。例えば、測定ヘッド画像501Gの向きによってワーク画像WGとの干渉が発生する場合には、ヘッドマウントディスプレイHDに警告を表示してもよい。このような測定手順の記録によれば、専門的な知識がなくても測定ヘッド501の動きをプログラム化することができる。
図14には、仮想3次元空間内に実際の映像IMGを表示する例が示される。測定システム1Cは、測定機Mの映像IMGを取得するカメラCM1を備えていてもよい。カメラCM1によって取得した測定機Mの映像IMGは、ヘッドマウントディスプレイHDの仮想3次元空間内の所定位置に表示される。
ユーザ800は、ヘッドマウントディスプレイHDに表示される測定機画像MGとともに、実際の測定機Mの映像IMGを参照することができる。これにより、仮想3次元空間内において、実際の測定機Mの動作を確認しながら作業を行うことができるようになる。
図15には、パートプログラムの修正動作の例が示される。ヘッドマウントディスプレイHDには、既存のパートプログラムによる測定ヘッド501の動作が仮想3次元空間内に表示される。ユーザ800は、既存のパートプログラムを読み出す。例えばヘッドホンマイクHPMに音声を入力することで、音声認識によって既存のパートプログラムが読み出されるようにしてもよい。
仮想3次元空間内の測定ヘッド画像501Gは、読み出したパートプログラムを実行した場合と同様に動作する。ユーザ800は、仮想3次元空間内に表示される測定ヘッド画像501Gの動作を参照したり、音声認識によって動作の停止や再開などをコントロールしたりすることができる。また、手801を用いて測定ヘッド画像501Gを移動させることもできる。
仮想3次元空間には、測定ヘッド画像501Gの移動順の数値や、ボタン画像BGを表示させてもよい。パートプログラムを修正する場合、動作を一時停止させて手801によって測定ヘッド画像501Gを移動させる。
ここで、一例として、パートプログラムのステップを追加する場合の動作を説明する。この例では、図15に示すように、測定ヘッド501が(1)〜(4)の順に動作するパートプログラムについて、(2)と(3)との間に(2’)を追加する動作を説明する。
先ず、ユーザ800は、例えば音声認識によってパートプログラムを1ステップずつ動作させる。ユーザ800によって、例えば「Go to the first step」という音声を入力すると、パートプログラムは1ステップ進み、仮想3次元空間内の測定ヘッド画像501Gが(1)の位置に移動するよう表示される。
次に、ユーザ800は、例えば「Go to the next step」という音声を入力する。これにより、パートプログラムは次のステップに進み、仮想3次元空間内の測定ヘッド画像501Gが(2)の位置に移動するよう表示される。
ここで、ユーザ800は、ステップの追加を行うために、例えば「Add the step」という音声を入力する。これにより、パートプログラムのステップの追加モードが実行される。次に、ユーザ800は仮想3次元空間内の測定ヘッド画像501Gを手801によって移動し、(2’)の位置に配置する。この状態で、例えば「Continue」という音声を入力すると、(2’)の位置が追加され、次の(3)の位置へ測定ヘッド画像501Gが進むことになる。
なお、ここでは音声認識によってパートプログラムの動作や修正を指示したが、ボタン画像BGを指定することで同様な動作や修正を指示してもよい。このような操作によってユーザ800は専門的な知識がなくてもパートプログラムを直観的に修正することが可能になる。
図16には、仮想3次元空間内に測定に関する情報を表示する例が示される。ユーザ800は、装着しているヘッドマウントディスプレイHDによって仮想3次元空間の画像を参照している。仮想3次元空間内にはワーク画像WGや測定ヘッド画像501Gが表示される。ワーク画像WGや測定ヘッド画像501GはCAD画像やコンピュータグラフィックである。図16に示す例では、ワーク画像WGに測定結果を合成して表示した例が示される。また、測定結果が所定の許容範囲に収まっていない場合に、ワーク画像WGにその旨を示す表示(ワーク画像WGに色を付ける表示など)を付加してもよい。
ユーザ800は、例えば「Show result」といった音声をヘッドホンマイクHPMから入力する。これにより、仮想3次元空間のワーク画像WGに測定結果が合成された表示が行われる。ユーザ800は、仮想3次元空間内に表示される内容を参照することで、コンピュータ100のディスプレイDを参照することなく測定結果を確認することができる。
図17には、ネットワークNを介して測定およびティーチングを行う例が示される。
図17に示す例において、測定システム1Cは、ネットワークNを介して測定機制御部40と接続される遠隔制御部90をさらに備える。遠隔制御部90は、測定機Mから離れた位置にいるユーザ800から指示されたコマンドを、ネットワークNを介して測定機制御部40に送る処理を行う。
遠隔地にいるユーザ800は、装着しているヘッドマウントディスプレイHDに表示される仮想3次元空間内の測定機画像MGを参照しながら、実際の測定機Mの動作を確認することができる。また、仮想3次元空間内に表示される測定機画像MGや測定ヘッド画像501Gは、ユーザ800の手801によって移動させることができる。
先に説明したように、パートプログラムによる測定ヘッド501の動作は、仮想3次元空間に表示さる測定ヘッド画像501Gの動作によって確認することができる。さらに、パートプログラムの修正も仮想3次元空間内で行うことができる。
遠隔制御部90によって遠隔地のユーザ800の指示をネットワークNを介して測定機制御部40に送信することで、どのような位置に測定機Mがあってもユーザ800は仮想3次元空間の画像を参照して測定機Mを扱うことができる。
すなわち、ユーザ800は、まるで測定機Mのそばにいるかのように遠隔地から測定機Mを扱うことが可能になる。この測定システム1Cでは、例えば測定機Mの操作に慣れたユーザ800が測定機Mの近くにいない場合など、遠隔地にいる知識豊富なスタッフにネットワークNを介して測定機Mを操作させることができる。また、測定機Mが過酷な環境下にあってユーザ800が近づけないような場合であっても、ユーザ800がその場にいるような感覚で測定機Mを操作することが可能になる。
(第4実施形態)
図18は、第4実施形態に係る測定システムを例示する構成図である。
本実施形態に係る測定システム1Dは、コンピュータ100と、コンピュータ100によって制御される測定機Mおよび3DセンサSRを備える。コンピュータ100は、CPU10、記憶部20、演算部30、測定機制御部40、表示制御部50、3Dセンサ入力部70および位置・距離・姿勢認識部75を有する。さらに、コンピュータ100は、3D映像入出力部51、3Dカメラ制御部52、立体映像生成部53、撮影映像合成部531、ヘッドマウントディスプレイ出力部54、ヘッドホンマイク入出力部61、音声入出力部62、音響再生部621、操作盤入出力部65およびヘルパー生成部95を有する。コンピュータ100には、操作盤CT、ヘッドホンマイクHPM、ヘッドマウントディスプレイHDおよび3DカメラCMが接続される。
このような測定システム1Dにおいては、ヘッドマウントディスプレイHDの仮想3次元空間内に実際の測定機Mの映像と、CAD画像やコンピュータグラフィック等の測定機画像MGとを合成して表示することができる。測定機画像MGは、記憶部20の画像記憶部201に予め記憶されている。
また、ヘルパー生成部95は、測定機Mの所定の測定手順を表す画像を生成する。これにより、立体映像生成部53の撮影映像合成部531は、3DカメラCMで撮影した映像に、ヘルパー生成部95で生成された測定手順を表す画像を合成する処理を行うことができる。
また、ヘルパー生成部95は、測定機Mの所定の異常に対応した画像を生成してもよい。これにより、立体映像生成部53の撮影映像合成部531は、3DカメラCMで撮影した映像に、ヘルパー生成部95で生成された所定の異常に対応した画像を合成する処理を行うことができる。
また、ヘルパー生成部95は、測定機Mの所定のガイダンスに対応した画像を生成してもよい。これにより、立体映像生成部53の撮影映像合成部531は、3DカメラCMで撮影した映像に、ヘルパー生成部95で生成された所定のガイダンスに対応した画像を合成する処理を行うことができる。
ここで、測定機Mの操作が分からない場合、ユーザ800は測定機Mの取扱説明書を確認しながら実際の測定機Mでの操作イメージを頭の中でシミュレーションする。しかし、すべての操作を記憶するのは困難であり、再度取扱説明書を確認するなど煩わしい作業を強いられる。
また、例えば測定プローブの交換を行う場合、手順通りに行わないと破損などの不具合を招くおそれがある。このため、測定プローブの交換には慎重な作業が要求される。作業に慣れていないユーザ800は、その都度取扱説明書を参照しながら作業を行うことになる。
また、例えば、非直交三次元測定機の原点出しは、測定機Mの7軸アームの各リミットスイッチをON/OFFする操作を行って原点を取得する必要がある。この作業に慣れていないユーザ800は、原点が取得されていない軸や、原点を取得するための操作が直感的に分かりにくく、操作に迷うことが多い。
また、例えば、測定機Mのケーブルを専用コントローラに接続する際に、どのケーブルをコントローラのどの接続口に差し込めばよいのか分かりにくく、その都度取扱説明書を確認する必要が生じる。
また、例えば、非直交三次元測定機の場合、リミットスイッチがONの状態では測定することはできない。このリミットスイッチがON状態なのか測定可能な状態なのか分かりにくく、何度も同じ場所を再測定してしまうことがある。
また、例えば、測定機Mに異常が発生した場合は、コンピュータ100のディスプレイDにメッセージが表示されたり、音で警告したりする。しかし、ユーザ800が測定に集中しているときにはコンピュータ100のディスプレイDをあまり見なかったり、ディスプレイDが見えづらかったりして、認識しにくいことがある。
また、例えば、測定方法などを初心者へ教育する目的でビデオなどの映像を再生することがある。しかし、実際に測定する際にどうすれば良い分からなくなったり、手順を間違えて最初からやり直したりなど、修得に必要な時間が多くなってしまう場合がある。
本実施形態に係る測定システム1Dでは、ユーザ800が装着するヘッドマウントディスプレイHDの仮想3次元空間内に実際の測定機Mの映像と、様々な画像とを合成して表示することで、効率的な操作を行うことができるようになる。
図19〜図23は、動作例を示す模式図である。
図19には、ユーザ800に技術的な支援を行う例が示される。
図19に示すように、ユーザ800はヘッドマウントディスプレイHDを装着する。また、3DセンサSRは、実3次元空間のユーザ800や測定機Mなどの物体の位置を検出する。ヘッドマウントディスプレイHDに設けられた3DカメラCMは、実3次元空間の3D映像を取得する。
ユーザ800は、ヘッドマウントディスプレイHDによって3DカメラCMで取得した3D映像を参照することができる。図19に示す例では、3D映像として測定機Mの映像IMGが表示される。また、ヘッドマウントディスプレイHDには、3D映像の実3次元空間に合わせて測定機Mに関する各種の画像Gが表示される。
画像Gの表示位置は、測定機Mの映像IMGの位置に基づき決定される。これにより、3DカメラCMの画角が変わっても、画像Gの測定機Mに対する表示位置は変わらない。図19に示す例では、原点出しの手順に沿った画像Gが測定機Mの映像IMGに合成された状態で表示される。ユーザ800は、3DカメラCMで取得した実際の測定機Mの映像IMGを参照しながら、原点出しの手順に沿った画像Gを参照することができる。
このような画像Gが実際の測定機Mの映像IMGに合成して表示されることで、ユーザ800は、測定機Mのどこの軸の原点を取得する必要があるのか、また、原点を取得するために必要な操作手順を直観的に把握することができる。
図20には、測定機Mの操作方法を教示する場合の動作例が示される。図20には、一例として測定プローブの交換手順を示す画像G1〜G7が表される。ユーザ800が装着するヘッドマウントディスプレイHDには、画像G1〜G7が順に並べられた状態で表示される。これらの画像G1〜G7は、3DカメラCMで撮影した実際の測定機Mの映像IMG(図20には不図示)に合成される。なお、画像G1〜G7の表示として、1つずつ順に表示させるステップ表示を行ってもよい。ステップ表示の再生、停止など動作は、ユーザ800の音声や手801の動作などによって指示される。
ユーザ800は、ヘッドマウントディスプレイHDに表示された画像G1〜G7を参照することで、実際の測定機Mの映像IMGと画像G1〜G7とを見比べながら操作手順を把握することができる。
図21には、ケーブルの接続方法を教示する場合の動作例が示される。ユーザ800が装着するヘッドマウントディスプレイHDには、3DカメラCMで撮影した実際の測定機Mの映像IMGや、パーソナルコンピュータの映像PC−IMGが表示される。さらに、この映像IMG、PC−IMGにケーブルやガイダンスの画像Gが合成された状態で表示される。ケーブルの画像Gは、実際のパーソナルコンピュータの映像PC−IMGの接続位置に合わせて合成表示される。
このように、実際の測定機Mの映像IMGやパーソナルコンピュータの映像PC−IMGに、ケーブルを接続した際の画像Gが合成表示されるため、ユーザ800は直観的にケーブルの接続方法をイメージすることができる。
図22には、所定の異常に関する画像Gを表示する場合の動作例が示される。ユーザ800が装着するヘッドマウントディスプレイHDには、3DカメラCMで撮影した実際の測定機Mの映像IMGが表示される。ここで、測定ヘッド501に何らかの異常が発生している場合、ヘッドマウントディスプレイHDの映像IMGと合成して異常を知らせる画像Gを表示する。
図22に示す例では、実際の測定機Mの映像IMGに「ケーブル接続異常」や「リミットON」といった警告を促す画像Gが合成表示される。これにより、ユーザ800は、実際の測定機Mの映像IMGに合わせてどのような異常が、どのような位置に発生しているかを視覚的に把握できるようになる。
図23には、取扱説明書の画像Gを表示する例が示される。ユーザ800が装着するヘッドマウントディスプレイHDには、3DカメラCMで撮影した実際の測定機Mの映像IMGが表示される。この状態でユーザ800が所定のコマンドをコンピュータ100に送信すると、ヘッドマウントディスプレイHDの測定機Mの映像IMGの近傍に、取扱説明書の画像Gが合成表示される。
ユーザ800は、実際の測定機Mの映像IMGを参照しながら、ヘッドマウントディスプレイHDの表示空間上に表れた取扱説明書の画像Gを合わせて参照することができる。また、ユーザ800の指示によって取扱説明書の画像Gのページをめくることができる。例えば、ユーザ800の手801の動きを動体検出部102で検出することで、手801の動きを追尾する。そして、手801の動きからページをめくるような動作を認識した場合に、取扱説明書の画像Gのページをめくるような表示を行う。
また、ユーザ800は、所定の指示によって取扱説明書の画像Gの拡大および縮小を行うことができる。この動作も手801の動きを検知して行うことができる。
図24は、ヘルパー表示の動作を例示するフローチャートである。
ヘルパー表示の動作はヘルパー生成部95によって行われる。ヘルパー生成部95は、ユーザ800によってヘルパーの呼出を行った場合や、何らかのエラーが発生した場合に動作を開始する。
先ず、ステップS101に示すように、ヘルパーの表示を行う。ヘルパーとは、所定のガイダンスに対応した画像であり、人の形を模した画像やキャラクター画像であってもよい。ヘルパーは、ヘッドマウントディスプレイHDの仮想3次元空間内に表示される。
次に、ステップS102に示すように、ヘルパーの応答を出力する。例えば、「Hello」、「Error Occurred!」、「May I help you?」など、ユーザ800に対する戸挨拶や問いかけを行う。ヘルパーの応答は、ヘッドマウントディスプレイHDに表示される画像に変化を付けたり、ヘッドホンマイクHPMに音声として出力されたりする。
次に、ステップS103に示すように、音声コマンドの認識を行う。ユーザ800は、ヘッドホンマイクHPMに音声で問いかけを行う。この音声に基づきコマンドを認識する。次に、ステップS104に示すように、ヘルパーの応答を出力する。ヘルパーは、ユーザ800の指示したコマンドに対応した応答の出力を行う。例えば、「I teach you…」、「Please…」など、ユーザ800のコマンドに対応した画像や音声を出力する。
ステップS105に示すように、ヘルパーの応答で良いか否かの判断を行う。良い場合にはステップS106へ進み、ヘルパーの消去を行う。一方、更なる応答が必要な場合には、ステップS102へ戻り、以降の処理を繰り返す。
図25〜図28は、ヘルパーの表示例を示す模式図である。
図25には、測定機Mの操作手順をガイダンスするヘルパーの表示例が示される。
先ず、ユーザ800は、ヘルパーの呼出を行う。例えば、ユーザ800は「OK Mitutoyo.」と音声で問いかけを行う。これに応答してヘルパーが表示される。ヘッドマウントディスプレイHDの3次元空間内には実際の測定機Mの映像IMGが表示されるとともに、その近傍にヘルパーの画像(ヘルパー画像HG)が表示される。
次に、ヘルパー画像HGは、例えば「Hello」と画像表示と音声とで応答を行う。次に、ユーザ800は、音声によって問いかけを行う。例えば、測定機Mの操作手順を聞くために、「How to…」のように音声で問いかけを行う。
次に、ユーザ800の問いかけに対応して、ヘルパー画像HGは、例えば「I teach you…,operating it.」と応答する。続けて、ユーザ800は、例えば「Teach me step by step.」と問いかける。このように、ユーザ800とヘルパー画像HGとの問いかけと応答とを繰り返すようにして、測定機Mの操作手順のガイダンスが行われる。この際、測定機画像MGを表示して、手順の進行を測定機画像MGで表現するようにしてもよい。
図26には、測定プローブの交換手順をガイダンスするヘルパーの表示例が示される。
先ず、ユーザ800は、例えば「OK Mitutoyo.」と音声で問いかけることで、ヘルパーの呼出を行う。これに応答してヘルパー画像HGが表示される。ヘルパー画像HGは、表示とともに、例えば「Hello」と画像表示と音声とで応答を行う。
次に、ユーザ800は、例えば「How to change the probe.」と問いかける。ユーザ800の問いかけに対応して、ヘルパー画像HGは、例えば「Please do it this way.」と応答する。この応答とともに測定ヘッド画像501Gを表示して、測定プローブの交換手順を動画などでガイダンスする。
図27には、ケーブルの接続エラーをガイダンスするヘルパーの表示例が示される。
先ず、ユーザ800は、例えば「OK Mitutoyo.」と音声で問いかけることで、ヘルパーの呼出を行う。これに応答してヘルパー画像HGが表示される。ヘルパー画像HGは、表示とともに、例えば「Hello」と画像表示と音声とで応答を行う。
次に、ユーザ800は、例えば「Teach me connection error.」と問いかける。ユーザ800の問いかけに対応して、ヘルパー画像HGは、例えば「Please check connection of this cable.」と応答する。この応答とともに測定機画像MGとパーソナルコンピュータの画像PC−Gとを表示する。さらに、チェックを促すケーブルの画像Gを表示する。ユーザ800は、この画像を参照することで、どのケーブルの接続にエラーが発生しているかを視覚的に認識できることになる。
図28には、エラー発生時のヘルパーの表示例が示される。
測定機Mによる測定において何らかのエラーが発生した場合、自動的にヘルパー画像HGが表示される。ヘルパー画像HGは、例えば「Error occurred.」のように応答してエラーの発生を知らせる。
次に、ユーザ800は、例えば「Teach me about error.」のように問いかける。ヘルパー画像HGは、ユーザ800からの問いかけに応答して、例えば「I teach you…」のように発生したエラーの詳細を出力する。
このように、ヘルパー画像HGの表示およびヘルパー画像HGとのやり取りによって、ユーザ800は、まるでサービスマンから直接ガイダンスを受けているかのように、問題を解決していくことができる。
(第5実施形態)
図29は、第5実施形態に係る測定システムを例示する構成図である。
本実施形態に係る測定システム1Eは、ユーザ側制御装置であるコンピュータ100Aと、支援者側制御装置であるコンピュータ100Bとが互いにネットワークを介して接続された構成を備える。
コンピュータ100Aには、測定機M、操作盤CT、ディスプレイD1、キーボードK1、マウスMS1、ヘッドマウントディスプレイHD1、ヘッドホンマイクHPM1、3DカメラCMおよび3DセンサSR1が接続される。
また、コンピュータ100Aは、CPU10A、記憶部20A、演算部30A、測定機制御部40、表示制御部50A、映像入出力部51A、カメラ制御部52A、立体映像生成部53A、撮影映像合成部531A、ヘッドマウントディスプレイ出力部54A、ヘッドホンマイク入出力部61A、音声入出力部62A、音響再生部621A、3Dセンサ入力部70A、位置・距離・姿勢認識部75Aおよび通信制御部101Aを有する。
コンピュータ100Bには、ディスプレイD2、キーボードK2、マウスMS2、ヘッドマウントディスプレイHD2、ヘッドホンマイクHPM2および3DセンサSR2が接続される。
また、コンピュータ100Bは、CPU10B、記憶部20B、演算部30B、表示制御部50B、立体映像生成部53B、ヘッドマウントディスプレイ出力部54B、ヘッドホンマイク入出力部61B、音声入出力部62B、音響再生部621B、3Dセンサ入力部70B、位置・距離・姿勢認識部75Bおよび通信制御部101Bを有する。
このような測定システム1Eでは、測定機Mが設置されたユーザ側と、測定機Mの支援者側とが互いにネットワークNで接続される。ユーザ側では、ヘッドマウントディスプレイHD1に表示された測定機Mの映像IMGと、支援者側から送られた画像との合成を参照することができる。
支援者側では、ヘッドマウントディスプレイHD2に表示された仮想3次元空間においてグラフィック等の測定機画像MGと、ユーザ側から送られた画像との合成を参照することができる。すなわち、互いに離れた位置にいるユーザと支援者とのそれぞれにおいて、ヘッドマウントディスプレイHD1、HD2の表示を参照することで、まるで互いが近くにいるかのような3D映像を参照して操作を行うことができるようになる。
図30は、動作例を示す模式図である。
図30に示すように、ユーザ800は、ヘッドマウントディスプレイHD1およびヘッドホンマイクHPM1を装着する。3DセンサSR1は、ユーザ側の実3次元空間におけるユーザ800や測定機M、ワークWなどの物体の位置を検出する。また、ヘッドマウントディスプレイHD1に設けられた3DカメラCMは、測定機MやワークWなどの3D映像を取り込む。ユーザ側の測定機Mの情報、3DセンサSR1で検出した情報、3DカメラCMで取得した情報、ヘッドホンマイクHPM1で取得した情報などは、通信制御部101AからネットワークNを介して支援者側へ送信される。
一方、支援者900は、ヘッドマウントディスプレイHD2およびヘッドホンマイクHPM2を装着する。3DセンサSR2は、支援者側の実3次元空間における支援者900などの物体の位置を検出する。支援者側の3DセンサSR2で検出した情報、ヘッドホンマイクHPM2で取得した情報などは、通信制御部101BからネットワークNを介してユーザ側へ送信される。
次に、ユーザ800のヘッドマウントディスプレイHD1の表示例について説明する。ユーザ800のヘッドマウントディスプレイHD1には、3DカメラCMで取得した3D映像が表示される。例えば、ヘッドマウントディスプレイHD1には、測定機M、ワークW、コンピュータ100AのディスプレイD1などの映像が表示される。また、ヘッドマウントディスプレイHD1には、支援者側画像としてヘルパー画像HG1が表示される。
ヘルパー画像HG1としては、支援者900を模した画像が用いられる。ヘルパー画像HG1は、人の形を模した画像以外にキャラクター画像などであってもよい。ヘルパー画像HG1は、支援者900の動きに対応して変化する。
すなわち、支援者900の動きを支援者側の3DセンサSR2によって検出し、その検出結果から支援者900の動きに追従するようにヘルパー画像HG1を動かす。これにより、ユーザ800は、測定機Mのある場所に、まるで支援者900がいるかのような映像を参照することができる。
支援者900は、身振り手振りや音声を交えてユーザ800にアドバイスを送る。この動作に応じてユーザ800の参照するヘルパー画像HG1の動きが変化する。また、ユーザ800のヘッドホンマイクHPM1からは支援者900からの音声が出力される。
次に、支援者900のヘッドマウントディスプレイHD2の表示例について説明する。支援者900のヘッドマウントディスプレイHD2には、ユーザ側からネットワークNを介して送信された情報に基づき、仮想3次元空間の画像が表示される。仮想3次元空間内には、ユーザ800の使用する測定機画像MG、ワークWの画像(ワーク画像)WGが表示される。また、ユーザ800のコンピュータ100AのディスプレイD1の映像D−IMGが仮想3次元空間内に合成表示される。
さらに、ヘッドマウントディスプレイHD2には、ユーザ側画像としてユーザ画像YGが表示される。ユーザ画像YGとしては、ユーザ800を模した画像が用いられる。ユーザ画像YGは、人の形を模した画像以外にキャラクター画像などであってもよい。ユーザ画像YGは、ユーザ800の動きに対応して変化する。
すなわち、ユーザ800の動きをユーザ側の3DセンサSR1によって検出し、その検出結果からユーザ800の動きに追従するようにユーザ画像YGを動かす。これにより、支援者900は、仮想3次元空間内に表示される測定機画像MG、ワーク画像WGおよびユーザ画像YGによって、まるでユーザ800の測定場所にいるかのような感覚を得られる。
例えば、ユーザ800は、ヘッドマウントディスプレイHD1に表示される測定機Mの映像と、この映像に合成されるヘルパー画像HG1とを参照し、ヘルパー画像HG1のアドバイスを受けながら測定作業を行うことができる。
一方、支援者900は、ヘッドマウントディスプレイHD2に表示される仮想3次元空間内の測定機画像MGと、この測定機画像MGに合成されるユーザ画像YGとを参照し、ユーザ800に操作手順を指示するなど、アドバイスを送ることができる。
このように、ユーザ800および支援者900の双方が、お互いの画像を参照しながら音声やジェスチャーを交えてコミュニケーションをとることができ、離れた場所にいるにもかかわらず、まるでその場にいるかのような感覚によって作業を進めることができるようになる。
(第6実施形態)
図31は、第6実施形態に係る測定システムを例示する構成図である。
図31に示すように、本実施形態に係る測定システム1Fは、コンピュータ100と、コンピュータ100と無線通信を介して接続される表示装置300とを備える。コンピュータ100には、測定機M、操作盤CT、カメラC1、ディスプレイD、キーボードKおよびマウスMSが接続される。コンピュータ100は、CPU10、記憶部20、特徴点生成部35、測定結果合成設定部36、測定機制御部40、表示制御部50、入出力制御部60、操作盤入出力部65および通信制御部101Aを有する。
特徴点生成部35は、カメラC1で取得した測定対象物(ワーク)の映像から特徴点を抽出する処理を行う。特徴点とは、ワークの外形を構成するために必要な偶部や辺(外形線)である。測定結果合成設定部36は、特徴点生成部35で生成された特徴点とワークの測定結果との対応付けを行う部分である。例えば、隣り合う2つの特徴点の距離と、その位置に対応したワークの測定結果との対応付けを行う。
表示装置300には、カメラC2および液晶パネル等のディスプレイパネルDPが設けられる。表示装置300は、CPU310、記憶部320、特徴点抽出・追跡部350、入出力部360、測定結果合成部370および通信制御部301を有する。
特徴点抽出・追跡部350は、カメラC2で撮影したワークの映像から特徴点を抽出し、その抽出した特徴点を映像内で追跡する処理を行う。カメラC2でワークを撮影している間、特徴点の抽出および追跡が行われる。
測定結果合成部370は、カメラC2で撮影したワークの映像またはこの映像に基づくワークの画像に測定結果を合成する処理を行う。すなわち、測定結果合成部370は、特徴点抽出・追跡部350で抽出した特徴点に基づき、その特徴点と対応付けされた測定結果をコンピュータ100から読み出し、その測定結果をワークの映像または画像に合成する。
これにより、表示装置300のディスプレイパネルDPには、ワークの映像または画像に、その特徴点に対応した測定結果が合成された表示が行われる。つまり、表示装置300のユーザは、カメラC2でワークの映像を取得すると、ワークの映像または画像に測定結果が合成された表示を参照できるようになる。
なお、本実施形態に係る測定システム1Fでは、複数の表示装置300によって測定結果を参照することもできる。それぞれの表示装置300によってワークWの映像を取得することで、各表示装置300にワークの映像または画像と測定結果とが合成表示されることになる。
図32は、測定結果合成表示の処理の一例を示すフローチャートである。
先ず、ステップS201に示すように、カメラC2によってワークの映像を取得する。次に、ステップS202に示すように、特徴点を抽出済みか否かの判断を行う。抽出済みでない場合には、ステップS203に示す特徴点の抽出を行う。カメラC2で取得したワークの映像から特徴点を抽出した後は、ステップS204に示すように特徴点の追跡を行う。特徴点の抽出および追跡は、特徴点抽出・追跡部350の処理によって行われる。
次に、ステップS205に示すように、測定結果の合成を行う。ここでは、抽出および追跡しているワークの特徴点に合わせて、その特徴点に対応した測定結果の画像をワークの映像に合成する処理を行う。測定結果の合成処理は、測定結果合成部370によって行われる。
図33は、測定結果の合成表示例を示す模式図である。
図33に表した例では、表示装置300として携帯端末が用いられる。携帯端末にはカメラC2とディスプレイパネルDPが設けられる。このカメラC2でワークWを撮影すると、ワークWの映像IMGがディスプレイパネルDPに表示される。
特徴点抽出・追跡部350は、カメラC2で撮影したワークWの映像IMGからワークWの特徴点を抽出するとともに、撮影している間、その特徴点を追跡する。図33に示す例では、ワークWの特徴点CP1〜CP4が抽出および追跡されている。
測定結果合成部370は、抽出および追跡されている特徴点CP1〜CP4に対応した測定結果を映像に合成する。例えば、特徴点CP1とCP2との距離の測定結果を、ワークWの映像IMGの特徴点CP1とCP2との間の寸法線とともに表示する。また、特徴点CP2とCP3との距離の測定結果を、ワークWの映像IMGの特徴点CP2とCP3との間の寸法線とともに表示する。さらに、特徴点CP4から得られた穴の直径の測定結果を、ワークWの映像IMGの特徴点CP4が示す穴の位置に寸法線とともに表示する。
このような合成表示は、表示装置300でワークWを撮影している間、継続される。なお、ワークWを撮影する画角が変わった場合でも、ワークWの特徴点CP1〜CP4を追跡しているため、ワークWの映像IMGの変化に追従するように測定結果の表示位置も変化して表示される。したがって、ユーザは、好みの角度でワークWを撮影することにより、所定の角度からみたワークWの映像IMGと、それに対応した測定結果の表示とを参照することができるようになる。
図34(a)〜(e)は、他の合成表示例を示す模式図である。
図34(a)には、カメラC2によって撮影したワークWの映像IMGが示される。また、図34(b)には、映像IMGから抽出および追跡される特徴点が示される。ここでは特徴点が丸印で示されている。図34(c)には、映像IMGに測定結果を合成表示した例が示される。ここでは、事前に設定された測定結果が特徴点の位置に合成表示される。
一方、図34(d)には、映像IMGに基づきCADモデルへフィッティングしたワーク画像WGの例が示される。すなわち、図34(b)に示す映像IMGから特徴点を抽出することで、ワークWの撮影箇所と角度が把握される。これに基づき、ワークWのCADモデルをフィッティングしてワーク画像WGを表示する。そして、図34(e)に示すように、CADモデルのワーク画像WGに測定結果を合成して表示する。
映像IMGに測定結果を合成するか、CADモデルのワーク画像WGに測定結果を合成するかの切り替えは、ユーザの選択によって行われる。映像IMGに測定結果を合成すれば、実際に測定したワークWと、そのワークWの測定結果とを参照することができる。
また、CADモデルのワーク画像WGに測定結果を合成すれば、CADモデルに基づく設計情報や、CADモデルの表示方法(サーフェスモデル、ワイヤーフレームモデル、セクション表示など)を選択して、その表示に合わせて測定結果を合成することができる。
CADモデルのワーク画像WGでは、設計値と測定値との差に基づき表示色などの表示方法を変えることができる。例えば、寸法の許容範囲を超えている場合には赤で表示したり、許容範囲内に収まっている部分と、収まっていない部分とで表示態様を変えたりすることも可能である。
また、本実施形態に係る測定システム1Fのうち、コンピュータ100および表示装置300によってユーザインタフェース装置を構成してもよい。このユーザインタフェース装置によれば、ワークWの映像をカメラC2で撮影することで、ワークWの特徴点が抽出され、この特徴点に基づいてワークWの所定の位置に対応した情報をワークWの映像IMGに合成して表示させることができる。
(第7実施形態)
図35は、第6実施形態に係る測定システムを例示する構成図である。
図35に示すように、本実施形態に係る測定システム1Gは、コンピュータ100と、コンピュータ100と無線通信を介して接続される表示装置300とを備える。コンピュータ100には、測定機M、操作盤CT、カメラC1、ディスプレイD、キーボードKおよびマウスMSが接続される。コンピュータ100は、CPU10、記憶部20、マーカ認識登録部38、マーカ測定結果対応設定部39、測定機制御部40、表示制御部50、入出力制御部60、操作盤入出力部65および通信制御部101Aを有する。
マーカ認識登録部38は、カメラC1で取得したマーカの映像からマーカ固有の情報(形状の認識結果や識別情報など)を認識して、登録を行う。ここで、マーカとしては、他と区別可能な図形や写真など目印になるものが用いられる。マーカ測定結果対応設定部39は、マーカ認識登録部38で登録されたマーカと、所定の測定結果とを対応付けして登録する部分である。これらの登録情報は、記憶部20に記憶される。
表示装置300には、カメラC2および液晶パネル等のディスプレイパネルDPが設けられる。表示装置300は、CPU310、記憶部320、入出力部360、マーカ認識部380、マーカ測定結果合成部390および通信制御部301を有する。
マーカ認識部380は、カメラC2で撮影したマーカの映像からマーカ固有の情報を認識する処理を行う。マーカ測定結果合成部390は、マーカ認識部380で認識したマーカ固有の情報と対応付けされた測定結果を背景の映像に合成する処理を行う。
すなわち、マーカ測定結果合成部390は、マーカ認識部380で認識したマーカ固有の情報に基づき、その情報と対応付けされた測定結果をコンピュータ100から読み出し、その測定結果を背景の映像に合成する。
このような測定システム1Gにおいて、表示装置300のディスプレイパネルDPには、背景の映像と、マーカの位置に合成された測定結果とが表示されることになる。つまり、表示装置300のユーザは、カメラC2でマーカの映像を取得すると、そのマーカと対応付けされた測定結果が背景映像に合成された表示を参照できるようになる。
なお、本実施形態に係る測定システム1Gでは、複数の表示装置300によって測定結果を参照することもできる。それぞれの表示装置300によってマーカの映像を取得することで、各表示装置300のディスプレイパネルDPに背景と測定結果とが合成表示されることになる。
図36は、マーカ登録および設定動作を例示するフローチャートである。この動作はコンピュータ100で行われる。
先ず、ステップS301に示すように、カメラC1でマーカの映像を取得する。次に、ステップS302に示すようにマーカの映像の認識を行う。例えば、撮影された特定の形のマーカや、特定の図形、写真などを認識して、これにマーカ固有の識別情報を付与し、登録する処理を行う。この処理は、マーカ認識登録部38によって行われる。
次に、ステップS303に示すように、マーカと測定結果との対応付けを設定する処理を行う。すなわち、先のステップS302で認識されたマーカの識別情報と、所定の測定結果とを対応付けする処理を行う。この処理は、マーカ測定結果対応設定部39によって行われる。
次に、ステップS304に示すように、マーカ固有の識別情報と、この識別情報に対応付けされた測定結果との登録を行う。マーカ固有の識別情報と測定結果との対応付けは、マーカ設定情報として記憶部20に記憶される。この処理は、マーカ測定結果対応設定部39によって行われる。
図37は、マーカ認識および合成表示を例示するフローチャートである。この動作は表示装置300で行われる。
先ず、ステップS401に示すように、コンピュータ100の記憶部20から無線通信を介してマーカ設定情報を受信する。次に、ステップS402に示すように、カメラC2で撮影したマーカの映像を取得する。次いで、ステップS403に示すように、取得したマーカの映像からマーカ固有の識別情報の認識を行う。この処理は、マーカ認識部380によって行われる。
次に、ステップS404に示すように、マーカに対応付けされた測定結果を合成する処理を行う。すなわち、先のステップS403で認識したマーカ固有の識別情報から、この識別情報に対応付けされた測定結果をマーカ設定情報から読み出す。そして、カメラC2で撮影している背景の映像に、この測定結果を合成する処理を行う。この処理は、マーカ測定結果合成部390によって行われる。
次に、ステップS405に示すように、全てのマークの認識および合成表示が終了したか否かを判断する。終了していない場合にはステップS402へ戻り、以降の処理を繰り返す。これにより、カメラC2で撮影された全てのマーカに対応して測定結果が合成表示されることになる。
図38〜図40は、マーカ認識による測定結果の表示例を示す模式図である。
図38には、携帯端末へ合成表示を行った例が表される。この例では、表示装置300として携帯端末が用いられる。また、用紙PPには、複数のマーカMK1〜MK5が設けられている。
マーカMK1〜MK5としては、特定の図形であったり、特定の写真であったりする。各マーカMK1〜MK5には、マーカ固有の識別情報と測定結果とが対応付けされている。例えば、マーカMK1、MK2およびMK3には第1測定機M1の所定の測定結果が対応付けされる。また、マーカMK4およびMK5には第2測定機M2の所定の測定結果が対応付けされる。これらの対応付けは記憶部20に記憶される。
ユーザは、表示装置300である携帯端末のカメラC2によって用紙PPを撮影する。この撮影によってマーカMK1〜MK5の映像が取り込まれると、マーカMK1〜MK5のそれぞれの識別情報が認識される。そして、この識別情報に基づき各マーカMK1〜MK5に対応付けされた測定結果がコンピュータ100の記憶部20から読み出される。
そして、撮影したマーカMK1〜MK5の表示領域に、各マーカMK1〜MK5に対応付けされた測定結果の画像が合成され、ディスプレイパネルDPに表示される。例えば、マーカMK1〜MK3のそれぞれには第1測定機M1による測定結果の画像が合成され、マーカMK4およびMK5のそれぞれには第2測定機M2による測定結果の画像が合成される。
測定結果の画像は、表形式やグラフ形式など種々の形式によって表示される。画像を合成する際には、マーカMK1〜MK5のそれぞれの示す領域に合わせるように大きさや角度を調整して表示するようにしてもよい。また、平面的な用紙PPの映像に、測定結果の画像が浮き上がるように立体的な画像で合成表示するようにしてもよい。
このように、ユーザは携帯端末でマーカMK1〜MK5の付された用紙PPを撮影するだけで、マーカMK1〜MK5の位置にレイアウトされた測定結果を参照できるようになる。
図39および図40には別の表示例が表される。
先ず、図39には、合成表示する前の表示例が表される。先の例と同様に、用紙PPには複数のマーカMK1〜MK5が設けられている。また、この例では、メガネ型の表示装置300が用いられる。
この表示装置300では、メガネのレンズ部分にディスプレイパネルDPが設けられる。また、メガネのツルの部分にカメラC2が設けられる。ユーザはメガネ型の表示装置300を装着することで、メガネ前方の映像をカメラC2で撮影できるとともに、レンズ部分のディスプレイパネルDPに表示される情報を参照することができる。
図40には、合成表示した後の表示例が表される。すなわち、メガネ型の表示装置300のカメラC2でマーカMK1〜MK5を撮影すると、マーカMK1〜ML5のそれぞれの識別情報が認識される。そして、識別情報に基づき各マーカMK1〜MK5に対応付けされた測定結果が記憶部20から読み出される。そして、撮影したマーカMK1〜MK5の表示領域に、各マーカMK1〜MK5に対応付けされた測定結果の画像が合成され、ディスプレイパネルDPに表示される。
メガネ型の表示装置300を装着しているユーザは、メガネのレンズ部分のディスプレイパネルDPに表示される背景の映像に測定結果が合成された表示を参照できるようになる。この例では、マーカMK1、MK2およびMK3の表示領域に第1測定機M1の測定結果が合成され、マーカMK4およびMK5の表示領域に第2測定機M2の測定結果が合成される。
なお、マーカMK1〜MK5と測定結果との対応付けの設定を変更すれば、同じマーカMK1〜MK5であっても異なる測定結果を表示させることができる。すなわち、マーカMK1〜MK5のレイアウトフォームを1つ作成することで、異なる測定結果を表示させることができる。
また、1つのマーカに複数の測定結果が対応付けされていてもよい。この場合、1つのマーカに対応して複数の測定結果の中のどの測定結果を合成表示させるかをユーザの任意で切り替えられるようにしてもよい。これにより、1つのマーカの映像を撮影することで、そのマーカの位置に切り替えによって異なる測定結果を表示させることができる。
測定結果の画像は動画であってもよい。これにより、用紙PPの映像の上に動画が合成され、単なる用紙PPを仮想的な動画表示装置のように扱うことができる。
また、本実施形態に係る測定システム1Gのうち、コンピュータ100および表示装置300によってユーザインタフェース装置を構成してもよい。このユーザインタフェース装置によれば、マーカMK1〜MK5の映像をカメラC2で撮影することで、このマーカMK1〜MK5と対応する情報が読み出され、マーカMK1〜MK5の映像を撮影している間、その読み出した情報をディスプレイパネルDPに表示させることができる。
以上説明したように、本実施形態に係る測定システム1A、1B、1C、1D、1E、1Fおよび1Gによれば、測定機Mに対する操作性を向上させることが可能となる。
なお、上記に本実施形態を説明したが、本発明はこれらの例に限定されるものではない。例えば、3DカメラCMが取り付けられたヘッドマウントディスプレイHDを用いるシステムにおいては、上記説明したような3DカメラCMで撮影した現実空間の映像とコンピュータグラフィックスとを合成して表示する方法に限定されない。例えば、コンピュータグラフィックスを現実空間座標に合わせてヘッドマウントディスプレイHDに表示するようにしてもよい。この場合、3DカメラCMの代わり、または3DカメラCMに追加して3DセンサをヘッドマウントディスプレイHDに搭載しておき、3Dセンサで現実空間の座標系をリアルタイムに把握してコンピュータ処理で仮想空間を構築し、その空間上に実際に存在するかのようにコンピュータグラフィックスをリアルタイムに位置を更新して表示するようにしてもよい。また、前述の各実施形態に対して、当業者が適宜、構成要素の追加、削除、設計変更を行ったものや、各実施形態の特徴を適宜組み合わせたものも、本発明の要旨を備えている限り、本発明の範囲に包含される。