JP5167788B2 - 工作機械の干渉検出装置 - Google Patents

工作機械の干渉検出装置 Download PDF

Info

Publication number
JP5167788B2
JP5167788B2 JP2007310529A JP2007310529A JP5167788B2 JP 5167788 B2 JP5167788 B2 JP 5167788B2 JP 2007310529 A JP2007310529 A JP 2007310529A JP 2007310529 A JP2007310529 A JP 2007310529A JP 5167788 B2 JP5167788 B2 JP 5167788B2
Authority
JP
Japan
Prior art keywords
interference
movable body
map
movable
machine tool
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.)
Expired - Fee Related
Application number
JP2007310529A
Other languages
English (en)
Other versions
JP2009134542A (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.)
JTEKT Corp
Original Assignee
JTEKT 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 JTEKT Corp filed Critical JTEKT Corp
Priority to JP2007310529A priority Critical patent/JP5167788B2/ja
Publication of JP2009134542A publication Critical patent/JP2009134542A/ja
Application granted granted Critical
Publication of JP5167788B2 publication Critical patent/JP5167788B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、工作機械における可動部の移動や回転による干渉(衝突)を検出する、工作機械の干渉検出装置に関する。
従来より、数値制御装置(NC装置)を備えた工作機械を用いてワークを加工する場合、ワークまたは加工工具の少なくとも一方を移動させて加工を行う。この場合、予めプログラムされた加工軌跡に従ってワークまたは加工工具を自動的に移動させて加工を行う自動運転モードと、作業者が手動でワークまたは加工工具を移動させて加工を行う手動運転モードとがある。
どちらの運転モードも、限られた空間内でワークまたは加工工具を複雑に移動させるため、移動させたワークや加工工具が、互いに干渉(衝突)したり、いずれかが工作機械内の他の部品(固定体に相当)に干渉したりする可能性がある。
このため、従来から種々の干渉検出装置あるいは干渉検出方法が提案されている。
例えば、特許文献1に記載された従来技術では、加工工具、ワーク、工作機械を構成する構造体(固定体に相当)に係る3次元モデルデータを記憶し、工具、ワーク、構造体の相互間における干渉関係を定義した干渉データを記憶している。そして、少なくとも1ブロック分進んだブロックの動作指令を受信して、実際の工作機械の動作の一歩先の動作を3次元モデルデータで動作させて、干渉するか否かを確認している。
特開2006−004128号公報
特許文献1に記載された従来技術では、3次元モデルデータを用いた詳細な形状で干渉するか否かを確認しているが、ポリゴンデータに基づいた詳細形状の3次元モデルデータを用いた場合は演算量が非常に多く、処理に時間がかかる。干渉しないことが明らかな位置に可動体が移動している場合にポリゴンデータに基づいた詳細形状で干渉判定を行うことは、処理時間の無駄であるとともに、本当に干渉するかも知れない場合の判定処理が遅れる可能性がある。
本発明は、このような点に鑑みて創案されたものであり、実際の工作機械で干渉が発生する前に干渉が発生することを予測可能とするために、より短い処理時間にて干渉判定を可能とする、工作機械の干渉検出装置を提供することを課題とする。
上記課題を解決するための手段として、本発明の第1発明は、請求項1に記載されたとおりの工作機械の干渉検出装置である。
請求項1に記載の工作機械の干渉検出装置は、所定の空間内で所定の軸方向に移動可能または所定の軸回りに回転可能に構成されて予め基準点が設定された単数または複数の可動体と、前記所定の空間内に固定された単数または複数の固定体と、を有する工作機械の干渉検出装置であって、前記所定の空間内には予め複数のマップ点が設定されており、各マップ点には前記可動体の基準点がマップ点と一致する位置となった場合に前記可動体が周囲の固定体と干渉するか否かを示す干渉情報が、各マップ点に対応させて設定されており、前記工作機械における前記可動体が前記固定体と干渉する前に、干渉することを予測可能な、以下の構成を有する工作機械の干渉検出装置である。
前記可動体の各々に対応付けられているとともに当該可動体における可動状態に関する信号である可動状態信号の入力時に、対応付けられた可動体を移動させる移動方向情報または移動位置情報または移動量情報の少なくとも1つを含む移動情報が記憶された移動情報記憶部。
前記可動体毎の複数のマップ点が設定された干渉マップが前記可動体毎に記憶された干渉マップ記憶部。
前記可動状態信号と前記移動情報とに基づいて、前記可動体の基準点の移動先の位置である移動先位置を予測する可動体位置予測部。
予測した前記移動先位置と前記干渉マップとに基づいて、前記可動体が前記移動先で前記固定体と干渉するか否かを判定する干渉マップ判定部。
前記可動体と前記固定体と、の各々のポリゴンデータを含む3次元データが記憶された3次元データ記憶部。
前記3次元データに基づいて仮想3次元空間に前記可動体と前記固定体とを組み付けた工作機械の仮想3次元モデルを作成可能であり、前記3次元データと前記可動状態信号と前記移動情報とに基づいて、前記工作機械の動作に同期させて、前記仮想3次元モデル中の前記可動体を動作させることが可能なモデル制御部。
前記可動体の基準点の位置が、前記干渉マップ内の領域内であるが前記マップ点と一致しない位置となった場合、前記基準点の位置の周囲に近接している複数のマップ点を抽出し、抽出したマップ点の数と、抽出した各マップ点における前記干渉情報と、前記基準点と前記抽出したマップ点までの各々の距離と、に基づいて、当該基準点の位置においてどの程度の干渉可能性があるかを数値で示した干渉度合いを求める干渉度合い演算部。
求めた干渉度合いに基づいて前記可動体が干渉する可能性があるか否かを判定するための干渉閾値が記憶された干渉閾値記憶部。
前記干渉度合いが前記干渉閾値以上である場合に前記可動体が干渉する可能性があると判定する干渉可能性判定部。
前記干渉可能性判定部にて干渉する可能性があると判定された場合に、前記ポリゴンデータに基づいた前記可動体と前記固定体の詳細形状と、前記可動体の移動先位置と、を用いて前記可動体と前記固定体と、が干渉するか否かを判定する詳細干渉判定部。
また、本発明の第2発明は、請求項2に記載されたとおりの工作機械の干渉検出装置である。
請求項2に記載の工作機械の干渉検出装置は、所定の空間内で所定の軸方向に移動可能または所定の軸回りに回転可能に構成されて予め基準点が設定された、少なくとも第1可動体と第2可動体の2つを含む可動体を有し、前記第1可動体が前記第2可動体と干渉する前に、干渉することを予測可能な、以下の構成を有する工作機械の干渉検出装置である。
前記可動体の各々に対応付けられているとともに当該可動体における可動状態に関する信号である可動状態信号の入力時に、対応付けられた可動体を移動させる移動方向情報または移動位置情報または移動量情報の少なくとも1つを含む移動情報が記憶された移動情報記憶部。
前記第1可動体の基準点の位置に対する前記第2可動体の基準点の複数の相対位置に設定した複数のマップ点を有し、当該マップ点の各々に対して前記第1可動体と前記第2可動体とが干渉するか否かを示す干渉情報が設定された可動体相互干渉マップ、あるいは前記第2可動体の基準点の位置に対する前記第1可動体の基準点の複数の相対位置に設定した複数のマップ点を有し、当該マップ点の各々に対して前記第1可動体と前記第2可動体とが干渉するか否かを示す干渉情報が設定された可動体相互干渉マップ、の少なくとも一方が記憶された干渉マップ記憶部。
前記可動状態信号と前記移動情報とに基づいて、各々の可動体の基準点の移動先の位置である移動先位置を予測する可動体位置予測部。
前記第1可動体の移動先位置と、前記第2可動体の移動先位置と、前記可動体相互干渉マップと、に基づいて前記第1可動体と前記第2可動体とが干渉するか否かを判定する可動体相互干渉判定部。
前記第1可動体と前記第2可動体と、の各々のポリゴンデータを含む3次元データが記憶された3次元データ記憶部。
前記3次元データに基づいて仮想3次元空間に少なくとも前記第1可動体と前記第2可動体とを組み付けた仮想3次元モデルを作成可能であり、前記3次元データと前記可動状態信号と前記移動情報とに基づいて、前記工作機械の動作に同期させて、前記仮想3次元モデル中の前記可動体を動作させることが可能なモデル制御部。
前記可動体の基準点の位置が、前記可動体相互干渉マップ内の領域内であるが前記マップ点と一致しない位置となった場合、前記基準点の位置の周囲に近接している複数のマップ点を抽出し、抽出したマップ点の数と、抽出した各マップ点における前記干渉情報と、前記基準点と前記抽出したマップ点までの各々の距離と、に基づいて、当該基準点の位置においてどの程度の干渉可能性があるかを数値で示した干渉度合いを求める干渉度合い演算部。
求めた干渉度合いに基づいて前記可動体が干渉する可能性があるか否かを判定するための干渉閾値が記憶された干渉閾値記憶部。
前記干渉度合いが前記干渉閾値以上である場合に前記可動体が干渉する可能性があると判定する干渉可能性判定部。
前記干渉可能性判定部にて干渉する可能性があると判定された場合に、前記ポリゴンデータに基づいた前記第1可動体と前記第2可動体の詳細形状と、前記可動体の移動先位置と、を用いて前記第1可動体と前記第2可動体と、が干渉するか否かを判定する詳細干渉判定部。
また、本発明の第3発明は、請求項3に記載されたとおりの工作機械の干渉検出装置である。
請求項3に記載の工作機械の干渉検出装置は、請求項1または2に記載の工作機械の干渉検出装置であって、前記可動体は、前記工作機械における加工工具を含む加工ユニットと、当該加工工具によって加工されるワークを含むワークユニットと、を少なくとも含む。
また、本発明の第4発明は、請求項4に記載されたとおりの工作機械の干渉検出装置である。
請求項4に記載の工作機械の干渉検出装置は、請求項3に記載の工作機械の干渉検出装置であって、前記ワークユニットにおける前記ワークは、所定の軸回りに回転可能であり、前記干渉マップ記憶部には、前記ワークユニットの基準点の位置に対する前記加工ユニットの基準点の複数の相対位置に設定した複数のマップ点を有し、当該マップ点の各々に対して前記加工ユニットと前記ワークユニットとが干渉するか否かを示す干渉情報が設定された可動体相互干渉マップが記憶されているとともに、前記ワークの回転角度に対応させて複数の可動体相互干渉マップが記憶されている。
そして、前記可動体相互干渉判定部は、前記ワークの回転角度に応じた可動体相互干渉マップを選択して、前記加工ユニットの移動先位置と、前記ワークユニットの移動先位置と、選択した可動体相互干渉マップと、に基づいて前記加工ユニットと前記ワークユニットとが干渉するか否かを判定する。
また、本発明の第5発明は、請求項5に記載されたとおりの工作機械の干渉検出装置である。
請求項5に記載の工作機械の干渉検出装置は、請求項1〜4のいずれか一項に記載の工作機械の干渉検出装置であって、前記詳細干渉判定部にて前記詳細形状を用いて干渉するか否かを判定した前記可動体の基準点の位置と、当該位置に対応させた前記判定の結果である干渉情報とを、新たなマップ点として対象となる干渉マップあるいは可動体相互干渉マップに追加して記憶するマップ点追加部を有する。
また、本発明の第6発明は、請求項6に記載されたとおりの工作機械の干渉検出装置である。
請求項6に記載の工作機械の干渉検出装置は、請求項1〜4のいずれか一項に記載の工作機械の干渉検出装置であって、前記仮想3次元空間内に作成した仮想3次元モデルを用いて、前記仮想3次元空間における前記所定の空間内で前記可動体の詳細形状を前記所定の軸方向にスイープまたは前記所定の軸回りに回転させて前記干渉マップまたは前記可動体相互干渉マップを作成する干渉マップ作成部を有する。
また、本実施の形態に記載の干渉マップは、所定の空間内で所定の軸方向に移動可能または所定の軸回りに回転可能に構成されて予め基準点が設定された単数または複数の可動体と、前記所定の空間内に固定された単数または複数の固定体と、の干渉判定に使用可能な干渉マップである。
そして、前記所定の空間内には予め複数のマップ点が設定されており、各マップ点には前記可動体の基準点がマップ点と一致する位置となった場合に前記可動体が周囲の固定体と干渉するか否かを示す干渉情報が、各マップ点に対応させて設定されているとともに前記可動体毎に設定されており、前記マップ点のいずれかと前記可動体の基準点の位置とが一致した場合に当該マップ点に対応する干渉情報から、当該可動体が前記固定体と干渉するか否かを判定することに使用可能な、干渉マップである。
請求項1に記載の工作機械の干渉検出装置では、予め設定した干渉マップを用いて、可動体が固定体に接近した場合に、非常に短い処理時間で干渉するか否かを判定することができる。
また、請求項2に記載の工作機械の干渉検出装置によれば、第1可動体が第2可動体と干渉するか否かを、可動体相互干渉マップを用いて、各々の可動体の基準点の相対位置に応じて適切に判定することができる。
また、請求項3に記載の工作機械の干渉検出装置によれば、実際の加工条件に、より近い状態の干渉マップとなるので、より適切に干渉を判定できる。
また、請求項4に記載の工作機械の干渉検出装置によれば、例えば、工作機械が円筒研削盤の場合、回転するワークの回転角度に応じて可動体相互干渉マップを選択する。
これにより、ワークが回転してワークユニットと加工ユニットとが干渉する相対位置が変化する工作機械であっても、ワークユニットと加工ユニットとの干渉を適切に判定することができる。
また、請求項1または請求項2に記載の工作機械の干渉検出装置によれば、可動体の基準点がマップ点と一致しない位置となった場合であっても、可動体が固定体と干渉する可能性があるか否か、または第1可動体が第2可動体と干渉する可能性があるか否か、を適切に判定することが可能である。そして、干渉の可能性があると判定された場合に、ポリゴンデータに基づいた詳細形状で干渉するか否かを判定することで、無駄な処理時間を費やすことなく、干渉するか否かを適切に判定することができる。
また、請求項5に記載の工作機械の干渉検出装置によれば、請求項1または請求項2にて行ったポリゴンデータの詳細形状による干渉判定結果、及びその位置(可動体の基準点の位置)を、新たなマップ点として干渉マップあるいは可動体相互干渉マップに追加することで、干渉マップを自動的に充実させていくことができる。
これにより、干渉マップによる判定時間の短縮化(追加したマップ点に基準点が位置した場合)、及び判定精度の向上(マップ点の追加で干渉度合いの演算精度の向上が期待できる)に効果がある。
また、請求項6に記載の工作機械の干渉検出装置によれば、仮想3次元モデルを用いて、干渉マップまたは可動体相互干渉マップを、比較的容易に得ることができる。
また、本実施の形態に記載の干渉マップによれば、請求項1〜6のいずれかに記載の工作機械の干渉検出装置を含めて、干渉検出を行う必要がある種々の装置において、所定空間内で移動する可動体と、当該所定空間内の固定体との干渉判定を短時間に行うことが容易である。
以下に本発明を実施するための最良の形態を図面を用いて説明する。図1は、本発明の「工作機械の干渉検出装置41(以下、干渉検出装置41と記載する)」を備えた工作機械1の一実施の形態における外観の斜視図を示している。なお、本実施の形態では、干渉検出装置41は工作機械制御装置40に組み込まれている例を説明する。
また、全ての図において、Z軸は加工工具70がワークWに切込む方向を示し、Y軸は鉛直方向(上向き)を示し、X軸は、Z軸とY軸の双方に直交する方向を示している。
また、本実施の形態の説明では、加工工具としてドリルを用い、ワークWをドリルで加工する工作機械1を例として説明するが、これに限定されず、加工工具として砥石を用い、ワークWを砥石で研削する円筒研削盤等、種々の工作機械に適用できるものである。
●[工作機械1の外観(図1)]
図1の例に示す工作機械1は、基台2上でX軸方向(水平方向)に移動可能なワークテーブル20、及びZ軸方向(X軸に直交する水平方向)に移動可能なコラム50を備えている。
X軸方向に移動可能なワークテーブル20には、ワークW(図1中に点線で示している)が載置(固定)されている。
また、コラム50はY軸方向(鉛直方向)に移動可能なサドル60を備えており、サドル60には、加工工具70を把持して回転させる主軸10を収容している主軸ハウジング12が固定されている。そして主軸10と主軸ハウジング12とで主軸ユニット15を形成する。
工作機械制御装置40(数値制御装置等)は、処理手段(CPU)、記憶手段、入力手段(キーボードやタッチパネル方式モニタ等)、表示手段42等を備えており、記憶手段に記憶された加工プログラムに基づいて、主軸10、ワークテーブル20、コラム50、サドル60を制御して、加工工具70を用いてワークWを加工する。なお、主軸10の先端には、主軸10の回転軸(Z軸方向に平行)と同軸上に、先端部でワークWを加工する加工工具70(この場合、ドリル)が取り付けられている。
なお、加工工具70は工具ホルダ72に取り付けられており、工具ホルダ72が主軸10の先端に取り付けられている。
ワークテーブル20は、X軸移動手段MX(モータ等)によって回転するボールネジに嵌合されたナット(図示省略)を備えており、案内部材20Aに沿ってX軸方向に移動可能である。なお、工作機械制御装置40は、検出手段EX(エンコーダ等)からの検出信号に基づいてワークテーブル20の移動距離や位置等を把握可能であり、目標位置に位置決めするようにX軸移動手段MXに駆動信号を出力する。
同様に、コラム50は、Z軸移動手段MZ(モータ等)にて、案内部材50Aに沿ってZ軸方向に移動可能であり、工作機械制御装置40は、検出手段EZ(エンコーダ等)からの検出信号に基づいて、目標位置に位置決めするようにZ軸移動手段MZに駆動信号を出力する。なお、サドル60、Y軸移動手段MY(モータ等)、案内部材60A、検出手段EYも同様であるので説明を省略する。
工具マガジン90には、種々の形状の加工工具70と種々の形状の工具ホルダ72を組み合わせた種々の工具ユニット75が用意されている。各工具ユニット75は、主軸10に対して交換可能に構成されており、例えば工作機械制御装置40は、加工プログラムにて指示された工具ユニット75を、工具マガジン90の回転式収容体92の各収容部94から自動的に選択して主軸10に取り付けて加工を行う。なお、作業者が工具ユニット75を選択して取り付けてもよい。
また、実際の工作機械1は全体をカバーで覆われており、この内部に図1に示すZ軸移動手段MZ等、工作機械1を構成する各パーツや、PLC等の各周辺機器が収められており、通常ではカバーの内部を見ることはできない。
また、本実施の形態にて説明する表示手段42はタッチパネル方式のモニタであり、入力手段44と兼用されている。表示手段42の表示画面42aには、仮想3次元座標上に表示した工作機械1の仮想3次元モデルV1が表示される。また、例えば、領域A44には、工作機械1の動作状態の表示や、各種の指示を入力するための操作ボタンを示すブロックが複数表示され、一部のブロックには、選択中の加工プログラムが表示され、現在どの行を実行中であるか識別可能に表示される。また、例えば別のブロックには、仮想3次元モデルV1を表示する視点位置の変更や、拡大表示または縮小表示の指示を入力するための操作ボタンとして設定されている。
●[工作機械制御装置40の構成(図2)]
次に図2を用いて、工作機械制御装置40の構成について説明する。
工作機械制御装置40は、機能的には、図1に示す工作機械1を制御する工作機械(本体)制御機能40eと、工作機械1及び周辺に設けられたPLC(プログラマブルロジックコントローラ)や各種のセンサ及びスイッチ等を含む周辺機器1Bを制御する周辺機器制御機能40fと、仮想3次元モデルの表示及び動作を制御する仮想3次元モデル機能40cと、工作機械1及び周辺機器1Bの異常を検出する故障診断機能40dと、工作機械制御機能40e、周辺機器制御機能40f、仮想3次元モデル機能40c、故障診断機能40dを管理する総合管理機能40aと、を有している。なお図2の例では、工作機械(本体)制御機能40eと周辺機器制御機能40fを合わせて工作機械制御機能40bとしている。
また、工作機械制御装置40は、物理的には工作機械(本体)制御機能40eを実現するCNC装置と、周辺機器制御機能40fを実現する第1パーソナルコンピュータと、仮想3次元モデル機能40cと故障診断機能40dを実現する第2パーソナルコンピュータと、作業者からの指示等を入力する入力手段44と、工作機械1の動作状態や仮想3次元モデルを表示する表示手段42等で構成されている。
総合管理機能40aは、入力手段44から指示された入力に基づいて、工作機械1及び周辺機器1Bを所定の加工プログラムに従って動作させる制御信号を工作機械(本体)制御機能40e及び周辺機器制御機能40fに出力する。なお、加工プログラムは、記憶手段(図示省略)に記憶されている。
そして工作機械(本体)制御機能40eは、加工プログラムに基づいてZ軸移動手段MZ等を制御する駆動信号を出力するとともに位置検出器EZ等からの検出信号を取り込む。また、周辺機器制御機能40fも同様に、加工プログラムに基づいてPLC等に駆動信号を出力するとともに各種センサ等からの検出信号を取り込む。
なお、図2の例に示すように、仮想3次元モデル機能40cと故障診断機能40dを実現する第2パーソナルコンピュータは、工作機械(本体)制御機能40eを実現するCNC装置と周辺機器制御機能40fを実現する第1パーソナルコンピュータから、各パーツ(可動パーツ)の位置を示す現在位置情報や、各種の固有の設定情報を示すパラメータ情報や、工作機械1や周辺機器1Bのシステムに固有の変数を示すシステム変数情報や、PLC装置の入力と出力の状態を示すPLCのI/O情報等、種々の情報を取り込み、仮想3次元モデルの表示に使用することができる。
また、故障診断機能40dは、工作機械1及び周辺機器1Bへの駆動信号、及び工作機械1及び周辺機器1Bからの検出信号を取り込み、各種の異常判定を行う。異常が判定されると、総合管理機能40aから工作機械(本体)制御機能40e及び周辺機器制御機能40fを停止させるための制御信号が出力される。
●[干渉検出装置の構成と、可動体と固定体との干渉判定処理の手順(図3〜図5)]
図3に示すように、干渉検出装置41は、工作機械制御装置40に組み込まれている仮想3次元モデル機能40cと、記憶手段48にて構成される。
記憶手段48には、工作機械1(及び周辺機器1B)を構成する各パーツ(可動体、及び固定体)に対応させて、パーツ識別データとポリゴンデータ(パーツの形状やサイズに関するデータ及びパーツの組み付け位置や方向に関するデータ)を含む3次元データが3次元データ記憶部48Aに記憶されている。
仮想3次元モデル機能40cのモデル制御部46Aは、仮想3次元空間において、パーツ識別データに対応するパーツを、ポリゴンデータに基づいた形状及びサイズで表現し、ポリゴンデータに基づいた位置や方向に組み付け、仮想3次元空間で工作機械1の仮想3次元モデルを形成し、総合管理機能40aを介して表示手段42に表示する。
[可動状態信号と移動情報]
また、モデル制御部46Aは、可動するパーツに対しては、実際の工作機械1(及び周辺機器1B)に出力される駆動信号や、前記駆動信号を出力する前に工作機械(本体)制御機能40eが求めた指令値や、実際の工作機械1に設けられたセンサ等からの検出信号等、可動状態に関する信号である可動状態信号を取り込み、仮想3次元空間で可動させて表示することで、実際の工作機械1(及び周辺機器1B)の動作に合わせて(同期させて)仮想3次元モデルをシミュレート動作させて表示手段42に表示する。
上記に説明したように、可動状態信号は、可動体を可動させるための信号(駆動信号や指令値等)、及び可動体が可動した結果として現れる信号(エンコーダやリミットセンサ等からの信号)であり、可動体が可動している状態を検出可能な信号を指す。
なお、記憶手段48には、可動体に対応させて、可動状態信号と、当該可動状態信号が入力時に移動する方向を示す移動方向情報または移動先の位置を示す移動位置情報または移動量情報の少なくとも1つを含む移動情報が移動情報記憶部48Bに記憶されている。
上記に説明したように、移動情報は、可動状態信号が入力されたときに、当該可動状態信号に対応する可動体の仮想3次元モデルを、仮想3次元空間内で、どの方向に、どれだけ(あるは、どこまで)移動または回転等させて表示すればよいか、を示す情報である。
これらの可動状態信号と移動情報により、例えば、モデル制御部46Aは、Z軸移動手段MZの指令値(値=A)が入力されると、仮想3次元空間内で、当該指令値に対応するコラム50を、Z軸方向に、(値=A)に相当する距離だけ移動させて表示する。
なお、工作機械1における可動体は、加工工具70またはワークWを保持するとともに、所定の空間内で所定の軸方向に移動可能または所定の軸回りに回転可能に構成された構造体である。
次に、可動体α(この場合、ワークWとワークテーブル20にて構成されたワークユニット)の干渉判定を行う手順を、図3及び図4を用いて説明する。なお、可動体β(この場合、工具ユニット75と主軸ユニット15とサドル60にて構成された加工ユニット)の処理手順も同様であるので、可動体βについては説明を省略する。
図4に示すフローチャートのステップS10にて、可動体位置予測部46Cが、可動状態信号を取得し、ステップS20に進む。
ステップS20にて可動体位置予測部46Cは、取得した可動状態信号と、移動情報記憶部48Bに記憶されている移動情報から、可動体αの基準点の移動先の位置である移動先位置を予測する。この場合、可動体αはワークユニットであり、基準点WKは、図1の例に示すように予めワークテーブル20の所定位置に設定されている。また、可動体βの基準点TKは、図1の例に示すように工具ユニット75の回転軸上における主軸ユニット15の先端部を、予め基準点TKに設定する。
なお、ステップS300またはステップS310の処理が完了するまで、実際の工作機械1の可動体α(または可動体β)の基準点が移動先位置に到達しないタイミングで、可動体α(または可動体β)の位置を予測し、ステップS30に進む。
ステップS30にて干渉マップ判定部46Dは、干渉判定対象の可動体αに対応する干渉マップを選択(この例ではワークユニット用の干渉マップを選択)してステップS40に進む。
ここで、図5を用いて干渉マップについて説明する。干渉マップには、可動体が移動する範囲内(空間内)に複数のマップ点が予め設定されている。各マップ点は、図5における(X座標、Y座標、Z座標)が設定された位置であり、X軸方向の間隔、Y軸方向の間隔、Z軸方向の間隔は任意の値に設定されており、可動体毎の複数のマップ点が設定された干渉マップが、可動体毎に干渉マップ記憶部48Dに記憶されている。
そして、各マップ点には、可動体の基準点がマップ点と一致する位置となった場合に可動体が周囲の固定体と干渉するか否かを示す干渉情報が、各マップ点に対応させて設定されている。例えば図5の例では、可動体αがマップ点(X0、Yk、Z0)の位置となった場合では非干渉であることが設定(例えば「0」)されており、可動体αがマップ点(Xp、Y0、Z0)の位置となった場合では干渉することが設定(例えば「1」)されている。
そしてステップS40にて干渉マップ判定部46Dは、可動体αの基準点の移動先位置と一致するマップ点が干渉マップにあるか否かを判定する。移動先位置と一致するマップ点がない場合(No)はステップS50に進み、当該マップ点がある場合(Yes)はステップS55に進む。
ステップS55に進んだ場合、干渉マップ判定部46Dは、可動体αの移動先位置がマップ点と一致する位置であるため、当該マップ点に対応する干渉情報を、干渉マップ記憶部48Dに記憶されている干渉マップから読み出し、干渉するか否かを判定する。この場合、読み出した干渉情報が「0」の場合(No)は干渉しないと判定してステップS300に進み、読み出した干渉情報が「1」の場合(Yes)は干渉すると判定してステップS310に進む。
ステップS50に進んだ場合、干渉度合い演算部46Eは、可動体の基準点の移動先位置に近接する複数のマップ点を抽出する。そして、抽出したマップ点の数、各マップ点の干渉情報、可動体の基準点の位置とマップ点の各々までの距離、に基づいて予め設定された演算式を用いて、どの程度の干渉可能性があるかを示す干渉度合いを求め、ステップS60に進む。この場合、干渉しない場合の干渉情報が「0」、干渉する場合の干渉情報が「1」であるので、干渉度合いは0〜1の範囲の値として求める。
例えば、図10(A)の例に示すように、干渉マップ上のマップ点X1、X2の2点を結ぶ直線上に干渉度合いが不明な点Xがあり、X1、X2、Xの座標が各々(x1、0、0)、(x2、0、0)、(x、0、0)であり、X1とX2の干渉度合いが各々V1、V2である場合、点Xの干渉度合いVは、以下の式で演算することができる。
V=[(x2−x)*V1+(x−x1)*V2]/(x2−x1) (式1)
また、図10(B)の例に示すように、干渉マップ上のマップ点A〜Hの8点で形成される立方体の中に干渉度合いが不明な点P0がある場合、点P0の干渉度合いV0を、以下のようにして求めることができる。
0を挟む面ABCD及び面EFGHと、P0からの各面への垂線との交点を、各々P12、P34とする。線AB及び線CDと、P12からの各線への垂線との交点を、各々P1、P2とする。同様にして、線EF及び線GHと、P34からの各線への垂線との交点を、各々P3、P4とする。
点A〜点Hの干渉度合いをそれぞれVA〜VH(マップ点であり、既知)とする。また、点P0、P12、P34、P1〜P4の干渉度合いをそれぞれV0、V12、V34、V1〜V4(未知)とする。
上記の(式1)と同様にして、点A、B、P1のX座標と、干渉度合いVA、VBから干渉度合いV1を求める。同様にして、干渉度合いV2〜V4を求める。
(式1)と同様にして、点P1、P2、P12のZ座標と、干渉度合いV1、V2から干渉度合いV12を求める。同様にして、干渉度合いV34を求める。
(式1)と同様にして、点P12、P34、P0のY座標と、干渉度合いV12、V34から、P0の干渉度合いV0を求めることができる。
なお、マップ点にない位置の干渉度合いを求める演算方法は、上記の方法に限定されるものではなく、別の方法を用いて求めてもよい。
ステップS60にて干渉可能性判定部46Fは、干渉閾値記憶部48Fに記憶されている干渉閾値と、求めた干渉度合いを比較して、干渉する可能性があるか否かを判定する。この場合、干渉度合いを0〜1の範囲の値としたので、干渉閾値は「0」より大きく、「1」より小さい値であり、「0」に近くなるほど、精度は低いが判定時間が短くなり(後述するステップS70〜S90をスキップする頻度が高いため)、「1」に近くなるほど、精度が高いが判定時間が長くなる(後述するステップS70〜S90をスキップする頻度が低いため)。
干渉度合いが干渉閾値以上である場合(Yes)は、干渉する可能性があると判定し、干渉するか否かを更に詳細に判定する必要があるため、ステップS70に進む。干渉度合いが干渉閾値未満である場合(No)は、干渉する可能性がないと判定し、ステップS300に進む。
ステップS70に進んだ場合、詳細干渉判定部46Gは、3次元データ記憶部48Aに記憶されているポリゴンデータ(3次元データ)から可動体αの詳細形状と固定体の詳細形状を作成し、可動体αの詳細形状の位置を前記移動先位置と一致させ、詳細形状で表した可動体αと固定体とが干渉するか否かを判定し、ステップS80に進む。この場合の干渉判定は、ポリゴンデータに基づいた判定であるので、2つの物体が重なるか否か(接触するか否か)、あるいは2つの物体の最も近接する部分においてその間の距離が、比較的小さな値に設定した閾値未満であるか否か、を判定する。
ステップS80ではマップ点追加部46Hは、ステップS70にて使用した可動体αの基準点の位置をマップ点として干渉マップに追加し、ステップS70にて行った干渉判定の結果(干渉する、または干渉しない)を干渉情報として追加したマップ点に対応させて記憶し、ステップS90に進む。ステップS70にて、マップ点にない位置で干渉判定を行ったので、この結果を干渉マップに追加して干渉マップを充実させる。この追加したマップ点は、次回以降の干渉判定に利用可能である。
そして、ステップS90にて詳細干渉判定部46Gは、ステップS70の干渉判定の結果、干渉すると判定した場合(Yes)はステップS310に進み、干渉しないと判定した場合(No)はステップS300に進む。
ステップS310に進んだ場合、工作機械(本体)制御機能40eにおける、可動体を移動または回転させる出力指令のいずれかによって、可動体が干渉すると予測されたため、例えば工作機械1の動作を停止させる信号を総合管理機能40aに出力し、工作機械(本体)制御機能40eからの出力指令を禁止させる。
また、ステップS300に進んだ場合は、可動体を移動または回転させる工作機械(本体)制御機能40eからの出力指令の出力を許可する信号(出力を禁止させない信号)を総合管理機能40aに出力する。
以上に説明したように、本実施の形態では、各マップ点の位置で固定体と干渉するか否かを予め設定した干渉マップを可動体毎に用意しておき、当該干渉マップを用いて可動体と固定体の干渉判定を行うことで、仮想3次元モデルを用いてポリゴンデータに基づいた詳細形状で判定するよりも、非常に短時間に行うことができる。なお、マップ点にない位置の場合は、既存のマップ点を用いて干渉の可能性があるか否かを判定し、干渉の可能性がある場合はポリゴンデータを用いて詳細に判定する。そしてポリゴンデータを用いた位置、及び干渉判定の結果を干渉マップに追加する、という処理を行う。
このため、明らかに干渉する場合、あるいは明らかに干渉しない場合を干渉マップで判定し、無用な処理を行わず、更に、詳細形状を用いて干渉するまたは干渉しない、と明確に判定した結果を干渉マップに追加し、同じ位置の場合は2回目から干渉マップのみで短時間に判定できるので、処理時間を短縮化することができる。また、マップ点を増やすことで、干渉度合いの精度の向上が期待できる。
上記に説明した実施の形態では、仮想3次元モデルを作成可能なモデル制御部46Aを備え、可動体の移動先位置が干渉マップに用意したマップ点と一致しない位置に来た場合、詳細干渉判定部46Gにてポリゴンデータに基づいた詳細形状で干渉するか否かを判定した。しかし、図3のブロックから、モデル制御部46A、干渉度合い演算部46E、干渉可能性判定部46F、詳細干渉判定部46G、マップ点追加部46Hを省略して(更にマップ点の間隔を要求精度以上に小さく設定し)、可動体の移動先位置がマップ点に一致しない場合は、最も近接しているマップ点の干渉情報を用いて干渉するか否かを判定してもよい。また、この状態から干渉度合い演算部46Eと干渉可能性判定部46Fを追加して、干渉度合いに応じて干渉するか否かを判定してもよい(仮想3次元モデルは使用しない)。
このように、仮想3次元モデルの機能がなくても、可動体の移動先位置と干渉マップとに基づいて可動体が固定体と干渉するか否かを短時間に判定することができる。
●[可動体(第1可動体)と別の可動体(第2可動体)との干渉判定処理の手順(図6〜図9)]
上記の説明では、可動体の移動または回転等によって、当該可動体が固定体と干渉するか否かを判定する方法について説明したが、複数の可動体を有する工作機械では、可動体同士が干渉する(第1可動体が第2可動体と干渉する)場合が考えられる。
例えば、種々の位置に移動する可動体α(第1可動体)について、この可動体αが移動した種々の位置の各々に対して、上記に説明した干渉マップを予め作成すれば、上記と同様の処理にて、可動体β(第2可動体)との干渉判定を行うことができる。(この場合、図4のステップS30にて、可動体αの位置に応じた干渉マップを選択する。)
しかし、可動体αの種々の位置に対して干渉マップを持つ場合、可動体αの移動範囲が広い場合は干渉マップの数が多くなり、予め用意することが大変である。
そこで、可動体αの位置及び固定体とは関係なく、可動体αと可動体βとの相対位置に対応させた可動体相互干渉マップを用いることで、可動体αと可動体βとが干渉するか否かを判定する。以下、図6〜図8を用いて説明するが、図6のブロック図は、図3のブロック図に対して、可動体αと可動体βとの干渉を判定する可動体相互干渉判定部46J〜マップ点追加部46Nまでが追加されている。また、図7に示すフローチャートは、図4のフローチャートに対して、可動体αと可動体βとの干渉を判定するステップS120〜ステップS190までが追加されている。
また図8は、可動体α(この場合、ワークユニット)の基準点の位置に対する可動体β(この場合、加工ユニット)の基準点の複数の相対位置に設定した複数のマップ点を有し、当該マップ点の各々に対して可動体αと可動体βとが干渉するか否かを示す干渉情報を設定した可動体相互干渉マップの例を示している。
図8に示す可動体相互干渉マップは、X軸方向、Y軸方向、Z軸方向に任意の間隔で設定した複数のマップ点を有しており、中心のマップ点(図8の例では、座標(X0、Y0、Z0)のマップ点)を可動体α(この例ではワークユニット)の基準点の位置と想定している。そして、各マップ点の位置に可動体β(この場合、加工ユニット)の基準点が位置した場合に当該位置(相対位置)で、可動体αと可動体βとが干渉するか否かを対応付けて記憶している。
図8の例では、ワークユニットの基準点が(X0、Y0、Z0)であると想定した場合に、加工ユニットの基準点の相対位置が(X−1、Y1、Z1)、(X0、Y0、Z2)、(X2、Y−1、Z2)である場合、それぞれ非干渉、干渉、非干渉であることを示している。
次に図7のフローチャートと図6のブロック図を用いて処理手順を説明する。
以下、可動体α(この場合、ワークユニット)が、固定体と干渉するか否か、そして当該可動体αが可動体β(この場合、加工ユニット)と干渉するか否かを求める処理手順を説明する。なお、可動体βの処理手順も同様であるので、可動体βについては説明を省略する。
図7のフローチャートにおいて、ステップS10〜ステップS90(ステップS120の手前)までの処理は既に説明した通りであるので省略する。
ステップS120に進んだ場合は、可動体αと固定体とは干渉しないと判定されたことを示している。ステップS120以降では、可動体αが可動体βと干渉するか否かを判定する。
ステップS120にて可動体相互干渉判定部46Jは、可動体αの基準点の移動先位置(以下、移動先αと記載する)と可動体βの基準点の移動先位置(以下、移動先βと記載する)を可動体位置予測部46Cから取得する。そして、移動先αと移動先βの相対位置を算出し、ステップS130に進む。
ステップS130にて可動体相互干渉判定部46Jは、可動体αを基準とした可動体αと可動体βとの可動体相互干渉マップを選択してステップS40に進む。
ステップS40にて可動体相互干渉判定部46Jは、可動体相互干渉マップの所定位置に移動先αを想定し、当該移動先αに対する移動先βの相対位置と一致するマップ点があるか否かを判定する。一致するマップ点がある場合(Yes)はステップS155に進み、一致するマップ点がない場合(No)はステップS150に進む。
ステップS155に進んだ場合、可動体相互干渉判定部46Jは、移動先βの相対位置がマップ点と一致する位置であるため、当該マップ点に対応する干渉情報を、干渉マップ記憶部48Dに記憶されている可動体相互干渉マップから読み出し、干渉するか否かを判定する。この場合、読み出した干渉情報が「0」の場合(No)は干渉しないと判定してステップS300に進み、読み出した干渉情報が「1」の場合(Yes)は干渉すると判定してステップS310に進む。
ステップS150に進んだ場合、干渉度合い演算部46Kは、移動先βの相対位置に近接する複数のマップ点を抽出する。そして、抽出したマップ点の数、各マップ点の干渉情報、移動先βの相対位置とマップ点の各々までの距離、に基づいて予め設定された演算式を用いて、どの程度の干渉可能性があるかを示す干渉度合いを求め、ステップS160に進む。この場合、干渉しない場合の干渉情報が「0」、干渉する場合の干渉情報が「1」であるので、干渉度合いは0〜1の範囲の値として求める。
ステップS160にて干渉可能性判定部46Lは、干渉閾値記憶部48Fに記憶されている干渉閾値(干渉可能性判定部46Fで用いた干渉閾値と同じでもよいし、異なる干渉閾値としてもよい)と、求めた干渉度合いを比較して、可動体αと可動体βとが干渉する可能性があるか否かを判定する。この場合、干渉閾値は「0」より大きく、「1」より小さい値であり、「0」に近くなるほど、精度は低いが判定時間が短くなり(後述するステップS170〜S190をスキップする頻度が高いため)、「1」に近くなるほど、精度が高いが判定時間が長くなる(後述するステップS170〜S190をスキップする頻度が低いため)。
干渉度合いが干渉閾値以上である場合(Yes)は、干渉する可能性があると判定し、干渉するか否かを更に詳細に判定する必要があるため、ステップS170に進む。干渉度合いが干渉閾値未満である場合(No)は、干渉する可能性がないと判定し、ステップS300に進む。
ステップS170に進んだ場合、詳細干渉判定部46Mは、3次元データ記憶部48Aに記憶されているポリゴンデータ(3次元データ)から可動体αの詳細形状と可動体βの詳細形状を作成し、可動体αの詳細形状の位置に対する可動体βの詳細形状の相対位置を前記移動先αと移動先βと一致させ、詳細形状で表した可動体αと可動体βとが干渉するか否かを判定し、ステップS180に進む。この場合の干渉判定は、ポリゴンデータに基づいた判定であるので、2つの物体が重なるか否か(接触するか否か)、あるいは2つの物体の最も近接する部分においてその間の距離が、比較的小さな値に設定した閾値未満であるか否か、を判定する。
ステップS180ではマップ点追加部46Nは、ステップS170にて使用した移動先αに対する移動先βの相対位置をマップ点として可動体相互干渉マップに追加し、ステップS170にて行った干渉判定の結果(干渉する、または干渉しない)を干渉情報として追加したマップ点に対応させて記憶し、ステップS190に進む。ステップS170にて、マップ点にない位置で干渉判定を行ったので、この結果を可動体相互干渉マップに追加して、可動体相互干渉マップを充実させる。
そして、ステップS190にて詳細干渉判定部46Mは、ステップS170の干渉判定の結果、干渉すると判定した場合(Yes)はステップS310に進み、干渉しないと判定した場合(No)はステップS300に進む。
ステップS310に進んだ場合、工作機械(本体)制御機能40eにおける、可動体α及び可動体βを移動または回転させる出力指令のいずれかによって、可動体αと可動体βとが干渉すると予測されたため、例えば工作機械1の動作を停止させる信号を総合管理機能40aに出力し、工作機械(本体)制御機能40eからの出力指令を禁止させる。
また、ステップS300に進んだ場合は、可動体α及び可動体βを移動または回転させる工作機械(本体)制御機能40eからの出力指令の出力を許可する信号(出力を禁止させない信号)を総合管理機能40aに出力する。
以上に説明したように、可動体αと可動体βについても、無用な処理を行わないため、干渉判定の処理時間を短縮化することができる。
なお、上記の説明は可動体αと固定体との干渉判定、続いて可動体αと可動体βとの干渉判定を行ったので、あとは可動体βと固定体との干渉判定を行えば、可動体βと可動体αとの干渉判定は行う必要はない。なお、ワークWを加工工具70で加工しているときは、可動体αと可動体βとが干渉している状態となる。従って、可動体αと可動体βとの干渉判定は、加工を行っていない移動時等にて行う。
なお上記の説明では、可動体αの基準点の位置に対する可動体βの基準点の相対位置の可動体相互干渉マップを用いたが、可動体βの基準点の位置に対する可動体αの基準点の相対位置の可動体相互干渉マップを用いてもよく、少なくとも一方の可動体相互干渉マップを用いればよい。
また、上記の説明では、可動体が2つの場合の例で説明したが、可動体が3つの場合であっても同様に、第1可動体と第2可動体、第1可動体と第3可動体、第2可動体と第3可動体、との間で、可動体の相互の干渉を判定すればよい。
また、可動体αと固定体、及び可動体βと固定体、とが干渉しないことがわかっている場合等では、可動体αと固定体との干渉判定、及び可動体βと固定体との干渉判定を省略し、可動体αと可動体βの可動体同士の干渉判定を行うようにすることもできる。
上記に説明した実施の形態では、仮想3次元モデルを作成可能なモデル制御部46Aを備え、可動体の移動先位置が干渉マップまたは可動体相互干渉マップに用意したマップ点と一致しない位置に来た場合、詳細干渉判定部46G及び46Mにてポリゴンデータに基づいた詳細形状で干渉するか否かを判定した。しかし、図6のブロックから、モデル制御部46A、干渉度合い演算部46E及び46K、干渉可能性判定部46F及び46L、詳細干渉判定部46G及び46M、マップ点追加部46H及び46N、を省略して(更にマップ点の間隔を要求精度以上に小さく設定し)、可動体の移動先位置がマップ点に一致しない場合は、最も近接しているマップ点の干渉情報を用いて干渉するか否かを判定してもよい。また、この状態から干渉度合い演算部46E及び46Kと、干渉可能性判定部46F及び46Lを追加して、干渉度合いに応じて干渉するか否かを判定してもよい(仮想3次元モデルは使用しない)。
このように、仮想3次元モデルの機能がなくても、可動体の移動先位置と干渉マップとに基づいて可動体が固定体と干渉するか否かを短時間に判定することができる。
●[工作機械が円筒研削盤の場合(図9)の可動体α(ワークユニット)と可動体β(加工ユニット)との干渉判定手順]
次に、工作機械1が図9の例に示す円筒研削盤の場合について説明する。
[工作機械1の構成]
図9に示す工作機械1Aは、基台2上に主軸MC、心押し台30が固定されており、主軸MCの回転軸であるC軸(X軸方向と平行)と同軸上に心押し台30のセンタ32が位置するように配置されている。また、主軸MCにもセンタが設けられている(図示省略)。そして主軸MCは、主軸MCのセンタと心押し台30のセンタ32との間で挟持したワークWを、C軸回りに回転可能である。また、主軸MCの回転は工作機械制御装置40から制御され、工作機械制御装置40は、検出手段EC(エンコーダ等)からの検出信号に基づいて、主軸MCの回転角度を検出することが可能である。なお、センタ32はワークWのX軸方向の長さに応じて、X軸方向に移動可能に構成されている。この場合、ワークW、主軸MC、心押し台30、にてワークユニットを構成しており、ワークユニットの基準点WKは、主軸MCのセンタの先端とワークWとの当接部に設定されている。
基台2上には、X軸移動手段MXを駆動させることにより案内部材22Aに沿ってX軸方向に移動可能な砥石台22が載置されている。工作機械制御装置40は、検出手段EXからの検出信号に基づいて砥石台22のX軸方向の位置及びX軸方向の移動速度を制御可能である。
砥石台22上には、Z軸移動手段MZを駆動させることにより案内部材24Aに沿ってZ軸方向に移動可能な砥石テーブル24が載置されている。工作機械制御装置40は、検出手段EZからの検出信号に基づいて砥石テーブル24のZ軸方向の位置及びZ軸方向の移動速度を制御可能である。
砥石テーブル24上には、砥石駆動手段MTを駆動させることで回転する加工工具70(この場合、回転砥石)が載置されている。
この工作機械1では、加工工具70、砥石駆動手段MT、砥石テーブル24、砥石台22、Z軸移動手段MZ、検出手段EZ、にて加工ユニットを構成しており、加工工具70の中心を加工ユニットの基準点TKに設定している。
なお、工作機械制御装置40の構成は、図2と同様であるので説明を省略する。
[干渉判定手順]
図9の例に示す工作機械1Aでは、ワークWは主軸MCによって回転するが周囲の固定体とは干渉しない(干渉すると円筒研削できない)が、加工ユニットは周囲の固定体と干渉する可能性がある。また、加工時を除き、ワークユニットと加工ユニットが干渉する可能性がある。
従って、図9の例に示す工作機械1にて可動体(この場合、ワークユニットと加工ユニット)の干渉判定を行う場合、加工ユニットと固定体との干渉判定と、ワークユニットと加工ユニットとの干渉判定を行う。以下、干渉判定の処理手順を説明する。
加工ユニットと固定体との干渉判定の処理手順は、すでに図4を用いて説明した処理手順のとおりであるので、説明を省略する。
ワークユニットと加工ユニットとの干渉判定の処理手順については、すでに図7を用いて説明した処理手順から、可動体相互干渉マップの形式と選択が異なる。
図1に示す工作機械1の場合では、ワークユニットの基準点の位置に対する加工ユニットの基準点の複数の相対位置に設定した複数のマップ点を有する可動体相互干渉マップ(図8参照)を1つ用意すればよかったが、図9に示す工作機械1Aでは、ワークWが円筒でない場合(図9の例では円筒でないクランク形状)、ワークWの回転角度に応じて加工ユニットが干渉する位置が変化する。そこで、可動体相互干渉マップを、ワークWの回転角度に応じて複数用意する。そして、図7のフローチャートにおけるステップS130にて、可動体相互干渉マップを選択する際、ワークWの回転角度に応じた可動体相互干渉マップを選択する。なお、ワークWの回転角度に一致する回転角度の可動体相互干渉マップがない場合は、対象とする回転角度の前後に相当する2つの可動体相互干渉マップを選択し、どちらの可動体相互干渉マップを用いても非干渉の場合はワークユニットと加工ユニットは干渉しないと判定し、どちらを用いても、あるいはどちらか一方のみが干渉する場合にワークユニットと加工ユニットは干渉すると判定する。
また、すでに説明した方法等を用いて、マップ点にない位置の干渉度合いを求め、ポリゴンデータに基づいた詳細形状の判定を行うこともできる。
その他の処理手順は図7を用いて説明したとおりであるので、説明を省略する。
●[干渉マップ、可動体相互干渉マップの作成方法]
次に、干渉マップ、可動体相互干渉マップの作成方法について説明する。
例えば可動体αの干渉マップを作成する場合、仮想3次元モデルを用いて、可動体α(詳細形状)の移動可能な空間内(工作機械1を構成する固定体を含む空間内)で、可動体αを移動させる軸方向に、ポリゴンデータに基づいた可動体α(詳細形状)をスイープさせて、マップ点及び当該マップ点で固定体と干渉するか否かを記憶して干渉マップを作成する。このとき、マップ点の間隔は任意に設定できる。
可動体αが回転する場合は、可動体αを回転させる軸回りに、ポリゴンデータに基づいた可動体αの詳細形状を回転させて、マップ点及び当該マップ点で固定体と干渉するか否かを記憶して干渉マップを作成する。
また、例えば可動体αに対する可動体βの相対位置の可動体相互干渉マップを作成する場合、仮想3次元モデルを用いて、可動体αと可動体βのみを抽出し、可動体αの位置を固定して、当該可動体αの周囲で可動体βをスイープさせて、マップ点及び当該マップ点で可動体αが可動体βと干渉するか否かを記憶して可動体相互干渉マップを作成する。このとき、マップ点の間隔は任意に設定できる。また、可動体αが回転する場合は、可動体αを所定角度回転させて可動体αの周囲で可動体βをスイープさせる作業を繰り返し、可動体αの回転角度に応じた可動体相互干渉マップを作成する。
本発明の工作機械の干渉検出装置41は、本実施の形態で説明した構成、処理等に限定されず、本発明の要旨を変更しない範囲で種々の変更、追加、削除が可能である。
また、本実施の形態にて説明した処理手順は、図4及び図7の例に示したフローチャートに限定されるものではなく、干渉マップ及び可動体相互干渉マップは、図5及び図8の例に限定されるものではない。
本実施の形態にて説明した工作機械の干渉検出装置は、どんな場合であってもポリゴンデータを用いて干渉判定する方法と比較して、ポリゴンデータを使った干渉チェックを行わなければならない対象物が減るため、干渉チェック演算量が減り、実際に衝突してしまう前に干渉判定を完了させて工作機械の動作を停止させることができる。
本実施の形態の説明では、加工工具としてドリルを用い、加工工具に対してワークWを相対的にX軸方向、Y軸方向、Z軸方向に移動させて加工を行う工作機械1(図1参照)、及び加工工具として回転砥石を用い、ワークWを回転させながら加工工具に対してワークWを相対的にX軸方向、Z軸方向に移動させて加工を行う工作機械1A(図9参照)を例として説明したが、ワークWを回転させて加工工具としてバイトを用いた工作機械等、種々の工作機械に適用することができる。
また、以上(≧)、以下(≦)、より大きい(>)、未満(<)等は、等号を含んでも含まなくてもよい。
工作機械1の外観の例を説明する図である。 工作機械制御装置40の構成の例を説明する図である。 可動体αと固定体との干渉を検出する干渉検出装置41の構成の例を説明する図である。 可動体αと固定体との干渉を検出する干渉検出装置41による干渉判定の処理手順を説明するフローチャートである。 干渉マップを説明する図である。 可動体αと固定体、及び可動体αと可動体βとの干渉を検出する干渉検出装置41の構成の例を説明する図である。 可動体αと固定体、及び可動体αと可動体βとの干渉を検出する干渉検出装置41による干渉判定の処理手順を説明するフローチャートである。 可動体相互干渉マップを説明する図である。 可動体の構造が図1に示した工作機械1とは異なり、ワークWが回転する工作機械1Aの例を説明する図である。 干渉度合いの求め方の例を説明する図である。
1 工作機械
1B 周辺機器
2 基台
10 主軸
12 主軸ハウジング
15 主軸ユニット
20 ワークテーブル
40 工作機械制御装置
41 干渉検出装置
42 表示手段
42a 表示画面
44 入力手段
48 記憶手段
50 コラム
60 サドル
20A、50A、60A 案内部材
70 加工工具
72 工具ホルダ
75 工具ユニット
90 工具マガジン
MX X軸移動手段
MY Y軸移動手段
MZ Z軸移動手段
EX、EY、EZ 検出手段
W ワーク
V1 仮想3次元モデル
TK (加工ユニットの)基準点
WK (ワークユニットの)基準点

Claims (6)

  1. 所定の空間内で所定の軸方向に移動可能または所定の軸回りに回転可能に構成されて予め基準点が設定された単数または複数の可動体と、前記所定の空間内に固定された単数または複数の固定体と、を有する工作機械の干渉検出装置であって、
    前記所定の空間内には予め複数のマップ点が設定されており、各マップ点には前記可動体の基準点がマップ点と一致する位置となった場合に前記可動体が周囲の固定体と干渉するか否かを示す干渉情報が、各マップ点に対応させて設定されており、
    前記可動体の各々に対応付けられているとともに当該可動体における可動状態に関する信号である可動状態信号の入力時に、対応付けられた可動体を移動させる移動方向情報または移動位置情報または移動量情報の少なくとも1つを含む移動情報が記憶された移動情報記憶部と、
    前記可動体毎の複数のマップ点が設定された干渉マップが前記可動体毎に記憶された干渉マップ記憶部と、
    前記可動状態信号と前記移動情報とに基づいて、前記可動体の基準点の移動先の位置である移動先位置を予測する可動体位置予測部と、
    予測した前記移動先位置と前記干渉マップとに基づいて、前記可動体が前記移動先で前記固定体と干渉するか否かを判定する干渉マップ判定部と、
    前記可動体と前記固定体と、の各々のポリゴンデータを含む3次元データが記憶された3次元データ記憶部と、
    前記3次元データに基づいて仮想3次元空間に前記可動体と前記固定体とを組み付けた工作機械の仮想3次元モデルを作成可能であり、前記3次元データと前記可動状態信号と前記移動情報とに基づいて、前記工作機械の動作に同期させて、前記仮想3次元モデル中の前記可動体を動作させることが可能なモデル制御部と、
    前記可動体の基準点の位置が、前記干渉マップ内の領域内であるが前記マップ点と一致しない位置となった場合、前記基準点の位置の周囲に近接している複数のマップ点を抽出し、抽出したマップ点の数と、抽出した各マップ点における前記干渉情報と、前記基準点と前記抽出したマップ点までの各々の距離と、に基づいて、当該基準点の位置においてどの程度の干渉可能性があるかを数値で示した干渉度合いを求める干渉度合い演算部と、
    求めた干渉度合いに基づいて前記可動体が干渉する可能性があるか否かを判定するための干渉閾値が記憶された干渉閾値記憶部と、
    前記干渉度合いが前記干渉閾値以上である場合に前記可動体が干渉する可能性があると判定する干渉可能性判定部と、
    前記干渉可能性判定部にて干渉する可能性があると判定された場合に、前記ポリゴンデータに基づいた前記可動体と前記固定体の詳細形状と、前記可動体の移動先位置と、を用いて前記可動体と前記固定体と、が干渉するか否かを判定する詳細干渉判定部と、
    を有し、
    前記工作機械における前記可動体が前記固定体と干渉する前に、干渉することを予測可能である、
    工作機械の干渉検出装置。
  2. 所定の空間内で所定の軸方向に移動可能または所定の軸回りに回転可能に構成されて予め基準点が設定された、少なくとも第1可動体と第2可動体の2つを含む可動体を有する工作機械の干渉検出装置であって、
    前記可動体の各々に対応付けられているとともに当該可動体における可動状態に関する信号である可動状態信号の入力時に、対応付けられた可動体を移動させる移動方向情報または移動位置情報または移動量情報の少なくとも1つを含む移動情報が記憶された移動情報記憶部と、
    前記第1可動体の基準点の位置に対する前記第2可動体の基準点の複数の相対位置に設定した複数のマップ点を有し、当該マップ点の各々に対して前記第1可動体と前記第2可動体とが干渉するか否かを示す干渉情報が設定された可動体相互干渉マップ、あるいは前記第2可動体の基準点の位置に対する前記第1可動体の基準点の複数の相対位置に設定した複数のマップ点を有し、当該マップ点の各々に対して前記第1可動体と前記第2可動体とが干渉するか否かを示す干渉情報が設定された可動体相互干渉マップ、の少なくとも一方が記憶された干渉マップ記憶部と、
    前記可動状態信号と前記移動情報とに基づいて、各々の可動体の基準点の移動先の位置である移動先位置を予測する可動体位置予測部と、
    前記第1可動体の移動先位置と、前記第2可動体の移動先位置と、前記可動体相互干渉マップと、に基づいて前記第1可動体と前記第2可動体とが干渉するか否かを判定する可動体相互干渉判定部と、
    前記第1可動体と前記第2可動体と、の各々のポリゴンデータを含む3次元データが記憶された3次元データ記憶部と、
    前記3次元データに基づいて仮想3次元空間に少なくとも前記第1可動体と前記第2可動体とを組み付けた仮想3次元モデルを作成可能であり、前記3次元データと前記可動状態信号と前記移動情報とに基づいて、前記工作機械の動作に同期させて、前記仮想3次元モデル中の前記可動体を動作させることが可能なモデル制御部と、
    前記可動体の基準点の位置が、前記可動体相互干渉マップ内の領域内であるが前記マップ点と一致しない位置となった場合、前記基準点の位置の周囲に近接している複数のマップ点を抽出し、抽出したマップ点の数と、抽出した各マップ点における前記干渉情報と、前記基準点と前記抽出したマップ点までの各々の距離と、に基づいて、当該基準点の位置においてどの程度の干渉可能性があるかを数値で示した干渉度合いを求める干渉度合い演算部と、
    求めた干渉度合いに基づいて前記可動体が干渉する可能性があるか否かを判定するための干渉閾値が記憶された干渉閾値記憶部と、
    前記干渉度合いが前記干渉閾値以上である場合に前記可動体が干渉する可能性があると判定する干渉可能性判定部と、
    前記干渉可能性判定部にて干渉する可能性があると判定された場合に、前記ポリゴンデータに基づいた前記第1可動体と前記第2可動体の詳細形状と、前記可動体の移動先位置と、を用いて前記第1可動体と前記第2可動体と、が干渉するか否かを判定する詳細干渉判定部と、
    を有し、
    前記第1可動体が前記第2可動体と干渉する前に、干渉することを予測可能である、
    工作機械の干渉検出装置。
  3. 請求項1または2に記載の工作機械の干渉検出装置であって、
    前記可動体は、前記工作機械における加工工具を含む加工ユニットと、当該加工工具によって加工されるワークを含むワークユニットと、を少なくとも含む、
    工作機械の干渉検出装置。
  4. 請求項3に記載の工作機械の干渉検出装置であって、
    前記ワークユニットにおける前記ワークは、所定の軸回りに回転可能であり、
    前記干渉マップ記憶部には、前記ワークユニットの基準点の位置に対する前記加工ユニットの基準点の複数の相対位置に設定した複数のマップ点を有し、当該マップ点の各々に対して前記加工ユニットと前記ワークユニットとが干渉するか否かを示す干渉情報が設定された可動体相互干渉マップが記憶されているとともに、前記ワークの回転角度に対応させて複数の可動体相互干渉マップが記憶されており、
    前記可動体相互干渉判定部は、前記ワークの回転角度に応じた可動体相互干渉マップを選択して、前記加工ユニットの移動先位置と、前記ワークユニットの移動先位置と、選択した可動体相互干渉マップと、に基づいて前記加工ユニットと前記ワークユニットとが干渉するか否かを判定する、
    工作機械の干渉検出装置。
  5. 請求項1〜4のいずれか一項に記載の工作機械の干渉検出装置であって、
    前記詳細干渉判定部にて前記詳細形状を用いて干渉するか否かを判定した前記可動体の基準点の位置と、当該位置に対応させた前記判定の結果である干渉情報とを、新たなマップ点として対象となる干渉マップあるいは可動体相互干渉マップに追加して記憶するマップ点追加部を有する、
    工作機械の干渉検出装置。
  6. 請求項1〜4のいずれか一項に記載の工作機械の干渉検出装置であって、
    前記仮想3次元空間内に作成した仮想3次元モデルを用いて、前記仮想3次元空間における前記所定の空間内で前記可動体の詳細形状を前記所定の軸方向にスイープまたは前記所定の軸回りに回転させて前記干渉マップまたは前記可動体相互干渉マップを作成する干渉マップ作成部を有する、
    工作機械の干渉検出装置。
JP2007310529A 2007-11-30 2007-11-30 工作機械の干渉検出装置 Expired - Fee Related JP5167788B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007310529A JP5167788B2 (ja) 2007-11-30 2007-11-30 工作機械の干渉検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007310529A JP5167788B2 (ja) 2007-11-30 2007-11-30 工作機械の干渉検出装置

Publications (2)

Publication Number Publication Date
JP2009134542A JP2009134542A (ja) 2009-06-18
JP5167788B2 true JP5167788B2 (ja) 2013-03-21

Family

ID=40866362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007310529A Expired - Fee Related JP5167788B2 (ja) 2007-11-30 2007-11-30 工作機械の干渉検出装置

Country Status (1)

Country Link
JP (1) JP5167788B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9134723B2 (en) 2010-02-05 2015-09-15 Hitachi, Ltd. Path interference and generation device and method
JP2014128352A (ja) * 2012-12-28 2014-07-10 Mitsubishi Electric Corp 放射線治療装置の衝突防止インターロック装置及び放射線治療システム
JP6266300B2 (ja) * 2013-10-24 2018-01-24 Dmg森精機株式会社 工作機械
JP2021171883A (ja) * 2020-04-27 2021-11-01 株式会社ディスコ 加工装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003280710A (ja) * 2002-03-20 2003-10-02 Japan Atom Energy Res Inst ロボットハンドの作業軌道の生成と制御方法
JP2004243461A (ja) * 2003-02-13 2004-09-02 Yaskawa Electric Corp ロボットの教示システム

Also Published As

Publication number Publication date
JP2009134542A (ja) 2009-06-18

Similar Documents

Publication Publication Date Title
JP6457468B2 (ja) バリ取り装置
US7251543B2 (en) Interference checking device
EP3088979B1 (en) Control device for machine tool
EP3214514B1 (en) Machine tool control method and machine tool control device
US9229443B2 (en) Numerical control machine tool
US7899574B2 (en) Machine-tool controller
US7058473B2 (en) Method and device for generation of machining program
EP2985664B1 (en) Offset number setting device
JP5473665B2 (ja) 工作機械における工作物測定装置およびその方法
US20150091898A1 (en) Display Apparatus
JP5271549B2 (ja) 可動工具の制御方法、入力装置及び工作機械
WO2014068667A1 (ja) 加工プログラム作成方法および装置
JP2016074063A (ja) ロボットをオフラインで教示するロボット教示装置
JP5167788B2 (ja) 工作機械の干渉検出装置
WO2019066034A1 (ja) 工作機械の機上測定方法および制御装置
JP2006107043A (ja) 工作機械制御装置
JP2006085328A (ja) 工作機械制御装置
JP2006085328A5 (ja)
US20080086221A1 (en) Machine-tool controller
JP2021096561A (ja) 制御装置、計測システム、計測方法
JP5167767B2 (ja) 工作機械の干渉検出装置
JP2019053718A (ja) 加工シミュレーション装置
US20150160646A1 (en) Systems and methods for preventing tool damage in a computer controlled resurfacing machine
KR20190021510A (ko) 가상머신 기반 머시닝센터의 작동 중 충돌 방지 영역 설정방법
JP2007249671A (ja) 工作機械の衝突防止方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120424

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120613

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121210

LAPS Cancellation because of no payment of annual fees