(57)【要約】【課題】仮想情報を適切に表示するための処理を行う。【解決手段】座標情報変換装置が、固定物の位置と、工作機械の可動部の位置との組を撮像した撮像データを複数取得し、該取得した複数の撮像データに基づいて所定の変換式に含まれる未定数の値を算出する算出手段と、前記算出手段により前記未定数の値が算出された前記所定の変換式に基づいて、前記可動部の駆動を制御するための座標系である第１座標系の座標値を、仮想情報を表現するための座標系であって前記固定物の位置に基づいた座標系である第２座標系の座標値に変換する第１変換手段と、を備える。【選択図】図１
2018128781.tif 000002
【特許請求の範囲】
【請求項１】
固定物の位置と、工作機械の可動部の位置との組を撮像した撮像データを複数取得し、該取得した複数の撮像データに基づいて所定の変換式に含まれる未定数の値を算出する算出手段と、
前記算出手段により前記未定数の値が算出された前記所定の変換式に基づいて、前記可動部の駆動を制御するための座標系である第１座標系の座標値を、仮想情報を表現するための座標系であって前記固定物の位置に基づいた座標系である第２座標系の座標値に変換する第１変換手段と、
を備える座標情報変換装置。
【請求項２】
前記第１変換手段により変換された第２座標系の座標値に基づいて前記仮想情報を表現すると共に、前記第１変換手段により変換された第２座標系の座標値を、前記仮想情報を表示するための座標系である第３座標系の座標値に変換することにより、前記第３座標系にて前記仮想情報を表示するための表示用データを生成する第２変換手段と、
前記第２変換手段により生成された前記表示用データに基づいて前記仮想情報を表示する表示手段と、
を更に備える請求項１に記載の座標情報変換装置。
【請求項３】
前記第１座標系の座標値を前記工作機械に与えることにより、前記工作機械の前記可動部を実際に駆動させる場合に、
前記第１変換手段が、前記工作機械に与えられる前記第１座標系の座標値と同一の座標値を、前記第２座標系の座標値に変換することにより、
前記表示手段が、前記工作機械の前記可動部の駆動と連動して前記仮想情報を表示する、請求項２に記載の座標情報変換装置。
【請求項４】
前記固定物の位置を第１特徴点とし、前記可動部の位置を第２特徴点とした場合に、
前記算出手段は、
前記第１特徴点と前記第２特徴点の差分に基づいて算出される前記第２座標系における座標値と、工作機械に与えられる前記第１座標系における座標値とを、前記所定の変換式に代入することにより、前記未定数の値の算出を行う請求項１から３までの何れかに記載の座標情報変換装置。
【請求項５】
前記可動部は前記第１座標系の座標値に基づいて回転運動を行い、
前記所定の変換式には、前記回転運動に対応する未定数が更に含まれ、
前記第１変換手段は、前記算出手段により前記回転運動に対応する未定数の値を含む全ての前記未定数の値が算出された前記所定の変換式に基づいて、前記第１座標系の座標値を、前記第２座標系の座標値に変換する請求項１から４までの何れかに記載の座標情報変換装置。
【請求項６】
前記固定物は、前記撮像を行う撮像装置の撮像可能な範囲内の任意の場所に設置可能である請求項１から５までの何れかに記載の座標情報変換装置。
【請求項７】
コンピュータを座標情報変換装置として機能させる座標情報変換プログラムであって、
前記コンピュータを、
固定物の位置と、工作機械の可動部の位置との組を撮像した撮像データを複数取得し、該取得した複数の撮像データに基づいて所定の変換式に含まれる未定数の値を算出する算出手段と、
前記算出手段により前記未定数の値が算出された前記所定の変換式に基づいて、前記可動部を制御するための座標系である第１座標系の座標値を、仮想情報を表現するための座標系であって前記固定物の位置に基づいた座標系である第２座標系の座標値に変換する第１変換手段と、
を備える座標情報変換装置として機能させる座標情報変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の表示等の用途のために座標情報を変換する、座標情報変換装置及び座標情報変換プログラムに関する。
【背景技術】
【０００２】
従来、数値制御装置により制御される工作機械の分野では、ＣＡＤ（computer-aided design）等でワークや治具を設計している。また、設計した治具を用いてワークを加工するための加工プログラムを作成している。
そして、数値制御装置が加工プログラムに基づいて工作機械を制御することにより、ワークの加工が実現される。
【０００３】
ここで、設計した治具やワーク、及び加工プログラムを実際に製造ラインに載せる前に、これらが適切であるかを確認するために加工シミュレーションを行うことが一般的である。
【０００４】
この加工シミュレーションを、実際の機械による動作確認で行う場合は、当然のことながら実物の治具が完成するまでは加工シミュレーションは行えない。従って、治具が完成するまで工程が停滞するという問題が発生する。
【０００５】
また、治具完成後の動作確認時に干渉などの問題が見つかり、治具の設計変更が必要になった場合には、工程が更に延びてしまう。また、治具の設計変更のための費用も発生してしまう。仮に、治具の設計変更をしない場合には、加工プログラムの変更が必要となるが、この場合には加工に要するサイクルタイムが当初よりも延びるおそれがある。
【０００６】
これらの問題を考慮して、実際の機械により動作確認を行うのではなく、パーソナルコンピュータ等の演算処理により、仮想的に加工シミュレーションを行う技術が存在する。
例えば、特許文献１に開示の技術では、工作機械における構造を全て仮想３Ｄオブジェクト化して、加工シミュレーションを行う。
【０００７】
しかしながら、特許文献１に開示の技術では、ワークや治具の仮想３Ｄオブジェクトを作成するのみならず、工作機械全体の仮想３Ｄオブジェクトの作成もする必要があった。
【０００８】
他方、近年の画像処理技術分野では、拡張現実（ＡＲ（Augmented Reality））や複合現実（ＭＲ（Mixed Reality））といった、現実空間に実在するオブジェクトに対して仮想のオブジェクトを重ね合せて表示するための技術が一般的に利用されるようになっている。以下では、これらＡＲやＭＲ等の技術により表示される仮想のオブジェクト等の情報を「仮想情報」と呼ぶ。
【０００９】
このようなＡＲやＭＲ等の技術を利用すれば、カメラで撮影した画像の特定の特徴点（例えば、マーカー）を抽出して、この特徴点に基づいた座標系で仮想オブジェクト等の仮想情報を表現することができる。そして、これにより、仮想情報を現実の工作機械の画像に重ねてオーバレイ表示することができる。従って、工作機械全体の仮想３Ｄオブジェクトを作成する必要があるという、特許文献１に開示の技術の問題点を解消することができる。
【００１０】
このようなＡＲやＭＲ等の基礎技術が、非特許文献１に開示されている。非特許文献１に開示の技術では、シースルー型のＨＭＤ(Head Mounted Display)を表示デバイスとし、仮想物体表示の基準座標となるマーカーの３次元位置をＨＭＤに取り付けられた小型カメラによって得られる画像情報から検出する。そして、ユーザの両眼に視差を与えた仮想物体映像を提示することで、ＨＭＤスクリーンを透過して見える実世界の３次元空間中に３次元物体として仮想３Ｄオブジェクトを表示することを可能とする。
【００１１】
ここで、非特許文献１に開示の技術では、図９に示すように複数の座標系を扱う。具体的には、仮想３Ｄオブジェクトは、特徴点を原点とした座標系であるマーカー座標系上で表現する。そして、マーカー座標系からカメラ座標系への座標変換行列を求める処理を行う。そして、この処理により得られた座標変換行列を用いることにより、ＨＭＤの左右のスクリーンの適切な位置に仮想３Ｄオブジェクトを描画することが可能となる。
【００１２】
また、この場合に、図１０に示すように、予め登録したマーカーを、仮想３Ｄオブジェクトを表示させるための特徴点とした上でマーカーを移動させると、マーカーの移動に合わせて仮想３Ｄオブジェクトも移動する。すなわち、仮想３Ｄオブジェクトがマーカーに追従する。
【００１３】
これを利用し、実際の工作機械の可動部上にマーカーを配置することで、テーブルの実移動に合わせて仮想３Ｄオブジェクトを移動させることもできる。例えば、図１１の左に（１１Ａ）として示すように、実際の工作機械の可動部である可動テーブル上にマーカーを配置する。そして、図１１の中央に（１１Ｂ）として示すように、マーカーを原点として仮想３Ｄオブジェクトを表示する。更に、図１１の中央に（１１Ｃ）として示すように、可動テーブルを例えばＸ軸に沿って移動させると、仮想３Ｄオブジェクトがマーカーに追従してＸ軸に沿って移動する。
【００１４】
このような非特許文献１等に開示のＡＲやＭＲ等の技術を利用すれば、工作機械全体を仮想３Ｄオブジェクトとすることなく加工シミュレーションを行うことが可能となる。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特許４０８３５５４号明細書
【特許文献２】特許５８７２９２３号明細書
【非特許文献】
【００１６】
【非特許文献１】「マーカー追跡に基づく拡張現実感システムとそのキャリブレーション」、［ｏｎｌｉｎｅ］、［平成２９年１月２５日検索］、インターネット〈ＵＲＬ：http://intron.kz.tsukuba.ac.jp/tvrsj/4.4/kato/p-99_VRSJ4_4.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、図１１に示すようにして、実際の工作機械の可動部上にマーカーを配置する場合には、複数の課題が存在する。この課題について図１２を参照して説明をする。
【００１８】
前提として、仮想情報を表示するためには、カメラでマーカーを捉えている必要がある。しかし、例えば図１２の左に（１２Ａ）として示すように、マーカーを設置した可動部の移動や回転に伴いマーカーが判別不能となり得るという課題がある。
この点、特許文献２に開示の技術を利用すれば、マーカーが判別不能になった後も、仮想情報の表示を継続することはできる。しかしながら、特許文献２に開示の技術では、その後、可動部に配置されたマーカーの移動を検知することはできないので、マーカーが判別不能になった後は、表示している仮想情報は移動しないこととなる。従って、仮に特許文献２に開示の技術を利用したとしても、マーカーが判別不能となってしまう場合には、適切な加工シミュレーションは行なえない。
【００１９】
また、図１２の中央に（１２Ｂ）として示すように、可動部の移動速度が速く、マーカーの認識処理が追いつけない場合があり得るという課題もある。
【００２０】
また、図１２の右に（１２Ｃ）として示すように、そもそも可動部にマーカーが配置できない場合があり得るという課題がある。可動部にマーカーが配置できない場合とは、例えば可動部そのものを仮想３Ｄオブジェクトで実現する場合である。
【００２１】
これらの課題を考慮すると、工作機械上で仮想３Ｄオブジェクトをオーバレイ表示して加工シミュレーション等を行う場合、マーカー自体は移動させず、マーカーを所定の位置に固定して設置できることが望ましい。
【００２２】
しかしながら、マーカーが固定して設置された場合には、マーカーを原点として表示される仮想３Ｄオブジェクトも動かないことになる。これでは、加工シミュレーション等を行うことができない。
このように、上述したような一般的な技術では、仮想３Ｄオブジェクト等の仮想情報を適切に表示することが困難な場合があった。
【００２３】
そこで、本発明は、仮想情報を適切に表示するための処理を行うことが可能な、座標情報変換装置及び座標情報変換プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２４】
（１）  本発明の座標情報変換装置（例えば、後述の座標情報変換装置２００）は、固定物（例えば、後述の第１特徴点１０）の位置と、工作機械（例えば、後述の工作機械４００）の可動部（例えば、後述の第２特徴点２０）の位置との組を撮像した撮像データ（例えば、後述の撮像データＤ１）を複数取得し、該取得した複数の撮像データに基づいて所定の変換式に含まれる未定数の値を算出する算出手段（例えば、後述の算出部２１０）と、前記算出手段により前記未定数の値が算出された前記所定の変換式（例えば、後述の未定数算出座標変換式Ｄ３）に基づいて、前記可動部の駆動を制御するための座標系である第１座標系の座標値（例えば、後述の機械座標系座標値Ｄ２）を、仮想情報を表現するための座標系であって前記固定物の位置に基づいた座標系である第２座標系の座標値（例えば、後述のＡＲ座標系座標値Ｄ４）に変換する第１変換手段（例えば、後述の第１変換部２２０）と、を備える。
【００２５】
（２）  上記（１）において、前記第１変換手段により変換された第２座標系の座標値に基づいて前記仮想情報を表現すると共に、前記第１変換手段により変換された第２座標系の座標値を、前記仮想情報を表示するための座標系である第３座標系の座標値に変換することにより、前記第３座標系にて前記仮想情報を表示するための表示用データ（例えば、後述の仮想情報表示用データＤ５）を生成する第２変換手段（例えば、後述の第２変換部２３０）と、前記第２変換手段により生成された前記表示用データに基づいて前記仮想情報を表示する表示手段（例えば、後述のヘッドマウントディスプレイ３００）と、を更に備えるようにしてもよい。
【００２６】
（３）  上記（２）において、前記第１座標系の座標値を前記工作機械に与えることにより、前記工作機械の前記可動部を実際に駆動させる場合に、前記第１変換手段が、前記工作機械に与えられる前記第１座標系の座標値と同一の座標値を、前記第２座標系の座標値に変換することにより、前記表示手段が、前記工作機械の前記可動部の駆動と連動して前記仮想情報を表示する、ようにしてもよい。
【００２７】
（４）  上記（１）から（３）までの何れかにおいて、前記固定物の位置を第１特徴点とし、前記可動部の位置を第２特徴点とした場合に、前記算出手段は、前記第１特徴点と前記第２特徴点の差分に基づいて算出される前記第２座標系における座標値と、工作機械に与えられる前記第１座標系における座標値とを、前記所定の変換式に代入することにより、前記未定数の値の算出を行うようにしてもよい。
【００２８】
（５）  上記（１）から（４）までの何れかにおいて、前記可動部は前記第１座標系の座標値に基づいて回転運動を行い、前記所定の変換式には、前記回転運動に対応する未定数が更に含まれ、前記第１変換手段は、前記算出手段により前記回転運動に対応する未定数の値を含む全ての前記未定数の値が算出された前記所定の変換式に基づいて、前記第１座標系の座標値を、前記第２座標系の座標値に変換するようにしてもよい。
【００２９】
（６）  上記（１）から（５）までの何れかにおいて、前記固定物は、前記撮像を行う撮像装置の撮像可能な範囲内の任意の場所に設置可能であるようにしてもよい。
【００３０】
（７）  本発明の座標情報変換プログラムは、コンピュータを座標情報変換装置（例えば、後述の座標情報変換装置２００）として機能させる座標情報変換プログラムであって、前記コンピュータを、固定物（例えば、後述の第１特徴点１０）の位置と、工作機械（例えば、後述の工作機械４００）の可動部（例えば、後述の第２特徴点２０）の位置との組を撮像した撮像データ（例えば、後述の撮像データＤ１）を複数取得し、該取得した複数の撮像データに基づいて所定の変換式に含まれる未定数の値を算出する算出手段（例えば、後述の算出部２１０）と、前記算出手段により前記未定数の値が算出された前記所定の変換式（例えば、後述の未定数算出座標変換式Ｄ３）に基づいて、前記可動部の駆動を制御するための座標系である第１座標系の座標値（例えば、後述の機械座標系座標値Ｄ２）を、仮想情報を表現するための座標系であって前記固定物の位置に基づいた座標系である第２座標系の座標値（例えば、後述のＡＲ座標系座標値Ｄ４）に変換する第１変換手段（例えば、後述の第１変換部２２０）と、を備える座標情報変換装置として機能させる。
【発明の効果】
【００３１】
本発明によれば、仮想情報を適切に表示するための処理を行うことが可能となる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施形態における処理の概略を示す図である。
【図２】本発明の実施形態全体の基本的構成を示す図である。
【図３】本発明の実施形態における座標情報変換装置の基本的構成を表すブロック図である。
【図４】本発明の実施形態の基本的動作を表すフローチャートである。
【図５】本発明の実施形態における座標変換式について示すテーブルである。
【図６】本発明の実施例１について説明をするための図である。
【図７】本発明の実施例２について説明をするための図である。
【図８】本発明の変形例実施例２について説明をするための図である。
【図９】マーカー座標系について示す図である。
【図１０】仮想３Ｄオブジェクトの表示について示す図である。
【図１１】マーカーを可動部に設置した場合について示す図である。
【図１２】マーカーを可動部に設置した場合の課題について示す図である。
【発明を実施するための形態】
【００３３】
まず、本発明の実施形態の概略について図１を参照して説明する。本発明の実施形態では、数値制御装置が制御する座標系の座標値とカメラ画像上での表示位置を連動させる。
【００３４】
そのために、本発明の実施形態では、数値制御装置が管理する座標系（以下、「機械座標系」と呼ぶ。）の座標値を、カメラ画像上の特徴点に基づいた座標系（以下、「ＡＲ座標系」と呼ぶ。）の座標値に変換する。具体的には、図１の上に（１Ａ）として示すように、カメラから見える位置に固定した、仮想情報を表現するためのマーカー（図中の第１特徴点１０）の位置と、機械座標系で移動する工具等の可動部（図中の第２特徴点２０）の位置を撮像した撮像データを複数回取得する。そして、取得した撮像データから算出されるＡＲ座標系における可動部の位置と、機械座標系の座標値おける工具の位置とから、予め設定された所定の変換式を解く。
【００３５】
また、解かれた所定の変換式により、機械座標系の座標値を、図１の下に（１Ｂ）として示すように、ＡＲ座標系の座標値に変換する。また、このＡＲ座標系の座標値に基づいて仮想情報を表現すると共に、ＡＲ座標系の座標値を、カメラ画像上に表示するためにカメラ座標系の座標値に変換する。更に、変換後のカメラ座標系の座標値に基づいて、仮想情報を、現実の工作機械の画像に重ねてオーバレイ表示する。
【００３６】
本発明の実施形態では、このような構成により、「仮想情報を適切に表示するための処理を行うこと」を可能とする。すなわち、本発明の実施形態によれば、［発明が解決しようとする課題］の欄で上述した課題を解決することが可能となる。
以上が本発明の実施形態の概略である。
【００３７】
次に、本発明の実施形態について図面を参照して詳細に説明する。まず、図２を参照して本実施形態全体の構成について説明をする
本実施形態は、数値制御装置１００、座標情報変換装置２００、無線通信部２５０、ヘッドマウントディスプレイ３００及び工作機械４００を備える。
【００３８】
数値制御装置１００は、一般的な数値制御装置としての機能と、座標情報変換装置２００との通信を行う機能とを備える装置である。数値制御装置１００は、サーボモータ制御部１１０及び座標情報通知部１２０を備えている。
そして、数値制御装置１００は、サーボモータ制御部１１０を介して工作機械４００と通信可能に接続されている。そして、数値制御装置１００は、数値制御装置１００自身に組み込まれた加工プログラムに基づいて出力される機械座標系の座標値により工作機械４００の可動部（例えば、工具）の駆動を制御して、ワークを加工する。
【００３９】
また、数値制御装置１００は、座標情報通知部１２０を介して座標情報変換装置２００とも通信可能に接続されている。数値制御装置１００は、座標情報変換装置２００に対しても加工プログラムに基づいて出力される機械座標系の座標値を出力する。
このように、数値制御装置１００は、工作機械４００と座標情報変換装置２００との双方に対して機械座標系の座標値を出力する。なお、数値制御装置１００と、工作機械４００や座標情報変換装置２００との接続はイーサネット(Ｅｔｈｅｒｎｅｔ（登録商標））等に準拠した有線接続であってもよいし、Ｗｉ−Ｆｉ等に準拠した無線接続であってもよい。
【００４０】
座標情報変換装置２００は、本実施形態特有の装置であり、ＡＲやＭＲ等の技術により、仮想情報の表示位置及び表示角度を算出することにより、適切に仮想情報を表示させるための制御を行う。なお、以下では、仮想情報として仮想３Ｄオブジェクトを表示させることを想定して説明するが、これ以外の仮想情報を表示させるようにしてもよい。例えば、仮想２Ｄオブジェクトを表示させるようにしてもよい。なお、座標情報変換装置２００の詳細な構成については、図３を参照して後述する。
【００４１】
無線通信部２５０は、座標情報変換装置２００と通信可能に接続しており、座標情報変換装置２００が出力する仮想３Ｄオブジェクトと、その表示位置及び表示角度を取得する。これら座標情報変換装置２００が出力する情報は、カメラ座標系に対応したものとなっている。そして、無線通信部２５０は、これら座標情報変換装置２００が出力した情報を、Ｗｉ−Ｆｉ等に準拠した無線接続でヘッドマウントディスプレイ３００に対して送信する。
【００４２】
また、無線通信部２５０は、ヘッドマウントディスプレイ３００に含まれるカメラが撮像することにより生成された画像データを無線通信によりヘッドマウントディスプレイ３００から受信する。そして、無線通信部２５０は、この受信した情報を座標情報変換装置２００に対して出力する。
【００４３】
ヘッドマウントディスプレイ３００は、一般的なヘッドマウントディスプレイ（以下、適宜「ＨＭＤ」と表記）であり、座標情報変換装置２００が出力する仮想３Ｄオブジェクトと、その表示位置及び表示角度を、無線通信部２５０を介して取得する。そして、この取得した情報に基づいて、ヘッドマウントディスプレイ３００自身が備えるディスプレイに仮想３Ｄオブジェクトを表示する。この取得した情報は、上述したように、カメラ座標系に対応したものとなっている。
また、ヘッドマウントディスプレイ３００は、ヘッドマウントディスプレイ３００自身に含まれるカメラが撮像により生成した画像データを、無線通信部２５０を介して座標情報変換装置２００に対して出力する。
【００４４】
工作機械４００は、一般的な工作機械であり、数値制御装置１００から出力される機械座標系の座標値に基づいて制御軸を駆動させる。具体的には、制御軸を移動させたり回転させたりする。
なお、図中では、工作機械４００は、機械座標系の座標値に基づいて駆動するので、これを概念的に表すために「ＸMCN、ＹMCN、ＺMCN」というように各軸の末尾に「MCN」を付して表記している。一方で、仮想情報は、カメラ座標系にて表示されるものであるが、そもそもＡＲ座標系の座標値に基づいて表現されるので、これを概念的に表すために「ＸＡＲ、ＹＡＲ、ＺＡＲ」というように各軸の末尾に「ＡＲ」を付して表記している。
【００４５】
本実施形態では、このような構成により、ユーザが、ＡＲ座標系に対応して表現される仮想３Ｄオブジェクトを、ヘッドマウントディスプレイ３００のディスプレイにてカメラ座標系の座標値に基づいて参照すると共に、機械座標系の座標値に対応して駆動する工作機械４００の実際の構造をディスプレイ越しに参照する。これにより、ユーザは加工シミュレーションの様子を観察することが可能となる、という効果を奏する。
【００４６】
なお、図２に示した構成はあくまで一例である。例えば、ヘッドマウントディスプレイ３００を、ＨＭＤではなくタブレット型の端末等の他の装置により実現するようにしてもよい。また、座標情報変換装置２００の機能の一部又は全部をヘッドマウントディスプレイ３００や数値制御装置１００に搭載するようにしてもよい。また、座標情報変換装置２００は、単独の装置により実現してもよいが複数の装置の組み合わせにより実現してもよい。更に、座標情報変換装置２００は、数値制御装置１００や工作機械４００の近傍に設置されている装置により実現してもよいが、数値制御装置１００や工作機械４００とネットワークを介して遠距離に設置されているサーバ装置等で実現してもよい。
【００４７】
次に、図３を参照して座標情報変換装置２００の詳細な構成について説明をする。図３を参照すると、座標情報変換装置２００は、算出部２１０、第１変換部２２０及び第２変換部２３０を備える。
【００４８】
算出部２１０は、ヘッドマウントディスプレイ３００に含まれるカメラが撮像することにより生成された画像データである「画像データＤ１」を、ヘッドマウントディスプレイ３００から無線通信部２５０を介して受信する。また、算出部２１０は、数値制御装置１００の座標情報通知部１２０から加工プログラムに基づいて出力される機械座標系の座標値である「機械座標系座標値Ｄ２」も受信する。なお、後述の第１変換部２２０も同様にして機械座標系座標値Ｄ２を受信する。
【００４９】
また、算出部２１０は、機械座標系の座標値を、ＡＲ座標系の座標値に変換するための式である「座標変換式」を記憶している。そして、算出部２１０は、受信した画像データＤ１に基づく情報や、受信した機械座標系座標値Ｄ２に基づく情報を、この座標変換式に代入することにより、この座標変換式に含まれる不定数の値を推定して算出する。そして、算出部２１０は、算出した不定数の値を含む座標変換式を「未定数算出座標変換式Ｄ３」として第１変換部２２０に対して出力する。
【００５０】
第１変換部２２０は、受信した機械座標系座標値Ｄ２を、ＡＲ座標系の座標値である「ＡＲ座標系座標値Ｄ４」に変換する部分である。かかる変換は、算出部２１０が出力する、未定数算出座標変換式Ｄ３を用いることにより行う。第１変換部２２０は、変換により得られたＡＲ座標系座標値Ｄ４を、第２変換部２３０に対して出力する。
なお、座標変換式の内容や、算出部２１０による不定数の算出や、第１変換部２２０による変換については、図５等を参照して詳細に後述する。
【００５１】
第２変換部２３０は、ＡＲやＭＲ等の技術に基づいて、仮想３Ｄオブジェクト等の仮想情報を表示させるためのデータである「仮想情報表示用データＤ５」を生成する部分である。
【００５２】
より詳細に説明すると、第２変換部２３０は、仮想３Ｄオブジェクトのデータベース（図示を省略する）を、第２変換部２３０の内部又は外部に有している。そして、第２変換部２３０は、このデータベースから選択された仮想３Ｄオブジェクトを、第１変換部２２０が出力するＡＲ座標系座標値Ｄ４に対応して表現する。これと共に、第２変換部２３０は、このＡＲ座標系座標値Ｄ４を、仮想３Ｄオブジェクトを表示するための座標系であるカメラ座標系の座標値に変換する。
これにより、第２変換部２３０は、ＡＲ座標系座標値Ｄ４に基づいて表現される仮想３Ｄオブジェクトをカメラ座標系で表示するための仮想情報表示用データＤ５を生成する。かかる処理は、例えば非特許文献１に記載の技術等を利用することにより実現できるので、その詳細な説明については省略する。
【００５３】
第２変換部２３０は、生成した仮想情報表示用データＤ５を、無線通信部２５０を介してヘッドマウントディスプレイ３００に対して送信する。この仮想情報表示用データＤ５には、仮想３Ｄオブジェクトの形状等と、この仮想３Ｄオブジェクトの、カメラ座標系の座標値に変換された表示位置及び表示角度等が含まれる。ヘッドマウントディスプレイ３００は、この仮想情報表示用データＤ５に基づいて仮想３Ｄオブジェクト等の仮想情報をディスプレイに表示する。
【００５４】
以上説明した座標情報変換装置２００は、一般的なサーバ装置やパーソナルコンピュータに本実施形態特有のソフトウェアを組み込むことにより実現できる。
【００５５】
より詳細に説明すると、座標情報変換装置２００は、ＣＰＵ（Central Processing Unit）等の演算処理装置を備える。また、座標情報変換装置２００は、各種のプログラムを格納したＨＤＤ（hard disk drive）やＳＳＤ（solid state drive）等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのＲＡＭ（Random Access Memory）といった主記憶装置を備える。
【００５６】
また、座標情報変換装置２００において、演算処理装置が補助記憶装置から各種のプログラムを読み込み、読み込んだ各種のプログラムを主記憶装置に展開させながら、これら各種のプログラムに基づいた演算処理を行う。
【００５７】
そして、この演算結果に基づいて、座標情報変換装置２００が備えるハードウェアを制御することにより、上述した各機能ブロックの機能が実現する。つまり、座標情報変換装置２００は、ハードウェアとソフトウェアが協働することにより実現することができる。なお、数値制御装置１００や、ヘッドマウントディスプレイ３００等についても、同様にして、ハードウェアとソフトウェアが協働することにより実現することができる。
【００５８】
次に、本実施形態全体の動作について、図４のフローチャートと、図５に示す座標変換式のテーブルを参照して説明をする。
まず、算出部２１０は、数値制御装置１００が加工プログラムにより駆動させる工作機械４００の直線軸数と回転軸数とに基づいて、今回使用する座標変換式を特定する（ステップＳ１１）。
【００５９】
ここで、座標変換式について図５を参照して説明をする。図５は、算出部２１０が利用する座標変換式のテーブルを示す図である。
図５に示すように、座標変換式は、直線軸数と回転軸数の数とに応じてそれぞれ異なる。そこで、算出部２１０は、図５に示すようなテーブルを参照して、直線軸数と回転軸数とに基づいて、今回使用する座標変換式を特定する。
【００６０】
ここで、算出部２１０による直線軸数と回転軸数の把握方法であるが、例えばユーザが、直線軸数と回転軸数を座標情報変換装置２００に対して入力することにより算出部２１０は直線軸数と回転軸数を把握することができる。また、そうではなく、例えば数値制御装置１００が、直線軸数と回転軸数を座標情報変換装置２００に対して入力することにより、算出部２１０が直線軸数と回転軸数を把握することができるようにしてもよい。
【００６１】
次に、数値制御装置１００は、工作機械４００に機械座標系座標値を与えることにより、工作機械４００の工具（第２特徴点２０に相当）をヘッドマウントディスプレイ３００で撮像可能な範囲内で移動する（ステップＳ１２）。なお、この機械座標系座標値は、機械座標系座標値Ｄ２として算出部２１０に対しても出力される。
【００６２】
他方、ヘッドマウントディスプレイ３００が、移動後の工作機械４００の工具（第２特徴点２０に相当）の位置と、マーカー（第１特徴点１０に相当）の位置との組を撮像して撮像データＤ１を生成し、生成した撮像データＤ１を算出部２１０に対して出力する。
算出部２１０は、撮像データＤ１を解析することにより、マーカーの位置と工具の位置を特定し、特定した両者の差分を算出することにより、ＡＲ座標系での工具の位置を取得する（ステップＳ１３）。
【００６３】
次に、算出部２１０は、ステップＳ１２及びステップＳ１３を、座標変換式に含まれる未定数を算出するために必要な回数行ったか否かを判定する（ステップＳ１４）。ここで、必要な回数は、直線軸数と回転軸数の数に応じて定まり、例えば直線軸数が４であり回転軸数が０であるならば、必要な回数は４回である。
【００６４】
未だ必要な回数行っていないのであれば（ステップＳ１４にてＮｏ）、ステップＳ１２に戻り、ステップＳ１２及びステップＳ１３の処理を再度行う。一方で、必要な回数行ったならば（ステップＳ１４にてＹｅｓ）、ステップＳ１５に進む。
【００６５】
ステップＳ１５では、算出部２１０は、ステップＳ１２で入力された機械座標系座標値Ｄ１に基づく工具の位置と、ステップＳ１３で算出されたＡＲ座標系の工具の位置とを、座標変換式に代入することにより、座標変換式内の変換行列に含まれる未定数を推定して算出する（ステップＳ１５）。これにより、算出部２１０は、未定数算出座標変換式Ｄ３を生成し、生成した未定数算出座標変換式Ｄ３を第１変換部２２０に対して出力する。
【００６６】
次に、第１変換部２２０は、算出部２１０が出力した未定数算出座標変換式Ｄ３により、数値制御装置１００が出力した機械座標系座標値Ｄ２をＡＲ座標系の座標値に変換する（ステップＳ１６）。そして、第１変換部２２０は、変換により得たＡＲ座標系座標値Ｄ４を、第２変換部２３０に対して出力する。
【００６７】
次に、第２変換部２３０は、上述したように、データベースから選択された仮想３Ｄオブジェクトを、第１変換部２２０が出力するＡＲ座標系座標値Ｄ４に対応して表現する。これと共に、第２変換部２３０は、このＡＲ座標系座標値Ｄ４を、仮想３Ｄオブジェクトを表示するための座標系であるカメラ座標系の座標値に変換する（ステップＳ１７）。
【００６８】
これにより、第２変換部２３０は、ＡＲ座標系座標値Ｄ４に基づいて表現される仮想３Ｄオブジェクトをカメラ座標系で表示するための仮想情報表示用データＤ５を生成する（ステップＳ１８）。そして、第２変換部２３０は、生成した仮想情報表示用データＤ５を、無線通信装置２５０を介してヘッドマウントディスプレイ３００に対して送信する。
【００６９】
ヘッドマウントディスプレイ３００は、仮想情報表示用データＤ５を受信する。そして、ヘッドマウントディスプレイ３００は、受信した仮想情報表示用データＤ５に基づいて、ヘッドマウントディスプレイ３００が備えるディスプレイに仮想情報を表示する（ステップＳ１９）。その後、ステップＳ１６に戻り、数値制御装置１００が出力した、新たな機械座標系座標値Ｄ２を対象として、ステップＳ１６以後の処理を繰り返す。この繰り返しにより、ディスプレイに表示されている仮想情報は、新たな機械座標系座標値Ｄ２に基づいて移動することとなる。
【００７０】
以上本実施形態について説明した。以上説明した本実施形態により、ユーザは、ＡＲ座標系に対応して表現される仮想３Ｄオブジェクトを、ヘッドマウントディスプレイ３００のディスプレイにて参照することができる。また、それのみならず、ユーザは、機械座標系の座標値に対応して駆動する工作４００の実際の構造をディスプレイ越しに参照することができる。
【００７１】
これにより、ユーザは加工シミュレーションの様子を観察することが可能となる、という効果を奏する。
また、本実施形態では、例えば機械座標系とＡＲ座標系の関係情報等をユーザが個別に設定するような必要がない、という効果も奏する。
【００７２】
次に、上述した本実施形態の具体的な例を［実施例１］及び［実施例２］として説明する。なお、これら２つの実施例の基本的な構成及び動作は、上述した本実施形態の構成及び動作と共通するので、重複する説明は省略する。また、以下では、これら２つの実施例について別々に説明するが、これら２つの実施例を組み合わせるようにしてもよい。
【００７３】
［実施例１］
実施例１では、直線軸の数がｎ軸（ｎは任意の自然数）であり、回転軸の数が０軸である場合の座標変換式について詳細に説明をする。なお、以下の説明では、各数式中に登場する太字のアルファベットを、アルファベットに「（太字）」と付記することで表す。
【００７４】
＜直線軸がｎ軸であり、回転軸の数が０軸である場合の座標変換式＞
まず、全ての軸が0のときを原点としたとき、この原点における座標系X（太字）ncは以下の数式［数１］のようになる。
【数１】
2018128781.tif 000003
【００７５】
また、ＡＲ座標系X（太字）arは座標系X（太字）ncは用いて以下の数式［数２］のようになる。
【数２】
2018128781.tif 000004
【００７６】
これらの数式［数１］及び［数２］は、図５に示す座標変換式に対応するものである。更に、各行列は、以下の数式［数３］のようになる。
【数３】
2018128781.tif 000005
ここで、数式［数３］中のl、m、n、a*n、b*、及びc**は定数である。また、数式［数３］中のxnは直線軸の位置であり変数である。
【００７７】
そして、座標系X（太字）ncを計算すると、以下の数式［数４］が得られる。
【数４】
2018128781.tif 000006
上記数式［数４］よりＡＲ座標系X（太字）arは、以下の数式［数５］のように得られる。
【数５】
2018128781.tif 000007
ここで、数式［数５］中のr1n、r2n、r3n、t1、t2、t3は以下の数式［数６］のようになる。
【数６】
2018128781.tif 000008
【００７８】
次に、この座標変換式について、直線軸の数が４軸であり、回転軸の数が０軸である場合を例にとって、図６を参照して具体的に説明をする。ここで、図６に示すように、本例では、直線軸の数は、Ｘ軸が１軸であり、Ｙ軸が１軸であり、Ｚ軸がＺ１軸とＺ２軸の２軸である。つまり、直線軸は計４軸である。
なお、今回は、直線軸の数が４軸である場合について説明するが、直線軸の数は、３軸以下であってもよく、５軸以上であってもよい。
【００７９】
まず、直線軸の数である４と、回転軸の数である０とに基づいて使用する座標変換式が特定される（ステップＳ１１）。上述したように、今回直線軸はＸ、Ｙ、Ｚ１及びＺ２となる。そのため、座標変換式は、機械座標系[x, y, z1, z2]及びAR座標系[Xar, Yar, Zar]並びに上記の数式［数５］を用いて以下の数式［数７］のように示される。
【数７】
2018128781.tif 000009
【００８０】
次に、ステップＳ１２及びステップＳ１３を４回行い（ステップＳ１４にてＮｏ）、４つの連立方程式を生成する。そして、生成した連立方程式により、未定数である[r11, r12, r13, r14, t1,〜,t4]の値を推定して算出する（ステップＳ１５）。
【００８１】
その後、上述したように、ステップＳ１６〜ステップＳ１９の処理を繰り返すことにより、例えば、適切に加工シミュレーションの様子を観察することが可能となるといった、上述した実施形態同様の効果を奏する。
【００８２】
［実施例２］
実施例２では、直線軸の数がｎ軸であり、回転軸の数が１軸である場合の座標変換式について詳細に説明をする。なお、以下の説明では、直線軸であるＹ軸を中心軸とした回転軸Ｂが回転軸である場合について説明しているが、例えば、直線軸であるＸ軸を中心軸とした回転軸Ａが回転軸である場合等についても、同様の座標変換式にて本実施例を適用することができる。
【００８３】
＜直線軸がｎ軸であり、回転軸の数が１軸である場合の座標変換式＞
まず、回転中心を原点としたとき、この原点における座標系X（太字）ncは以下の数式［数８］のようになる。
【数８】
2018128781.tif 000010
【００８４】
また、この場合、ＡＲ座標系X（太字）arは座標系X（太字）ncは用いて以下の数式［数９］のようになる。
【数９】
2018128781.tif 000011
【００８５】
これらの数式［数８］及び［数９］は、数式［数１］及び［数２］と同様に図５に示す座標変換式に対応するものである。また、これらの数式［数８］及び［数９］の各行列は、数式［数３］と同様である。また、R（太字）yは以下の数式［数１０］のようになる。
【数１０】
2018128781.tif 000012
ここで、数式［数１０］中のＢは回転軸の位置であり変数である。
【００８６】
そして、座標系X（太字）ncを計算すると、以下の数式［数１１］が得られる。
【数１１】
2018128781.tif 000013
【００８７】
ここで、数式［数１２］として加法定理を示す。
【数１２】
2018128781.tif 000014
【００８８】
そして、かかる加法定理を用いると、以下の数式［数１３］のようになる。
【数１３】
2018128781.tif 000015
また、θは以下の数式［数１４］に示す値となる。
【数１４】
2018128781.tif 000016
【００８９】
従って、座標系X（太字）ncは、以下の数式［数１５］のようになる。
【数１５】
2018128781.tif 000017
【００９０】
上記数式［数１５］よりＡＲ座標系X（太字）arは、以下の数式［数１６］のように得られる。
【数１６】
2018128781.tif 000018
ここで、数式中のr1n、r2n、r3n、t1、t2、t3は以下の数式［数１７］のようになる。
【数１７】
2018128781.tif 000019
【００９１】
ここで、数式［数１２］として示した加法定理を用いると以下の数式［数１８］のようになる。
【数１８】
2018128781.tif 000020
【００９２】
また、数式［数１８］中のφ1、φ2、φ3は以下の数式［数１９］に示す値となる。
【数１９】
2018128781.tif 000021
【００９３】
従って、ＡＲ座標系X（太字）arは、以下の数式［数２０］のように得られる。
【数２０】
2018128781.tif 000022
【００９４】
次に、この座標変換式について、直線軸の数が３軸であり、回転軸の数が１軸である場合を例にとって、図７を参照して具体的に説明をする。ここで、図７に示すように、本例では、直線軸の数は、Ｘ軸が１軸であり、Ｙ軸が１軸であり、Ｚ軸が１軸であり、回転軸の数が、Ｂ軸の１軸である。つまり、直線軸は計３軸であり、回転軸は１軸である。
なお、今回は、直線軸の数が３軸である場合について説明するが、直線軸の数は、２軸以下であってもよく、４軸以上であってもよい。
【００９５】
まず、直線軸の数である３と、回転軸の数が１とに基づいて使用する座標変換式が特定される（ステップＳ１１）。上述したように、今回直線軸はＸ、Ｙ、Ｚであり、回転軸はＢとなる。そのため、座標変換式は、機械座標系[x, y, z, B]及びAR座標系[Xar, Yar, Zar]並びに上記の数式［数２０］を用いて以下の数式［数２１］のように示される。なお、図中の「sin」を「cos」に置き換えるようにしてもよい。
【数２１】
2018128781.tif 000023
【００９６】
次に、ステップＳ１２及びステップＳ１３を４回行い（ステップＳ１４にてＮｏ）、４つの連立方程式を生成する。そして、生成した連立方程式により、未定数である[r11, r12, r13, r14, t1, Φ1,〜, Φ3]の値を推定して算出する（ステップＳ１５）。
【００９７】
その後、上述したように、ステップＳ１６〜ステップＳ１９の処理を繰り返すことにより、例えば、適切に加工シミュレーションの様子を観察することが可能となるといった、上述した実施形態同様の効果を奏する。
【００９８】
以上本実施形態について説明をした。上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００９９】
例えば、上述した実施形態や各実施例では、ステップＳ１１からステップＳ１９までの処理を行うことにより、仮想情報として、仮想のワーク等の仮想３Ｄオブジェクトを表示することを想定していた。
しかし、ステップＳ１１からステップＳ１９までの処理を行うことにより、それ以外の情報を仮想情報として表示するようにしてもよい。すなわち、機械座標系の座標値で表される任意の情報を仮想情報として表示するようにしてもよい。
【０１００】
例えば、数値制御装置１００が、ストアードストロークチェックのリミット位置として工具の可動範囲を記憶していることがある。ストアードストロークチェックは、実際に工具がこの可動範囲に移動したならば、アラームを鳴らす等すると共に、工具を減速して停止させるという機能である。
【０１０１】
この機能に、上述した実施形態や各実施例を組み合わせるようにしてもよい。具体的には、この可動範囲に対応する機械座標系の座標値をカメラ座標系の座標値に変換することにより、図８に破線で示すように、仮想情報として工具の可動範囲を、実際の工作機械４００と重ね合わせて表示する。
これにより、ユーザは、実際に工具を移動させない場合であっても、この可動範囲を視覚的に把握することが可能となる。
【０１０２】
また、他の変形例として、加工シミュレーションを行う場合に、工作機械４００に対して機械座標系座標値を出力しないようにしてもよい、これにより、工作機械４００の実可動部を移動させることなく、仮想３Ｄオブジェクトのみを移動させるようなことも可能となる。
【０１０３】
なお、上記の数値制御装置、座標情報変換装置、及び工作機械のそれぞれは、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の数値制御装置、座標情報変換装置、及び工作機械の協働により行われる拡張現実シミュレーション方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【０１０４】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ(Read Only Memory)、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ(Programmable ROM)、ＥＰＲＯＭ(Erasable PROM)、フラッシュＲＯＭ、ＲＡＭ(random access memory）)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【０１０５】
１０  第１特徴点
２０  第２特徴点
１００  数値制御装置
２００  座標情報変換装置
２１０  算出部
２２０  第１変換部
２３０  第２変換部
２５０  無線通信部
３００  ヘッドマウントディスプレイ
４００  工作機械
【図１】
2018128781.tif 000024
【図２】
2018128781.tif 000025
【図３】
2018128781.tif 000026
【図４】
2018128781.tif 000027
【図５】
2018128781.tif 000028
【図６】
2018128781.tif 000029
【図７】
2018128781.tif 000030
【図８】
2018128781.tif 000031
【図９】
2018128781.tif 000032
【図１０】
2018128781.tif 000033
【図１１】
2018128781.tif 000034
【図１２】
2018128781.tif 000035