(57)【特許請求の範囲】
【請求項１】
対象とする工作機械における加工工具とワークの各々を保持するとともに所定の軸方向に移動可能または所定の軸回りに回転可能に構成された前記工作機械を構成する複数の可動体と、所定の位置に固定された前記工作機械を構成する複数の固定体と、の各々のポリゴンデータを含む３次元データが記憶された３次元データ記憶部と、
前記可動体の各々に対応付けられているとともに当該可動体における可動状態に関する信号である可動状態信号の入力時に、対応付けられた可動体を移動させる移動方向情報または移動位置情報の少なくとも１つを含む移動情報が記憶された移動情報記憶部と、
前記３次元データに基づいて仮想３次元空間に前記可動体と前記固定体とを組み付けた工作機械の仮想３次元モデルを作成可能であり、前記３次元データと前記可動状態信号と前記移動情報とに基づいて、前記工作機械の動作に同期させて、前記仮想３次元モデル中の前記可動体を動作させることが可能なモデル制御部と、
前記仮想３次元モデルを表示可能な表示部と、
前記仮想３次元モデルにおいて、前記可動体と、当該可動体の周囲に位置する固定体と、の形状を、前記３次元データに含まれているポリゴンデータに基づいた詳細形状から、単純化した簡易形状に置換する簡易形状置換部と、
前記可動状態信号と前記移動情報とに基づいて、前記可動体の移動先の位置である移動先位置を予測する可動体位置予測部と、
予測した前記移動先位置までの前記可動体の移動経路において、前記簡易形状に置換された複数の可動体の各々に対して、前記簡易形状に置換された、固定体の各々との距離、及び他の可動体との距離、を求める距離計算部と、
前記簡易形状に置換された、可動体と固定体、または可動体と別の可動体とが干渉する可能性があるか否かを判定する干渉閾値を記憶する干渉閾値記憶部と、
前記距離と前記干渉閾値に基づいて、前記簡易形状に置換された、可動体と固定体、または可動体と別の可動体とが干渉する可能性があるか否かを判定する干渉可能性判定部と、
前記干渉可能性判定部にて干渉の可能性があると判定された場合に、前記可動体と固定体、または可動体と別の可動体を前記３次元データに含まれているポリゴンデータに基づいた詳細形状に戻して干渉するか否かを判定する詳細干渉判定部と、
を有し、
前記工作機械における可動体が別の可動体または固定体と干渉する前に、前記仮想３次元モデルにおける可動体が当該仮想３次元モデル中において別の可動体または固定体と干渉することを検出可能であり、
前記ポリゴンデータに基づいた前記可動体及び固定体の詳細形状において、前記詳細形状と前記簡易形状とを重ねた場合、前記詳細形状の少なくとも一部は前記簡易形状から突出しており、前記簡易形状から突出する突出部分の突出長さが、予め設定した閾値よりも長いか否かを判定するための突出閾値を記憶する突出閾値記憶部を有し、
前記詳細形状における突出部分の突出長さが前記突出閾値よりも長い場合、前記簡易形状は、前記突出部分の形状が別の簡易形状に分離されており、複数の簡易形状が組み合わされて構成されている、
工作機械の干渉検出装置。
【請求項２】
請求項１に記載の工作機械の干渉検出装置であって、
前記簡易形状は、前記ポリゴンデータに基づいた前記可動体及び固定体の詳細形状に対して、同体積の球、または円柱、または直方体である、
工作機械の干渉検出装置。
【請求項３】
請求項１に記載の工作機械の干渉検出装置であって、
前記簡易形状は、前記ポリゴンデータに基づいた前記可動体及び固定体の詳細形状における各頂点から、当該頂点に近接する簡易形状の面までの距離または距離に基づいた値の総和が最小となる球、または円柱、または直方体である、
工作機械の干渉検出装置。
【請求項４】
請求項２または３に記載の工作機械の干渉検出装置であって、
前記可動体または固定体の簡易形状が直方体または円柱である場合、可動体の移動方向を示す移動軸または可動体の回転軸に対して、前記直方体の各面または前記円柱の端面が直交または平行となるように前記簡易形状の向きが設定されている、
工作機械の干渉検出装置。
【請求項５】
請求項３に記載の工作機械の干渉検出装置であって、
前記可動体または固定体の簡易形状が直方体または円柱である場合、前記直方体または前記円柱は、体積が最小となる向きに設定されている、
工作機械の干渉検出装置。
【請求項６】
請求項１〜５のいずれか一項に記載の工作機械の干渉検出装置であって、
前記干渉閾値は、前記ポリゴンデータに基づいた前記可動体及び固定体の詳細形状が各簡易形状の面から突出する部分の突出長さに応じて、簡易形状の面毎に設定されており、
前記干渉可能性判定部は、前記簡易形状に置換された可動体と固定体、または可動体と別の可動体との距離を求める際の面に応じた干渉閾値を用いて干渉の可能性を判定する、
工作機械の干渉検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械における可動部の移動や回転による干渉（衝突）を検出する、工作機械の干渉検出装置に関する。
【背景技術】
【０００２】
従来より、数値制御装置（ＮＣ装置）を備えた工作機械を用いてワークを加工する場合、ワークまたは加工工具の少なくとも一方を移動させて加工を行う。この場合、予めプログラムされた加工軌跡に従ってワークまたは加工工具を自動的に移動させて加工を行う自動運転モードと、作業者が手動でワークまたは加工工具を移動させて加工を行う手動運転モードとがある。
どちらの運転モードも、限られた空間内でワークまたは加工工具を複雑に移動させるため、移動させたワークや加工工具が、互いに干渉（衝突）したり、いずれかが工作機械内の他の部品（固定体に相当）に干渉したりする可能性がある。
このため、従来から種々の干渉検出装置あるいは干渉検出方法が提案されている。
【０００３】
例えば、特許文献１に記載された従来技術では、加工工具、ワーク、工作機械を構成する構造体（固定体に相当）に係る３次元モデルデータを記憶し、工具、ワーク、構造体の相互間における干渉関係を定義した干渉データを記憶している。そして、少なくとも１ブロック分進んだブロックの動作指令を受信して、実際の工作機械の動作の一歩先の動作を３次元モデルデータで動作させて、干渉するか否かを確認している。
また、特許文献２に記載された従来技術では、複雑な形状のワークと加工工具のそれぞれを、それぞれが内包される簡易形状を用いて、構成形状要素数の最も少ない形状データ（最も簡易な形状のデータ）から、構成形状要素数の最も多い形状データ（最も詳細な形状のデータ）まで、複数の形状データを用意している。そして、各形状データに対してＸＹ平面、ＹＺ平面、ＺＸ平面に投影した全ての２次元平面で干渉するか否かを判定する処理を、最も簡易な形状データから、干渉が発生しないと判定されるまで、順に行っている。更に空白形状が存在する場合は、空白投影データを用いて干渉判定を行い、実体が干渉するか否かを判定している。
【特許文献１】特開２００６−００４１２８号公報
【特許文献２】特開平５−１２７７３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された従来技術では、３次元モデルデータを用いた詳細な形状で干渉するか否かを確認しているが、ポリゴンデータに基づいた詳細形状の３次元モデルデータを用いた場合は演算量が非常に多く、処理に時間がかかる。干渉しないことが明らかな位置に可動体が移動している場合にポリゴンデータに基づいた詳細形状で干渉判定を行うことは、処理時間の無駄であるとともに、本当に干渉するかも知れない場合の判定処理が遅れる可能性がある。
また、特許文献２に記載された従来技術では、簡易形状データで干渉判定を行っているので、干渉しないことが明らかな位置に可動体が移動している場合は処理時間をかけなくて済む。干渉が疑わしい場合に詳細形状データを用いて判定しており、干渉するか否かを正確に判定しなければならない場合にのみ処理時間がかかるようにしている。しかし、干渉するか否かを、２次元平面に投影した簡易形状が重なるか否かで判定しているため、簡易形状は必然的に詳細形状を内包する形状となり、簡易形状の空白部分（実際には実体が存在しない部分）が多くなる。空白部分が多くなると、重なる確率が増え、次のレベルの形状で判定するため、処理時間が増加する。また、特許文献２に記載された従来技術では、ポリゴンデータに基づいた工作機械の仮想３次元モデルを表示していない。
本発明は、このような点に鑑みて創案されたものであり、実際の工作機械で干渉が発生する前に、仮想３次元モデルで干渉が発生することを検出可能とするために、より短い処理時間にて仮想３次元モデルにおける干渉判定を可能とする、工作機械の干渉検出装置を提供することを課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するための手段として、本発明の第１発明は、請求項１に記載されたとおりの工作機械の干渉検出装置である。
請求項１に記載の工作機械の干渉検出装置は、以下の構成を有することで、工作機械における可動体が別の可動体または固定体と干渉する前に、仮想３次元モデルにおける可動体が当該仮想３次元モデル中において別の可動体または固定体と干渉することを検出可能である、工作機械の干渉検出装置である。
対象とする工作機械における加工工具とワークの各々を保持するとともに所定の軸方向に移動可能または所定の軸回りに回転可能に構成された前記工作機械を構成する複数の可動体と、所定の位置に固定された前記工作機械を構成する複数の固定体と、の各々のポリゴンデータを含む３次元データが記憶された３次元データ記憶部。
前記可動体の各々に対応付けられているとともに当該可動体における可動状態に関する信号である可動状態信号の入力時に、対応付けられた可動体を移動させる移動方向情報または移動位置情報の少なくとも１つを含む移動情報が記憶された移動情報記憶部。
前記３次元データに基づいて仮想３次元空間に前記可動体と前記固定体とを組み付けた工作機械の仮想３次元モデルを作成可能であり、前記３次元データと前記可動状態信号と前記移動情報とに基づいて、前記工作機械の動作に同期させて、前記仮想３次元モデル中の前記可動体を動作させることが可能なモデル制御部。
前記仮想３次元モデルを表示可能な表示部。
前記仮想３次元モデルにおいて、前記可動体と、当該可動体の周囲に位置する固定体と、の形状を、前記３次元データに含まれているポリゴンデータに基づいた詳細形状から、単純化した簡易形状に置換する簡易形状置換部。
前記可動状態信号と前記移動情報とに基づいて、前記可動体の移動先の位置である移動先位置を予測する可動体位置予測部。
予測した前記移動先位置までの前記可動体の移動経路において、前記簡易形状に置換された複数の可動体の各々に対して、前記簡易形状に置換された、固定体の各々との距離、及び他の可動体との距離、を求める距離計算部。
前記簡易形状に置換された、可動体と固定体、または可動体と別の可動体とが干渉する可能性があるか否かを判定する干渉閾値を記憶する干渉閾値記憶部。
前記距離と前記干渉閾値に基づいて、前記簡易形状に置換された、可動体と固定体、または可動体と別の可動体とが干渉する可能性があるか否かを判定する干渉可能性判定部。
前記干渉可能性判定部にて干渉の可能性があると判定された場合に、前記可動体と固定体、または可動体と別の可動体を前記３次元データに含まれているポリゴンデータに基づいた詳細形状に戻して干渉するか否かを判定する詳細干渉判定部。
そして、前記ポリゴンデータに基づいた前記可動体及び固定体の詳細形状において、前記詳細形状と前記簡易形状とを重ねた場合、前記詳細形状の少なくとも一部は前記簡易形状から突出しており、前記簡易形状から突出する突出部分の突出長さが、予め設定した閾値よりも長いか否かを判定するための突出閾値を記憶する突出閾値記憶部を有し、前記詳細形状における突出部分の突出長さが前記突出閾値よりも長い場合、前記簡易形状は、前記突出部分の形状が別の簡易形状に分離されており、複数の簡易形状が組み合わされて構成されている。
【０００６】
また、本発明の第２発明は、請求項２に記載されたとおりの工作機械の干渉検出装置である。
請求項２に記載の工作機械の干渉検出装置は、請求項１に記載の工作機械の干渉検出装置であって、前記簡易形状は、前記ポリゴンデータに基づいた前記可動体及び固定体の詳細形状に対して、同体積の球、または円柱、または直方体である。
【０００７】
また、本発明の第３発明は、請求項３に記載されたとおりの工作機械の干渉検出装置である。
請求項３に記載の工作機械の干渉検出装置は、請求項１に記載の工作機械の干渉検出装置であって、前記簡易形状は、前記ポリゴンデータに基づいた前記可動体及び固定体の詳細形状における各頂点から、当該頂点に近接する簡易形状の面までの距離または距離に基づいた値の総和が最小となる球、または円柱、または直方体である。
【０００８】
また、本発明の第４発明は、請求項４に記載されたとおりの工作機械の干渉検出装置である。
請求項４に記載の工作機械の干渉検出装置は、請求項２または３に記載の工作機械の干渉検出装置であって、前記可動体または固定体の簡易形状が直方体または円柱である場合、可動体の移動方向を示す移動軸または可動体の回転軸に対して、前記直方体の各面または前記円柱の端面が直交または平行となるように前記簡易形状の向きが設定されている。
【０００９】
また、本発明の第５発明は、請求項５に記載されたとおりの工作機械の干渉検出装置である。
請求項５に記載の工作機械の干渉検出装置は、請求項３に記載の工作機械の干渉検出装置であって、前記可動体または固定体の簡易形状が直方体または円柱である場合、前記直方体または前記円柱は、体積が最小となる向きに設定されている。
【００１０】
【００１１】
また、本発明の第６発明は、請求項６に記載されたとおりの工作機械の干渉検出装置である。
請求項６に記載の工作機械の干渉検出装置は、請求項１〜５のいずれか一項に記載の工作機械の干渉検出装置であって、前記ポリゴンデータに基づいた前記可動体及び固定体の詳細形状において、前記詳細形状と前記簡易形状とを重ねた場合、前記詳細形状の少なくとも一部は前記簡易形状から突出しており、前記干渉閾値は、前記ポリゴンデータに基づいた前記可動体及び固定体の詳細形状が各簡易形状の面から突出する部分の突出長さに応じて、簡易形状の面毎に設定されている。
そして、前記干渉可能性判定部は、前記簡易形状に置換された可動体と固定体、または可動体と別の可動体との距離を求める際の面に応じた干渉閾値を用いて干渉の可能性を判定する。
【発明の効果】
【００１２】
請求項１に記載の工作機械の干渉検出装置では、通常の場合、簡易形状に置換された可動体と別の可動体、及び可動体と固定体との距離が干渉閾値よりも大きいか否かを判定する処理であるので、非常に短い処理時間で判定を行うことができる。
また、距離が干渉閾値よりも小さい場合（可動体と別の可動体、または可動体と固定体とが重なる前に（距離がゼロとなる前に））、簡易形状から詳細形状に戻して、干渉する可能性がある可動体と固定体（または別の可動体）との間で、詳細形状を用いて干渉判定を行う。このため、干渉の可能性がない固定体との判定等、不要な処理を行うことなく、必要な処理に処理時間を割り当てることができるので、より短い処理時間にて仮想３次元モデルにおける干渉判定を可能とすることができる。
【００１３】
また、請求項２または請求項３に記載の工作機械の干渉検出装置によれば、簡易形状は、対象とする可動体または固定体の詳細形状を包含する形状でなく、簡易形状と詳細形状とを重ねた場合、（簡易形状と詳細形状が同一形状でない限り）詳細形状の少なくとも一部は簡易形状から突出するものとなる。
しかし、少なくとも一部の突出部分を許容する代わりに、空白部分（簡易形状の内部であるが詳細形状の実体が無い部分）を小さくできるので、簡易形状では干渉すると判定されて詳細形状の判定に切り替えられるが詳細形状では干渉すると判定されない、という頻度を低減できる。このため、処理時間をより短縮化することができる（処理時間がかかる詳細形状による干渉判定の頻度を低減できる）。
また、干渉閾値よりも小さい場合に干渉する可能性があると判定するので、干渉閾値を適切に設定することで、簡易形状からの前記突出部分が干渉する前に、干渉の可能性があることを判定することができる。
【００１４】
また、請求項４に記載の工作機械の干渉検出装置によれば、可動体及び固定体が直方体または円柱である場合、簡易形状の面の向きを、移動軸または回転軸に直交または平行となる向きに揃えることで、２つの簡易形状の間の距離を求める処理が簡素化され、より処理時間を短縮化できる。
【００１５】
また、請求項５に記載の工作機械の干渉検出装置によれば、空白部分（簡易形状の内部であるが詳細形状の実体が無い部分）を、更に小さくできるので、簡易形状では干渉すると判定されて詳細形状の判定に切り替えられるが詳細形状では干渉すると判定されない、という頻度を、更に低減できる。
【００１６】
また、請求項１に記載の工作機械の干渉検出装置によれば、例えば、１つの可動体の簡易形状を、２つの簡易形状を組み合わせた形状とする。簡易形状は、詳細形状の少なくとも一部の突出部分を許容するが、突出長さが長い場合、干渉閾値を大きな値に設定しなければならないため、干渉する可能性があると判定される頻度が増加してしまう。しかし、突出長さが突出閾値よりも長い場合、その突出部分を別の簡易形状とすることで、干渉閾値を大きく設定する必要がなく、１つの簡易形状とするよりも複数の簡易形状とすることで空白部分がより小さくなるので処理時間をより短縮化することができる。
【００１７】
また、請求項６に記載の工作機械の干渉検出装置によれば、簡易形状の面に応じて、詳細形状の突出長さが異なる場合であっても、簡易形状の面毎の突出長さに応じた干渉閾値を用いることで、簡易形状による干渉の判定において、必要以上に干渉する可能性があると判定することを回避することができる。これにより、処理時間を短縮化することができる。
【発明を実施するための最良の形態】
【００１８】
以下に本発明を実施するための最良の形態を図面を用いて説明する。図１は、本発明の「工作機械の干渉検出装置４１（以下、干渉検出装置４１と記載する）」を備えた工作機械１の一実施の形態における外観の斜視図を示している。なお、本実施の形態では、干渉検出装置４１は工作機械制御装置４０に組み込まれている例を説明する。
また、全ての図において、Ｚ軸は加工工具７０がワークＷに切込む方向を示し、Ｙ軸は鉛直方向（上向き）を示し、Ｘ軸は、Ｚ軸とＹ軸の双方に直交する方向を示している。
また、本実施の形態の説明では、加工工具としてドリルを用い、ワークＷをドリルで加工する工作機械１を例として説明するが、これに限定されず、加工工具として砥石を用い、ワークＷを砥石で研削する工作機械等、種々の工作機械に適用できるものである。
【００１９】
●［工作機械１の外観（図１）］
図１の例に示す工作機械１は、基台２上でＸ軸方向（水平方向）に移動可能なワークテーブル２０、及びＺ軸方向（Ｘ軸に直交する水平方向）に移動可能なコラム５０を備えている。
Ｘ軸方向に移動可能なワークテーブル２０には、ワークＷ（図１中に点線で示している）が載置（固定）されている。
また、コラム５０はＹ軸方向（鉛直方向）に移動可能なサドル６０を備えており、サドル６０には、加工工具７０を把持して回転させる主軸１０を収容している主軸ハウジング１２が固定されている。
工作機械制御装置４０（数値制御装置等）は、処理手段（ＣＰＵ）、記憶手段、入力手段（キーボードやタッチパネル方式モニタ等）、表示手段４２等を備えており、記憶手段に記憶された加工プログラムに基づいて、主軸１０、ワークテーブル２０、コラム５０、サドル６０を制御して、加工工具７０を用いてワークＷを加工する。なお、主軸１０の先端には、主軸１０の回転軸（Ｚ軸方向に平行）と同軸上に、先端部でワークＷを加工する加工工具７０（この場合、ドリル）が取り付けられている。
なお、加工工具７０は工具ホルダ７２に取り付けられており、工具ホルダ７２が主軸１０の先端に取り付けられている。
【００２０】
ワークテーブル２０は、Ｘ軸移動手段ＭＸ（モータ等）によって回転するボールネジに嵌合されたナット（図示省略）を備えており、案内部材２０Ａに沿ってＸ軸方向に移動可能である。なお、工作機械制御装置４０は、検出手段ＥＸ（エンコーダ等）からの検出信号に基づいてワークテーブル２０の移動距離や位置等を把握可能であり、目標位置に位置決めするようにＸ軸移動手段ＭＸに駆動信号を出力する。
同様に、コラム５０は、Ｚ軸移動手段ＭＺ（モータ等）にて、案内部材５０Ａに沿ってＺ軸方向に移動可能であり、工作機械制御装置４０は、検出手段ＥＺ（エンコーダ等）からの検出信号に基づいて、目標位置に位置決めするようにＺ軸移動手段ＭＺに駆動信号を出力する。なお、サドル６０、Ｙ軸移動手段ＭＹ（モータ等）、案内部材６０Ａ、検出手段ＥＹも同様であるので説明を省略する。
【００２１】
工具マガジン９０には、種々の形状の加工工具７０と種々の形状の工具ホルダ７２を組み合わせた種々の工具ユニット７５が用意されている。各工具ユニット７５は、主軸１０に対して交換可能に構成されており、例えば工作機械制御装置４０は、加工プログラムにて指示された工具ユニット７５を、工具マガジン９０の回転式収容体９２の各収容部９４から自動的に選択して主軸１０に取り付けて加工を行う。なお、作業者が工具ユニット７５を選択して取り付けてもよい。
また、実際の工作機械１は全体をカバーで覆われており、この内部に図１に示すＺ軸移動手段ＭＺ等、工作機械１を構成する各パーツや、ＰＬＣ等の各周辺機器が収められており、通常ではカバーの内部を見ることはできない。
また、本実施の形態にて説明する表示手段４２はタッチパネル方式のモニタであり、入力手段４４と兼用されている。表示手段４２の表示画面４２ａには、仮想３次元座標上に表示した工作機械１の仮想３次元モデルＶ１が表示される。また、例えば、領域Ａ４４には、工作機械１の動作状態の表示や、各種の指示を入力するための操作ボタンを示すブロックが複数表示され、他のブロックの一部には、選択中の加工プログラムが表示され、現在どの行を実行中であるか識別可能に表示される。また、例えば別のブロックには、仮想３次元モデルＶ１を表示する視点位置の変更や、拡大表示または縮小表示の指示を入力するための操作ボタンとして設定されている。
【００２２】
●［工作機械制御装置４０の構成（図２）］
次に図２を用いて、工作機械制御装置４０の構成について説明する。
工作機械制御装置４０は、機能的には、図１に示す工作機械１を制御する工作機械（本体）制御機能４０ｅと、工作機械１及び周辺に設けられたＰＬＣ（プログラマブルロジックコントローラ）や各種のセンサ及びスイッチ等を含む周辺機器１Ｂを制御する周辺機器制御機能４０ｆと、仮想３次元モデルの表示及び動作を制御する仮想３次元モデル機能４０ｃと、工作機械１及び周辺機器１Ｂの異常を検出する故障診断機能４０ｄと、工作機械制御機能４０ｅ、周辺機器制御機能４０ｆ、仮想３次元モデル機能４０ｃ、故障診断機能４０ｄを管理する総合管理機能４０ａと、を有している。なお図２の例では、工作機械（本体）制御機能４０ｅと周辺機器制御機能４０ｆを合わせて工作機械制御機能４０ｂとしている。
また、工作機械制御装置４０は、物理的には工作機械（本体）制御機能４０ｅを実現するＣＮＣ装置と、周辺機器制御機能４０ｆを実現する第１パーソナルコンピュータと、仮想３次元モデル機能４０ｃと故障診断機能４０ｄを実現する第２パーソナルコンピュータと、作業者からの指示等を入力する入力手段４４と、工作機械１の動作状態や仮想３次元モデルを表示する表示手段４２等で構成されている。
【００２３】
総合管理機能４０ａは、入力手段４４から指示された入力に基づいて、工作機械１及び周辺機器１Ｂを所定の加工プログラムに従って動作させる制御信号を工作機械（本体）制御機能４０ｅ及び周辺機器制御機能４０ｆに出力する。なお、加工プログラムは、記憶手段（図示省略）に記憶されている。
そして工作機械（本体）制御機能４０ｅは、加工プログラムに基づいてＺ軸移動手段ＭＺ等を制御する駆動信号を出力するとともに位置検出器ＥＺ等からの検出信号を取り込む。また、周辺機器制御機能４０ｆも同様に、加工プログラムに基づいてＰＬＣ等に駆動信号を出力するとともに各種センサ等からの検出信号を取り込む。
【００２４】
なお、図２の例に示すように、仮想３次元モデル機能４０ｃと故障診断機能４０ｄを実現する第２パーソナルコンピュータは、工作機械（本体）制御機能４０ｅを実現するＣＮＣ装置と周辺機器制御機能４０ｆを実現する第１パーソナルコンピュータから、各パーツ（可動パーツ）の位置を示す現在位置情報や、各種の固有の設定情報を示すパラメータ情報や、工作機械１や周辺機器１Ｂのシステムに固有の変数を示すシステム変数情報や、ＰＬＣ装置の入力と出力の状態を示すＰＬＣのＩ／Ｏ情報等、種々の情報を取り込み、仮想３次元モデルの表示に使用することができる。
また、故障診断機能４０ｄは、工作機械１及び周辺機器１Ｂへの駆動信号、及び工作機械１及び周辺機器１Ｂからの検出信号を取り込み、各種の異常判定を行う。異常が判定されると、総合管理機能４０ａから工作機械（本体）制御機能４０ｅ及び周辺機器制御機能４０ｆを停止させるための制御信号が出力される。
【００２５】
●［干渉検出装置４１の構成と、干渉判定処理の手順（図３〜図５）］
図３に示すように、干渉検出装置４１は、工作機械制御装置４０に組み込まれている仮想３次元モデル機能４０ｃと、記憶手段４８にて構成される。
記憶手段４８には、工作機械１（及び周辺機器１Ｂ）を構成する各パーツ（可動体、及び固定体）に対応させて、パーツ識別データとポリゴンデータ（パーツの形状やサイズに関するデータ及びパーツの組み付け位置や方向に関するデータ）を含む３次元データが３次元データ記憶部４８Ａに記憶されている。
仮想３次元モデル機能４０ｃのモデル制御部４６Ａは、仮想３次元座標上において、パーツ識別データに対応するパーツを、ポリゴンデータに基づいた形状及びサイズで表現し、ポリゴンデータに基づいた位置や方向に組み付け、仮想３次元座標上で工作機械１の仮想３次元モデルを形成し、総合管理機能４０ａを介して表示手段４２に表示する。
また、モデル制御部４６Ａは、可動するパーツに対しては、実際の工作機械１（及び周辺機器１Ｂ）に出力される駆動信号や、前記駆動信号を出力する前に工作機械（本体）制御機能４０ｅが求めた指令値や、実際の工作機械１に設けられたセンサ等からの検出信号等、可動状態に関する信号である可動状態信号を取り込み、仮想３次元座標上で可動させて表示することで、実際の工作機械１（及び周辺機器１Ｂ）の動作に合わせて（同期させて）仮想３次元モデルをシミュレート動作させて表示手段４２に表示する。
なお、記憶手段４８には、可動体に対応させて、可動状態信号と、当該可動状態信号が入力時に移動する方向を示す移動方向情報または移動先の位置を示す移動位置情報の少なくとも１つを含む移動情報が移動情報記憶部４８Ｂに記憶されている。
なお、工作機械１における可動体は、加工工具７０またはワークＷを保持するとともに所定の軸方向に移動可能または所定の軸回りに回転可能に構成された構造体である。
【００２６】
次に、上記に説明したようにモデル制御部４６Ａが工作機械１の動作に同期させて工作機械１の仮想３次元モデルを動作させている状態において、可動体の干渉判定を行う手順を、図３及び図４を用いて説明する。
図４に示すフローチャートのステップＳ１０にて、可動体位置予測部４６Ｃが、可動状態信号を取得し、ステップＳ２０に進む。
ステップＳ２０にて可動体位置予測部４６Ｃは、取得した可動状態信号と、移動情報記憶部４８Ｂに記憶されている移動情報から、可動体の移動先の位置である移動先位置を予測する。なお、ステップＳ８０またはステップＳ９０の処理が完了するまで、実際の工作機械１の可動体が移動先位置に到達しないタイミングで、可動体の位置を予測し、ステップＳ３０に進む。
【００２７】
また、簡易形状置換部４６Ｂは、仮想３次元モデルを構成している可動体と、当該可動体の周囲に位置する固定体との形状を、ポリゴンデータ（３次元データ記憶部４８Ａに記憶されている）に基づいた詳細形状から、簡易形状データ記憶部４８Ｃに記憶されている簡易形状データに基づいた簡易形状（単純化された形状）に置換して距離計算部４６Ｄ及び干渉可能性判定部４６Ｅに出力している。なお、簡易形状置換部４６Ｂにて、３次元データ記憶部４８Ａに記憶されたポリゴンデータから簡易形状データを自動生成するように構成してもよい。
また、表示手段４２には、モデル制御部４６Ａによるポリゴンデータから形成したリアルな詳細形状で仮想３次元モデル中の可動体及び固定体を表示させて動作させ、表示手段４２には表示しないバックグラウンドの処理にて、詳細形状から置換された簡易形状で干渉判定を行う。
本実施の形態では、図５の例に示すように、一体となって可動する工具ユニット７５（加工工具７０＋工具ホルダ７２）と、主軸ユニット１５（主軸１０＋主軸ハウジング１２）と、サドル６０を可動体α（この場合、可動体αは詳細形状）に設定し、同じく一体となって可動するワークＷとワークテーブル２０を可動体β（この場合、可動体βは詳細形状）に設定している。そして、簡易形状置換部４６Ｂは、詳細形状で表している可動体αの形状を簡易形状α´に置換し、詳細形状で表している可動体βの形状を簡易形状β´に置換している（図５（Ｃ）参照）。なお、簡易形状の形成方法については後述する。
また、実際の工作機械１において可動体α、可動体βの周囲には種々の固定体Ａ〜Ｎが存在しており、簡易形状置換部４６Ｂは、固定体Ａ〜Ｎの形状を簡易形状Ａ´〜Ｎ´に置換するが、図５では図示省略している。
【００２８】
次に図４におけるステップＳ３０にて、距離計算部４６Ｄは、可動体αの簡易形状α´と可動体βの簡易形状β´、簡易形状α´と固定体Ａ〜Ｎの簡易形状Ａ´〜Ｎ´の各々、及び簡易形状β´と簡易形状Ａ´〜Ｎ´の各々、との各組み合わせにて、間の距離を求め、ステップＳ４０に進む。固定体と固定体との間の距離は変化しないので、可動体と可動体、及び可動体と固定体、の組み合わせにおける各々での間の距離を求める。簡易形状にて距離を求めるため、ポリゴンデータに基づいた詳細形状にて間の距離を求める場合よりも、精度はやや落ちるが、格段に短い処理時間で求めることができる。
そしてステップＳ４０にて、干渉可能性判定部４６Ｅは、求めた距離の各々が、全て干渉閾値以上であるか否かを判定する。干渉閾値は、記憶手段４８の干渉閾値記憶部４８Ｅに記憶されている。全ての距離が干渉閾値以上である場合（Ｙｅｓ）、可動体α及び可動体βはどこにも干渉しないと判断し、ステップＳ９０に進む。干渉閾値未満の距離がある場合（Ｎｏ）、可動体αまたは可動体βは干渉する可能性があると判断し、ステップＳ５０に進む。
【００２９】
ステップＳ５０に進んだ場合、干渉閾値未満と判定された組み合わせの物体（可動体と可動体、または可動体と固定体）を抽出する。例えば、簡易形状α´と簡易形状Ａ´、簡易形状β´と簡易形状Ｃ´の組み合わせで干渉閾値未満と判定された場合、可動体αと固定体Ａ、可動体βと固定体Ｃ、という具合に組み合わせを抽出する。
そしてステップＳ６０では、抽出した組み合わせの可動体と固定体（または可動体と可動体）の形状を、詳細干渉判定部４６Ｆにてポリゴンデータに基づいた詳細形状に戻し、簡易形状よりも非常に正確な形状である詳細形状に戻して、干渉閾値未満と判定された組み合わせの詳細形状において干渉するか否かを判定する。なお、戻した詳細形状の位置に関する情報は、可動体位置予測部４６Ｃから取り込む。この場合の干渉判定は、ポリゴンデータに基づいた判定であるので、２つの物体が重なるか否か（接触するか否か）、あるいは干渉閾値よりも小さな衝突閾値を設定し、衝突閾値未満であるか否か、を判定する。
ステップＳ７０にて、詳細干渉判定部４６Ｆは、詳細形状での干渉判定の結果、干渉すると判定された組み合わせが１つでもある場合（Ｙｅｓ）、ステップＳ８０に進む。干渉すると判定された組み合わせが１つも無い場合（Ｎｏ）、ステップＳ９０に進む。
ステップＳ８０に進んだ場合、工作機械（本体）制御機能４０ｅにおける、可動体αまたは可動体βを移動または回転させる出力指令のいずれかによって、可動体が干渉すると予測されたため、例えば工作機械１の動作を停止させる信号を総合管理機能４０ａに出力し、工作機械（本体）制御機能４０ｅからの出力指令を禁止させる。
また、ステップＳ９０に進んだ場合は、例えば可動体α及び可動体βを移動または回転させる工作機械（本体）制御機能４０ｅからの出力指令の出力を許可する信号（出力を禁止させない信号）を総合管理機能４０ａに出力する。
【００３０】
以上に説明したように、本実施の形態では、まず干渉判定の処理時間が短時間で済む簡易形状で干渉する可能性があるか否か（干渉するか否かでなく、可能性があるか否か）を判定し、干渉の可能性すらない場合は、干渉しない、と直ちに判断する。また、干渉の可能性があると判断した場合は、本当に干渉するか否か、詳細形状を用いて判断し、無用な処理を行わないので、干渉判定全体としての処理時間を短縮化することができる。
また、本実施の形態では、簡易形状の形成方法（以下に説明する）にも特徴があり、干渉の可能性があると判定される頻度を、より少なくしているので、更に処理時間を短縮化している。
【００３１】
●［簡易形状の形成方法（図６）］
図６（Ａ）は本実施の形態の簡易形状の形成方法の例を示しており、図６（Ｂ）は従来の簡易形状の形成方法を示している。どちらも、点線で示した形状はポリゴンデータに基づいた詳細形状を示しており、実線で示した形状は簡易形状を示している（詳細形状はどちらも同じとしている）。
詳細形状と簡易形状とを重ねた場合、従来の簡易形状は、図６（Ｂ）に示したように、詳細形状を内包する形状であり、簡易形状の面から、詳細形状の一部が突出することがなく、詳細形状の全体が簡易形状内に収まっている。しかし、詳細形状を内包する形状であるため、簡易形状の内部において、詳細形状との空白部分（詳細形状が存在しない部分）の体積が大きくなる。このため、簡易形状を用いた干渉判定（この場合、干渉閾値未満の距離で判定するのでなく、他の簡略形状と重なるか否かで判定）において、簡易形状が重なる頻度が増加する。そして、簡易形状では重なる（干渉の可能性あり）と判定されるが、詳細形状では重ならない（実際には干渉しない）と判定される場合の頻度が比較的多くなる。詳細形状の判定を行う頻度が増加すると、処理時間が増加するため、好ましくない。
【００３２】
そこで、本実施の形態では、この空白部分を低減するように簡易形状を形成する。すなわち、図６（Ａ）にて実線で示すように、詳細形状と簡易形状とを重ねた場合、詳細形状を内包しない簡易形状とする。
例えば、詳細形状とほぼ同体積となるような球、または円柱、または直方体にて簡易形状を形成する。この場合、詳細形状の少なくとも一部が簡易形状から突出するため、簡易形状の重なりで干渉を判定すると、既に干渉している可能性があるため、上記に説明したように、干渉閾値未満であるか否かで判定する。干渉閾値を適切に設定すれば、例えば図６（Ｂ）にハッチングで示す最外空白部分Ｍのエリアによる、簡易形状での干渉が判定されなくなるので、簡易形状では干渉する可能性ありと判定されるが詳細形状では干渉しないと判定される頻度を低減できるので、処理時間をより短縮化することができる。
なお、簡易形状の体積は詳細形状と同体積であることが好ましいが、誤差として許容されるレベルの体積差があってもよい。
【００３３】
上記では詳細形状とほぼ同体積となるように簡易形状を形成したが、他にも、詳細形状における各頂点（曲面の場合は極点や変曲点）から、当該頂点に近接する簡易形状の面までの距離の総和あるいは距離に基づいた値の総和（例えば、距離の２乗の総和）がほぼ最小となるような球、または円柱、または直方体にて簡易形状を形成してもよい。この場合も、詳細形状の一部が簡易形状から突出するが、上記に説明したように、簡易形状では干渉する可能性ありと判定されるが、詳細形状では干渉しないと判定される頻度を低減できるので、処理時間をより短縮化することができる。
なお、上記の「詳細形状における各頂点から、当該頂点に近接する簡易形状の面までの距離の総和あるいは距離に基づいた値の総和」は最小となることが好ましいが、誤差として許容されるレベルの多少の距離の差があってもよい。
【００３４】
干渉閾値を１つだけ用いる場合は、詳細形状が簡易形状から突出する長さの最大値に基づいて決められている。
なお、簡易形状から突出する詳細形状の長さは、簡易形状における面毎に異なる。このため、干渉可能性判定部による干渉閾値未満であるか否かの判定において、簡易形状毎に且つ簡易形状の面毎に干渉閾値を設定しておき、判定する簡易形状の面に応じた干渉閾値を用いて判定すると、更に処理時間を短縮化することができる。例えば、図６（Ａ）の例の場合、簡易形状の正面では干渉閾値Ｓｚ＋Δ（Δは誤差を考慮したマージン）を用い、上面では干渉閾値Ｓｙ＋Δを用い、右側面では干渉閾値Ｓｘ＋Δを用いる。
また、例えば可動体αの干渉閾値α１の面と、固定体Ａの干渉閾値Ａ１の面との干渉可能性の判定では、干渉閾値＝干渉閾値α１＋干渉閾値Ａ１として、面毎に設定された干渉閾値を加算した値を用いるようにしてもよい。
【００３５】
なお、図５に示す可動体αの例のように、詳細形状において棒状の細長部材（この場合、工具ユニット７５）を有する場合、例えば詳細形状と同体積となるような簡易形状を形成した場合、細長部材の簡易形状からの突出長さが長くなり、干渉閾値を大きく設定しなければならなくなる。干渉閾値を大きくすると、詳細形状での干渉判定の頻度が増加するため、処理時間が長くなるので好ましくない。
そこで、簡易形状から突出する突出部分の突出長さが、予め設定した突出閾値よりも長い場合、この突出部分を別の簡易形状に分離する。図５の例では、工具ユニット７５、主軸ユニット１５、サドル６０にて構成された可動体αの簡易形状α´を、簡易形状７５´と簡易形状１５´と簡易形状６０´の３つの簡易形状を組み合わせて形成している。
これにより、空白部分を更に低減することができる。
なお、分離した簡易形状の各々にて、体積を同じとする場合は簡易形状の体積と詳細形状の体積とが同体積であることが好ましいが、誤差として許容されるレベルの体積差があってもよい。また同様に、分離した簡易形状の各々にて、「詳細形状における各頂点から、当該頂点に近接する簡易形状の面までの距離の総和あるいは距離に基づいた値の総和」を最小とする場合は、当該総和が最小となることが好ましいが、誤差として許容されるレベルの多少の距離の差があってもよい。
【００３６】
以上に説明したように、干渉閾値は、簡易形状の各面の中で最も詳細形状の突出長さが長い部分をもとに１つだけ設定してもよいし、簡易形状の各面の詳細形状の突出長さに応じて面毎に設定してもよい（例えば、簡易形状が球なら１つ、円柱ならば３つ、直方体ならば６つの面毎に干渉閾値を設定してもよい。なお、複数の簡易形状を組み合わせた場合は、複数の簡易形状のそれぞれの面に対して干渉閾値を設定してもよい）。
【００３７】
また、更に処理時間を短縮化するために、簡易形状が直方体または円柱である場合、可動体の移動方向を示す移動軸または可動体の回転軸に対して、直方体の各面または円柱の端面が直交または平行となるように簡易形状の向きを設定してもよい。この場合、２つの簡易形状の間の距離を求める演算が簡略化されるので、処理時間を更に短縮化することができる。
あるいは、簡易形状が直方体または円柱である場合、直方体または円柱の体積がほぼ最小となる向き（空白部分が最小となる向き）に設定してもよい。なお、この場合、簡易形状を詳細形状とほぼ同体積に形成した場合は除外する。この場合、「詳細形状における各頂点から、当該頂点に近接する簡易形状の面までの距離の総和あるいは距離に基づいた値の総和」が最小となるように簡易形状を設定することになり、前記総和と簡易形状の体積とが、それぞれ最小となることが好ましいが、誤差として許容されるレベルの多少の差があってもよい。
【００３８】
本発明の工作機械の干渉検出装置４１は、本実施の形態で説明した構成、処理等に限定されず、本発明の要旨を変更しない範囲で種々の変更、追加、削除が可能である。
また、本実施の形態にて説明した処理手順は、図４の例に示したフローチャートに限定されるものではない。
また、本実施の形態の説明では、ワークＷに対して加工工具７０をＺ軸方向に移動させたが、加工工具７０に対してワークＷをＺ軸方向に移動させる構成にすることもできる。従って、加工工具７０はワークＷに対して相対的にＺ軸方向に移動するものである。同様に、加工工具７０はワークＷに対して相対的にＸ軸方向に移動するものであり、加工工具７０はワークＷに対して相対的にＹ軸方向に移動するものである。
【産業上の利用可能性】
【００３９】
本実施の形態の説明では、加工工具としてドリルを用い、加工工具に対してワークＷを相対的にＸ軸方向、Ｙ軸方向、Ｚ軸方向に移動させて加工を行う工作機械を例として説明したが、ワークＷを回転させて加工工具としてバイトを用いた工作機械や、ワークＷを回転させて加工工具として砥石を用いた工作機械等、種々の工作機械に適用することができる。
【図面の簡単な説明】
【００４０】
【図１】工作機械１の外観の例を説明する図である。
【図２】工作機械制御装置４０の構成の例を説明する図である。
【図３】干渉検出装置４１の構成の例を説明する図である。
【図４】干渉検出装置４１による干渉判定処理の手順を説明するフローチャートである。
【図５】詳細形状で表した可動体α、可動体βの例と、この可動体α、可動体βを簡易形状の可動体α´、可動体β´で表した例を説明する図である。
【図６】簡易形状を形成する例を説明する図である。
【符号の説明】
【００４１】
１        工作機械
１Ｂ      周辺機器
２        基台
１０      主軸
１２      主軸ハウジング
１５      主軸ユニット
２０      ワークテーブル
４０      工作機械制御装置
４１      干渉検出装置
４２      表示手段
４２ａ    表示画面
４４      入力手段
４８      記憶手段
５０      コラム
６０      サドル
２０Ａ、５０Ａ、６０Ａ    案内部材
７０      加工工具
７２      工具ホルダ
７５      工具ユニット
９０      工具マガジン
ＭＸ      Ｘ軸移動手段
ＭＹ      Ｙ軸移動手段
ＭＺ      Ｚ軸移動手段
ＥＸ、ＥＹ、ＥＺ    検出手段
Ｗ        ワーク
Ｖ１      仮想３次元モデル
【図１】
0005167767.tif 000002
【図２】
0005167767.tif 000003
【図３】
0005167767.tif 000004
【図４】
0005167767.tif 000005
【図５】
0005167767.tif 000006
【図６】
0005167767.tif 000007