(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-08
(45)【発行日】2022-03-16
(54)【発明の名称】数値制御装置および数値制御方法
(51)【国際特許分類】
G05B 19/416 20060101AFI20220309BHJP
G05B 19/4093 20060101ALI20220309BHJP
【FI】
G05B19/416 Q
G05B19/4093 H
(21)【出願番号】P 2018166155
(22)【出願日】2018-09-05
【審査請求日】2021-03-30
(73)【特許権者】
【識別番号】000149066
【氏名又は名称】オークマ株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】特許業務法人YKI国際特許事務所
(72)【発明者】
【氏名】日置 克也
【審査官】杉田 隼一
(56)【参考文献】
【文献】特開平09-035054(JP,A)
【文献】特開平11-126106(JP,A)
【文献】特開2003-076410(JP,A)
【文献】特開平2-110711(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/416
G05B 19/4093
(57)【特許請求の範囲】
【請求項1】
加工プログラムにしたがって、機械の駆動軸の移動を制御する数値制御装置であって、
前記加工プログラムに記録された前記駆動軸の複数の移動点のうち、連続して並ぶ始点、対象点、終点の3点を通る通過円弧の半径である第一半径を前記対象点における曲率半径として算出する曲率半径算出部と、
前記通過円弧に対する、前記対象点と前記始点とを結ぶ前線分または前記対象点と前記終点とを結ぶ後線分の近似誤差である弦誤差を算出し、予め規定された許容誤差と前記算出された弦誤差とを比較する点列評価部と、
前記算出された弦誤差が前記許容誤差を超える場合に、前記前線分および前記後線分との弦誤差が前記許容誤差以下となる円弧の半径である第二半径を算出し、前記対象点における曲率半径を前記第二半径に修正する曲率半径修正部と、
前記対象点における曲率半径に基づいて、前記対象点における前記駆動軸の許容通過速度を算出する速度算出部と、
を備えることを特徴とする数値制御装置。
【請求項2】
請求項1に記載の数値制御装置であって、
前記曲率半径修正部は、始点から対象点を経て終点に進行する際の対象点での折れ角をθ、前記許容誤差をE
defとした場合、前記第二半径r
bを、r
b=E
def/(1-cos(θ/2))の式に基づいて算出する、ことを特徴とする数値制御装置。
【請求項3】
請求項1または2に記載の数値制御装置であって、
前記点列評価部は、前記通過円弧に対する前記後線分の近似誤差を往路弦誤差として算出し、前記通過円弧に対する前記前線分の近似誤差を復路弦誤差として算出し、
前記速度算出部は、前記往路弦誤差に基づいて特定された曲率半径と、前記復路弦誤差に基づいて特定された曲率半径と、のうち小さいほうの曲率半径に基づいて、許容通過速度を算出する、
ことを特徴とする数値制御装置。
【請求項4】
請求項3に記載の数値制御装置であって、
前記曲率半径修正部は、
前記往路弦誤差が前記許容誤差以下の場合には、前記第一半径を往路曲率半径として特定し、前記往路弦誤差が前記許容誤差を超えた場合には、前記第二半径を往路曲率半径として特定し、
前記復路弦誤差が前記許容誤差以下の場合には、前記第一半径を復路曲率半径として特定し、前記復路弦誤差が前記許容誤差を超えた場合には、前記第二半径を復路曲率半径として特定し、
前記往路曲率半径と前記復路曲率半径のうち小さい値を、前記対象点における曲率半径として修正する、
ことを特徴とする数値制御装置。
【請求項5】
加工プログラムにしたがって、機械の駆動軸の移動を制御する数値制御方法であって、
前記加工プログラムに記録された前記駆動軸の複数の移動点のうち、連続して並ぶ始点、対象点、終点の3点を通る通過円弧の半径を第一半径として算出し、
前記通過円弧に対する、前記対象点と前記始点とを結ぶ前線分または前記対象点と前記終点とを結ぶ後線分の近似誤差である弦誤差を算出し、予め規定された許容誤差と前記算出された弦誤差とを比較し、
前記算出された弦誤差が前記許容誤差を超える場合に、前記前線分および前記後線分との弦誤差が前記許容誤差以下となる円弧の半径である第二半径を算出し、前記対象点における曲率半径を前記第二半径に修正し、
前記対象点における曲率半径に基づいて、前記対象点における前記駆動軸の許容通過速度を算出する、
ことを特徴とする数値制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、加工プログラムにしたがって、機械の駆動軸の移動を制御する数値制御装置および数値制御方法を開示する。
【背景技術】
【0002】
種々の形状を含むワークを加工するために、工作機械の各駆動軸は、加工プログラムから生成された位置指令データに沿って移動制御される。ここで、加工プログラムには、駆動軸の複数の移動点の座標が記録されている。かかる工作機械では、ワークの加工品位を向上させるために、加工面上での各駆動軸の通過送り速度の安定化が求められている。
【0003】
そのため、工作機械の駆動を制御する数値制御装置には、各移動点における前記駆動軸の許容通過速度を決定する機能が組み込まれている。具体的には、数値制御装置は、各駆動軸にショックを与えないように、単位時間当たりの送り速度変化量(以下、「加速度」という)に制限値、すなわち、許容加速度αを設定し、その許容加速度α内で各駆動軸の速度を設定する。
【0004】
ここで、小R部位や折角部などのコーナー部では、各駆動軸の移動比が変わるため、加速度が生じる。こうしたコーナー部でも、許容加速度αを超えないための技術が、従来から提案されている。
【0005】
例えば、特許文献1には、対象点と、対象点の前後に位置する始点および終点の3点を通る通過円の半径を、対象点における曲率半径Rとして算出し、この曲率半径Rと許容加速度αに基づいて、対象点における許容通過速度Fを次の式1で求めることが開示されている。
【0006】
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
ここで、式1から明らかなとおり、許容通過速度Fは、曲率半径Rに大きく依存する。この曲率半径Rは、上述したとおり、3点を通る通過円弧の半径であるが、この通過円弧の半径は、CAMなどで加工プログラムを生成する際に、目標の曲線を直線近似するときの態様によって、大きく異なることがある。その結果、本来類似した形状であるにもかかわらず、許容通過速度Fが大きく異なる場合がある。例えば、一つの加工パスと、それに隣接する加工パスは、類似形状であることが多いが、直線近似の態様によっては、曲率半径R、ひいては、両加工パスに適用される通過速度が大きく異なる場合がある。こうした通過速度の違いは、加工面の品質低下を招く。
【0009】
そこで、本明細書では、加工面品質をより向上できる数値制御装置および数値制御方法を開示する。
【課題を解決するための手段】
【0010】
本明細書に開示の数値制御装置は、加工プログラムにしたがって、機械の駆動軸の移動を制御する数値制御装置であって、前記加工プログラムに記録された前記駆動軸の複数の移動点のうち、連続して並ぶ始点、対象点、終点の3点を通る通過円弧の半径である第一半径を前記対象点における曲率半径として算出する曲率半径算出部と、前記通過円弧に対する、前記対象点と前記始点とを結ぶ前線分または前記対象点と前記終点とを結ぶ後線分の近似誤差である弦誤差を算出し、予め規定された許容誤差と前記算出された弦誤差とを比較する点列評価部と、前記算出された弦誤差が前記許容誤差を超える場合に、前記前線分および前記後線分との弦誤差が前記許容誤差以下となる円弧の半径である第二半径を算出し、前記対象点における曲率半径を前記第二半径に修正する曲率半径修正部と、前記対象点における曲率半径に基づいて、前記対象点における前記駆動軸の許容通過速度を算出する速度算出部と、を備えることを特徴とする。
【0011】
かかる構成とすることで、弦誤差が大きい場合、すなわち、通過円弧の第一半径が不適切な場合には、弦誤差が許容誤差に納まる第二半径に置き換えて許容通過速度を算出する。その結果、許容通過速度のバラつきが抑えられ、ひいては、加工面品質を向上できる。
【0012】
この場合、前記曲率半径修正部は、始点から対象点を経て終点に進行する際の対象点での折れ角をθ、前記許容誤差をEdefとした場合、前記第二半径rbを、rb=Edef/(1-cos(θ/2))の式に基づいて算出してもよい。
【0013】
かかる構成とすることで、近似誤差が許容誤差Edefとなる第二半径rbを容易に求めることができる。
【0014】
また、前記点列評価部は、前記通過円弧に対する前記後線分の近似誤差を往路弦誤差として算出し、前記通過円弧に対する前記前線分の近似誤差を復路弦誤差として算出し、前記速度算出部は、前記往路弦誤差に基づいて特定された曲率半径と、前記復路弦誤差に基づいて特定された曲率半径と、のうち小さいほうの曲率半径に基づいて、許容通過速度を算出してもよい。
【0015】
かかる構成とすることで、往路および復路の双方での弦誤差を考慮して許容通過速度を決定できる。その結果、駆動軸を往復動させてワークを加工する場合でも、加工面品質を向上できる。
【0016】
この場合、前記曲率半径修正部は、前記往路弦誤差が前記許容誤差以下の場合には、前記第一半径を往路曲率半径として特定し、前記往路弦誤差が前記許容誤差を超えた場合には、前記第二半径を往路曲率半径として特定し、前記復路弦誤差が前記許容誤差以下の場合には、前記第一半径を復路曲率半径として特定し、前記復路弦誤差が前記許容誤差を超えた場合には、前記第二半径を復路曲率半径として特定し、前記往路曲率半径と前記復路曲率半径のうち小さい値を、前記対象点における曲率半径として修正してもよい。
【0017】
かかる構成とすることで、曲率半径が、小さい値になりやすく、許容通過速度も小さい値になりやすい。その結果、通過速度が過度に大きくなることが防止できる。
【0018】
本明細書で開示する数値制御方法は、加工プログラムにしたがって、機械の駆動軸の移動を制御する数値制御方法であって、前記加工プログラムに記録された前記駆動軸の複数の移動点のうち、連続して並ぶ始点、対象点、終点の3点を通る通過円弧の半径を第一半径として算出し、前記通過円弧に対する、前記対象点と前記始点とを結ぶ前線分または前記対象点と前記終点とを結ぶ後線分の近似誤差である弦誤差を算出し、予め規定された許容誤差と前記算出された弦誤差とを比較し、前記算出された弦誤差が前記許容誤差を超える場合に、前記前線分および前記後線分との弦誤差が前記許容誤差以下となる円弧の半径である第二半径を算出し、前記対象点における曲率半径を前記第二半径に修正し、前記対象点における曲率半径に基づいて、前記対象点における前記駆動軸の許容通過速度を算出してもよい。
【0019】
かかる構成とすることで、弦誤差が大きい場合、すなわち、通過円弧の第一半径が不適切な場合には、弦誤差が許容誤差に納まる第二半径に置き換えて許容通過速度を算出する。その結果、許容通過速度のバラつきが抑えられ、ひいては、加工面品質を向上できる。
【発明の効果】
【0020】
本明細書に開示する数値制御装置および数値制御方法によれば、加工面品質をより向上できる。
【図面の簡単な説明】
【0021】
【
図3】許容通過速度算出部の詳細ブロック図である。
【
図4】ある曲面を直線近似した一例を示す図である。
【
図5】コーナー部における点列の一例を示す図である。
【
図6】
図5と類似した曲面を直線近似した他の例を示す図である。
【
図9】点列の配置による弦誤差Eの違いを説明する図である。
【
図10】往路弦誤差と復路弦誤差を説明する図である。
【
図12】許容通過速度の算出の流れを示すフローチャートである。
【
図13】許容通過速度の算出の流れを示すフローチャートである。
【発明を実施するための形態】
【0022】
以下、図面を参照して数値制御装置10の構成について説明する。
図1は、数値制御装置10の物理ブロック図である。また、
図2は、数値制御装置10の機能ブロック図であり、
図3は、許容通過速度算出部26の詳細ブロック図である。
【0023】
この数値制御装置10は、工作機械の駆動軸の駆動を制御するもので、工作機械に組み込まれている。この数値制御装置10は、物理的には、制御装置12、記憶装置14、入出力インターフェース(以下「入出力I/F」という)16、入力装置18、出力装置20、および、これらを接続するデータバス21を有したコンピュータである。
【0024】
制御装置12は、例えば、1以上のCPU等で構成され、記憶装置14に記憶された制御プログラムに従って、各種演算を行う。記憶装置14は、各種データおよび制御プログラムを記憶する。この記憶装置14は、さらに、CPUが直接アクセスできる一次記憶装置と、入出力チャネル等を使ってアクセスされる二次記憶装置と、に大別される。一次記憶装置は、例えば、ROM、SRAM、DRAM等の半導体メモリで構成される。二次記憶装置は、例えば、磁気記憶装置(例えばハードディスクドライブ)や半導体メモリ装置(例えばソリッドステートドライブ)等で構成される。この記憶装置14には、コンピュータを数値制御装置10として機能させるための制御プログラムが記憶されている。また、記憶装置14には、後述する許容加速度αや、許容誤差Edefなどの数値も記憶されている。
【0025】
出力装置20は、各種情報をユーザに出力するもので、例えば、ディスプレイ、スピーカー、プリンタ、ランプ等で構成される。入力装置18は、ユーザの操作を受け付けるもので、例えば、キーボード、マウス、タッチパネル、マイク、カメラ等で構成される。
【0026】
こうした数値制御装置10は、一般的には、制御対象の工作機械に組み込まれ、一体化されるが、必要に応じて、数値制御装置10の一部または全部は、制御対象の工作機械と分離されてもよい。したがって、例えば、制御対象の機械に組み込まれたコンピュータと、当該コンピュータと通信可能な情報端末と、で一つの数値制御装置10を構成してもよい。
【0027】
数値制御装置10は、機能的には、プログラム読込部22と、プログラム解釈部24と、許容通過速度算出部26と、サーボ指令位置補間部28と、サーボ制御部30と、を有している。プログラム読込部22は、ユーザから指定された加工プログラムを読み込む。この加工プログラムは、駆動軸の移動点の座標値を含むもので、例えば、NCプログラムである。こうした加工プログラムは、一般的には、CAMにより生成される。読み込まれた加工プログラムは、プログラム解釈部24において、解釈される。プログラム解釈部24は、解釈結果を、許容通過速度算出部26およびサーボ指令位置補間部28に出力する。
【0028】
許容通過速度算出部26は、駆動軸の移動点の一つである対象点Ptにおける曲率半径Rを算出し、この曲率半径Rに基づいて、当該対象点Ptを通過する際の許容通過速度Fを算出する。この曲率半径Rおよび許容通過速度Fの算出方法は、後述する。
【0029】
サーボ指令位置補間部28は、プログラム解釈部24で解釈された解釈結果に沿って、各駆動軸に対するサーボ指令位置を補間する。このとき、サーボ指令位置補間部28は、対象点Ptにおける通過速度が、許容通過速度Fを超えないように、対象点Ptでの通過速度を算出する。サーボ制御部30は、サーボ指令位置補間部28で求められた駆動軸に対するサーボ位置指令に沿って、各駆動軸のサーボモータを制御する。上述した各部22~30の機能は、制御装置12が、記憶装置14に記憶された制御プログラムに従って演算処理を行うことで実現される。
【0030】
次に、許容通過速度算出部26について説明する。許容通過速度算出部26は、機能的には、
図3に示すように、曲率半径算出部32、点列評価部34、曲率半径修正部36、速度算出部38に大別することができる。この各部32~38の機能の説明の前に、許容通過速度算出部26における許容通過速度Fの算出原理について説明する。
【0031】
上述したとおり、加工プログラムには、駆動軸の移動点の座標が含まれている。こうした移動点を含む加工プログラムは、目標形状に基づいてCAM等のプログラム生成装置で生成される。プログラム生成装置は、コーナー部等における曲面では、目標形状である曲面を、許容近似誤差εを超えない範囲で直線近似する。例えば、CAMは、曲面上に等間隔で設けられた点を、許容近似誤差εを越えない範囲で間引いていき、残った点同士を結んだ複数の直線で、曲面を近似する。
図4は、ある曲面を直線近似した一例を示す図である。
図4において、太実線は、元の曲面を、一点鎖線は、直線近似の結果を示している。また、
図4において、白抜きの丸は、直線近似にあたって間引かれた点を示している。近似された直線の近似誤差eは、いずれも、許容近似誤差ε以下となっている。
【0032】
このように元の曲面を直線近似することで得られた各点の座標値が、駆動軸の移動点として、加工プログラムに、例えば、Gコード等とともに記録される。許容通過速度算出部26は、移動点の一つである対象点Ptの曲率半径Rを求め、次の式1に基づいて、対象点Ptにおける許容通過速度Fを求める。そして、一つの対象点Ptの許容通過速度Fを求めれば、隣の点を新たな対象点Ptに設定し、その新たな対象点Ptにおける許容通過速度Fを求める処理を繰り返し、全ての移動点について許容通過速度Fを求める。
【0033】
【0034】
ここで、従来は、対象点P
tと、その前後に位置する始点P
sおよび終点P
eの3点を通る円弧の半径を曲率半径Rとしていた。以下では、この3点を通る円弧を通過円弧C、その半径を第一半径r
aと呼ぶ。この第一半径r
aの算出について、
図5を参照して説明する。
図5は、コーナー部、特に小R部の前後になだらかな曲面が続くコーナー部における点列の一例を示す図である。この点列のうち、連続して並ぶ三つの点P
s,P
t,P
eを通過する通過円弧Cの半径(第一半径r
a)は、次の式2で求まる。
r
a=D
se/(2・sin(θ)) 式2
【0035】
式2において、Dseは、始点Psから終点Peまでの直線距離である。また、式2においてθは、始点Psから対象点Ptへ移動した後、終点Peに進行した際の進行方向の折れ角θである。別の言い方をすれば、θは、始点Psと対象点Ptとを結んだ前線分Lsと、対象点Ptと終点Peとを結んだ後線分Leとが成す角度の補角である。
【0036】
従来は、式2で求まる第一半径r
aを、対象点P
tにおける曲率半径Rとして算出し、この曲率半径Rに基づいて許容通過速度Fを算出していた。ここで、第一半径r
aは、式2から明らかなとおり、距離D
seおよび折れ角θに依存する。そして、距離D
seは、CAMにおいて目標形状を直線近似する過程で、大きくばらつくことがあった。これについて、
図6を参照して説明する。
図6は、
図5と類似した曲面を直線近似した他の例を示す図である。
【0037】
図5、
図6の比較から明らかなとおり、類似した曲線を直線近似したとしても、得られる点の位置は、大きく異なることがある。
図5、
図6の例では、対象点P
tの位置はほぼ同じであるが、
図6の場合、
図5と比べて、始点P
sの位置が、対象点P
tから大きく離れている。かかる相違は、元の曲面を直線近似する際に、どの位置から点を間引いたかの差によるものである。
【0038】
点の位置が大きく異なったとしても、折れ角θは、大きく変化しない。その一方で、始点Psから終点Peまでの距離Dseは、大きく変化する。その結果、類似した形状であっても、第一半径ra、ひいては、許容通過速度Fが大きく異なる場合があった。このように第一半径raが大きく異なる加工パスが隣り合うと、工具の刃がワークを削る間隔が異なったり、ワークへの工具の食い込み量やワークに対する工具の逃げ量が異なったりするため、均一な加工目とならず、加工面の品質が下がってしまうことがあった。
【0039】
そこで、本例では、第一半径raを算出した後は、この第一半径raに基づいて点列が過度に間引かれていないか評価し、過度に間引かれている場合には、曲率半径Rを修正し、この修正された曲率半径Rに基づいて、許容通過速度Fを算出している。以下、かかる処理を行う許容通過速度算出部26の構成について詳説する。
【0040】
曲率半径算出部32は、対象点Ptにおける曲率半径Rを求める。具体的には、曲率半径算出部32は、対象点Ptとその前後に位置する始点Psおよび終点Peの3点を通過する通過円弧の半径である第一半径raを求め、この第一半径raを、曲率半径Rとして出力する。第一半径raは、上述の式2に基づいて算出される。
【0041】
点列評価部34は、曲率半径算出部32で算出された曲率半径R(第一半径r
a)に基づいて、対象点P
t前後の点列を評価する。これについて、
図7~
図9を参照して具体的に説明する。
図7は、各パラメ-タを説明する図であり、
図8は、弦誤差Eを説明する図である。また、
図9は、点列の配置による弦誤差Eの違いを説明する図である。
図7に示す通り、以下の図面では、前線分L
sの長さ(始点P
sから対象点P
tまでの距離)を前距離D
s、後線分L
eの長さ(対象点P
tから終点P
eまでの距離)を後距離D
eと呼ぶ。
【0042】
点列評価部34は、点列を評価するために、通過円弧Cの弦誤差Eを求める。弦誤差Eは、通過円弧Cに対する後線分L
eの近似誤差であり、具体的には、
図8に示すように、後線分L
eの中点から通過円弧Cまでの距離である。
【0043】
図9に示す通り、前距離D
sおよび折れ角θが同じであれば、後距離D
eが小さいほど、弦誤差Eは小さくなり、後距離D
eが大きいほど弦誤差Eは、大きくなる。換言すれば、弦誤差Eが、過度に大きい場合には、過度に点が間引かれており、対象点P
tと終点P
eとの距離(後距離D
e)が大きいと判断できる。かかる弦誤差Eは、次の式3で求まる。
E=R-{(D
e・cos(θ)+D
s)/(2・sin(θ))} 式3
【0044】
ところで、上述の説明は、始点P
sから対象点P
tを経て終点P
eに進む場合を説明した。しかし、通常、ワークの加工では、駆動軸は、往復動することが多い。すなわち、駆動軸は、
図10における矢印O方向(以下「往路方向」という)に進む場合と、矢印H方向(以下「復路方向」という)に進む場合とがある。
【0045】
ここで、往路方向に進んだ場合の弦誤差とは、通過円弧Cに対する後線分Leの弦誤差(以下「往路弦誤差Eo」という)であるが、復路方向に進んだ場合の弦誤差とは、通過円弧Cに対する前線分Lsの弦誤差(以下「復路弦誤差Eh」という)である。そして、ワークを往復加工する場合には、この往路弦誤差Eoおよび復路弦誤差Ehの双方に基づいて、曲率半径Rの修正の要否を判断することが望ましい。
【0046】
そこで、点列評価部34は、この往路弦誤差Eoおよび復路弦誤差Ehを、それぞれ、次の式4、式5に基づいて算出する。
Eo=R-{(De・cos(θ)+Ds)/(2・sin(θ))} 式4
Eh=R-{(Ds・cos(θ)+De)/(2・sin(θ))} 式5
【0047】
往路弦誤差Eoおよび復路弦誤差Ehを算出できれば、続いて、点列評価部34は、この往路弦誤差Eoおよび復路弦誤差Ehを、予め設定された許容誤差Edefと比較する。この許容誤差Edefの値は、特に限定されてないが、加工プログラムを生成する際に用いた許容近似誤差εと同じ値に設定することが望ましい。点列評価部34は、曲率半径算出部32で算出された曲率半径R(第一半径ra)と許容誤差Edefとの比較結果を曲率半径修正部36に出力する。
【0048】
曲率半径修正部36は、比較結果に基づいて、往路曲率半径Roおよび復路曲率半径Rhを算出し、算出された二つの曲率半径Ro,Rhに基づいて、曲率半径Rを修正する。具体的には、曲率半径修正部36は、往路弦誤差Eoが、許容誤差Edef以下の場合、曲率半径R(=ra)を、往路曲率半径Roとして一時記憶する。一方、往路弦誤差Eoが、許容誤差Edefを超えた場合、曲率半径修正部36は、以下の式6で算出した第二半径rbを、往路曲率半径Roとして一時記憶する。
rb=Edef/(1-cos(θ/2)) 式6
【0049】
この第二半径r
bは、点が過度に間引かれていない場合の曲率半径である。
図11は、この第二半径r
bのイメージ図である。
図11に示すように、第二半径r
bは、前線分L
sとの弦誤差および後線分L
eとの弦誤差の双方が、許容誤差E
defとなる円弧C
bの半径である。別の見方をすれば、第二半径r
bは、前距離D
sおよび後距離D
eが同じ、かつ、弦誤差が許容誤差E
defとなる3つの点を通る円弧の半径である。
【0050】
同様に、曲率半径修正部36は、復路弦誤差Ehが、許容誤差Edef以下の場合、曲率半径R(=ra)を、復路曲率半径Rhとして一時記憶する。一方、復路弦誤差Ehが、許容誤差Edefを超えた場合、曲率半径修正部36は、式6で算出した第二半径rbを、復路曲率半径Rhとして一時記憶する。
【0051】
往路・復路曲率半径Ro,Rhが算出できれば、曲率半径修正部36は、対象点Ptにおける曲率半径Rを、往路・復路曲率半径Ro,Rhのうち小さい値に修正する。すなわち、R=min(Ro,Rh)と修正する。速度算出部38は、曲率半径修正部36から出力された曲率半径Rを式1に当てはめ、対象点Ptにおける許容通過速度Fを算出する。
【0052】
次に、許容通過速度Fを算出する流れについて
図12、
図13を参照して説明する。加工プログラムには、駆動軸の移動ポイントがP
0~P
Iまで記録されているとする。この場合において、許容通過速度Fを算出する場合は、制御装置12は、まず、i=1として、
カウンタiを初期化する(S10)。続いて、曲率半径算出部32は、対象点P
t=P
i、始点P
s=P
i-1、終点P
e=P
i+1と設定したうえで、各点P
t,P
s,P
eそれぞれの座標と、折れ角θを取得する(S12,S14)。さらに、曲率半径算出部32は、第一半径r
aを算出する(S16)。具体的には、曲率半径算出部32は、始点P
sおよび終点P
eの座標から距離D
seを算出し、この距離D
seと折れ角θを式2に当てはめて、第一半径r
aを算出する。曲率半径算出部32は、この第一半径r
aを、曲率半径Rとして出力する(S18)。
【0053】
点列評価部34は、この曲率半径Rに基づいて、往路弦誤差Eoおよび復路弦誤差Ehを算出する(S20)。具体的には、点列評価部34は、各点Pt,Ps,Peに基づいて前距離Dsおよび後距離Deを算出し、この前距離Ds、後距離De、曲率半径R、折れ角θを、式4,5に当てはめる。
【0054】
続いて、点列評価部34は、算出された往路弦誤差Eoと予め設定された許容誤差Edefとを比較し、その比較結果を、曲率半径修正部36に出力する(S22)。曲率半径修正部36は、Eo≦Edefの場合には、第一半径raを、往路曲率半径Roとして一時記憶する(S24)。一方、Eo>Edefの場合、曲率半径修正部36は、許容誤差Edefおよび折れ角θを式6に当てはめて、第二半径rbを算出する(S26)。そして、この算出された第二半径rbを、往路曲率半径Roとして一時記憶する(S28)。
【0055】
同様に、点列評価部34は、算出された復路弦誤差Ehと許容誤差Edefとを比較し、その比較結果を、曲率半径修正部36に出力する(S30)。曲率半径修正部36は、Eh≦Edefの場合には、第一半径raを、復路曲率半径Rhとして一時記憶する。一方、Eh>Edefの場合、曲率半径修正部36は、許容誤差Edefおよび折れ角θを式6に当てはめて、第二半径rbを算出する(S34)。なお、当然ながら、ステップS26で第二半径rbが既に算出されているのであれば、このステップS34は、省略されてもよい。曲率半径修正部36は、この第二半径rbを、復路曲率半径Rhとして一時記憶する(S36)。
【0056】
往路曲率半径Roおよび復路曲率半径Rhが算出できれば、続いて、曲率半径修正部36は、往路曲率半径Roおよび復路曲率半径Rhを比較し、より小さい値を、対象点Ptにおける曲率半径Rとして特定する(S38)。そして、曲率半径修正部36は、特定された曲率半径Rを速度算出部38に出力する。速度算出部38は、得られた曲率半径Rを式1に当てはめて、対象点Ptにおける許容通過速度Fを算出する(S40)。
【0057】
許容通過速度Fが得られれば、カウンタiをインクリメントしたうえで(S42)、ステップS12~S44を繰り返す。すなわち、一つの点における許容通過速度Fが得られれば、その点の隣の点を新たな対象点Ptに設定し、当該新たな対象点Ptにおける許容通過速度Fを求める。こうした処理を、i=Iに達するまで繰り返す。
【0058】
以上の説明から明らかなとおり、本例では、対象点Ptとその前後の点Ps,Peを通る通過円弧Cの弦誤差に基づいて点列の良否を判断し、弦誤差が大きい場合には、曲率半径Rを修正している。かかる構成とすることで、曲率半径R、ひいては、許容通過速度Fの大きなバラつきを抑えることができ、駆動軸の送り速度を安定化できる。また、本例では、往路における弦誤差だけでなく、復路における弦誤差も考慮して、曲率半径Rを修正している。そのため、駆動軸を往復させてワークを加工する場合において、往路および復路のいずれにおいても送り速度を安定化できる。
【0059】
なお、本例では、往路曲率半径Roおよび復路曲率半径Rhに基づいて単一の曲率半径Rを決定したうえで、許容通過速度Fを算出している。しかし、往路曲率半径Roに基づく許容通過速度Foおよび復路曲率半径Rhに基づく許容通過速度Fhを算出し、二つの速度Fo,Fhのうち小さいほうを対象点Ptにおける許容通過速度Fとして特定してもよい。すなわち、次の式7に基づいて、許容通過速度Fを求めるようにしてもよい。
【0060】
【0061】
また、これまでは、ワークを往復加工することを前提として説明したが、場合によっては、往路で加工し、復路は、エアカットの早送りとすることがある。この場合、復路における弦誤差は考慮する必要がない。したがって、この場合には、復路弦誤差Ehの算出を省略し、ステップS22~S28で算出された往路曲率半径Roを、修正後の曲率半径Rとして出力してもよい。かかる構成とすることで、演算量を低減できる。
【0062】
また、
図12、
図13のフローチャートでは、対象点R
t=R
iにおける往路曲率半径R
oと復路曲率半径R
hを同タイミングで算出しているが、この手順は、適宜、変更されてもよい。例えば、往路曲率半径R
o_iとR
i+1における復路曲率半径R
h_i+1とを同タイミングで算出するようにしてもよい。すなわち、i=1のときには、P
0,P
1,P
2に基づいて、P
1における往路曲率半径R
o_1とP
2における復路曲率半径R
h_2とを算出し、i=2のときには、P
1,P
2,P
3,P
4に基づいて、P
2における往路曲率半径R
o_2とP
3における復路曲率半径R
h_3とを算出してもよい。そして、この2つのタイミングで算出されたP
2における復路曲率半径R
h_2と往路曲率半径R
o_2に基づいて、P
2における最終的な曲率半径R
2=min(R
o_2,R
o_2)を算出するようにしてもよい。
【符号の説明】
【0063】
10 数値制御装置、12 制御装置、14 記憶装置、18 入力装置、20 出力装置、21 データバス、22 プログラム読込部、24 プログラム解釈部、26 許容通過速度算出部、28 サーボ指令位置補間部、30 サーボ制御部、32 曲率半径算出部、34 点列評価部、36 曲率半径修正部、38 速度算出部。