JP2007293478A - 曲線補間方法 - Google Patents
曲線補間方法 Download PDFInfo
- Publication number
- JP2007293478A JP2007293478A JP2006118869A JP2006118869A JP2007293478A JP 2007293478 A JP2007293478 A JP 2007293478A JP 2006118869 A JP2006118869 A JP 2006118869A JP 2006118869 A JP2006118869 A JP 2006118869A JP 2007293478 A JP2007293478 A JP 2007293478A
- Authority
- JP
- Japan
- Prior art keywords
- point
- interpolation
- curve
- points
- command
- 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.)
- Pending
Links
Images
Landscapes
- Numerical Control (AREA)
Abstract
【課題】指令点列、内挿点列の一部に密集した点列がある場合でも、滑らかな曲線を得て補間できるようにする。
【解決手段】密集した内挿点群の部分はを平均化して1つの代表内挿点Q3に置き換える。この代表内挿点で置き換えられた内挿点列Q1〜Q6を形状指令点列とする。この形状指令点の各点について順に着目し、着目した点とその前後の予め決められた点数の形状指令点を選択し近似曲線Cmを生成する。着目した点を前記近似曲線に向かって移動し、修正指令点とする。修正指令点の点列を通る曲線を生成する。この曲線を補間する。内挿点が密接した部分では、その密接した内挿点に基づいて曲線を生成すると、図1で破線に示すように滑らかな曲線は得られない。しかし、密接した内挿点を平均化して1つの代表内挿点Q3として、近似曲線Cmを生成すれば、滑らかな曲線が得られる。
【選択図】図1
【解決手段】密集した内挿点群の部分はを平均化して1つの代表内挿点Q3に置き換える。この代表内挿点で置き換えられた内挿点列Q1〜Q6を形状指令点列とする。この形状指令点の各点について順に着目し、着目した点とその前後の予め決められた点数の形状指令点を選択し近似曲線Cmを生成する。着目した点を前記近似曲線に向かって移動し、修正指令点とする。修正指令点の点列を通る曲線を生成する。この曲線を補間する。内挿点が密接した部分では、その密接した内挿点に基づいて曲線を生成すると、図1で破線に示すように滑らかな曲線は得られない。しかし、密接した内挿点を平均化して1つの代表内挿点Q3として、近似曲線Cmを生成すれば、滑らかな曲線が得られる。
【選択図】図1
Description
本発明は、数値制御装置等で曲面を加工する際の指令点列データより滑らかな曲線を得て補間する曲線補間方法に関する。
CAD/CAM装置や倣い装置などを使って作成した指令点列データに基づいて数値制御工作機械等で金型等の曲面を加工する場合、CAD/CAM装置で作成される指令点列データから目標曲線を生成し、該曲線を線分で近似し、その線分の両端の点が指令点列データとして数値制御装置に指令され、この指令点列データから曲線補間を行って曲面加工が行われている。
この場合、CAD/CAM装置で作成される指令点列データから得られる目標曲線に対して、あるトレランス幅内に入るように線分が作成され、その線分の両端の点が指令点列データとしてCAMから数値制御装置に指令される。この指令点列の位置情報に基づいて曲線が生成されるために、CAD/CAM装置で作成される指令点列データから目標曲線に対するトレランス幅を越えるような曲線が生成されてしまうことがある。
この場合、CAD/CAM装置で作成される指令点列データから得られる目標曲線に対して、あるトレランス幅内に入るように線分が作成され、その線分の両端の点が指令点列データとしてCAMから数値制御装置に指令される。この指令点列の位置情報に基づいて曲線が生成されるために、CAD/CAM装置で作成される指令点列データから目標曲線に対するトレランス幅を越えるような曲線が生成されてしまうことがある。
又、指令点列はCAD/CAM装置で得られた目標曲線に対してあるトレランス幅の帯の端に来ることが多い。そのため、指令点列のみから曲線を生成すると、CAD/CAM装置で得られた目標曲線から離れてしまうことがある。
例えば、図16に示すように、CADで作成されるデータの目標曲線Csが円弧であった場合、あるトレランス幅2w内に入る線分Lを生成すると、指令点P,P,Pは目標曲線Csからトレランス量wだけ離れた位置なる。目標曲線Cs上には、各線分Lを約0.15:0.7:0.15で内分した2点Q1,Q2が存在することになる。
例えば、図16に示すように、CADで作成されるデータの目標曲線Csが円弧であった場合、あるトレランス幅2w内に入る線分Lを生成すると、指令点P,P,Pは目標曲線Csからトレランス量wだけ離れた位置なる。目標曲線Cs上には、各線分Lを約0.15:0.7:0.15で内分した2点Q1,Q2が存在することになる。
さらに、CAD/CAM装置で得られた目標曲線が円弧であった場合、指令点列は円弧上に並んでいるため、指令点列に対して近似的な曲線を当てはめても指令点列はほとんど修正されない。したがって、修正された指令点列はやはりCAD/CAM装置で得られた目標曲線からトレランス量だけ離れた位置にある。
そこで、本願出願人は、特許文献1に示すように、数値制御装置に指令された指令点列の各点間を約0.15:0.7:0.15の内挿比で内挿した内挿点の点列を生成し、該内挿点列より近似曲線を生成し、かつ、各内挿点を該近似曲線に向かって移動させ、修正指令点とし、該修正指令点の点列を通る曲線を生成し、この生成した曲線を補間して出力するようにすることによって、CAD/CAM装置で得られた目標曲線に対するトレランス幅2w以内に収まる曲線求めて曲線補間方法を提案した。
CAD/CAM装置から得られる指令点列データは、近年、細かな点列で指令される傾向にある。そのため、部分的に微小間隔の点列で指令されると、該指令点列データによって得られた曲線を補間し得られた補間点を内挿し、この内挿点より最終的な曲線を求める上述した特許文献1に記載された曲線補間方法は、部分的に微小間隔で指令された点列の部分で滑らかな曲線が得られないという場合が生じる。
特許文献1に記載された曲線補間方法は、着目点の前後2点ずつの合計5点の内挿点に着目して曲線を生成していることから、例えば、図17のように内挿点Q1〜Q11が求められたとする。内挿点Q5を着目点とすると、着目点の前後2点ずつの合計内挿点Q3,Q4,Q5,Q6,Q7から作成した近似曲線に対し、その近似曲線に向かって内挿点Q5を移動して修正指令点として、該修正指令点の点列を通る曲線を生成し、この生成した曲線を補間するようにしたものであるが、微小点列が細かく指令されていることから、内挿点Q3,Q4,Q5,Q6,Q7が近くに密集しており、内挿点Q5の修正指令点も内挿点Q5とほとんど同じ位置となる。
特許文献1に記載された曲線補間方法は、着目点の前後2点ずつの合計5点の内挿点に着目して曲線を生成していることから、例えば、図17のように内挿点Q1〜Q11が求められたとする。内挿点Q5を着目点とすると、着目点の前後2点ずつの合計内挿点Q3,Q4,Q5,Q6,Q7から作成した近似曲線に対し、その近似曲線に向かって内挿点Q5を移動して修正指令点として、該修正指令点の点列を通る曲線を生成し、この生成した曲線を補間するようにしたものであるが、微小点列が細かく指令されていることから、内挿点Q3,Q4,Q5,Q6,Q7が近くに密集しており、内挿点Q5の修正指令点も内挿点Q5とほとんど同じ位置となる。
同様に、内挿点Q6を着目点とすると、着目点の前後2点ずつの合計内挿点Q4,Q5,Q6,Q7,Q8から作成した近似曲線に対し、該近似曲線に向かって内挿点Q6を移動して修正指令点を求めることになるが、この修正指令点も、微小点列が細かく指令されていることから、内挿点Q6の修正指令点も内挿点Q6とほとんど同じ位置となる。
そのため、内挿点が密集する場合、着目した内挿点を移動して修正指令点とすることがほとんど意味をなさなくなる場合がある。その結果、ばらついている内挿点に対しできるだけ多くの内挿点を参照して全体としては滑らかな曲線を得ることを目的としているにもかかわらず、図17の破線Cmに示すように内挿点が密集した部分では滑らかな曲線を得られないという問題がある。
そこで、本発明は、この問題を解決することを目的とするものである。
そこで、本発明は、この問題を解決することを目的とするものである。
本願請求項1に係る発明は、数値制御装置において指令点列から滑らかな曲線を生成しその曲線に沿って補間する曲線補間方法であって、
(1)前記指令点列から内挿点を求めて内挿点列とするステップと、
(2)前記内挿点列の点間が設定された距離よりも小さい複数の内挿点を内挿点群としてまとめるステップと、
(3)各前記まとめた内挿点群において平均化を行い平均化された点を前記内挿点群に代わる代表内挿点とするステップと、
(4)点群としてまとめられなかった内挿点と前記代表内挿点をあわせて形状指令点とするステップと、
(5)形状指令点の各点について順に着目し、着目した点とその前後の予め決められた点数の形状指令点を選択するステップと、
(6)該選択した点に対して近似曲線を生成するステップと、
(7)前記着目した点を前記近似曲線に向かって移動し、修正指令点とするステップと、
(8)前記(5)のステップから(7)のステップまでを各形状指令点について繰り返し実行するステップと、
(9)前記修正指令点の点列を通る曲線を生成するステップと、
(10)生成した曲線を補間するステップと、
で構成されたた曲線補間方法である。
(1)前記指令点列から内挿点を求めて内挿点列とするステップと、
(2)前記内挿点列の点間が設定された距離よりも小さい複数の内挿点を内挿点群としてまとめるステップと、
(3)各前記まとめた内挿点群において平均化を行い平均化された点を前記内挿点群に代わる代表内挿点とするステップと、
(4)点群としてまとめられなかった内挿点と前記代表内挿点をあわせて形状指令点とするステップと、
(5)形状指令点の各点について順に着目し、着目した点とその前後の予め決められた点数の形状指令点を選択するステップと、
(6)該選択した点に対して近似曲線を生成するステップと、
(7)前記着目した点を前記近似曲線に向かって移動し、修正指令点とするステップと、
(8)前記(5)のステップから(7)のステップまでを各形状指令点について繰り返し実行するステップと、
(9)前記修正指令点の点列を通る曲線を生成するステップと、
(10)生成した曲線を補間するステップと、
で構成されたた曲線補間方法である。
また、請求項2に係る発明は、上述した(1)のステップについて、内挿点列の代わりに指令点列を用いるようにしたものである。
さらに、請求項3に係る発明は、前記(3)のステップにおける平均化を、相加平均とし、請求項4に係る発明は、前記(3)のステップで、前記まとめた内挿点群に対する近似曲線上に平均化された点の代表内挿点を求めるようにした。さらに、請求項5に係る発明は、前記(3)のステップについて、前記まとめた内挿点群に対する近似曲線を作成し近似曲線上で相加平均の点に最も近い点を求めることによって平均化された点の代表内挿点を求めた。また、請求項6に係る発明は、前記(3)のステップについて、前記まとめた内挿点群に対する近似曲線とその近似曲線上に対応内挿点群を作成し近似曲線を直線に展開した時の対応内挿点群の相加平均位置の近似曲線上の位置を求めることによって平均化された点の代表内挿点として求めた。
さらに、請求項3に係る発明は、前記(3)のステップにおける平均化を、相加平均とし、請求項4に係る発明は、前記(3)のステップで、前記まとめた内挿点群に対する近似曲線上に平均化された点の代表内挿点を求めるようにした。さらに、請求項5に係る発明は、前記(3)のステップについて、前記まとめた内挿点群に対する近似曲線を作成し近似曲線上で相加平均の点に最も近い点を求めることによって平均化された点の代表内挿点を求めた。また、請求項6に係る発明は、前記(3)のステップについて、前記まとめた内挿点群に対する近似曲線とその近似曲線上に対応内挿点群を作成し近似曲線を直線に展開した時の対応内挿点群の相加平均位置の近似曲線上の位置を求めることによって平均化された点の代表内挿点として求めた。
指令点列、内挿点列が一部で密集している場合においても、滑らかな近似曲線を得ることができ、該滑らかな曲線に基づいて補間を行う最終的な曲線を得ることから、滑らかな曲線に基づいた補間ができる。
まず、本発明の原理、基本的なアルゴリズムを説明する。
図17で示したように、内挿点が密集した部分では、滑らかな曲線を得られない。そこで、本発明は、この密集した部分の内挿点について平均化を行い、平均化によって作成された点群の代表点を新たな内挿点とし、平均化の対象とした内挿点については削除する。 図1は、この密集した内挿点の部分を1つの代表内挿点に変えて、滑らかな曲線を得る説明図である。図17で示す例において、密集した内挿点Q3,Q4,Q5,Q6,Q7,Q8の平均を求めて、図1では1つの代表内挿点Q3としている。その結果、図17で内挿点Q1〜Q11であったものが、図1では内挿点Q1〜Q6となる。
図17で示したように、内挿点が密集した部分では、滑らかな曲線を得られない。そこで、本発明は、この密集した部分の内挿点について平均化を行い、平均化によって作成された点群の代表点を新たな内挿点とし、平均化の対象とした内挿点については削除する。 図1は、この密集した内挿点の部分を1つの代表内挿点に変えて、滑らかな曲線を得る説明図である。図17で示す例において、密集した内挿点Q3,Q4,Q5,Q6,Q7,Q8の平均を求めて、図1では1つの代表内挿点Q3としている。その結果、図17で内挿点Q1〜Q11であったものが、図1では内挿点Q1〜Q6となる。
これにより、近似曲線Cmは一点鎖線の滑らかな曲線となる。すなわち、内挿点Q3が着目点として、前後の5点の内挿点Q1,Q2,Q3,Q4,Q5から近似曲線Cmが求められ、この近似曲線Cmに向かって内挿点Q3を移動して修正指令点とすることになる。
よって、内挿点Q3に対して内挿点Q1,Q2,Q3,Q4,Q5から滑らかな曲線が作成されるために十分な移動を行って修正指令点とすることができる。
微小点列が細かく指令されていることによって密集した内挿点が作成されても、作成される曲線は十分滑らかな曲線となる。
よって、内挿点Q3に対して内挿点Q1,Q2,Q3,Q4,Q5から滑らかな曲線が作成されるために十分な移動を行って修正指令点とすることができる。
微小点列が細かく指令されていることによって密集した内挿点が作成されても、作成される曲線は十分滑らかな曲線となる。
図2は本発明の曲線補間方法を適用する数値制御装置100の一実施形態のブロック図である。数値制御装置100を全体的に制御するプロセッサ11には、ROM、RAM、バッテリでバックアップされたCMOSメモリ等のメモリ12、記憶媒体にデータを入出力するデータ入出力装置34が接続されたインターフェイス13,表示器/MDIユニット30が接続されたインターフェイス16,操作盤31が接続されたインターフェイス17、PMC(プログラマブル・マシン・コントローラ)14、表示器/MDIユニット30、各軸の軸制御回路18、スピンドル制御回路20がバス22で接続されている。
各軸の軸制御回路18はプロセッサ11からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ19に出力する。サーボアンプ19はこの指令を受けて、各軸のサーボモータ32を駆動する。各軸のサーボモータ32は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路18にフィードバックし、位置・速度のフィードバック制御を行う。なお、図2では、位置・速度のフィードバックについては省略している。
また、スピンドル制御回路20は主軸回転指令を受け、指令主軸速度と主軸モータ33に設けられたポジションコーダからの速度フィードバック信号とにより、スピンドルアンプ21にスピンドル速度信号を出力する。スピンドルアンプ21はスピンドル速度信号により主軸の速度制御を行う。PMC(プログラマブル・マシン・コントローラ)14にはI/Oユニット15が接続され、機械の各種センサや各種アクチュエータ等に接続されている。
データ入出力装置34からインターフェイス13を介して、CAD/CAM装置や倣い装置などを使って作成された指令点列データを含む加工プログラムが入力され、メモリの不揮発性部分に記憶されているものとする。滑らかな曲線を生成して補間することの開始を指令するGコードとこの指令を解除するGコードが用意されており、加工プログラムには、図3に示すように、滑らかな曲線を生成して補間すべき対象の指令点列の最初に、滑らか曲線補間指令のGコード「G06.3」がプログラムされ、この指令をキャンセルする位置に滑らか曲線補間キャンセル指令Gコード「G06.9」がプログラムされている。このGコード「G06.3」と「G06.9」間において本発明が採用する滑らか補間がなされる。
又、この滑らか補間をなす区間を自動的に判断するようにしてもよい。この場合は、プロセッサ11は加工プログラムより点列を読み、各点列間を結ぶ線分野角度や長さから滑らか曲線を生成して補間するか否かを自動的に判断するようにする。図4に示すように、指令点P1,P2,P3の各点間の隣り合う線分間の屈折角度は小さい。及び指令点P6,P7,P8の各点間の隣り合う線分間の屈折角度も小さい。よって、これらの区間は滑らか曲線を生成して補間する領域と判断する。又、指令点P3とP4間の線分と指令点P4とP5間の線分の屈折角度α、指令点P4とP5間の線分と指令点P5とP6間の線分の屈折角度βは大きい。このため、指令点P4とP5間は滑らかな曲線を生成して補間する処理は行わないようにする。すなわち、指令点列間のとなりあう線分の屈折角が基準値以下の場合には、滑らか曲線を生成して補間する処理を行うものと自動的に判断し、他の場合には行わないように自動的に判断するようにする。
又、図5に示すように、指令点P0からP4及び指令点P5からP8の各点間の距離は短いが、指令点P4とP5間の距離は長い、このように指令点間の距離が基準値以下の指令点P0〜P4、P5〜P8場合には、滑らか曲線を生成して補間する処理を行い、基準値より長い指令点P4〜P5の場合には、滑らか曲線を生成して補間する処理を行わないものと自動的に判断するようにする。
そこで、Gコードにより又は自動的に滑らか曲線を生成して補間する処理と判断されたときの処理について、図6に示すフローチャートと共に説明する。
そこで、Gコードにより又は自動的に滑らか曲線を生成して補間する処理と判断されたときの処理について、図6に示すフローチャートと共に説明する。
プロセッサ11は加工プログラムより指令点列P0,P1,P2,…Pn-1,Pnを読込む(S1)。この読み込んだ指令点列が図7に示すような指令点列P0,P1,P2,…Pn-1,Pnであったとする。
次に、各点間(P0,P1) ,(P1,P2)…(Pn-1,Pn)に2点の内挿点(Q1,Q2),(Q3,Q4)…(Q2n-1,Q2n)を作成する(S2)。この実施形態においては、図8に示すように、内挿比を1:0.7:0.15としている。すなわち、 (Pi,Pi+1)間の内挿点(Q2i+1,Q2i+2)の内挿比は、線分(Pi,Pi+1)の距離:線分(Q2i+1,Q2i+2)の距離:線分(Pi,Q2i+1)の距離=1:0.7:0.15とする。
そして、Q0=P0,Q2n+1=Pnとし(S3)、これによって内挿点列Q0,Q1,Q2,…Q2n,Q2n+1を作成する。各隣り合った内挿点間の距離を計算し、内挿点Q0とQ1間の距離をL0, 内挿点Q1とQ2間の距離をL1,…Q2nとQ2n+1間の距離をL2nとする。
ある正の設定値Vに対して、
Li<V …(1-0)
Li+1<V …(1-1)
...
Li+k<V …(1-k)
となる i,k(1≦i≦2n−1,1≦i+k≦2n−1)が存在した場合、すなわち、点列間の距離が連続して設定値Vより小さい場合があるとき、内挿点Qi,Qi+1,...Qi+k+1 を一群の内挿点群とし、平均化を行う。ここでは相加平均を行う。つまり、
Qin=(Qi+Qi+1+…Qi+k+1)/(k+2) …(2)
として、Qinを内挿点Qi,Qi+1,...Qi+k+1 に代わる代表内挿点とし、内挿点Qi,Qi+1,...Qi+k+1 は内挿点の点列から削除する(S4)。設定値Vは、内挿点列Q0,Q1,Q2,…Q2n,Q2n+1において、部分的に密集しその間の距離が短い部分がある場合に、その密集した部分の点列間の距離よりも長く、密集していない点列間の距離よりも短い値に設定する。また、iまたはkが0または2nの場合は含まないので、内挿点Q0とQ2n+1は平均化の対象としない。(1-0)〜(1-k)が成立するすべての一群の内挿点群について平均化を行う。そのようにして内挿点の点列番号を付け直して形状指令点として整理し、図9に示すように形状指令点列R0,R1,R2,…Rmとなったとする(S5)。図9において、内挿点Qi,Qi+1,...Qi+ki+1 の群と、内挿点Qj,Qj+1...Qj+kj+1 の群が、上述した(1-0)〜(1-k)式が成立する内挿点群であったとしている。この密集した内挿点Qi,Qi+1,...Qi+ki+1 、内挿点Qj,Qj+1...Qj+kj+1に対してそれぞれ平均化を行い代表内挿点Qin,Qjnを求め、点列番号を付け直しする(S5)。内挿点Q0〜Qi-1を形状指令点列R0〜Ri-1、QinをRi、Qj+kj+1〜Qj-1をRi+1〜Rq-1、QjnをRq、Qj+kj+2〜Q2n+1をRq+1〜Rmとし、形状指令点列R0,R1,R2,…Rmとする。また、m≧4とする。つまり、平均化しても形状指令点は少なくとも5点は存在するとする。
図9において、実線矢印は内挿点の点列番号を付け直したことを意味し、値そのものは変化していない。
ある正の設定値Vに対して、
Li<V …(1-0)
Li+1<V …(1-1)
...
Li+k<V …(1-k)
となる i,k(1≦i≦2n−1,1≦i+k≦2n−1)が存在した場合、すなわち、点列間の距離が連続して設定値Vより小さい場合があるとき、内挿点Qi,Qi+1,...Qi+k+1 を一群の内挿点群とし、平均化を行う。ここでは相加平均を行う。つまり、
Qin=(Qi+Qi+1+…Qi+k+1)/(k+2) …(2)
として、Qinを内挿点Qi,Qi+1,...Qi+k+1 に代わる代表内挿点とし、内挿点Qi,Qi+1,...Qi+k+1 は内挿点の点列から削除する(S4)。設定値Vは、内挿点列Q0,Q1,Q2,…Q2n,Q2n+1において、部分的に密集しその間の距離が短い部分がある場合に、その密集した部分の点列間の距離よりも長く、密集していない点列間の距離よりも短い値に設定する。また、iまたはkが0または2nの場合は含まないので、内挿点Q0とQ2n+1は平均化の対象としない。(1-0)〜(1-k)が成立するすべての一群の内挿点群について平均化を行う。そのようにして内挿点の点列番号を付け直して形状指令点として整理し、図9に示すように形状指令点列R0,R1,R2,…Rmとなったとする(S5)。図9において、内挿点Qi,Qi+1,...Qi+ki+1 の群と、内挿点Qj,Qj+1...Qj+kj+1 の群が、上述した(1-0)〜(1-k)式が成立する内挿点群であったとしている。この密集した内挿点Qi,Qi+1,...Qi+ki+1 、内挿点Qj,Qj+1...Qj+kj+1に対してそれぞれ平均化を行い代表内挿点Qin,Qjnを求め、点列番号を付け直しする(S5)。内挿点Q0〜Qi-1を形状指令点列R0〜Ri-1、QinをRi、Qj+kj+1〜Qj-1をRi+1〜Rq-1、QjnをRq、Qj+kj+2〜Q2n+1をRq+1〜Rmとし、形状指令点列R0,R1,R2,…Rmとする。また、m≧4とする。つまり、平均化しても形状指令点は少なくとも5点は存在するとする。
図9において、実線矢印は内挿点の点列番号を付け直したことを意味し、値そのものは変化していない。
次に、指標iを「1」にセットし(S6)、該指標iの値を判断し(S7)、指標iが「1」の場合には、形状指令点列Ri-1,Ri,Ri+1,Ri+2(=R0,R1,R2,R3)を取り出し(S8)、指標iが「2〜m-2」の場合には、形状指令点列Ri-2,Ri-1,Ri,Ri+1,Ri+2を取出し(S9)、指標iが「m−1」の場合には、形状指令点列Ri-2,Ri-1,Ri,Ri+1(=Rm-3,Rm-2,Rm-1,Rm)を取出す(S10)。
こうして取出した点列に対して、最小2乗法にて近似曲線Cmを作成する。 つまり、取出した点列からの距離の2乗和が最も小さくなる曲線Cmを作成する(S11)。この近似曲線Cmが図10に示す一点鎖線の曲線であったとする。次に、この時点の指標iに対応する形状指令点Riを近似曲線Cmに向かって、点列指令の設定単位以下の細かさで、かつ設定されているトレランス量2w以内で移動し、修正指令点Ri’とする(S12)。そして、形状指令点Riに対応する近似曲線Cm上の修正指令点Ri’における1階微分値Ri (1)’を求め記憶する(S13)。
指標iを「1」インクリメントし(S14)、該指標iが形状指令点Rの数の「m」以上になったか判断し(S15)、以上でなければ、処理S7に戻り上述した処理を実行する。
指標iが「m」以上になったことが、処理S15で判断されたときには、修正指令点R0’=形状指令点R0とし、形状指令点R0から修正指令点R1’の方向ベクトルを修正指令点R0’(=R0)に対応する1階微分値R0 (1)’とする(S16)。さらに、修正指令点Rm’=形状指令点Rmとし、修正指令点Rm-1’から指令点Rmへの方向ベクトルを修正指令点Rm’に対応する1階微分値Rm (1)’として記憶する。(S17)、以上の処理によって、形状指令点列R0,R1,R2,…Rmに対応する修正指令点列R0’,R1’,R2’…Rm’及び各修正指令点の1階微分値R0 (1)’,R1 (1)’,R2 (1)’…Rm (1)’を得る。
次に、修正指令点列R0’,R1’…Rm’および各1階微分値R0 (1)’,R1 (1)’…Rm (1)’とから、修正指令点列R0’,R1’…Rm’を通る曲線を生成する(S18)。
たとえば、2点Ru’,Ru+1’において、それらの位置Ru’,Ru+1’とそれらの点における1階微分値Ru (1)’,Ru+1 (1)’が与えられているので、それらの点を結ぶスプライン曲線やNURBS曲線等の3次曲線を生成して補間することができる。より具体的には、たとえば、2点Ru’,Ru+1’間を次のようなスプライン曲線の3次曲線で結ぶ場合、2点の位置Ru’,Ru+1’と1階微分値Ru (1)’,Ru+1 (1)’の4個のデータが与えられるので、次式で示すスプライン曲線の係数A,B,C,Dは決定され、2点Ru’,Ru+1’間を結ぶ3次曲線Ceが生成される(S18)。
たとえば、2点Ru’,Ru+1’において、それらの位置Ru’,Ru+1’とそれらの点における1階微分値Ru (1)’,Ru+1 (1)’が与えられているので、それらの点を結ぶスプライン曲線やNURBS曲線等の3次曲線を生成して補間することができる。より具体的には、たとえば、2点Ru’,Ru+1’間を次のようなスプライン曲線の3次曲線で結ぶ場合、2点の位置Ru’,Ru+1’と1階微分値Ru (1)’,Ru+1 (1)’の4個のデータが与えられるので、次式で示すスプライン曲線の係数A,B,C,Dは決定され、2点Ru’,Ru+1’間を結ぶ3次曲線Ceが生成される(S18)。
f(t)=At3+Bt2+Ct+D (A,B,C,Dは係数、t=0〜1.0〜の曲線パラメータ)
ただし、f(t), A,B,C,Dは次のように各軸ごとに値を持つベクトルである。
f(t)x=Axt3+Bxt2+Cxt+Dx
f(t)y=Ayt3+Byt2+Cyt+Dy
f(t)z=Azt3+Bzt2+Czt+Dz
なお、図11にこうして生成された曲線Ceを示す。
次に、こうして生成された曲線Ceを点列指令の設定単位以下の細かさで補間する(S19)。
ただし、f(t), A,B,C,Dは次のように各軸ごとに値を持つベクトルである。
f(t)x=Axt3+Bxt2+Cxt+Dx
f(t)y=Ayt3+Byt2+Cyt+Dy
f(t)z=Azt3+Bzt2+Czt+Dz
なお、図11にこうして生成された曲線Ceを示す。
次に、こうして生成された曲線Ceを点列指令の設定単位以下の細かさで補間する(S19)。
上述の実施形態においては、処理S1で全ての指令点列P0,P1,P2, …Pn-1,Pnの読込みを行ってから処理を開始したが、必要点列だけ読みとってその点列に対する処理を行うことも可能である。 そうすることによって、対象の指令点列をすべて読込み終わってから曲線生成の処理を開始するのでなく指令点列を読込みながら読込んだ指令点列に対して曲線を生成していくことが可能である。
又、上記実施形態では、処理S2の処理で指令点Pi,Pi+1間の内挿点Q2i+1,Q2i+2おいて、線分(Pi,Pi+1)の距離:線分(Q2i+1,Q2i+2)の距離:線分(Pi,Q2i+1)の距離=1:0.7:0.15とした内挿比を用いたが、他の値にしてもよい。
又、上記実施形態では、処理S2の処理で平均化として相加平均を行ったが、ある曲線に近く内挿点Qi,Qi+1,...Qi+k+1が分布している場合は相加平均を行うと図12のように曲線から離れた場所に、内挿点Qi,Qi+1,...Qi+k+1の平均を取った代表内挿点Qinが生成される可能性がある。
そこで、図13のように密集した内挿点Qi…Qi+k+1の群に対して最小2乗法によって近似曲線Caを生成し、該近似曲線Ca上において、相加平均によって求められる点Qinが最も近い点Qinaを平均化した代表内挿点Qinaとすることも可能である。
または、図14のように密集した内挿点の群に対して最小2乗法によって近似曲線Caを生成しCa上で各内挿点から一番近い点を対応内挿点群Qi’,Qi+1’,...Qi+k+1’とし、図15のように該近似曲線Caを直線Ca’に展開したときのQi’,Qi+1’,...Qi+k+1’に対応する点をQi”,Qi+1”,...Qi+k+1”とし、それらの相加平均位置をQia”とし、該相加平均位置の点Qia”の近似曲線Ca上での対応する点Qia’を平均化した点、すなわち、密集した内挿点の代表内挿点とすることも可能である。
なお、上述した実施形態では、CAD等で作成された指令点列から、その指令点間を内挿して内挿点を求め、内挿点より近似曲線Cmを作成し、さらに最終的な曲線Ceを求めたが、内挿点を求めず、指令点列より近似曲線Cmを求め、その後最終的な曲線Ceを求めるようにしてもよい。すなわち、指令点間の距離が設定値よりも短い指令点が連続した指令点群の場合(指令点間で(1-0)〜(1-k)の式が成立する場合)、その指令点群を平均化処理して1つの代表指令点を求め、その指令点群をこの代表指令点に置き換え、全体的な指令点列を求めて、該指令点列に基づいて、近似曲線Cm、最終的な補間を実行する曲線Ceを求めるようにしてもよい。この場合、図6に示すフローチャートにおいては処理S2、S3を必要とせず、指令点列に基づいて図6のの処理が実行され、処理S4、S5における「内挿点」が「指令点」に代わり、他は同じ処理となる。
100 数値制御装置
P,P0,P1,P2,…Pn 指令点
Q0,Q1,Q2,…Q2n,Q2n+1 内挿点(形状指令点)
R0,R1,R2,…R2n,Rm 形状指令点
R0’,R1’,R2’…Rm’ 修正指令点
R0 (1)’,R1 (1)’…Rm (1)’ 1階微分値
Cm 近似曲線
Ce 生成される曲線
P,P0,P1,P2,…Pn 指令点
Q0,Q1,Q2,…Q2n,Q2n+1 内挿点(形状指令点)
R0,R1,R2,…R2n,Rm 形状指令点
R0’,R1’,R2’…Rm’ 修正指令点
R0 (1)’,R1 (1)’…Rm (1)’ 1階微分値
Cm 近似曲線
Ce 生成される曲線
Claims (6)
- 数値制御装置において指令点列から滑らかな曲線を生成しその曲線に沿って補間する曲線補間方法において、
(1)前記指令点列から内挿点を求めて内挿点列とするステップと、
(2)前記内挿点列の点間が設定された距離よりも小さい複数の内挿点を内挿点群としてまとめるステップと、
(3)各前記まとめた内挿点群において平均化を行い平均化された点を前記内挿点群に代わる代表内挿点とするステップと、
(4)点群としてまとめられなかった内挿点と前記代表内挿点をあわせて形状指令点とするステップと、
(5)形状指令点の各点について順に着目し、着目した点とその前後の予め決められた点数の形状指令点を選択するステップと、
(6)該選択した点に対して近似曲線を生成するステップと、
(7)前記着目した点を前記近似曲線に向かって移動し、修正指令点とするステップと、
(8)前記(5)のステップから(7)のステップまでを各形状指令点について繰り返し実行するステップと、
(9)前記修正指令点の点列を通る曲線を生成するステップと、
(10)生成した曲線を補間するステップと、
を備えた曲線補間方法。 - 前記(1)のステップについて、前記指令点列をもって内挿点列とするステップとする請求項1記載の曲線補間方法。
- 前記(3)のステップにおける平均化は、相加平均である請求項1または請求項2記載の曲線補間方法。
- 前記(3)のステップについて、前記まとめた内挿点群に対する近似曲線上に平均化された点の代表内挿点を求める請求項1または請求項2記載の曲線補間方法。
- 前記(3)のステップについて、前記まとめた内挿点群に対する近似曲線を作成し近似曲線上で相加平均の点に最も近い点を求めることによって平均化された点の代表内挿点を求める請求項4記載の曲線補間方法。
- (3)のステップについて、前記まとめた内挿点群に対する近似曲線とその近似曲線上に対応内挿点群を作成し近似曲線を直線に展開した時の対応内挿点群の相加平均位置の近似曲線上の位置を求めることによって平均化された点の代表内挿点を求める請求項4記載の曲線補間方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006118869A JP2007293478A (ja) | 2006-04-24 | 2006-04-24 | 曲線補間方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006118869A JP2007293478A (ja) | 2006-04-24 | 2006-04-24 | 曲線補間方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007293478A true JP2007293478A (ja) | 2007-11-08 |
Family
ID=38764066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006118869A Pending JP2007293478A (ja) | 2006-04-24 | 2006-04-24 | 曲線補間方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007293478A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156439A (zh) * | 2011-03-01 | 2011-08-17 | 上海维宏电子科技有限公司 | 数控机床加工轨迹控制方法 |
JP2011204096A (ja) * | 2010-03-26 | 2011-10-13 | Brother Industries Ltd | 数値制御装置 |
CN103257614A (zh) * | 2012-02-20 | 2013-08-21 | 发那科株式会社 | 具有加工曲线生成功能的数值控制装置 |
CN103901820A (zh) * | 2012-12-25 | 2014-07-02 | 安川电机(沈阳)有限公司 | 数值控制装置 |
DE102014015278A1 (de) | 2013-10-23 | 2015-04-23 | Fanuc Corporation | Bearbeitungskurven-Erzeugungsvorrichtung und dazu gehöriges Bearbeitungskurven-Erzeugungsverfahren |
DE102015120118A1 (de) | 2014-11-28 | 2016-06-02 | Fanuc Corporation | Werkzeugwegkurvenerzeugungsverfahren und Werkzeugwegkurvenerzeugungsvorrichtung |
-
2006
- 2006-04-24 JP JP2006118869A patent/JP2007293478A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011204096A (ja) * | 2010-03-26 | 2011-10-13 | Brother Industries Ltd | 数値制御装置 |
CN102156439A (zh) * | 2011-03-01 | 2011-08-17 | 上海维宏电子科技有限公司 | 数控机床加工轨迹控制方法 |
US9268323B2 (en) | 2012-02-20 | 2016-02-23 | Fanuc Corporation | Numerical controller with machining curve creating function |
CN103257614A (zh) * | 2012-02-20 | 2013-08-21 | 发那科株式会社 | 具有加工曲线生成功能的数值控制装置 |
CN103901820A (zh) * | 2012-12-25 | 2014-07-02 | 安川电机(沈阳)有限公司 | 数值控制装置 |
CN103901820B (zh) * | 2012-12-25 | 2016-12-28 | 安川电机(沈阳)有限公司 | 数值控制装置 |
JP2015082251A (ja) * | 2013-10-23 | 2015-04-27 | ファナック株式会社 | 工具経路曲線化装置 |
DE102014015278A1 (de) | 2013-10-23 | 2015-04-23 | Fanuc Corporation | Bearbeitungskurven-Erzeugungsvorrichtung und dazu gehöriges Bearbeitungskurven-Erzeugungsverfahren |
US9696708B2 (en) | 2013-10-23 | 2017-07-04 | Fanuc Corporation | Machining curve creating apparatus and machining curve creating method thereof |
DE102014015278B4 (de) | 2013-10-23 | 2021-09-30 | Fanuc Corporation | Bearbeitungskurven-Erzeugungsvorrichtung und dazu gehöriges Bearbeitungskurven-Erzeugungsverfahren |
DE102015120118A1 (de) | 2014-11-28 | 2016-06-02 | Fanuc Corporation | Werkzeugwegkurvenerzeugungsverfahren und Werkzeugwegkurvenerzeugungsvorrichtung |
US10088825B2 (en) | 2014-11-28 | 2018-10-02 | Fanuc Corporation | Tool path curve generation method and tool path curve generation apparatus |
DE102015120118B4 (de) | 2014-11-28 | 2019-08-01 | Fanuc Corporation | Werkzeugmaschine mit einer Werkzeugwegkurvenerzeugungsvorrichtung |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3904993B2 (ja) | 曲線補間方法 | |
JP2006309645A (ja) | 曲線補間方法 | |
JP2007293478A (ja) | 曲線補間方法 | |
JP5426153B2 (ja) | 回転軸を有する工作機械用の数値制御装置 | |
US20090228138A1 (en) | Numerical controller controlling five-axis processing machine | |
WO1990004818A1 (en) | Spline interpolation system | |
JP2009146152A (ja) | 5軸加工機を制御する数値制御装置 | |
JP5762625B2 (ja) | 軌跡制御装置 | |
JP2005182437A (ja) | 数値制御装置及び数値制御方法 | |
CN110100211B (zh) | 数控装置、程序转换装置、数控方法及程序转换方法 | |
CN108375957B (zh) | 数值控制装置和控制方法 | |
JP5785224B2 (ja) | 5軸加工機を制御する数値制御装置 | |
JP6808106B1 (ja) | 加工プログラム変換装置、数値制御装置、加工プログラム変換方法および機械学習装置 | |
JP2016103206A (ja) | 形状誤差を保証する工具経路の曲線化方法および曲線化装置 | |
JP5905521B2 (ja) | 工具先端点制御中に生じるバックラッシを抑制することを特徴とする数値制御装置 | |
JP3466111B2 (ja) | 数値制御装置 | |
JPWO2018020663A1 (ja) | 数値制御装置 | |
JP2008117032A (ja) | 加工制御装置およびそのプログラム | |
CN112865750A (zh) | 基于fir滤波器的数控系统倍率变化平滑控制方法及装置 | |
US7392110B2 (en) | Method and device for milling freeform surfaces | |
JP2009266000A (ja) | 加工制御装置 | |
JP4335124B2 (ja) | 同期制御装置 | |
JP6871280B2 (ja) | 数値制御装置 | |
CN113467368A (zh) | S形速度曲线的调整方法 | |
JP6937279B2 (ja) | プログラム編集装置、加工装置、加工方法及びコンピュータプログラム |