(57)【要約】【課題】工作機械で生じるすべての干渉関係について、その干渉の有無を正確且つ効率的に確認することができる干渉確認装置を提供する。【解決手段】干渉確認装置１は、工具，ワーク及び工作機械を構成する構造体に係る３次元モデルデータを記憶したモデルデータベース１０と、工具，ワーク及び構造体との相互間における干渉関係を定義した干渉データを記憶する干渉データ記憶部１１と、工作機械のプログラム解析部４３から送信される構造体の動作指令、並びにモデルデータベース１０及び干渉データ記憶部１１に格納された各データを基に、工具，ワーク及び構造体が相互に干渉するか否かを判定する干渉確認処理部１２とを備える。尚、干渉確認処理部１２には、構造体を動作させる駆動機構部２７，２８，２９，３０を制御するために実行されるブロックよりも少なくとも１ブロック分だけ進んだブロックの動作指令がプログラム解析部４３から送信される。【選択図】図１
2006004128.tif 000002
【特許請求の範囲】
【請求項１】
工具及びワークをそれぞれ保持する２つの構造体を少なくとも含む複数の構造体と、
該複数の構造体の内、動作可能に設けられた構造体を駆動する駆動機構部と、
加工プログラムをブロック毎に順次解析して、前記動作可能な構造体に係る動作指令を少なくとも抽出する解析処理部、及び該解析処理部によって順次抽出された動作指令を基に制御信号を生成して、生成した制御信号を基に前記駆動機構部の作動を制御する制御実行処理部を有する制御装置とを備えた工作機械において、
前記駆動機構部によって駆動され前記制御装置によってその作動が制御される前記動作可能な各構造体の動作によって、該構造体，他の構造体，工具及びワークが相互に干渉するか否かを確認する装置であって、
前記工具，ワーク及び各構造体の３次元形状を定義した形状データ、並びに該工具，ワーク及び各構造体について設定された移動軸及び／又は回転軸に関する情報を少なくとも含んで構成される３次元モデルデータを記憶したモデルデータ記憶部と、
前記工具，ワーク及び各構造体との相互間における干渉関係を定義した干渉データを記憶する干渉データ記憶部と、
前記制御装置の制御実行処理部において実行されるブロックよりも少なくとも１ブロック分進んだブロックの動作指令を前記解析処理部から順次受信し、受信した動作指令及び前記モデルデータ記憶部に格納された３次元モデルデータを基に、該動作指令に係る構造体を動作させた状態の３次元モデルデータを生成し、生成した３次元モデルデータ及び前記干渉データ記憶部に格納された干渉データを基に、該構造体の動作によって該構造体，他の構造体，工具及びワークが相互に干渉するか否かを判定するとともに、前記生成した３次元モデルデータで前記モデルデータ記憶部に格納された３次元モデルデータを更新する干渉判定処理部とを備えてなることを特徴とする干渉確認装置。
【請求項２】
工具及びワークをそれぞれ保持する２つの構造体を少なくとも含む複数の構造体と、
該複数の構造体の内、動作可能に設けられた構造体を駆動する駆動機構部と、
加工プログラムをブロック毎に順次解析して、前記動作可能な構造体に係る動作指令を少なくとも抽出する解析処理部、及び該解析処理部によって順次抽出された動作指令を基に制御信号を生成して、生成した制御信号を基に前記駆動機構部の作動を制御する制御実行処理部を有する制御装置とを備えた工作機械において、
前記駆動機構部によって駆動され前記制御装置によってその作動が制御される前記動作可能な各構造体の動作によって、該構造体，他の構造体，工具及びワークが相互に干渉するか否かを確認する装置であって、
前記工具，ワーク及び各構造体の３次元形状を定義した形状データ、並びに該工具，ワーク及び各構造体について設定された移動軸及び／又は回転軸に関する情報を少なくとも含んで構成される３次元モデルデータを記憶したモデルデータ記憶部と、
前記工具，ワーク及び各構造体との相互間における干渉関係を定義した干渉データを記憶する干渉データ記憶部と、
前記加工プログラムをブロック毎に順次解析し、前記制御装置の制御実行処理部において実行されるブロックよりも少なくとも１ブロック分進んだブロックの動作指令を抽出し、抽出した動作指令及び前記モデルデータ記憶部に格納された３次元モデルデータを基に、該動作指令に係る構造体を動作させた状態の３次元モデルデータを生成し、生成した３次元モデルデータ及び前記干渉データ記憶部に格納された干渉データを基に、該構造体の動作によって該構造体，他の構造体，工具及びワークが相互に干渉するか否かを判定するとともに、前記生成した３次元モデルデータで前記モデルデータ記憶部に格納された３次元モデルデータを更新する干渉判定処理部とを備えてなることを特徴とする干渉確認装置。
【請求項３】
前記干渉判定処理部は、干渉すると判定された場合にアラームを出力するように構成されてなることを特徴とする請求項１又は２記載の干渉確認装置。
【請求項４】
画像表示装置を更に備え、
前記干渉判定処理部は、
前記動作指令及び前記モデルデータ記憶部に格納された３次元モデルデータを基に、該動作指令に係る構造体を徐々に動作させた状態の３次モデルデータ及びこれに応じた３次元画像データを順次生成し、該動作開始から動作終了までに生成された３次元画像を順次前記画像表示装置に表示させるように構成されてなることを特徴とする請求項１乃至３記載のいずれかの干渉確認装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工具及びワークをそれぞれ保持する２つの構造体を少なくとも含む複数の構造体と、当該複数の構造体の内、動作可能に設けられた構造体を駆動する駆動機構部と、加工プログラムに基づき前記駆動機構部を制御する制御装置とを備えた工作機械において、前記動作可能な各構造体の動作によって、当該構造体，他の構造体，工具及びワークが相互に干渉するか否かを確認する干渉確認装置に関する。
【背景技術】
【０００２】
工作機械の一つである旋盤は、ベッド，主軸台，主軸，サドル，刃物台や心押台といった複数の構造体と、サドル，刃物台及び心押台を移動させる送り機構部などを備えて構成され、前記刃物台に工具が保持され、前記主軸にワークが保持される。また、マシニングセンタは、ベッド，コラム，主軸頭，主軸，サドルやテーブルといった複数の構造体と、コラム，主軸頭，サドル及びテーブルを移動させる送り機構部などを備えて構成され、前記主軸に工具が保持され、前記テーブルにワークが保持される。そして、前記送り機構部は、制御装置により適宜加工プログラムに従って、その作動が制御される。
【０００３】
この加工プログラムは、ワークの設計形状に従って作成され、作成後、実加工の前に、これに誤りがあるか否かが確認される。そして、誤りがある場合にはその部分が訂正され、誤りが無い場合には、当該加工プログラムを用いた連続加工が行われる。このように、加工プログラムを事前に確認するのは、誤りがある場合には、工具，ワーク及びその他の構造体が相互に干渉するといった重大な事故を生じるおそれがあるからである。
【０００４】
そして、従来、この確認（干渉確認）は、工作機械を運転して、確認対象の加工プログラムを、ワークの加工を伴わない試運転のモードで実行し、画像表示装置上に適宜表示される工具の送り方向などをオペレータが確認することで行なわれていた（特開平２−５９２５６号公報参照）。
【０００５】
具体的には、工作機械の制御装置が、まず、加工プログラムをブロック毎に順次解析して工具の移動位置及び送り速度を認識し、認識した移動位置及び送り速度を基に工具の移動方向，移動量及び移動方法（切削送りか早送りか）を算出する。この後、算出した移動方向及び移動量を基にこれらを画像表示装置上にベクトル表示し、その表示色（切削送りの時は白色、早送りのときは赤色）により移動方法を表示する。尚、加工プログラムの解析は、工具の移動を制御すべく実行されるブロックよりも進んだ（先の）ブロックを解析するようになっており、画像表示装置上には、工具のこれから先の移動方向及び移動方法が順次表示される。
【０００６】
そして、オペレータは、上記のようにして表示される表示画面を確認して、工具の移動方向，移動量及び移動方法を把握し、これがワークと干渉するかしないか（加工プログラム中に誤りがあるか否か）を確認する。
【０００７】
【特許文献１】特開平２−５９２５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところが、上記従来例では、工具の移動方向，移動量及び移動方法をベクトルで表示したものであるので、この表示からだけでは、オペレータが移動後の工具とワークとの位置関係を正確に予測することができず、この結果、干渉の有無を正確に判断することができないという問題があった。
【０００９】
また、工作機械において干渉を生じるのは、工具とワークとの間だけではなく、例えば、刃物台が移動する際に他の構造体と干渉したり、主軸がその軸中心に回転してワークが所定の回転角度位置に割り出される際に、当該ワークが工具や他の構造体と干渉するなど、工具又はワークと構造体との間や各構造体間においても生じる可能性があるが、上記従来例では、これらの干渉関係を確認することができない。
【００１０】
このように、上記従来例では、工作機械で生じ得るすべての干渉関係を、正確且つ効率的に確認することはできなかった。
【００１１】
本発明は、以上の実情に鑑みなされたものであって、工作機械で生じるすべての干渉関係について、その干渉の有無を正確且つ効率的に確認することができる干渉確認装置の提供をその目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するための本発明は、
工具及びワークをそれぞれ保持する２つの構造体を少なくとも含む複数の構造体と、
該複数の構造体の内、動作可能に設けられた構造体を駆動する駆動機構部と、
加工プログラムをブロック毎に順次解析して、前記動作可能な構造体に係る動作指令を少なくとも抽出する解析処理部、及び該解析処理部によって順次抽出された動作指令を基に制御信号を生成して、生成した制御信号を基に前記駆動機構部の作動を制御する制御実行処理部を有する制御装置とを備えた工作機械において、
前記駆動機構部によって駆動され前記制御装置によってその作動が制御される前記動作可能な各構造体の動作によって、該構造体，他の構造体，工具及びワークが相互に干渉するか否かを確認する装置であって、
前記工具，ワーク及び各構造体の３次元形状を定義した形状データ、並びに該工具，ワーク及び各構造体について設定された移動軸及び／又は回転軸に関する情報を少なくとも含んで構成される３次元モデルデータを記憶したモデルデータ記憶部と、
前記工具，ワーク及び各構造体との相互間における干渉関係を定義した干渉データを記憶する干渉データ記憶部と、
前記制御装置の制御実行処理部において実行されるブロックよりも少なくとも１ブロック分進んだブロックの動作指令を前記解析処理部から順次受信し、受信した動作指令及び前記モデルデータ記憶部に格納された３次元モデルデータを基に、該動作指令に係る構造体を動作させた状態の３次元モデルデータを生成し、生成した３次元モデルデータ及び前記干渉データ記憶部に格納された干渉データを基に、該構造体の動作によって該構造体，他の構造体，工具及びワークが相互に干渉するか否かを判定するとともに、前記生成した３次元モデルデータで前記モデルデータ記憶部に格納された３次元モデルデータを更新する干渉判定処理部とを備えてなることを特徴とする干渉確認装置に係る。
【００１３】
この発明によれば、工具，ワーク及び各構造体の３次元形状を定義した形状データ、並びにこれら工具，ワーク及び各構造体について設定された移動軸及び／又は回転軸に関する情報を少なくとも含んで構成される３次元モデルデータが、予め適宜生成された後、モデルデータ記憶部に格納される。
【００１４】
尚、前記構造体としては、例えば、工作機械が旋盤であるときには、ベッド、ベッド上に配設された主軸台、主軸台によって回転自在に支持された主軸、主軸に取り付けられ、ワークを保持するチャック、ベッド上に移動可能に配設されたサドル、サドル上に配設され、工具を保持する刃物台、ベッド上に移動可能に配設された心押台、心押台に保持された心押軸などが該当する。また、工作機械がマシニングセンタである場合には、ベッド、ベッド上に配設されたコラム、コラムに移動可能に支持された主軸頭、主軸頭によって回転自在に支持され、工具を保持する主軸、ベッド上に移動可能に配設され、ワークを保持するテーブルなどが該当する。更に、一般的に、切りくずや切削液などの侵入を防止すべく、カバー体が設けられるが、このような場合には、当該カバー体も前記構造体に該当する。
【００１５】
前記形状データは、工具，ワーク及び構造体の３次元形状を構成する各頂点の座標値たる頂点座標データ、２つの頂点を結んで構成される稜線の方程式データ、前記稜線と前記２つの頂点とを関連付ける稜線データ、稜線により囲まれて形成される面の方程式データ、及び前記面と前記稜線とを関連付ける面データなどからなる。
【００１６】
前記移動軸及び／又は回転軸に関する情報とは、工具，ワーク及び構造体が工作機械上でどのように動作（移動や回転）するのかを定義した情報である。例えば、構造体が刃物台である場合には、これが主軸の軸線方向に移動することを示す情報であり、刃物台に保持された工具の場合には、これが刃物台とともに移動することから、主軸の軸線方向に移動することを示した情報となる。また、構造体が主軸である場合には、これがその軸中心に回転することを示す情報であり、主軸に装着されたチャックやこれに保持されたワークの場合には、これらがそれぞれ主軸とともに回転することから、主軸の軸中心に回転することを示した情報となる。
【００１７】
前記干渉データ記憶部には、予め適宜設定された、工具，ワーク及び各構造体との相互間における干渉関係を定義した干渉データが格納される。構造体は、それ単独で工作機械に配設されることもあるが、通常、その複数が組み付けられた状態でベッドに配設され、工具やワークは、必ず適宜構造体に保持される。したがって、同一の組立物を構成する工具，ワーク及び各構造体間において干渉関係は生じず、異なる組立物を構成する工具，ワーク及び各構造体間においてのみ干渉関係が成立する。
【００１８】
例えば、旋盤の場合、主軸台，主軸，チャック及びワークが一体的に設けられ、サドル，刃物台及び工具が一体的に設けられることから、主軸台，主軸，チャック及びワーク間、並びに刃物台及び工具間では干渉関係は生じず、主軸台，主軸，チャック及びワークと、刃物台及び工具との間で干渉関係が生じる。また、工具とワークとの間における干渉は、工具によるワークの加工（即ち、干渉ではない）とみなすことができるが、厳密に言うと、工具の刃部とワークとの間に生じる干渉でなければ、これを加工とみなすことはできず、干渉である。
【００１９】
上記干渉データは、工具，ワーク及び各構造体との相互間で生じる、このような干渉関係を定義するためのデータであり、予め適宜設定された後、干渉データ記憶部に格納される。
【００２０】
そして、前記干渉判定処理部は、制御装置の解析処理部から受信した動作可能な構造体に係る動作指令（移動位置や回転角度位置、移動速度など）、モデルデータ記憶部に格納された３次元モデルデータ、及び干渉データ記憶部に格納された干渉データを基に、動作可能な構造体の動作によって当該構造体，他の構造体，工具及びワークが相互に干渉するか否かを判断する処理を行う。
【００２１】
具体的には、干渉判定処理部は、駆動機構部の作動を制御すべく制御装置の制御実行処理部によって実行されるブロックよりも少なくとも１ブロック分進んだブロックの動作指令を解析処理部から順次受信し、受信した動作指令及びモデルデータ記憶部に格納された３次元モデルデータを基に、当該動作指令に係る構造体を動作させた状態の３次元モデルデータをブロック毎に生成する。
【００２２】
次に、生成した３次元モデルデータ及び干渉データ記憶部に格納された干渉データを基に、ブロック毎に、干渉データにより定義される干渉関係について、前記構造体の動作により当該構造体，他の構造体，工具及びワークが相互に干渉するか否か（即ち、これらの各３次元モデルデータ間で接触又は重なり合う部分が存在するか否か）を判定するとともに、前記生成した３次元モデルデータでモデルデータ記憶部に格納された３次元モデルデータを更新する。
【００２３】
例えば、各構造体の３次元モデルデータ間や、工具又はワークの３次元モデルデータと構造体の３次元モデルデータとの間で重なり合う部分が生じている場合には、各構造体間や、工具又はワークと構造体との間で干渉すると判定され、また、工具の３次元モデルデータとワークの３次元モデルデータとが重なり合っている場合には、この重なり合いが、工具の刃部とワークとの間に生じたものでなければ、当該工具とワークとが干渉すると判定され、また、このように工具の刃部とワークとの間に生じた重なり合いであっても、送り速度が一定速度以上であると、当該工具とワークとが干渉すると判定される。
【００２４】
また、工具の３次元モデルデータとワークの３次元モデルデータとが重なり合っている場合に、これを干渉と判断しなかった場合には、即ち、当該工具によるワークの加工と判断した場合には、３次元モデルデータを更新するに当たり、その重なり合う領域（干渉（切削）領域）を算出して、この領域をワークから削除するように当該ワークの３次元モデルデータを更新する。
【００２５】
このようにして、干渉判定処理部により、工具，ワーク及び各構造体が相互に干渉するか否かが判定される。
【００２６】
尚、前記干渉判定処理部は、その処理を実行するに当たり、動作可能な構造体に係る動作指令を制御装置の解析処理部から受信するのではなく、加工プログラムをブロック毎に順次解析して、制御装置の制御実行処理部において実行されるブロックよりも少なくとも１ブロック分進んだブロックの動作指令を抽出するように構成されていても良い。
【００２７】
また、干渉判定処理部は、干渉すると判定された場合にアラームを出力するように構成されていることが好ましい。
【００２８】
また、干渉確認装置は、画像表示装置を更に備え、干渉判定処理部は、前記動作指令及び前記モデルデータ記憶部に格納された３次元モデルデータを基に、該動作指令に係る構造体を徐々に動作させた状態の３次モデルデータ及びこれに応じた３次元画像データを順次生成し、該動作開始から動作終了までに生成された３次元画像を順次前記画像表示装置に表示させるように構成されていることが好ましい。
【００２９】
尚、前記加工プログラムとしては、予め作成された後、制御装置の適宜記憶部内に格納されたり、制御装置に適宜入力されたものや、ＭＤＩ機能によって制御装置に適宜手動入力されたものなどを挙げることができる。
【発明の効果】
【００３０】
斯くして、本発明に係る干渉確認装置によれば、干渉判定処理部において、工具，ワーク及び構造体の３次元モデルデータを用い、干渉データにより定義される工具，ワーク及び各構造体間の干渉関係について、その干渉の有無を自動的に確認するようにしているので、あらゆる干渉関係について正確且つ効率的に干渉確認を行うことができる。
【００３１】
また、制御実行処理部で実行されるブロックよりも進んだ（先の）ブロックの動作指令に従って干渉判定を行うようにしているので、制御実行処理部による制御の下、駆動機構部が駆動されて構造体が実際に動作する前に、干渉の有無を予め確認することができ、干渉が生じるのを確実に防止することができる。
【００３２】
また、干渉判定処理部を、干渉すると判定された場合にアラームを出力するように構成すれば、このアラーム出力によって、アラーム音が鳴ったり、アラームランプが点灯するので、オペレータは、干渉が生じることを認識して、例えば、駆動機構部の作動（構造体の動作）を停止させるなど、その対応を迅速に採ることができる。
【００３３】
また、干渉確認装置に画像表示装置を設けて、この画像表示装置上に、動作指令に従って動作する構造体やその他の構造体、ワーク、工具の３次元画像を表示するようにすれば、オペレータは、これらの画像を通じて、構造体の動作状態を視覚的に認識することができ、都合が良い。また、干渉が生じる個所を容易に特定することもできる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の具体的な実施形態について、添付図面に基づき説明する。尚、図１は、本発明の一実施形態に係る干渉確認装置などの概略構成を示したブロック図である。
【００３５】
図１に示すように、本例の干渉確認装置１は、図２に示したＮＣ旋盤２０に設けられており、モデルデータベース１０，干渉データ記憶部１１，干渉確認処理部１２，画像データ生成部１３，表示制御部１４及び画像表示装置１５などから構成される。
【００３６】
まず、前記ＮＣ旋盤２０について説明する。
【００３７】
図１及び図２に示すように、ＮＣ旋盤２０は、ベッド２１と、ベッド２１上に配設された主軸台（図示せず）と、主軸台（図示せず）によって水平な軸中心に（Ｚ軸回り（Ｃ軸方向）に）回転自在に支持された主軸２２と、主軸２２に取り付けられたチャック２３と、Ｚ軸方向に移動可能にベッド２１上に配設された第１サドル２４と、Ｚ軸と水平面内で直交するＹ軸方向に移動可能に第１サドル２４上に配設された第２サドル２５と、Ｙ軸及びＺ軸の双方と直交するＸ軸方向に移動可能に第２サドル２５上に配設された刃物台２６といった構造体の他、第１サドル２４をＺ軸方向に移動させる第１送り機構部２７、第２サドル２５をＹ軸方向に移動させる第２送り機構部２８、刃物台２６をＸ軸方向に移動させる第３送り機構部２９、主軸２２を軸中心に回転させる主軸モータ３０、各送り機構部２７，２８，２９及び主軸モータ３０の作動を制御する制御装置４０、前記画像表示装置１５としても機能する操作盤などを備えて構成される。
【００３８】
尚、前記チャック２３は、チャック本体２３ａと、チャック本体２３ａに取り付けられ、ワークＷを把持する複数の把持爪２３ｂとからなり、前記刃物台２６は、刃物台本体２６ａと、刃物台本体２６ａに配設され、工具Ｔを保持する工具主軸２６ｂとを備える。また、工具Ｔは、工具本体Ｔａと、工具本体Ｔａに取り付けられ、ワークＷを加工するためのチップ（刃部）Ｔｂとから構成される。
【００３９】
前記制御装置４０は、前記モデルデータベース１０，干渉データ記憶部１１，干渉確認処理部１２，画像データ生成部１３及び表示制御部１４の他、プログラム記憶部４１，オフセット量記憶部４２，プログラム解析部（解析処理部）４３，解析結果記憶部４４及び駆動制御部（制御実行処理部）４５などから構成される。
【００４０】
前記プログラム記憶部４１には、予め作成されたＮＣプログラムが格納され、前記オフセット量記憶部４２には、工具オフセット量及びワーク原点オフセット量などが格納される。尚、工具オフセット量は、前記刃物台２６に保持される工具Ｔ毎に格納され、ワーク原点オフセット量は、チャック２３に把持されるワークＷ毎に格納される。
【００４１】
前記プログラム解析部４３は、プログラム記憶部４１に格納されたＮＣプログラムをブロック毎に順次解析して、刃物台２６（第１サドル２４，第２サドル２５）の移動位置や送り速度、主軸モータ３０の回転速度などに関する動作指令を抽出し、抽出した動作指令を解析結果記憶部４４に格納するとともに、干渉確認処理部１２に送信する処理を行う。
【００４２】
前記駆動制御部４５は、解析結果記憶部４４から前記動作指令を順次読み出して、主軸２２の回転や刃物台２６の移動などを制御する処理を行う。具体的には、主軸２２の回転については、前記主軸モータ３０からフィードバックされる現在回転速度データ及び前記動作指令を基に制御信号を生成し、生成した制御信号を主軸モータ３０に送信してこれを制御する。また、刃物台２６の移動については、オフセット量記憶部４２に格納された、刃物台２６に保持された工具Ｔの工具オフセット量及びチャック２３に把持されたワークＷのワーク原点オフセット量、前記各送り機構部２７，２８，２９からフィードバックされる刃物台２６の現在位置データ、並びに前記動作指令を基に、制御信号を生成し、生成した制御信号を各送り機構部２７，２８，２９に送信してこれを制御する。
【００４３】
また、駆動制御部４５は、生成した制御信号を画像データ生成部１３にも送信するように構成されるとともに、後述のようにして干渉確認処理部１２から送信されたアラーム信号を受信すると、各送り機構部２７，２８，２９及び主軸モータ３０の作動を停止させるように構成されている。
【００４４】
尚、図３に示すように、プログラム解析部４３では、駆動制御部４５で実行されるブロックよりも数ブロック分だけ進んだ（先の）ブロックが順次解析されるようになっている。
【００４５】
次に、前記干渉確認装置１について説明する。上記のように、当該干渉確認装置１は、モデルデータベース１０，干渉データ記憶部１１，干渉確認処理部１２，画像データ生成部１３，表示制御部１４及び画像表示装置１５を備える。尚、干渉確認処理部１２及び表示制御部１４が、特許請求の範囲に言う干渉判定処理部として機能する。
【００４６】
前記モデルデータベース１０には、３次元ＣＡＤシステムなどを用いて予め適宜生成された、少なくとも工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６に係る３次元モデルデータが格納される。この３次元モデルデータは、工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６の３次元形状を定義した形状データ、並びに工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６について設定された移動軸及び／又は回転軸に関する軸データを少なくとも含んで構成される。
【００４７】
前記形状データは、工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６の３次元形状を構成する各頂点の座標値たる頂点座標データ、２つの頂点を結んで構成される稜線の方程式データ、前記稜線と前記２つの頂点とを関連付ける稜線データ、稜線により囲まれて形成される面の方程式データ、及び前記面と前記稜線とを関連付ける面データなどからなり、例えば、３次元形状が図４に示すような形状の場合には、図５に示すような形状データとなる。
【００４８】
前記軸データは、工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６がＮＣ旋盤２０上でどのように動作（移動や回転）するのかを定義したデータである。例えば、主軸２２の軸データは、主軸２２がＣ軸方向に回転することからＣ軸であり、また、主軸２２に接続しているチャック２３やワークＷについても、当該主軸２２の回転に伴いＣ軸方向に回転することから、Ｃ軸となる。また、第１サドル２４の軸データは、第１サドル２４がＺ軸方向に移動することからＺ軸であり、第２サドル２５の軸データは、第２サドル２５がＹ軸方向に移動し且つ第１サドル２４の移動に伴いＺ軸方向に移動することから、Ｙ軸及びＺ軸であり、刃物台２６の軸データは、刃物台２６がＺ軸方向に移動し且つ第１サドル２４及び第２サドル２５の移動に伴いＺ軸及びＹ軸方向に移動することから、Ｘ軸，Ｙ軸及びＺ軸である。また、工具Ｔの軸データは、刃物台２６と同様に、Ｘ軸，Ｙ軸及びＺ軸となる。尚、図６に、主軸２２，チャック２３及びワークＷのデータ構成を示している。
【００４９】
前記干渉データ記憶部１１には、予め設定された、工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６との相互間における干渉関係を定義した干渉データが格納される。
【００５０】
ＮＣ旋盤２０では、主軸２２，チャック２３及びワークＷが一体的となった状態で主軸２２が主軸台（図示せず）に支持され、第１サドル２４，第２サドル２５，刃物台２６及び工具Ｔが一体的となった状態で第１サドル２４がベッド２１上に配設される。したがって、主軸２２，チャック２３及びワークＷ間、並びに第１サドル２４，第２サドル２５，刃物台２６及び工具Ｔ間においては、それぞれ干渉関係は生じず、主軸２２，チャック２３及びワークＷと、第１サドル２４，第２サドル２５，刃物台２６及び工具Ｔとの間においてのみ干渉関係が成立する。
【００５１】
また、工具ＴとワークＷとの間における干渉は、工具ＴによるワークＷの加工（即ち、干渉ではない）とみなすことができるが、工具ＴのチップＴｂとワークＷとの間に生じる干渉でなければ、これを加工とみなすことはできず、干渉である。
【００５２】
そこで、干渉データは、具体的には、図７に示すように、工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６の内、一体的となるもの同士を１つの同じグループにグループ分けするとともに、これらが干渉関係又は切削関係のいずれを構成するのかを示すためのデータとして設定されている。
【００５３】
そして、この干渉データにより、主軸２２，チャック２３及びワークＷが第１グループにグループ分けされ、第１サドル２４，第２サドル２５，刃物台２６及び工具Ｔが第２グループにグループ分けされる。尚、上述のように、第１グループの各構成物間及び第２グループの各構成物間では干渉を生じず、第１グループの各構成物と第２グループの各構成物との間でのみ干渉関係が生じ、また、異なるグループに属する構成物同士の干渉であっても、これらの構成物が互いに切削関係を構成する場合には、即ち、当該各干渉構成物が工具ＴのチップＴｂ及びワークＷである場合には、干渉ではない。
【００５４】
前記干渉確認処理部１２は、プログラム解析部４３から送信された刃物台２６の移動位置や送り速度、主軸モータ３０の回転速度に関する動作指令を加工プログラムのブロック毎に順次受信し、受信した動作指令、並びにモデルデータベース１０及び干渉データ記憶部１１に格納された各データを基に、工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６が相互に干渉するか否かを判断する第１処理と、前記受信した動作指令及びモデルデータベース１０に格納された各データを基に、工具Ｔ，ワークＷ，主軸２２，チャック２３及び刃物台２６などの３次元画像データを生成する第２処理とを同時並行的に実行する。
【００５５】
前記第１処理については、図８及び図９に示すような処理を順次実行するように構成されており、まず、モデルデータベース１０に格納された工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６の３次元モデルデータ、並びに干渉データ記憶部１１に格納された干渉データを読み込んで、適宜記憶部（図示せず）に格納した後（ステップＳ１）、当該記憶部（図示せず）内の干渉データを参照して、工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６が属するグループをそれぞれ認識するとともに、これらが切削関係及び干渉関係のいずれを構成するのかを認識する（ステップＳ２）。
【００５６】
次に、カウンタｎを１にセットし（ステップＳ３）、加工プログラムの１ブロック目について、プログラム解析部４３から送信された刃物台２６（第１サドル２４，第２サドル２５）の移動位置や送り速度、主軸モータ３０の回転速度に関する動作指令を受信する（ステップＳ４）。
【００５７】
ついで、前記適宜記憶部（図示せず）に格納された３次元モデルデータ、並びにステップＳ４で受信した刃物台２６の移動位置及び主軸モータ３０の回転速度を基に、第１サドル２４，第２サドル２５及び刃物台２６を移動させた状態且つ主軸２２を回転させた状態の３次元モデルデータを生成する。このとき、工具ＴやワークＷ、チャック２３については、これらの各軸データを参照することで、刃物台２６とともに移動したり、主軸２２とともに回転することを認識し、これら刃物台２６や主軸２２の動作に合わせた３次元モデルデータを生成する。尚、工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６の配設位置関係は、当該工具Ｔ，ワークＷ，チャック２３及びＮＣ旋盤２０の機種（構成）などに応じて予め適宜設定されたデータが参照される。
【００５８】
この後、前記適宜記憶部（図示せず）に格納された干渉データ、及びステップＳ５で生成した３次元モデルデータを基に、第１サドル２４，第２サドル２５及び刃物台２６の移動並びに主軸２２の回転により、工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６が相互に干渉するか否か、即ち、異なるグループに属する各構成物の３次元モデルデータ間で（第１グループに属する主軸２２，チャック２３及びワークＷの３次元モデルデータと、第２グループに属する第１サドル２４，第２サドル２５，刃物台２６及び工具Ｔの３次元モデルデータとの間で）接触又は重なり合う部分が存在するか否かを確認する（ステップＳ６）。
【００５９】
ステップＳ６で接触又は重なり合うと判断した場合には、ステップＳ７に進み、その接触又は重なり合いが、互いに切削関係を構成する構成物同士間に生じたものであるのか、即ち、工具ＴのチップＴｂとワークＷとの間に生じたものであるのかを確認し（ステップＳ７）、そうであると判断した場合には、ステップＳ８に進んで、ステップＳ４で受信した刃物台２６の送り速度及び主軸モータ３０の回転速度を基に、送り速度が最大切削送り速度以内であるか否かを確認する（ステップＳ８）。
【００６０】
ステップＳ８で送り速度が最大切削送り速度以内であると判断した場合には、ステップＳ９に進み、前記３次元モデルデータの接触又は重なり合いは、工具ＴによりワークＷが加工されることによって生じたものであると判断して、その重なり合う領域（干渉（切削）領域）をブーリアン演算により算出する（ステップＳ９）。
【００６１】
一方、ステップＳ７で接触又は重なり合いが、互いに切削関係を構成する構成物同士間に生じたものでない（工具ＴのチップＴｂとワークＷとの間に生じたものでない）と判断した場合には、主軸２２，チャック２３及びワークＷと、第１サドル２４，第２サドル２５，刃物台２６及び工具Ｔとの間で干渉を生じると判断して、また、ステップＳ８で送り速度が最大切削送り速度以上であると判断した場合には、工具ＴによるワークＷの加工とみなすことはできず、干渉であると判断して、アラーム信号を駆動制御部４５及び表示制御部１４に送信して（ステップＳ１０）、駆動を停止させ、一連の処理を終了する。
【００６２】
また、ステップＳ６で接触又は重なり合う部分は存在しない（干渉は生じない）と判断した場合、及びステップＳ９の処理を終えると、ステップＳ１１に進み、前記ステップＳ５で生成した３次元モデルデータで前記適宜記憶部（図示せず）に格納された３次元モデルデータを更新するとともに、工具ＴとワークＷとの間に切削部分があったと判断された場合には、ワークＷの３次元モデルデータについて、ステップＳ９で算出した切削領域をワークＷから削除するように当該３次元モデルデータを更新する（ステップＳ１１）。
【００６３】
この後、上記処理をカウンタｎを更新しつつ、加工プログラムの全ブロックについて実施した後（ステップＳ１２，Ｓ１３）、一連の処理を終了する。
【００６４】
次に、前記第２処理について説明すると、前記プログラム解析部４３からブロック毎に順次送信される刃物台２６の移動位置や送り速度、主軸モータ３０の回転速度に関する動作指令を受信して、受信した動作指令及びモデルデータベース１０に格納された工具Ｔ，ワークＷ，主軸２２，チャック２３及び刃物台２６の３次元モデルデータを基に、刃物台２６を徐々に移動させた状態且つ主軸２２を徐々に回転させた状態の３次元モデルデータ及びこれに応じた３次元画像データを順次生成し、生成した３次元画像データを表示制御部１４に送信する。
【００６５】
このとき、上記と同様に、工具ＴやワークＷ、チャック２３については、これらの各軸データを参照することで、刃物台２６とともに移動したり、主軸２２とともに回転することを認識し、これら刃物台２６や主軸２２の動作に合わせた３次元モデルデータ及びこれに応じた３次元画像データを生成する。また、切削領域がある場合には、当該切削領域をブーリアン演算により算出して、この領域をワークＷから削除するように当該ワークＷの３次元モデルデータを更新しながらこれに応じた３次元画像データを生成する。
【００６６】
前記画像データ生成部１３は、駆動制御部４５から送信された実動作（実際の動作）に係る制御信号を受信して、刃物台２６の移動位置や送り速度、主軸モータ３０の回転速度を認識し、認識した移動位置，送り速度及び回転速度、並びにモデルデータベース１０に格納された工具Ｔ，ワークＷ，主軸２２，チャック２３及び刃物台２６の３次元モデルデータを基に、実動作対応させて、刃物台２６を徐々に移動させた状態且つ主軸２２を徐々に回転させた状態の３次元モデルデータ及びこれに応じた３次元画像データを生成し、生成した３次元画像データを表示制御部１４に送信する。
【００６７】
このとき、上記と同様、工具ＴやワークＷ、チャック２３については、各軸データを基にこれらの動作（挙動）を認識して３次元モデルデータ及び３次元画像データを生成する。また、工具ＴとワークＷとの干渉領域（切削領域）を算出して、この切削領域をワークＷの３次元モデルデータから削除しつつこれに応じた３次元画像データを生成する。
【００６８】
尚、工具Ｔ，ワークＷ，主軸２２，チャック２３及び刃物台２６の配設位置関係は、当該工具Ｔ，ワークＷ，チャック２３及びＮＣ旋盤２０の機種（構成）などに応じて予め適宜設定されたデータが参照される。
【００６９】
前記表示制御部１４は、干渉確認処理部１２及び画像データ生成部１３から送信された３次元画像データを受信して、例えば、図９及び図１０に示すように、干渉確認処理部１２からの３次元画像データ（干渉確認用の画像）をサブ表示（符号Ｓで示した部分）とし、画像データ生成部１３からの３次元画像データ（実動作の画像）をメイン表示（符号Ｍで示した部分）として画像表示装置１５上に表示するとともに、干渉確認処理部１２から送信されたアラーム信号を受信すると、例えば、サブ表示Ｓの表示画像を点滅させるなどしてアラーム表示をする。
【００７０】
尚、図９は、そのサブ表示Ｓに表示されているように、ワークＷが工具Ｔにより加工される状態を示したものであり、図１０は、そのサブ表示Ｓに表示されているように、ワークＷと工具Ｔとが干渉する状態を示したものである。また、刃物台２６は、その形状が大きいため、工具主軸２６ｂの一部分のみが表示されている。
【００７１】
以上のように構成された本例の干渉確認装置１によれば、少なくとも工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６に係る３次元モデルデータがモデルデータベース１０内に予め格納され、工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６との相互間における干渉関係を定義した干渉データが干渉データ記憶部１１内に予め格納される。
【００７２】
干渉確認処理部１２では、プログラム解析部４３から加工プログラムのブロック毎に順次送信された刃物台２６の移動位置や送り速度、主軸モータ３０の回転速度に関する動作指令、並びにモデルデータベース１０及び干渉データ記憶部１１に格納された３次元モデルデータ及び干渉データを基に、工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６が相互に干渉するか否かが判断されて、干渉することが確認された場合には、アラーム信号が表示制御部１４及び駆動制御部４５に送信されるとともに、前記動作指令及び３次元モデルデータを基に、工具Ｔ，ワークＷ，主軸２２，チャック２３及び刃物台２６の３次元画像データが生成される。
【００７３】
また、画像データ生成部１３では、駆動制御部４５から送信された制御信号（刃物台２６の移動位置や送り速度、主軸モータ３０の回転速度）、及びモデルデータベース１０に格納された３次元モデルデータを基に、工具Ｔ，ワークＷ，主軸２２，チャック２３及び刃物台２６の３次元画像データが生成される。
【００７４】
そして、表示制御部１４により、干渉確認処理部１２及び画像データ生成部１３によってそれぞれ生成された、動作開始から動作終了（ＮＣプログラムの第１ブロックから最終ブロック）に至るまでの工具Ｔ，ワークＷ，主軸２２，チャック２３及び刃物台２６の３次元画像データが、図９及び図１０に示すような表示画像として画像表示装置１５上に順次表示される。
【００７５】
尚、画像データ生成部１３によって生成される３次元画像データは、刃物台２６や主軸２２の実際の動作と同期したものであるため、メイン表示され、干渉確認処理部１２によって生成される３次元画像データは、加工プログラムが数ブロック分だけ進んだ（先の）刃物台２６や主軸２２の動作状態を示したものであるため、サブ表示される。
【００７６】
また、前記干渉確認処理部１２から送信されたアラーム信号は、駆動制御部４５によって受信され、各送り機構部２７，２８，２９及び主軸モータ３０の作動が停止される。また、表示制御部１４によって受信されると、サブ表示Ｓ側の表示画像が点滅せしめられてアラーム表示される。
【００７７】
このように、本例の干渉確認装置１によれば、干渉確認処理部１２において、工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６の３次元モデルデータを用い、干渉データにより定義される、工具Ｔ，ワークＷ，主軸２２，チャック２３，第１サドル２４，第２サドル２５及び刃物台２６間の干渉関係について、その干渉の有無を自動的に確認するようにしているので、あらゆる干渉関係について正確且つ効率的に干渉確認を行うことができる。
【００７８】
また、各送り機構部２７，２８，２９及び主軸モータ３０を制御すべく、駆動制御部４５で実行されるブロックよりも進んだブロックの動作指令に従って干渉判定を行い、干渉すると判定された場合には、各送り機構部２７，２８，２９及び主軸モータ３０の作動を停止させるようにしているので、各送り機構部２７，２８，２９及び主軸モータ３０が駆動されて刃物台２６や主軸２２が実際に動作する前に干渉の有無を予め確認することができ、干渉が生じるのを確実に防止することができる。
【００７９】
また、オペレータは、画像表示装置１５上に表示される、工具Ｔ，ワークＷ，主軸２２，チャック２３及び刃物台２６の３次元画像を見ることで、現在の刃物台２６や主軸２２の動作状態、及びこれから先の刃物台２６や主軸２２の動作状態を確認することができ、都合が良い。これは、実際の工具Ｔ，ワークＷ，主軸２２，チャック２３及び刃物台２６を見る場合、これらの位置関係や、加工領域を閉塞するカバー体に設けられたのぞき窓の位置などによって、視認し難いことがあるからである。また、干渉が生じる個所を容易に特定することができる。
【００８０】
以上、本発明の一実施形態について説明したが、本発明の採り得る具体的な態様は、何らこれに限定されるものではない。
【００８１】
上例では、工作機械としてＮＣ旋盤２０を一例に挙げて説明したが、本例の干渉確認装置１は、マシニングセンタなど各種の工作機械に設けることが可能である。また、工作機械の軸構成についてもあらゆる軸構成のものに適用可能である。
【００８２】
また、上例では、工具Ｔ，ワークＷ，主軸２２，チャック２３及び刃物台２６の３次元画像を画面表示するように構成したが、これに限られるものではなく、第１サドル２４や第２サドル２５の画像、刃物台２６全体の画像を表示するようにしても良い。
【００８３】
また、前記干渉確認処理部１２は、前記第１処理及び第２処理を、プログラム解析部４３から送信された動作指令に基づいて実行するように構成したが、これに限られるものではなく、プログラム記憶部４１に格納されたＮＣプログラムを直接読み込み、これをブロック毎に順次解析して、刃物台２６の移動位置や送り速度、主軸モータ３０の回転速度などに関する動作指令を抽出し、抽出した動作指令を基に前記第１処理及び第２処理を実行するように構成することもできる。尚、この場合においても、干渉確認処理部１２は、駆動制御部４５で実行されるブロックよりも数ブロック分だけ進んだブロックを順次解析するように構成される。
【００８４】
また、プログラム解析部４３を、これが、ＭＤＩ機能によって、キーボードなどから適宜手動入力されたＮＣプログラムを受信して解析するように構成することもでき、このようにすれば、ＭＤＩ機能により入力されたＮＣプログラムについても、上記と同様にして、干渉確認処理部１２により干渉確認を行うことができる。
【００８５】
また、モデルデータベース１０に格納される３次元モデルデータは、どのようにして生成されたものであっても良いが、干渉判定を高精度に行うために、簡易的に生成されたものよりも、正確に作成されたものを用いることが好ましい。
【００８６】
尚、３次元モデルデータ生成方法としては、次のようなものがある。以下、簡単に説明する。
【００８７】
１つ目としては、まず、所定間隔を隔てて設けられた２つのＣＣＤカメラによりＸ軸，Ｙ軸及びＺ軸の直交３方向から適宜構造体を撮像して、各方向についてそれぞれ２つの当該構造体の２次元画像データを生成し、ついで、生成された各方向毎の２つの２次元画像データを基に、３次元空間内における構造体の外形線（輪郭線）の座標位置を三角測量法により算出し、次に、各方向についてそれぞれ算出された輪郭線の座標位置と、各ＣＣＤカメラ間の相対的な位置関係を基に、当該各輪郭線をそれぞれ稜線とする前記構造体の３次元形状を推定して、当該３次元形状を定義する形状データを少なくとも含む３次元モデルデータを生成する方法が挙げられる。
【００８８】
また、２つ目としては、工具形状やチャック形状についてであるが、平面形状の座標値とその奥行きを入力したり、回転軸を中心とした縦断面形状の座標値を入力して、この入力値を基に３次元モデルデータを生成する方法が挙げられる。
【図面の簡単な説明】
【００８９】
【図１】本発明の一実施形態に係る干渉確認装置などの概略構成を示したブロック図である。
【図２】本実施形態に係る干渉確認装置が設けられるＮＣ旋盤の概略構成を示した正面図である。
【図３】プログラム解析部で解析されるブロックと、駆動制御部で実行されるブロックとの関係を示した説明図である。
【図４】３次元モデルデータのデータ構成を説明するための説明図である。
【図５】３次元モデルデータのデータ構成を説明するための説明図である。
【図６】各構造体と軸データとの関係を説明するための説明図である。
【図７】本実施形態に係る干渉データ記憶部に格納される干渉データのデータ構成を示した説明図である。
【図８】干渉確認処理部における一連の処理を示したフローチャートである。
【図９】干渉確認処理部における一連の処理を示したフローチャートである。
【図１０】画像表示装置上に表示される表示画面の一例を示した説明図である。
【図１１】画像表示装置上に表示される表示画面の一例を示した説明図である。
【符号の説明】
【００９０】
１    干渉確認装置
１０  モデルデータベース
１１  干渉データ記憶部
１２  干渉確認処理部
１３  画像データ生成部
１４  表示制御部
１５  画像表示装置
２０  ＮＣ旋盤
２２  主軸
２３  チャック
２４  第１サドル
２５  第２サドル
２６  刃物台
２７  第１送り機構部
２８  第２送り機構部
２９  第３送り機構部
３０  主軸モータ
４０  制御装置
４１  プログラム記憶部
４２  オフセット量記憶部
４３  プログラム解析部
４４  解析結果記憶部
４５  駆動制御部
Ｔ    工具
Ｗ    ワーク
【図１】
2006004128.tif 000003
【図２】
2006004128.tif 000004
【図３】
2006004128.tif 000005
【図４】
2006004128.tif 000006
【図５】
2006004128.tif 000007
【図６】
2006004128.tif 000008
【図７】
2006004128.tif 000009
【図８】
2006004128.tif 000010
【図９】
2006004128.tif 000011
【図１０】
2006004128.tif 000012
【図１１】
2006004128.tif 000013