JP6585665B2 - 仮想オブジェクト表示システム - Google Patents

仮想オブジェクト表示システム Download PDF

Info

Publication number
JP6585665B2
JP6585665B2 JP2017127692A JP2017127692A JP6585665B2 JP 6585665 B2 JP6585665 B2 JP 6585665B2 JP 2017127692 A JP2017127692 A JP 2017127692A JP 2017127692 A JP2017127692 A JP 2017127692A JP 6585665 B2 JP6585665 B2 JP 6585665B2
Authority
JP
Japan
Prior art keywords
node
information
marker
unit
virtual object
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.)
Active
Application number
JP2017127692A
Other languages
English (en)
Other versions
JP2019012342A (ja
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.)
FANUC Corp
Original Assignee
FANUC Corp
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 FANUC Corp filed Critical FANUC Corp
Priority to JP2017127692A priority Critical patent/JP6585665B2/ja
Priority to US16/003,553 priority patent/US20190005725A1/en
Priority to DE102018210261.9A priority patent/DE102018210261A1/de
Priority to CN201810663304.4A priority patent/CN109213078B/zh
Publication of JP2019012342A publication Critical patent/JP2019012342A/ja
Application granted granted Critical
Publication of JP6585665B2 publication Critical patent/JP6585665B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/402Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31261Coordination control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39449Pendant, pda displaying camera images overlayed with graphics, augmented reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/18Details relating to CAD techniques using virtual or augmented reality

Description

本発明は、拡張現実(AR(Augmented Reality))や複合現実(MR(Mixed Reality))の技術を用いてシミュレーションを行うための、仮想オブジェクト表示システムに関する。
従来、数値制御装置により制御される工作機械の分野では、CAD(computer-aided design)等でワークや治具を設計する。また、設計した治具を用いてワークを加工するための加工プログラムを作成する。
そして、数値制御装置が加工プログラムに基づいて工作機械を制御することにより、ワークの加工が実現される。
ここで、設計した治具やワーク、及び加工プログラムを実際に製造ラインに載せる前に、これらが適切であるかを確認するために加工シミュレーションを行うことが一般的である。
この加工シミュレーションを、実際の機械による動作確認で行う場合、当然のことながら実物の治具が完成するまでは加工シミュレーションは行えない。従って、治具が完成するまで工程が停滞するという問題が発生する。
また、治具完成後の動作確認時に干渉等の問題が見つかり、治具の設計変更が必要になった場合には、工程が更に延びてしまう。また、治具の設計変更のための費用も発生してしまう。仮に、治具の設計変更をしない場合には、加工プログラムの変更が必要となるが、この場合には加工に要するサイクルタイムが当初よりも延びるおそれがある。
これらの問題を考慮して、実際の機械により動作確認を行うのではなく、パーソナルコンピュータ等の演算処理により、仮想的に加工シミュレーションを行う技術が存在する。
例えば、特許文献1に開示の技術では、工作機械における構造を全て仮想オブジェクト化して、加工シミュレーションを行う。
しかしながら、特許文献1に開示の技術では、ワークや治具の仮想オブジェクトを作成するだけでなく、複数種類の工作機械それぞれについて機械全体の仮想オブジェクトを作成する必要があった。また、実際の工作機械の動作を再現するために、工作機械の可動部分の仮想オブジェクトに動作処理を実装する必要もあった。つまり、仮想オブジェクトの作成が容易ではないという問題があった。
更に、このように仮想オブジェクトを作成したとしても、仮想オブジェクトの再現度が低い場合には、現実との差異が生じてしまうという問題があった。
このような仮想オブジェクトに関する問題を鑑みた技術が、特許文献2に開示されている。特許文献2に開示の技術では、工作機械内部をカメラ画像で取得して、事前に登録してある工具保持部又はワーク保持部を特徴点として抽出する。そして、事前に登録した工具又はワークの仮想オブジェクトを、特徴点の位置に基づいて、実際に撮影した工作機械の画像にオーバレイ表示させる。このようにすれば、工作機械の仮想オブジェクトを作成する必要がなくなる。
しかしながら、特許文献2に開示の技術では、カメラの撮影方向を予め設定された方向に固定する必要があるため、加工シミュレーションの様子を確認する視点を変更することができないという問題がある。
他方、近年の画像処理技術分野では、ARやMRといった、現実空間に実在するオブジェクトに対して仮想のオブジェクトを重ね合せて表示等するための拡張現実技術が一般的に利用されるようになっている。以下では、このような拡張現実技術により表示される情報を「拡張情報」と呼ぶ。
このような拡張現実技術を利用すれば、カメラで撮影した画像の特定の特徴点(例えば、マーカ)を抽出して、仮想オブジェクト等の拡張情報をオーバレイ表示することができる。また、それのみならず、カメラの撮影方向を任意変更することも可能となる。従って、このような拡張現実技術を適切に利用することができれば、上述した特許文献2に開示の技術の問題点を解消することができる。
このようなARやMRといった拡張現実技術の基礎技術が、非特許文献1に開示されている。非特許文献1に開示の技術では、シースルー型のHMD(Head Mounted Display)を表示デバイスとし、仮想物体表示の基準座標となるマーカの3次元位置をHMDに取り付けられた小型カメラによって得られる画像情報から検出する。そして、ユーザの両眼に視差を与えた仮想物体映像を提示することで、HMDスクリーンを透過して見える実世界の3次元空間中に3次元物体として仮想オブジェクトを表示することを可能とする。
具体的には、非特許文献1に開示の技術では、図27に示すように複数の座標系を扱う。この点、仮想オブジェクトは、特徴点を原点とした座標系であるマーカ座標系上で表現する。そして、マーカ座標系からカメラ座標系への座標変換マトリクスを求める処理を行う。
そして、この処理により得られた座標変換マトリクスを用いることにより、HMDの左右のスクリーンの適切な位置に仮想オブジェクトを描画することが可能となる。
このような非特許文献1等に開示の拡張現実技術を利用すれば、実際の工作機械内部に仮想オブジェクトを表示し、加工シミュレーションを行うことができる。
例えば、図28に示すように、特徴点を予め登録したマーカとした場合、マーカの移動に合わせて仮想オブジェクトも移動する。すなわち、仮想オブジェクトがマーカに追従する。
これを利用し、実際の工作機械の可動部上にマーカを配置することで、テーブルの実移動に合わせて仮想オブジェクトを移動させることができる。例えば、図29の左に(29A)として示すように、実際の工作機械の可動部である可動テーブル上にマーカを配置する。そして、図29の中央に(29B)として示すように、マーカを原点として仮想オブジェクトを表示する。更に、図29の右に(29C)として示すように、可動テーブルを例えばX軸に沿って移動させると、仮想オブジェクトがマーカに追従する。
このようにすれば、工作機械全体を仮想オブジェクトとすることなく、且つ、工作機械の可動部分の再現をすることなく、加工シミュレーションを行うことが可能となる。
特許4083554号明細書 特許5384178号明細書 特開2012−58968号公報 特許5872923号明細書
「マーカー追跡に基づく拡張現実感システムとそのキャリブレーション」、[online]、[平成28年11月27日検索]、インターネット〈URL:http://intron.kz.tsukuba.ac.jp/tvrsj/4.4/kato/p-99_VRSJ4_4.pdf〉
しかしながら、図29に示すようにして、実際の工作機械の可動部上にマーカを配置する場合には、図30に示すような複数の課題が存在する。
例えば、図30の左に(30A)として示すようにマーカが判別不能となり得るという課題がある。なぜならば、拡張情報を描画するためには、カメラで、マーカを捉えている必要があるが、マーカを設置した可動部の移動や回転に伴いマーカが判別不能になり得るからである。この点、特許文献4に開示の技術を利用すれば、マーカが判別不能になった後も、拡張情報の表示を継続することはできる。しかしながら、特許文献4に開示の技術では、その後、可動部に配置されたマーカの移動を検知することはできないので、マーカが判別不能になった後は、表示している拡張情報は移動しないこととなる。従って、仮に特許文献4に開示の技術を利用したとしても、マーカが判別不能となってしまう場合には、適切な加工シミュレーションは行なえない。
また、図30の中央に(30B)として示すように、可動部の移動速度が速く、マーカの認識処理が追いつけない場合があり得るという課題もある。
また、図30の右に(30C)として示すように、そもそも可動部にマーカが配置できない場合があり得るという課題がある。可動部にマーカが配置できない場合とは、例えば可動部そのものを仮想オブジェクトで実現する場合である。
また、その他にも、1つのマーカに複数の仮想オブジェクトを表示するケースも考えられる。例えば、図31の左に(31A)として示すようにワーク及び治具と、工具とを、仮想オブジェクトで表示するケースが考えられる。また、図31の右に(31B)として示すようにワーク及び治具と、テーブルとを、仮想オブジェクトで表示するケースが考えられる。
このような場合に、可動部上にマーカを配置してしまうと、移動が不要な仮想オブジェクトも一緒に移動してしまうという課題もある。
これらの課題を考慮すると、工作機械上で加工シミュレーションを行う場合、マーカ自体は移動させず、マーカを所定の位置に固定して設置できることが望ましい。
しかしながら、マーカが固定して設置された場合には、マーカを原点として表示される仮想オブジェクトも動かないことになる。これでは、加工シミュレーションを行うことができない。
そこで、マーカを固定して設置する場合、工作機械の可動部の移動に合わせて、仮想オブジェクトをマーカ座標系上で移動・回転させる必要がある。
これに対して、現実の工作機械の可動部は、数値制御装置が制御している制御軸の動作により移動・回転する。この制御軸の座標系(以下、「制御軸座標系」とも表記する)は数値制御装置が管理しており、工作機械ごとに特有のものである。
つまり、マーカ座標系と制御軸座標系は別物であり、制御軸の移動量だけでは正しく加工シミュレーションを行うことはできない。
これを解決する技術として、例えば、マーカ座標系上の位置情報と、制御軸座標系上の位置情報を連動させる第1の手法が考えられる。しかし、この手法では、制御軸座標系の移動量をマーカ座標系の移動量に変換するための関係情報を設定する必要がある。
関係情報の設定を不要とするための技術として、例えば、カメラから見える位置に固定したマーカと、制御軸の移動に伴って移動する工具等の位置を撮像した撮像データを複数取得し、取得した撮像データから計算されるマーカ座標系における工具の位置と、制御軸座標系における座標値とから、制御軸座標系の移動量をマーカ座標系の移動量に変換するための関係情報を推定する第2の手法が考えられる。
しかし、第2の手法においては、事前に機械の構成ごとに未定数を含んだ形で変換式を登録しておく必要があり、予め用意した機械構成しか使用することができない。また、マーカの認識とは別に、工具等の位置を認識するための画像認識技術が要求される。
更に、第1の手法と第2の手法の双方において、仮想オブジェクトごとに変換式が必要であると共に、この変換式は、あくまで移動量の変換式なので、初期位置を認識する手段が必要となる。初期位置の認識のためには、仮想オブジェクトを配置する対象に初期位置検出用マーカを置くか、対象を画像認識する必要があり、仮想オブジェクトの個数が増えれば、それぞれに対して認識手段が必要となる。
そこで、本発明は、簡易な手法で、仮想オブジェクトを表示することが可能な、仮想オブジェクト表示システムを提供することを目的とする。
(1) 本発明に係る仮想オブジェクト表示システム(例えば、後述の仮想オブジェクト表示システム10)は、機械構成管理装置(例えば、後述の機械構成管理装置100)と拡張情報制御装置(例えば、後述の拡張情報制御装置200)とを備え、前記機械構成管理装置は、グラフ生成部(例えば、後述のグラフ生成部111)と、制御点座標系挿入部(例えば、後述の制御点座標系挿入部113)と、ノード情報通知部(例えば、後述のノード情報通知部114)と、変換情報計算部(例えば、後述の変換情報計算部115)と、変換情報通知部(例えば、後述の変換情報通知部116)とを備え、前記拡張情報制御装置は、ノード選択部(例えば、後述のノード選択部211)と、選択ノード通知部(例えば、後述の選択ノード通知部212)と、座標情報変換部(例えば、後述の座標情報変換部213)とを備える、仮想オブジェクト表示システムであって、前記グラフ生成部は、制御対象の機械構成を、マーカを含む構成要素をノードとするグラフを生成し、前記制御点座標系挿入部は、前記グラフに、制御点及び座標系を挿入し、前記ノード情報通知部は、表示可能なノード情報を、前記拡張情報制御装置に通知し、前記ノード選択部は、仮想オブジェクトを表示したいノードを選択し、前記選択ノード通知部は、仮想オブジェクトを表示したいノードを、前記機械構成管理装置に通知し、前記変換情報計算部は、マーカノードから表示対象のノードへの前記グラフにおける経路上の制御軸ノードの座標値を変数として含む変換情報であって、前記グラフを元に、マーカノードの座標系における、表示対象のノードの位置及び/又は姿勢を計算するための変換情報を、計算し、前記変換情報通知部は、前記変換情報を、前記拡張情報制御装置に通知し、前記座標情報変換部は、前記変換情報を用いて、通知された各制御軸の座標値を、マーカノードの座標系における、表示対象の各ノードの位置及び/又は姿勢に変換する。
(2) (1)に記載の仮想オブジェクト表示システム(例えば、後述の仮想オブジェクト表示システム10)は、表示装置(例えば、後述のヘッドマウントディスプレイ300)を更に備え、前記拡張情報制御装置(例えば、後述の拡張情報制御装置200)は、前記座標情報変換部(例えば、後述の座標情報変換部213)が変換した、マーカノードの座標系における表示対象の各ノードの位置及び/又は姿勢に基づいて、仮想オブジェクトを拡張情報として前記表示装置で計算するための拡張情報表示用データを計算する拡張情報表示用データ計算部(例えば、後述の拡張情報表示用データ計算部214)と、前記拡張情報表示用データを前記表示装置に通知する、拡張情報表示用データ通知部(例えば、後述の拡張情報表示用データ通知部215)を備えてもよい。
(3) (1)又は(2)に記載の仮想オブジェクト表示システム(例えば、後述の仮想オブジェクト表示システム10)において、前記座標情報変換部(例えば、後述の座標情報変換部213)は、数値制御装置(例えば、後述の数値制御装置150)から受け取った座標値を、前記各制御軸の座標値として、マーカノードの座標系における、表示対象の各ノードの位置及び/又は姿勢に変換してもよい。
(4) (1)〜(3)に記載の仮想オブジェクト表示システム(例えば、後述の仮想オブジェクト表示システム10)において、前記グラフ生成部(例えば、後述のグラフ生成部111)は、複数のマーカノードを前記グラフに追加し、前記変換情報計算部(例えば、後述の変換情報計算部115)は、複数のマーカノードの座標系から、各ノードの位置及び/又は姿勢を計算するための変換情報を計算し、前記変換情報通知部(例えば、後述の変換情報通知部116)は前記変換情報を前記拡張情報制御装置に通知してもよい。
(5) (1)〜(3)に記載の仮想オブジェクト表示システム(例えば、後述の仮想オブジェクト表示システム10)において、前記グラフ生成部(例えば、後述のグラフ生成部111)は、ベースマーカノードを追加し、前記変換情報計算部(例えば、後述の変換情報計算部115)は、前記ベースマーカノードの座標系を基準とする変換情報と、前記ベースマーカノードの座標系と各マーカノードの座標系との間の変換情報を、前記拡張情報制御装置に通知してもよい。
(6) (1)〜(5)に記載の仮想オブジェクト表示システム(例えば、後述の仮想オブジェクト表示システム10)において、前記拡張情報制御装置(例えば、後述の拡張情報制御装置200)は、前記グラフのデータを有する記憶部(例えば、後述の記憶部220)を更に備えてもよい。
(7) (1)〜(6)に記載の仮想オブジェクト表示システム(例えば、後述の仮想オブジェクト表示システム10)は、前記グラフのデータを格納するサーバを更に備えてもよい。
(8) (1)〜(7)に記載の仮想オブジェクト表示システム(例えば、後述の仮想オブジェクト表示システム10)において、前記機械構成管理装置(例えば、後述の機械構成管理装置100)は、工作機械(例えば、後述の工作機械400)の数値制御装置(例えば、後述の数値制御装置150)と一体化されていてもよい。
(9) (1)〜(7)に記載の仮想オブジェクト表示システム(例えば、後述の仮想オブジェクト表示システム10)において、前記機械構成管理装置(例えば、後述の機械構成管理装置100)は、クラウド上に存在してもよい。
本発明によれば、簡易な手法で、仮想オブジェクトを表示することが可能となる。
本発明の実施形態全体の基本的構成を示すブロック図である。 本発明の実施形態に係る機械構成管理装置100の機能ブロック図である。 本発明の実施形態に係る数値制御装置150の機能ブロック図である。 本発明の実施形態に係る拡張情報制御装置200の機能ブロック図である。 本発明の実施形態における機械構成木の生成方法の説明図である。 本発明の実施形態における機械構成木の生成方法の説明図である。 本発明の実施形態における機械構成木の生成方法の説明図である。 本発明の実施形態における機械構成木の生成方法を示すフローチャートである。 本発明の実施形態における機械の構成要素の親子関係の説明図である。 本発明の実施形態における機械の構成要素の親子関係の説明図である。 ユニットを機械構成木に挿入する方法の説明図である。 ユニットを機械構成木に挿入する方法の説明図である。 ユニットを機械構成木に挿入する方法の説明図である。 本発明の実施形態に係る機械構成の例を示す図である。 機械構成木の生成対象となる機械の例を示す図である。 機械構成木の生成対象となる機械に対応する機械構成木の例を示す図である。 本発明の実施形態において、機械の各ノードに座標系及び制御点が挿入された例を示す図である。 本発明の実施形態における、座標系及び制御点が挿入された機械構成木の例を示す図である。 本発明の実施形態において、各ノードにオフセット及び姿勢マトリクスが挿入される機械の例を示す図である。 本発明の実施形態において、機械の各ノードにオフセット及び姿勢マトリクスが挿入された例を示す図である。 本発明の実施形態において、機械構成木に制御点を挿入する動作フローを示す図である。 本発明の実施形態における、座標系及び制御点が挿入された機械構成木の例を示す図である。 本発明の実施形態において、変換情報を生成する際に用いる情報の例を示す図である。 本発明の実施形態において、変換情報を生成する際に用いる情報の例を示す図である。 本発明の実施形態に係る、仮想オブジェクト表示方法の動作フローを示す図である。 本発明の実施形態の実施例を示す図である。 本発明の実施形態の実施例を示す図である。 マーカ座標系及びカメラ座標系と変換情報との関係を示す図である。 本発明の実施形態の実施例を示す図である。 本発明の実施形態の実施例を示す図である。 本発明の実施形態の実施例を示す図である。 本発明の実施形態の実施例を示す図である。 本発明の実施形態の実施例を示す図である。 本発明の実施形態の実施例を示す図である。 マーカ座標系が複数ある場合のマーカ座標系及びカメラ座標系と変換情報との関係を示す図である。 マーカ座標系について示す図である。 仮想オブジェクトの表示について示す図である。 マーカを可動部に設置した場合について示す図である。 マーカを可動部に設置した場合の課題について示す図である。 マーカに複数の仮想オブジェクトを対応付けた場合について示す図である。
<1.仮想オブジェクト表示システムの構成>
次に、本発明の実施形態について図面を参照して詳細に説明する。まず、図1を参照して本実施形態全体の構成について説明をする。
本実施形態に係る仮想オブジェクト表示システム10は、機械構成管理装置100、数値制御装置150、拡張情報制御装置200、無線通信装置250、ヘッドマウントディスプレイ300及び工作機械400を備える。
機械構成管理装置100は、本実施形態特有の装置であり、工作機械400の各構成要素をノードとするグラフ(以下、機械構成木とも表記)を作成し、このグラフによって機械構成を管理することにより、後述の拡張情報制御装置200が、この機械構成木に基づく機械構成のデータを利用した制御をすることが可能となる。
より具体的には、機械構成管理装置100は、後述の<5.機械構成木の生成>に記載の方法により、工作機械400の構成を表現する機械構成木を生成し、更に、マーカを機械構成木のノードとして追加登録したり、もしくは、マーカが既存のノードに貼られている場合には、そのノードをマーカノードとして認識したりする。機械構成木は各ノード相互の位置関係情報を有するため、機械構成木上に、ノードとしてマーカを含むことで、後述の拡張情報制御装置200において、機械構成木上の全てのノードについて、マーカとの位置/姿勢の関係が分かる。
機械構成管理装置100の詳細な構成については、図2を参照して後述する。
数値制御装置150は、一般的な数値制御装置としての機能と、機械構成管理装置100との通信を行う機能とを備える装置である。数値制御装置150は、工作機械400と通信可能に接続されている。そして、数値制御装置150は、数値制御装置150自身に組み込まれた加工プログラムに基づいて出力される各制御軸の移動量により工作機械400を制御して、ワークを加工する。
また、数値制御装置150は、拡張情報制御装置200に対しても加工プログラムに基づいて出力される各制御軸の移動量を出力する。
このように、数値制御装置150は、機械構成管理装置100と工作機械400との双方に対して移動量を出力する。この点、数値制御装置150から機械構成管理装置100に対しての移動量の出力は、数値制御装置150から工作機械400に対しての移動量の出力に同期して行われてもよいし、非同期に送られてもよい。
数値制御装置150の詳細な構成については、図3を参照して後述する。
拡張情報制御装置200は、本実施形態特有の装置であり、拡張現実技術により、仮想オブジェクトの表示位置及び表示角度を算出することにより、適切に仮想オブジェクトを表示させるための制御を行う。
拡張情報制御装置200の詳細な構成については、図4を参照して後述する。
無線通信装置250は、拡張情報制御装置200と通信可能に接続しており、拡張情報制御装置200が出力する仮想オブジェクトと、その表示位置及び表示角度を取得する。これら拡張情報制御装置200が出力する情報は、カメラ座標系に対応したものとなっている。そして、これら拡張情報制御装置200が出力した情報を、Wi−Fi等の無線通信規格に準拠してヘッドマウントディスプレイ300に対して送信する。
また、無線通信装置250は、ヘッドマウントディスプレイ300に含まれるカメラが撮像により取得した情報を無線通信によりヘッドマウントディスプレイ300から受信する。そして、無線通信装置250は、この受信した情報を拡張情報制御装置200に対して出力する。
ヘッドマウントディスプレイ300は、一般的なヘッドマウントディスプレイ(以下、適宜「HMD」と表記)であり、拡張情報制御装置200が出力する仮想オブジェクトと、その表示位置及び表示角度を、無線通信装置250を介して取得する。そして、この取得した情報に基づいて、ヘッドマウントディスプレイ300自身が備えるディスプレイに仮想オブジェクトを表示する。この取得した情報は、上述したように、カメラ座標系に対応したものとなっている。また、ヘッドマウントディスプレイ300は、ヘッドマウントディスプレイ300自身に含まれるカメラが撮像により取得した情報を、無線通信装置250を介して拡張情報制御装置200に対して出力する。
工作機械400は、一般的な工作機械であり、数値制御装置150から出力される各制御軸の移動量に応じて各制御軸を移動・回転させる。
本実施形態では、このような構成により、ユーザが、マーカ座標系に対応して表示される仮想オブジェクトをヘッドマウントディスプレイ300のディスプレイにて参照すると共に、各制御軸の移動量に対応して可動する工作機械400の実際の構造をディスプレイ越しに参照する。これにより、ユーザは加工シミュレーションの様子を観察することが可能となる。
なお、図1に示した構成はあくまで一例である。例えば、ヘッドマウントディスプレイ300を、HMDではなくタブレット型の端末により実現するようにしてもよい。また、機械構成管理装置100の機能の一部又は全部を数値制御装置150に搭載するようにしてもよい。また、拡張情報制御装置200の機能の一部又は全部をヘッドマウントディスプレイ300や数値制御装置150に搭載するようにしてもよい。また、拡張情報制御装置200は、単独の装置により実現してもよいが複数の装置の組み合わせにより実現してもよい。また、拡張情報制御装置200は、数値制御装置150や工作機械400の近傍に設置されている装置により実現してもよいが、数値制御装置150や工作機械400とネットワークを介して遠距離に設置されているサーバ装置等で実現してもよい。更に、各通信接続は有線接続であっても無線接続であってもよい。例えば、図中では、機械構成管理装置100、数値制御装置150、及び拡張情報制御装置200の通信接続がイーサネット(登録商標)(Ethernet)に準拠して有線接続により行われる例を記載しているが、かかる接続は無線接続であってもよい。
<2.機械構成管理装置の構成>
図2は、機械構成管理装置100の機能ブロック図である。
機械構成管理装置100は、制御部110と記憶部120とを備え、制御部110は、グラフ生成部111、制御点座標系挿入部113、ノード情報通知部114、変換情報計算部115、及び変換情報通知部116を備え、グラフ生成部111は、ノード追加部112を備える。
制御部110は、機械構成管理装置100を全体的に制御するプロセッサである。この制御部110は、ROM(不図示)に格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、該システムプログラム及びアプリケーションプログラムに従って、制御部110が備えるグラフ生成部111、ノード追加部112、制御点座標系挿入部113、ノード情報通知部114、変換情報計算部115、変換情報通知部116の機能を実現する。
グラフ生成部111は、マーカを含む工作機械400の機械構成をグラフ形式で生成する。更に、グラフ生成部111が有するノード追加部112は、生成したグラフにノードを追加する。それらの詳細な動作については、以下の「5.機械構成木の生成」で詳述する。
制御点座標系挿入部113は、機械構成のグラフに対し、制御点及び座標系を挿入する。その詳細な動作については、以下の「6.制御点と座標値の自動挿入」で詳述する。
ノード情報通知部114は、後述の拡張情報制御装置200に対し、表示可能なノードの情報を通知する。
変換情報計算部115は、後述のように、拡張情報制御装置200の選択ノード通知部212から、仮想オブジェクトを表示したいノードを通知された後、マーカノードから表示対象のノードへの経路上の制御軸ノードの座標値を変数として含む変換情報であって、上記のグラフを元に、マーカノードの座標系における、各表示対象のノードの位置及び/又は姿勢を計算するための変換情報を計算する。
なお、上記の変換情報は、マトリクス形式であってもよく、ベクトル形式であってもよく、ロール・ピッチ・ヨー形式であってもよい。その詳細な動作については、以下の「7.変換情報の計算」で詳述する。
変換情報通知部116は、変換情報計算部115が計算した変換情報を、拡張情報制御装置200の座標情報変換部213に通知する。
記憶部120は、グラフ生成部111によって生成された機械構成木に係る情報を記憶する。
なお、グラフ生成部111、ノード情報通知部114、変換情報計算部115、変換情報通知部116、記憶部120の詳細な動作については、以下の「8.仮想オブジェクトの表示方法」で詳述する。
<3.数値制御装置の構成>
図3は、数値制御装置150の機能ブロック図である。
数値制御装置150は、制御部160を備え、制御部160は、座標情報通知部161と、サーボモータ制御部162をと備える。
制御部160は、数値制御装置150を全体的に制御するプロセッサである。この制御部160は、ROM(不図示)に格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、該システムプログラム及びアプリケーションプログラムに従って、制御部160が備える座標情報通知部161、及びサーボモータ制御部162の機能を実現する。
座標情報通知部161は、稼働中の工作機械400の座標情報を、拡張情報制御装置200の座標情報変換部213に通知する。
サーボモータ制御部162は、制御部160からの各軸の移動指令量を受けて、各軸の指令をサーボモータ(不図示)に出力する。
なお、数値制御装置150は、工作機械400を数値制御するために、通常の数値制御装置が備えるその他の構成要素も備えるが、その説明は省略する。
<4.拡張情報制御装置の構成>
図4は、拡張情報制御装置200の機能ブロック図である。
拡張情報制御装置200は、制御部210と、記憶部220とを備え、制御部210は、ノード選択部211、選択ノード通知部212、座標情報変換部213、拡張情報表示用データ計算部214、及び拡張情報表示用データ通知部215を備える。
制御部210は、拡張情報制御装置200を全体的に制御するプロセッサである。この制御部210は、ROM(不図示)に格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、該システムプログラム及びアプリケーションプログラムに従って、制御部210が備えるノード選択部211、選択ノード通知部212、座標情報変換部213、拡張情報表示用データ計算部214、及び拡張情報表示用データ通知部215の機能を実現する。
ノード選択部211は、仮想オブジェクトを表示したいノードを選択する。
選択ノード通知部212は、ノード選択部211が選択したノードを機械構成管理装置100の変換情報計算部115に通知する。
座標情報変換部213は、機械構成管理装置100から受け取った変換情報を元に、数値制御装置150から定期的に受け取る各制御軸の座標値から、仮想オブジェクトのマーカ座標系での位置及び/又は姿勢を計算する。
拡張情報表示用データ計算部214は、ARやMR等の技術に基づいて、仮想オブジェクト等の拡張情報を表示させるための拡張情報表示用データを計算する。より具体的には、拡張情報表示用データ計算部214は、まず、仮想オブジェクトのマーカ座標系での位置及び/又は姿勢を、ヘッドマウントディスプレイ300からの情報を用いて、カメラ座標系での位置及び/又は姿勢に変換する。更に、拡張情報表示用データ計算部214は、この位置及び/又は姿勢を、スクリーン座標系での位置及び/又は姿勢に変換する。
拡張情報表示用データ通知部215は、拡張情報表示用データ計算部214が計算した拡張情報表示用データを、無線通信装置250を介してヘッドマウントディスプレイ300に対して送信する。この拡張情報表示用データには、仮想オブジェクトの形状等と、この仮想オブジェクトの、スクリーン座標系の座標値に変換された表示位置及び表示角度等が含まれる。
記憶部220は、機械構成管理装置100のグラフ生成部111によって生成されたグラフに係る情報を記憶する。
なお、ノード選択部211、選択ノード通知部212、座標情報変換部213、拡張情報表示用データ計算部214、及び拡張情報表示用データ通知部215、及び記憶部220の詳細な動作については、以下の「8.仮想オブジェクトの表示方法」で詳述する。
<5.機械構成木の生成>
本発明の実施形態に係る機械構成管理装置100は、最初に、機械構成を表すグラフを生成する。グラフの一例として機械構成木を生成する生成方法について、図5〜図11を参照しながら詳述する。
例として、図5に示す機械の構成を表現する機械構成木の生成方法について説明する。図5の機械においては、Z軸に対して垂直にX軸が設定され、X軸には工具1が設置され、Z軸には工具2が設置されているとする。一方で、Y軸上にB軸が設定され、B軸上にC軸が設定され、C軸にはワーク1とワーク2が設置されているとする。この機械構成を機械構成木として表現する方法は、以下の通りである。
まず、図6に示すように、原点201とノード202A〜202Iのみを配置する。この段階では、原点201とノード202、及びノード202間でのつながりは持たず、原点及びノードの各々の名称も設定されていない。
次に、各軸の軸名称(軸型)、各工具の名称、各ワークの名称、各原点の名称、各軸の物理軸番号(軸型)を設定する。次に、各軸の親ノード(軸型)、各工具の親ノード、各ワークの親ノードを設定する。最後に、各軸の交叉オフセット(軸型)、各工具の交叉オフセット、各ワークの交叉オフセットを設定する。その結果、図7に示す機械構成木が生成される。
なお、機械構成木の各ノードは、上記の各情報に限られず、例えば、識別子(名称)、自身の親ノードの識別子、自身を親とする全ての子ノードの識別子、親ノードに対する相対オフセット(交叉オフセット)、親ノードに対する相対座標値、親ノードに対する相対移動方向(単位ベクトル)、ノード種別(直線軸/回転軸/ユニット(後述)/制御点/座標系/原点等)、物理軸番号、直交座標系と物理座標系の変換式に係る情報を有してもよく、あるいは、有さなくてもよい。
このように各ノードに値を設定していくことにより、機械構成管理装置100内に機械構成木状のデータ構造を有するデータを生成する。更に、別の機械(又はロボット)を追加する場合も、原点を追加し、更にノードを追加することができる。
上記の機械構成木生成方法、とりわけ各ノードへの各値の設定方法を一般化したフローチャートを図8に示す。
ステップS11において、グラフ生成部111は、ノードに対して設定するパラメータの値を受け取る。
ステップS12において、設定されたパラメータの項目が「自身の親ノード」の場合(S12:YES)には、処理はステップS13に移行する。「自身の親ノード」ではない場合(S12:NO)には、処理はステップS17に移行する。
ステップS13において、パラメータが設定されるノードに、既に親ノードが設定されている場合(S13:YES)には、処理はステップS14に移行する。親ノードが設定されていない場合(S13:NO)には、処理はステップS15に移行する。
ステップS14において、グラフ生成部111は、パラメータが設定されるノードの、現在の親ノードが持つ「子ノード」の項目から、自身の識別子を削除し、機械構成木を更新する。
ステップS15において、グラフ生成部111は、パラメータを設定するノードの該当項目に値を設定する。
ステップS16において、グラフ生成部111は、親ノードに対し、「子ノード」の項目に自身の識別子を追加し、機械構成木を更新した後、フローを終了する。
ステップS17において、グラフ生成部111は、パラメータを設定するノードの該当項目に値を設定した後、フローを終了する。
上記の機械構成木状のデータ構造を有するデータの生成方法を用いることにより、機械の構成要素同士の親子関係を設定することが可能である。
ここで親子関係とは、例えば図9Aのように、2つの回転軸ノード504、505があったとき、一方のノード504の座標値の変化が、他方のノード505の幾何的状態(典型的には、位置・姿勢)に対して一方的に影響を及ぼすような関係のことである。この場合ノード504、505は親子関係にあると呼び、ノード504を親、ノード505を子と呼ぶ。
しかし、例えば図9Bに示すように、2つの直線軸ノード502、503と4つのフリージョイント501により構成された機械構成においては、ノード502、503の一方の座標値(長さ)が変わることにより、他方の幾何的状態だけでなく、自身の幾何的状態も変わるような、相互に影響を及ぼす機構が存在する。このような場合は、互いに親であり子、すなわち親子関係が双方向であるとみなすことができる。
このように、あるノードの変化が他のノードに互いに影響し合うような機構については、利便性の観点から、1つのユニットとして捉え、このユニットを機械構成木に挿入することにより全体の機械構成木を生成する。ユニットは、図10Aのように二つの接続点510及び接続点520を持っており、ユニットが図10Bのように機械構成木に挿入された場合、図10Cのように、親ノードは接続点520に接続され、また、子ノードは接続点510に対して接続される。また、ユニットは、接続点520から接続点510への変換マトリクスを持っている。この変換マトリクスは、ユニットに含まれる各ノードの座標値によって表される。例えば図11のような機械構成の場合、接続点520における位置・姿勢を表す同次マトリクスをMとし、接続点510における位置・姿勢を表す同次マトリクスをMとすると、それらのマトリクス間の変換式はユニットに含まれる各直線軸ノードの座標値x、xを用いて以下のように表される。
この機械構成を表すユニットは上記の[数1]の数式中のTのような同次変換マトリクスを持つ。同次マトリクスとは、以下の[数2]の数式のように位置・姿勢をまとめて表現できる4×4マトリクスのことである。
また、親子関係が相互でない場合であっても、計算処理や設定を簡単にするために、ある複数のノードを予め1つにまとめたユニットを定義し、機械構成木中に構成してもよい。
上記のように、本実施形態においては、機械構成のグラフは、複数の軸をまとめて1つにしたユニットを構成要素として含むことができる。
<6.制御点と座標値の自動挿入>
機械構成上の様々な位置を、制御点として指定すると共に、機械構成上の様々な箇所の座標系を設定するため、上記の「5.機械構成木の生成」で生成された機械構成木を用いて、以下の方法を実施する。
例えば、図12Aに示すロータリインデックスマシン350においては、Z1軸に対して垂直にX1軸が設定され、X1軸に工具1が設置されている。また、Z2軸に対して垂直にX2軸が設定され、X2軸上に工具2が設置されている。更に、テーブルにおいては、C軸上にC1軸とC2軸が並列に設定され、C1軸とC2軸の各々にワーク1とワーク2が設置されているとする。この機械構成を機械構成木で表わすと、図12Bに示す機械構成木となる。
各ワークから機械原点に連なる一連のノードを例に取ると、図13に示すように、機械原点、C軸、C1軸、C2軸、ワーク1、ワーク2の各々に座標系と制御点を自動挿入する。これを、テーブルに対してのみならず、各工具から機械原点に連なる一連のノード、すなわちX1軸、X2軸、Z1軸、Z2軸、工具1、工具2のすべてに対して実施する。その結果、図14に示すように、機械構成木を構成するすべてのノードに対して、各々に対応する制御点と座標系が自動挿入される。通常、加工を行う場合にはワークに座標系、工具を制御点として指定する。これにより、例えば、ワーク自身を所定の位置へ移動させるために、ワークに制御点を指定したい場合や、ある工具で別の工具を研磨するために、工具自身に座標系を設定したい場合といった様々な場合に対応することも可能となる。
また、図15Aに示すように、各制御点及び座標系は、オフセットを有する。そのため、ノード中心から離れた点を制御点や座標系原点にすることも可能である。更に、各制御点及び座標系は姿勢マトリクスを持つ。この姿勢マトリクスは、制御点の姿勢マトリクスである場合、制御点の姿勢(向き、傾き)を表し、座標系の姿勢マトリクスの場合、座標系の姿勢を表わす。図15Bに示す機械構成木においては、オフセット及び姿勢マトリクスは、各々が対応するノードに紐づく形で表現される。更に、各制御点及び座標系は、機械構成木のルートまでの経路上に存在するノードの「移動」及び「交叉オフセット」それぞれを加味するか/しないかの情報を持っており、それらを設定できる。
上記の制御点の自動挿入方法を一般化したフローチャートを図16に示す。このフローチャートは、詳細には、チャートAとチャートBとを含み、後述のように、チャートAの途中でチャートBが実行されるという構成となっている。
まず、チャートAについて説明する。
ステップS21において、グラフ生成部111は、機械構成木を設定する。
ステップS22において、チャートBを実行し、チャートAのフローを終了する。
次に、チャートBについて説明する。
チャートBのステップS31において、ノードは制御点・座標系を挿入済である場合(S31:YES)には、フローを終了する。ノードに制御点・座標系を挿入済でない場合(S31:NO)には、処理はステップS32に移行する。
ステップS32において、制御点座標系挿入部113は、ノードに制御点・座標系を挿入し、変数nを1つスタックする。また、n=1とする。
ステップS33において、ノードにn番目の子ノードが存在する場合(S33:YES)には、処理はステップS34に移行する。ノードにn番目の子ノードが存在しない場合(S33:NO)には、処理はステップS36に移行する。
ステップS34において、n番目の子ノードについて、チャートB自身を再帰的に実行する。
ステップS35において、nを1だけインクリメントする。すなわちn=n+1とし、処理はステップS33に戻る。
ステップS36において、変数nを1つポップし、チャートBのフローを終了する。
上記の方法により、制御点座標系挿入部113は、機械構成のグラフの各ノードに対し、制御点及び座標系をノードとして挿入する。なお、上記では、制御点及び座標系をノードとして追加する場合の実施例を示したが、図17に示すように、制御点座標系挿入部113は、機械構成のグラフの各ノードに対し、制御点及び座標系を情報として持たせる実施形態も同様に可能である。
<7.変換情報の計算>
上記のように、変換情報計算部115は、制御軸の座標値を、仮想オブジェクトのマーカ座標系での位置及び/又は姿勢に変換する変換情報を計算する。この変換情報の計算方法について、図18〜図19を参照して詳述する。
例えば、図18に示すように、軸xの上に軸xが設定され、軸xの上に軸xが設定され、以下同様にN個のノードが連なり、その末端が軸xであるとする。更に、軸x上の制御点に仮想オブジェクトを表示するものとする。同様に、軸yの上に軸yが設定され、軸yの上に軸yが設定され、以下同様にL個のノードが連なり、その末端が軸yであるとする。更に、軸y上にマーカが設置されているとする。ここで、x,yはノード名称だが、同時に各ノードの座標値も表わすこととする。
更に、各ノードには図18に示すオフセット、ノード種別(直線/回転/ユニット/制御点/座標系)、軸方向、姿勢マトリクス、座標値が与えられているとする。
この時、図19に示すように、ルート(機械原点)に対する制御点上の仮想オブジェクトの現在位置・姿勢を表す同次マトリクスMobjは、以下の式で求められる。
ただし、記号の意味は、以下の通りである。
xi:各ノードによる同次変換マトリクス;
N:機械構成木のルートから制御点まで連なる一連のノード個数;
ctrl:制御点の親ノードに対する相対オフセット・姿勢の同次マトリクスであり、制御点に定義されたオフセットベクトル・姿勢マトリクスから、上記の[数2]に従って定義される。
同時変換マトリクスSxiはノードの種別によって変わり、例えば、直線軸の場合は以下のように表される。
ただし、記号の意味は、以下の通りである。
:ノードxiの座標値;
ofsxi:ノードxiの親ノードに対する相対オフセットベクトル;
xi:ノードxiの移動方向ベクトル
また、回転軸の場合は以下のように表される。
ただし、記号の意味は、以下の通りである。
:ノードxiの回転軸方向ベクトルの第1成分;
:ノードxiの回転軸方向ベクトルの第2成分;
:ノードxiの回転軸方向ベクトルの第3成分
この時、マーカ座標系上における、制御点上の仮想オブジェクトの現在位置・姿勢を表す同次マトリクスXは、Mobjを用いて以下の式で求められる。
ただし、記号の意味は、以下の通りである。
L:機械構成木のルートから座標系まで連なる一連のノード個数;
coord:マーカの親ノードに対する相対オフセット・姿勢の同次マトリクスであり、座標系に定義されたオフセットベクトル・姿勢マトリクスから、上記の[数2]の数式に従って定義される。
<8.仮想オブジェクトの表示方法>
図20は、仮想オブジェクトを表示する際の動作フローを示す。最初に、各ステップの概略について述べる。
ステップS41において、機械構成管理装置100は、機械構成木に新規ノードとしてマーカノードを追加する。これにより、例えば、工作機械400の構成が、図21Aに示されるような構成だった場合、図21Bに示されるように、工作機械400の構成を示す機械構成木にマーカノードが追加される。
ステップS42において、拡張情報制御装置200は、機械構成管理装置100から、表示可能なノードを取得する。
ステップS43において、拡張情報制御装置200は、仮想オブジェクト等の拡張情報を表示するノードを選択し、機械構成管理装置100に通知する。
ステップS44において、機械構成管理装置100は、表示要求されたノードのマーカ座標系での位置・姿勢を求める式を導出し、拡張情報制御装置200に通知する。
ステップS45において、拡張情報制御装置200は、数値制御装置150から、各制御軸の座標値を取得する。
ステップS46において、拡張情報制御装置200は、取得した座標値と、マーカ座標系での位置・姿勢を求める式とを用いて、仮想オブジェクト等の拡張情報を表示するノードの、マーカ座標系における位置・姿勢を求める。
ステップS47において、拡張情報制御装置200は、マーカ座標系における位置・姿勢から、座標系の変換により、カメラ座標系での位置・姿勢を求める。
ステップS48において、拡張情報制御装置200は、カメラ座標系における位置・姿勢から、座標系の変換により、スクリーン座標系での位置・姿勢を求める。
ステップS49において、拡張情報制御装置200は、仮想オブジェクト等の拡張情報の表示用データである、拡張情報表示用データを生成して、ヘッドマウントディスプレイ300に出力する。
ステップS50において、ヘッドマウントディスプレイ300は、仮想オブジェクト等の拡張情報を表示する。その後、処理は、ステップS45に戻る。
なお、仮想オブジェクト等の拡張情報を表示するノードの、マーカ座標系における位置・姿勢を機械構成管理装置100で求め、位置・姿勢それ自体を示す値を拡張情報制御装置200に通知してもよい。
上記のステップS47及びS48において、拡張情報制御装置200は、非特許文献1に記載の方法等の公知の方法を用いて、マーカ座標系における位置・姿勢から、カメラ座標系での位置・姿勢を求め、カメラ座標系における位置・姿勢から、スクリーン座標系での位置・姿勢を求める。より具体的には、仮想オブジェクト表示の基準座標となるマーカの3次元位置をヘッドマウントディスプレイ300に取り付けられた小型カメラによって得られる画像情報から検出し、マーカ座標系からカメラ座標系への変換情報を求める処理を行う。この変換情報により、仮想オブジェクトの位置・姿勢をマーカ座標系からカメラ座標系の値へ変換する。更に、カメラ座標系からスクリーン座標系への変換情報を求める処理を行い、この変換情報により、仮想オブジェクトの位置・姿勢をカメラ座標系からスクリーン座標系の値へ変換する。拡張情報表示用データは、ここで求めたカメラ座標系及びスクリーン座標系の位置・姿勢に加え、仮想オブジェクトの形状等のデータを含む。拡張情報表示用データはヘッドマウントディスプレイ300に出力され、出力されたデータを用いることにより、ヘッドマウントディスプレイ300は左右のスクリーンの適切な位置に仮想オブジェクトを描画することが可能となる。
なお、図22に示すように、マーカ座標系での位置姿勢マトリクスをX、カメラ座標系での位置姿勢マトリクスをX、マーカ座標系からカメラ座標系への変換マトリクスをMmcとすると、
となる。
上記の方法により、カメラ座標系における仮想オブジェクトの位置姿勢マトリクスXを求めることができるので、ディスプレイ上で、任意のノードに対して、仮想オブジェクトを表示することができる。図23Aに記載のように、仮想オブジェクトとして、例えば、ワークや工具の3Dモデルを配置し、加工シミュレーションするために用いてもよい。あるいは、各主軸の回転数のようなノードに紐づいたデータを表示してもよい。更に、加速度センサや温度センサを配置し、図23Bに記載のように、センサ用ノードを機械構成木に追加することで、各場所の加速度や温度を視覚的に確認することもできる。
これにより、工作機械400のオペレータは、シミュレーション作業中に、ノードに紐づいたデータや、センサの数値を確認することができる。
<9.本実施形態のもたらす効果>
本実施形態により、カメラでマーカを認識するだけで、グラフ上に登録されたノード全てに対して、仮想オブジェクトを配置することができる。とりわけ、マーカノードの追加により、任意の位置に仮想オブジェクトを追加することができ、移動量の変換式を別途登録したり、別途特異点を認識したりする必要はない。また、初期位置の認識も不要である。
<10.変形例>
上記のマーカは、視点の位置によって、見えたり見えなかったりする場合が考えられる。そこで、マーカが見えない場合を防止するため、図24Aに示すように、工作機械400に複数のマーカを設定すると共に、図24Bに示すように、複数のマーカノードをグラフに設定してもよい。その場合には、複数のマーカのうち、いずれか利用可能なものを基準として、仮想オブジェクトの位置・姿勢が計算できる。
また、複数のマーカを同時に使用し、各々のマーカにおける位置・姿勢の平均値を利用して、仮想オブジェクトの位置・姿勢を計算することが可能である。あるいは、例えば、視点からの距離に応じて、各々のマーカにおける位置・姿勢に重みづけをすることにより、仮想オブジェクトの位置・姿勢を計算することも可能である。
更に、図25A及び図25Bに示すように、任意に決めた位置にベースマーカノードを設定し、各マーカノードを、ベースマーカノードの子として登録することが可能である。この場合には、機械構成管理装置100は、拡張情報制御装置200に対し、ベースマーカを原点とするベースマーカ座標系における各仮想オブジェクトの変換情報と、各マーカ座標系からベースマーカ座標系への変換情報を送信する。
前者の変換情報は、どのマーカを用いる場合も変わらない。拡張情報制御装置200は、認識したマーカに従って、後者の変換情報を用いて、各マーカの位置・姿勢からベースマーカの位置・姿勢を求め、更に、ベースマーカ座標系からカメラ座標系への変換情報を求める。
ここで、図26に示すように、カメラ座標系での位置姿勢マトリクスをX、マーカ座標系1での位置姿勢マトリクスをXm1、マーカ座標系2での位置姿勢マトリクスをXm2、ベースマーカ座標系での位置姿勢マトリクスをXmbとする。また、ベースマーカ座標系からカメラ座標系への変換マトリクスをMmcb、マーカ座標系1からカメラ座標系への変換マトリクスをMmc1、マーカ座標系2からカメラ座標系への変換マトリクスをMmc2、マーカ座標系1からベースマーカ座標系への変換マトリクスをMmb1、マーカ座標系2からベースマーカ座標系への変換マトリクスをMmb2とする。
この場合において、以下の数式が成立する。
なお、kは、マーカの重みを決める係数で、例えば、双方のマーカを用いる場合には0.5、マーカ1のみを用いる場合には1、マーカ2のみを用いる場合には0の値をとる。
複数マーカを扱う処理が、ベースマーカノードの位置・姿勢を求める処理と、ベースマーカノード座標系からカメラ座標系への変換情報を求める処理に集約され、それ以外は単一マーカを用いた場合と同じ処理となることにより、複数マーカの扱いが容易となる。
また、一部繰り返しとなるが、グラフデータは、機械構成管理装置100に格納されていてもよいが、これには限定されない。例えば、拡張情報制御装置200に格納されてもよく、仮想オブジェクト表示システム10とネットワークを介して接続するサーバ上に格納されてもよい。拡張情報制御装置200や、サーバ上に機械構成木データを格納できるようにすることで、古い工作機械に対しても、本発明の適用が可能となる。なお、この場合には、上記のステップS43までの処理は実行せず、ステップS44は、拡張情報制御装置200側で実行する。
また、機械構成管理装置100は、数値制御装置150に組み込まれて一体化されていてもよい。あるいは、機械構成管理装置100は、クラウド上に存在してもよい。
なお、上記の機械構成管理装置、数値制御装置、拡張情報制御装置、及び工作機械のそれぞれは、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の機械構成管理装置、数値制御装置、拡張情報制御装置、及び工作機械の協働により行われるシミュレーション方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
10 仮想オブジェクト表示システム
100 機械構成管理装置
110 制御部
111 グラフ生成部
112 ノード追加部
113 制御点座標系挿入部
114 ノード情報通知部
115 変換情報計算部
116 変換情報通知部
120 記憶部
150 数値制御装置
160 制御部
161 座標情報通知部
162 サーボモータ制御部
200 拡張情報制御装置
211 ノード選択部
212 選択ノード通知部
213 座標情報変換部
214 拡張情報表示用データ計算部
215 拡張情報表示用データ通知部
220 記憶部
250 無線通信装置
300 ヘッドマウントディスプレイ
400 工作機械

Claims (9)

  1. 機械構成管理装置と拡張情報制御装置とを備え、前記機械構成管理装置は、グラフ生成部と、制御点座標系挿入部と、ノード情報通知部と、変換情報計算部と、変換情報通知部とを備え、前記拡張情報制御装置は、ノード選択部と、選択ノード通知部と、座標情報変換部とを備える、仮想オブジェクト表示システムであって、
    前記グラフ生成部は、制御対象の機械構成を、マーカを含む構成要素をノードとするグラフを生成し、
    前記制御点座標系挿入部は、前記グラフに、制御点及び座標系を挿入し、
    前記ノード情報通知部は、表示可能なノード情報を、前記拡張情報制御装置に通知し、
    前記ノード選択部は、仮想オブジェクトを表示したいノードを選択し、
    前記選択ノード通知部は、仮想オブジェクトを表示したいノードを、前記機械構成管理装置に通知し、
    前記変換情報計算部は、マーカノードから表示対象のノードへの前記グラフにおける経路上の制御軸ノードの座標値を変数として含む変換情報であって、前記グラフを元に、マーカノードの座標系における、表示対象のノードの位置及び/又は姿勢を計算するための変換情報を、計算し、
    前記変換情報通知部は、前記変換情報を、前記拡張情報制御装置に通知し、
    前記座標情報変換部は、前記変換情報を用いて、通知された各制御軸の座標値を、マーカノードの座標系における、表示対象の各ノードの位置及び/又は姿勢に変換する、仮想オブジェクト表示システム。
  2. 表示装置を更に備え、
    前記拡張情報制御装置は、前記座標情報変換部が変換した、マーカノードの座標系における表示対象の各ノードの位置及び/又は姿勢に基づいて、仮想オブジェクトを拡張情報として前記表示装置で計算するための拡張情報表示用データを計算する拡張情報表示用データ計算部と、前記拡張情報表示用データを前記表示装置に通知する、拡張情報表示用データ通知部とを更に備える、請求項1に記載の仮想オブジェクト表示システム。
  3. 前記座標情報変換部は、数値制御装置から受け取った座標値を、前記各制御軸の座標値として、マーカノードの座標系における、表示対象の各ノードの位置及び/又は姿勢に変換する、請求項1又は2に記載の仮想オブジェクト表示システム。
  4. 前記グラフ生成部は、複数のマーカノードを前記グラフに追加し、
    前記変換情報計算部は、複数のマーカノードの座標系から、各ノードの位置及び/又は姿勢を計算するための変換情報を計算し、
    前記変換情報通知部は、前記変換情報を前記拡張情報制御装置に通知する、請求項1〜3のいずれか1項に記載の仮想オブジェクト表示システム。
  5. 前記グラフ生成部は、ベースマーカノードを追加し、
    前記変換情報通知部は、前記ベースマーカノードの座標系を基準とする変換情報と、前記ベースマーカノードの座標系と各マーカノードの座標系との間の変換情報を、前記拡張情報制御装置に通知する、請求項1〜3のいずれか1項に記載の仮想オブジェクト表示システム。
  6. 前記拡張情報制御装置は、前記グラフのデータを有する記憶部を更に備える、請求項1〜5のいずれか1項に記載の仮想オブジェクト表示システム。
  7. 前記グラフのデータを格納するサーバを更に備える、請求項1〜6のいずれか1項に記載の仮想オブジェクト表示システム。
  8. 前記機械構成管理装置は、工作機械の数値制御装置と一体化されている、請求項1〜7のいずれか1項に記載の仮想オブジェクト表示システム。
  9. 前記機械構成管理装置は、クラウド上に存在する、請求項1〜7のいずれか1項に記載の仮想オブジェクト表示システム。
JP2017127692A 2017-06-29 2017-06-29 仮想オブジェクト表示システム Active JP6585665B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017127692A JP6585665B2 (ja) 2017-06-29 2017-06-29 仮想オブジェクト表示システム
US16/003,553 US20190005725A1 (en) 2017-06-29 2018-06-08 Virtual object display system
DE102018210261.9A DE102018210261A1 (de) 2017-06-29 2018-06-25 Anzeigesystem für virtuelle Objekte
CN201810663304.4A CN109213078B (zh) 2017-06-29 2018-06-25 虚拟对象显示系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017127692A JP6585665B2 (ja) 2017-06-29 2017-06-29 仮想オブジェクト表示システム

Publications (2)

Publication Number Publication Date
JP2019012342A JP2019012342A (ja) 2019-01-24
JP6585665B2 true JP6585665B2 (ja) 2019-10-02

Family

ID=64661806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017127692A Active JP6585665B2 (ja) 2017-06-29 2017-06-29 仮想オブジェクト表示システム

Country Status (4)

Country Link
US (1) US20190005725A1 (ja)
JP (1) JP6585665B2 (ja)
CN (1) CN109213078B (ja)
DE (1) DE102018210261A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019105605A1 (de) * 2018-07-11 2020-01-16 Felder Kg Anordnung umfassend ein CNC-Bearbeitungszentrum
CN112805750A (zh) 2018-08-13 2021-05-14 奇跃公司 跨现实系统
US11227435B2 (en) 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
JP2022512600A (ja) 2018-10-05 2022-02-07 マジック リープ, インコーポレイテッド 任意の場所における場所特有の仮想コンテンツのレンダリング
JP6912505B2 (ja) 2019-03-04 2021-08-04 ファナック株式会社 制御システム
JP7160183B2 (ja) * 2019-03-28 2022-10-25 日本電気株式会社 情報処理装置、表示システム、表示方法、及びプログラム
JP7066013B2 (ja) * 2019-04-25 2022-05-12 株式会社Nttドコモ 治具の配置を示す映像処理システム
EP4046139A4 (en) 2019-10-15 2023-11-22 Magic Leap, Inc. EXTENDED REALITY SYSTEM WITH LOCATION SERVICE
US11257294B2 (en) 2019-10-15 2022-02-22 Magic Leap, Inc. Cross reality system supporting multiple device types
EP4046401A4 (en) 2019-10-15 2023-11-01 Magic Leap, Inc. CROSS-REALLY SYSTEM WITH WIRELESS FINGERPRINTS
JP2023504775A (ja) 2019-11-12 2023-02-07 マジック リープ, インコーポレイテッド 位置特定サービスおよび共有場所ベースのコンテンツを伴うクロスリアリティシステム
JP2021089467A (ja) * 2019-12-02 2021-06-10 ファナック株式会社 制御システム
US11562542B2 (en) 2019-12-09 2023-01-24 Magic Leap, Inc. Cross reality system with simplified programming of virtual content
DE112021000864T5 (de) * 2020-02-04 2022-11-17 Fanuc Corporation Steuervorrichtung
US11410395B2 (en) 2020-02-13 2022-08-09 Magic Leap, Inc. Cross reality system with accurate shared maps
CN115398484A (zh) 2020-02-13 2022-11-25 奇跃公司 具有用于定位的地理定位信息优先级的交叉现实系统
JP2023514208A (ja) 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド マルチ分解能フレーム記述子を使用したマップ処理を伴うクロスリアリティシステム
WO2021173779A1 (en) 2020-02-26 2021-09-02 Magic Leap, Inc. Cross reality system with fast localization
JP2023524446A (ja) 2020-04-29 2023-06-12 マジック リープ, インコーポレイテッド 大規模環境のためのクロスリアリティシステム
CN115956257A (zh) * 2020-07-29 2023-04-11 富士通株式会社 检查程序、信息处理装置以及检查方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4255636A (en) 1976-12-30 1981-03-10 Westinghouse Electric Corp. Circuit breaker with current carrying conductor system utilizing eddy current repulsion
JPS5872923A (ja) 1981-10-28 1983-05-02 Hitachi Ltd 液晶表示素子
US7126558B1 (en) * 2001-10-19 2006-10-24 Accenture Global Services Gmbh Industrial augmented reality
JP4083554B2 (ja) 2002-11-29 2008-04-30 株式会社森精機製作所 3次元モデルデータ生成装置
JP5384178B2 (ja) * 2008-04-21 2014-01-08 株式会社森精機製作所 加工シミュレーション方法及び加工シミュレーション装置
JP2012058968A (ja) 2010-09-08 2012-03-22 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP5847610B2 (ja) * 2012-02-22 2016-01-27 株式会社マイクロネット Ar技術を用いたコンピュータ・グラフィックス画像処理システム及び方法
CN103867205B (zh) * 2014-03-11 2016-04-20 西安科技大学 一种掘进机远程控制系统及方法
JP2016107379A (ja) * 2014-12-08 2016-06-20 ファナック株式会社 拡張現実対応ディスプレイを備えたロボットシステム
CN104700403B (zh) * 2015-02-11 2016-11-09 中国矿业大学 一种基于kinect的手势控制液压支架的虚拟示教方法
JP6524706B2 (ja) * 2015-02-27 2019-06-05 富士通株式会社 表示制御方法、表示制御プログラム、及び情報処理装置

Also Published As

Publication number Publication date
CN109213078B (zh) 2020-05-12
US20190005725A1 (en) 2019-01-03
DE102018210261A1 (de) 2019-01-03
CN109213078A (zh) 2019-01-15
JP2019012342A (ja) 2019-01-24

Similar Documents

Publication Publication Date Title
JP6585665B2 (ja) 仮想オブジェクト表示システム
JP6434476B2 (ja) 拡張現実シミュレーション装置及び拡張現実シミュレーションプログラム
JP6551184B2 (ja) シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP5852364B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
CN112839764B (zh) 用于焊接路径生成的系统和方法
JP6426772B2 (ja) 座標情報変換装置及び座標情報変換プログラム
JP6601179B2 (ja) シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP3673749B2 (ja) シミュレーション装置
CN107065790B (zh) 用于确定虚拟环境中的虚拟机器人的配置的方法和系统
KR20160002329A (ko) 로봇 시뮬레이터 및 로봇 시뮬레이터의 파일 생성 방법
JP6806736B2 (ja) 位置情報表示システム
WO2012141282A1 (ja) 計算機システム、及び組立アニメーション生成方法
JP2012014569A (ja) 組立シーケンス生成システム、プログラム及び方法
KR20170016436A (ko) 작업 로봇의 교시 데이터 생성 장치 및 교시 데이터 생성 방법
JP6781201B2 (ja) 仮想オブジェクト表示システム
JP2000298734A (ja) 3次元モデルの断面生成装置
US11544913B2 (en) Method and system for wearable device-based manual providing
US20170269574A1 (en) Robot control device that controls robot to perform machining operation, and robot program generator
CN110568818B (zh) 虚拟对象显示系统
JP5970434B2 (ja) 教示データ作成システムおよびプログラム
JP4540329B2 (ja) 情報呈示装置
JP2021089467A (ja) 制御システム
JP2023017437A (ja) 画像処理装置、及びロボット配置方法
JP2023162117A (ja) 情報処理システム、情報処理方法、ロボットシステム、ロボットシステムの制御方法、ロボットシステムを用いた物品の製造方法、プログラム、記録媒体
JP2023505322A (ja) ロボットをプログラムするための方法及びシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190719

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190905

R150 Certificate of patent or registration of utility model

Ref document number: 6585665

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150