(57)【特許請求の範囲】
【請求項１】
工具を保持する工具保持手段と、ワークを保持するワーク保持手段と、前記各保持手段の一方又は両方を動作させる駆動手段と、ＮＣプログラムから抽出される前記一方又は両方の保持手段に関する動作指令に従って前記駆動手段の作動を制御する駆動制御手段と、画像データの表示を行うための画面表示手段とを備えた工作機械において、前記ＮＣプログラムに従った加工シミュレーションを行う方法であって、
前記駆動制御手段が前記動作指令に従い前記駆動手段を制御して前記各保持手段の一方又は両方を実際に動作させ、該保持手段はその一方又は両方が保持していない状態で動作する実動作工程と、
前記各保持手段，工具及びワークの３次元モデルに関するデータを基に、前記動作指令に従い、前記保持手段の実動作に同期させて、対応する前記３次元モデルを徐々に動作させた状態の前記各保持手段，工具及びワークに係る３次元モデルデータを順次生成するモデル生成工程と、
実撮像手段により、実動作中の前記工具保持手段及びワーク保持手段を予め設定された視点から一定時間間隔で撮像して、その２次元の実画像データを順次生成する実画像生成工程と、
３次元空間を仮想的に設定して、この仮想３次元空間内に、前記実撮像手段と同じ条件に設定した仮想撮像手段を仮想的に配置するとともに、同じ仮想３次元空間内に、前記モデルデータ生成工程で順次生成される前記工具及びワークの３次元モデルを順次更新しながら配置して、前記仮想撮像手段により、前記実撮像手段と同じ視点及びタイミングで、前記工具及びワークに係る３次元モデルを撮像したときに得られる仮想の２次元画像データを順次生成する仮想画像生成工程と、
前記実画像生成工程及び仮想画像生成工程で生成された、同じタイミングにおける前記２次元実画像データと２次元仮想画像データとを合成し、その２次元実画像における前記工具保持手段及びワーク保持手段によって前記工具及びワークがそれぞれ保持されるべき部分に、前記工具及びワークに係る２次元仮想画像を重ね合わせた合成画像データを順次生成して前記画面表示手段に表示させるレンダリング工程とからなることを特徴とする加工シミュレーション方法。
【請求項２】
工具を保持する工具保持手段と、ワークを保持するワーク保持手段と、前記各保持手段の一方又は両方を動作させる駆動手段と、ＮＣプログラムから抽出される前記一方又は両方の保持手段に関する動作指令に従って前記駆動手段の作動を制御する駆動制御手段と、画像データの表示を行うための画面表示手段とを備えた工作機械において、前記ＮＣプログラムに従った加工シミュレーションを行う装置であって、
前記動作指令に従って動作する前記工具保持手段及びワーク保持手段であって、その一方又は両方が保持状態にない前記工具保持手段及びワーク保持手段を予め設定された視点から一定時間間隔で撮像して、その２次元の実画像データを順次生成する実撮像手段と、
前記各保持手段，工具及びワークの３次元モデルに関するデータを記憶するモデルデータ記憶手段と、
前記駆動制御手段から前記動作指令を受信し、前記モデルデータ記憶手段に格納された３次元モデルデータを基に、受信した前記動作指令に従い、前記保持手段の実動作に同期させて、対応する前記３次元モデルを徐々に動作させた状態の前記各保持手段，工具及びワークに係る３次元モデルデータを順次生成し、生成した３次元モデルデータで前記モデルデータ記憶手段に格納された３次元モデルデータを更新するモデルデータ更新手段と、
３次元空間を仮想的に設定して、この仮想３次元空間内に、前記実撮像手段と同じ条件に設定した仮想撮像手段を仮想的に配置するとともに、同じ仮想３次元空間内に、前記モデルデータ記憶手段に格納された前記工具及びワークの３次元モデルを順次読み出して更新しながら配置して、前記仮想撮像手段により、前記実撮像手段と同じ視点及びタイミングで、前記工具及びワークに係る３次元モデルを撮像したときに得られる仮想の２次元画像データを順次生成する仮想画像生成手段と、
前記実撮像手段及び仮想画像生成手段によってそれぞれ生成された、同じタイミングにおける前記２次元実画像データと２次元仮想画像データとを合成し、その２次元実画像における前記工具保持手段及びワーク保持手段によって前記工具及びワークがそれぞれ保持されるべき部分に、前記工具及びワークに係る２次元仮想画像を重ね合わせた合成画像データを順次生成して前記画面表示手段に表示させるレンダリング手段とを備えてなることを特徴とする加工シミュレーション装置。
【請求項３】
前記実撮像手段は、前記工具保持手段に保持された工具及び前記ワーク保持手段に保持されたワークを予め設定された視点から一定時間間隔で撮像してその２次元実画像データを順次生成するように構成され、
前記レンダリング手段は、前記２次元仮想画像が半透明となった前記合成画像データを生成して前記画面表示手段に表示させるように構成されてなることを特徴とする請求項２記載の加工シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械において、その画面表示手段にシミュレーション画像を表示しつつ加工シミュレーションを行う加工シミュレーション方法及び加工シミュレーション装置に関する。
【背景技術】
【０００２】
工作機械は、工具を保持する工具保持機構と、ワークを保持するワーク保持機構と、前記各保持機構の一方又は両方を動作させる駆動機構と、前記駆動機構の作動を制御する制御装置とを備えており、前記制御装置は、ＮＣプログラムに基づいて前記駆動機構を制御する。
【０００３】
前記ＮＣプログラムは、オペレータにより、手動のプログラム作成装置や自動プログラミング装置を用いて作成され、作成されたＮＣプログラムは、これを用いて連続加工を行う前に、当該ＮＣプログラムに誤りがあるか否かが確認されるようになっている。
【０００４】
このＮＣプログラム確認は、オペレータが、例えば、ＮＣプログラムに従って移動する工具及びワークの表示画像を見て、工具移動状態や加工状態を確認することで行われており、このような確認に用いられる装置として、従来、例えば、特開２００６−８５４８５号公報に開示されたＮＣ加工シミュレーション装置が知られている。
【０００５】
このＮＣ加工シミュレーション装置は、主制御部と、表示装置と、ＮＣプログラムを記憶する加工プログラムメモリと、工具、ワーク、工具を保持する刃物台、ワークを把持するチャック、チャックが装着される主軸などの３次元モデルに関するデータを記憶するモデルメモリと、加工プログラムメモリに格納されたＮＣプログラムを解析するプログラム解析処理制御部と、プログラム解析処理制御部によるプログラム解析に基づいて工具移動経路を演算するシミュレーション制御部と、シミュレーション制御部による演算結果及びモデルメモリ内のモデルデータを基に、前記工具，ワーク，刃物台，チャック及び主軸を前記工具移動経路に沿って相対移動させたときのモデルデータを演算するモデル処理制御部と、モデル処理制御部によって演算されたモデルデータを基に画像データを生成するモデル描画処理制御部などを備えており、モデル描画処理制御部によって生成された画像データが、前記主制御部の表示制御により表示装置上に画面表示される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−８５４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来のＮＣ加工シミュレーション装置のように、ＮＣプログラムを基に工具，ワーク，刃物台，チャック及び主軸などのモデルデータを更新し、この更新したモデルデータのみを基にシミュレーション用の画像データを生成していたのでは、以下に説明するような問題があった。
【０００８】
即ち、モデルデータの更新処理や画像データの生成処理の処理速度を速くしたり、これらの処理を行う処理部に掛かる負荷を軽減するために、工作機械を構成する一部のモデルデータは簡略化されていたり、省略されているので、現実的な加工シミュレーションを行うことができず、また、正確な加工シミュレーションを行うこともできなかった。
【０００９】
また、このように、現実的で正確な加工シミュレーションを実行することができないと、この加工シミュレーションを行った後、更に、実際に工作機械を動作させてＮＣプログラムに不具合がないかどうかを確認しなければならず、非効率であるという問題もある。
【００１０】
本発明は、以上の実情に鑑みなされたものであって、現実的で正確な加工シミュレーションを実行することができる加工シミュレーション方法及び加工シミュレーション装置の提供をその目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するための本発明は、
工具を保持する工具保持手段と、ワークを保持するワーク保持手段と、前記各保持手段の一方又は両方を動作させる駆動手段と、ＮＣプログラムから抽出される前記一方又は両方の保持手段に関する動作指令に従って前記駆動手段の作動を制御する駆動制御手段と、画像データの表示を行うための画面表示手段とを備えた工作機械において、前記ＮＣプログラムに従った加工シミュレーションを行う方法であって、
前記駆動制御手段が前記動作指令に従い前記駆動手段を制御して前記各保持手段の一方又は両方を実際に動作させ、該保持手段はその一方又は両方が保持していない状態で動作する実動作工程と、
前記各保持手段，工具及びワークの３次元モデルに関するデータを基に、前記動作指令に従い、前記保持手段の実動作に同期させて、対応する前記３次元モデルを徐々に動作させた状態の前記各保持手段，工具及びワークに係る３次元モデルデータを順次生成するモデル生成工程と、
実撮像手段により、実動作中の前記工具保持手段及びワーク保持手段を予め設定された視点から一定時間間隔で撮像して、その２次元の実画像データを順次生成する実画像生成工程と、
３次元空間を仮想的に設定して、この仮想３次元空間内に、前記実撮像手段と同じ条件に設定した仮想撮像手段を仮想的に配置するとともに、同じ仮想３次元空間内に、前記モデルデータ生成工程で順次生成される前記工具及びワークの３次元モデルを順次更新しながら配置して、前記仮想撮像手段により、前記実撮像手段と同じ視点及びタイミングで、前記工具及びワークに係る３次元モデルを撮像したときに得られる仮想の２次元画像データを順次生成する仮想画像生成工程と、
前記実画像生成工程及び仮想画像生成工程で生成された、同じタイミングにおける前記２次元実画像データと２次元仮想画像データとを合成し、その２次元実画像における前記工具保持手段及びワーク保持手段によって前記工具及びワークがそれぞれ保持されるべき部分に、前記工具及びワークに係る２次元仮想画像を重ね合わせた合成画像データを順次生成して前記画面表示手段に表示させるレンダリング工程とからなることを特徴とする加工シミュレーション方法に係る。
【００１２】
そして、この加工シミュレーション方法は、以下の加工シミュレーション装置によってこれを好適に実施することができる。
即ち、この加工シミュレーション装置は、
工具を保持する工具保持手段と、ワークを保持するワーク保持手段と、前記各保持手段の一方又は両方を動作させる駆動手段と、ＮＣプログラムから抽出される前記一方又は両方の保持手段に関する動作指令に従って前記駆動手段の作動を制御する駆動制御手段と、画像データの表示を行うための画面表示手段とを備えた工作機械において、前記ＮＣプログラムに従った加工シミュレーションを行う装置であって、
前記動作指令に従って動作する前記工具保持手段及びワーク保持手段であって、その一方又は両方が保持状態にない前記工具保持手段及びワーク保持手段を予め設定された視点から一定時間間隔で撮像して、その２次元の実画像データを順次生成する実撮像手段と、
前記各保持手段，工具及びワークの３次元モデルに関するデータを記憶するモデルデータ記憶手段と、
前記駆動制御手段から前記動作指令を受信し、前記モデルデータ記憶手段に格納された３次元モデルデータを基に、受信した前記動作指令に従い、前記保持手段の実動作に同期させて、対応する前記３次元モデルを徐々に動作させた状態の前記各保持手段，工具及びワークに係る３次元モデルデータを順次生成し、生成した３次元モデルデータで前記モデルデータ記憶手段に格納された３次元モデルデータを更新するモデルデータ更新手段と、
３次元空間を仮想的に設定して、この仮想３次元空間内に、前記実撮像手段と同じ条件に設定した仮想撮像手段を仮想的に配置するとともに、同じ仮想３次元空間内に、前記モデルデータ記憶手段に格納された前記工具及びワークの３次元モデルを順次読み出して更新しながら配置して、前記仮想撮像手段により、前記実撮像手段と同じ視点及びタイミングで、前記工具及びワークに係る３次元モデルを撮像したときに得られる仮想の２次元画像データを順次生成する仮想画像生成手段と、
前記実撮像手段及び仮想画像生成手段によってそれぞれ生成された、同じタイミングにおける前記２次元実画像データと２次元仮想画像データとを合成し、その２次元実画像における前記工具保持手段及びワーク保持手段によって前記工具及びワークがそれぞれ保持されるべき部分に、前記工具及びワークに係る２次元仮想画像を重ね合わせた合成画像データを順次生成して前記画面表示手段に表示させるレンダリング手段とを備えて構成される。
【００１３】
この加工シミュレーション装置では、工具保持手段及びワーク保持手段の一方又は両方の動作指令を基に、駆動制御手段により駆動手段が制御されてこれらの各保持手段の一方又は両方が動作せしめられると、この各保持手段の実際の動作と並行して、モデルデータ更新手段により各保持手段，工具及びワークのモデルデータの更新処理が行われる。
【００１４】
具体的には、モデルデータ更新手段により、駆動制御手段から動作指令が受信されて、受信された動作指令及びモデルデータ記憶手段に格納されたモデルデータを基に、各保持手段の一方又は両方が前記動作指令に従って徐々に動作したときの各保持手段，工具及びワークのモデルデータが順次生成され、生成されたモデルデータでモデルデータ記憶手段に格納されたモデルデータが更新される。
【００１５】
そして、各保持手段の動作中においては、実撮像手段により、工具及びワークの一方又は両方が保持されていない状態の工具保持手段及びワーク保持手段が予め設定された視点から一定時間間隔で撮像されてその２次元画像データが順次生成される。尚、実撮像手段は、少なくとも工具保持手段及びワーク保持手段の画像が得られるように撮像すれば良いが、より現実的で正確な加工シミュレーションを行うためには、生成される２次元画像データに、工具保持手段の一部又は全部、ワーク保持手段の一部又は全部の他、その他の工作機械構成要素が写り込んでいることが好ましい。
【００１６】
また、仮想画像生成手段により、モデルデータ記憶手段に格納されたモデルデータを基に少なくとも工具及びワークの２次元画像データが生成される。この２次元画像データは、３次元空間を仮想的に設定して、この仮想３次元空間内に工具及びワークの３次元モデルを配置するとともに実撮像手段と同じ条件（例えば、内部パラメータが同じ）の仮想撮像手段を仮想的に設定，配置し、この仮想撮像手段により、実撮像手段と同じ視点及びタイミングで３次元モデルに係る工具及びワークを撮像したとすれば得られると想定される２次元画像データである。そして、このような２次元画像データが、実撮像手段の撮像タイミングに合わせて順次生成される。
【００１７】
この後、実際の撮像手段及び仮想画像生成手段によってそれぞれ生成された、同じタイミングにおける実際の２次元画像データ及び仮想の２次元画像データを基に、レンダリング手段により、実際の２次元画像上に仮想の２次元画像が重ね合わされた合成画像データが順次生成され、画面表示手段に表示される。尚、この合成画像データは、通常、実際の２次元画像において工具保持手段及びワーク保持手段により工具及びワークがそれぞれ保持されるべき部分に、仮想の２次元画像（モデルデータから得られる工具及びワークの画像）が重ね合わされたものとなっている。
【００１８】
斯くして、本発明に係る加工シミュレーション方法及び加工シミュレーション装置によれば、工具及びワークの部分が仮想撮像手段から、その他の部分が実撮像手段から得られる画像となった合成画像が画面表示手段に表示されるので、オペレータは、工作機械の実際の状況を確認しながら、仮想画像に係る工具及びワークの動作を確認することができる。これにより、より現実的で正確な加工シミュレーションを実施することができる。
【００１９】
また、工具及びワークについては仮想撮像手段から得られる画像であるが、この工具及びワークのモデルデータが実際の工具形状及びワーク形状と一致し、且つ仮想３次元空間内におけるワークの配置位置と実際のワークの配置位置とが一致していれば、加工シミュレーションの実施後に、実際に工作機械を動作させてＮＣプログラムを確認する必要がないため、この加工シミュレーションだけでＮＣプログラム確認を終わらせることができ、効率的である。
【００２０】
尚、前記実撮像手段は、前記工具保持手段に保持された工具及び前記ワーク保持手段に保持されたワークを予め設定された視点から一定時間間隔で撮像してその２次元実画像データを順次生成するように構成され、前記レンダリング手段は、前記２次元仮想画像が半透明となった前記合成画像データを生成して前記画面表示手段に表示させるように構成されていても良い。
【００２１】
このようにすれば、半透明である２次仮想元画像を通して２次元実画像を確認することができるので、オペレータは、モデルデータから得られる工具及びワークの画像と、実際の工具及びワークの画像とを比較することで、工具及びワークのモデルデータが実際の工具形状及びワーク形状と一致しているか否かを確認したり、仮想３次元空間内におけるワークの配置位置と実際のワークの配置位置とが一致しているか否かを確認することができる。そして、一致していれば、上記のように、実際に工作機械を動作させてＮＣプログラムをチェックする作業を省略することができる。
【発明の効果】
【００２２】
以上のように、本発明に係る加工シミュレーション方法及び加工シミュレーション装置によれば、現実的且つ正確な加工シミュレーションを実行することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態に係る加工シミュレーション装置などの概略構成を示したブロック図である。
【図２】本実施形態の加工シミュレーション装置が設けられる工作機械の概略構成を示した斜視図である。
【図３】本実施形態の実ＣＣＤカメラ，仮想画像生成処理部及びレンダリング処理部により生成される画像の一例を示した説明図である。
【図４】本実施形態の実ＣＣＤカメラ，仮想画像生成処理部及びレンダリング処理部により生成される画像の一例を示した説明図である。
【図５】本実施形態のモデルデータ更新処理部における一連の処理を示したフローチャートである。
【図６】本実施形態の仮想画像生成処理部における一連の処理を示したフローチャートである。
【図７】本実施形態の干渉確認処理部における一連の処理を示したフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明の具体的な実施形態について、添付図面に基づき説明する。尚、図１は、本発明の一実施形態に係る加工シミュレーション装置などの概略構成を示したブロック図であり、図２は、本実施形態の加工シミュレーション装置が設けられる工作機械の概略構成を示した斜視図である。
【００２５】
図１に示すように、本例の加工シミュレーション装置１は、実ＣＣＤカメラ１１，カメラパラメータ記憶部１２，第１モデルデータ記憶部１３，モデルデータ更新処理部１４，仮想画像生成処理部１５，タイミング制御部１６，レンダリング処理部１７，画面表示装置１８，第２モデルデータ記憶部１９及び干渉確認処理部２０を備え、例えば、図２に示すような、マシニングセンタと呼ばれる工作機械５０に設けられる。
【００２６】
まず、前記工作機械５０について説明する。この工作機械５０は、図１及び図２に示すように、ベッド５１と、ベッド５１に配設され、水平方向且つ前後方向（Ｙ軸方向）に移動自在となった第１サドル５２と、第１サドル５２に配設され、水平方向且つ左右方向（Ｘ軸方向）に移動自在となった第２サドル５３と、第２サドル５３に支持され、鉛直方向（Ｚ軸方向）に移動自在となった主軸頭５４と、軸線がＺ軸と平行且つ軸線中心に回転自在に主軸頭５４によって支持され、下端部に工具Ｔが装着される主軸（工具保持手段）５５と、ベッド５１に配設され、上面にワークＷが載置されるテーブル（ワーク保持手段）５６と、第１サドル５２，第２サドル５３及び主軸頭５４を各移動方向にそれぞれ移動させるＹ軸送り機構部５７，Ｘ軸送り機構部５８及びＺ軸送り機構部５９と、主軸５５を軸線中心に回転させる主軸モータ６０と、各送り機構部５７，５８，５９及び主軸モータ６０の作動を制御する数値制御装置６１とを備えている。
【００２７】
尚、前記数値制御装置６１は、制御装置６２に設けられており、この制御装置６２には、他に、前記カメラパラメータ記憶部１２，第１モデルデータ記憶部１３，モデルデータ更新処理部１４，仮想画像生成処理部１５，タイミング制御部１６，レンダリング処理部１７，第２モデルデータ記憶部１９及び干渉確認処理部２０が設けられている。
【００２８】
前記ベッド５１は、その左右両側及び奥側に側壁５１ａ，５１ｂ，５１ｃが設けられた構造を備えており、左右両側の側壁５１ａ，５１ｂの上部に前記第１サドル５２が配設され、奥側の側壁５１ｃに前記テーブル５６が配設されている。
【００２９】
前記数値制御装置６１は、予め作成されたＮＣプログラムが格納されるプログラム記憶部６１ａを備え、このプログラム記憶部６１ａに格納されたＮＣプログラムに基づいて各送り機構部５７，５８，５９及び主軸モータ６０を制御する。具体的には、ＮＣプログラムをブロック毎に解析して、第１サドル５２，第２サドル５３及び主軸頭５４の移動位置及び送り速度、主軸５５の回転速度などに関する動作指令を順次抽出し、抽出した動作指令と、各送り機構部５７，５８，５９及び主軸モータ６０からのフィードバック信号とを基に各送り機構部５７，５８，５９及び主軸モータ６０を制御する。
【００３０】
尚、この数値制御装置６１は、前記抽出した動作指令を前記モデルデータ更新処理部１４に送信するようになっている。また、数値制御装置６１は、予め設定された時間経過後（例えば、６００ミリ秒）における第１サドル５２，第２サドル５３及び主軸頭５４の移動位置を、例えば、第１サドル５２，第２サドル５３及び主軸頭５４の現在位置，現在速度及び移動方向から予測し、予測した移動位置を前記干渉確認処理部２０に送信する。また、数値制御装置６１は、前記干渉確認処理部２０から送信されるアラーム信号を受信すると、各送り機構部５７，５８，５９及び主軸モータ６０の作動を停止させる。
【００３１】
次に、前記加工シミュレーション装置１について説明する。この加工シミュレーション装置１は、上述のように、実ＣＣＤカメラ１１，カメラパラメータ記憶部１２，第１モデルデータ記憶部１３，モデルデータ更新処理部１４，仮想画像生成処理部１５，タイミング制御部１６，レンダリング処理部１７，画面表示装置１８，第２モデルデータ記憶部１９及び干渉確認処理部２０を備える。
【００３２】
前記実ＣＣＤカメラ１１は、図２に示すように、前記ベッド５１の左側壁５１ａの上部にブラケット１１ａを介して取り付けられており、工具Ｔが装着された主軸５５と、ワークＷが載置されていないテーブル５６とが含まれる領域を一定時間間隔で撮像してその２次元画像データ（実画像データ）を順次生成し、生成した２次元画像データを前記レンダリング処理部１７に出力する。このとき生成される画像の一例を図３（ａ）に示す。図３（ａ）に示すように、この画像には、工具Ｔの他、前記ベッド５１の一部、主軸頭５４の一部、主軸５５の一部、テーブル５６の一部も含まれている。
【００３３】
また、実ＣＣＤカメラ１１は、工具Ｔが装着された主軸５５と、ワークＷが載置されたテーブル５６とが含まれる領域を撮像してその２次元画像データ（実画像データ）を生成し、生成した２次元画像データを前記レンダリング処理部１７に出力するようになっている。このとき生成される画像の一例を図４（ａ）に示す。図４（ａ）に示すように、この画像には、工具Ｔ及びワークＷの他、前記ベッド５１の一部、主軸頭５４の一部、主軸５５の一部、テーブル５６の一部も含まれている。
【００３４】
前記カメラパラメータ記憶部１２には、前記実ＣＣＤカメラ１１に固有のパラメータである内部パラメータと、工作機械５０の座標系における実ＣＣＤカメラ１１の位置及び姿勢を表す外部パラメータとが格納される。これらのパラメータは、キャリブレーション処理により予め算出される。尚、前記内部パラメータとしては、例えば、主点座標、スケール因子、画像の２軸間の歪みなどが挙げられる。
【００３５】
前記第１モデルデータ記憶部１３には、予め作成された、例えば、工作機械５０全体の３次元モデルに関するデータ（モデルデータ）が格納される。この工作機械５０全体のモデルデータは、前記ベッド５１，第１サドル５２，第２サドル５３，主軸頭５４，主軸５５及びテーブル５６といった工作機械５０の主要な構成要素のモデルデータと、前記主軸５５に装着された工具Ｔのモデルデータと、前記テーブル５６上に載置されるワークＷのモデルデータとを含み、前記各構成要素，工具Ｔ及びワークＷの各モデルデータがそれぞれ相互に関連付けられて構成される。
【００３６】
前記モデルデータ更新処理部１４は、図５に示すような一連の処理を実行して、前記第１モデルデータ記憶部１３に格納された工作機械５０全体のモデルデータを更新する。尚、この更新処理は、前記第１サドル５２，第２サドル５３及び主軸頭５４の実際の動作と同期するように行われる。
【００３７】
図５に示すように、モデルデータ更新処理部１４は、まず、第１モデルデータ記憶部１３に格納された工作機械５０全体のモデルデータを読み出した後（ステップＳ１）、カウンタｎを１にセットし（ステップＳ２）、加工プログラムの１ブロック目の動作指令を数値制御装置６１から受信する（ステップＳ３）。
【００３８】
次に、ステップＳ３で受信した動作指令を認識して補間点を算出する（ステップＳ４）。例えば、認識した動作指令が第１サドル５２，第２サドル５３及び主軸頭５４の移動指令であるとすると、移動開始点と移動終了点との間の移動経路上に複数の補間点を設定して各補間点の位置を算出する。このようにして補間することで、後述のように、第１サドル５２，第２サドル５３及び主軸頭５４が移動開始点から移動終了点に向けて徐々に移動するときのモデルデータが生成される。
【００３９】
ついで、カウンタｍを１にセットして（ステップＳ５）、移動経路上の１番目の点に第１サドル５２，第２サドル５３及び主軸頭５４を移動させたときのモデルデータを生成する（ステップＳ６）。このとき、工具ＴのモデルデータとワークＷのモデルデータとの間で重なり合う部分がある場合には、その重なり合う領域（切削領域）をブーリアン演算により算出して、この切削領域がワークＷから削除されるようにワークＷのモデルデータを生成する。この後、ステップＳ７では、生成したモデルデータを第１モデルデータ記憶部１３に格納して、この第１モデルデータ記憶部１３内のモデルデータを更新する。
【００４０】
そして、カウンタｍを更新しつつ、移動経路上の最後の点（即ち、移動指令に係る移動位置）に第１サドル５２，第２サドル５３及び主軸頭５４を移動させたときのモデルデータを生成して第１モデルデータ記憶部１３内のモデルデータを更新するまで、ステップＳ６及びＳ７の処理を繰り返す（ステップＳ８，Ｓ９）。
【００４１】
また、ステップＳ３〜Ｓ９の処理についても、カウンタｎを更新しつつ加工プログラムの全ブロックについて実施し（ステップＳ１０，Ｓ１１）、その後、一連の処理を終了する。
【００４２】
前記仮想画像生成処理部１５は、前記カメラパラメータ記憶部１２に格納された各パラメータと、前記第１モデルデータ記憶部１３に格納されたモデルデータとを基に、コンピュータ処理によって工具Ｔ及びワークＷの２次元画像データ（仮想画像データ）を生成する。
【００４３】
具体的には、仮想画像生成処理部１５は、図６に示すような一連の処理を実行するようになっており、まず、カメラパラメータ記憶部１２内に格納された各パラメータを読み出し（ステップＳ２１）、ついで、第１モデルデータ記憶部１３に格納された、工具Ｔ及びワークＷのモデルデータを読み出す（ステップＳ２２）。
【００４４】
次に、工作機械５０の座標系と同じ座標系の３次元空間を仮想的に設定した後（ステップＳ２３）、前記読み出した各パラメータ並びに工具Ｔ及びワークＷのモデルデータを基に、前記設定した仮想３次元空間内に工具Ｔ及びワークの３次元モデルを配置するとともに仮想ＣＣＤカメラ１５ａを設定，配置する（ステップＳ２４）。このとき、仮想ＣＣＤカメラ１５ａは、前記読み出した外部パラメータを基に前記実ＣＣＤカメラ１１と同じ位置に同じ姿勢で配置されるので、仮想ＣＣＤカメラ１５ａの視点は実ＣＣＤカメラ１１と一致している。また、仮想ＣＣＤカメラ１５ａは、その内部パラメータが、前記読み出した内部パラメータを基に実ＣＣＤカメラ１１の内部パラメータと同じに合わされるので、仮想ＣＣＤカメラ１５ａの条件は実ＣＣＤカメラ１１と一致している。
【００４５】
この後、前記仮想ＣＣＤカメラ１５ａにより３次元モデルに係る工具Ｔ及びワークＷを撮像したとすれば得られると想定される２次元画像データを生成し、生成した２次元画像データを前記レンダリング処理部１７に送信する（ステップＳ２５）。尚、仮想画像生成処理部１５により生成される仮想画像の例を、図３（ｂ）及び図４（ｂ）に示す。図３（ｂ）及び図４（ｂ）では、主軸５５やテーブル５６の形状を二点鎖線で示しているが、仮想画像として得られるのは工具Ｔ及びワークＷのみである。
【００４６】
前記タイミング制御部１６は、前記実ＣＣＤカメラ１１及び仮想ＣＣＤカメラ１５ａの撮像タイミングを一致させる。このタイミング制御によって、実際の工具Ｔと、３次元モデルに係る工具Ｔ及びワークＷとがそれぞれ同じタイミングで撮像される。
【００４７】
前記レンダリング処理部１７は、前記実ＣＣＤカメラ１１から出力された２次元画像データ（実画像データ）と、前記仮想画像生成処理部１５から送信された２次元画像データ（仮想画像データ）とを基に、合成画像データを生成して前記画面表示装置１８に表示させる。
【００４８】
具体的には、レンダリング処理部１７は、実ＣＣＤカメラ１１及び仮想画像生成処理部１５からそれぞれ得られる、同じタイミングにおける実画像データ及び仮想画像データを基に、実画像上に仮想画像を重ね合わせて合成画像データを順次生成する。そして、このようにして生成される合成画像データが画面表示装置１８に順次表示される。尚、レンダリング処理部１７は、仮想画像を実画像上に重ね合わせるに当たり、仮想画像を半透明にして重ね合わせるようになっている。また、実画像と仮想画像とに設定された座標系がそれぞれ同じであるため、工具Ｔ及びワークＷの仮想画像は、実画像上の対応する部分にそれぞれ重ね合わされる。
【００４９】
ここで、レンダリング処理部１７により生成される合成画像の例を、図３（ｃ）及び図４（ｃ）に示す。図３（ｃ）は、工具Ｔを含む実画像と、工具Ｔ及びワークＷを含む仮想画像とを重ね合わせたものであり、図４（ｃ）は、工具Ｔ及びワークＷを含む実画像と、工具Ｔ及びワークＷを含む仮想画像とを重ね合わせたものである。工具Ｔ及びワークＷの位置と形状が実際とモデルデータとで一致していれば、実画像における工具Ｔ及びワークＷの部分に工具Ｔ及びワークＷの仮想画像が重ね合わされるが、工具Ｔ及びワークＷの位置と形状が実際とモデルデータとで一致していないときには、図４（ｃ）に示すように、工具Ｔ及びワークＷがずれて重ね合わされる。尚、図４（ｃ）では、ワークＷの位置が一致していない場合について示している。
【００５０】
前記第２モデルデータ記憶部１９には、前記第１モデルデータ記憶部１３と同様に、予め作成された、例えば、工作機械５０全体の３次元モデルに関するデータが格納される。
【００５１】
前記干渉確認処理部２０は、前記第２モデルデータ記憶部１９に格納されたモデルデータと、前記数値制御装置６１から送信された予測移動位置とを基に、例えば、第１サドル５２，第２サドル５３及び主軸頭５４の移動により、前記ベッド５１，第１サドル５２，第２サドル５３，主軸頭５４，主軸５５，テーブル５６，工具Ｔ及びワークＷが相互に干渉するか否かを確認する。
【００５２】
具体的には、干渉確認処理部２０は、図７に示すような一連の処理を実行するようになっており、まず、数値制御装置６１から送信された予測移動位置を受信したか否かを確認し（ステップＳ３１）、予測移動位置を受信すると、第２モデルデータ記憶部１３に格納された工作機械５０全体のモデルデータを読み出し（ステップＳ３２）、前記受信した予測移動位置に第１サドル５２，第２サドル５３及び主軸頭５４を移動させたときのモデルデータを生成する（ステップＳ３３）。
【００５３】
この後、生成したモデルデータを基に、前記ベッド５１，第１サドル５２，第２サドル５３，主軸頭５４，主軸５５，テーブル５６，工具Ｔ及びワークＷが相互に干渉するか否か、即ち、これらのモデルデータ間で接触又は重なり合う部分があるか否かを確認する（ステップＳ３４）。
【００５４】
そして、モデルデータ間で接触又は重なり合う部分があると判断した場合には、その接触又は重なり合いが工具Ｔの刃部とワークＷとの間で生じたものか否かを更に確認し（ステップＳ３５）、工具Ｔの刃部とワークＷとの間で生じたものでないと判断すると、ベッド５１，第１サドル５２，第２サドル５３，主軸頭５４，主軸５５，テーブル５６，工具Ｔ及びワークＷの間で干渉が生じると判断し、アラーム信号を数値制御装置６１に送信して駆動を停止させるとともに、アラーム表示を画面表示装置１８に表示させる（ステップＳ３６）。
【００５５】
一方、ステップＳ３５で、工具Ｔの刃部とワークＷとの間で生じたものであると判断した場合には、干渉ではなく、ワークＷの加工であると判断して切削領域をブーリアン演算により算出し（ステップＳ３７）、その後、ステップＳ３８の処理を行う。
【００５６】
また、前記ステップＳ３４で、モデルデータ間で接触又は重なり合う部分はないと判断した場合にも、ステップＳ３８の処理を行う。このステップＳ３８では、生成したモデルデータを第２モデルデータ記憶部１９に格納して、この第２モデルデータ記憶部１９内のモデルデータを更新するが、切削領域があった場合、ワークＷのモデルデータについては、この切削領域が削除されるように更新する。
【００５７】
そして、このようなステップＳ３１〜Ｓ３８までの処理を処理終了となるまで繰り返す（ステップＳ３９）。
【００５８】
以上のように構成された本例の加工シミュレーション装置１によれば、以下のようにして加工シミュレーションが実行される。尚、この加工シミュレーションは、例えば、テーブル５６上にワークＷが載置されていない状態で行われる。
【００５９】
まず、カメラパラメータ記憶部１２に実ＣＣＤカメラ１１のカメラパラメータが、各モデルデータ記憶部１３，１９に工作機械５０全体のモデルデータがそれぞれ格納される。
【００６０】
そして、数値制御装置６１により、動作指令を基に各送り機構部５７，５８，５９及び主軸モータ６０が駆動されると、第１サドル５２，第２サドル５３及び主軸頭５４の実際の動作と同期するように第１モデルデータ記憶部１３内の工作機械５０全体のモデルデータが、数値制御装置６１から得られる動作指令を基に、モデルデータ更新処理部１４により更新される。
【００６１】
また、実ＣＣＤカメラ１１により、工具Ｔが装着された主軸５５とワークＷが載置されていないテーブル５６とが含まれる領域が一定時間間隔で撮像されて実画像データが生成される（図３（ａ）参照）とともに、仮想画像生成処理部１５により、カメラパラメータ記憶部１２内の各パラメータと、第１モデルデータ記憶部１３内のモデルデータとを基に、３次元モデルに係る工具Ｔ及びワークＷの仮想画像データが生成される（図３（ｂ）参照）。尚、この仮想画像データは、実ＣＣＤカメラ１１と同じ条件の仮想ＣＣＤカメラ１５ａにより、実ＣＣＤカメラ１１と同じ視点及びタイミングで撮像したとすれば得られると想定される画像データとなっている。
【００６２】
この後、レンダリング処理部１７により、実ＣＣＤカメラ１１により生成された実画像データと、仮想画像生成処理部１５により生成された仮想画像データとを基に、実画像上に半透明の仮想画像が重ね合わされた合成画像データが生成されて画面表示装置１８に表示される（図３（ｃ）参照）。そして、オペレータは、このようにして表示される画像を通して、工具移動状態や加工状態を確認することができる。
【００６３】
尚、各送り機構部５７，５８，５９及び主軸モータ６０の駆動中においては、干渉確認処理部２０により、第２モデルデータ記憶部１９内のモデルデータと、数値制御装置６１から送信された予測移動位置とを基に、ベッド５１，第１サドル５２，第２サドル５３，主軸頭５４，主軸５５，テーブル５６，工具Ｔ及びワークＷが相互に干渉するか否かが確認されており、干渉が確認された場合には、干渉確認処理部２０から数値制御装置６１にアラーム信号が送信され、各送り機構部５７，５８，５９及び主軸モータ６０が停止せしめられる。予測移動位置に基づいて干渉確認しているので、ベッド５１，第１サドル５２，第２サドル５３，主軸頭５４，主軸５５，テーブル５６，工具Ｔ及びワークＷが実際に干渉する前に各送り機構部５７，５８，５９及び主軸モータ６０は停止する。
【００６４】
そして、この加工シミュレーションでＮＣプログラムに問題がなければ、テーブル５６上にワークＷが載置され、実ＣＣＤカメラ１１により、工具Ｔが装着された主軸５５と、ワークＷが載置されたテーブル５６とが含まれる領域が撮像されてその２次元画像データ（実画像データ）が生成される（図４（ａ）参照）。また、仮想画像生成処理部１５により、３次元モデルに係る工具Ｔ及びワークＷの仮想画像データが生成される（図４（ｂ）参照）。
【００６５】
ついで、レンダリング処理部１７により、実画像データと仮想画像データとが重ね合わされた合成画像データが生成されて画面表示装置１８に表示され（図４（ｃ）参照）、オペレータは、このようにして表示される画像を通して、工具Ｔ及びワークＷのモデルデータが実際の工具形状及びワーク形状と一致しているか否かを確認したり、仮想３次元空間内におけるワークＷの配置位置と実際のワークＷの配置位置とが一致しているか否かを確認することができる。
【００６６】
このように、本例の加工シミュレーション装置１によれば、実画像上に半透明の仮想画像が重ね合わされた合成画像が画面表示装置１８に表示されるので、オペレータは、工作機械５０の実際の状況を確認しながら、仮想画像に係る工具Ｔ及びワークＷの動作を確認することができる。これにより、より現実的で正確な加工シミュレーションを実施することができる。
【００６７】
また、工具Ｔ及びワークＷについては仮想ＣＣＤカメラ１５ａから得られる画像であるが、この工具Ｔ及びワークＷのモデルデータが実際の工具形状及びワーク形状と一致し、且つ仮想３次元空間内におけるワークＷの配置位置と実際のワークＷの配置位置とが一致していれば、加工シミュレーションの実施後に、実際に工作機械５０を動作させてＮＣプログラムを確認する必要がないため、この加工シミュレーションだけでＮＣプログラム確認を終わらせることができ、効率的である。
【００６８】
また、工具Ｔ及びワークＷの仮想画像が半透明であり、この仮想画像を通して実画像を確認することができるので、オペレータは、仮想画像に係る工具Ｔ及びワークＷと、実画像に係る工具Ｔ及びワークＷとを比較して、両者が一致しているか否かを確認することができる。そして、一致していれば、上記のように、実際に工作機械５０を動作させてＮＣプログラムをチェックする作業を省略することができる。
【００６９】
以上、本発明の一実施形態について説明したが、本発明の採り得る具体的な態様は、何らこれに限定されるものではない。
【００７０】
上例では、仮想画像生成処理部１５により工具Ｔ及びワークＷの２次元画像データを生成するようにしたが、通常、ワークＷをテーブル５６に固定する際には治具が使用されるため、仮想画像生成処理部１５によって工具Ｔ，ワークＷ及び治具の２次元画像データを生成するようにしても良い。このようにすれば、更に現実的で正確な加工シミュレーションを実施することができる。また、仮想画像に係る治具と、実画像に係る治具とを比較すれば、治具のモデルデータが実際の治具形状と一致しているか否かを確認したり、仮想３次元空間内における治具の配置位置と実際の治具の配置位置とが一致しているか否かを確認することができる。
【００７１】
また、上例では、主軸５５に工具Ｔが装着された状態且つテーブル５６上にワークＷが載置されていない状態で加工シミュレーションを行うようにしたが、これに限られるものではなく、主軸５５に工具Ｔが装着されていない状態且つテーブル５６上にワークＷが載置された状態で行ったり、主軸５５に工具Ｔが装着されていない状態且つテーブル５６上にワークＷが載置されていない状態で行うようにしても良い。
【００７２】
また、実ＣＣＤカメラ１１の配置位置や配置数は、上例に限定されるものではなく、例えば、ベッド５１の四隅にそれぞれ配置するようにしても良い。複数の実ＣＣＤカメラ１１を配置した場合、仮想画像生成処理部１５は、実ＣＣＤカメラ１１と同数の仮想ＣＣＤカメラ１５ａを設定する。また、複数の実ＣＣＤカメラ１１及び仮想ＣＣＤカメラ１５ａを設けた場合、画面表示装置１８には、オペレータが選択したＣＣＤカメラ１１，１５ａに対応する合成画像を表示させても良いし、画面を複数の表示領域に分割して各表示領域に各ＣＣＤカメラ１１，１５ａに対応する合成画像をそれぞれ表示させても良い。
【００７３】
また、干渉確認処理部２０は、数値制御装置６１から、第１サドル５２，第２サドル５３及び主軸頭５４の動作指令又は現在位置を受信し、受信した動作指令又は現在位置と、ベッド５１，第１サドル５２，第２サドル５３，主軸頭５４，主軸５５，テーブル５６，工具Ｔ及びワークＷのモデルの外側に設定した干渉判定領域とを基に、干渉が生じるか否かを確認するようにしても良い。具体的には、第１サドル５２，第２サドル５３及び主軸頭５４のモデルデータが前記干渉判定領域内に侵入したときに干渉すると判断する。
【００７４】
また、前記加工シミュレーション装置１が設けられる工作機械５０は、何ら限定されるものではなく、どのような工作機械５０であっても良い。例えば、上例のようなマシニングセンタではなく、旋盤などに設けるようにしても良い。
【符号の説明】
【００７５】
１    加工シミュレーション装置
１１  実ＣＣＤカメラ
１２  カメラパラメータ記憶部
１３  第１モデルデータ記憶部
１４  モデルデータ更新処理部
１５  仮想画像生成処理部
１６  タイミング制御部
１７  レンダリング処理部
１８  画面表示装置
１９  第２モデルデータ記憶部
２０  干渉確認処理部
５０  工作機械
５５  主軸
５６  テーブル
６１  数値制御装置
【図１】
0005384178.tif 000002
【図２】
0005384178.tif 000003
【図３】
0005384178.tif 000004
【図４】
0005384178.tif 000005
【図５】
0005384178.tif 000006
【図６】
0005384178.tif 000007
【図７】
0005384178.tif 000008