(57)【要約】【課題】拡張現実技術を適切に利用してシミュレーションを行う。【解決手段】仮想オブジェクトを、現実の工作機械と重ね合わせて表示する拡張情報表示手段と、前記工作機械を制御する数値制御装置の制御軸と前記仮想オブジェクトとの関係を特定する情報である第１の関係情報と、前記制御軸単体の設定と前記制御軸同士の関係を特定する情報である第２の関係情報とを取得する関係情報取得手段と、前記第１の関係情報及び前記第２の関係情報に基づいて前記制御軸の座標系である第１の座標系の移動量を、前記拡張情報表示手段が前記仮想オブジェクトを表示するための座標系である第２の座標系の移動情報に変換する変換手段と、前記変換後の前記第２の座標系の移動情報に基づいて、前記仮想オブジェクトの表示位置及び表示角度を算出する算出手段と、を備え、前記拡張情報表示手段は、前記算出手段による算出結果に基づいて前記仮想オブジェクトを表示する。【選択図】図１
2018092476.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〉
【非特許文献２】「ARToolKitによるマルチマーカの考察」、阪南大学経営情報学部経営情報学科、筒井  亮、山岡  大介［ｏｎｌｉｎｅ］、［平成２８年１１月2７日検索］、インターネット〈ＵＲＬ：http://www2.hannan-u.ac.jp/~hanakawa/soturon/2010/TsutsuiYamaoka.pdf〉
【非特許文献３】「３次元変換理論  ３次元アフィン変換」、プログラミングティーショップ［ｏｎｌｉｎｅ］、［平成２８年１１月2７日検索］、インターネット〈ＵＲＬ：http://www.geocities.co.jp/SiliconValley-Bay/4543/Rubic/Mathematics/Mathematics-3.html〉
【非特許文献４】「オイラー角」、Wikipedia（登録商標）［ｏｎｌｉｎｅ］、［平成２８年１１月2７日検索］、インターネット〈ＵＲＬ：https://ja.m.wikipedia.org/wiki/オイラー角〉
【非特許文献５】「四元数で3次元回転」、中田  亨［ｏｎｌｉｎｅ］、［平成２８年１１月2７日検索］、インターネット〈ＵＲＬ：http://www015.upp.so-net.ne.jp/notgeld/quaternion.html〉
【非特許文献６】「Quaternionによる3次元の回転変換」、平鍋  健児［ｏｎｌｉｎｅ］、［平成２８年１１月2７日検索］、インターネット〈ＵＲＬ：http://qiita.com/kenjihiranabe/items/945232fbde58fab45681〉
【発明の概要】
【発明が解決しようとする課題】
【００２２】
しかしながら、図１７に示すようにして、実際の工作機械の可動部上にマーカーを配置する場合には、図１８に示すような複数の課題が存在する。
【００２３】
例えば、図１８の左に（１８Ａ）として示すようにマーカーが判別不能となり得るという課題がある。なぜならば、拡張情報を描画するためには、カメラで、マーカーを捉えている必要があるが、マーカーを設置した可動部の移動や回転に伴いマーカーが判別不能になり得るからである。この点、特許文献４に開示の技術を利用すれば、マーカーが判別不能になった後も、拡張情報の表示を継続することはできる。しかしながら、特許文献４に開示の技術では、その後、可動部に配置されたマーカーの移動を検知することはできないので、マーカーが判別不能になった後は、表示している拡張情報は移動しないこととなる。従って、仮に特許文献４に開示の技術を利用したとしても、マーカーが判別不能となってしまう場合には、適切な加工シミュレーションは行なえない。
【００２４】
また、図１８の中央に（１８Ａ）として示すように、可動部の移動速度が速く、マーカーの認識処理が追いつけない場合があり得るという課題もある。
【００２５】
また、図１８の右に（１８Ｃ）として示すように、そもそも可動部にマーカーが配置できない場合があり得るという課題がある。可動部にマーカーが配置できない場合とは、例えば可動部そのものを仮想３Ｄオブジェクトで実現する場合である。
【００２６】
また、その他にも、１つのマーカーに複数の仮想３Ｄオブジェクトを表示するケースも考えられる。例えば、図１９の左に（１９Ａ）として示すようにワーク及び治具と、工具とを、仮想３Ｄオブジェクトで表示するケースが考えられる。また、図１９の右に（１９Ｂ）として示すようにワーク及び治具と、テーブルとを、仮想３Ｄオブジェクトで表示するケースが考えられる。
このような場合に、可動部上にマーカーを配置してしまうと、移動が不要な仮想３Ｄオブジェクトも一緒に移動してしまうという課題もある。
【００２７】
これらの課題を考慮すると、工作機械上で加工シミュレーションを行う場合、マーカー自体は移動させず、マーカーを所定の位置に固定して設置できることが望ましい。
【００２８】
しかしながら、マーカーが固定して設置された場合には、マーカーを原点として表示される仮想３Ｄオブジェクトも動かないことになる。これでは、加工シミュレーションを行うことができない。
【００２９】
そこで、マーカーを固定して設置する場合、工作機械の可動部の移動に合せて、仮想３Ｄオブジェクトをマーカー座標系（以下、「ＡＲ座標系」と表記）上で移動・回転させる必要がある。
【００３０】
これに対して、現実の工作機械の可動部は、数値制御装置が制御している制御軸の動作により移動・回転する。この制御軸の座標系（以下、「ＭＣＮ座標系」と表記）は数値制御装置が管理しており、工作機械ごとに特有のものである。
【００３１】
つまり、ＡＲ座標系とＭＣＮ座標系は別物であり、制御軸の動作（移動量）に応じて単純に仮想３Ｄオブジェクトを移動・回転させるだけでは正しく加工シミュレーションを行うことはできない。
【００３２】
この点について、図２０に示す具体例を参照して説明をする。図２０の左に（２０Ａ）として示すように実際の工作機械には、Ｂ軸上にＣ軸が搭載されている。
そのため、図２０の中央に（２０Ｂ）として示すように、Ｂ軸回転をした場合には、併せてＣ軸の回転軸方向が変動する。
【００３３】
この状態から、図２０の右に（２０Ｃ）として示すように、Ｃ軸回転をした場合に、数値制御装置が管理しているＭＣＮ座標系についてはＢ軸の回転に伴いＣ軸の回転軸方向も変動しているので、想定通りにＣ軸回転を行うことができる。
【００３４】
これに対して、ＡＲ座標系では、Ｂ軸回転をした場合には、併せてＣ軸の回転軸方向が変動するといった制御をするための情報がないため、Ｂ軸の回転に影響されずＣ軸の回転軸方向は不動のままである。そのため、ＡＲ座標系では、単純にＣ軸の回転移動量のみを受け渡すだけでは、図示するように想定外の間違った回転移動を行ってしまう。
【００３５】
このように、上述したような一般的な技術では、拡張現実技術を適切に利用して、加工シミュレーションのような各種のシミュレーションを行うことが困難であった。
【００３６】
そこで、本発明は、拡張現実技術を適切に利用してシミュレーションを行うことが可能な、拡張現実シミュレーション装置及び拡張現実シミュレーションプログラムを提供することを目的とする。
【課題を解決するための手段】
【００３７】
本発明に係る拡張現実シミュレーション装置（例えば、後述の数値制御装置１００）は、仮想オブジェクト（例えば、後述の仮想３Ｄオブジェクト）を、現実の工作機械（例えば、後述の工作機械４００）と重ね合わせて表示する拡張情報表示手段（例えば、後述のヘッドマウントディスプレイ３００）と、前記工作機械を制御する数値制御装置の制御軸と前記仮想オブジェクトとの関係を特定する情報である第１の関係情報と、前記制御軸単体の設定と前記制御軸同士の関係を特定する情報である第２の関係情報とを取得する関係情報取得手段（例えば、後述の関係情報取得部２１０）と、前記第１の関係情報及び前記第２の関係情報に基づいて前記制御軸の座標系である第１の座標系の移動量を、前記拡張情報表示手段が前記仮想オブジェクトを表示するための座標系である第２の座標系の移動情報に変換する変換手段（例えば、後述の変換部２２０）と、前記変換後の前記第２の座標系の移動情報に基づいて、前記仮想オブジェクトの表示位置及び表示角度を算出する算出手段（例えば、後述の拡張情報算出部２３０）と、を備え、前記拡張情報表示手段は、前記算出手段による算出結果に基づいて前記仮想オブジェクトを表示する、拡張現実シミュレーション装置。
【００３８】
上記本発明に係る拡張現実シミュレーション装置を、前記数値制御装置が前記第１の座標系の移動量を前記工作機械に与えることにより、前記工作機械を動作させる場合に、前記変換手段が、前記工作機械に与えられる前記第１の座標系の移動量と同じ移動量に基づいて前記変換をすることにより、前記工作機械の動作と連動して前記仮想オブジェクトを表示するようにしてもよい。
【００３９】
上記本発明に係る拡張現実シミュレーション装置を、前記算出手段は、前記第２の座標系の原点となる第１の特徴点と、前記仮想オブジェクトの加工シミュレーション開始位置に配置された第２の特徴点との間の距離を算出し、該算出した距離に基づいて前記仮想オブジェクトの表示位置を前記第２の特徴点上に移動するための移動情報を算出し、該算出した移動情報と、前記変換手段が変換後の前記第２の座標系の移動情報とに基づいて、前記仮想オブジェクトの表示位置を算出するようにしてもよい。
【００４０】
上記本発明に係る拡張現実シミュレーション装置を、前記第２の座標系の原点に複数の前記仮想オブジェクトを表示する場合に、該複数の仮想オブジェクト毎に、前記第１の関係情報を異ならせるようにしてもよい。
【００４１】
上記本発明に係る拡張現実シミュレーション装置を、異なる位置に複数の仮想オブジェクトを表示する場合に、前記算出手段は、前記第２の座標系の原点となる第１の特徴点と、前記第１の特徴点とは異なる位置に配置された第３の特徴点との間の距離に基づいて前記第２の座標系における前記第３の特徴点の位置を特定し、前記第１の特徴点位置に基づいて第１の前記仮想オブジェクトの表示位置を算出し、前記第２の座標系における前記第３の特徴点の位置を第２の前記仮想オブジェクトの表示位置として算出するようにしてもよい。
【００４２】
本発明に係る拡張現実シミュレーションプログラムは、コンピュータを拡張現実シミュレーション装置（例えば、後述の数値制御装置１００）として機能させるための拡張現実シミュレーションプログラムであって、前記コンピュータを、仮想オブジェクト（例えば、後述の仮想３Ｄオブジェクト）を、現実の工作機械（例えば、後述の工作機械４００）と重ね合わせて表示する拡張情報表示手段（例えば、後述のヘッドマウントディスプレイ３００）と、前記工作機械を制御する数値制御装置の制御軸と前記仮想オブジェクトとの関係を特定する情報である第１の関係情報と、前記制御軸単体の設定と前記制御軸同士の関係を特定する情報である第２の関係情報とを取得する関係情報取得手段（例えば、後述の関係情報取得部２１０）と、前記第１の関係情報及び前記第２の関係情報に基づいて前記制御軸の座標系である第１の座標系の移動量を、前記拡張情報表示手段が前記仮想オブジェクトを表示するための座標系である第２の座標系の移動情報に変換する変換手段（例えば、後述の変換部２２０）と、前記変換後の前記第２の座標系の移動情報に基づいて、前記仮想オブジェクトの表示位置及び表示角度を算出する算出手段（例えば、後述の拡張情報算出部２３０）と、を備え、前記拡張情報表示手段は、前記算出手段による算出結果に基づいて前記仮想オブジェクトを表示する、拡張現実シミュレーション装置として機能させる。
【発明の効果】
【００４３】
本発明によれば、拡張現実技術を適切に利用してシミュレーションを行うことが可能となる。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態全体の基本的構成を示すブロック図である。
【図２】本発明の実施形態の拡張情報制御装置の基本的構成を示すブロック図である。
【図３】本発明の実施形態における準備について示す図（１／２）である。
【図４】本発明の実施形態における準備について示す図（２／２）である。
【図５】本発明の実施形態における関係情報設定画面の例について示す図である。
【図６】本発明の実施形態における変換部の変換について示す図（１／２）である。
【図７】本発明の実施形態における変換部の変換について示す図（２／２）である。
【図８】本発明の実施形態におけるマスタ軸との関係について示す図である。
【図９】本発明の実施形態における関係情報設定画面の他の例について示す図である。
【図１０】本発明の実施形態における効果の１つについて説明する図（１／２）である。
【図１１】本発明の実施形態における効果の１つについて説明する図（２／２）である。
【図１２】本発明の第１の変形例の複数のマーカー等について説明する図（１／２）である。
【図１３】本発明の第１の変形例の複数のマーカー等について説明する図（２／２）である。
【図１４】本発明の第１の変形例における関係情報設定画面の例について示す図である。
【図１５】マーカー座標系について示す図である。
【図１６】仮想３Ｄオブジェクトの表示について示す図である。
【図１７】マーカーを可動部に設置した場合について示す図である。
【図１８】マーカーを可動部に設置した場合の課題について示す図である。
【図１９】マーカーに複数の仮想３Ｄオブジェクトを対応付けた場合について示す図である。
【図２０】マーカーに複数の仮想３Ｄオブジェクトを対応付けた場合の課題について示す図である。
【発明を実施するための形態】
【００４５】
次に、本発明の実施形態について図面を参照して詳細に説明する。まず、図１を参照して本実施形態全体の構成について説明をする
【００４６】
本実施形態は、数値制御装置１００、拡張情報制御装置２００、無線通信部２５０、ヘッドマウントディスプレイ３００及び工作機械４００を備える。
【００４７】
数値制御装置１００は、一般的な数値制御装置としての機能と、拡張情報制御装置２００との通信を行う機能とを備える装置である。数値制御装置１００は、工作機械４００と通信可能に接続されている。そして、数値制御装置１００は、数値制御装置１００自身に組み込まれた加工プログラムに基づいて出力されるＭＣＮ座標系の移動量により工作機械４００を制御して、ワークを加工する。
【００４８】
また、数値制御装置１００は、拡張情報制御装置２００とも通信可能に接続されている。数値制御装置１００は、拡張情報制御装置２００に対しても加工プログラムに基づいて出力されるＭＣＮ座標系の移動量を出力する。
このように、数値制御装置１００は、工作機械４００と拡張情報制御装置２００との双方に対して移動量を出力する。この点、数値制御装置１００から拡張情報制御装置２００に対しての移動量の出力は、数値制御装置１００から工作機械４００に対しての移動量の出力に同期して行われてもよいし、非同期に送られてもよい。
また、数値制御装置１００は、拡張情報制御装置２００に対して、「制御軸単体の設定を含む制御軸同士の関係情報」も出力する。
【００４９】
拡張情報制御装置２００は、本実施形態特有の装置であり、拡張現実技術により、仮想３Ｄオブジェクト（仮想オブジェクト）の表示位置及び表示角度を算出することにより、適切に仮想３Ｄオブジェクトを表示させるための制御を行う。拡張情報制御装置２００の詳細な構成については、図２を参照して後述する。
【００５０】
無線通信部２５０は、拡張情報制御装置２００と通信可能に接続しており、拡張情報制御装置２００が出力する仮想３Ｄオブジェクトと、その表示位置及び表示角度を取得する。これら拡張情報制御装置２００が出力する情報は、ＡＲ座標系に対応したものとなっている。そして、これら拡張情報制御装置２００が出力した情報を、Ｗｉ−Ｆｉ等の無線通信規格に準拠してヘッドマウントディスプレイ３００に対して送信する。
【００５１】
また、無線通信部２５０は、ヘッドマウントディスプレイ３００に含まれるカメラが撮像により取得した情報を無線通信によりヘッドマウントディスプレイ３００から受信する。そして、無線通信部２５０は、この受信した情報を拡張情報制御装置２００に対して出力する。
【００５２】
ヘッドマウントディスプレイ３００は、一般的なヘッドマウントディスプレイ（以下、適宜「ＨＭＤ」と表記）であり、拡張情報制御装置２００が出力する仮想３Ｄオブジェクトと、その表示位置及び表示角度を、無線通信部２５０を介して取得する。そして、この取得した情報に基づいて、ヘッドマウントディスプレイ３００自身が備えるディスプレイに仮想３Ｄオブジェクトを表示する。この取得した情報は、上述したように、ＡＲ座標系に対応したものとなっている。また、ヘッドマウントディスプレイ３００は、ヘッドマウントディスプレイ３００自身に含まれるカメラが撮像により取得した情報を、無線通信部２５０を介して拡張情報制御装置２００に対して出力する。
【００５３】
工作機械４００は、一般的な工作機械であり、数値制御装置１００から出力されるＭＣＮ座標系の移動量に応じて制御軸を移動・回転させる。
【００５４】
本実施形態では、このような構成により、ユーザが、ＡＲ座標系に対応して表示される仮想３Ｄオブジェクトをヘッドマウントディスプレイ３００のディスプレイにて参照すると共に、ＭＣＮ座標系に対応して可動する工作機械４００の実際の構造をディスプレイ越しに参照する。これにより、ユーザは加工シミュレーションの様子を観察することが可能となる。つまり、上述の［発明が解決しようとする課題］の欄で述べた、拡張現実技術を適切に利用してシミュレーションを行うことを可能とする、という課題を解決することが可能となる。
【００５５】
なお、図１に示した構成はあくまで一例である。例えば、ヘッドマウントディスプレイ３００を、ＨＭＤではなくタブレット型の端末により実現するようにしてもよい。また、拡張情報制御装置２００の機能の一部又は全部をヘッドマウントディスプレイ３００に搭載するようにしてもよい。更に、各通信接続は有線接続であっても無線接続であってもよい。例えば、図中では、数値制御装置１００と拡張情報制御装置２００の通信接続がイーサネット(Ｅｔｈｅｒｎｅｔ（登録商標））に準拠して有線接続により行われる例を記載しているが、かかる接続は無線接続であってもよい。更に、以下の説明では、拡張情報として、仮想３Ｄオブジェクトを表示することを想定して説明するが、これはあくまで説明のための一例に過ぎず、本実施形態の適用範囲を仮想３Ｄオブジェクトに限定する趣旨ではない。例えば、本実施形態では、拡張情報として、仮想の２Ｄオブジェクトを表示するようにしてもよい。
【００５６】
次に、図２を参照して拡張情報制御装置２００の詳細な構成について説明をする。図２を参照すると、拡張情報制御装置２００は、関係情報取得部２１０、変換部２２０及び拡張情報算出部２３０を備える。
【００５７】
関係情報取得部２１０は、後述の変換部２２０が処理を行うための情報である、関係情報を取得する部分である。関係情報取得部２１０が取得する関係情報は、２種類ある。関係情報取得部２１０は、まず１つ目の関係情報として、「制御軸単体の設定を含む制御軸同士の関係情報」を数値制御装置１００から取得する。
【００５８】
また、関係情報取得部２１０は２つめの関係情報として「制御軸−仮想３Ｄオブジェクト間の関係情報」を取得する。この関係情報は、ユーザの操作に基づいて設定されるものである。設定方法については、図１１等を参照して後述する。
関係情報取得部２１０は取得した各関係情報を変換部変換部２２０に対して出力する。
【００５９】
変換部２２０は、関係情報取得部２１０から入力される関係情報に基づいて、数値制御装置１００から入力されるＭＣＮ座標系の移動量を、ＡＲ座標系における移動情報に変換する部分である。変換後の、ＡＲ座標系における移動情報は拡張情報算出部２３０に対して出力される。
【００６０】
拡張情報算出部２３０は、拡張現実技術に基づいて拡張情報を表示させるための部分である。拡張情報算出部２３０は、仮想３Ｄオブジェクトのデータベース（図示を省略する）を、拡張情報算出部２３０の内部又は外部に有している。そして、拡張情報算出部２３０は、このデータベースから選択された仮想３Ｄオブジェクトを、変換部２２０から入力されるＡＲ座標系における移動情報に対応して表示するための「拡張情報表示用データ」を生成する。この拡張情報表示用データには、仮想３Ｄオブジェクトの形状等と、この仮想３Ｄオブジェクトの表示位置及び表示角度等が含まれる。そして、拡張情報算出部２３０は生成した拡張情報表示用データを、無線通信部２５０を介してヘッドマウントディスプレイ３００に対して出力する。
【００６１】
ヘッドマウントディスプレイ３００が、この拡張情報表示用データに含まれる、各情報に基づいて仮想３Ｄオブジェクトを表示する点は上述した通りである。
【００６２】
かかる拡張情報制御装置２００は、一般的なサーバ装置やパーソナルコンピュータに本実施形態特有のソフトウェアを組み込むことにより実現できる。
【００６３】
より詳細に説明すると、拡張情報制御装置２００は、ＣＰＵ（Central Processing Unit）等の演算処理装置を備える。また、拡張情報制御装置２００は、各種のプログラムを格納したＨＤＤ（hard disk drive）やＳＳＤ（solid state drive）等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのＲＡＭ（Random Access Memory）といった主記憶装置を備える。
【００６４】
また、拡張情報制御装置２００において、演算処理装置が補助記憶装置から各種のプログラムを読み込み、読み込んだ各種のプログラムを主記憶装置に展開させながら、これら各種のプログラムに基づいた演算処理を行う。
【００６５】
そして、この演算結果に基づいて、拡張情報制御装置２００が備えるハードウェアを制御することにより、上述した各機能ブロックの機能が実現する。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
【００６６】
次に、拡張情報制御装置２００が備えるこれら各機能ブロックにおける処理について図を参照して説明をする。
まず、図３及び図４を参照して仮想３Ｄオブジェクトを表示する前段階に行う準備処理について説明をする。
【００６７】
ここで、以下の説明では、ワールド座標系とローカル座標系という文言を用いる。ここで、ワールド座標系は、図３の項目１）に示すように、マーカー中心を原点ＰＷとする座標系である。
【００６８】
また、ローカル座標系は、図３の項目２）に示すように、仮想３Ｄオブジェクトの回転中心を原点ＰＬとする座標系である。拡張情報制御装置２００の拡張情報算出部２３０は、仮想３Ｄオブジェクトデータを取り込む。拡張情報算出部２３０で算出された回転方向の移動情報に応じて、ローカル座標系原点ＰＬを中心に仮想３Ｄオブジェクトの回転移動を行う。
【００６９】
また、拡張情報算出部２３０は、ローカル座標系原点ＰＬを基準にして、取り込んだ仮想３Ｄオブジェクトをワールド座標形上に配置および登録する。
図３の項目３）に示すように、ワールド座標形上におけるローカル座標系原点ＰＬの座標値に応じて、仮想３Ｄオブジェクトの表示位置を移動することができる。すなわち、拡張情報算出部２３０が算出した直線方向の移動情報に応じて、ワールド座標形上におけるローカル座標系原点ＰＬの座標値を更新することにより、仮想３Ｄオブジェクトの直線移動を行う。
【００７０】
ここで、本実施形態では、マーカーを実際に仮想３Ｄオブジェクトが配置されるべき可動部ではなく、可動部から離れており、ＨＭＤのカメラで撮像することが可能な位置に固定して設置する。これは、図１８や図１９を参照して述べたような、マーカーを可動部に設置した場合の問題を解決するためである。
【００７１】
しかしながら、拡張情報制御装置２００の起動時における仮想３Ｄオブジェクトの初回表示位置はマーカーの配置位置に応じるため、このようにすると、仮想３Ｄオブジェクトの加工シミュレーション開始位置との間にズレが生じてしまい、離れた場所に配置されてしまう場合がある。
【００７２】
そこで、このズレをなくす必要がある。この点、ズレをなくすためには、例えば、ユーザが、手動で操作を行うことにより、ズレをなくすようにしてもよい。例えば、ユーザが、ＨＭＤのディスプレイに表示されている仮想３Ｄオブジェクトを参照しながら、拡張情報制御装置２００が備える操作部（図示を省略する）を操作してズレがなくなるように調整するようにしてもよい。拡張情報制御装置２００が備える操作部とは、例えば拡張情報制御装置２００をパーソナルコンピュータに実現する場合には、パーソナルコンピュータに接続されたキーボードやマウス等である。
【００７３】
しかしながら、ユーザの利便性を考慮して、このようなユーザによる手動の調整を必要とせず、自動でズレがなくなるように調整するようにしてもよい。そのための方法の一例について図４を参照して説明をする。
【００７４】
図４に示すように、本例では、第１のマーカーと第２のマーカーの２つのマーカーを用意する。
ここで、第１のマーカーは、図３を参照して説明したマーカーと同じものであり、図４の項目１）に示すように、仮想３Ｄオブジェクトを表示するためのマーカーである。第１のマーカーは、ワールド座標系の原点に対応する。
【００７５】
一方で、図４の項目１）に示すように、第２のマーカーは仮想３Ｄオブジェクトの加工シミュレーション開始位置を検出するためのマーカーである。第１のマーカーと第２のマーカーは、拡張情報制御装置２００が区別して識別できるように異なる模様や異なる形状としておく。
【００７６】
そして、図４の項目２）に示すように、仮想３Ｄオブジェクトと連動する工作機械上の回転軸（ＭＣＮ座標系）を初期位置に位置決めし、仮想３Ｄオブジェクトの加工シミュレーション開始位置に第２のマーカーをＨＭＤのカメラで撮像することが可能となるように配置する。一方で、ＨＭＤのカメラで常時撮像することが可能な位置に第１のマーカーを配置する。
【００７７】
次に、図４の項目３）に示すように、拡張情報制御装置２００を起動する。一方で、ヘッドマウントディスプレイ３００のカメラにて第１のマーカー及び第２のマーカーを撮像する。そして、ヘッドマウントディスプレイ３００は、撮像により得た画像データを、無線通信部２５０を介して拡張情報制御装置２００に対して送信する。
【００７８】
起動した拡張情報制御装置２００は、初期処理として、ヘッドマウントディスプレイ３００から送信された画像データに基づいて各マーカーの検出およびマーカー間の距離算出を行う。この処理を行うためには、例えば、非特許文献２に開示の技術等を用いるようにするとよい。
【００７９】
次に、図４の項目４）に示すように、第１のマーカー上に仮想３Ｄオブジェクトを表示する際に、マーカー間距離を移動情報としてローカル座標系原点ＰＬをワールド座標形上で移動するこれにより、仮想３Ｄオブジェクトを、仮想３Ｄオブジェクトと連動する工作機械上の仮想３Ｄオブジェクトの加工シミュレーション開始位置上に表示することが可能となる。
なお、以後は第２のマーカーを用いた調整をする必要はないので、第２のマーカーは、工作機械上から取り除いてしまってもよい。
【００８０】
このようにすることで、第１のマーカーを、ヘッドマウントディスプレイ３００のカメラが撮像可能な位置に固定して配置しておくことができる。なお、更に微調整が必要な場合には、ユーザによる手動の調整を組み合わせるようにしてもよい。
次に、関係情報取得部２１０による「制御軸−仮想３Ｄオブジェクト間の関係情報」の取得について図５を参照して説明を行う。
【００８１】
本実施形態では、関係情報取得部２１０が、数値制御装置１００が管理する制御軸と仮想３Ｄオブジェクトとの関係についてユーザが専用の設定画面により設定するものとする。そのために、関係情報取得部２１０は、図５に関係情報設定画面として示すようなユーザインタフェースをユーザに対して出力する。そして、このユーザインタフェースにて、ユーザからの制御軸と仮想３Ｄオブジェクトとの関係の設定を受け付ける。これにより、関係情報取得部２１０は、制御軸と仮想３Ｄオブジェクトとの関係情報を取得できる。
かかるユーザインタフェースについて説明をする。
【００８２】
まず、図中の「項目：１」は、仮想３Ｄオブジェクトを識別する情報である。本実施形態では、拡張情報算出部２３０が記憶する仮想３Ｄオブジェクトのデータベース内の、仮想３Ｄオブジェクトそれぞれについて設定を行う。設定対象とする仮想３Ｄオブジェクトは、例えば仮想３Ｄオブジェクトの一覧から選択するようにする。
【００８３】
図中の「項目：２」は、今回設定対象としている仮想３ＤオブジェクトのＡＲ座標系の各移動方向と各回転方向を表す情報である。移動方向は、互いに直交するＸ、Ｙ及びＺの３つの軸により表す。また、Ａは、Ｘ軸周りの回転方向を表す。同様に、Ｂは、Ｙ軸周りの回転方向を表し、Ｃは、Ｚ軸周りの回転方向を表す。
【００８４】
図中の「項目：３」は、数値制御装置１００が管理する制御軸（図中では「対称軸」と表記）からＡＲ座標系の各移動方向及び回転方向に対応する軸及び回転方向を選択する部分である。選択できる制御軸は数値制御装置１００により、ＭＣＮ座標系で管理されているものである。そのため、選択できる制御軸の一覧は数値制御装置１００から取得することができる。また、選択はユーザが行うものとする。
【００８５】
例えば、図中の例ではＡＲ座標系のＸ軸に対応する軸として、ＭＣＮ座標系の制御軸Ｘ１が選択されている。ただし、これは一例であり、例えば、ＡＲ座標系のＸ軸に対応する軸として、ＭＣＮ座標系の制御軸Ｙ１が選択されるような場合もあり得る。これらの対応は仮想３Ｄオブジェクト毎に異なる。
なお、移動がない方向の場合、選択なし（図中では「−」と表記）とする。
【００８６】
図中の「項目：４」は、図中の「項目：３」で選択された制御軸の情報を表示する部分である。この情報は、「項目：３」で選択された制御軸に付随して自動的に決定されるものであるが、ユーザが確認をするために表示する。
【００８７】
具体的には、その制御軸が、直線運動するのかそれとも回転運動をするのかが記載されている。また、基準軸が記載されている。例えば、制御軸Ｘ１であれば、Ｘ軸を基準に直線運動をする。また、制御軸Ｂ１であれば、Ｙ軸を基準に回転運動をする。
【００８８】
また、「マスタ軸」に表示されている軸の位置に応じて移動方向または回転軸方向が変わる。例えば、Ｃ１のマスタ軸はＢ１なので、Ｂ１の位置に応じてＣ１の移動方向または回転軸方向が変わる。
【００８９】
図中の「項目：５」の「逆方向」は、ＡＲ座標系において移動方向が逆方向である場合に、ユーザにチェックを入れられる項目である。項目にチェックが入れられた場合、ＡＲ座標系において逆方向に移動する。
以上説明した各項目の内、ユーザが設定するのは、「項目：３」及び「項目：５」である。
【００９０】
なお、図２に示したように、関係情報取得部２１０は、「制御軸単体の設定および制御軸同士の関係情報」も取得する。もっとも、この制御軸単体の設定および制御軸同士の関係情報は数値制御装置１００側にすでに設定されており、関係情報取得部２１０はこれを数値制御装置１００から取得してそのまま使用できる。そのため、制御軸単体の設定および制御軸同士の関係情報については、図５に示したような専用の設定画面での設定は不要である。
【００９１】
次に、このように設定後に変換部２２０により行われる、ＭＣＮ座標系移動量からＡＲ座標系移動情報への変換について図６及び図７を参照して説明をする。
まず、図６を参照して直線運動の場合、すなわち、直線移動をする直線軸の場合について説明をする。
【００９２】
今回は、変換処理の対象とする仮想３Ｄオブジェクトが図５を参照して説明した「仮想３Ｄオブジェクト１」であり、関係情報が図５を参照して説明したように設定されており、制御軸Ｘ１の移動量を対応するＡＲ座標系Ｘの移動情報に変換する場合を例に取って説明をする。
【００９３】
直線軸が正方向移動時の場合、数値制御装置１００から出力された直線軸の移動量ＸＭＣＮを、図５を参照して説明したように設定した関係情報より、ＸＡＲ１に変換して、拡張情報算出部２３０に対して出力する。
【００９４】
拡張情報算出部２３０は、入力されたＸＡＲ１に基づいて、仮想３Ｄオブジェクト１のローカル座標系原点をＸＡＲ１の移動量で移動させて拡張情報表示用データを生成する。これにより、変換部２２０の変換に対応して仮想３Ｄオブジェクト１の表示位置が移動することとなる。
【００９５】
なお、仮に図５の「項目：５」である「逆方向」にチェックが入れられてオンとなっている場合には、ＸＡＲ１の移動量も逆方向となる。つまり、仮に直線軸の移動量ＸＭＣＮが「＋１０．０」である場合に、逆方向にチェックがなくオフとなっている場合には、ＸＡＲ１は「＋１０．０」に変換され、逆方向にチェックがありオンとなっている場合には、ＸＡＲ１は「−１０．０」に変換される。また、仮に図５の「項目：３」である「対象軸」でＡＲ座標系Ｙに、直線軸にＸ１が設定されているならば、直線軸の移動量ＸＭＣＮはＹＡＲ１に変換される。
次に、図７を参照して回転運動の場合、すなわち、回転をする回転軸の場合について説明をする。
【００９６】
今回は、変換処理の対象とする仮想３Ｄオブジェクトが図５を参照して説明した「仮想３Ｄオブジェクト１」であり、関係情報が図５を参照して説明したように設定されており、制御軸Ｃ１の移動量を対応するＡＲ座標系Ｃの移動情報に変換する場合を例に取って説明をする。
【００９７】
数値制御装置１００から出力された回転軸の移動量ＣＭＣＮを、図５を参照して説明したように設定した関係情報より、ＣＡＲ１に変換する、なお、仮に図５の「項目：５」である「逆方向」にチェックが入れられてオンとなっている場合には、ＣＡＲ１の移動量も逆方向となる。
また、マスタ軸の角度θを特定する。
【００９８】
図５に示すように、ＡＲ座標系Ｃの場合に、対称軸はＣ１でありマスタ軸はＢ１である。この場合、「θ←マスタ軸（ＢＡＲ１軸）角度」となる。なお、仮に図５に示すように、ＡＲ座標系Ｂの場合に、対称軸はＢ１でありマスタ軸は無い。この場合には、「θ←０」となる。
【００９９】
次に、マスタ軸θの情報よりＣ軸の回転軸方向情報を算出する。かかる算出する回転軸方向情報は、仮想３Ｄオブジェクトの回転処理で使用する原理計算手法（例えば、クォータニオンやアフィン変換）によって異なる。なお、これら原理計算手法の一例は、例えば非特許文献３〜６に記載されている。より詳細には、主にアフィン変換について非特許文献３に記載されており、主にオイラー角について非特許文献４に記載されており、主にクォータニオンについては非特許文献５や非特許文献６に記載されている。
【０１００】
例えば、クォータニオンの場合、回転軸方向を表す単位ベクトルを回転軸方向情報として使用する。例えば、図中に示すように、Ｂ軸回転前のＣ軸の回転軸方向を表す単位ベクトルＶ１＝［０  ０  １］とし、Ｂ軸が９０．０度回転したときのＣ軸の回転軸方向を表す単位ベクトルＶ２＝［０  １  ０］というように算出する。
そして、変換部２２０は変換により生成した回転軸方向情報と移動量ＣＡＲ１を拡張情報算出部２３０に対して出力する。
【０１０１】
拡張情報算出部２３０は、回転軸方向情報と移動量ＣＡＲ１に対応するように仮想３Ｄオブジェクトがローカル座標系上で回転するように拡張情報表示用データを生成する。これにより、変換部２２０の変換に対応して仮想３Ｄオブジェクト１が回転することとなる。
【０１０２】
このように、変換部２２０の変換時に回転軸方向情報を算出することにより、図２０の右に示した（１９Ｃ）を参照して説明したような、ＡＲ座標系で、Ｂ軸の回転に影響されずＣ軸の回転軸方向は不動となる、という問題を解決することができる。
【０１０３】
この点について、図８に示す具体例を参照して説明をする。図８の上に（８Ａ）として示すように実際の工作機械には、Ｂ軸上にＣ軸が搭載されている。
【０１０４】
そのため、図８の中央に（８Ｂ）として示すように、Ｂ軸を例えば９０．０℃回転した場合には、併せてＣ軸の回転軸方向も９０．０℃回転して変動する。
【０１０５】
この状態から、図８の下に（８Ｃ）として示すように、Ｃ軸を例えば９０．０℃回転した場合に、Ｂ軸の回転に影響されてＣ軸の回転軸方向も変動する。これにより、想定通りの回転運動を実現できる。つまり、上述の問題を解決することができる。
次に、本実施形態を利用した場合の具体的な使用例について、図９を参照して説明をする。
【０１０６】
図９の例では、複数の仮想３Ｄオブジェクトを表示する。この場合、それぞれの仮想３Ｄオブジェクトに対して、図３及び図４を参照して説明したように、ワールド座標系とローカル座標系を考慮した処理を行う。
【０１０７】
そして、数値制御装置１００の移動に、仮想３Ｄオブジェクトを連動させる場合、制御軸と仮想３Ｄオブジェクトの関係情報は図９の下に示すように設定する。
【０１０８】
そして、この設定情報に基づいて、拡張情報制御装置２００に含まれる各機能ブロックが上述のような処理を行うことにより、各仮想３Ｄオブジェクトが、自身に対応する制御軸の移動に連動してＡＲ座標系上で移動する。このとき、オブジェクト２の対象軸Ｚ２は逆方向フラグが設定されている。そのため、ＡＲ座標系上で数値制御装置１００から受取った移動量とは逆方向に移動する。
以上説明した本実施形態は、以下のような効果を奏する。
【０１０９】
本実施形態では、変換部２２０がＭＣＮ座標系移動量からＡＲ座標系移動情報への変換を行う。また、この変換後のＡＲ座標系移動情報に基づいて、拡張情報算出部２３０が拡張情報表示用データを生成する。そして、ヘッドマウントディスプレイ３００が、この拡張情報表示用データに基づいて、拡張情報を、工作機械４００に重ね合わせて表示する。
【０１１０】
これにより、数値制御装置１００と拡張現実による仮想３Ｄオブジェクトとの連動が可能となる。そのため、ユーザは加工シミュレーションの様子を、観察することが可能となる。
【０１１１】
また、本実施形態では特徴点（例えば、マーカー）を取得するためのカメラ撮影方向を変更可能のため、視点を変更しての観察が可能となる。つまり、本実施形態によれば、特許文献２に開示の技術を利用する場合と比べて、より現実に近い加工シミュレーションを実現することができる。
【０１１２】
更に、本実施形態では、ユーザは、図４を参照して説明したような準備と、図５を参照して説明したような設定といった、簡単な設定と準備のみで、加工シミュレーションを実行することができる。
【０１１３】
更に、本実施形態では、図９に示したように１つのマーカーで複数の３Ｄオブジェクトを映した場合に、複数の３Ｄオブジェクトをバラバラに動かすことができる。
【０１１４】
また、本実施形態では、現実の工作機械４００に仮想３Ｄオブジェクトを重ね合わせて表示することから、工作機械４００を構成する要素全てを仮想３Ｄオブジェクト化する必要がなくなる。つまり、従来技術のように、フルＣＧを作成する必要がなくなる。これにより、複数種類の工作機械４００が存在する場合にも、そのそれぞれでの加工シミュレーションを用意に実現することができる。これにより、コスト削減や工期短縮に貢献することができる。この点について図１０及び図１１を参照して説明をする。
【０１１５】
図１０に示すように、数値制御装置１００毎に異なる工作機械４００（例えば、Ａ社製のマシニングセンタや、Ｃ社製の対向旋盤）が接続されている場合を考える。この場合、従来技術では、これら異なる工作機械４００それぞれについて仮想３Ｄオブジェクトを作成する必要があった。また、その後、新機種が製造された場合には、この新機種についての仮想３Ｄオブジェクトを更に作成する必要があった。つまり、工作機械４００毎に固有の仮想３Ｄオブジェクトを作成する必要があった。
【０１１６】
これに対して、本実施形態では、拡張現実技術の一般的な機能を備える拡張情報算出部２３０と、本実施形態特有の構成である関係情報取得部２１０及び変換部２２０を組合せて、上述のような処理を行う。
【０１１７】
これにより、任意の工作機械４００を制御する数値制御装置１００と拡張情報制御装置２００とを接続した場合であっても、加工シミュレーションを実現することが可能となる。
【０１１８】
つまり、本実施形態によれば、１つの構成（を実現するためのアプリケーション）で、任意の工作機械４００上での加工シミュレーションが可能となる。
【０１１９】
以上本実施形態について説明をした。上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。例えば、以下に説明する変形例のように変形をして実施することが可能である。
【０１２０】
［第１の変形例］
図１２〜図１４を参照して、本実施形態の第１の変形例について説明をする。
本変形例では、工作機械４００の可動部を移動させずに工作機械４００のＭＣＮ座標値のみとの連動による加工シミュレーションを実現する。そのため、本実施形態では、図１２の上段に示すように工作機械４００に対してＭＣＮ座標系移動量を出力しない。これにより、工作機械４００の実可動部を移動させることなく、仮想３Ｄオブジェクトのみを移動させるようなことが可能となる。
【０１２１】
また、本変形例では、仮想３Ｄオブジェクトの表示用に複数のマーカーを設ける。そして、図１２の下段に示すように複数のマーカーそれぞれの上に１つ又は複数の仮想３Ｄオブジェクトを表示する。なお、この複数のマーカーはそれぞれが図４に示す第１のマーカーに相当するものであり、図４に示す第２のマーカーとは異なるものである。
【０１２２】
このように複数のマーカーで各仮想３Ｄオブジェクトを表示する場合には、ＡＲ座標系（におけるワールド座標系）の統一を行う必要がある。この点について図１３を参照して説明をする。
まず複数のマーカーの中からメインマーカーを決定する。メインマーカー以外のマーカーはサブマーカーとする。
次に、メインマーカーの中心を原点Ｐ１とするワールド座標系に他のマーカーの中心Ｐｎを対応付ける
【０１２３】
そのために、図１３の上段に示すように、各サブマーカーとメインマーカーとの距離を取得する。距離の取得は、例えば図４を参照して上述したように、非特許文献２に開示の技術等を用いて行う。
【０１２４】
次に、図１３の下段に示すように、ワールド座標系上の各マーカー中心位置Ｐｎに取得した距離を設定する。ここで、各仮想３Ｄオブジェクトのローカル座標系は各マーカーの座標系に対応付けられているため、このように距離を設定することにより、各仮想３Ｄオブジェクトが同一の座標系上で位置を表すことができ、仮想３Ｄオブジェクト同士の干渉チェックを適用することもできる。
【０１２５】
なお、工作機械４００に対してＭＣＮ座標系移動量を出力しないという変形と、複数のマーカーそれぞれの上に１つ又は複数の仮想３Ｄオブジェクトを表示するという変形を組み合わせることとして説明をしたが、これらの変形の何れかのみを行うようにしてもよい。
【０１２６】
このようにして、複数のマーカーのそれぞれに、１つ又は複数の仮想３Ｄオブジェクトを対応付けた場合の、関係情報設定画面の例について説明をする。これは、図５の関係情報設定画面と同様の設定画面である。
本例では、各仮想３Ｄオブジェクトと各制御軸の関係を図１４に図示するように設定する
【０１２７】
ここで、メインマーカーには、仮想３Ｄオブジェクト２と仮想３Ｄオブジェクト３の２つの仮想３Ｄオブジェクトが対応付けられる。この場合に、仮想３Ｄオブジェクト２と３は、共通の制御軸（Ｘ１、Ｙ１及びＢ１）と連動する。そのため、数値制御装置１００から入力されたＭＣＮ座標系移動量において、Ｘ１、Ｙ１及びＢ１の何れかについての移動量が含まれる場合には、仮想３Ｄオブジェクト２と３のそれぞれについて、変換部２２０が図６や図７を参照して説明した方法で変換処理を行うようにすればよい。
【０１２８】
［第２の変形例］
上述した本実施形態と、特許文献３や特許文献４に開示の技術を組み合わせることにより、より現実感のある加工シミュレーションを行うことも可能である。
【０１２９】
ここで、特許文献３に開示の技術は、実在するオブジェクトと仮想３Ｄオブジェクトの前後関係（奥行き）などを考慮した技術である。本実施形態と、特許文献３に開示の技術とを組み合わせることにより、仮想３Ｄオブジェクト（例：加工ワーク）と実オブジェクト（例：工具）との前後関係を、加工シミュレーションに反映して表示することが可能となる。
【０１３０】
また、特許文献４に開示の技術は、特徴点（例えば、マーカー）がカメラ画像から見切れてしまっても仮想３Ｄオブジェクトを表示し続ける技術である。
本実施形態と、特許文献４に開示の技術とを組み合わせることにより、ヘッドマウントディスプレイ３００が備えるカメラの撮影範囲からマーカーが外れてしまったとしても、仮想３Ｄオブジェクトを表示し続けることが可能となる。
【０１３１】
［第３の変形例］
上述した実施形態において図２等を参照して説明したように、関係情報取得部２１０は、数値制御装置１００から「制御軸単体の設定を含む制御軸同士の関係情報」を取得していた。また、その一方で、関係情報取得部２１０は、「制御軸−仮想３Ｄオブジェクト間の関係情報」をユーザの設定に基づいて取得していた。
しかしながら、必ずしもこのようにするようにしなくてもよい。例えば、関係情報取得部２１０は、「制御軸単体の設定を含む制御軸同士の関係情報」及び「制御軸−仮想３Ｄオブジェクト間の関係情報」の双方をユーザの設定に基づいて取得するようにしてもよい。
また他にも、例えば、関係情報取得部２１０は、「制御軸単体の設定を含む制御軸同士の関係情報」及び「制御軸−仮想３Ｄオブジェクト間の関係情報」の双方を数値制御装置１００から取得するようにしてもよい。この場合は、例えば、双方の関係情報を予め数値制御装置１００にて設定するようにしておけばよい。
【０１３２】
なお、上記の数値制御装置、拡張情報制御装置、及び工作機械のそれぞれは、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の数値制御装置、拡張情報制御装置、及び工作機械の協働により行われる拡張現実シミュレーション方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【０１３３】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ(Read Only Memory)、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ(Programmable ROM)、ＥＰＲＯＭ(Erasable PROM)、フラッシュＲＯＭ、ＲＡＭ(random access memory）)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【０１３４】
１００  数値制御装置
２００  拡張情報制御装置
２１０  関係情報取得部
２２０  変換部
２３０  拡張情報算出部
２５０  無線通信部
３００  ヘッドマウントディスプレイ
４００  工作機械
【図１】
2018092476.tif 000003
【図２】
2018092476.tif 000004
【図３】
2018092476.tif 000005
【図４】
2018092476.tif 000006
【図５】
2018092476.tif 000007
【図６】
2018092476.tif 000008
【図７】
2018092476.tif 000009
【図８】
2018092476.tif 000010
【図９】
2018092476.tif 000011
【図１０】
2018092476.tif 000012
【図１１】
2018092476.tif 000013
【図１２】
2018092476.tif 000014
【図１３】
2018092476.tif 000015
【図１４】
2018092476.tif 000016
【図１５】
2018092476.tif 000017
【図１６】
2018092476.tif 000018
【図１７】
2018092476.tif 000019
【図１８】
2018092476.tif 000020
【図１９】
2018092476.tif 000021
【図２０】
2018092476.tif 000022