IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特開2022-41159数値制御システム及び干渉チェック方法
<>
  • 特開-数値制御システム及び干渉チェック方法 図1
  • 特開-数値制御システム及び干渉チェック方法 図2
  • 特開-数値制御システム及び干渉チェック方法 図3
  • 特開-数値制御システム及び干渉チェック方法 図4A
  • 特開-数値制御システム及び干渉チェック方法 図4B
  • 特開-数値制御システム及び干渉チェック方法 図5
  • 特開-数値制御システム及び干渉チェック方法 図6
  • 特開-数値制御システム及び干渉チェック方法 図7
  • 特開-数値制御システム及び干渉チェック方法 図8
  • 特開-数値制御システム及び干渉チェック方法 図9
  • 特開-数値制御システム及び干渉チェック方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022041159
(43)【公開日】2022-03-11
(54)【発明の名称】数値制御システム及び干渉チェック方法
(51)【国際特許分類】
   G05B 19/4061 20060101AFI20220304BHJP
【FI】
G05B19/4061 Z
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2020146210
(22)【出願日】2020-08-31
(71)【出願人】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【弁理士】
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】澤岡 浩貴
【テーマコード(参考)】
3C269
【Fターム(参考)】
3C269AB01
3C269AB11
3C269BB14
3C269CC02
3C269CC07
3C269EF02
3C269EF39
3C269MN08
3C269MN15
3C269MN16
3C269MN41
3C269PP03
3C269QC01
3C269QD02
(57)【要約】      (修正有)
【課題】効率的に機械要素同士の干渉を検出できるよう数値制御装置における干渉チェック演算を支援する数値制御システム及び干渉チェック支援方法を提供すること。
【解決手段】数値制御装置3は、工作機械2に対する移動パルスに基づいて工作機械2の複数の機械要素を複数の制御軸に沿って移動させるパルス生成部34と、干渉チェック演算を複数のチェック対象組について所定の優先度によって定められた順序で行う干渉チェック部36と、干渉チェック演算を支援する干渉チェック支援装置5と、を備える。干渉チェック支援装置5は、機械要素-制御軸紐付け情報を記憶する第1記憶部51と、移動パルス及び機械要素-制御軸紐付け情報に基づいて、複数のチェック対象組に対する優先度を算出する優先度算出部54bと、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
移動指令に基づいて工作機械の複数の機械要素を複数の軸に沿って移動させるとともに2つの機械要素の間の干渉チェック演算を複数のチェック対象組について所定の優先度によって定められた順序で行う数値制御装置と、
前記干渉チェック演算を支援する干渉チェック支援装置と、を備える数値制御システムであって、
前記干渉チェック支援装置は、
前記工作機械における各軸と前記複数の機械要素のうち当該軸に沿って移動する機械要素とを関連付ける第1情報を記憶する第1記憶部と、
前記移動指令及び前記第1情報に基づいて、前記複数のチェック対象組に対する前記優先度を算出する優先度算出部と、を備える、数値制御システム。
【請求項2】
前記優先度算出部は、前記移動指令に基づいて算出した各軸の軸移動量及び前記第1情報に基づいて前記複数のチェック対象組に対する前記優先度を算出する、請求項1に記載の数値制御システム。
【請求項3】
前記複数の軸は、前記機械要素を軸線に沿って並進移動させる直進軸と、前記機械要素を軸線回りで回転移動させる回転軸と、に分けられ、
前記優先度算出部は、前記回転軸と前記第1情報によって関連付けられる機械要素である回転機械要素を含むチェック対象組に対する前記優先度を、前記回転機械要素を含まないチェック対象組に対する前記優先度よりも高くする、請求項2に記載の数値制御システム。
【請求項4】
前記優先度算出部は、
前記軸移動量が大きい軸から降順で、各軸と前記第1情報によって関連付けられる各機械要素に対する機械要素順位を算出し、
前記機械要素順位が高い機械要素から降順で、各機械要素を含む各チェック対象組に対する前記優先度を算出する、請求項2又は3に記載の数値制御システム。
【請求項5】
前記優先度算出部は、
前記軸移動量に基づいて複数組の軸対に対する相対軸移動量を算出し、
前記相対軸移動量が大きい軸対から降順で、各軸対と前記第1情報によって関連付けられる機械要素の組み合わせを含む各チェック対象組に対する前記優先度を算出する、請求項2又は3に記載の数値制御システム。
【請求項6】
前記優先度算出部は、前記軸移動量及び前記第1情報に基づいて、各チェック対象組を構成する2つの機械要素の間の距離の減少率に応じた減少率パラメータを算出し、当該減少率パラメータに基づいて各チェック対象組に対する前記優先度を算出する、請求項2に記載の数値制御システム。
【請求項7】
前記優先度算出部によって算出された前記優先度に関する情報を記憶する第3記憶部をさらに備え、
前記数値制御装置は、前記第3記憶部に記憶された前記優先度に関する情報を参照し、各チェック対象組に対する前記干渉チェック演算を行う、請求項1から6の何れかに記載の数値制御システム。
【請求項8】
前記干渉チェック支援装置は、前記工作機械における各軸の間の従属関係を規定する第2情報を記憶する第2記憶部と、前記移動指令、前記第1情報、及び前記第2情報に基づいて、前記複数の機械要素の全ての組み合わせの中から1組以上の前記チェック対象組を抽出するチェック対象組抽出部と、をさらに備え、
前記優先度算出部は、前記チェック対象組抽出部によって抽出された複数のチェック対象組に対して前記優先度を算出する、請求項1から7の何れかに記載の数値制御システム。
【請求項9】
移動指令に基づいて工作機械の複数の機械要素を複数の軸に沿って移動させるとともに2つの機械要素の間の干渉チェック演算を複数のチェック対象組について所定の優先度によって定められた順序で行う数値制御装置における前記干渉チェック演算を支援する干渉チェック支援方法であって、
前記移動指令と、前記工作機械における各軸と前記複数の機械要素のうち当該軸に沿って移動する機械要素とを関連付ける第1情報と、を取得し、
前記移動指令と前記第1情報とに基づいて、前記複数のチェック対象組に対する前記優先度を算出する、干渉チェック支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、数値制御システム及び干渉チェック方法に関する。
【背景技術】
【0002】
数値制御装置は、予め作成された数値制御プログラムに基づいて、工作機械を構成する複数の機械要素(工具、テーブル、ワークを保持する治具等)を複数の制御軸に沿って移動させることによってワークに加工を行う。また数値制御装置は、工作機械の各機械要素が互いに干渉していないかどうかを確認するための干渉チェック演算を工作機械による加工中に並行して行う干渉チェック機能を備える(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第6066041号
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで従来の数値制御装置では、所定のチェック対象組を構成する2つの機械要素同士が干渉していないかどうかを、各機械要素の形状に関する形状情報、各機械要素の位置に関する位置情報、及び各機械要素の姿勢に関する姿勢情報を用いた干渉チェック演算を行うことによって判断する。また従来の数値制御装置では、このような干渉チェック演算を、複数のチェック対象組に対して行う必要があることから、時間がかかるおそれがある。
【0005】
このためチェック対象組の数が多くなると、数値制御装置による工作機械の制御周期内に全てのチェック対象組について干渉チェック演算を完了することができなくなってしまうおそれがある。またこのため、機械要素同士の干渉を適切なタイミングで検出できなくなってしまうおそれがある。
【0006】
本開示は、上記課題に鑑みてなされたものであり、限られた時間内に全てのチェック対象組について干渉チェック演算を行うことができないような場合であっても、効率的に機械要素同士の干渉を検出できるよう数値制御装置における干渉チェック演算を支援する数値制御システム及び干渉チェック支援方法を提供する。
【課題を解決するための手段】
【0007】
本開示の一態様は、移動指令に基づいて工作機械の複数の機械要素を複数の軸に沿って移動させるとともに2つの機械要素の間の干渉チェック演算を複数のチェック対象組について所定の優先度によって定められた順序で行う数値制御装置と、前記干渉チェック演算を支援する干渉チェック支援装置と、を備えるものであって、前記干渉チェック支援装置は、前記工作機械における各軸と前記複数の機械要素のうち当該軸に沿って移動する機械要素とを関連付ける第1情報を記憶する第1記憶部と、前記移動指令及び前記第1情報に基づいて、前記複数のチェック対象組に対する前記優先度を算出する優先度算出部と、を備える、数値制御システムである。
【0008】
本開示の一態様は、移動指令に基づいて工作機械の複数の機械要素を複数の軸に沿って移動させるとともに2つの機械要素の間の干渉チェック演算を複数のチェック対象組について所定の優先度によって定められた順序で行う数値制御装置における前記干渉チェック演算を支援する方法であって、前記移動指令と、前記工作機械における各軸と前記複数の機械要素のうち当該軸に沿って移動する機械要素とを関連付ける第1情報と、を取得し、前記移動指令と前記第1情報とに基づいて、前記複数のチェック対象組に対する前記優先度を算出する、干渉チェック支援方法である。
【発明の効果】
【0009】
本開示の一態様によれば、優先度算出部は、移動指令と、工作機械における各軸と複数の機械要素のうちこの軸に沿って移動する機械要素とを関連付ける第1情報と、に基づいて、複数のチェック対象組に対する優先度を算出する。これにより、複数のチェック対象組について、例えば干渉が生じやすい機械要素の組み合わせのチェック対象組の優先度を高くすることができる。また数値制御装置は、移動指令に基づいて複数の機械要素を複数の軸に沿って移動させるとともに、複数のチェック対象組について優先度算出部において算出された優先度によって定めれられた順序で干渉チェック演算を行う。本開示の一態様によれば、数値制御装置では、優先度の高いチェック対象組から順に干渉チェック演算を行うことにより、限られた時間内に全てのチェック対象組について干渉チェック演算を行うことができないような場合であっても、効率的に機械要素同士の干渉を検出することができる。
【図面の簡単な説明】
【0010】
図1】本開示の第1実施形態に係る数値制御システムの概略図である。
図2】工作機械の一例を示す図である。
図3】機械要素-制御軸紐付け情報及び各軸従属関係情報の、機械構成木による表示例を示す図である。
図4A】機械要素-制御軸紐付け情報及び各軸従属関係情報の一例を示す図である。
図4B図4Aに例示する機械要素-制御軸紐付け情報及び各軸従属関係情報の下で第1~第4機械要素を従属機械要素群と静止機械要素群とに分類した場合を示す図である。
図5】チェック対象組抽出処理の具体的な手順を示すフローチャートである。
図6】第1の優先度算出アルゴリズムによって優先度を算出する手順を説明するための図である。
図7】第2の優先度算出アルゴリズムによって優先度を算出する手順を説明するための図である。
図8】第3の優先度算出アルゴリズムによって優先度を算出する手順を説明するための図である。
図9】干渉チェック支援装置によって生成される干渉チェック支援情報の一例を示す図である。
図10】本開示の第2実施形態に係る数値制御システムの概略図である。
【発明を実施するための形態】
【0011】
<第1実施形態>
以下、図面を参照して、本開示の第1実施形態に係る数値制御システムについて説明する。
【0012】
図1は、本実施形態に係る数値制御システム1の概略図である。
【0013】
数値制御システム1は、工作機械2と、この工作機械2を制御する数値制御装置(CNC)3と、を備える。
【0014】
工作機械2は、工具、テーブル、工具を支持する支持具、及びワークを保持する治具等の所定の立体形状を有する複数の機械要素と、各機械要素を複数の制御軸に沿って移動させる複数のサーボモータ2a,2b,…,2nと、を備える。工作機械2は、数値制御装置3から送信される移動パルスに基づいて複数のサーボモータ2a,…,2nを駆動し、複数の機械要素を複数の制御軸に沿って移動させることによって図示しないワークを加工する。ここで工作機械2は、例えば、旋盤、ボール盤、フライス盤、研削盤、レーザ加工機、及び射出成型機等であるが、これらに限らない。
【0015】
数値制御装置3は、CPU(Central Processing Unit)等の演算処理手段、各種プログラムを格納したHDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶手段、演算処理手段がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶手段、オペレータが各種操作を行うキーボードといった操作手段、及びオペレータに各種情報を表示するディスプレイといった表示手段等のハードウェアによって構成されるコンピュータである。
【0016】
数値制御装置3は、上記ハードウェア構成によって、加工プログラムメモリ31、指令解析部32、補間部33、パルス生成部34、位置姿勢算出部35、干渉チェック部36、形状記憶部37、及び干渉チェック支援装置5等の各種機能が実現される。
【0017】
加工プログラムメモリ31には、工作機械2の各機械要素を各制御軸に沿って移動(並進移動及び回転移動を含む)させるための指令を含む数値制御プログラムが格納される。数値制御プログラムは、所定のプログラミング言語(例えば、Gコード)によって記述されている。
【0018】
指令解析部32は、加工プログラムメモリ31に格納された数値制御プログラムをブロック毎に読み出し、解析し、解析結果に基づいて工作機械2の各制御軸の移動を指令する移動指令データを生成する。指令解析部32は、生成した移動指令データを補間部33へ送信する。
【0019】
補間部33は、指令解析部32から送信される移動指令データに基づいて、指令経路上の点を所定の補間周期で補間計算した補間データを生成する。補間部33は、生成した補間データをパルス生成部34へ送信する。
【0020】
パルス生成部34は、補間部33から送信される補間データに基づいて、工作機械2に対する移動指令、すなわち工作機械2の各サーボモータ2a,…,2nに対する移動パルスを上記補間周期毎に生成する。パルス生成部34は、以上のようにして生成した移動パルスをサーボモータ2a,…,2nへ入力することにより、工作機械2の複数の機械要素を複数の制御軸に沿って移動させる。なおパルス生成部34は、干渉チェック部36における後述の干渉チェック演算に基づいて複数の機械要素の何れかが干渉すると判断された場合には、この干渉を未然に防ぐべく移動パルスの生成及び工作機械2への入力を停止する。
【0021】
またパルス生成部34は、上述のように補間データに基づいて移動パルスを補間周期毎に生成するとともに、今回の補間周期で工作機械2へ入力する予定の移動パルスを、工作機械2へ入力する前に位置姿勢算出部35へ送信する。
【0022】
位置姿勢算出部35は、パルス生成部34から補間周期毎に送信される移動パルスに基づいて、移動パルスに基づいて各制御軸を移動させた場合における各制御軸の単位時間当たり(例えば、補間周期当たり)の軸移動量に関する軸移動量ベクトルと、移動パルスに基づいて各制御軸を移動させる前の各機械要素の位置に関する移動前位置ベクトルと、移動パルスに基づいて各制御軸を移動させた後の各機械要素の位置に関する移動後位置ベクトルと、移動パルスに基づいて各制御軸を移動させた後の各機械要素の姿勢に関する移動後姿勢情報と、を算出する。位置姿勢算出部35は、算出した各制御軸に対する軸移動量ベクトル及び各機械要素に対する移動前位置ベクトルを干渉チェック支援装置5へ送信する。また位置姿勢算出部35は、算出した各機械要素に対する移動後位置ベクトル及び移動後姿勢情報を干渉チェック部36へ送信する。
【0023】
なお位置姿勢算出部35において算出する軸移動量ベクトルの向き及びノルムは以下のように定義される。制御軸が機械要素をその軸線に沿って並進移動させる直進軸である場合、軸移動量ベクトルの向きは制御軸と平行であり、軸移動量ベクトルのノルムは制御軸の軸線に沿った単位時間当たりの移動距離[mm]と等しい。また制御軸が機械要素をその軸線回りで回転移動させる回転軸である場合、制御軸の角速度ベクトルを軸移動量ベクトルとして用いる。すなわち制御軸が回転軸である場合、軸移動量ベクトルの向きは制御軸と平行であり、軸移動量ベクトルのノルムは制御軸の単位時間当たりの回転角度[rad]と等しい。なお以下では、軸移動量ベクトルのノルムを単に「軸移動量」ともいう。
【0024】
形状記憶部37には、工作機械2を構成する複数の機械要素の各々の形状に関する形状情報が格納されている。なお、上述のようにパルス生成部34から工作機械2へ入力する移動パルスと同じ補間周期の移動パルスを位置姿勢算出部35へ入力する場合、仮に補間周期内に干渉チェック部36による干渉チェック演算を終えることができなかったとしても、直ちに干渉が生じることが無いように、形状記憶部37に格納されている形状情報には僅かなマージンを加えておくことが好ましい。すなわち、形状記憶部37に格納されている形状情報は、実際の機械要素よりも僅かに大きな機械要素に基づいて作成することが好ましい。
【0025】
干渉チェック部36は、上述のようにパルス生成部34によって生成される移動パルスを工作機械2へ入力し続けた場合に、工作機械2を構成する複数の機械要素同士で干渉が生じるかどうかを判定するための干渉チェック演算を、複数のチェック対象組に対して行う。ここでチェック対象組とは、工作機械2を構成する複数の機械要素のうちの2つを組み合わせて構成される。従って工作機械2を構成する機械要素の総数がNである場合、チェック対象組の総数はN(N-1)/2である。
【0026】
より具体的には、干渉チェック部36は、位置姿勢算出部35から補間周期毎に送信される移動後位置ベクトル及び移動後姿勢情報と、干渉チェック支援装置5において後述の手順によって補間周期毎に生成される干渉チェック支援情報と、形状記憶部37に格納された形状情報と、に基づいて、既知の干渉チェックアルゴリズム(例えば、分離軸方式)に基づく干渉チェック演算を行い、パルス生成部34によって生成される移動パルスを工作機械2へ入力し続けた場合に、工作機械2を構成する複数の機械要素同士で干渉するかどうかを判定する。干渉チェック部36は、干渉チェック演算によって干渉すると判断した場合には、その旨をパルス生成部34へ通知し、干渉が生じる前に移動パルスの生成及び工作機械2への入力を停止させる。
【0027】
干渉チェック支援装置5は、第1記憶部51と、第2記憶部52と、第3記憶部53と、チェック支援情報生成部54と、を備え、これらを用いることによって干渉チェック部36における干渉チェック演算を支援するための情報である干渉チェック支援情報を生成する。
【0028】
第1記憶部51には、工作機械2における各制御軸と、各制御軸を移動させた場合に、当該移動に係る制御軸に沿って移動する機械要素と、を関連付ける機械要素-制御軸紐付け情報が、機械構成木やテーブル等の任意の形式で格納されている。なお本実施形態では、第1記憶部51には、機械要素-制御軸紐付け情報を後述の図3に例示するような機械構成木形式で格納する場合について説明する。
【0029】
第2記憶部52には、工作機械2における各制御軸の間の従属関係を規定する各軸従属関係情報が、機械構成木やテーブル等の任意の形式で格納されている。なお本実施形態では、第2記憶部52には、各軸従属関係情報を後述の図3に例示するような機械構成木形式で格納する場合について説明する。
【0030】
次に、これら記憶部51,52に格納されている機械要素-制御軸紐付け情報及び各軸従属関係情報の具体例について、図2及び図3を参照しながら説明する。
【0031】
図2は、工作機械2の一例を示す図である。図2に例示する工作機械2は、6つの機械要素21,22,23,24,25,26を、5つの制御軸X,Y,Z,A,Cに沿って移動させることが可能となっている。第5機械要素25は、図示しないワークを支持する治具であり、第6機械要素26は、第5機械要素25を支持するテーブルである。これら第5機械要素25及び第6機械要素26は、例えば鉛直方向に沿って延びる制御軸C回りで回転移動させることが可能となっている。第4機械要素24は、第5機械要素25によって支持されるワークを加工する工具である。第3機械要素23は、その先端部において第4機械要素24を支持する支持具である。第2機械要素22は、第3機械要素23の基端部を水平面に沿って延びる制御軸A回りで回動自在に支持する支持具である。第1機械要素21は、第2機械要素22を鉛直方向に沿った制御軸Z、並びに水平面において互いに直交する制御軸X及び制御軸Yに沿って並行移動自在に支持する支持具である。すなわち図2の例では、制御軸X,Y,Zは直進軸であり、制御軸A,Cは回転軸である。
【0032】
すなわち図2に例示する工作機械2では、第5機械要素25及び第6機械要素26は、制御軸Cに沿って一体に連れ回る。また、第1機械要素21、第2機械要素22、第3機械要素23、及び第4機械要素24は、制御軸X,Y,Zに沿って一体に連れ回り、第3機械要素23、及び第4機械要素24は、制御軸Aに沿って一体に連れ回る。
【0033】
図3は、図2に例示する工作機械2における機械要素-制御軸紐付け情報及び各軸従属関係情報の、機械構成木による表示例を示す図である。図2に例示する工作機械2では、制御軸Cと、制御軸X,Y,Z,Aと、を独立して移動させることが可能となっている。従って図3の機械構成木に示すように、制御軸Cと、制御軸X,Y,Z,Aとはそれぞれ独立してルートRに従属する。また図2に例示する工作機械2では、制御軸X,Y,Zを移動させると制御軸Aも移動するが、制御軸Aを移動させても制御軸X,Y,Zは移動しない。すなわち制御軸Aは、制御軸X,Y,Zより下位である。従って図3の機械構成木に示すように、制御軸Aは、制御軸X,Y,Zに従属する。
【0034】
また第5機械要素25及び第6機械要素26は、制御軸Cに沿って一体に連れ回ることから、図3の機械構成木に示すように、これら機械要素25,26は、制御軸Cと関連付けられる。また第3機械要素23及び第4機械要素24は、制御軸X,Y,Zより下位の制御軸Aに沿って一体に連れ回ることから、図3の機械構成木に示すように、これら機械要素23,24は、制御軸Aと関連付けられる。また第1機械要素21及び第2機械要素22は、制御軸X,Y,Zに沿って一体に連れ回ることから、図3の機械構成木に示すように、これら機械要素21,22は制御軸X,Y,Zのうち最も下位の制御軸Zと関連付けられる。
【0035】
図1に戻り、チェック支援情報生成部54は、工作機械2の複数の機械要素の全ての組み合わせの中から1組以上のチェック対象組を抽出するチェック対象組抽出部54aと、複数のチェック対象組、より具体的にはチェック対象組抽出部54aによって抽出された複数のチェック対象組に対する優先度を算出する優先度算出部54bと、を備える。ここで複数のチェック対象組に対する優先度とは、干渉チェック部36において複数のチェック対象組に対し順に干渉チェック演算を行う際における順序を定める整数値である。以下では、値が小さなものから昇順で優先度が低くなるものとする。
【0036】
第3記憶部53には、チェック対象組抽出部54aによって抽出されたチェック対象組に関する情報と、優先度算出部54bによって各チェック対象組に対して定められる優先度に関する情報と、を組み合わせることによって構成される干渉チェック支援情報が記憶される。
【0037】
チェック対象組抽出部54aは、位置姿勢算出部35から補間周期毎に送信される各制御軸の軸移動量、第1記憶部51に格納されている機械要素-制御軸紐付け情報、及び第2記憶部52に格納されている各軸従属関係情報に基づいて、複数の機械要素の全組み合わせの中から、干渉チェック演算を実行する必要が無い組み合わせを除くことにより、1組以上のチェック対象組を抽出する。
【0038】
始めにチェック対象組抽出部54aは、位置姿勢算出部35から送信される各制御軸の軸移動量に基づいて、複数の制御軸の中から移動パルスによって移動させる制御軸を移動制御軸として特定する。より具体的には、チェック対象組抽出部54aは、軸移動量(軸移動量ベクトルのノルム)が0でない制御軸を移動制御軸として特定する。
【0039】
その後チェック対象組抽出部54aは、機械要素-制御軸紐付け情報及び各軸従属関係情報に基づいて、工作機械2を構成する複数の機械要素を、従属機械要素群と静止機械要素群とに分類する。従属機械要素群とは、移動制御軸とともに移動する機械要素が属する群であり、静止機械要素群とは、移動制御軸を移動させても移動しない機械要素が属する群である。より具体的には、チェック対象組抽出部54aは、移動制御軸及びこの移動制御軸より下位の制御軸と関連付けられた機械要素を従属機械要素群に分類し、全ての機械要素のうち従属機械要素群に属しない機械要素を静止機械要素群に分類する。
【0040】
ここで従属機械要素群に属する機械要素は全て移動制御軸とともに移動する。このため従属機械要素群に属する機械要素の組み合わせは、干渉チェック演算を実行せずとも干渉しないことが明らかであるので、チェック対象組から除外される。また静止機械要素群に属する機械要素は全て移動制御軸を移動させても移動しない。このため、静止機械要素群に属する機械要素の組み合わせは、干渉チェック演算を実行せずとも干渉しないことが明らかであるので、チェック対象組から除外される。よってチェック対象組抽出部54aは、従属機械要素群に属する各機械要素と、静止機械要素群に属する各機械要素と、の組み合わせをチェック対象組として抽出する。換言すれば、チェック対象組抽出部54aは、複数の機械要素の全組み合わせの中から、従属機械要素群に属する機械要素同士の組み合わせと、静止機械要素群に属する機械要素同士の組み合わせとを除いた組み合わせをチェック対象組として抽出する。チェック対象組抽出部54aは、以上のような手順によって抽出したチェック対象組のリスト(以下、「チェック対象組リスト」という)を、第3記憶部53に記憶させる。
【0041】
ここで以上のようなチェック対象組抽出部54aによってチェック対象組を抽出する具体的な手順について、図4A及び図4Bの具体例を参照しながら説明する。
【0042】
図4Aは、機械要素-制御軸紐付け情報及び各軸従属関係情報の一例を示す図である。図4Aに示す例では、工作機械は、第1機械要素、第2機械要素、第3機械要素、及び第4機械要素を、第1制御軸、第2制御軸、第3制御軸、第4制御軸、第5制御軸、及び第6制御軸に沿って移動させることが可能となっている。また図4Aに例示する各軸従属関係情報の例では、第1~第4制御軸と、第5~第6制御軸とは、それぞれ独立して移動させることが可能となっている。また第5制御軸は第6制御軸より下位であり、第2~第4制御軸は第1制御軸より下位であり、第3制御軸及び第4制御軸はそれぞれ第1制御軸及び第2制御軸より下位であり、第2制御軸は第1制御軸より下位である。また図4Aに例示する機械要素-制御軸紐付け情報の例では、第1機械要素は第1制御軸と関連付けられ、第2機械要素は第4制御軸と関連付けられ、第4機械要素は第6制御軸と関連付けられ、第3機械要素は第5制御軸と関連付けられている。
【0043】
図4Bは、図4Aに例示する機械要素-制御軸紐付け情報及び各軸従属関係情報の下で第1~第4機械要素を従属機械要素群と静止機械要素群とに分類した場合を示す図である。なお図4Bの例では、第1~第6制御軸のうち第1制御軸を移動制御軸とした。図4Bに示すように、移動制御軸である第1制御軸とこの第1制御軸より下位の第2、第3、及び第4制御軸と関連付けられた第1、及び第2機械要素は従属機械要素群に分類され、全ての機械要素のうち従属機械要素群に属しない第3、及び第4機械要素は静止機械要素群に分類される。従って図4Bに示す例では、第1~第4機械要素の全ての組み合わせ(第1及び第2機械要素、第1及び第3機械要素、第1及び第4機械要素、第2及び第3機械要素、第2及び第4機械要素、並びに第3及び第4機械要素の計6つの組み合わせ)のうち、第1及び第3機械要素、第1及び第4機械要素、第2及び第3機械要素、並びに第2及び第4機械要素の計4つの組み合わせがチェック対象組として抽出される。
【0044】
図1に戻り、チェック対象組抽出部54aは、移動制御軸が複数存在する場合、各移動制御軸の下で上記手順に従って抽出されるチェック対象組の和集合をチェック対象組として抽出する。
【0045】
図5は、チェック対象組抽出部54aにおけるチェック対象組抽出処理の具体的な手順を示すフローチャートである。なお図5に示す処理では、制御軸の総数をN(Nは、2以上の任意の整数)とする。チェック対象組抽出部54aは、位置姿勢算出部35から新たな軸移動量を受信したことに応じて図5に示すチェック対象組抽出処理を実行する。
【0046】
始めにS1では、チェック対象組抽出部54aは、制御軸カウンタCの値を1にセットし、S2に移る。S2では、チェック対象組抽出部54aは、位置姿勢算出部35から送信される各制御軸に対する軸移動量に基づいて、カウンタCによって関連付けられる第C制御軸の軸移動量が0でないか否かを判定する。チェック対象組抽出部54aは、S2の判定結果がYESである場合にはS3に移り、NOである場合にはS5に移る。
【0047】
S3では、チェック対象組抽出部54aは、第C制御軸を移動制御軸とすることにより、複数の機械要素を上述の手順に従って従属機械要素群と静止機械要素群とに分類し、S4に移る。S4では、チェック対象組抽出部54aは、従属機械要素群に属する各機械要素と、静止機械群に属する各機械要素と、の全ての組み合わせをチェック対象組として第3記憶部53におけるチェック対象組リストに追加し、S5に移る。
【0048】
S5では、チェック対象組抽出部54aは、制御軸カウンタCの値が制御軸の総数Nと等しいか否かを判定する。チェック対象組抽出部54aは、S5の判定結果がNOである場合にはS6に移り、制御軸カウンタCを1つだけカウントアップした後、S2に戻る。またチェック対象組抽出部54aは、S5の判定結果がYESである場合には、図5に示すチェック対象組抽出処理を終了する。
【0049】
以上のようなチェック対象組抽出処理によれば、移動制御軸が複数存在する場合、各移動制御軸の下で複数の機械要素を従属機械要素群と静止機械要素群とに分類することによって得られる複数の組み合わせの和集合がチェック対象組として抽出される。
【0050】
図1に戻り、優先度算出部54bは、位置姿勢算出部35から補間周期毎に送信される各制御軸の軸移動量ベクトル及び各機械要素の移動前位置ベクトル、並びに第1記憶部51に格納されている機械要素-制御軸紐付け情報に基づいて、チェック対象組抽出部54aによって抽出された複数のチェック対象組に対し、干渉が生じる可能性が高いものから降順で優先度を算出する。優先度算出部54bでは、以下で説明する第1、第2、及び第3の優先度算出アルゴリズムの何れか又はこれらを組み合わせた優先度算出アルゴリズムに基づいて複数のチェック対象組に対する優先度を算出することが可能となっている。
【0051】
<第1の優先度算出アルゴリズム>
第1の優先度算出アルゴリズムの下では、優先度算出部54bは、位置姿勢算出部35から送信される各制御軸の軸移動量に基づいて複数のチェック対象組に対する優先度を算出する。より具体的には、優先度算出部54bは、軸移動量が大きい制御軸から降順で、各制御軸と機械要素-制御軸紐付け情報によって関連付けられる各機械要素に対する機械要素順位を算出する。次に優先度算出部54bは、算出した機械要素順位が高い機械要素から降順で、各機械要素を含むチェック対象組に対する優先度を算出する。すなわち第1の優先度算出アルゴリズムの下では、優先度算出部54bは、単位時間当たりの軸移動量が大きな制御軸と関連付けられている機械要素を含むチェック対象組において干渉する可能性が高いと判断し、このような機械要素を含むチェック対象組の優先度を高くする。
【0052】
ところで軸移動量の次元は、制御軸が直進軸である場合と制御軸が回転軸である場合とで異なる。より具体的には、制御軸が直進軸である場合、軸移動量は移動距離であり、制御軸が回転軸である場合、軸移動量は回転角度である。このため、直進軸に対する軸移動量と回転軸に対する軸移動量の大小を直接比較することはできない。このため第1の優先度算出アルゴリズムの下では、回転軸と機械要素-制御軸紐付け情報によって関連付けられる機械要素である回転機械要素を含むチェック対象組と、この回転機械要素を含まないチェック対象組とに分けて各チェック対象組に対する優先度を算出する。より具体的には、回転軸の方が直進軸よりも干渉に気づきにくいことから、第1の優先度算出アルゴリズムの下では、回転機械要素を含むチェック対象組に対する優先度を、回転機械要素を含まないチェック対象組に対する優先度よりも高くする。
【0053】
ここで以上のような第1の優先度算出アルゴリズムによって優先度を算出する具体的な手順について、図6の具体例を参照しながら説明する。
【0054】
図6は、第1の優先度算出アルゴリズムによって優先度を算出する手順を説明するための図である。図6の左側には、機械要素-制御軸紐付け情報及び各軸従属関係情報の一例を示し、図6の右側にはこのような構成の下で優先度算出部54bによって算出される各種パラメータを示す図である。
【0055】
図6の左側に示す例では、工作機械は、第1機械要素、第2機械要素、第3機械要素、及び第4機械要素を、第1制御軸、第2制御軸、第3制御軸、第4制御軸、及び第5制御軸に沿って移動させることが可能となっている。図6の左側の例において、第1制御軸、第3制御軸、及び第4制御軸は直進軸であり、第2制御軸、及び第5制御軸は回転軸であるとする。図6の左側に例示する各軸従属関係の例では、第1~第2制御軸と、第3~第5制御軸とは、それぞれ独立して移動させることが可能となっている。また第2制御軸は第1制御軸より下位であり、第4制御軸及び第5制御軸は第3制御軸より下位であり、第5制御軸は第4制御軸より下位である。また図6の左側に例示する機械要素-制御軸紐付け情報の例では、第1機械要素は第1制御軸と関連付けられ、第2機械要素は第2制御軸と関連付けられ、第3機械要素は第4制御軸と関連付けられ、第4機械要素は第5制御軸と関連付けられている。また図6には、第1制御軸の軸移動量は4であり、第2制御軸の軸移動量は2であり、第3制御軸の軸移動量は3であり、第4制御軸の軸移動量は1であり、第5制御軸の軸移動量は3である場合の例を示す。すなわち図6の例では、直進軸の軸移動量は、第4制御軸、第3制御軸、及び第1制御軸の順で大きくなり、回転軸の軸移動量は、第2制御軸、及び第5制御軸の順で大きくなる。
【0056】
図6に示すように、第1機械要素は直進軸である第1制御軸と関連付けられ、第2機械要素は回転軸である第2制御軸と関連付けられ、第3機械要素は直進軸である第4制御軸と関連付けられ、第4機械要素は回転軸である第5制御軸と関連付けられている。すなわち、第2機械要素及び第4機械要素は、回転軸と関連付けられる回転機械要素であり、第1機械要素及び第3機械要素は、直進軸と関連付けられる直進機械要素である。従って回転機械要素を直進機械要素よりも上位としかつ軸移動量が大きい制御軸から降順で、各制御軸と関連付けられる各機械要素に対する機械要素順位を算出すると、第4機械要素が1位となり、第2機械要素が2位となり、第1機械要素が3位となり、第3機械要素が4位となる。また機械要素順位が高い機械要素から降順で、各機械要素を含む各チェック対象組に対する優先度を算出すると、第2及び第4機械要素の組み合わせが1位となり、第1及び第4機械要素の組み合わせが2位となり、第3及び第4機械要素の組み合わせが3位となり、第1及び第2機械要素の組み合わせが4位となり、第2及び第3機械要素の組み合わせが5位となり、第1及び第3機械要素の組み合わせが6位となる。
【0057】
<第2の優先度算出アルゴリズム>
第2の優先度算出アルゴリズムの下では、優先度算出部54bは、位置姿勢算出部35から送信される各制御軸の軸移動量ベクトルに基づいて複数のチェック対象組に対する優先度を算出する。より具体的には、優先度算出部54bは、制御軸毎に算出された軸移動量ベクトルを用いることによって、複数の制御軸のうち2つを組み合わせて構成される軸対に対する相対軸移動量ベクトルを算出する。ここで制御軸の総数がMである場合、軸対の総数はM(M-1)/2である。また例えば第n制御軸の軸移動量ベクトルをvnとし、第m制御軸の軸移動量ベクトルをvmとした場合、第n制御軸及び第m制御軸によって構成される軸対に対する相対軸移動量ベクトルdnmは、vn-vmとなる。
【0058】
次に優先度算出部54bは、全ての軸対に対する相対軸移動量(すなわち、相対軸移動量ベクトルのノルム)を算出する。次に優先度算出部54bは、算出した相対軸移動量が大きい軸対から降順で、各軸対と機械要素-制御軸紐付け情報によって関連付けられる機械要素の組み合わせを含む各チェック対象組に対する優先度を算出する。すなわち第2の優先度算出アルゴリズムの下では、優先度算出部54bは、単位時間当たりの相対軸移動量が大きな軸対と関連付けられている機械要素の組み合わせを含むチェック対象組において干渉する可能性が高いと判断し、このような機械要素の組み合わせを含むチェック対象組の優先度を高くする。
【0059】
上述のように軸移動量の次元は、制御軸が直進軸である場合と制御軸が回転軸である場合とで異なる。このため、軸移動量ベクトルvnから軸移動量ベクトルvmを減算して得られる相対軸移動量ベクトルdnmは、第n制御軸及び第m制御軸の少なくとも何れかが回転軸である場合、物理的な意味がなくなってしまう。このため全制御軸の中に回転軸が含まれている場合、この回転軸と関連付けられる回転機械要素を含むチェック対象組については、上述の第1の優先度算出アルゴリズムの下で優先度を算出し、直進機械要素のみを含むチェック対象組についてのみ第2の優先度算出アルゴリズムの下で優先度を算出する。
【0060】
ここで以上のような第2の優先度算出アルゴリズムによって優先度を算出する具体的な手順について、図7の具体例を参照しながら説明する。
【0061】
図7は、第2の優先度算出アルゴリズムによって優先度を算出する手順を説明するための図である。図7の左側には、機械要素-制御軸紐付け情報及び各軸従属関係情報の一例を示し、図7の右側にはこのような構成の下で優先度算出部54bによって算出される各種パラメータを示す図である。
【0062】
図7の左側に示す例では、工作機械は、第1機械要素、第2機械要素、及び第3機械要素を、第1制御軸、第2制御軸、第3制御軸、及び第4制御軸に沿って移動させることが可能となっている。図7の左側の例において、第1制御軸、第2制御軸、第3制御軸、及び第4制御軸は全て直進軸であるとする。図7の左側に例示する各軸従属関係の例では、第1~第2制御軸と、第3~第4制御軸とは、それぞれ独立して移動させることが可能となっている。また第2制御軸は第1制御軸より下位であり、第4制御軸は第3制御軸より下位である。また図7の左側に例示する機械要素-制御軸紐付け情報の例では、第1機械要素は第1制御軸と関連付けられ、第2機械要素は第2制御軸と関連付けられ、第3機械要素は第4制御軸と関連付けられている。
【0063】
図7の左側に示す例では、工作機械は、第1~第4制御軸を備える。従って第1~第4制御軸のうち2つを組み合わせることにより、第1及び第2制御軸、第1及び第3制御軸、第1及び第4制御軸、第2及び第3制御軸、第2及び第4制御軸、並びに第3及び第4制御軸の計6つの軸対を構成することができる。また図7には、第1制御軸と第2制御軸との間の相対軸移動量は4であり、第1制御軸と第3制御軸との間の相対軸移動量は5であり、第1制御軸と第4制御軸との間の相対軸移動量は3であり、第2制御軸と第3制御軸との間の相対軸移動量は1であり、第2制御軸と第4制御軸との間の相対軸移動量は6であり、第3制御軸と第4制御軸との間の相対軸移動量は2である場合の例を示す。すなわち、図7の例では、第2及び第3制御軸、第3及び第4制御軸、第1及び第4制御軸、第1及び第2制御軸、第1及び第3制御軸、並びに第2及び第4制御軸の順で相対軸移動量が大きくなる。
【0064】
図7に示すように、第1及び第4制御軸は、第1及び第3機械要素の組み合わせと関連付けられ、第1及び第2制御軸は、第1及び第2機械要素の組み合わせと関連付けられ、第2及び第4制御軸は、第2及び第3機械要素の組み合わせと関連付けられている。従って相対軸移動量が大きい軸対から降順で、各軸対と機械要素-制御軸紐付け情報によって関連付けられる機械要素の組み合わせを含む各チェック対象組に対する優先度を算出すると、第2及び第3機械要素の組み合わせが1位となり、第1及び第2機械要素の組み合わせが2位となり、第1及び第3機械要素の組み合わせが3位となる。
【0065】
<第3の優先度算出アルゴリズム>
第3の優先度算出アルゴリズムの下では、優先度算出部54bは、位置姿勢算出部35から送信される各制御軸の軸移動量ベクトル及び各機械要素の移動前位置ベクトルに基づいて複数のチェック対象組に対する優先度を算出する。より具体的には、優先度算出部54bは、各制御軸の軸移動量ベクトルと、各機械要素の移動前位置ベクトルと、機械要素-制御軸紐付け情報と、に基づいて、各チェック対象組を構成する2つの機械要素の間の距離の減少率に比例する減少率パラメータを算出し、これら減少率パラメータに基づいて各チェック対象組に対する優先度を算出する。
【0066】
以下では各チェック対象組に対する減少率パラメータを算出する手順について説明する。先ず優先度算出部54bは、位置姿勢算出部35から送信される各制御軸の軸移動量ベクトルを取得し、これら軸移動量ベクトルに基づいて、機械要素-制御軸紐付け情報によって各制御軸と関連付けられる機械要素の速度ベクトルを算出する。ここで直進軸と関連付けられる直進機械要素に対しては、軸移動量ベクトルをそのまま速度ベクトルとして用いる。また回転軸と関連付けられる回転機械要素に対しては、軸移動量ベクトルと所定の動径ベクトルとの外積を速度ベクトルとして用いる。ここで動径ベクトルは、各回転軸に対して予め定められたものが用いられる。より具体的には、動径ベクトルの向きは回転軸と直交する動径方向であり、動径ベクトルのノルムは回転軸から機械要素までの動径方向に沿った距離である。
【0067】
次に優先度算出部54bは、位置姿勢算出部35から送信される各機械要素の移動前位置ベクトルを取得し、これら移動前位置ベクトルに基づいて、各チェック対象組を構成する2つの機械要素に対する正規化された相対位置ベクトルを算出する。ここで第n機械要素の移動前位置ベクトルをrnとし、第m機械要素の移動前位置ベクトルをrmとした場合、第n機械要素と第m機械要素の組み合わせに対する正規化された相対位置ベクトルは、(rn-rm)/|rn-rm|となる。
【0068】
次に優先度算出部54bは、先に算出した各機械要素に対する速度ベクトルに基づいて、各チェック対象組を構成する2つの機械要素に対する相対速度ベクトルを算出する。ここで第n機械要素の速度ベクトルをvnとし、第m機械要素の速度ベクトルをvmとした場合、第n機械要素と第m機械要素の組み合わせに対する相対速度ベクトルは、vn-vmとなる。
【0069】
次に優先度算出部54bは、先に算出した相対速度ベクトルと相対位置ベクトルとの内積に負号を乗算することにより、各チェック対象組に対し減少率パラメータを算出する。ここでチェック対象組が第n機械要素と第m機械要素とによって構成される場合、減少率パラメータは、-(vn-vm)・(rn-rm)/|rn-rm|となる。以上の手順によって算出される減少率パラメータは、2つの機械要素の間の距離の単位時間当たりの減少率に比例する。すなわち、2つの機械要素の間の距離が変化しない場合、減少率パラメータは0となり、2つの機械要素の間の距離が広がる方向に変化する場合、減少率パラメータは負となり、2つの機械要素の間の距離が近くなる方向に変化する場合、減少率パラメータは正となる。
【0070】
次に優先度算出部54bは、以上の手順によって算出した減少率パラメータが大きな機械要素の組み合わせを含むチェック対象組から降順で優先度を算出する。すなわち第3の優先度算出アルゴリズムの下では、優先度算出部54bは、2つの構成要素の間の距離の減少率が大きいチェック対象組において干渉する可能性が高いと判断し、このような機械要素の組み合わせを含むチェック対象組の優先度を高くする。
【0071】
ここで以上のような第3の優先度算出アルゴリズムによって優先度を算出する具体的な手順について、図8の具体例を参照しながら説明する。
【0072】
図8は、第3の優先度算出アルゴリズムによって優先度を算出する手順を説明するための図である。図8の左側には、機械要素-制御軸紐付け情報及び各軸従属関係情報の一例を示し、図8の右側にはこのような構成の下で優先度算出部54bによって算出される各種パラメータを示す図である。なお図8の左側に示す工作機械の構成は、図7の左側に示すものと同じであるので、詳細な説明は省略する。
【0073】
図8の例では、第1制御軸と関連付けられる第1機械要素の速度ベクトルをv1とし、第2制御軸と関連付けられる第2機械要素の速度ベクトルをv2とし、第4制御軸と関連付けられる第3機械要素の速度ベクトルをv3とし、第1機械要素の移動前位置ベクトルをr1とし、第2機械要素の移動前位置ベクトルをr2とし、第3機械要素の移動前位置ベクトルをr3とする。また図8の例では、第1及び第2機械要素の組み合わせに対する相対速度ベクトルv1-v2は(0,0,1)とし、第1及び第3機械要素の組み合わせに対する相対速度ベクトルv1-v3は(0,2,0)とし、第2及び第3機械要素の組み合わせに対する相対速度ベクトルv2-v3は(1,0,0)とし、第1及び第2機械要素の組み合わせに対する正規化された相対位置ベクトルr1-r2は(0,0,-1)とし、第1及び第3機械要素の組み合わせに対する正規化された相対位置ベクトルr1-r3は(0,0,1)とし、第2及び第3機械要素の組み合わせに対する正規化された相対位置ベクトルr2-r3は(1,0,0)とする。
【0074】
従って各機械要素の組み合わせに対する減少率パラメータを上述の手順に従って算出すると、第1及び第2機械要素の組み合わせに対する減少率パラメータは1となり、第1及び第3機械要素の組み合わせに対する減少率パラメータは0となり、第2及び第3機械要素の組み合わせに対する減少率パラメータは-1となる。従って減少率パラメータが大きな機械要素の組み合わせを含むチェック対象組から降順で優先度を算出すると、第1及び第2機械要素の組み合わせが1位となり、第1及び第3機械要素の組み合わせが2位となり、第2及び第3機械要素の組み合わせが3位となる。
【0075】
図1に戻り、優先度算出部54bは、チェック対象組抽出部54aにおけるチェック対象組抽出処理によって抽出された複数のチェック対象組に対し、以上のような第1~第3の優先度算出アルゴリズムの何れか又はこれらを組み合わせた優先度算出アルゴリズムに基づいて優先度を算出し、算出した優先度を第3記憶部53におけるチェック対象組リストに追記する。これにより、チェック対象組抽出部54aによって抽出された複数のチェック対象組に対し優先度が付与される。
【0076】
以上のように干渉チェック支援装置5では、位置姿勢算出部35から送信される軸移動量ベクトルや移動前位置ベクトルに基づいて、複数の機械要素の全組み合わせの中からチェック対象組を抽出し、さらにこれら複数のチェック対象組に対して優先度を付与し、優先度が付与されたチェック対象組リストを干渉チェック支援情報(例えば、図9参照)として第3記憶部53に記憶させる。
【0077】
干渉チェック部36は、位置姿勢算出部35から補間周期毎に送信される移動後位置ベクトル及び移動後姿勢情報と、第3記憶部53に記憶された干渉チェック支援情報と、を取得する。また干渉チェック部36は、取得した干渉チェック支援情報によって定められた複数のチェック対象組について、優先度が高く定められたチェック対象組から順に干渉チェック演算を行う。
【0078】
本実施形態によれば、以下の効果が奏される。
優先度算出部54bは、工作機械2に対する移動パルスと、工作機械2における各制御軸と複数の機械要素のうちこの制御軸に沿って移動する機械要素とを関連付ける機械要素-制御軸紐付け情報と、に基づいて、複数のチェック対象組に対する優先度を算出する。これにより、複数のチェック対象組について、例えば干渉が生じやすい機械要素の組み合わせのチェック対象組の優先度を高くすることができる。また数値制御装置3は、数値制御プログラムに基づいて複数の機械要素を複数の制御軸に沿って移動させるとともに、複数のチェック対象組について優先度算出部54bにおいて算出された優先度によって定めれられた順序で干渉チェック演算を行う。本実施形態によれば、数値制御装置3では、優先度の高いチェック対象組から順に干渉チェック演算を行うことにより、限られた時間内に全てのチェック対象組について干渉チェック演算を行うことができないような場合であっても、効率的に機械要素同士の干渉を検出することができる。
【0079】
優先度算出部54bは、移動パルスに基づいて算出した各制御軸の軸移動量ベクトル及び機械要素-制御軸紐付け情報に基づいて、複数のチェック対象組に対する優先度を算出する。これにより、軸移動量ベクトルの長さや向きに応じて干渉が生じやすい機械要素の組み合わせを特定し、このチェック対象組の優先度を高くすることができる。
【0080】
優先度算出部54bは、回転軸と関連付けられる回転機械要素を含むチェック対象組に対する優先度を、直進軸と関連付けられる直進機械要素のみを含むチェック対象組に対する優先度よりも高くする。これにより、直進軸よりも干渉に気づきにくい回転軸と関連付けられる回転機械要素を含むチェック対象組に対する優先度を、回転機械要素を含まないチェック対象組に対する優先度よりも高くすることができる。
【0081】
第1の優先度算出アルゴリズムの下では、優先度算出部54bは、軸移動量が大きい制御軸から降順で、各制御軸と機械要素-制御軸紐付け情報によって関連付けられる各機械要素に対する機械要素順位を算出し、機械要素順位が高い機械要素から降順で、各機械要素を含む各チェック対象組に対する優先度を算出する。これにより、単位時間当たりの軸移動量が大きな制御軸と関連付けられている機械要素を含むチェック対象組において干渉する可能性が高いと判断し、このような機械要素を含むチェック対象組の優先度を高くすることができる。またこのような第1の優先度算出アルゴリズムによれば、簡易な演算で優先度を算出することができるので、数値制御装置3における演算負荷を軽減することができる。
【0082】
第2の優先度算出アルゴリズムの下では、優先度算出部54bは、軸移動量に基づいて複数組の軸対に対する相対軸移動量を算出し、相対軸移動量が大きい軸対から降順で、各軸対と機械要素-制御軸紐付け情報によって関連付けられる機械要素の組み合わせを含む各チェック対象組に対する優先度を算出する。これにより、単位時間当たりの相対軸移動量が大きな軸対と関連付けられている機械要素の組み合わせを含むチェック対象組において干渉する可能性が高いと判断し、このような機械要素の組み合わせを含むチェック対象組の優先度を高くすることができる。
【0083】
第3の優先度算出アルゴリズムの下では、優先度算出部54bは、軸移動量ベクトル、移動前位置ベクトル、及び機械要素-制御軸紐付け情報に基づいて、各チェック対象組を構成する2つの機械要素の間の距離の減少率に応じた減少率パラメータを算出し、これら減少率パラメータに基づいて各チェック対象組に対する優先度を算出する。これにより、機械要素の間の距離の減少率が大きいチェック対象組において干渉する可能性が高いと判断し、このような機械要素の組み合わせを含むチェック対象組の優先度を高くすることができる。
【0084】
優先度算出部54bは、複数のチェック対象組に対する優先度に関する情報を干渉チェック支援情報として第3記憶部53に記憶させ、干渉チェック部36は、第3記憶部53に記憶された干渉チェック支援情報を参照し、干渉チェック演算を行う。これにより、優先度算出部54bでは、干渉チェック部36における干渉チェック演算と独立した自由なタイミングでチェック対象組の優先度を算出する演算を行うことができる。
【0085】
チェック対象組抽出部54aは、移動パルスに基づいて算出される軸移動量、機械要素-制御軸紐付け情報、及び各軸従属関係情報に基づいて、複数の機械要素の全ての組み合わせの中から1組以上のチェック対象組を抽出する。また優先度算出部54bは、チェック対象組抽出部54aによって抽出された複数のチェック対象組に対し優先度を算出する。これにより優先度算出部54bは、必ずしも全てのチェック対象組に対して優先度を算出する必要がなく、チェック対象組抽出部54aによって絞り込まれたチェック対象組に対してのみ優先度を算出すればよいので、数値制御装置3における演算負荷を軽減することができる。
【0086】
また本実施形態では、干渉チェック支援情報を生成する機能を備える干渉チェック支援装置5を、工作機械2の制御及び干渉チェック演算を行う数値制御装置3に組み込むとともに、干渉チェック支援装置5では、数値制御装置3のパルス生成部34から送信される移動パルスに基づいて干渉チェック支援情報を生成する。これにより、数値制御装置3における演算負荷が大きくなるものの、数値制御装置3によって工作機械2を制御しながら、リアルタイムで干渉チェック支援情報を生成することができる。このため、例えば工作機械2がオペレータによって手動で操作された場合であっても適切な干渉チェック支援情報を生成することができる。
【0087】
<第2実施形態>
次に、本開示の第2実施形態に係る数値制御システムについて説明する。なお以下の説明では、第1実施形態に係る数値制御システムと同じ構成については同じ符号を付し、詳細な説明を省略する。
【0088】
図10は、本実施形態に係る数値制御システム1Aの概略図である。上述のように第1実施形態では、干渉チェック支援装置5を数値制御装置3に組み込んだ場合について説明した。これに対し本実施形態に係る数値制御システム1Aは、数値制御装置3Aと、この数値制御装置3Aとは別体で構成された干渉チェック支援装置5Aと、を備える点において第1実施形態に係る数値制御システム1Aと異なる。
【0089】
干渉チェック支援装置5Aは、第1記憶部51と、第2記憶部52と、チェック支援情報生成部54と、移動量位置算出部55Aと、を備える。
【0090】
移動量位置算出部55Aは、加工プログラムメモリ31に格納された数値制御プログラムを読み出し、数値制御装置3の指令解析部32、補間部33、パルス生成部34、及び位置姿勢算出部35における演算と同じ手順によって、数値制御装置3における補間周期と同じ周期で各制御軸の軸移動量ベクトル及び各機械要素の移動前位置ベクトルを生成する。移動量位置算出部55Aは、生成した軸移動量ベクトル及び移動前位置ベクトルを、チェック支援情報生成部54へ送信する。移動量位置算出部55Aから送信される軸移動量ベクトル及び移動前位置ベクトルに基づいてチェック支援情報生成部54において干渉チェック支援情報を生成する手順は第1実施形態と同じであるので、詳細な説明は省略する。
【0091】
本実施形態では、加工プログラムメモリ31に格納された数値制御プログラムに基づいて干渉チェック支援情報を生成する干渉チェック支援装置5Aを、数値制御装置3Aと別体で構成する。これにより、数値制御装置3Aによって工作機械2の制御を開始する前に、より具体的には数値制御プログラムを作成した段階で、この数値制御プログラムに基づいて干渉チェック支援情報を生成することができる。よって本実施形態に係る数値制御システム1によれば、第1実施形態に係る数値制御システム1と比較して、工作機械2の制御を行う際における数値制御装置3Aの演算負荷を軽減することができる。
【0092】
本開示は、上記実施形態に限定されるものではなく、種々の変更及び変形が可能である。例えば上記第1実施形態では、チェック支援情報生成部54は生成したチェック支援情報を第3記憶部53に格納し、干渉チェック部36は第3記憶部53に格納されたチェック支援情報を読み込んでから干渉チェック演算を行う場合について説明したが、本発明はこれに限らない。チェック支援情報生成部54で生成したチェック支援情報は、第3記憶部53を介さずに干渉チェック部36へ送信するようにしてもよい。
【符号の説明】
【0093】
1,1A…数値制御システム
2…工作機械
3,3A…数値制御装置
31…加工プログラムメモリ
32…指令解析部
33…補間部
34…パルス生成部
35…位置姿勢算出部
36…干渉チェック部
37…形状記憶部
5,5A…干渉チェック支援装置
51…第1記憶部
52…第2記憶部
53…第3記憶部
54…チェック支援情報生成部
54a…チェック対象組抽出部
54b…優先度算出部
55A…移動量位置算出部
図1
図2
図3
図4A
図4B
図5
図6
図7
図8
図9
図10