JP6012560B2 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP6012560B2
JP6012560B2 JP2013164453A JP2013164453A JP6012560B2 JP 6012560 B2 JP6012560 B2 JP 6012560B2 JP 2013164453 A JP2013164453 A JP 2013164453A JP 2013164453 A JP2013164453 A JP 2013164453A JP 6012560 B2 JP6012560 B2 JP 6012560B2
Authority
JP
Japan
Prior art keywords
axis
coordinate system
smoothing
machine
amount
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.)
Active
Application number
JP2013164453A
Other languages
English (en)
Other versions
JP2015035021A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2013164453A priority Critical patent/JP6012560B2/ja
Publication of JP2015035021A publication Critical patent/JP2015035021A/ja
Application granted granted Critical
Publication of JP6012560B2 publication Critical patent/JP6012560B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、補間前加減速制御中に移動経路を平滑化可能な数値制御装置に関する。
数値制御装置が搭載された工作機械では、加工プログラムにて指令された位置に移動するよう、各駆動軸の制御を行うことで可動部を移動させながら加工が行われるが、5軸加工機のような並進移動軸と回転移動軸とを有する機械では、並進軸の位置により決定される工具の先端位置と、回転軸の回転角度により決定される工具の姿勢を指令することで、より複雑な加工を実現している。
工具の姿勢を決定する回転軸の回転中心は、工具の根元や加工物が置かれるテーブルにあるのが一般的であるため、工具の姿勢を変更すると、加工物から見た工具の先端位置は変わるようになる。そこで、工具の姿勢を変更しながら並進軸が移動する場合、加工プログラムから指令された工具の先端位置の移動量に加えて、工具の姿勢変更に伴う加工物から見た工具の先端位置を補正するための移動量分も移動させる必要がある。
特許文献1には、テーブルをX軸、Y軸方向に直線駆動しC軸方向に回転するとともに、工具をZ軸方向に直線駆動しA軸方向に回転する5軸加工機を制御する数値制御装置において、NCプログラムで指令されたワーク座標系上の位置、速度に基づき、X軸、Y軸、Z軸について開始位置から指令位置に向かって補間を行った後、A軸、C軸について開始位置から指令位置に向かって補間を行い、A軸、C軸(回転軸)の補間位置に基づいてX軸、Y軸、Z軸(並進軸)の補間位置を補正することが記載されている。これにより、特許文献1によれば、回転するテーブルに載置されたワークに対して、簡単なNCプログラムにより補間しながら正確な加工を行うことができるとされている。
特許文献1に記載された工具先端点制御は、加工プログラムにて指令するワーク上の軌跡および速度と、工具の刃先位置(工具先端点)のワーク上の軌跡および速度とが一致するように各駆動軸の移動を補間しながら工具姿勢を補間することで、工具姿勢を変化させながらワークに対する工具先端点の軌跡を制御するものであると考えられる。このため、特許文献1に記載の技術であっても、プログラムに記載された経路や工具姿勢が急峻に変化する場合は、指令ブロックの継ぎ目における各駆動軸の移動方向が大きく変化し、振動が生じやすくなる問題があった。このため、特許文献1のような同時5軸加工を行う場合でも、以下に説明する特許文献2のような、指令ブロックの継ぎ目のみを平滑化するための技術が必要となっていた。
特許文献2は、加工プログラムに記載された移動経路を指令された速度で精度よく移動させつつ、指令ブロックの継ぎ目を滑らかに接続するために、加減速器と補間制御器を複数用意し、各制御のタイミングをコントロールする技術が開示されている。この技術により、経路方向の移動量に対して補間前加減速を行っている途中に、急峻に変化する経路がある場合でも、振動なく滑らかに移動することが可能となる。これより、補間前加減速でコーナを通過する度に行っていた加減速が不要となり、移動時間の短縮が可能になるとされている。
特許文献2に記載された技術は、加減速器の出力タイミングをコントロールする事で滑らかに遷移する経路を生成する技術である。この技術は、生成される経路は各加減速処理の出力結果に依存した経路となるため、平滑化する区間の加速度と、平滑化しない区間の加速度を柔軟に変更することができなかった。また、各加減速器の加減速時定数が同じ場合、指令ブロックの継ぎ目よりも前の経路の平滑化する区間と指令ブロックの継ぎ目よりも後の経路の平滑化する区間を異なる長さにするなど、柔軟に設定することができなかった。また、特許文献2の技術であっても、各加減速器の加減速時定数を異なる値に設定することで指令ブロック継ぎ目前後の平滑化量を変更することが可能となるが、各加減速器の加減速時定数の比率に応じた一定の比率にしか設定できないため、やはり、柔軟な設定を行うことができなかった。また、加減速時定数を各加減速器で異なる値に設定すると平滑化する区間以外の区間の加速度も変化してしまうので、無用に加減速時間が長くなる、または、加速度が過大となり、場合によっては許容加速度を超過してしまう問題が生じるため、加減速時定数を異なる設定にできなかった。
特開2003−195917号公報 特許第3353607号公報
しかしながら、特許文献1に記載された技術を用いた同時5軸制御中は、工具姿勢を変更する度に並進軸の移動に加えて回転軸の移動も同時に行われるため、回転軸の移動に伴う並進軸の補正量が発生する。このため、並進軸の移動経路が同じ場合であっても、回転軸の移動の有無によって、全軸移動量に対する並進軸移動量の割合が変化することになる。また、特許文献2の技術を用いて、指令ブロックの継ぎ目前後の指令ブロックでの移動量を同じ合成方向距離だけ平滑化しても、指令ブロック内の回転軸の移動量や、回転軸の移動に伴う並進軸の補正量が大きくなるほど工具先端の並進移動量が小さくなってしまう。これにより、回転軸移動量のない場合の経路は、指令ブロック前後の距離が同じ距離であっても、回転軸移動量の大きさにより指令ブロックの継ぎ目を平滑化した後の経路が非対称な経路となり、経路がばらつき、傷の原因となっていた。すなわち、5軸の場合、合成距離一致の状態で経路を合成すると、軌跡の対称性が崩れ、傷の原因となるという問題があった。
また、特許文献2に記載の技術は、各駆動軸の許容加速度を考慮に入れて重ね合わせのタイミングを計算する方式であるため、経路の内回り量(軌跡誤差)や、指令ブロック終点からの距離を所定の区間内とすることができない問題があった。特に、回転軸の移動を伴って並進軸の移動を行う場合、工具先端経路の内回り量を所定の区間内とすることができないという問題があった。
本発明は、上記に鑑みてなされたものであって、同時5軸制御中に工具先端の経路を指令ブロックの継ぎ目前後で滑らか且つ対称に接続することが可能な数値制御装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、複数の並進軸と1以上の回転軸によりテーブルおよび工具を動かして前記テーブル上のワークと前記工具との位置関係を制御する工作機械の数値制御装置において、複数の指令ブロックを含む加工プログラムに基づいて移動データを出力する解析処理部と、前記移動データに基づき、前記テーブルの座標系上で経路を補間するとともに前記回転軸の角度を補間して、補間周期毎のテーブル座標系上の並進軸位置と回転軸角度を出力する補間処理部と、前記テーブル座標系上の並進軸位置と回転軸角度に対して、前記工作機械の構造に基づいて座標変換を行い、機械座標系上での並進軸機械位置および回転軸角度を計算する座標変換部と、前記テーブル座標系上の並進軸位置と回転軸角度、前記機械座標系上での並進軸機械位置および回転軸角度、および平滑化量に基づき、前記テーブルの座標系上において前記指令ブロック毎に定められた平滑化区間内を移動する間の前記機械座標系上での合成方向距離を修正後の平滑化量として計算する平滑化量計算部と、補間周期毎の前記機械座標系上での並進軸機械位置および回転軸角度の変化量に基づき、加減速後の機械座標系上の合成方向速度を計算する加減速処理部と、前記合成方向速度と前記修正後の平滑化量と前記機械座標系上での並進軸機械位置および回転軸角度に基づいて、前記指令ブロック毎の経路が滑らかに接続されるように前記複数の並進軸と1以上の回転軸への移動指令を生成する平滑化経路生成部と、を備えることを特徴とする。
この発明によれば、工具先端点制御のような同時5軸制御が有効な状態で、移動方向が急峻に変化する場合であっても、各軸の移動を滑らかにすることを可能にしつつ、工具先端の移動経路(加工経路)が非対称になることで生じる傷を防ぐことができる、といった従来にない顕著な効果を奏する。
図1は、本発明の実施の形態にかかる数値制御装置の構成を示すブロック図である。 図2−1は、本発明の実施の形態における工作機械の構成を示す図である。 図2−2は、本発明の実施の形態における工作機械の構成を示す図である。 図2−3は、本発明の実施の形態における工作機械の構成を示す図である。 図2−4は、本発明の実施の形態における工作機械の構成を示す図である。 図2−5は、本発明の実施の形態における工作機械の構成を示す図である。 図3は、本発明の実施の形態における平滑化量計算部の処理を示すフローチャートである。 図4は、本発明の実施の形態における平滑化経路生成部の処理を示すフローチャートである。 図5は、本発明の実施の形態1における回転軸移動を伴わない場合の平滑化経路を示す図である。 図6は、従来の制御における問題点である工具側回転軸移動を伴う場合の問題を示す図である。 図7は、従来の制御における問題点である工具側回転軸移動を伴う場合の問題を示す図である。 図8は、本発明の実施の形態2におけるテーブル側回転軸移動を伴う場合の動作を示す図である。 図9は、本発明の実施の形態1における工具が傾いたときの様子を示す図である。
以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態にかかる数値制御装置2の構成を示すブロック図である。図2−1は、本発明の実施の形態における工作機械100の構成を示す図である。本実施の形態にかかる数値制御装置2について説明する。数値制御装置2は、工作機械100を数値制御(NC:Numerical Control)する装置であり、例えば、図2−1における工具102の先端位置と工具102の姿勢を制御する装置である。
数値制御装置2が搭載された工作機械100では、加工プログラム(NCプログラム、モーションプログラム)にて指令された位置に移動するよう、各軸の制御を行うことで可動部を移動させながら加工が行われる。工作機械100は、複数の並進軸と1以上の回転軸とを有する。
具体的には、工作機械100は、例えば、図2−1に示すように、3つの直線軸(並進軸)であるX軸、Y軸、Z軸と2つの回転軸であるB軸、C軸とを有する5軸加工機である。X軸は、X軸サーボモータ103Xが工具102を直線移動させるための軸である。Y軸は、Y軸サーボモータ103Yが工具102を直線移動させるための軸である。Z軸は、Z軸サーボモータ103Zが工具102を直線移動させるための軸である。X軸、Y軸、及びZ軸は、例えば、互いに直交する。B軸(第1の回転軸)は、B軸サーボモータ103Bが工具102を回転移動させるための軸であり、例えばY軸の周りに回転移動させる。C軸(第2の回転軸)は、C軸サーボモータ103Cがテーブル101を回転移動させるための軸であり、例えばZ軸の周りに回転移動させる。テーブル101は、その主面101a上にワークWKが載置される。
なお、図2−1は、回転軸(B軸、C軸)が工具側とワーク側とに1軸ずつある場合の工作機械100の構成を例示的に示す図である。しかし、工作機械100は、図2−2に示すように、回転軸(B軸、C軸)がワーク側に2軸ある場合の5軸加工機であってもよいし、図2−3に示すように、回転軸(B軸、C軸)が工具側に2軸ある場合の5軸加工機であってもよい。また、直線軸(並進軸)についても工具側にあってもよいし、ワーク側にあってもよい。また、回転軸が1つの場合は、回転軸が工具側にある図2−4のケースと、回転軸がワーク側にある図2−5のケースがある。
以後、本実施の形態においては、B軸のようにワークWKに対する工具の傾きを決定するための軸を傾斜軸と称し、C軸のように傾斜した工具を旋回するための軸を旋回軸と定義する。
図1の加工プログラム1は、Gコードと呼ばれる指令コードを用いて記述されたプログラムであり、移動指令として、位置決め指令(G00)や切削指令(G01)の他、同時5軸制御機能として工具先端点制御(G43.4/G43.5)指令などの指令コードを用いて記述されたプログラムである。また、以降では、加工プログラム1に記載された移動指令それぞれを指令ブロックと表現することとし、通常、加工プログラム1の1行1行が1つの指令ブロックに相当する。
図1の平滑化量4は、加工プログラム1に含まれる指令ブロックの継ぎ目を中心とした前後の経路に沿った距離として予め設定された距離であり、指令ブロック継ぎ目から指令経路に沿って平滑化量4だけ戻った位置(平滑化区間の始点)から、指令ブロック継ぎ目から指令経路に沿って、平滑化量4だけ進んだ位置(平滑化区間の終点)までを平滑化区間と呼ぶこととする。なお、平滑化量4は、加工プログラム1にて指令し、加工プログラム1の途中での変更を可能とする形態でもよい。平滑化量4を加工プログラム1にて指令する場合、加工プログラム1に記載された平滑化量4を含んだ移動データ210が、補間処理部22に与えられ、補間処理部22から平滑化量計算部26に平滑化量4が与えられることとなる。なお、便宜上、平滑化量Wに対して、指令ブロック継ぎ目よりも前の指令ブロックの終点における平滑化量をWE、指令ブロック継ぎ目よりも後ろの指令ブロックの始点における平滑化量をWSとして表現することとし、通常、W=WE=WSの関係となる。
数値制御装置2は、加工プログラム1を解析し、解析結果に応じてサーボアンプ3を介して、例えば、図2−1に示すような5軸加工機である工作機械100を制御して、テーブル101に載置されたワークWKに対する相対的な工具姿勢を制御しながら、ワークWKの加工を行う。
例えば、数値制御装置2は、工具102の位置や姿勢を所望の工具位置、工具姿勢となるように、X、Y、Z、B、C軸のそれぞれを適切に制御することで、ワークWKに対する複雑な加工を実現している。例えば、数値制御装置2は、図1に示すように所定の移動指令250をサーボアンプ3におけるX軸アンプ3X、Y軸アンプ3Y、Z軸アンプ3Z、B軸アンプ3B、及びC軸アンプ3Cのそれぞれへ出力する。
これにより、X軸アンプ3X、Y軸アンプ3Y、Z軸アンプ3Z、B軸アンプ3B、及びC軸アンプ3Cは、それぞれ、X軸サーボモータ103X、Y軸サーボモータ103Y、Z軸サーボモータ103Z、B軸サーボモータ103B、C軸サーボモータ103Cに電圧指令を出力し駆動する。
以下においては、数値制御装置2について詳細にその内容を示す。まず、数値制御装置2は、図1に示すように、解析処理部21、補間処理部22、座標変換部23、加減速処理部24、平滑化経路生成部25、平滑化量計算部26、および経路バッファ27を有する。
解析処理部21は、工具先端の位置と工具の姿勢の指令からなる加工プログラム1を1指令ブロックずつ読み込み、読み込んだ加工プログラム1に記述された動作命令を解析して指令ブロック毎の移動データ210を生成し、補間処理部22へ供給する。
移動データ210は、各指令ブロックの命令を解釈した結果得られ、指令ブロック毎の工具の先端位置を決める各並進軸の移動位置(指令ブロック始点位置、終点位置)、工具の姿勢を決める各回転軸の回転角度(指令ブロック始点での角度、終点での角度)、各駆動軸の移動距離、移動速度、指令座標系(テーブル座標系での指令、ワーク座標系での指令)、補間モード(直線、円弧、非補間等)、制御モード(工具先端点制御の有効・無効の区別)、前後の指令経路となす角度(軸比変化量)など、軸毎の補間点を決定するために必要な情報である。
なお、テーブル座標系とは、テーブル101を回転させるための回転軸(図2−1の場合、C軸)を有する機械において、テーブル回転に連動する座標系であり、ワーク座標系とは、テーブル101の回転とは無関係の座標系で、空間上に固定される座標系を表す。工具先端点制御では、機械の構成、加工形状の特徴に応じて、このどちらかの座標系で工具軌跡を指令しているが、どちらの指令方法であっても、機械構造に応じた座標変換を行うことで、テーブル座標系、および、ワーク座標系での移動データを計算することが可能である。また、テーブル101を回転させるための回転軸を有さない機械では、テーブル座標系とワーク座標系は常に一致する座標系となる。
補間処理部22は、解析処理部21にて作成された移動データ210に基づき、テーブル座標系上での補間を行うことで、補間周期毎のテーブル座標系上での並進軸位置および回転軸角度220を求め、平滑化量計算部26および座標変換部23に出力する。なお、補間処理については、従来技術と同様の処理を行うことができ、補間処理部22における具体的な補間処理の一例を以下に示す。
補間処理部22では、テーブル座標系上の経路(並進軸移動)を補間周期と送り速度に応じて順次経路を細分化し、補間周期毎の指令位置を決定するものである。つまり、指令ブロック始点、終点位置を位置ベクトルPS、PEとすると、工具先端位置の補間点Pは、
P=(PE−PS)/|PE−PS|×(n×Fdt) + PS (1)
で表すことができる。なお、Fdtは、加工プログラムに記載された工具先端の合成方向移動速度と補間周期で決定する値であり、補間周期毎の移動量に相当する。また、|PE−PS|は、指令ブロックの始点から終点までの距離であり、当該指令ブロックにおけるテーブル座標系上の並進軸の合成移動量に相当する。さらに、nは、指令ブロック内の補間点の数(|PE−PS|/Fdtの小数部を切り捨てた値)を上限とする0以上の整数値となっている。
|PE−PS|は、以下の数式(2)で表される。
|PE−PS| = √(ΔX^2+ΔY^2+ΔZ^2) (2)
なお、ここでは、ΔX,ΔY,ΔZをテーブル座標系上における指令ブロックのX軸、Y軸、Z軸の並進移動量とした。
また、回転軸の回転角度である回転軸角度は、指令ブロックの並進軸の合成移動量と、指令ブロック内の補間済みの距離(または、指令ブロック内の残距離)の比率に合わせて、指令ブロック内の回転軸の角度を変化させる。つまり、回転軸角度の移動量全体に対する割合と、補間済みの回転軸移動量(または、指令ブロックの残距離)が並進軸の比率と同じ比率になるように変化させるものである。
つまり、指令ブロック始点角度をRS、指令ブロック終点角度をREとした場合、回転軸角度Rを、以下の数式(3)で表現したものである。
R=(RE−RS)×(|P−PS|/|PE−PS|)+RS (3)
なお、上記は、並進軸の移動量に合わせて回転軸角度を変化させる例としたが、指令ブロック始点の工具姿勢ベクトルから指令ブロック終点の工具姿勢ベクトルまでの間を並進軸の移動比率に合わせて徐々に変化させるものでもよく、工作機械100の構成に応じて、補間した工具姿勢ベクトルを回転軸角度に座標変換することで回転軸角度を計算できる。
補間処理部22は、このようにして得た補間周期毎のテーブル座標系上での並進軸位置(工具先端位置)および回転軸角度220に加え、補間点と指令ブロック始点との間のテーブル座標系上での距離、補間点と指令ブロック終点との間のテーブル座標系上での距離を、平滑化量計算部26および座標変換部23に出力する。
次に、座標変換部23は、工具先端位置と回転軸の回転角度から、工作機械100の構成に応じた関係式を用いて、並進軸の機械位置へ座標変換するものであり、座標変換後の機械座標系上での並進軸機械位置および回転軸角度230を、加減速処理部24および平滑化量計算部26に出力する。それとともに、座標変換部23は、機械座標系上での並進軸機械位置および回転軸角度、機械座標系上の合成方向移動量230を、経路情報として経路バッファ27に保存する。なお、座標変換部23では、並進軸の位置のみを座標変換する処理を行い、回転軸の角度については、座標変換を行うものではない。
平滑化量計算部26は、補間処理部22の出力である補間点と指令ブロック始点との間のテーブル座標系上での距離、および、補間点と指令ブロック終点との間のテーブル座標系上での距離、並進軸位置および回転軸角度220と、平滑化量4、および、機械座標系上での並進軸機械位置および回転軸角度230に基づいて、機械座標系上での合成方向距離に相当する修正後の平滑化量260の計算を行うものである。
平滑化量4は、指令ブロック間の角度が浅く、滑らかに遷移する経路では平滑化量を小さくするなど、指令ブロックの継ぎ目がなす角度に比例した係数を乗じた値を使用するようにしてもよい。これにより、例えば、ある指令ブロックと前の指令ブロックとの継ぎ目を平滑化するための平滑化量WSと、ある指令ブロックと後ろの指令ブロックとの継ぎ目を平滑化するための平滑化量WEの2種類の平滑化量が1つの指令ブロックに対して設定されるようになっていても構わない。
図3は、本発明の実施の形態における平滑化量計算部の処理を示すフローチャートである。以下、平滑化量計算部26の詳細な処理内容を、図3のフローチャートに従って説明する。
まず、ステップS1では、補間処理部22で計算した指令ブロック始点と補間点との間のテーブル座標系上での距離LS、補間点と指令ブロック終点との間のテーブル座標系上での距離LE、指令ブロック始点における平滑化量WS、指令ブロック終点における平滑化量WEを取得する。
次に、ステップS2では、指令ブロック始点と補間点との間のテーブル座標系上での距離LSと、指令ブロック始点におけるテーブル座標系上での平滑化量WSに基づいて、補間点が、指令ブロックの始点から、経路に沿って指令ブロック始点における平滑化量WSだけ進んだ位置(平滑化区間の終点)まで移動する間の機械座標系の合成方向距離を累積する。つまり、指令ブロック始点における平滑化量WSに相当する機械座標系上での合成方向距離の計算を行う。
具体的には、補間周期毎に、指令ブロック始点と補間点との間のテーブル座標系上での距離LSと、指令ブロック始点における平滑化量WSを比較し、指令ブロック始点と補間点との間のテーブル座標系上での距離LSが、指令ブロック始点における平滑化量WS以下である場合、補間点が平滑化区間に入っていると判断し、今回の補間による機械座標系上での合成方向距離を計算、累積することで、指令ブロック始点における平滑化区間を移動する際の機械座標系上での合成方向距離を計算する。そうでない場合、補間点が平滑化区間に入っていないと判断し、合成方向距離の計算、および、合成方向距離の累積を行わない。
なお、補間点が指令ブロック始点に一致せずに平滑化区間の中に入る場合、または、平滑化区間の終点に一致せずに平滑化区間の外に出る場合、指令ブロックの始点、または、平滑化区間の終点における機械座標系上の各駆動軸の機械位置を座標変換により算出し、補間点における各駆動軸の機械位置と、指令ブロックの始点、または、平滑化区間の終点における各駆動軸の機械位置から機械座標系上での合成方向距離を計算する。これにより、平滑化区間内の機械座標系上の合成方向距離を正確に計算することができる。
ステップS3では、ステップS2同様の処理を指令ブロック終点について行い、指令ブロック終点と補間点との間のテーブル座標系上での距離LEと、指令ブロック終点における平滑化量WEとに基づいて、補間点が、指令ブロック始点から指令ブロック始点からWEだけ経路に沿って進んだ点(平滑化区間の終点)まで移動する間の機械座標系の合成方向距離を計算する。つまり、指令ブロック終点における平滑化量WEに相当する機械座標系上での合成方向距離の計算を行う。
具体的には、指令ブロック終点と補間点との間のテーブル座標系上での距離LEと、指令ブロック終点における平滑化量WEとを比較し、指令ブロック終点と補間点との間のテーブル座標系上での距離LEが、指令ブロック終点における平滑化量WE以下である場合、補間点が平滑化区間に入っていると判断し、今回の補間による機械座標系での合成方向距離を計算、累積することで、指令ブロック終点における平滑化区間を移動する際の機械座標系上での合成方向距離を計算する。そうでない場合、平滑化区間に入っていないと判断し、合成方向距離の計算、および、累積を行わない。
なお、補間点が平滑化区間の始点に一致せずに平滑化区間の中に入る場合、または、指令ブロック終点に一致せずに平滑化区間の外に出る場合、指令ブロックの終点または、平滑化区間の始点における機械座標系上の各駆動軸の機械位置を座標変換により算出し、補間点における各駆動軸の機械位置と、平滑化区間の始点、または、指令ブロックの終点における各駆動軸の機械位置から機械座標系上での合成方向距離を計算する。これにより、平滑化区間内の機械座標系上の移動距離を正確に計算することができる。
なお、ここで計算する機械座標系上での合成方向距離は、座標変換部23の出力である補間周期毎の機械座標系上での各駆動軸の機械位置から合成方向距離を計算し、累積するものである。補間周期毎の機械座標系上での各軸(X軸、Y軸、Z軸、B軸、C軸)移動量をΔXM、ΔYM、ΔZM、ΔB、ΔCとすると、補間周期毎の合成方向の距離ΔLMは、以下の数式(4)で表される。なお、ΔXM、ΔYM、ΔZM、ΔB、ΔCは、前回補間周期の各駆動軸の機械位置と今回補間周期の各駆動軸の機械位置の差分により計算されるものである。
ΔLM=√(ΔXM^2+ΔYM^2+ΔZM^2+ΔB^2+ΔC^2) (4)
この数式(4)で計算されるΔLMを指令ブロック始点付近の平滑化区間、指令ブロック終点付近の平滑化区間それぞれの区間内の補間点に対して計算し、累積することで、補間点が平滑化区間を移動する間の機械座標系上での合成方向距離を計算し、修正後の平滑化量260として経路バッファ27に出力する。
この修正後の平滑化量260は、指令ブロックの継ぎ目を平滑化する区間を決定するために使用し、回転軸の軸移動量がゼロとなる指令ブロックでは、平滑化量4に一致し、回転軸の軸移動量がゼロでない指令ブロックでは、平滑化量4とは異なる値となる。
なお、指令ブロック始点における修正後の平滑化量260の数値をWS1、指令ブロック終点における修正後平滑化量260の数値をWE1で表すと、以下の数式(5)、(6)の関係となる。
WE1=Σ(指令ブロック終点における機械座標系上での合成方向距離) (5)
WS1=Σ(指令ブロック始点における機械座標系上での合成方向距離) (6)
修正後の平滑化WS1、WE1は、回転軸の移動量がゼロでない場合、WS1≠WS、WE1≠WEの関係となり、回転軸の移動量がゼロの場合、修正後の平滑化量WS1、WE1は、それぞれ平滑化量WS、WEに一致することとなる。
なお、上に示した数式(4)においては、並進軸の移動量と回転軸の移動量の2乗値を加算し平方根を計算することとしており、回転軸の回転角度1[deg]を1[mm]相当として扱うことで計算することができる。
また、平滑化量計算部26では、平滑化区間内を移動する際の機械座標系上の各駆動軸の移動量、および合成方向距離を計算する際に、補間周期毎の各駆動軸の機械位置から各駆動軸の移動距離、合成方向移動量を算出して累積することで計算したが、解析的に計算できる場合は、解析的に計算した結果を使ってもよい。また、補間周期よりも細かい時間周期での機械座標系上の機械位置を求め、工具の移動距離の近似誤差を小さくするようにしてもよい。
加減速処理部24は、機械座標系上での並進軸機械位置および回転軸角度230、すなわち各駆動軸(並進軸、および回転軸)の機械位置に対して補間前加減速を行い、加減速後の機械座標系上の合成方向速度240を出力する。すなわち、補間周期毎の機械座標系上での並進軸機械位置および回転軸角度230の変化量に基づき、加減速後の機械座標系上の合成方向速度を計算する。ここで、補間前加減速処理は、公知の技術でありその詳細については触れないものとする。
なお、補間前加減速では、指令ブロック継ぎ目の角度に応じて減速させて、指令ブロックの継ぎ目を通過するように減速速度を決定するものでもよい。
平滑化経路生成部25には、経路バッファ27から経路情報および平滑化量270が与えられる。経路情報および平滑化量270は、経路情報(機械座標系上での並進軸機械位置および回転軸角度、機械座標系上の合成方向移動量230)と修正後の平滑化量260を含む。平滑化経路生成部25は、加減速処理部24で計算された加減速後の速度である機械座標系上の合成方向速度240と、経路バッファ27に格納された経路情報と、に基づいて各軸への移動指令250を算出する。このとき、平滑化経路生成部25は、平滑化量計算部26にて計算された修正後の平滑化量260での平滑化を行う。
具体的には、図4の平滑化経路生成部25の処理を示すフローチャートに従い、以下の手順で経路の平滑化を行う。
まず、ステップS110では、加減速後速度である機械座標系上の合成方向速度240を用いて計算した補間点の位置と処理中の指令ブロック終点との間の機械座標系上での距離DEを計算するとともに、指令ブロック終点における修正後の平滑化量WE1を取得し、ステップS111に移行する。
なお、補間点の位置と処理中の指令ブロック終点との間の機械座標系上での距離DEは、経路バッファ27に保存された機械座標系上の合成方向移動量を補間点の位置から指令ブロック終点までの区間、累積することで計算することができる。
ステップS111では、補間点の位置と処理中の指令ブロック終点までの機械座標系上での距離DEと、指令ブロック終点における修正後の平滑化量WE1とを比較し、補間点の位置が平滑化区間内であるか否かを判定する。今回の補間点の位置が平滑化区間内であると判断した場合(ステップS111:Yes)は、ステップS112に移行し、今回の補間点の位置が平滑化区間内ではないと判断した場合(ステップS111:No)、ステップS120に移行する。
ステップS112では、今回の補間点と処理中の指令ブロック終点との間の機械座標系上での距離DEと、指令ブロック終点における修正後の平滑化量WE1と、次の指令ブロック始点における修正後の平滑化量WSとを用いて、後述の指令ブロック間の移動を滑らかに変化させることができる経路を生成し、処理を終了する。
また、ステップS120では、加減速後の速度である機械座標系上の合成方向速度240を用いて計算された補間点の位置と処理中の指令ブロック始点との間の機械座標系上での距離DSを計算するとともに、指令ブロック始点における修正後の平滑化量WS1を取得し、ステップS121に移行する。
なお、補間点の位置と処理中の指令ブロック始点との間の機械座標系上での距離DSは、経路バッファ27に保存された機械座標系上の合成方向移動量を補間点の位置から指令ブロック始点までの区間、累積することで計算することができる。
ステップS121では、補間点の位置と処理中の指令ブロック始点までの機械座標系上での距離DSと、指令ブロック始点における修正後の平滑化量WS1とを比較し、補間点の位置が平滑化区間内であるか否かを判定する。今回の補間点の位置が平滑化区間内であると判断した場合(ステップS121:Yes)は、ステップS122に移行し、補間点の位置が平滑化区間内ではないと判断した場合(ステップS121:No)は、処理を終了する。
ステップS122では、今回の補間点と処理中の指令ブロック始点との間の機械座標系上での距離DSと、指令ブロック始点における修正後の平滑化量WS1と、前の指令ブロック終点における修正後の平滑化量WE1とを用いて、後述の指令ブロック間の移動を滑らかに変化させることができる経路を生成し、処理を終了する。
以下に、指令ブロック間の移動を滑らかに変化させることができる経路生成方法の具体的な一例を示す。まず、指令ブロックの継ぎ目より前の経路をパラメータ表現し、P1(t1)とし、指令ブロックの継ぎ目より後の経路をパラメータ表現し、P2(t2)とする。ここで、P1、および、P2は、全ての駆動軸の位置を要素とする位置ベクトルとして表現したものであり、t1、t2に応じた位置を示す値となっている。
ここで、t1は、平滑化区間の始点(指令ブロック継ぎ目から経路に沿って機械座標系上での距離WE1だけ戻った位置)でt1=0、指令ブロック終点(指令ブロックの継ぎ目)でt1=1となる値であり、t2は、指令ブロック始点(指令ブロックの継ぎ目)でt2=0、平滑化区間の終点(指令ブロック継ぎ目から経路に沿って機械座標系上での距離WSだけ進んだ位置)でt2=1となる値である。さらに、各指令ブロックを平滑化した経路をQ(τ)として表す。ここでτは、前述の平滑化区間の始点でτ=0、平滑化区間の終点でτ=1となる、距離に連動するパラメータである。
このとき、平滑化した後の経路Q(τ)は、以下の数式(7)で計算される。
Q(τ)= P1(1−(1−τ)^2)+P2(τ^2)−P2(0) (7)
これにより、各指令ブロック間の移動を滑らかに変化する経路を生成することができる。
なお、τは、平滑化区間の始点でゼロとし、平滑化経路上の補間済み長さと平滑化区間全体の距離との比率に応じて0から1の間を変化する。つまり、補間点が指令ブロック終点の平滑化区間にある場合(図4のステップS111で平滑化区間内と判断した場合)は、τを以下の数式(8)で計算する。
τ=(WE1−DE)/(WE1+WS1) (8)
そして、補間点が指令ブロック始点の平滑化区間内にある場合(図4のステップS121で平滑化区間内と判断した場合)は、τを以下の数式(9)で計算する。
τ=(WE1+DS)/(WE1+WS1) (9)
また、数式(7)は、t1、t2をτの2次式としているが、P1(t1)の経路とP2(t2)の経路の間を徐々に変化するものであれば、その形態は問わず、τのN次式としてもよく、平滑化した後の経路Q(τ)を、以下の数式(10)のように計算してもよい。
Q(τ)= P1(1−(1−τ)^N)+P2(τ^N)−P2(0) (10)
以降、加工プログラムを例に、従来の制御方法における動作を説明した後、本実施の形態における動作を具体的に説明する。
例えば、加工プログラムが、以下のように記載されていたとする。このときの工具102の動作を図5に示す。
O100
N1 G54 G90 G43
N2 G0 X0.Y0.Z0.B0.C0.;
N3 G43.4;
N10 G1 X60.F3000;
N11 Y−60.;
・・・
N50 G49
上記加工プログラム1の1行目の「O100」は、「Oアドレス」に続く数字により、プログラム番号を示すものであり、プログラム100番を示している。上記プログラムを以下では、加工プログラム100番と呼ぶことにする。
加工プログラム100番のシーケンス番号「N1」では、「G54」では座標系原点位置を指定し、「G90」で指令された座標値がワーク座標系の絶対位置であることを示している。また、「G43」で工具長の補正を行う制御モードとすることで、工具の長さ分の補正を行い、プログラムに記載された位置に工具先端を移動する制御モードに切り換えている。
なお、工具長をHとし、加工プログラムでワーク座標系上の点(X,Y,Z)=(0,0,0)の位置に移動するよう指令した場合、制御点は、工具の長さ分だけ補正され、ワーク座標系上の点(X,Y,Z)=(0,0,H)の位置に位置決めされることになる。以降では、工具先端点の位置を(X,Y,Z)とし、制御点の機械位置を(XM,YM,ZM)として表現する。
次に、加工プログラム100番の「N2」では、「G0」で現在の位置、現在の回転軸角度から、ワーク座標系上の点(X,Y,Z)=(0,0,0)の位置に工具先端点が移動し、各軸の最大速度での移動を行う。
次に、加工プログラム100番の「N3」では、「G43.4」で先端点制御を有効とし、シーケンス番号「N50」の「G49」で先端点制御を無効とするまで先端点制御を有効状態としており、テーブル101の回転に連動した座標系(テーブル座標系)に対して工具102の先端点をX,Y,Zで指令し、工具姿勢を回転軸角度B,Cで指令することが可能となる。なお、「G43.4」では、「G54」で指定したワーク座標系をテーブル101に固定し、テーブル回転に連動する座標系としてテーブル座標系を設定する。
そして、加工プログラム100番の「N10」ブロックでは、「N2」で位置決めした位置から、テーブル座標系(X,Y,Z)=(60,0,0)まで速度3000mm/minで移動する指令を行う。つまり、工具先端点がテーブル座標系(X,Y,Z)=(0,0,0)の位置から(X,Y,Z)=(60,0,0)の位置に移動し、制御点は、(XM,YM,ZM)=(0,0,H)の位置から(XM,YM,ZM)=(60,0,H)の位置に移動を行う。
加工プログラム100番の「N11」ブロックでは、「N10」の終点からテーブル座標系(X,Y,Z)=(60,−60,0)の位置に工具先端を移動する指令を行っており、制御点は、(XM,YM,ZM)=(60,−60,H)の位置に移動する(図5)。
このとき、「N10」ブロックの移動と「N11」ブロックの移動での合成方向距離を考えると、各指令ブロックの移動は、1軸のみの移動であるため、X方向、または、Y方向の移動距離が合成方向距離に一致する。
このため、指令ブロック終点における平滑化量WEを10mmとすると、修正後の平滑化量WE1も10mmとなり、「N10」ブロックでは、指令ブロックの継ぎ目からX方向に10mm分が平滑化の区間となる。また、指令ブロック始点における平滑化量もWS=10mmとすると、修正後の平滑化量WS1も10mmとなり、「N11」ブロックでは、指令ブロックの継ぎ目からY方向に10mm分が平滑化の区間となる。
つまり、工具102の先端点が、「N10」ブロック上の、(X,Y,Z)=(50,0,0)の位置から(X,Y,Z)=(60,0,0)の位置までの経路と、「N11」ブロック上の、(X,Y,Z)=(60,0,0)の位置から(X,Y,Z)=(60,−10,0)の位置までの経路が平滑化の対象区間となる(図5)。
加工プログラム100番のように、並進軸のみ動く場合は、「N10」ブロックの終点位置を中心とした、前後10mmの区間が平滑化対象区間となり、平滑化区間は対称となる。
次に、加工プログラム100番から、「N20」ブロックと「N21」ブロックを変更した、以下に示すような加工プログラム(以下では、加工プログラム200番と呼ぶ)を用いて、工具根元の回転軸のような傾斜軸の移動量がゼロでない場合について説明する。このときの工具102の動作を図6に示す。
O200
N1 G54 G90 G43
N2 G0 X0.Y0.Z0.B0.C0.;
N3 G43.4;
N20 G1 X60.F3000;
N21 Y−60.B30.;
・・・
N50 G49
この加工プログラム200番では、「N1」から「N3」までは、加工プログラム100番と同じ処理を行っており、「N20」は、加工プログラム100番の「N10」と同じ指令となっている。また、「N21」ブロックの動作が加工プログラム100番の「N11」と異なっており、Y軸方向に工具先端点を−60mm移動するとともに、指令ブロック終点のB軸角度が30度となる工具姿勢に位置決めするよう指令がなされている。
このとき、加工プログラム200番の「N21」ブロックの移動における合成方向距離は、B軸が回転する分だけ、「N11」ブロックの合成方向移動量とは異なる値となり、B軸の回転に連動して、X軸、Z軸の位置を補正することで工具先端位置をプログラムで記載された位置になるよう制御を行っている。
具体的には、「N21」ブロックでは、工具先端点がテーブル座標系上を「N20」ブロック終点での位置からY軸は−60mm、B軸は30度動くので、機械座標系上での各駆動軸の機械位置は、図9の関係より(XM,YM,ZM,B,C)=(60,0,H,0,0)の位置から(XM,YM,ZM,B,C)=(60+H×SIN(θB),−60,H×COS(θB),30,0)の位置に移動する。なお、θBは、B軸角度を弧度法表現したものであり、単位はラジアンとなっている。この場合、30度のラジアンでの値がθBになっている。
次に、「N21」ブロック内での機械座標系上での移動量は、指令ブロック始点から終点までの距離として計算でき、(ΔXM,ΔYM,ΔZM,ΔB,ΔC)=(H×SIN(θB),−60,H×COS(θB)−H,30,0)となる。
ただし、工具先端の経路を制御しながら回転軸を変化させる場合、合成方向移動量は、(ΔXM,ΔYM,ΔZM,ΔB,ΔC)を数式(4)に代入することで計算される値と異なる値となる。「N21」ブロックの動作では、テーブル座標系上の合成方向移動量LTを解析的に計算することができ、以下の数式(11)となる。
LT=√(ΔY^2+ΔB^2+(H×θB)^2) (11)
数式(11)では、右辺第一項がY軸移動量、第二項が回転軸(B軸)移動量、第3項が回転軸の移動に伴う並進軸位置の補正量を示すものとなっている。工具長をH=100mm、ΔB=30度とすると、テーブル座標系上の合成方向移動量はLT≒85.10mmとなる。ただし、回転角度は1度=1mm相当とみなした場合の距離である。
なお、「N21」ブロックの始点における平滑量WSを10mmとする場合、X軸、Y軸、Z軸、B軸、C軸の移動量(ΔXMW,ΔYMW,ΔZMW,ΔBMW,ΔCMW)は、
ΔXMW=(WS/LT)×H×SIN(ΔθBMW)=0.72mm
ΔYMW=(WS/LT)×(−60)≒−7.05mm
ΔZMW=(WS/LT)×(H×COS(ΔθBMW)−H)≒−0.02mm
ΔBMW=(WS/LT)×ΔB≒3.53度
ΔCMW=(WS/LT)×0=0度
となり、工具先端は、Y軸方向−7.05mm分が平滑化区間となり、加工プログラム100番でのY軸方向移動量−10mmとは異なる距離になっていることが分かる。
これに対して、「N20」ブロックでは回転軸の移動がないため、「N20」ブロック終点における平滑化量WE1は10mmとなり、ブロック継ぎ目前後の平滑化区間に違いが現れる。この平滑化区間の違いは、経路の違い、ひいては、加工面に傷として現れるため、問題となっている(図7参照)。なお、ΔθBMWは、ΔBMWを弧度法表現したものであり、単位はラジアンとなっている。
以上より、従来の制御方法では、テーブル座標系上での合成方向距離が一致するように経路の平滑化を行った場合であっても、同時5軸制御のように回転軸の移動量を含む場合の移動では、工具先端経路のテーブル座標系上での平滑化区間が指令ブロック前後で異なる長さとなる場合があることが分かる。
このため、本実施の形態においては、テーブル座標系XYZの移動量と回転軸の移動量、機械座標系でのXYZの移動量に基づき、指令ブロック前後の平滑化量を決定するものである。以下、加工プログラム200番に、本実施の形態の数値制御装置2の制御方法を適用した場合を例に説明を行う。
本実施の形態にかかる数値制御装置2では、平滑化量計算部26にて、補間処理部22の出力であるテーブル座標系上での並進軸位置および回転軸角度220と、平滑化量4、および、機械座標系上での並進軸機械位置および回転軸角度230に基づいて、指令ブロック内における修正後の平滑化量260の計算を行う。平滑化量Wを10mmとする場合、プログラム200番の「N21」ブロックの始点における平滑化量WSは、Wに一致し、平滑化区間は、(X,Y,Z,B,C)=(60,0,0,0,0)から、(X,Y,Z,B,C)=(60,−10,0,5,0)までの区間となり、工具先端の移動量は、(ΔXW,ΔYW,ΔZW,ΔBW,ΔCW)=(0,−10,0,5,0)となる。
このとき、テーブル座標系上の「N21」ブロックの平滑化区間を移動する際の機械座標系上の合成方向距離LMWは、以下の数式(12)により解析的に計算することができる。
LMW=√(ΔYW^2+ΔBW^2+(H×θBW)^2)≒14.18 (12)
そして、このLMWを「N21」ブロックにおける修正後の平滑化量WS1として設定する。
なお、指令ブロック始点における修正後の平滑化量WS1を、14.18mmとした場合、機械座標系上での各駆動軸(X軸、Y軸、Z軸、B軸、C軸)の移動量(ΔXMW,ΔYMW,ΔZMW,ΔBMW,ΔCMW)は、
ΔXMW=(WS1/LC)×(H×SIN(θBMW))=1.45mm
ΔYMW=(WS1/LC)×(−60)≒−10mm
ΔZMW=(WS1/LC)×(H×COS(θBMW)−H)≒−0.06mm
ΔBMW=(WS1/LC)×ΔB≒5度
ΔCMW=(WS1/LC)×0=0度
となり、平滑化区間における工具先端のY軸方向移動量を−10mmに一致させることが可能となる。これより、平滑化区間、回転軸が同時に移動する場合でも、工具先端の平滑化量を所定の値に一致させることが可能となる。
なお、本実施の形態では、工具回転に伴う機械の移動経路が解析的に計算することができたため、解析的に計算する方法での説明を行ったが、解析的に計算ができない場合、または、解析的に計算するための計算負荷が重いなどの場合には、座標変換部で計算される補間点毎の各駆動軸の機械位置の変化量に基づいて、機械座標系上での合成方向移動量を近似計算すればよい。
以上より、工具先端点制御、補間前加減速が有効となる状態であっても、工具が回転する場合に平滑化量を修正することで、工具先端経路の平滑化量を指令ブロック前後で一致させる(対称にする)ことができ、平滑化経路のばらつきを抑えることが可能となる。
これにより、平滑化した後の経路が異なることで生じていた加工面に筋ができるなどの傷の発生を回避できるので、加工品位の向上が可能となる。
実施の形態2.
次に、実施の形態2にかかる数値制御装置2について説明する。なお、実施の形態2にかかる数値制御装置2の構成は、実施の形態1と同様に図1に示される。また、その構成要素内の動作も同様であるが、本実施の形態において実行する加工プログラムが実施の形態1とは異なるものとなっている。以下では、実施の形態1と異なる部分を中心に説明する。
実施の形態1では、工具の根元の回転軸の移動量がゼロでない場合、すなわち工具回転軸が移動するケースの適用方法について示し、機械座標系の合成方向移動量が解析的に計算できる場合の適用例を示した。これに対し、本実施の形態2では、機械座標系の合成方向移動量が解析的に計算できない場合の適用例を示すものであり、テーブル側の回転軸の移動を伴う場合を例としてその適用方法について示す。
本実施の形態にかかる加工プログラムは、並進軸の移動のみで構成された加工プログラムであり、以下の加工プログラム300番である。
O300
N1 G54 G90 G43
N2 G0 X0.Y0.Z0.B0.C0.;
N3 G43.4;
N30 G1 Y60.F3000;
N31 X−60.;
・・・
N50 G49
この加工プログラム300番では、「N1」から「N3」までは、加工プログラム100番および200番と同じ処理を行っており、「N30」、「N31」が異なっている。
加工プログラム300番の「N30」ブロックでは、N2で位置決めした位置から、テーブル座標系(X,Y,Z)=(0,60,0)まで速度3000mm/minで移動する指令を行う。つまり、工具先端点がテーブル座標系(X,Y,Z)=(0,0,0)の位置から(X,Y,Z)=(0,60,0)の位置に移動し、制御点は、(XM,YM,ZM)=(0,0,H)の位置から(XM,YM,ZM)=(0,60,H)の位置に移動を行う。
次に、加工プログラム300番の「N31」ブロックでは、「N30」の終点からテーブル座標系(X,Y,Z)=(−60,60,0)の位置に工具先端を移動する指令を行っており、制御点は、(XM,YM,ZM)=(−60,60,H)の位置に移動する。
このとき、「N30」ブロックの移動と「N31」ブロックの移動での合成方向距離を考えると、各指令ブロックの移動は、1軸のみの移動であるため、Y方向、または、X方向の移動距離が合成方向距離に一致する。このため、平滑化量Wを10mmとした場合、「N30」ブロックの終点位置を中心として、経路に沿って前後10mmの区間が平滑化対象区間となり、平滑化区間を対称にすることができる。
次に、加工プログラム300番から、「N30」ブロックと「N31」ブロックを変更した、以下に示すような加工プログラム(以下では、加工プログラム400番と呼ぶ)を用いて、テーブル回転軸の移動量がゼロでない場合について説明する。このときの動作を図8に示す。
O400
N1 G54 G90 G43
N2 G0 X0.Y0.Z0.B0.C0.;
N3 G43.4;
N40 G1 Y60.F3000;
N41 X−60.C180.;
・・・
N50 G49
この加工プログラム400番では、「N1」から「N3」までは、加工プログラム100番、200番、および300番と同じ処理を行っており、「N40」は、プログラム300番の「N30」と同じ指令となっている。また、「N41」ブロックの動作が加工プログラム300番の「N31」と異なっており、プログラムで指令した座標がテーブルの回転に連動する座標系(テーブル座標系)上の位置を指定する場合、「N41」ブロックは、テーブル回転軸の回転角度(C軸角度)が0度から180度にまで変化する間に、テーブル座標系上をX軸方向に−60mm移動するよう指令がなされている。このとき、「N41」ブロックの移動における合成方向距離は、C軸の回転に伴い、「N31」ブロックの合成方向移動量とは異なる値となる。
なお、本実施の形態でのテーブル回転軸のような旋回軸の移動を伴う場合、工具先端がテーブル座標系上を直線状に動く場合でも、一般に、座標変換後の経路は解析的に計算することができない。このため、平滑化量計算部26では、補間点毎に座標変換を行い、計算した機械座標系上における各駆動軸の機械位置の変化量に基づいて、機械座標系での合成方向移動量、および、その累積値を計算する。
例えば、補間周期を1ms、送り速度を3000mm/minとすると、補間周期あたりの送り速度は、
Fdt=3000/60×0.001=0.05mm
となる。つまり、テーブル座標系上の経路を0.05mm間隔で補間することとなる。
また、「N41」ブロックの始点位置PSは、(X,Y,Z)=(0,60,0)であり、指令ブロックの始点PEは、(X,Y,Z)=(−60,60,0)であるため、指令ブロック始点から1補間周期だけ進んだ時刻(n=1)の補間点Pは、数式(1)より、
P(1)=[−1,0,0 ]×n×Fdt+[0,60,0 ]
=[−0.05,60,0]
となる。
そして、指令ブロック始点、および終点における回転軸の角度RS=0、RE=180を用いて、数式(3)により、
R=(180)×(0.05/60)+0
=0.15
となる。
これより、指令ブロック始点から1補間周期だけ進んだ時刻では、(XT1,YT1,ZT1,B1,C1)=(−0.05,60,0,0,0.15)の点が補間されることになる。ここで、(XT1,YT1,ZT1)は、n=1におけるテーブル座標系上の工具先端の補間点位置を示し、(B1,C1)は、n=1におけるB軸、C軸の回転軸角度である。
テーブル回転中心位置を(XC,YC,ZC)=(0,0,0)の位置とし、テーブル座標系上の補間点を座標変換すると、n=1における機械座標系上での機械位置(XM1,YM1,ZM1)は、
XM1=XT1×COS(−θC1)−YT1×SIN(−θC1)≒ 0.1071
YM1=XT1×SIN(−θC1)+YT1×COS(−θC1)≒59.9999
ZM1=ZT1=0
となる。なお、θC1は、C軸角度を弧度法表現したものであり、単位はラジアンとなっている。これより、前回補間点である指令ブロック始点の位置からの差分を計算することで、今回の補間による機械座標系上での各駆動軸移動距離(ΔXM,ΔYM,ΔZM,ΔB,ΔC)=(0.1071,−0.0001,0,0,0.15)が求まる。
機械座標系上での合成方向移動量は、数式(4)を用いて計算することができ、時刻n=1における補間による合成方向移動距離はΔLM≒0.0340となる。
以降、補間点が指令ブロック終点に到達するまで時刻nを増加し、上記手順と同様の手順により、合成方向移動量を求め、平滑化区間内を移動する間、累積し、累積が終了した時点での値を修正後の平滑化量WS1として経路バッファ27に設定する。
以上より、実施の形態2のように、並進軸の移動に加え、テーブル座標系の移動も行う場合に本方式を適用することで、平滑化経路のばらつきを抑えることが可能となる。これにより、平滑化した後の経路が異なることで生じていた加工面の傷の発生を回避できるので、加工品位の向上が可能となる。
さらに、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない区間で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、上記実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。
以上のように、本発明にかかる数値制御装置は、加工プログラムに基づいて加工を実行する工作機械の数値制御装置に有用であり、特に、同時5軸制御中に工具先端の経路を指令ブロックの継ぎ目前後で滑らかに接続することが可能な数値制御装置に適している。
1 加工プログラム、2 数値制御装置、3 サーボアンプ、3X X軸アンプ、3Y Y軸アンプ、3Z Z軸アンプ、3B B軸アンプ、3C C軸アンプ、21 解析処理部、22 補間処理部、23 座標変換部、24 加減速処理部、25 平滑化経路生成部、26 平滑化量計算部、27 経路バッファ、100 工作機械、101 テーブル、102 工具、103X X軸サーボモータ、103Y Y軸サーボモータ、103Z Z軸サーボモータ、103B B軸サーボモータ、103C C軸サーボモータ、210 移動データ、220 テーブル座標系上での並進軸位置および回転軸角度、230 機械座標系上での並進軸機械位置および回転軸角度、240 機械座標系上の合成方向速度、250 移動指令、260 修正後の平滑化量、270 経路情報および平滑化量、WK ワーク。

Claims (4)

  1. 複数の並進軸と1以上の回転軸によりテーブルおよび工具を動かして前記テーブル上のワークと前記工具との位置関係を制御する工作機械の数値制御装置において、
    複数の指令ブロックを含む加工プログラムに基づいて移動データを出力する解析処理部と、
    前記移動データに基づき、前記テーブルの座標系上で経路を補間するとともに前記回転軸の角度を補間して、補間周期毎のテーブル座標系上の並進軸位置と回転軸角度を出力する補間処理部と、
    前記テーブル座標系上の並進軸位置と回転軸角度に対して、前記工作機械の構造に基づいて座標変換を行い、機械座標系上での並進軸機械位置および回転軸角度を計算する座標変換部と、
    前記テーブル座標系上の並進軸位置と回転軸角度、前記機械座標系上での並進軸機械位置および回転軸角度、および平滑化量に基づき、前記テーブルの座標系上において前記指令ブロック毎に定められた平滑化区間内を移動する間の前記機械座標系上での合成方向距離を修正後の平滑化量として計算する平滑化量計算部と、
    補間周期毎の前記機械座標系上での並進軸機械位置および回転軸角度の変化量に基づき、加減速後の機械座標系上の合成方向速度を計算する加減速処理部と、
    前記合成方向速度と前記修正後の平滑化量と前記機械座標系上での並進軸機械位置および回転軸角度に基づいて、前記指令ブロック毎の経路が滑らかに接続されるように前記複数の並進軸と1以上の回転軸への移動指令を生成する平滑化経路生成部と、
    を備える
    ことを特徴とする数値制御装置。
  2. 前記平滑化量計算部が計算した前記修正後の平滑化量と、前記座標変換部が補間周期毎に計算した前記機械座標系上での並進軸機械位置および回転軸角度と、を格納する経路バッファを更に備える
    ことを特徴とする請求項1に記載の数値制御装置。
  3. 前記平滑化量計算部は、前記指令ブロックの継ぎ目が成す角度に比例した値となる前記平滑化量を用いて、前記修正後の平滑化量を計算する
    ことを特徴とする請求項1または2に記載の数値制御装置。
  4. 前記平滑化量は、前記加工プログラムに記載されている
    ことを特徴とする請求項1、2または3に記載の数値制御装置。
JP2013164453A 2013-08-07 2013-08-07 数値制御装置 Active JP6012560B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013164453A JP6012560B2 (ja) 2013-08-07 2013-08-07 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013164453A JP6012560B2 (ja) 2013-08-07 2013-08-07 数値制御装置

Publications (2)

Publication Number Publication Date
JP2015035021A JP2015035021A (ja) 2015-02-19
JP6012560B2 true JP6012560B2 (ja) 2016-10-25

Family

ID=52543532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013164453A Active JP6012560B2 (ja) 2013-08-07 2013-08-07 数値制御装置

Country Status (1)

Country Link
JP (1) JP6012560B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6571377B2 (ja) * 2015-04-27 2019-09-04 株式会社キーエンス 拡張ユニット、プログラマブル・ロジック・コントローラおよびその制御方法
CN107608313B (zh) * 2017-09-11 2019-09-27 大连理工大学 一种五轴双样条曲线插补速度规划方法
JP6871280B2 (ja) * 2019-01-07 2021-05-12 ファナック株式会社 数値制御装置
CN114200886B (zh) * 2020-09-18 2022-12-20 沈机(上海)智能系统研发设计有限公司 五轴刀路转接光顺的过渡方法、介质及五轴机床的数控设备
CN113359607B (zh) * 2021-07-06 2022-08-09 深圳数马电子技术有限公司 一种应用于五轴数控机的拐角过渡的轨迹确定方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2743368B2 (ja) * 1988-03-07 1998-04-22 松下電器産業株式会社 工業用ロボットの制御方法
JP4271487B2 (ja) * 2003-05-19 2009-06-03 東芝機械株式会社 数値制御装置及び数値制御方法
JP4467625B2 (ja) * 2008-03-31 2010-05-26 三菱電機株式会社 数値制御装置および数値制御方法
JP5208325B1 (ja) * 2011-09-15 2013-06-12 三菱電機株式会社 数値制御装置、加工システム、および数値制御方法

Also Published As

Publication number Publication date
JP2015035021A (ja) 2015-02-19

Similar Documents

Publication Publication Date Title
JP6012560B2 (ja) 数値制御装置
JP3643098B2 (ja) 数値制御装置
JP6644630B2 (ja) 加工プログラム処理装置およびこれを備えた多軸加工機
JP5800888B2 (ja) テーブル形式データによる運転でのスムージング機能を備えた数値制御装置
JP5221724B2 (ja) ワーク設置誤差補正部を有する多軸工作機械用数値制御装置
Jiang et al. Modeling and simulation of surface morphology abnormality of ‘S’test piece machined by five-axis CNC machine tool
JP4199103B2 (ja) 数値制御装置及び数値制御方法
JP5425342B1 (ja) 数値制御装置
JP5615377B2 (ja) 工具経路の生成方法および生成装置
JP5350766B2 (ja) 5軸加工機用数値制御装置
JP5323280B1 (ja) 数値制御装置
JP5159997B1 (ja) 数値制御装置
JP4503659B2 (ja) 座標変換工具位相制御用数値制御装置
JP2008090463A (ja) 工作機械における加工制御方法及び加工情報作成方法
JP2011258178A (ja) 多軸加工機用数値制御装置
US7083368B2 (en) Numerical control apparatus
WO2019012692A1 (ja) 数値制御装置および数値制御方法
US5765976A (en) Method of controlling the normal direction of the main shaft of the numerical control machine tool
JP5905521B2 (ja) 工具先端点制御中に生じるバックラッシを抑制することを特徴とする数値制御装置
US11559851B2 (en) Laser machining device and laser machining method
CN107664980B (zh) 数值控制装置以及刀具的移动控制方法
KR0161010B1 (ko) 공구직경에 따른 이동경로 보정방법
JP2002210654A (ja) 多軸nc研磨加工機
US20230116068A1 (en) Numerical controller
JP6068614B2 (ja) 工具先端点制御中に生じるバックラッシを抑制することを特徴とする数値制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160825

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160920

R150 Certificate of patent or registration of utility model

Ref document number: 6012560

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250